Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. PROGRAM prgMain
  2. VAR_INPUT
  3. END_VAR
  4. VAR_OUTPUT
  5. END_VAR
  6. VAR
  7. pp: int := 0;
  8. hrana: r_trig;
  9. cas: ton;
  10. cas1: bool;
  11. test: TP;
  12. END_VAR
  13. VAR_TEMP
  14. END_VAR
  15.  
  16. // Stisk tlačitka up1 pro zmenu barvy světla
  17. hrana(CLK := MI_CIB2_IN.ID3_IN.DI.CLICK_UP1);
  18.  
  19. if hrana.q then
  20. pp := pp + 1;
  21. end_if;
  22.  
  23. if pp = 0 then
  24. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
  25. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
  26. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
  27. elsif pp = 1 then
  28. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 50.0;
  29. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
  30. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
  31. elsif pp = 2 then
  32. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
  33. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 50.0;
  34. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
  35. elsif pp = 3 then
  36. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
  37. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
  38. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 50.0;
  39. elsif pp = 4 then
  40. pp := 0;
  41. end_if;
  42.  
  43. if pp = 0 then
  44. //Diody tlačítek, které upravují jednotlivé stavy barev
  45. //Změna na zelenou
  46.  
  47. MI_CIB2_OUT.ID3_OUT.LED.GREEN1 :=true;
  48. MI_CIB2_OUT.ID3_OUT.LED.GREEN2 :=true;
  49. MI_CIB2_OUT.ID4_OUT.LED.GREEN1 :=true;
  50. MI_CIB2_OUT.ID4_OUT.LED.GREEN2 :=true;
  51. MI_CIB2_OUT.ID3_OUT.LED.RED1 := false;
  52. MI_CIB2_OUT.ID3_OUT.LED.RED2 := false;
  53. MI_CIB2_OUT.ID4_OUT.LED.RED1 := false;
  54. MI_CIB2_OUT.ID4_OUT.LED.RED2 := false;
  55. else
  56. MI_CIB2_OUT.ID3_OUT.LED.RED1 := true;
  57. MI_CIB2_OUT.ID3_OUT.LED.RED2 := true;
  58. MI_CIB2_OUT.ID4_OUT.LED.RED1 := true;
  59. MI_CIB2_OUT.ID4_OUT.LED.RED2 := true;
  60. MI_CIB2_OUT.ID3_OUT.LED.GREEN1 :=false;
  61. MI_CIB2_OUT.ID3_OUT.LED.GREEN2 :=false;
  62. MI_CIB2_OUT.ID4_OUT.LED.GREEN1 :=false;
  63. MI_CIB2_OUT.ID4_OUT.LED.GREEN2 :=false;
  64. end_if;
  65.  
  66. // S tlačitkem down pulsujici světlo
  67. if pp = 0 then
  68. if MI_CIB1_OUT.ID2_OUT.LEDa.LED1 = 100.0 then
  69. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
  70. end_if;
  71. if MI_CIB1_OUT.ID2_OUT.LEDa.LED2 = 100.0 then
  72. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
  73. end_if;
  74. if MI_CIB1_OUT.ID2_OUT.LEDa.LED3 = 100.0 then
  75. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
  76. end_if;
  77. // Postupné rozsvěcení - Červená
  78. if MI_CIB2_IN.ID4_IN.DI.UP1 then
  79. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.1 + 1;
  80. end_if;
  81.  
  82. // Postupné rozsvěcení - Zelená
  83. if MI_CIB2_IN.ID4_IN.DI.DOWN1 then
  84. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.1 + 1;
  85. end_if;
  86.  
  87. // Postupné rozsvěcení - Modrá
  88. if MI_CIB2_IN.ID4_IN.DI.UP2 then
  89. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.1 + 1;
  90. end_if;
  91. else
  92. MI_CIB1_OUT.ID2_OUT.LEDa.LED1 := 0.0;
  93. MI_CIB1_OUT.ID2_OUT.LEDa.LED2 := 0.0;
  94. MI_CIB1_OUT.ID2_OUT.LEDa.LED3 := 0.0;
  95. end_if;
  96.  
  97. // Nastaveni displeje
  98. MI_CIB1_OUT.ID1_OUT.ICO.D1 := true;
  99. MI_CIB1_OUT.ID1_OUT.ICO.D2 := true;
  100. MI_CIB1_OUT.ID1_OUT.ICO.D3 := true;
  101. MI_CIB1_OUT.ID1_OUT.ICO.D4 := true;
  102. MI_CIB1_OUT.ID1_OUT.VAL.VALUE := real_to_int(MI_CIB2_IN.ID1_IN.iTHERM * 100.0);
  103. MI_CIB1_OUT.ID1_OUT.ICO.Celsius := true;
  104.  
  105. // PIR čidlo
  106. if (MI_CIB2_IN.ID2_IN.DI.DI4 = false) then
  107. cas1 := 1;
  108. end_if;
  109.  
  110. cas(IN := cas1, PT := T#5s);
  111.  
  112. if cas.Q then
  113. MI_CIB1_OUT.ID2_OUT.LEDb.LED4 := 50.0;
  114. end_if;
  115.  
  116. END_PROGRAM
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement