Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGRAM prgMain
- VAR_INPUT
- END_VAR
- VAR_OUTPUT
- END_VAR
- VAR
- pp: int := 0;
- hrana: r_trig;
- cas: ton;
- cas1: bool;
- test: TP;
- END_VAR
- VAR_TEMP
- END_VAR
- // Stisk tlačitka up1 pro zmenu barvy světla
- hrana(CLK := MI_CIB2_IN.ID3_IN.DI.CLICK_UP1);
- if hrana.q then
- pp := pp + 1;
- end_if;
- if pp = 0 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
- elsif pp = 1 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 50.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
- elsif pp = 2 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 50.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
- elsif pp = 3 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 50.0;
- elsif pp = 4 then
- pp := 0;
- end_if;
- if pp = 0 then
- //Diody tlačítek, které upravují jednotlivé stavy barev
- //Změna na zelenou
- MI_CIB2_OUT.ID3_OUT.LED.GREEN1 :=true;
- MI_CIB2_OUT.ID3_OUT.LED.GREEN2 :=true;
- MI_CIB2_OUT.ID4_OUT.LED.GREEN1 :=true;
- MI_CIB2_OUT.ID4_OUT.LED.GREEN2 :=true;
- MI_CIB2_OUT.ID3_OUT.LED.RED1 := false;
- MI_CIB2_OUT.ID3_OUT.LED.RED2 := false;
- MI_CIB2_OUT.ID4_OUT.LED.RED1 := false;
- MI_CIB2_OUT.ID4_OUT.LED.RED2 := false;
- else
- MI_CIB2_OUT.ID3_OUT.LED.RED1 := true;
- MI_CIB2_OUT.ID3_OUT.LED.RED2 := true;
- MI_CIB2_OUT.ID4_OUT.LED.RED1 := true;
- MI_CIB2_OUT.ID4_OUT.LED.RED2 := true;
- MI_CIB2_OUT.ID3_OUT.LED.GREEN1 :=false;
- MI_CIB2_OUT.ID3_OUT.LED.GREEN2 :=false;
- MI_CIB2_OUT.ID4_OUT.LED.GREEN1 :=false;
- MI_CIB2_OUT.ID4_OUT.LED.GREEN2 :=false;
- end_if;
- // S tlačitkem down pulsujici světlo
- if pp = 0 then
- if MI_CIB1_OUT.ID2_OUT.LEDa.LED1 = 100.0 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
- end_if;
- if MI_CIB1_OUT.ID2_OUT.LEDa.LED2 = 100.0 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
- end_if;
- if MI_CIB1_OUT.ID2_OUT.LEDa.LED3 = 100.0 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
- end_if;
- // Postupné rozsvěcení - Červená
- if MI_CIB2_IN.ID4_IN.DI.UP1 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.1 + 1;
- end_if;
- // Postupné rozsvěcení - Zelená
- if MI_CIB2_IN.ID4_IN.DI.DOWN1 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.1 + 1;
- end_if;
- // Postupné rozsvěcení - Modrá
- if MI_CIB2_IN.ID4_IN.DI.UP2 then
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.1 + 1;
- end_if;
- else
- MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
- MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
- end_if;
- // Nastaveni displeje
- MI_CIB1_OUT.ID1_OUT.ICO.D1 := true;
- MI_CIB1_OUT.ID1_OUT.ICO.D2 := true;
- MI_CIB1_OUT.ID1_OUT.ICO.D3 := true;
- MI_CIB1_OUT.ID1_OUT.ICO.D4 := true;
- MI_CIB1_OUT.ID1_OUT.VAL.VALUE := real_to_int(MI_CIB2_IN.ID1_IN.iTHERM * 100.0);
- MI_CIB1_OUT.ID1_OUT.ICO.Celsius := true;
- // PIR čidlo
- if (MI_CIB2_IN.ID2_IN.DI.DI4 = false) then
- cas1 := 1;
- end_if;
- cas(IN := cas1, PT := T#5s);
- if cas.Q then
- MI_CIB1_OUT.ID2_OUT.LEDb.LED4 := 50.0;
- end_if;
- END_PROGRAM
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement