Advertisement
Guest User

NY KOD

a guest
May 25th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.17 KB | None | 0 0
  1. PROGRAM BELYSNING
  2. VAR_EXTERNAL
  3.  
  4. END_VAR
  5.  
  6. VAR_GLOBAL
  7.  
  8. END_VAR
  9.  
  10. VAR
  11. iTemp : int;
  12. SystemTime : SystemTimeFB;
  13. VBMUTE : bool;
  14. VBMUTE_TOF_1 : TOF;
  15. VBSV : bool;
  16. VBSV_TON_1 : TON;
  17. VBS1 : bool;
  18. VBV1 : bool;
  19. VBS : bool;
  20. VBV : bool;
  21. VBMM01 : bool;
  22. VBMM01_TOF_2 : TOF;
  23. VBMM02 : bool;
  24. VBMM02_TOF_2 : TOF;
  25. fb_larm1 : fbLarmLokal;
  26. fb_larm2 : fbLarmLokal;
  27. fb_larm3 : fbLarmLokal;
  28. fb_larm4 : fbLarmLokal;
  29. fb_larm5 : fbLarmLokal;
  30. fb_larm6 : fbLarmLokal;
  31. fb_larm7 : fbLarmLokal;
  32. fb_larm8 : fbLarmLokal;
  33. fb_larm9 : fbLarmLokal;
  34. fb_larm10 : fbLarmLokal;
  35. fb_larm11 : fbLarmLokal;
  36. fb_larm12 : fbLarmLokal;
  37. fb_larm13 : fbLarmLokal;
  38. fb_larm14 : fbLarmLokal;
  39. fb_larm15 : fbLarmLokal;
  40. fb_larm16 : fbLarmLokal;
  41. fb_larm17 : fbLarmLokal;
  42. fb_larm18 : fbLarmLokal;
  43. fb_larm19 : fbLarmLokal;
  44. fb_larm20 : fbLarmLokal;
  45. fb_larm21 : fbLarmLokal;
  46. fb_larm22 : fbLarmLokal;
  47. fb_larm23 : fbLarmLokal;
  48. fb_larm24 : fbLarmLokal;
  49. fb_larm25 : fbLarmLokal;
  50. fb_larm26 : fbLarmLokal;
  51. fb_larm27 : fbLarmLokal;
  52. fb_larm28 : fbLarmLokal;
  53. fb_larm29 : fbLarmLokal;
  54. VBL13 : bool;
  55. VBL13_TON_2 : TON;
  56. VBL14 : bool;
  57. VBL14_TON_3 : TON;
  58. fb_larm30 : fbLarmLokal;
  59. fb_larm31 : fbLarmLokal;
  60. fb_larm32 : fbLarmLokal;
  61. fb_larm33 : fbLarmLokal;
  62. fb_larm34 : fbLarmLokal;
  63. fb_larm35 : fbLarmLokal;
  64. fb_larm36 : fbLarmLokal;
  65. VBL11 : bool;
  66. VBL12 : bool;
  67. fb_larm37 : fbLarmLokal;
  68. fb_larm38 : fbLarmLokal;
  69. VBL15 : bool;
  70. VBL16 : bool;
  71. fb_larm39 : fbLarmLokal;
  72. VBL17 : bool;
  73. VBL18 : bool;
  74. fb_larm40 : fbLarmLokal;
  75. VBF1 : bool;
  76. VBF1_TON_4 : TON;
  77. fb_larm41 : fbLarmLokal;
  78. fb_larm42 : fbLarmLokal;
  79. fb_larm43 : fbLarmLokal;
  80. fb_larm44 : fbLarmLokal;
  81. fb_larm45 : fbLarmLokal;
  82. fb_larm46 : fbLarmLokal;
  83. fb_larm47 : fbLarmLokal;
  84. fb_larm48 : fbLarmLokal;
  85. fb_larm49 : fbLarmLokal;
  86. fb_larm50 : fbLarmLokal;
  87. fb_larm51 : fbLarmLokal;
  88. fb_larm52 : fbLarmLokal;
  89. VBI12 : bool;
  90. VBI23 : bool;
  91. VBI13 : bool;
  92. VBI14 : bool;
  93. VBI15 : bool;
  94. VBI16 : bool;
  95. VBI17 : bool;
  96. VBI18 : bool;
  97. VBI19 : bool;
  98. VBI20 : bool;
  99. VBI21 : bool;
  100. VBI22 : bool;
  101. VBI21_TOF_5 : TOF;
  102. VBM14 : bool;
  103. VBM16 : bool;
  104. VBM12 : bool;
  105. VBM12_TON_5 : TON;
  106. VBM11 : bool;
  107. TOF_VV_P3_CMD_6 : TOF;
  108. VBR5 : bool;
  109. VBR11 : bool;
  110. VBR11_TON_7 : TON;
  111. rResult1 : real;
  112. rResult2 : real;
  113. VBR12 : bool;
  114. END_VAR
  115.  
  116. (*MINUTE%C60==C0 AN NVBMUTE : 102.3=102.3*C71/C72+102.4/C72,SVBMUTE ;FLYTANDE UTETEMP. MEDELVŽRDES-BERŽKNING EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  117.  
  118. (*VBMUTE : DS70 RVBMUTE ;?TERSTŽLL F™R ATT BARA BERŽKNA 1G?NG/TIMMA*)
  119. IF VBMUTE THEN
  120. VBMUTE_TOF_1.IN := FALSE;
  121. IF NOT VBMUTE_TOF_1.Q THEN
  122. VBMUTE := FALSE;
  123. END_IF;
  124. ELSE
  125. VBMUTE_TOF_1.IN := TRUE;
  126. END_IF;
  127. VBMUTE_TOF_1.PT := DINT_TO_TIME(REAL_TO_DINT((70.0) * 1000.0));
  128. VBMUTE_TOF_1();
  129.  
  130.  
  131. (*NVBSV : DS20 SVBSV ;VINTERVARIABEL VID UPPSTART*)
  132. IF NOT VBSV THEN
  133. VBSV_TON_1.IN := TRUE;
  134. IF VBSV_TON_1.Q THEN
  135. VBSV := TRUE;
  136. END_IF;
  137. ELSE
  138. VBSV_TON_1.IN := FALSE;
  139. END_IF;
  140. VBSV_TON_1.PT := DINT_TO_TIME(REAL_TO_DINT((20.0) * 1000.0));
  141. VBSV_TON_1();
  142.  
  143.  
  144. (*102.3 > 101.2 OR (102.4 > 101.3) AN (102.4 > 101.4) : VBS1 ;SOMMARVARIABEL*)
  145. IF GetAnalogPointF(Name:='TA212_V_PV3') > GetAnalogPointF(Name:='AS11_AUT_V3_PV2') OR (GetAnalogPointF(Name:='TA212_V_PV4') > GetAnalogPointF(Name:='AS11_AUT_V3_PV3') ) AND (GetAnalogPointF(Name:='TA212_V_PV4') > GetAnalogPointF(Name:='AS11_AUT_V3_PV4') ) THEN
  146. VBS1 := TRUE;
  147. ELSE
  148. VBS1 := FALSE;
  149. END_IF;
  150.  
  151.  
  152. (*102.3 < 101.2 OR (102.4 < 101.4) AN (102.4 < 101.3) : VBV1 ;VINTERVARIABEL*)
  153. IF GetAnalogPointF(Name:='TA212_V_PV3') < GetAnalogPointF(Name:='AS11_AUT_V3_PV2') OR (GetAnalogPointF(Name:='TA212_V_PV4') < GetAnalogPointF(Name:='AS11_AUT_V3_PV4') ) AND (GetAnalogPointF(Name:='TA212_V_PV4') < GetAnalogPointF(Name:='AS11_AUT_V3_PV3') ) THEN
  154. VBV1 := TRUE;
  155. ELSE
  156. VBV1 := FALSE;
  157. END_IF;
  158.  
  159.  
  160. (*VBS1 AN VBSV : VBS ;SOMMARVARIABEL*)
  161. IF VBS1 AND VBSV THEN
  162. VBS := TRUE;
  163. ELSE
  164. VBS := FALSE;
  165. END_IF;
  166.  
  167.  
  168. (*VBV1 OR NVBSV : VBV ;VINTERVARIABEL*)
  169. IF VBV1 OR NOT VBSV THEN
  170. VBV := TRUE;
  171. ELSE
  172. VBV := FALSE;
  173. END_IF;
  174.  
  175.  
  176. (*VBS : 102.1=C1 ;INDIKERING SOMMARVB*)
  177. IF VBS THEN
  178. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'TA212_V_PV1');
  179. END_IF;
  180.  
  181.  
  182. (*NVBS : 102.1=C0*)
  183. IF NOT VBS THEN
  184. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'TA212_V_PV1');
  185. END_IF;
  186.  
  187.  
  188. (*VBV : 102.2=C1 ;INDIKERING VINTERVB*)
  189. IF VBV THEN
  190. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'TA212_V_PV2');
  191. END_IF;
  192.  
  193.  
  194. (*NVBV : 102.2=C0*)
  195. IF NOT VBV THEN
  196. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'TA212_V_PV2');
  197. END_IF;
  198.  
  199.  
  200. (*WDAY==C6 OR (WDAY==C7) : VBMM1 ;HELGVARIABEL EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  201.  
  202. (*NVBMM01 AN (TIME==C1200) AN NVBMM1 : SVBMM01 ;MOTIONSDRIFTSVARIABEL EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  203.  
  204. (*VBMM01 : DS20 RVBMM01 ;?TERSTŽLL*)
  205. IF VBMM01 THEN
  206. VBMM01_TOF_2.IN := FALSE;
  207. IF NOT VBMM01_TOF_2.Q THEN
  208. VBMM01 := FALSE;
  209. END_IF;
  210. ELSE
  211. VBMM01_TOF_2.IN := TRUE;
  212. END_IF;
  213. VBMM01_TOF_2.PT := DINT_TO_TIME(REAL_TO_DINT((20.0) * 1000.0));
  214. VBMM01_TOF_2();
  215.  
  216.  
  217. (*WDAY==C6 OR (WDAY==C7) : VBMM2 ;HELGVARIABEL EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  218.  
  219. (*NVBMM02 AN (TIME==C1202) AN NVBMM2 : SVBMM02 ;MOTIONSDRIFTSVARIABEL EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  220.  
  221. (*VBMM02 : DS20 RVBMM02 ;?TERSTŽLL*)
  222. IF VBMM02 THEN
  223. VBMM02_TOF_2.IN := FALSE;
  224. IF NOT VBMM02_TOF_2.Q THEN
  225. VBMM02 := FALSE;
  226. END_IF;
  227. ELSE
  228. VBMM02_TOF_2.IN := TRUE;
  229. END_IF;
  230. VBMM02_TOF_2.PT := DINT_TO_TIME(REAL_TO_DINT((20.0) * 1000.0));
  231. VBMM02_TOF_2();
  232.  
  233.  
  234. (*121.SW<>AUT : DS20 SLD101 ;OMK.FEL TA212*)
  235. IF GetLockStateF( Name:= 'TA212_CMD' ) = 2 THEN
  236. fb_larm1.i_Indikering := 1;
  237. ELSE
  238. fb_larm1.i_Indikering := 0;
  239. END_IF;
  240.  
  241. fb_larm1.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  242. fb_larm1.id_Larm :='TA212_AL'; (* Larmpunktens namn *)
  243. fb_larm1();
  244. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA212_AL'); (*larmfordrojning*)
  245.  
  246. (*122.SW<>AUT : DS20 SLD102 ;OMK.FEL TA215*)
  247. IF GetLockStateF( Name:= 'TA215_CMD' ) = 2 THEN
  248. fb_larm2.i_Indikering := 1;
  249. ELSE
  250. fb_larm2.i_Indikering := 0;
  251. END_IF;
  252.  
  253. fb_larm2.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  254. fb_larm2.id_Larm :='TA215_AL'; (* Larmpunktens namn *)
  255. fb_larm2();
  256. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA215_AL'); (*larmfordrojning*)
  257.  
  258. (*123.SW<>AUT : DS20 SLD103 ;OMK.FEL TA501*)
  259. IF GetLockStateF( Name:= 'TA501_CMD' ) = 2 THEN
  260. fb_larm3.i_Indikering := 1;
  261. ELSE
  262. fb_larm3.i_Indikering := 0;
  263. END_IF;
  264.  
  265. fb_larm3.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  266. fb_larm3.id_Larm :='TA501_AL'; (* Larmpunktens namn *)
  267. fb_larm3();
  268. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA501_AL'); (*larmfordrojning*)
  269.  
  270. (*121 AN N102 : DS20 SLD104 ;DRIFTFEL TILLUFTSFLŽKT TA-212*)
  271. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_V')) THEN
  272. fb_larm4.i_Indikering := 1;
  273. ELSE
  274. fb_larm4.i_Indikering := 0;
  275. END_IF;
  276.  
  277. fb_larm4.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  278. fb_larm4.id_Larm :='TA212_AL'; (* Larmpunktens namn *)
  279. fb_larm4();
  280. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA212_AL'); (*larmfordrojning*)
  281.  
  282. (*121 AN N103 : DS20 SLD105 ;DRIFTFEL FR?NLUFTSFLŽKT FA-212*)
  283. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'FA212_V')) THEN
  284. fb_larm5.i_Indikering := 1;
  285. ELSE
  286. fb_larm5.i_Indikering := 0;
  287. END_IF;
  288.  
  289. fb_larm5.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  290. fb_larm5.id_Larm :='FA212_AL'; (* Larmpunktens namn *)
  291. fb_larm5();
  292. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='FA212_AL'); (*larmfordrojning*)
  293.  
  294. (*122 AN N106 : DS20 SLD106 ;DRIFTFEL FR?NLUFTSFLŽKT FA-215*)
  295. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'FA215_V')) THEN
  296. fb_larm6.i_Indikering := 1;
  297. ELSE
  298. fb_larm6.i_Indikering := 0;
  299. END_IF;
  300.  
  301. fb_larm6.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  302. fb_larm6.id_Larm :='FA215_AL'; (* Larmpunktens namn *)
  303. fb_larm6();
  304. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='FA215_AL'); (*larmfordrojning*)
  305.  
  306. (*123 AN N107 : DS20 SLD107 ;DRIFTFEL TILLUFTSFLŽKT TA-501*)
  307. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA501_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA501_V')) THEN
  308. fb_larm7.i_Indikering := 1;
  309. ELSE
  310. fb_larm7.i_Indikering := 0;
  311. END_IF;
  312.  
  313. fb_larm7.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  314. fb_larm7.id_Larm :='TA501_AL'; (* Larmpunktens namn *)
  315. fb_larm7();
  316. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA501_AL'); (*larmfordrojning*)
  317.  
  318. (*123 AN N108 : DS20 SLD108 ;DRIFTFEL FR?NLUFTSFLŽKT FA-501*)
  319. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA501_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'FA501_V')) THEN
  320. fb_larm8.i_Indikering := 1;
  321. ELSE
  322. fb_larm8.i_Indikering := 0;
  323. END_IF;
  324.  
  325. fb_larm8.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  326. fb_larm8.id_Larm :='FA501_AL'; (* Larmpunktens namn *)
  327. fb_larm8();
  328. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='FA501_AL'); (*larmfordrojning*)
  329.  
  330. (*122 AN N105 : DS20 SLD109 ;DRIFTFEL TILLUFTSFLŽKT TA-215*)
  331. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_V')) THEN
  332. fb_larm9.i_Indikering := 1;
  333. ELSE
  334. fb_larm9.i_Indikering := 0;
  335. END_IF;
  336.  
  337. fb_larm9.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  338. fb_larm9.id_Larm :='FA215_AL'; (* Larmpunktens namn *)
  339. fb_larm9();
  340. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='FA215_AL'); (*larmfordrojning*)
  341.  
  342. (*N101 : DS20 SLD110 ;UTL™ST AUTOMATSŽKRING AS11*)
  343. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'AS11_AUT_V3')) THEN
  344. fb_larm10.i_Indikering := 1;
  345. ELSE
  346. fb_larm10.i_Indikering := 0;
  347. END_IF;
  348.  
  349. fb_larm10.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  350. fb_larm10.id_Larm :='AS11_AUT_AL'; (* Larmpunktens namn *)
  351. fb_larm10();
  352. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='AS11_AUT_AL'); (*larmfordrojning*)
  353.  
  354. (*111 : DS20 SLD111 ;DVŽRGBRYTARE EL.C.BBBC*)
  355. IF INT_TO_BOOL(GetDigitalPointF(Name := 'EL_C_BBBC_AUT_V3')) THEN
  356. fb_larm11.i_Indikering := 1;
  357. ELSE
  358. fb_larm11.i_Indikering := 0;
  359. END_IF;
  360.  
  361. fb_larm11.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  362. fb_larm11.id_Larm :='EL_C_BBBC_AUT_AL'; (* Larmpunktens namn *)
  363. fb_larm11();
  364. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='EL_C_BBBC_AUT_AL'); (*larmfordrojning*)
  365.  
  366. (*112 : DS20 SLD112 ;DVŽRGBRYTARE EL.C.AAY*)
  367. IF INT_TO_BOOL(GetDigitalPointF(Name := 'EL_C_AAY_AUT1_V3')) THEN
  368. fb_larm12.i_Indikering := 1;
  369. ELSE
  370. fb_larm12.i_Indikering := 0;
  371. END_IF;
  372.  
  373. fb_larm12.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  374. fb_larm12.id_Larm :='EL_C_AAY_AUT1_AL'; (* Larmpunktens namn *)
  375. fb_larm12();
  376. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='EL_C_AAY_AUT1_AL'); (*larmfordrojning*)
  377.  
  378. (*113 : DS20 SLD113 ;H™G TEMP TM2-SEK:NŽT*)
  379. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TM2_HIGHT_TEMP_V3')) THEN
  380. fb_larm13.i_Indikering := 1;
  381. ELSE
  382. fb_larm13.i_Indikering := 0;
  383. END_IF;
  384.  
  385. fb_larm13.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  386. fb_larm13.id_Larm :='TM2_HIGHT_TEMP_AL'; (* Larmpunktens namn *)
  387. fb_larm13();
  388. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TM2_HIGHT_TEMP_AL'); (*larmfordrojning*)
  389.  
  390. (*114 : DS20 SLD114 ;H™GT NIV? VS-EXP*)
  391. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_EXP_HIGH_LVL_V3')) THEN
  392. fb_larm14.i_Indikering := 1;
  393. ELSE
  394. fb_larm14.i_Indikering := 0;
  395. END_IF;
  396.  
  397. fb_larm14.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  398. fb_larm14.id_Larm :='VS_EXP_HIGH_LVL_AL'; (* Larmpunktens namn *)
  399. fb_larm14();
  400. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_EXP_HIGH_LVL_AL'); (*larmfordrojning*)
  401.  
  402. (*115 : DS20 SLD115 ;H™G NIV?/™S AP3*)
  403. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_AP3_HIGH_LVL_V3')) THEN
  404. fb_larm15.i_Indikering := 1;
  405. ELSE
  406. fb_larm15.i_Indikering := 0;
  407. END_IF;
  408.  
  409. fb_larm15.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  410. fb_larm15.id_Larm :='VS_AP3_HIGH_LVL_AL'; (* Larmpunktens namn *)
  411. fb_larm15();
  412. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_AP3_HIGH_LVL_AL'); (*larmfordrojning*)
  413.  
  414. (*116 : DS20 LD116 ;DVŽRGBRYTARE EL.C.AAY*)
  415. IF INT_TO_BOOL(GetDigitalPointF(Name := 'EL_C_AAY_AUT2_V3')) THEN
  416. fb_larm16.i_Indikering := 1;
  417. ELSE
  418. fb_larm16.i_Indikering := 0;
  419. END_IF;
  420.  
  421. fb_larm16.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  422. fb_larm16.id_Larm :='EL_C_AAY_AUT2_AL'; (* Larmpunktens namn *)
  423. fb_larm16();
  424. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='EL_C_AAY_AUT2_AL'); (*larmfordrojning*)
  425.  
  426. (*NVBS AN N104 : DS20 SLD201 ;DRIFTFEL TA212-P1*)
  427. IF NOT VBS AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA_FA212_P_V')) THEN
  428. fb_larm17.i_Indikering := 1;
  429. ELSE
  430. fb_larm17.i_Indikering := 0;
  431. END_IF;
  432.  
  433. fb_larm17.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  434. fb_larm17.id_Larm :='TA212_P1_V'; (* Larmpunktens namn *)
  435. fb_larm17();
  436. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA212_P1_V'); (*larmfordrojning*)
  437.  
  438. (*222.SW<>AUT : DS20 SLD202 ;OMK.FEL EL-PVŽRME DA*)
  439. IF GetLockStateF( Name:= 'MOTORVARMARE_DA_CMD' ) = 2 THEN
  440. fb_larm18.i_Indikering := 1;
  441. ELSE
  442. fb_larm18.i_Indikering := 0;
  443. END_IF;
  444.  
  445. fb_larm18.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  446. fb_larm18.id_Larm :='MOTORVARMARE_DA_AL'; (* Larmpunktens namn *)
  447. fb_larm18();
  448. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='MOTORVARMARE_DA_AL'); (*larmfordrojning*)
  449.  
  450. (*223.SW<>AUT : DS20 SLD203 ;OMK.FEL EL-PVŽRME AK*)
  451. IF GetLockStateF( Name:= 'MOTORVARMARE_AK_CMD' ) = 2 THEN
  452. fb_larm19.i_Indikering := 1;
  453. ELSE
  454. fb_larm19.i_Indikering := 0;
  455. END_IF;
  456.  
  457. fb_larm19.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  458. fb_larm19.id_Larm :='MOTORVARMARE_AK_AL'; (* Larmpunktens namn *)
  459. fb_larm19();
  460. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='MOTORVARMARE_AK_AL'); (*larmfordrojning*)
  461.  
  462. (*224.SW<>AUT : DS20 SLD204 ;OMK.TFEL TRYCKLUFTSVENTIL*)
  463. IF GetLockStateF( Name:= 'TRYCKLUFTSVENTIL_CMD' ) = 2 THEN
  464. fb_larm20.i_Indikering := 1;
  465. ELSE
  466. fb_larm20.i_Indikering := 0;
  467. END_IF;
  468.  
  469. fb_larm20.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  470. fb_larm20.id_Larm :='TRYCKLUFTSVENTIL_AL'; (* Larmpunktens namn *)
  471. fb_larm20();
  472. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TRYCKLUFTSVENTIL_AL'); (*larmfordrojning*)
  473.  
  474. (*205 : DS20 SLD205 ;SUMMALARM HSP-STŽLLVERK*)
  475. IF INT_TO_BOOL(GetDigitalPointF(Name := 'HSP_STALLVERK_SUM_V3')) THEN
  476. fb_larm21.i_Indikering := 1;
  477. ELSE
  478. fb_larm21.i_Indikering := 0;
  479. END_IF;
  480.  
  481. fb_larm21.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  482. fb_larm21.id_Larm :='HSP_STALLVERK_SUM_AL'; (* Larmpunktens namn *)
  483. fb_larm21();
  484. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='HSP_STALLVERK_SUM_AL'); (*larmfordrojning*)
  485.  
  486. (*206 : DS20 SLD206 ;VENTIL SPRINKLER FEL LŽGE*)
  487. IF INT_TO_BOOL(GetDigitalPointF(Name := 'SPRINKLER_SUM_V3')) THEN
  488. fb_larm22.i_Indikering := 1;
  489. ELSE
  490. fb_larm22.i_Indikering := 0;
  491. END_IF;
  492.  
  493. fb_larm22.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  494. fb_larm22.id_Larm :='SPRINKLER_SUM_AL'; (* Larmpunktens namn *)
  495. fb_larm22();
  496. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='SPRINKLER_SUM_AL'); (*larmfordrojning*)
  497.  
  498. (*N202 : DS20 LD209 ;UTL™ST BRANDLARM*)
  499. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'AS11_CBL_V3')) THEN
  500. fb_larm23.i_Indikering := 1;
  501. ELSE
  502. fb_larm23.i_Indikering := 0;
  503. END_IF;
  504.  
  505. fb_larm23.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  506. fb_larm23.id_Larm :='AS11_CBL_AL'; (* Larmpunktens namn *)
  507. fb_larm23();
  508. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='AS11_CBL_AL'); (*larmfordrojning*)
  509.  
  510. (*N203 : DS20 LD210 ;UTL™ST BRANDLARMSANLŽGNING*)
  511. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'AS11_BRANDANL_V3')) THEN
  512. fb_larm24.i_Indikering := 1;
  513. ELSE
  514. fb_larm24.i_Indikering := 0;
  515. END_IF;
  516.  
  517. fb_larm24.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  518. fb_larm24.id_Larm :='AS11_BRANDANL_AL'; (* Larmpunktens namn *)
  519. fb_larm24();
  520. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='AS11_BRANDANL_AL'); (*larmfordrojning*)
  521.  
  522. (*201 : DS20 SLD211 ;™VERHETNING ELBATTERI*)
  523. IF INT_TO_BOOL(GetDigitalPointF(Name := 'ELB_OVERHEAT_V3')) THEN
  524. fb_larm25.i_Indikering := 1;
  525. ELSE
  526. fb_larm25.i_Indikering := 0;
  527. END_IF;
  528.  
  529. fb_larm25.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  530. fb_larm25.id_Larm :='ELB_OVERHEAT_AL'; (* Larmpunktens namn *)
  531. fb_larm25();
  532. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='ELB_OVERHEAT_AL'); (*larmfordrojning*)
  533.  
  534. (*212 : DS20 SLD212 ;SUMMALARM RENINGSVERK*)
  535. IF INT_TO_BOOL(GetDigitalPointF(Name := 'RENINGSVERK_SUM_V3')) THEN
  536. fb_larm26.i_Indikering := 1;
  537. ELSE
  538. fb_larm26.i_Indikering := 0;
  539. END_IF;
  540.  
  541. fb_larm26.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  542. fb_larm26.id_Larm :='RENINGSVERK_SUM_AL'; (* Larmpunktens namn *)
  543. fb_larm26();
  544. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='RENINGSVERK_SUM_AL'); (*larmfordrojning*)
  545.  
  546. (*213 : DS20 LD213 ;LARM N™DDUSCH*)
  547. IF INT_TO_BOOL(GetDigitalPointF(Name := 'NODDUSCH_V3')) THEN
  548. fb_larm27.i_Indikering := 1;
  549. ELSE
  550. fb_larm27.i_Indikering := 0;
  551. END_IF;
  552.  
  553. fb_larm27.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  554. fb_larm27.id_Larm :='NODDUSCH_AL'; (* Larmpunktens namn *)
  555. fb_larm27();
  556. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='NODDUSCH_AL'); (*larmfordrojning*)
  557.  
  558. (*214 : DS20 SLD214 ;H™G NIV?/™S AP4*)
  559. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_AP4_HIGH_LVL_V3')) THEN
  560. fb_larm28.i_Indikering := 1;
  561. ELSE
  562. fb_larm28.i_Indikering := 0;
  563. END_IF;
  564.  
  565. fb_larm28.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  566. fb_larm28.id_Larm :='VS_AP4_HIGH_LVL_AL'; (* Larmpunktens namn *)
  567. fb_larm28();
  568. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_AP4_HIGH_LVL_AL'); (*larmfordrojning*)
  569.  
  570. (*109 : DS20 SLD215 ;H™GT/L?GT TRYCK VS*)
  571. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_EXP_V3')) THEN
  572. fb_larm29.i_Indikering := 1;
  573. ELSE
  574. fb_larm29.i_Indikering := 0;
  575. END_IF;
  576.  
  577. fb_larm29.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  578. fb_larm29.id_Larm :='VS_EXP_AL'; (* Larmpunktens namn *)
  579. fb_larm29();
  580. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_EXP_AL'); (*larmfordrojning*)
  581.  
  582. (*1147 + 1147.4 < REG3.SETPOINT AN (321 OR 322) : DM(LD216.4) VBL13*)
  583. IF GetAnalogPointF(Name:='FINNS_EJ') + GetAnalogPointF(Name:='FINNS_EJ_PV4') < GetAnalogPointF(Name:='VS_GP1_SP') AND (INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) ) THEN
  584. VBL13_TON_2.IN := TRUE;
  585. IF VBL13_TON_2.Q THEN
  586. VBL13 := TRUE;
  587. END_IF;
  588. ELSE
  589. VBL13_TON_2.IN := FALSE;
  590. VBL13 := FALSE;
  591. END_IF;
  592. VBL13_TON_2.PT := DINT_TO_TIME(REAL_TO_DINT((GetAnalogPointF(Name:='VS_GP1_AL_PV4')) * 60000.0));
  593. VBL13_TON_2();
  594.  
  595.  
  596. (*1147 - 1147.4 > REG3.SETPOINT AN (321 OR 322) : DM(LD216.4) VBL14 ;TRYCKAVV.VS-GP1*)
  597. IF GetAnalogPointF(Name:='FINNS_EJ') - GetAnalogPointF(Name:='FINNS_EJ_PV4') > GetAnalogPointF(Name:='VS_GP1_SP') AND (INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) ) THEN
  598. VBL14_TON_3.IN := TRUE;
  599. IF VBL14_TON_3.Q THEN
  600. VBL14 := TRUE;
  601. END_IF;
  602. ELSE
  603. VBL14_TON_3.IN := FALSE;
  604. VBL14 := FALSE;
  605. END_IF;
  606. VBL14_TON_3.PT := DINT_TO_TIME(REAL_TO_DINT((GetAnalogPointF(Name:='VS_GP1_AL_PV4')) * 60000.0));
  607. VBL14_TON_3();
  608.  
  609.  
  610. (*VBL13 OR VBL14 : SLD216 ;LARM VS-GP1*)
  611. IF VBL13 OR VBL14 THEN
  612. fb_larm30.i_Indikering := 1;
  613. ELSE
  614. fb_larm30.i_Indikering := 0;
  615. END_IF;
  616.  
  617. fb_larm30.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  618. fb_larm30.id_Larm :='VS_GP1_AL'; (* Larmpunktens namn *)
  619. fb_larm30();
  620. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((0.0) * 60.0), LockState:= 100, Name:='VS_GP1_AL'); (*larmfordrojning*)
  621.  
  622. (*321 AN N301 OR (321.SW<>AUT) : DS20 SLD301 ;DRIFTFEL/SUMMALARM VS-P1A*)
  623. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_AL')) OR (GetLockStateF( Name:= 'VS_P1A_CMD' ) = 2 ) THEN
  624. fb_larm31.i_Indikering := 1;
  625. ELSE
  626. fb_larm31.i_Indikering := 0;
  627. END_IF;
  628.  
  629. fb_larm31.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  630. fb_larm31.id_Larm :='VS_P1A_AL'; (* Larmpunktens namn *)
  631. fb_larm31();
  632. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_P1A_AL'); (*larmfordrojning*)
  633.  
  634. (*322 AN N302 OR (322.SW<>AUT) : DS20 SLD302 ;DRIFTFEL/SUMMALARM VS-P1B*)
  635. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_AL')) OR (GetLockStateF( Name:= 'VS_P1B_CMD' ) = 2 ) THEN
  636. fb_larm32.i_Indikering := 1;
  637. ELSE
  638. fb_larm32.i_Indikering := 0;
  639. END_IF;
  640.  
  641. fb_larm32.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  642. fb_larm32.id_Larm :='VS_P1B_AL'; (* Larmpunktens namn *)
  643. fb_larm32();
  644. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_P1B_AL'); (*larmfordrojning*)
  645.  
  646. (*LD301 AN LD302 : DS20 LD303 ;SUMMALARM VS-P1A OCH VS-P1B*)
  647. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_AL')) AND INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_AL')) THEN
  648. fb_larm33.i_Indikering := 1;
  649. ELSE
  650. fb_larm33.i_Indikering := 0;
  651. END_IF;
  652.  
  653. fb_larm33.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  654. fb_larm33.id_Larm :='VS_P1AB_FVO_AL'; (* Larmpunktens namn *)
  655. fb_larm33();
  656. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='VS_P1AB_FVO_AL'); (*larmfordrojning*)
  657.  
  658. (*326 XO 326.O OR (326.SW<>AUT) : DS5 SLD306 ;DRIFTFEL P2*)
  659. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P2_V')) XOR INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P2_CMD')) OR (GetLockStateF( Name:= 'VV_P2_CMD' ) = 2 ) THEN
  660. fb_larm34.i_Indikering := 1;
  661. ELSE
  662. fb_larm34.i_Indikering := 0;
  663. END_IF;
  664.  
  665. fb_larm34.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  666. fb_larm34.id_Larm :='VV_P2_AL'; (* Larmpunktens namn *)
  667. fb_larm34();
  668. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((5.0) * 1.0), LockState:= 100, Name:='VV_P2_AL'); (*larmfordrojning*)
  669.  
  670. (*327 XO 327.O OR (327.SW<>AUT) : DS5 SLD307 ;DRIFTFEL P3*)
  671. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P3_V')) XOR INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P3_CMD')) OR (GetLockStateF( Name:= 'VV_P3_CMD' ) = 2 ) THEN
  672. fb_larm35.i_Indikering := 1;
  673. ELSE
  674. fb_larm35.i_Indikering := 0;
  675. END_IF;
  676.  
  677. fb_larm35.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  678. fb_larm35.id_Larm :='VV_P3_AL'; (* Larmpunktens namn *)
  679. fb_larm35();
  680. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((5.0) * 1.0), LockState:= 100, Name:='VV_P3_AL'); (*larmfordrojning*)
  681.  
  682. (*328 XO 328.O OR (328.SW<>AUT) : DS5 SLD308 ;DRIFTFEL P4 *)
  683. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P4_V')) XOR INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P4_CMD')) OR (GetLockStateF( Name:= 'VV_P4_CMD' ) = 2 ) THEN
  684. fb_larm36.i_Indikering := 1;
  685. ELSE
  686. fb_larm36.i_Indikering := 0;
  687. END_IF;
  688.  
  689. fb_larm36.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  690. fb_larm36.id_Larm :='VV_P4_AL'; (* Larmpunktens namn *)
  691. fb_larm36();
  692. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((5.0) * 1.0), LockState:= 100, Name:='VV_P4_AL'); (*larmfordrojning*)
  693.  
  694. (*1041 + 1041.4 < REG1.SETPOINT AN (321 OR 322) : VBL11 ;ŽRV. LŽGRE ŽN B™RV. I DRIFT*)
  695. IF GetAnalogPointF(Name:='VS_GT1_PV') + GetAnalogPointF(Name:='VS_GT1_PV_PV4') < GetAnalogPointF(Name:='VS_GT1_CSP') AND (INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) ) THEN
  696. VBL11 := TRUE;
  697. ELSE
  698. VBL11 := FALSE;
  699. END_IF;
  700.  
  701.  
  702. (*1041 - 1041.4 > REG1.SETPOINT AN VBV AN (321 OR 322) OR (1041>C40.0 AN VBS AN REG1.SETPOINT<C40.0) : VBL12 *)
  703. IF GetAnalogPointF(Name:='VS_GT1_PV') - GetAnalogPointF(Name:='VS_GT1_PV_PV4') > GetAnalogPointF(Name:='VS_GT1_CSP') AND VBV AND (INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) ) OR (GetAnalogPointF(Name:='VS_GT1_PV') > 40.0 AND VBS AND GetAnalogPointF(Name:='VS_GT1_CSP') < 40.0 ) THEN
  704. VBL12 := TRUE;
  705. ELSE
  706. VBL12 := FALSE;
  707. END_IF;
  708.  
  709.  
  710. (*VBL11 OR VBL12 : DM(LD309.4) SLD309 ;TEMP.AVV. VS-GT1*)
  711. IF VBL11 OR VBL12 THEN
  712. fb_larm37.i_Indikering := 1;
  713. ELSE
  714. fb_larm37.i_Indikering := 0;
  715. END_IF;
  716.  
  717. fb_larm37.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  718. fb_larm37.id_Larm :='VS_GT1_AL'; (* Larmpunktens namn *)
  719. fb_larm37();
  720. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((GetAnalogPointF(Name:='VS_GT1_AL_PV4')) * 60.0), LockState:= 100, Name:='VS_GT1_AL'); (*larmfordrojning*)
  721.  
  722. (*1043 > 1043.2 : DM(LD310.4) SLD310 ;H™G RETURLEDNINGSTEMP. FJV-GT4:2*)
  723. IF GetAnalogPointF(Name:='FJV_GT4_2_PV') > GetAnalogPointF(Name:='FJV_GT4_2_PV_PV2') THEN
  724. fb_larm38.i_Indikering := 1;
  725. ELSE
  726. fb_larm38.i_Indikering := 0;
  727. END_IF;
  728.  
  729. fb_larm38.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  730. fb_larm38.id_Larm :='FJV_GT4_2_HAL'; (* Larmpunktens namn *)
  731. fb_larm38();
  732. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((GetAnalogPointF(Name:='FJV_GT4_2_HAL_PV4')) * 60.0), LockState:= 100, Name:='FJV_GT4_2_HAL'); (*larmfordrojning*)
  733.  
  734. (*941 + 941.4 < REG6.SETPOINT AN 121 : VBL15*)
  735. IF GetAnalogPointF(Name:='TA212_GT1_PV') + GetAnalogPointF(Name:='TA212_GT1_PV_PV4') < GetAnalogPointF(Name:='TA212_GT1_CSP') AND INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) THEN
  736. VBL15 := TRUE;
  737. ELSE
  738. VBL15 := FALSE;
  739. END_IF;
  740.  
  741.  
  742. (*941 - 941.4 > REG6.SETPOINT AN 121 AN VBV : VBL16*)
  743. IF GetAnalogPointF(Name:='TA212_GT1_PV') - GetAnalogPointF(Name:='TA212_GT1_PV_PV4') > GetAnalogPointF(Name:='TA212_GT1_CSP') AND INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND VBV THEN
  744. VBL16 := TRUE;
  745. ELSE
  746. VBL16 := FALSE;
  747. END_IF;
  748.  
  749.  
  750. (*VBL15 OR VBL16 : DM(LD311.4) SLD311 ;TEMP.AVVIKELSE TA212-GT1*)
  751. IF VBL15 OR VBL16 THEN
  752. fb_larm39.i_Indikering := 1;
  753. ELSE
  754. fb_larm39.i_Indikering := 0;
  755. END_IF;
  756.  
  757. fb_larm39.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  758. fb_larm39.id_Larm :='TA212_GT1_AL'; (* Larmpunktens namn *)
  759. fb_larm39();
  760. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((GetAnalogPointF(Name:='TA212_GT1_AL_PV4')) * 60.0), LockState:= 100, Name:='TA212_GT1_AL'); (*larmfordrojning*)
  761.  
  762. (*944 + 944.4 < REG8.SETPOINT AN 122 : VBL17*)
  763. IF GetAnalogPointF(Name:='TA215_GT1_PV') + GetAnalogPointF(Name:='TA215_GT1_PV_PV4') < GetAnalogPointF(Name:='TA215_GT1_SP') AND INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_CMD')) THEN
  764. VBL17 := TRUE;
  765. ELSE
  766. VBL17 := FALSE;
  767. END_IF;
  768.  
  769.  
  770. (*944 - 944.4 > REG8.SETPOINT AN 122 AN VBV : VBL18*)
  771. IF GetAnalogPointF(Name:='TA215_GT1_PV') - GetAnalogPointF(Name:='TA215_GT1_PV_PV4') > GetAnalogPointF(Name:='TA215_GT1_SP') AND INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_CMD')) AND VBV THEN
  772. VBL18 := TRUE;
  773. ELSE
  774. VBL18 := FALSE;
  775. END_IF;
  776.  
  777.  
  778. (*VBL17 OR VBL18 : DM(LD312.4) SLD312 ;TEMP.AVVIKELSE TA215-GT2*)
  779. IF VBL17 OR VBL18 THEN
  780. fb_larm40.i_Indikering := 1;
  781. ELSE
  782. fb_larm40.i_Indikering := 0;
  783. END_IF;
  784.  
  785. fb_larm40.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  786. fb_larm40.id_Larm :='TA215_GT1_AL'; (* Larmpunktens namn *)
  787. fb_larm40();
  788. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((GetAnalogPointF(Name:='TA215_GT1_AL_PV4')) * 60.0), LockState:= 100, Name:='TA215_GT1_AL'); (*larmfordrojning*)
  789.  
  790. (*942 < 942.1 OR (942 < C6.0) : DS3 SVBF1 ;FRYSVAKT *)
  791. IF GetAnalogPointF(Name:='TA212_GT4_PV') < GetAnalogPointF(Name:='TA212_GT4_PV_PV1') OR (GetAnalogPointF(Name:='TA212_GT4_PV') < 6.0 ) THEN
  792. VBF1_TON_4.IN := TRUE;
  793. IF VBF1_TON_4.Q THEN
  794. VBF1 := TRUE;
  795. END_IF;
  796. ELSE
  797. VBF1_TON_4.IN := FALSE;
  798. END_IF;
  799. VBF1_TON_4.PT := DINT_TO_TIME(REAL_TO_DINT((3.0) * 1000.0));
  800. VBF1_TON_4();
  801.  
  802.  
  803. (*942 > C15.0 : RVBF1 ;?TERSTŽLL NŽR RETURTEMP.™VER 15^C*)
  804. IF GetAnalogPointF(Name:='TA212_GT4_PV') > 15.0 THEN
  805. VBF1 := FALSE;
  806. END_IF;
  807.  
  808.  
  809. (*VBF1 : SLD313 ;FRYSVAKTSLARM TA21-GT3*)
  810. IF VBF1 THEN
  811. fb_larm41.i_Indikering := 1;
  812. ELSE
  813. fb_larm41.i_Indikering := 0;
  814. END_IF;
  815.  
  816. fb_larm41.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  817. fb_larm41.id_Larm :='TA215_GT3_AL'; (* Larmpunktens namn *)
  818. fb_larm41();
  819. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((0.0) * 1.0), LockState:= 100, Name:='TA215_GT3_AL'); (*larmfordrojning*)
  820.  
  821. (*942.1 <= C6.0 : 942.1 = C6.0 ;MIN.BEGRŽNSAR FRYSVAKTSUTL™SNING TILL 6'C*)
  822. IF GetAnalogPointF(Name:='TA212_GT4_PV_PV1') <= 6.0 THEN
  823. iTemp := SetAnalogPointF(Value:= 6.0 ,LockState:= 1,Name := 'TA212_GT4_PV_PV1');
  824. END_IF;
  825.  
  826.  
  827. (*N314 : DS10 SLD314 ;SUMMALARM KOMPRESSOR*)
  828. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR_SUM_V3')) THEN
  829. fb_larm42.i_Indikering := 1;
  830. ELSE
  831. fb_larm42.i_Indikering := 0;
  832. END_IF;
  833.  
  834. fb_larm42.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  835. fb_larm42.id_Larm :='KOMPRESSOR_SUM_AL'; (* Larmpunktens namn *)
  836. fb_larm42();
  837. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((10.0) * 1.0), LockState:= 100, Name:='KOMPRESSOR_SUM_AL'); (*larmfordrojning*)
  838.  
  839. (*1144 < 1144.1 AN T26 : DM(LD315.1) SLD315 ;L?GT TRYCK TRYCKLUFT*)
  840. IF GetAnalogPointF(Name:='FINNS_EJ') < GetAnalogPointF(Name:='FINNS_EJ_PV1') AND INT_TO_BOOL(GetDigitalPointF(Name := 'TRYCKLUFT_TC')) THEN
  841. fb_larm43.i_Indikering := 1;
  842. ELSE
  843. fb_larm43.i_Indikering := 0;
  844. END_IF;
  845.  
  846. fb_larm43.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  847. fb_larm43.id_Larm :='TRYCKLUFT_GP11_AL'; (* Larmpunktens namn *)
  848. fb_larm43();
  849. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((GetAnalogPointF(Name:='TRYCKLUFT_GP11_AL_PV1')) * 60.0), LockState:= 100, Name:='TRYCKLUFT_GP11_AL'); (*larmfordrojning*)
  850.  
  851. (*401 : DS20 SLD401 ;HINDERLJUS*)
  852. IF INT_TO_BOOL(GetDigitalPointF(Name := 'HINDERLJUS_V3')) THEN
  853. fb_larm44.i_Indikering := 1;
  854. ELSE
  855. fb_larm44.i_Indikering := 0;
  856. END_IF;
  857.  
  858. fb_larm44.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  859. fb_larm44.id_Larm :='HINDERLJUS_AL'; (* Larmpunktens namn *)
  860. fb_larm44();
  861. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='HINDERLJUS_AL'); (*larmfordrojning*)
  862.  
  863. (*402 : DS20 SLD402 ;H™G NIV?/™S AP5*)
  864. IF INT_TO_BOOL(GetDigitalPointF(Name := 'AP5_HIGH_LVL_V3')) THEN
  865. fb_larm45.i_Indikering := 1;
  866. ELSE
  867. fb_larm45.i_Indikering := 0;
  868. END_IF;
  869.  
  870. fb_larm45.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  871. fb_larm45.id_Larm :='AP5_HIGH_LVL_AL'; (* Larmpunktens namn *)
  872. fb_larm45();
  873. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='AP5_HIGH_LVL_AL'); (*larmfordrojning*)
  874.  
  875. (*403 : DS20 SLD403 ;UTL™ST ™S/FLŽKTVAKT TA401*)
  876. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA401_GP_V3')) THEN
  877. fb_larm46.i_Indikering := 1;
  878. ELSE
  879. fb_larm46.i_Indikering := 0;
  880. END_IF;
  881.  
  882. fb_larm46.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  883. fb_larm46.id_Larm :='TA401_GP_AL'; (* Larmpunktens namn *)
  884. fb_larm46();
  885. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='TA401_GP_AL'); (*larmfordrojning*)
  886.  
  887. (*404 : DS20 LD404 ;DVŽRGBRYTARE EL.C.DA*)
  888. IF INT_TO_BOOL(GetDigitalPointF(Name := 'EL_C_DA_AUT_V3')) THEN
  889. fb_larm47.i_Indikering := 1;
  890. ELSE
  891. fb_larm47.i_Indikering := 0;
  892. END_IF;
  893.  
  894. fb_larm47.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  895. fb_larm47.id_Larm :='EL_C_DA_AUT_AL'; (* Larmpunktens namn *)
  896. fb_larm47();
  897. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='EL_C_DA_AUT_AL'); (*larmfordrojning*)
  898.  
  899. (*406 : DS20 SLD406 ;H™G NIV? OLJEAVSKILJARE*)
  900. IF INT_TO_BOOL(GetDigitalPointF(Name := 'OLJEAVSK_HIGH_LVL_V3')) THEN
  901. fb_larm48.i_Indikering := 1;
  902. ELSE
  903. fb_larm48.i_Indikering := 0;
  904. END_IF;
  905.  
  906. fb_larm48.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  907. fb_larm48.id_Larm :='OLJEAVSK_HIGH_LVL_AL'; (* Larmpunktens namn *)
  908. fb_larm48();
  909. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='OLJEAVSK_HIGH_LVL_AL'); (*larmfordrojning*)
  910.  
  911. (*407 : DS20 SLD407 ;H™G NIV? MAST-S™DER*)
  912. IF INT_TO_BOOL(GetDigitalPointF(Name := 'MAST_SODER_HIGH_LVL_V3')) THEN
  913. fb_larm49.i_Indikering := 1;
  914. ELSE
  915. fb_larm49.i_Indikering := 0;
  916. END_IF;
  917.  
  918. fb_larm49.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  919. fb_larm49.id_Larm :='MAST_SODER_HIGH_LVL_AL'; (* Larmpunktens namn *)
  920. fb_larm49();
  921. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='MAST_SODER_HIGH_LVL_AL'); (*larmfordrojning*)
  922.  
  923. (*408 : DS20 SLD408 ;UTL™ST ?A201-209-213-214*)
  924. IF INT_TO_BOOL(GetDigitalPointF(Name := 'A201_214_AUT_V3')) THEN
  925. fb_larm50.i_Indikering := 1;
  926. ELSE
  927. fb_larm50.i_Indikering := 0;
  928. END_IF;
  929.  
  930. fb_larm50.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  931. fb_larm50.id_Larm :='A201_214_AUT_AL'; (* Larmpunktens namn *)
  932. fb_larm50();
  933. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='A201_214_AUT_AL'); (*larmfordrojning*)
  934.  
  935. (*409 : DS20 LD409 ;DVŽRGBRYTARE EL.C.AAC*)
  936. IF INT_TO_BOOL(GetDigitalPointF(Name := 'EL_C_AAC_AUT_V3')) THEN
  937. fb_larm51.i_Indikering := 1;
  938. ELSE
  939. fb_larm51.i_Indikering := 0;
  940. END_IF;
  941.  
  942. fb_larm51.Autokvitt :=1; (* 1 för autkvittering, 0 för normal *)
  943. fb_larm51.id_Larm :='EL_C_AAC_AUT_AL'; (* Larmpunktens namn *)
  944. fb_larm51();
  945. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='EL_C_AAC_AUT_AL'); (*larmfordrojning*)
  946.  
  947. (*410 : DS20 SLD410 ;UTL™ST ™S PF8*)
  948. IF INT_TO_BOOL(GetDigitalPointF(Name := 'PF8_AUT_V3')) THEN
  949. fb_larm52.i_Indikering := 1;
  950. ELSE
  951. fb_larm52.i_Indikering := 0;
  952. END_IF;
  953.  
  954. fb_larm52.Autokvitt :=0; (* 1 för autkvittering, 0 för normal *)
  955. fb_larm52.id_Larm :='PF8_AUT_AL'; (* Larmpunktens namn *)
  956. fb_larm52();
  957. iTemp := SetDigitalPointF(Value:=REAL_TO_INT((20.0) * 1.0), LockState:= 100, Name:='PF8_AUT_AL'); (*larmfordrojning*)
  958.  
  959. (*304 : DC(304.1),304.2 = 304.1 / C60 ;TOTAL DRIFTTIDSMŽTNING I TIMMAR KOMPR. 1 EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  960.  
  961. (*304 : 304.3=C1 ;INDIKERING I MENY*)
  962. IF INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR1_V')) THEN
  963. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'KOMPRESSOR1_V_PV3');
  964. END_IF;
  965.  
  966.  
  967. (*N304 : 304.3=C0 ;*)
  968. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR1_V')) THEN
  969. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'KOMPRESSOR1_V_PV3');
  970. END_IF;
  971.  
  972.  
  973. (*305 : DC(305.1),305.2 = 305.1 / C60 ;TOTAL DRIFTTIDSMŽTNING I TIMMAR KOMPR. 2 EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  974.  
  975. (*305 : 305.3=C1 ;INDIKERING I MENY*)
  976. IF INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR2_V')) THEN
  977. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'KOMPRESSOR2_V_PV3');
  978. END_IF;
  979.  
  980.  
  981. (*N305 : 305.3=C0 ;*)
  982. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR2_V')) THEN
  983. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'KOMPRESSOR2_V_PV3');
  984. END_IF;
  985.  
  986.  
  987. (*208 : DC(312.1),312.2 = 208.1 / C60 ;TOTAL DRIFTTIDSMŽTNING I TIMMAR KOMPR. 3 EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  988.  
  989. (*208 : 208.3=C1 ;INDIKERING I MENY*)
  990. IF INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR3_V')) THEN
  991. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'KOMPRESSOR3_V_PV3');
  992. END_IF;
  993.  
  994.  
  995. (*N208 : 208.3=C0 ;*)
  996. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR3_V')) THEN
  997. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'KOMPRESSOR3_V_PV3');
  998. END_IF;
  999.  
  1000.  
  1001. (*312 : DC(208.1),208.2 = 312.1 / C60 ;TOTAL DRIFTTIDSMŽTNING I TIMMAR KOMPR. 4 EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1002.  
  1003. (*312 : 312.3=C1 ;INDIKERING I MENY*)
  1004. IF INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR4_V')) THEN
  1005. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'KOMPRESSOR4_V_PV3');
  1006. END_IF;
  1007.  
  1008.  
  1009. (*N312 : 312.3=C0 ;*)
  1010. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR4_V')) THEN
  1011. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'KOMPRESSOR4_V_PV3');
  1012. END_IF;
  1013.  
  1014.  
  1015. (*MET1.ENERGY >= (C999999 - MET1.SCALE_UNIT) AN NVBI12 : 309.2=309.2+C1,SVBI11 ;OMSLAG P? DUC-MŽTAREN EM1 (EL) EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1016.  
  1017. (*MET1.ENERGY < C900000 : RVBI11 ;SŽKERSTŽLL OMSLAG EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1018.  
  1019. (*: 309.1 = (MET1.ENERGY/C1000)+(309.4/C100)+309.3+(C999.999*309.2) ;KOMPENSERING F™R OMSLAG, VISNING AV MŽTARVŽRDE P? MŽTARE EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1020.  
  1021. (*: 108.1 = MET1.POWER/C1000 ;OMSKALNING AV EFFEKT EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1022.  
  1023. (*NVBI12 AN NVBI23 : VNI1 = 108.1,SVBI12,SVBI23 ;BERŽKNING MEDELEFFEKT VID KORT PULSINTERVALL*)
  1024. IF NOT VBI12 AND NOT VBI23 THEN
  1025. VBI12 := TRUE;
  1026. VBI23 := TRUE;
  1027. END_IF;
  1028.  
  1029.  
  1030. (*VBI12 : DS2 VNI2 = 108.1,SVBI13,RVBI12*)
  1031. IF VBI12 THEN
  1032. VBI13 := TRUE;
  1033. VBI12 := FALSE;
  1034. END_IF;
  1035.  
  1036.  
  1037. (*VBI13 : DS2 VNI3 = 108.1,SVBI14,RVBI13*)
  1038. IF VBI13 THEN
  1039. VBI14 := TRUE;
  1040. VBI13 := FALSE;
  1041. END_IF;
  1042.  
  1043.  
  1044. (*VBI14 : DS2 VNI4 = 108.1,SVBI15,RVBI14*)
  1045. IF VBI14 THEN
  1046. VBI15 := TRUE;
  1047. VBI14 := FALSE;
  1048. END_IF;
  1049.  
  1050.  
  1051. (*VBI15 : DS2 VNI5 = 108.1,SVBI16,RVBI15*)
  1052. IF VBI15 THEN
  1053. VBI16 := TRUE;
  1054. VBI15 := FALSE;
  1055. END_IF;
  1056.  
  1057.  
  1058. (*VBI16 : DS2 VNI6 = 108.1,SVBI17,RVBI16*)
  1059. IF VBI16 THEN
  1060. VBI17 := TRUE;
  1061. VBI16 := FALSE;
  1062. END_IF;
  1063.  
  1064.  
  1065. (*VBI17 : DS2 VNI7 = 108.1,SVBI18,RVBI17*)
  1066. IF VBI17 THEN
  1067. VBI18 := TRUE;
  1068. VBI17 := FALSE;
  1069. END_IF;
  1070.  
  1071.  
  1072. (*VBI18 : DS2 VNI8 = 108.1,SVBI19,RVBI18*)
  1073. IF VBI18 THEN
  1074. VBI19 := TRUE;
  1075. VBI18 := FALSE;
  1076. END_IF;
  1077.  
  1078.  
  1079. (*VBI19 : DS2 VNI9 = 108.1,SVBI20,RVBI19*)
  1080. IF VBI19 THEN
  1081. VBI20 := TRUE;
  1082. VBI19 := FALSE;
  1083. END_IF;
  1084.  
  1085.  
  1086. (*VBI20 : DS2 VNI10 = 108.1,SVBI21,RVBI20*)
  1087. IF VBI20 THEN
  1088. VBI21 := TRUE;
  1089. VBI20 := FALSE;
  1090. END_IF;
  1091.  
  1092.  
  1093. (*VBI21 : 108.2 = MEAN(VNI1,VNI2,VNI3,VNI4,VNI5,VNI6,VNI7,VNI8,VNI9,VNI10),SVBI22*)
  1094. IF VBI21 THEN
  1095. iTemp := SetAnalogPointF(Value:= (() / 0) ,LockState:= 1,Name := 'FA501_V_PV2');
  1096. VBI22 := TRUE;
  1097. ELSE
  1098. VBI22 := FALSE;
  1099. END_IF;
  1100.  
  1101.  
  1102. (*VBI22 : DS2 RVBI21,RVBI22,RVBI23*)
  1103. IF VBI22 THEN
  1104. VBI21_TOF_5.IN := FALSE;
  1105. IF NOT VBI21_TOF_5.Q THEN
  1106. VBI21 := FALSE;
  1107. END_IF;
  1108. VBI22 := FALSE;
  1109. VBI23 := FALSE;
  1110. ELSE
  1111. VBI21_TOF_5.IN := TRUE;
  1112. END_IF;
  1113. VBI21_TOF_5.PT := DINT_TO_TIME(REAL_TO_DINT((2.0) * 1000.0));
  1114. VBI21_TOF_5();
  1115.  
  1116.  
  1117. (*MET2.VOLUME >= (C999999 - MET2.SCALE_UNIT) AN NVBI24 : 310.2=310.2+C1,SVBI24 ;OMSLAG P? DUC-MŽTAREN VMM (VOLYM) EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1118.  
  1119. (*MET2.VOLUME < C900000 : RVBI24 ;SŽKERSTŽLL OMSLAG EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1120.  
  1121. (*: 310.1 = (MET2.VOLUME/C1000)+310.4+(310.3*C1000)+(C999.999*310.2) ;KOMPENSERING F™R OMSLAG, VISNING AV MŽTARVŽRDE P? MŽTARE EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1122.  
  1123. (*MET3.ENERGY >= (C999999 - MET3.SCALE_UNIT) AN NVBI25 : 311.2=311.2+C1,SVBI25 ;OMSLAG P? DUC-MŽTAREN VMM (ENERGI) EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1124.  
  1125. (*MET3.ENERGY < C900000 : RVBI25 ;SŽKERSTŽLL OMSLAG EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1126.  
  1127. (*: 311.1 = (MET3.ENERGY/C1000)+(311.4/C100)+311.3+(C999.999*311.2) ;KOMPENSERING F™R OMSLAG, VISNING AV MŽTARVŽRDE P? MŽTARE EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1128.  
  1129. (*: 114.1 = MET3.POWER/C1000 ;OMSKALNING AV EFFEKT EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1130.  
  1131. (*MET4.ENERGY >= (C999999 - MET4.SCALE_UNIT) AN NVBI27 : 315.2=315.2+C1,SVBI27 ;OMSLAG P? DUC-MŽTAREN EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1132.  
  1133. (*MET4.ENERGY < C900000 : RVBI27 ;SŽKERSTŽLL OMSLAG EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1134.  
  1135. (*: 315.1 = (MET4.ENERGY/C1000)+(315.4/C100)+315.3+(C999.999*315.2) ;KOMPENSERING F™R OMSLAG, VISNING AV MŽTARVŽRDE P? MŽTARE EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1136.  
  1137. (*: 322.1 = MET4.POWER/C1000 ;OMSKALNING AV EFFEKT EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1138.  
  1139. (*MET5.VOLUME >= (C999999 - MET5.SCALE_UNIT) AN NVBI28 : 313.2=313.2+C1,SVBI28 ;OMSLAG P? DUC-MŽTAREN EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1140.  
  1141. (*MET5.VOLUME < C900000 : RVBI28 ;SŽKERSTŽLL OMSLAG EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1142.  
  1143. (*: 313.1 = (MET5.VOLUME/C1000)+313.4+(313.3*C1000)+(C999.999*313.2) ;KOMPENSERING F™R OMSLAG, VISNING AV MŽTARVŽRDE P? MŽTARE EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1144.  
  1145. (*104 OR VBS : SVBM14 ;PUMPSTOPP SOMMAR TA212-P1*)
  1146. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA_FA212_P_V')) OR VBS THEN
  1147. VBM14 := TRUE;
  1148. END_IF;
  1149.  
  1150.  
  1151. (*N104 AN NVBS : RVBM14 ;PUMPSTOPP VINTER TA212-P1*)
  1152. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA_FA212_P_V')) AND NOT VBS THEN
  1153. VBM14 := FALSE;
  1154. END_IF;
  1155.  
  1156.  
  1157. (*VBM14 AN T23 AN NLD313 : VBM16 ;STARTVILLKOR AGGREGAT*)
  1158. IF VBM14 AND INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_TC')) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_GT3_AL')) THEN
  1159. VBM16 := TRUE;
  1160. ELSE
  1161. VBM16 := FALSE;
  1162. END_IF;
  1163.  
  1164.  
  1165. (*VBM16 : 121 ;DRIFT TA212*)
  1166. IF VBM16 THEN
  1167. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'TA212_CMD');
  1168. ELSE
  1169. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'TA212_CMD');
  1170. END_IF;
  1171.  
  1172.  
  1173. (*T24 : 122 ;DRIFT TA215*)
  1174. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA215_TC')) THEN
  1175. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'TA215_CMD');
  1176. ELSE
  1177. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'TA215_CMD');
  1178. END_IF;
  1179.  
  1180.  
  1181. (*T25 : 123 ;DRIFT TA501*)
  1182. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA501_TC')) THEN
  1183. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'TA501_CMD');
  1184. ELSE
  1185. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'TA501_CMD');
  1186. END_IF;
  1187.  
  1188.  
  1189. (*T29 AN (102.4 < 948.4) OR (108.2 > 108.3) : S222,S223 ;START EL-PVŽRMARE*)
  1190. IF INT_TO_BOOL(GetDigitalPointF(Name := 'MOTORVARMARE_TC')) AND (GetAnalogPointF(Name:='TA212_V_PV4') < GetAnalogPointF(Name:='GT3_NORR_PV_PV4') ) OR (GetAnalogPointF(Name:='FA501_V_PV2') > GetAnalogPointF(Name:='FA501_V_PV3') ) THEN
  1191. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'MOTORVARMARE_DA_CMD');
  1192. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'MOTORVARMARE_AK_CMD');
  1193. END_IF;
  1194.  
  1195.  
  1196. (*NT29 OR (102.4 > 948.4 + C1.0) OR (108.2 < 108.3 - C1.0) : R222,R223 ;STOPP EL-PVŽRMARE*)
  1197. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'MOTORVARMARE_TC')) OR (GetAnalogPointF(Name:='TA212_V_PV4') > GetAnalogPointF(Name:='GT3_NORR_PV_PV4') + 1.0 ) OR (GetAnalogPointF(Name:='FA501_V_PV2') < GetAnalogPointF(Name:='FA501_V_PV3') - 1.0 ) THEN
  1198. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'MOTORVARMARE_DA_CMD');
  1199. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'MOTORVARMARE_AK_CMD');
  1200. END_IF;
  1201.  
  1202.  
  1203. (*T26 : 224 ;DRIFT TRYCKLUFTSVENTIL*)
  1204. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TRYCKLUFT_TC')) THEN
  1205. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'TRYCKLUFTSVENTIL_CMD');
  1206. ELSE
  1207. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'TRYCKLUFTSVENTIL_CMD');
  1208. END_IF;
  1209.  
  1210.  
  1211. (*DAY <= C15 : SVBM11 ;DAT.VILLK. F™RE DEN 15:E EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1212.  
  1213. (*DAY >= C16 : RVBM11 ;DAT.VILLK. EFTER DEN 16:E EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1214.  
  1215. (*(102.4 > 948.2) : DM(321.2) SVBM12 ;PUMPSTOPP EFTER INST.TID*)
  1216. IF (GetAnalogPointF(Name:='TA212_V_PV4') > GetAnalogPointF(Name:='GT3_NORR_PV_PV2') ) THEN
  1217. VBM12_TON_5.IN := TRUE;
  1218. IF VBM12_TON_5.Q THEN
  1219. VBM12 := TRUE;
  1220. END_IF;
  1221. ELSE
  1222. VBM12_TON_5.IN := FALSE;
  1223. END_IF;
  1224. VBM12_TON_5.PT := DINT_TO_TIME(REAL_TO_DINT((GetAnalogPointF(Name:='VS_P1A_CMD_PV2')) * 60000.0));
  1225. VBM12_TON_5();
  1226.  
  1227.  
  1228. (*(102.4 + C1 < 948.2) : RVBM12 ;PUMPSTART DIREKT*)
  1229. IF (GetAnalogPointF(Name:='TA212_V_PV4') + 1.0 < GetAnalogPointF(Name:='GT3_NORR_PV_PV2') ) THEN
  1230. VBM12 := FALSE;
  1231. END_IF;
  1232.  
  1233.  
  1234. (*VBM11 OR (NVBM11 AN (322.SW==OFF)) AN NVBM12 OR (NVBM11 AN N322 AN NVBM12) OR (VBMM01 AN N322) AN NLD301 : 321 ;DRIFT VS-P1A*)
  1235. IF VBM11 OR (NOT VBM11 AND (GetLockStateF( Name:= 'VS_P1B_CMD' ) = AND NOT VBM12 OR (NOT VBM11 AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) AND NOT VBM12 ) OR (VBMM01 AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) ) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_AL')) THEN
  1236. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'VS_P1A_CMD');
  1237. ELSE
  1238. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'VS_P1A_CMD');
  1239. END_IF;
  1240.  
  1241.  
  1242. (*NVBM11 OR (VBM11 AN (321.SW==OFF)) AN NVBM12 OR (VBM11 AN N321 AN NVBM12) OR (VBMM02 AN N321) AN NLD302 : 322 ;DRIFT VS-P1B*)
  1243. IF NOT VBM11 OR (VBM11 AND (GetLockStateF( Name:= 'VS_P1A_CMD' ) = AND NOT VBM12 OR (VBM11 AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) AND NOT VBM12 ) OR (VBMM02 AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) ) AND NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_AL')) THEN
  1244. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'VS_P1B_CMD');
  1245. ELSE
  1246. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'VS_P1B_CMD');
  1247. END_IF;
  1248.  
  1249.  
  1250. (*304 OR 305 OR 312 OR 208 : 326 ;DRIFT P2-KOMPRESSOR*)
  1251. IF INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR1_V')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR2_V')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR4_V')) OR INT_TO_BOOL(GetDigitalPointF(Name := 'KOMPRESSOR3_V')) THEN
  1252. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'VV_P2_CMD');
  1253. ELSE
  1254. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'VV_P2_CMD');
  1255. END_IF;
  1256.  
  1257.  
  1258. (*326 : 326.1 = C1 ;INDIKERING I MENY*)
  1259. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P2_V')) THEN
  1260. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'VV_P2_CMD_PV1');
  1261. END_IF;
  1262.  
  1263.  
  1264. (*N326 : 326.1 = C0 ;*)
  1265. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P2_V')) THEN
  1266. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'VV_P2_CMD_PV1');
  1267. END_IF;
  1268.  
  1269.  
  1270. (*326 AN 1047 + C1 < REG5.SETPOINT : S327 ;DRIFT P3-VV LADDNING*)
  1271. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P2_V')) AND GetAnalogPointF(Name:='VV_GT3_PV') + 1.0 < GetAnalogPointF(Name:='VV_GT2_SP') THEN
  1272. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'VV_P3_CMD');
  1273. END_IF;
  1274.  
  1275.  
  1276. (*N326 OR 1047 - C1 > REG5.SETPOINT : DS15 R327 ;STOPP*)
  1277. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P2_V')) OR GetAnalogPointF(Name:='VV_GT3_PV') - 1.0 > GetAnalogPointF(Name:='VV_GT2_SP') THEN
  1278. TOF_VV_P3_CMD_6.IN := FALSE;
  1279. IF NOT TOF_VV_P3_CMD_6.Q THEN;
  1280. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'VV_P3_CMD');
  1281. END_IF;
  1282. ELSE
  1283. TOF_VV_P3_CMD_6.IN := TRUE;
  1284. END_IF;
  1285. TOF_VV_P3_CMD_6.PT := DINT_TO_TIME(REAL_TO_DINT((15.0) * 1000.0));
  1286. TOF_VV_P3_CMD_6();
  1287.  
  1288.  
  1289. (*T1 : 328 ;DRIFT P4-VVC*)
  1290. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VV_P4_TC')) THEN
  1291. iTemp := SetDigitalPointF(Value:= 1 ,LockState:= 1,Name := 'VV_P4_CMD');
  1292. ELSE
  1293. iTemp := SetDigitalPointF(Value:= 0 ,LockState:= 1,Name := 'VV_P4_CMD');
  1294. END_IF;
  1295.  
  1296.  
  1297. (*N321 AN N322 OR 316 : REG1.DISABLE1, REG1.DISABLE2 ;STŽNG AV PRIMŽRVŽRMEREGLERING EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1298.  
  1299. (*321 : 963 = 1061 ;STYRSIGNAL PUMP P1A F™LJA REGULATOR VID DRIFT*)
  1300. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) THEN
  1301. iTemp := SetAnalogPointF(Value:= GetAnalogPointF(Name:='TA212_SV1_OP') ,LockState:= 1,Name := 'VS_P1A_OP');
  1302. END_IF;
  1303.  
  1304.  
  1305. (*N321 : 963 = C0 ;*)
  1306. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1A_CMD')) THEN
  1307. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'VS_P1A_OP');
  1308. END_IF;
  1309.  
  1310.  
  1311. (*322 : 964 = 1061 ;STYRSIGNAL PUMP P1B F™LJA REGULATOR VID DRIFT*)
  1312. IF INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) THEN
  1313. iTemp := SetAnalogPointF(Value:= GetAnalogPointF(Name:='TA212_SV1_OP') ,LockState:= 1,Name := 'VS_P1B_OP');
  1314. END_IF;
  1315.  
  1316.  
  1317. (*N322 : 964 = C0 ;*)
  1318. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'VS_P1B_CMD')) THEN
  1319. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'VS_P1B_OP');
  1320. END_IF;
  1321.  
  1322.  
  1323. (*316.P >=C1 : SVBR5,DS1 316.P=C0 ;STOPP REGLERING EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1324.  
  1325. (*316.P == C0 AN VBR5 : DM5 RVBR5 ;?TERSTŽLL EFTER SISTA PULS EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1326.  
  1327. (*VBR5 AN (1064 > C0) AN (316.P >=C1) : 1064 = 1064 - C2 ;STŽNG STYRVENTIL (0-10V) EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1328.  
  1329. (*1064 < C0 : 1064 = C0 ;MINBEGRŽNSA MINSKA SIGNAL*)
  1330. IF GetAnalogPointF(Name:='VV_SV2_OP') < 0.0 THEN
  1331. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'VV_SV2_OP');
  1332. END_IF;
  1333.  
  1334.  
  1335. (*VBR5 : 316.4 = C1 ;INDIKERING "TILL" I BILDSKŽRM*)
  1336. IF VBR5 THEN
  1337. iTemp := SetAnalogPointF(Value:= 1.0 ,LockState:= 1,Name := 'FINNS_EJ_PV4');
  1338. END_IF;
  1339.  
  1340.  
  1341. (*NVBR5 : 316.4 = C0 ;INDIKERING "FR?N" I BILDSKŽRM*)
  1342. IF NOT VBR5 THEN
  1343. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'FINNS_EJ_PV4');
  1344. END_IF;
  1345.  
  1346.  
  1347. (*T30 : REG5.SETPOINTBASE=1046.2 ;B™RVŽRDE VID TAPPNING EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1348.  
  1349. (*NT30 : REG5.SETPOINTBASE=1046.1 ;B™RVŽRDE VID LADDNING EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1350.  
  1351. (*: 1063 = C100 - 1063.3*)
  1352. iTemp := SetAnalogPointF(Value:= 100.0 - GetAnalogPointF(Name:='VV_SV2_OP_PV3') ,LockState:= 1,Name := 'VV_SV2_OP');
  1353.  
  1354.  
  1355.  
  1356. (*N327 : REG5.DISABLE1,1063.3 = C0 ;STOPP REGL. ™PPNA VENTIL EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1357.  
  1358. (*N121 OR VBF1 : REG6.DISABLE1 ;BLOCKERAR VŽRMEBATTERISEKVENSEN EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1359.  
  1360. (*N121 AN VBS AN NVBF1 : 961.1 = C0 ;STŽNGER VŽRMEVENTIL*)
  1361. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND VBS AND NOT VBF1 THEN
  1362. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'TA212_SV1_OP_PV1');
  1363. END_IF;
  1364.  
  1365.  
  1366. (*VBF1 OR (N121 AN VBS) : REG7.DISABLE1 ;STOPPAR REGL.MINBEGRŽNSNING FRYSVAKT EJ KONVERTERAT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*)
  1367.  
  1368. (*N121 AN VBS AN NVBF1 : 961.2=C0 ;STŽNG VŽRMEVENTIL*)
  1369. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND VBS AND NOT VBF1 THEN
  1370. iTemp := SetAnalogPointF(Value:= 0.0 ,LockState:= 1,Name := 'TA212_SV1_OP_PV2');
  1371. END_IF;
  1372.  
  1373.  
  1374. (*VBF1 : 961.2 = C100 ;™PPNAR VŽRMEVENTIL 100% VID FRYSVAKTUTL™SNING*)
  1375. IF VBF1 THEN
  1376. iTemp := SetAnalogPointF(Value:= 100.0 ,LockState:= 1,Name := 'TA212_SV1_OP_PV2');
  1377. END_IF;
  1378.  
  1379.  
  1380. (*121 : DM15 VBR11 ;REGLERANDE FRYSVAKT I 15 MINUTER*)
  1381. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) THEN
  1382. VBR11_TON_7.IN := TRUE;
  1383. IF VBR11_TON_7.Q THEN
  1384. VBR11 := TRUE;
  1385. END_IF;
  1386. ELSE
  1387. VBR11_TON_7.IN := FALSE;
  1388. VBR11 := FALSE;
  1389. END_IF;
  1390. VBR11_TON_7.PT := DINT_TO_TIME(REAL_TO_DINT((15.0) * 60000.0));
  1391. VBR11_TON_7();
  1392.  
  1393.  
  1394. (*121 AN NVBR11 : 961 = MAX(961.1,961.2) ;UTSIGNAL VŽRMEVENTIL VID DRIFT,ST™RST AV REG6 OCH REG7*)
  1395. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND NOT VBR11 THEN
  1396. iTemp := SetAnalogPointF(Value:= MAX(rResult1 , rResult2) ,LockState:= 1,Name := 'TA212_SV1_OP');
  1397. END_IF;
  1398. rResult1 := GetAnalogPointF(Name:='TA212_SV1_OP_PV1');
  1399. rResult2 := GetAnalogPointF(Name:='TA212_SV1_OP_PV2');
  1400.  
  1401.  
  1402. (*121 AN VBR11 : 961 = 961.1 ;UTSIGNAL VŽRMEVENTIL EJ REGLERANDE FRYSVAKT*)
  1403. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND VBR11 THEN
  1404. iTemp := SetAnalogPointF(Value:= GetAnalogPointF(Name:='TA212_SV1_OP_PV1') ,LockState:= 1,Name := 'TA212_SV1_OP');
  1405. END_IF;
  1406.  
  1407.  
  1408. (*121 AN NVBR11 AN (961.2 > 961.1) : VBR12 ;VARIABEL F™R STYRNING VVX (KLAR F™R FRAMTIDA VVX)*)
  1409. IF INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) AND NOT VBR11 AND (GetAnalogPointF(Name:='TA212_GT1_PV_PV2') > GetAnalogPointF(Name:='TA212_GT1_PV_PV1') ) THEN
  1410. VBR12 := TRUE;
  1411. ELSE
  1412. VBR12 := FALSE;
  1413. END_IF;
  1414.  
  1415.  
  1416. (*N121 : 961 = 961.2 ;UTSIGNAL VŽRMEVENTIL VID STOPPAT AGGREGAT*)
  1417. IF NOT INT_TO_BOOL(GetDigitalPointF(Name := 'TA212_CMD')) THEN
  1418. iTemp := SetAnalogPointF(Value:= GetAnalogPointF(Name:='TA212_SV1_OP_PV2') ,LockState:= 1,Name := 'TA212_SV1_OP');
  1419. END_IF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement