VG.TcPOU 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
  3. <POU Name="VG" Id="{6b47e931-649a-41af-8c0a-23e4a81cd6f8}" SpecialFunc="None">
  4. <Declaration><![CDATA[FUNCTION_BLOCK VG
  5. VAR_INPUT
  6. END_VAR
  7. VAR_OUTPUT
  8. END_VAR
  9. VAR
  10. PG14ValueRead : AnalogConverter ;
  11. PG13ValueRead : AnalogConverter ;
  12. FL904ValueRead : AnalogConverter ;
  13. FL905ValueRead : AnalogConverter ;
  14. FL906ValueRead : AnalogConverter ;
  15. FL907ValueRead : AnalogConverter ;
  16. FL908ValueRead : AnalogConverter ;
  17. RFGReflPwrValueRead : AnalogConverter ;
  18. RFGFwdPwrValueRead : AnalogConverter ;
  19. RFMVppValueRead : AnalogConverter ;
  20. RFMVdcValueRead : AnalogConverter ;
  21. RFMLdPosValueRead : AnalogConverter ;
  22. RFMPhPosValueRead : AnalogConverter ;
  23. PS17ValueRead : AnalogConverter ;
  24. O2ValueRead : AnalogConverter ;
  25. O2PhysicalMinValue_Real:REAL;
  26. O2PhysicalMaxValue_Real:REAL;
  27. VG12ValueRead : AnalogConverter ;
  28. PS13ValueRead : AnalogConverter ;
  29. PS14ValueRead : AnalogConverter ;
  30. DG1ValueRead : AnalogConverter ;
  31. PG12ValueRead : AnalogConverter ;
  32. FL902ValueRead : AnalogConverter ;
  33. FL901ValueRead : AnalogConverter ;
  34. FL903ValueRead : AnalogConverter ;
  35. MS8ValueRead : AnalogConverter ;
  36. PG15ValueRead : AnalogConverter ;
  37. PG16ValueRead : AnalogConverter ;
  38. PG70ValueRead : AnalogConverter ;
  39. PG1ValueRead : AnalogConverter ;
  40. PG2ValueRead : AnalogConverter ;
  41. PG3ValueRead : AnalogConverter ;
  42. PG4ValueRead : AnalogConverter ;
  43. PS11ValueRead : AnalogConverter ;
  44. PG6ValueRead : AnalogConverter ;
  45. PG7ValueRead : AnalogConverter ;
  46. PG5ValueRead : AnalogConverter ;
  47. PG9ValueRead : AnalogConverter ;
  48. PG10ValueRead : AnalogConverter ;
  49. MS1ValueRead : AnalogConverter ;
  50. MS2ValueRead : AnalogConverter ;
  51. MS3ValueRead : AnalogConverter ;
  52. MS4ValueRead : AnalogConverter ;
  53. MS5ValueRead : AnalogConverter ;
  54. MS6ValueRead : AnalogConverter ;
  55. MS7ValueRead : AnalogConverter ;
  56. PG8ValueRead : AnalogConverter ;
  57. END_VAR
  58. ]]></Declaration>
  59. <Implementation>
  60. <ST><![CDATA[//VG31
  61. AI.VG31_Pressure:=ECC.VG31.Sensor_Value_6000_11 ; //REAL
  62. //VG14
  63. AI.VG14_Pressure:=ECC.VG14.Sensor_Value_6000_11 ; //REAL
  64. //VG11
  65. AI.VG11_Pressure:=ECC.VG11.Sensor_Value_6000_11 ; //REAL
  66. //VG13
  67. AI.VG13_Pressure:=ECC.VG13.Sensor_Value_6000_11 ; //REAL
  68. //AI
  69. //节点1 GC box
  70. (*
  71. AI[0].AI0:= EC001_01_Ch1_Analog_Input_Value ;
  72. AI[0].AI1:= EC001_01_Ch2_Analog_Input_Value ;
  73. AI[0].AI2:= EC001_01_Ch3_Analog_Input_Value ;
  74. AI[0].AI3:= EC001_01_Ch4_Analog_Input_Value ;
  75. AI[0].AI4:= EC001_01_Ch5_Analog_Input_Value ;
  76. AI[0].AI5:= EC001_01_Ch6_Analog_Input_Value ;
  77. AI[0].AI8 := EC023_VG21_Sensor_Value_6000_11[*EC001_03_Ch1_Analog_Input_Value*] ;
  78. AI[0].AI9 := EC024_VG22_Sensor_Value_6000_11[*EC001_03_Ch2_Analog_Input_Value*] ;
  79. //节点5 GD box
  80. AI[1].AI0 := O2.ActValPV_Real[*EC005_09_Ch1_Analog_Input_Value*] ;//使用range1时,测量值9000,对应6V,测试看小于下限时时不是-1V,此时测量值是多少,然后写程序
  81. //节点6 TC unit box
  82. AI[2].AI0 :=EC006_01_Ch1_Analog_Input_Value ;
  83. AI[2].AI1 :=EC006_01_Ch2_Analog_Input_Value ;
  84. AI[2].AI2 :=EC006_01_Ch3_Analog_Input_Value ;
  85. AI[2].AI3 :=EC006_01_Ch4_Analog_Input_Value ;
  86. AI[2].AI4 :=EC006_01_Ch5_Analog_Input_Value ;
  87. AI[2].AI5 :=EC006_01_Ch6_Analog_Input_Value ;
  88. AI[2].AI6 :=EC006_01_Ch7_Analog_Input_Value ;
  89. AI[2].AI7 :=EC006_01_Ch8_Analog_Input_Value ;
  90. //节点41 EXHU box
  91. AI[3].AI0 := EC041_01_Ch1_Analog_Input_Value ;
  92. AI[3].AI1 := EC041_01_Ch2_Analog_Input_Value ;
  93. AI[3].AI2 := EC041_01_Ch3_Analog_Input_Value ;
  94. AI[3].AI3 := EC041_01_Ch4_Analog_Input_Value ;
  95. AI[3].AI4 := EC041_01_Ch5_Analog_Input_Value ;
  96. AI[3].AI5 := EC041_01_Ch6_Analog_Input_Value ;
  97. AI[3].AI6 := EC041_01_Ch7_Analog_Input_Value ;
  98. AI[3].AI7 := EC041_01_Ch8_Analog_Input_Value ;
  99. AI[3].AI8 := EC041_03_Ch1_Analog_Input_Value ;
  100. AI[3].AI9 := EC041_03_Ch2_Analog_Input_Value ;
  101. AI[3].AI10 := EC041_03_Ch3_Analog_Input_Value ;
  102. AI[3].AI11 := EC041_03_Ch4_Analog_Input_Value ;
  103. AI[3].AI12 := EC041_03_Ch5_Analog_Input_Value ;
  104. AI[3].AI13 := EC041_03_Ch6_Analog_Input_Value ;
  105. *)
  106. (*
  107. IF SysData.VGUnitConversion_b THEN
  108. //VG11
  109. VGValue[0] := EC046_VG11_Sensor_Value_6000_11 ;
  110. //VG12
  111. VGValue[1] := EC045_VG12_Sensor_Value_6000_11 ;
  112. //VG13
  113. VGValue[2] := EC047_VG13_Sensor_Value_6000_11 ;
  114. //VG14
  115. //VG21
  116. VGValue[4] := EC023_VG21_Sensor_Value_6000_11 ;
  117. //VG22
  118. VGValue[5] := EC024_VG22_Sensor_Value_6000_11 ;
  119. ELSE
  120. //VG11
  121. VGValue[0] := EC046_VG11_Sensor_Value_6000_11 / 133.3 ;
  122. //VG12
  123. VGValue[1] := EC045_VG12_Sensor_Value_6000_11 / 133.3 ;
  124. //VG13
  125. VGValue[2] := EC047_VG13_Sensor_Value_6000_11 / 133.3 ;
  126. //VG14
  127. //VG21
  128. VGValue[4] := EC023_VG21_Sensor_Value_6000_11 / 133.3 ;
  129. //VG22
  130. VGValue[5] := EC024_VG22_Sensor_Value_6000_11 / 133.3 ;
  131. END_IF;
  132. //节点42 AV71 APC Controller
  133. IF SysData.VGUnitConversion_b THEN
  134. APC_AI.Value_sensor_input1_p1 := ( DINT_TO_REAL( REAL_TO_DINT( EC042_Inputs_Sensor_Value_6030_11 * REAL#1000 ) ) ) / REAL#1000 ;
  135. APC_AI.Value_sensor_input1_p2 := ( DINT_TO_REAL( REAL_TO_DINT( EC042_Inputs_Sensor_Value_6040_11 * REAL#10 ) ) ) / REAL#10 ;
  136. ELSE
  137. APC_AI.Value_sensor_input1_p1 := ( DINT_TO_REAL( REAL_TO_DINT( (EC042_Inputs_Sensor_Value_6030_11 / REAL#133.3 ) * REAL#1000 ) ) ) / REAL#1000 ;
  138. APC_AI.Value_sensor_input1_p2 := ( DINT_TO_REAL( REAL_TO_DINT( (EC042_Inputs_Sensor_Value_6040_11 / REAL#133.3 ) * REAL#10 ) ) ) / REAL#10 ;
  139. END_IF;
  140. APC_AI.Select_controller_using:=TO_REAL(IN:=EC042_Inputs_Sensor_Selected_Controller_6050_14);
  141. APC_AI.Position_actual_value:=EC042_Inputs_Sensor_Position_Actual_Value_6100_11;
  142. IF APC_AI.Position_actual_value>REAL#100 THEN APC_AI.Position_actual_value:=REAL#100;END_IF;
  143. APC_AI.Control_mode_status:=TO_REAL(IN:=EC042_Inputs_Sensor_Control_Mode_Status_6100_14);
  144. APC_AI.HOME_status:=TO_REAL(IN:=EC042_Inputs_Sensor_Homing_Status_6100_15);
  145. APC_AI.Warning_Device_Management:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_001_F381_01);
  146. APC_AI.Warning_Sensor_Input1:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_003_F381_03);
  147. APC_AI.Warning_Sensor_Input2:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_004_F381_04);
  148. APC_AI.Warning_Process_Controller_Selector:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_005_F381_05);
  149. APC_AI.Warning_Valve:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_016_F381_10);
  150. APC_AI.Manufacturer_Warning_Valve:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_016_F382_10);
  151. APC_AI.ERROR_Device_Management:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_001_F384_01);
  152. APC_AI.ERROR_sensor_input1_p1:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_003_F384_03);
  153. APC_AI.ERROR_sensor_input1_p2:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_004_F384_04);
  154. APC_AI.ERROR_Valve:=TO_REAL(IN:=EC042_Inputs_Sensor_SubIndex_016_F384_10);
  155. *)
  156. (*
  157. //节点43 EXH box
  158. //节点50 RF box
  159. AI[5].AI0 := EC050_01_Ch1_Analog_Input_Value ;
  160. AI[5].AI1 := EC050_01_Ch2_Analog_Input_Value ;
  161. AI[5].AI2 := EC050_01_Ch3_Analog_Input_Value ;
  162. AI[5].AI3 := EC050_01_Ch4_Analog_Input_Value ;
  163. AI[5].AI4 := EC050_01_Ch5_Analog_Input_Value ;
  164. AI[5].AI5 := EC050_01_Ch6_Analog_Input_Value ;
  165. //节点51 PW box
  166. AI[6].AI0 := EC051_11_Ch1_Analog_Input_Value ;
  167. AI[6].AI1 := EC051_11_Ch2_Analog_Input_Value ;
  168. AI[6].AI2 := EC051_11_Ch3_Analog_Input_Value ;
  169. AI[6].AI3 := EC051_11_Ch4_Analog_Input_Value ;
  170. AI[6].AI4 := EC051_11_Ch5_Analog_Input_Value ;
  171. *)
  172. (*
  173. //N2-4 PGPS14
  174. PG14ValueRead
  175. ( AlmEn_In_b:=PG14.AlmEn_b ,
  176. OverRangeAlm_In_b:= DI[6].DI12 ,
  177. UnderRangeAlm_In_b:= DI[6].DI13 ,
  178. AlmRst_In_b:= SysData.PLCReset_b ,
  179. AnalogRdValue_In_Int:= EC051_11_Ch1_Analog_Input_Value(*PG14.AnalogRdVal_Int*) ,
  180. AnalogResMin_In_Int:= 0 ,
  181. AnalogResMax_In_Int:= 15000 ,
  182. AnalogPhyMin_In_Real:= 0 ,
  183. AnalogPhyMax_In_Real:= 150 ,
  184. AnalogRdOffset_In_Real:= PG14.AnalogRdOffset_Real ,
  185. AlmUpLmtSV_In_Real:= PG14.AlmUpLmtSV_Real ,
  186. AlmDnLmtSV_In_Real:= PG14.AlmDnLmtSV_Real ,
  187. ActValueOutRangeAlm_Out_b => PG14.ValueOtRangeAlm_b ,
  188. ActValueStatusOK_Out_b => PG14.ValueStatusOK_b ,
  189. ActRdValue_Out_Real=> AI[6].AI0 (*PG14.ActValPV_Real*)
  190. );
  191. PG14.ActValPV_Real := AI[6].AI0 ;
  192. //N2-5 PGPS15
  193. PG15ValueRead
  194. ( AlmEn_In_b:=PG15.AlmEn_b ,
  195. OverRangeAlm_In_b:= DI[6].DI14 ,
  196. UnderRangeAlm_In_b:= DI[6].DI15 ,
  197. AlmRst_In_b:= SysData.PLCReset_b ,
  198. AnalogRdValue_In_Int:= EC051_11_Ch2_Analog_Input_Value(*PG15.AnalogRdVal_Int*) ,
  199. AnalogResMin_In_Int:= 0 ,
  200. AnalogResMax_In_Int:= 15000 ,
  201. AnalogPhyMin_In_Real:= 0 ,
  202. AnalogPhyMax_In_Real:= 150 ,
  203. AnalogRdOffset_In_Real:= PG15.AnalogRdOffset_Real ,
  204. AlmUpLmtSV_In_Real:= PG15.AlmUpLmtSV_Real ,
  205. AlmDnLmtSV_In_Real:= PG15.AlmDnLmtSV_Real ,
  206. ActValueOutRangeAlm_Out_b => PG15.ValueOtRangeAlm_b ,
  207. ActValueStatusOK_Out_b => PG15.ValueStatusOK_b ,
  208. ActRdValue_Out_Real=> AI[6].AI1 (*PG15.ActValPV_Real*)
  209. );
  210. PG15.ActValPV_Real := AI[6].AI1 ;
  211. //N2-6 PGPS16
  212. PG16ValueRead
  213. ( AlmEn_In_b:=PG16.AlmEn_b ,
  214. OverRangeAlm_In_b:= DI[6].DI16 ,
  215. UnderRangeAlm_In_b:= DI[6].DI17 ,
  216. AlmRst_In_b:= SysData.PLCReset_b ,
  217. AnalogRdValue_In_Int:= EC051_11_Ch3_Analog_Input_Value(*PG16.AnalogRdVal_Int*) ,
  218. AnalogResMin_In_Int:= 0 ,
  219. AnalogResMax_In_Int:= 15000 ,
  220. AnalogPhyMin_In_Real:= 0 ,
  221. AnalogPhyMax_In_Real:= 150 ,
  222. AnalogRdOffset_In_Real:= PG16.AnalogRdOffset_Real ,
  223. AlmUpLmtSV_In_Real:= PG16.AlmUpLmtSV_Real ,
  224. AlmDnLmtSV_In_Real:= PG16.AlmDnLmtSV_Real ,
  225. ActValueOutRangeAlm_Out_b => PG16.ValueOtRangeAlm_b ,
  226. ActValueStatusOK_Out_b => PG16.ValueStatusOK_b ,
  227. ActRdValue_Out_Real=> AI[6].AI2 (*PG16.ActValPV_Real*)
  228. );
  229. PG16.ActValPV_Real := AI[6].AI2 ;
  230. //N2-7 PGPS70
  231. PG70ValueRead
  232. ( AlmEn_In_b:=PG1.AlmEn_b ,
  233. OverRangeAlm_In_b:= DI[6].DI18 ,
  234. UnderRangeAlm_In_b:= DI[6].DI19 ,
  235. AlmRst_In_b:= SysData.PLCReset_b ,
  236. AnalogRdValue_In_Int:= EC051_11_Ch4_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  237. AnalogResMin_In_Int:= 0 ,
  238. AnalogResMax_In_Int:= 15000 ,
  239. AnalogPhyMin_In_Real:= 0 ,
  240. AnalogPhyMax_In_Real:= 1000 ,
  241. AnalogRdOffset_In_Real:= PG70.AnalogRdOffset_Real ,
  242. AlmUpLmtSV_In_Real:= PG70.AlmUpLmtSV_Real ,
  243. AlmDnLmtSV_In_Real:= PG70.AlmDnLmtSV_Real ,
  244. ActValueOutRangeAlm_Out_b => PG70.ValueOtRangeAlm_b ,
  245. ActValueStatusOK_Out_b => PG70.ValueStatusOK_b ,
  246. ActRdValue_Out_Real=> AI[6].AI3 (*PG70.ActValPV_Real*)
  247. );
  248. PG70.ActValPV_Real := AI[6].AI3 ;
  249. //Air unit
  250. PS17ValueRead
  251. ( AlmEn_In_b:=PS17.AlmEn_b ,
  252. OverRangeAlm_In_b:= DI[6].DI21 ,
  253. UnderRangeAlm_In_b:= DI[6].DI20 ,
  254. AlmRst_In_b:= SysData.PLCReset_b ,
  255. AnalogRdValue_In_Int:= EC051_11_Ch5_Analog_Input_Value(*PG14.AnalogRdVal_Int*) ,
  256. AnalogResMin_In_Int:= 1500 ,
  257. AnalogResMax_In_Int:= 7500 ,
  258. AnalogPhyMin_In_Real:= 0 ,
  259. AnalogPhyMax_In_Real:= 1 ,
  260. AnalogRdOffset_In_Real:= PS17.AnalogRdOffset_Real ,
  261. AlmUpLmtSV_In_Real:= PS17.AlmUpLmtSV_Real ,
  262. AlmDnLmtSV_In_Real:= PS17.AlmDnLmtSV_Real ,
  263. ActValueOutRangeAlm_Out_b => PS17.ValueOtRangeAlm_b ,
  264. ActValueStatusOK_Out_b => PS17.ValueStatusOK_b ,
  265. ActRdValue_Out_Real=> AI[6].AI4 (*PS17.ActValPV_Real*)
  266. );
  267. PS17.ActValPV_Real := AI[6].AI4 ;
  268. // PGPS1
  269. PG1ValueRead
  270. ( AlmEn_In_b:=PG1.AlmEn_b ,
  271. OverRangeAlm_In_b:= DI[0].DI0 ,
  272. UnderRangeAlm_In_b:= DI[0].DI1 ,
  273. AlmRst_In_b:= SysData.PLCReset_b ,
  274. AnalogRdValue_In_Int:= EC001_01_Ch1_Analog_Input_Value (*PG70.AnalogRdVal_Int*) ,
  275. AnalogResMin_In_Int:= 0 ,
  276. AnalogResMax_In_Int:= 15000 ,
  277. AnalogPhyMin_In_Real:= -0.1 ,
  278. AnalogPhyMax_In_Real:= 1.0 ,
  279. AnalogRdOffset_In_Real:= PG1.AnalogRdOffset_Real ,
  280. AlmUpLmtSV_In_Real:= PG1.AlmUpLmtSV_Real ,
  281. AlmDnLmtSV_In_Real:= PG1.AlmDnLmtSV_Real ,
  282. ActValueOutRangeAlm_Out_b => PG1.ValueOtRangeAlm_b ,
  283. ActValueStatusOK_Out_b => PG1.ValueStatusOK_b ,
  284. ActRdValue_Out_Real=> AI[0].AI0 (*PG1.ActValPV_Real*)
  285. );
  286. PG1.ActValPV_Real := AI[0].AI0 ;
  287. // PGPS2
  288. PG2ValueRead
  289. ( AlmEn_In_b:=PG2.AlmEn_b ,
  290. OverRangeAlm_In_b:= DI[0].DI2 ,
  291. UnderRangeAlm_In_b:= DI[0].DI3 ,
  292. AlmRst_In_b:= SysData.PLCReset_b ,
  293. AnalogRdValue_In_Int:= EC001_01_Ch2_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  294. AnalogResMin_In_Int:= 0 ,
  295. AnalogResMax_In_Int:= 15000 ,
  296. AnalogPhyMin_In_Real:= -0.1 ,
  297. AnalogPhyMax_In_Real:= 1.0 ,
  298. AnalogRdOffset_In_Real:= PG2.AnalogRdOffset_Real ,
  299. AlmUpLmtSV_In_Real:= PG2.AlmUpLmtSV_Real ,
  300. AlmDnLmtSV_In_Real:= PG2.AlmDnLmtSV_Real ,
  301. ActValueOutRangeAlm_Out_b => PG2.ValueOtRangeAlm_b ,
  302. ActValueStatusOK_Out_b => PG2.ValueStatusOK_b ,
  303. ActRdValue_Out_Real=> AI[0].AI1 (*PG2.ActValPV_Real*)
  304. );
  305. PG2.ActValPV_Real := AI[0].AI1 ;
  306. // PGPS3
  307. PG3ValueRead
  308. ( AlmEn_In_b:=PG3.AlmEn_b ,
  309. OverRangeAlm_In_b:= DI[0].DI4 ,
  310. UnderRangeAlm_In_b:= DI[0].DI5 ,
  311. AlmRst_In_b:= SysData.PLCReset_b ,
  312. AnalogRdValue_In_Int:= EC001_01_Ch3_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  313. AnalogResMin_In_Int:= 0 ,
  314. AnalogResMax_In_Int:= 15000 ,
  315. AnalogPhyMin_In_Real:= -0.1 ,
  316. AnalogPhyMax_In_Real:= 1.0 ,
  317. AnalogRdOffset_In_Real:= PG3.AnalogRdOffset_Real ,
  318. AlmUpLmtSV_In_Real:= PG3.AlmUpLmtSV_Real ,
  319. AlmDnLmtSV_In_Real:= PG3.AlmDnLmtSV_Real ,
  320. ActValueOutRangeAlm_Out_b => PG3.ValueOtRangeAlm_b ,
  321. ActValueStatusOK_Out_b => PG3.ValueStatusOK_b ,
  322. ActRdValue_Out_Real=> AI[0].AI2 (*PG3.ActValPV_Real*)
  323. );
  324. PG3.ActValPV_Real := AI[0].AI2 ;
  325. // PGPS4
  326. PG4ValueRead
  327. ( AlmEn_In_b:=PG4.AlmEn_b ,
  328. OverRangeAlm_In_b:= DI[0].DI6 ,
  329. UnderRangeAlm_In_b:= DI[0].DI7 ,
  330. AlmRst_In_b:= SysData.PLCReset_b ,
  331. AnalogRdValue_In_Int:= EC001_01_Ch4_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  332. AnalogResMin_In_Int:= 0 ,
  333. AnalogResMax_In_Int:= 15000 ,
  334. AnalogPhyMin_In_Real:= -0.1 ,
  335. AnalogPhyMax_In_Real:= 1.0 ,
  336. AnalogRdOffset_In_Real:= PG4.AnalogRdOffset_Real ,
  337. AlmUpLmtSV_In_Real:= PG4.AlmUpLmtSV_Real ,
  338. AlmDnLmtSV_In_Real:= PG4.AlmDnLmtSV_Real ,
  339. ActValueOutRangeAlm_Out_b => PG4.ValueOtRangeAlm_b ,
  340. ActValueStatusOK_Out_b => PG4.ValueStatusOK_b ,
  341. ActRdValue_Out_Real=> AI[0].AI3 (*PG4.ActValPV_Real*)
  342. );
  343. PG4.ActValPV_Real := AI[0].AI3 ;
  344. // PGPS5
  345. PG5ValueRead
  346. ( AlmEn_In_b:=PG5.AlmEn_b ,
  347. OverRangeAlm_In_b:= DI[0].DI8 ,
  348. UnderRangeAlm_In_b:= DI[0].DI9 ,
  349. AlmRst_In_b:= SysData.PLCReset_b ,
  350. AnalogRdValue_In_Int:= EC001_01_Ch5_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  351. AnalogResMin_In_Int:= 0 ,
  352. AnalogResMax_In_Int:= 15000 ,
  353. AnalogPhyMin_In_Real:= -0.1 ,
  354. AnalogPhyMax_In_Real:= 1.0 ,
  355. AnalogRdOffset_In_Real:= PG5.AnalogRdOffset_Real ,
  356. AlmUpLmtSV_In_Real:= PG5.AlmUpLmtSV_Real ,
  357. AlmDnLmtSV_In_Real:= PG5.AlmDnLmtSV_Real ,
  358. ActValueOutRangeAlm_Out_b => PG5.ValueOtRangeAlm_b ,
  359. ActValueStatusOK_Out_b => PG5.ValueStatusOK_b ,
  360. ActRdValue_Out_Real=> AI[0].AI4 (*PG5.ActValPV_Real*)
  361. );
  362. PG5.ActValPV_Real := AI[0].AI4 ;
  363. // PGPS6
  364. PG6ValueRead
  365. ( AlmEn_In_b:=PG6.AlmEn_b ,
  366. OverRangeAlm_In_b:= DI[0].DI10 ,
  367. UnderRangeAlm_In_b:= DI[0].DI11 ,
  368. AlmRst_In_b:= SysData.PLCReset_b ,
  369. AnalogRdValue_In_Int:= EC001_01_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  370. AnalogResMin_In_Int:= 0 ,
  371. AnalogResMax_In_Int:= 15000 ,
  372. AnalogPhyMin_In_Real:= -0.1 ,
  373. AnalogPhyMax_In_Real:= 1.0 ,
  374. AnalogRdOffset_In_Real:= PG6.AnalogRdOffset_Real ,
  375. AlmUpLmtSV_In_Real:= PG6.AlmUpLmtSV_Real ,
  376. AlmDnLmtSV_In_Real:= PG6.AlmDnLmtSV_Real ,
  377. ActValueOutRangeAlm_Out_b => PG6.ValueOtRangeAlm_b ,
  378. ActValueStatusOK_Out_b => PG6.ValueStatusOK_b ,
  379. ActRdValue_Out_Real=> AI[0].AI5 (*PG6.ActValPV_Real*)
  380. );
  381. PG6.ActValPV_Real := AI[0].AI5 ;
  382. // PGPS7
  383. PG7ValueRead
  384. ( AlmEn_In_b:=PG7.AlmEn_b ,
  385. OverRangeAlm_In_b:=0 ,
  386. UnderRangeAlm_In_b:=DI[0].DI22 ,
  387. AlmRst_In_b:= SysData.PLCReset_b ,
  388. AnalogRdValue_In_Int:=EC001_03_Ch3_Analog_Input_Value ,
  389. AnalogResMin_In_Int:= 0 ,
  390. AnalogResMax_In_Int:= 15000 ,
  391. AnalogPhyMin_In_Real:= -0.1 ,
  392. AnalogPhyMax_In_Real:= 0.9 ,
  393. AnalogRdOffset_In_Real:= PG7.AnalogRdOffset_Real ,
  394. AlmUpLmtSV_In_Real:= PG7.AlmUpLmtSV_Real,
  395. AlmDnLmtSV_In_Real:=PG7.AlmDnLmtSV_Real ,
  396. ActValueOutRangeAlm_Out_b => PG7.ValueOtRangeAlm_b,
  397. ActValueStatusOK_Out_b =>PG7.ValueStatusOK_b ,
  398. ActRdValue_Out_Real=>AI[0].AI10 (*PG6.ActValPV_Real*)
  399. );
  400. PG7.ActValPV_Real := AI[0].AI10;
  401. // PGPS8
  402. PG8ValueRead
  403. ( AlmEn_In_b:=PG8.AlmEn_b ,
  404. OverRangeAlm_In_b:= 0,
  405. UnderRangeAlm_In_b:=DI[0].DI23 ,
  406. AlmRst_In_b:= SysData.PLCReset_b ,
  407. AnalogRdValue_In_Int:= EC001_03_Ch4_Analog_Input_Value,
  408. AnalogResMin_In_Int:= 0 ,
  409. AnalogResMax_In_Int:= 15000 ,
  410. AnalogPhyMin_In_Real:= -0.1 ,
  411. AnalogPhyMax_In_Real:= 0.9 ,
  412. AnalogRdOffset_In_Real:= PG8.AnalogRdOffset_Real ,
  413. AlmUpLmtSV_In_Real:= PG8.AlmUpLmtSV_Real,
  414. AlmDnLmtSV_In_Real:=PG8.AlmDnLmtSV_Real ,
  415. ActValueOutRangeAlm_Out_b => PG8.ValueOtRangeAlm_b,
  416. ActValueStatusOK_Out_b =>PG8.ValueStatusOK_b ,
  417. ActRdValue_Out_Real=>AI[0].AI11 (*PG6.ActValPV_Real*)
  418. );
  419. PG8.ActValPV_Real := AI[0].AI11;
  420. // PGPS9
  421. PG9ValueRead
  422. ( AlmEn_In_b:=PG9.AlmEn_b ,
  423. OverRangeAlm_In_b:=0 ,
  424. UnderRangeAlm_In_b:=DI[0].DI24 ,
  425. AlmRst_In_b:= SysData.PLCReset_b ,
  426. AnalogRdValue_In_Int:=EC001_03_Ch5_Analog_Input_Value ,
  427. AnalogResMin_In_Int:= 0,
  428. AnalogResMax_In_Int:= 15000 ,
  429. AnalogPhyMin_In_Real:= -0.1 ,
  430. AnalogPhyMax_In_Real:= 0.9 ,
  431. AnalogRdOffset_In_Real:= PG9.AnalogRdOffset_Real ,
  432. AlmUpLmtSV_In_Real:= PG9.AlmUpLmtSV_Real,
  433. AlmDnLmtSV_In_Real:=PG9.AlmDnLmtSV_Real ,
  434. ActValueOutRangeAlm_Out_b => PG9.ValueOtRangeAlm_b,
  435. ActValueStatusOK_Out_b =>PG9.ValueStatusOK_b ,
  436. ActRdValue_Out_Real=> AI[0].AI12(*PG6.ActValPV_Real*)
  437. );
  438. PG9.ActValPV_Real := AI[0].AI12;
  439. // PGPS10
  440. PG10ValueRead
  441. ( AlmEn_In_b:=PG10.AlmEn_b ,
  442. OverRangeAlm_In_b:=0 ,
  443. UnderRangeAlm_In_b:= DI[0].DI25,
  444. AlmRst_In_b:= SysData.PLCReset_b ,
  445. AnalogRdValue_In_Int:=EC001_03_Ch6_Analog_Input_Value ,
  446. AnalogResMin_In_Int:=7500 ,
  447. AnalogResMax_In_Int:= 15000 ,
  448. AnalogPhyMin_In_Real:= -0.1 ,
  449. AnalogPhyMax_In_Real:= 1.0 ,
  450. AnalogRdOffset_In_Real:= PG10.AnalogRdOffset_Real ,
  451. AlmUpLmtSV_In_Real:= PG10.AlmUpLmtSV_Real,
  452. AlmDnLmtSV_In_Real:=PG10.AlmDnLmtSV_Real ,
  453. ActValueOutRangeAlm_Out_b => PG10.ValueOtRangeAlm_b,
  454. ActValueStatusOK_Out_b =>PG10.ValueStatusOK_b ,
  455. ActRdValue_Out_Real=>AI[0].AI13 (*PG6.ActValPV_Real*)
  456. );
  457. PG10.ActValPV_Real := AI[0].AI13;
  458. *)
  459. //O2
  460. (*
  461. IF P_First_RunMode THEN
  462. O2ConcRange := 1 ;
  463. END_IF;
  464. CASE O2ConcRange OF
  465. 1:
  466. NXDO[0].DO0 := TRUE ;
  467. NXDO[0].DO1 := TRUE ;
  468. O2PhysicalMinValue_Real := 0 ;
  469. O2PhysicalMaxValue_Real := 10 ;
  470. 2:
  471. NXDO[0].DO0 := FALSE ;
  472. NXDO[0].DO1 := TRUE ;
  473. O2PhysicalMinValue_Real := 0 ;
  474. O2PhysicalMaxValue_Real := 100 ;
  475. 3:
  476. NXDO[0].DO0 := TRUE ;
  477. NXDO[0].DO1 := FALSE ;
  478. O2PhysicalMinValue_Real := 0 ;
  479. O2PhysicalMaxValue_Real := 1000 ;
  480. 4:
  481. NXDO[0].DO0 := FALSE ;
  482. NXDO[0].DO1 := FALSE ;
  483. O2PhysicalMinValue_Real := 0 ;
  484. O2PhysicalMaxValue_Real := 250000.0 ;
  485. END_CASE;
  486. IF O2ConcRange = 1 AND EC005_09_Ch1_Analog_Input_Value >7500 THEN
  487. O2ConcRange := O2ConcRange +1 ;
  488. [*O2.AnalogRdVal_Int := 7500 ;*]
  489. ELSIF O2ConcRange = 2 AND EC005_09_Ch1_Analog_Input_Value >7500 THEN
  490. O2ConcRange := O2ConcRange + 1 ;
  491. [*O2.AnalogRdVal_Int := EC005_09_Ch1_Analog_Input_Value ;*]
  492. ELSIF O2ConcRange = 3 AND EC005_09_Ch1_Analog_Input_Value >7500 THEN
  493. O2ConcRange := O2ConcRange + 1 ;
  494. ELSIF O2ConcRange = 4 AND O2.ActValPV_Real <= 1000 THEN
  495. O2ConcRange := O2ConcRange -1 ;
  496. ELSIF O2ConcRange = 3 AND O2.ActValPV_Real <= 100 THEN
  497. O2ConcRange := O2ConcRange -1 ;
  498. ELSIF O2ConcRange = 2 AND O2.ActValPV_Real <= 10 THEN
  499. O2ConcRange := O2ConcRange -1 ;
  500. END_IF;
  501. IF O2ConcRange > 4 THEN
  502. O2ConcRange := 4 ;
  503. ELSIF O2ConcRange < 1 THEN
  504. O2ConcRange := 1 ;
  505. END_IF;
  506. *)
  507. (*
  508. IF EC005_02_Si02_Logical_Value= TRUE AND EC005_02_Si03_Logical_Value = TRUE THEN
  509. O2PhysicalMinValue_Real := 0 ;
  510. O2PhysicalMaxValue_Real := 10 ;
  511. END_IF;
  512. IF EC005_02_Si02_Logical_Value= FALSE AND EC005_02_Si03_Logical_Value = TRUE THEN
  513. O2PhysicalMinValue_Real := 0 ;
  514. O2PhysicalMaxValue_Real := 100 ;
  515. END_IF;
  516. IF EC005_02_Si02_Logical_Value= TRUE AND EC005_02_Si03_Logical_Value = FALSE THEN
  517. O2PhysicalMinValue_Real := 0 ;
  518. O2PhysicalMaxValue_Real := 1000 ;
  519. END_IF;
  520. IF EC005_02_Si02_Logical_Value= FALSE AND EC005_02_Si03_Logical_Value = FALSE THEN
  521. O2PhysicalMinValue_Real := 0 ;
  522. O2PhysicalMaxValue_Real := 250000.0 ;
  523. END_IF;
  524. *)
  525. O2ValueRead
  526. ( AlmEn_In_b:=GVL.O2.AlmEn_b ,
  527. OverRangeAlm_In_b:= ECC.GB.GB_I201.In_Bit13 ,
  528. UnderRangeAlm_In_b:= ECC.GB.GB_I201.In_Bit14 ,
  529. AlmRst_In_b:= NDI.SysData_PLCReset_b ,
  530. AnalogRdValue_In_Int:= ECC.GB.GB_IW258.AI2 ,
  531. AnalogResMin_In_Int:= 0 ,
  532. AnalogResMax_In_Int:= 7500 ,
  533. AnalogPhyMin_In_Real:= O2PhysicalMinValue_Real(*0*) ,
  534. AnalogPhyMax_In_Real:= O2PhysicalMaxValue_Real(*250000*) ,
  535. AnalogRdOffset_In_Real:= GVL.O2.AnalogRdOffset_Real ,
  536. AlmUpLmtSV_In_Real:= GVL.O2.AlmUpLmtSV_Real ,
  537. AlmDnLmtSV_In_Real:= GVL.O2.AlmDnLmtSV_Real ,
  538. ActValueOutRangeAlm_Out_b => GVL.O2.ValueOtRangeAlm_b ,
  539. ActValueStatusOK_Out_b => GVL.O2.ValueStatusOK_b ,
  540. ActRdValue_Out_Real=> GVL.O2.ActValPV_Real (*O2.ActValPV_Real*)
  541. );
  542. AI.OX_Value := GVL.O2.ActValPV_Real ;
  543. //MS1
  544. (* MS1ValueRead
  545. ( AlmEn_In_b:=MS1.AlmEn_b ,
  546. OverRangeAlm_In_b:= DI[0].DI10 ,
  547. UnderRangeAlm_In_b:= DI[0].DI11 ,
  548. AlmRst_In_b:= SysData.PLCReset_b ,
  549. AnalogRdValue_In_Int:= EC006_01_Ch1_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  550. AnalogResMin_In_Int:= 1500 ,
  551. AnalogResMax_In_Int:= 7500 ,
  552. AnalogPhyMin_In_Real:= 0 ,
  553. AnalogPhyMax_In_Real:= 200 ,
  554. AnalogRdOffset_In_Real:= MS1.AnalogRdOffset_Real ,
  555. AlmUpLmtSV_In_Real:= MS1.AlmUpLmtSV_Real ,
  556. AlmDnLmtSV_In_Real:= MS1.AlmDnLmtSV_Real ,
  557. ActValueOutRangeAlm_Out_b => MS1.ValueOtRangeAlm_b ,
  558. ActValueStatusOK_Out_b => MS1.ValueStatusOK_b ,
  559. ActRdValue_Out_Real=> AI[2].AI0 (*MS1.ActValPV_Real*)
  560. );
  561. MS1.ActValPV_Real := AI[2].AI0 ;
  562. //MS2
  563. MS2ValueRead
  564. ( AlmEn_In_b:=MS2.AlmEn_b ,
  565. OverRangeAlm_In_b:= DI[0].DI10 ,
  566. UnderRangeAlm_In_b:= DI[0].DI11 ,
  567. AlmRst_In_b:= SysData.PLCReset_b ,
  568. AnalogRdValue_In_Int:= EC006_01_Ch2_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  569. AnalogResMin_In_Int:= 1500 ,
  570. AnalogResMax_In_Int:= 7500 ,
  571. AnalogPhyMin_In_Real:= 0 ,
  572. AnalogPhyMax_In_Real:= 200 ,
  573. AnalogRdOffset_In_Real:= MS2.AnalogRdOffset_Real ,
  574. AlmUpLmtSV_In_Real:= MS2.AlmUpLmtSV_Real ,
  575. AlmDnLmtSV_In_Real:= MS2.AlmDnLmtSV_Real ,
  576. ActValueOutRangeAlm_Out_b => MS2.ValueOtRangeAlm_b ,
  577. ActValueStatusOK_Out_b => MS2.ValueStatusOK_b ,
  578. ActRdValue_Out_Real=>AI[2].AI1 (*MS2.ActValPV_Real*)
  579. );
  580. MS2.ActValPV_Real := AI[2].AI1 ;
  581. //MS3
  582. MS3ValueRead
  583. ( AlmEn_In_b:=MS3.AlmEn_b ,
  584. OverRangeAlm_In_b:= DI[0].DI10 ,
  585. UnderRangeAlm_In_b:= DI[0].DI11 ,
  586. AlmRst_In_b:= SysData.PLCReset_b ,
  587. AnalogRdValue_In_Int:= EC006_01_Ch3_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  588. AnalogResMin_In_Int:= 1500 ,
  589. AnalogResMax_In_Int:= 7500 ,
  590. AnalogPhyMin_In_Real:= 0 ,
  591. AnalogPhyMax_In_Real:= 200 ,
  592. AnalogRdOffset_In_Real:= MS3.AnalogRdOffset_Real ,
  593. AlmUpLmtSV_In_Real:= MS3.AlmUpLmtSV_Real ,
  594. AlmDnLmtSV_In_Real:= MS3.AlmDnLmtSV_Real ,
  595. ActValueOutRangeAlm_Out_b => MS3.ValueOtRangeAlm_b ,
  596. ActValueStatusOK_Out_b => MS3.ValueStatusOK_b ,
  597. ActRdValue_Out_Real=> AI[2].AI2 (*MS3.ActValPV_Real*)
  598. );
  599. MS3.ActValPV_Real := AI[2].AI2 ;
  600. //MS4
  601. MS4ValueRead
  602. ( AlmEn_In_b:=MS4.AlmEn_b ,
  603. OverRangeAlm_In_b:= DI[0].DI10 ,
  604. UnderRangeAlm_In_b:= DI[0].DI11 ,
  605. AlmRst_In_b:= SysData.PLCReset_b ,
  606. AnalogRdValue_In_Int:= EC006_01_Ch4_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  607. AnalogResMin_In_Int:= 1500 ,
  608. AnalogResMax_In_Int:= 7500 ,
  609. AnalogPhyMin_In_Real:= 0 ,
  610. AnalogPhyMax_In_Real:= 200 ,
  611. AnalogRdOffset_In_Real:= MS4.AnalogRdOffset_Real ,
  612. AlmUpLmtSV_In_Real:= MS4.AlmUpLmtSV_Real ,
  613. AlmDnLmtSV_In_Real:= MS4.AlmDnLmtSV_Real ,
  614. ActValueOutRangeAlm_Out_b => MS4.ValueOtRangeAlm_b ,
  615. ActValueStatusOK_Out_b => MS4.ValueStatusOK_b ,
  616. ActRdValue_Out_Real=> AI[2].AI3 (*MS4.ActValPV_Real*)
  617. );
  618. MS4.ActValPV_Real := AI[2].AI3 ;
  619. //MS5
  620. MS5ValueRead
  621. ( AlmEn_In_b:=MS5.AlmEn_b ,
  622. OverRangeAlm_In_b:= DI[0].DI10 ,
  623. UnderRangeAlm_In_b:= DI[0].DI11 ,
  624. AlmRst_In_b:= SysData.PLCReset_b ,
  625. AnalogRdValue_In_Int:= EC006_01_Ch5_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  626. AnalogResMin_In_Int:= 1500 ,
  627. AnalogResMax_In_Int:= 7500 ,
  628. AnalogPhyMin_In_Real:= 0 ,
  629. AnalogPhyMax_In_Real:= 200 ,
  630. AnalogRdOffset_In_Real:= MS5.AnalogRdOffset_Real ,
  631. AlmUpLmtSV_In_Real:= MS5.AlmUpLmtSV_Real ,
  632. AlmDnLmtSV_In_Real:= MS5.AlmDnLmtSV_Real ,
  633. ActValueOutRangeAlm_Out_b => MS5.ValueOtRangeAlm_b ,
  634. ActValueStatusOK_Out_b => MS5.ValueStatusOK_b ,
  635. ActRdValue_Out_Real=> AI[2].AI4 (*MS5.ActValPV_Real*)
  636. );
  637. MS5.ActValPV_Real := AI[2].AI4 ;
  638. //MS6
  639. MS6ValueRead
  640. ( AlmEn_In_b:=MS6.AlmEn_b ,
  641. OverRangeAlm_In_b:= DI[0].DI10 ,
  642. UnderRangeAlm_In_b:= DI[0].DI11 ,
  643. AlmRst_In_b:= SysData.PLCReset_b ,
  644. AnalogRdValue_In_Int:= EC006_01_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  645. AnalogResMin_In_Int:= 1500 ,
  646. AnalogResMax_In_Int:= 7500 ,
  647. AnalogPhyMin_In_Real:= 0 ,
  648. AnalogPhyMax_In_Real:= 200 ,
  649. AnalogRdOffset_In_Real:= MS6.AnalogRdOffset_Real ,
  650. AlmUpLmtSV_In_Real:=MS6.AlmUpLmtSV_Real ,
  651. AlmDnLmtSV_In_Real:= MS6.AlmDnLmtSV_Real ,
  652. ActValueOutRangeAlm_Out_b => MS6.ValueOtRangeAlm_b ,
  653. ActValueStatusOK_Out_b => MS6.ValueStatusOK_b ,
  654. ActRdValue_Out_Real=> AI[2].AI5 (*MS6.ActValPV_Real*)
  655. );
  656. MS6.ActValPV_Real := AI[2].AI5 ;
  657. //MS7
  658. MS7ValueRead
  659. ( AlmEn_In_b:=MS7.AlmEn_b ,
  660. OverRangeAlm_In_b:= DI[0].DI10 ,
  661. UnderRangeAlm_In_b:= DI[0].DI11 ,
  662. AlmRst_In_b:= SysData.PLCReset_b ,
  663. AnalogRdValue_In_Int:= EC006_01_Ch7_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  664. AnalogResMin_In_Int:= 1500 ,
  665. AnalogResMax_In_Int:= 7500 ,
  666. AnalogPhyMin_In_Real:= 0 ,
  667. AnalogPhyMax_In_Real:= 500 ,
  668. AnalogRdOffset_In_Real:= MS7.AnalogRdOffset_Real ,
  669. AlmUpLmtSV_In_Real:= MS7.AlmUpLmtSV_Real ,
  670. AlmDnLmtSV_In_Real:= MS7.AlmDnLmtSV_Real ,
  671. ActValueOutRangeAlm_Out_b => MS7.ValueOtRangeAlm_b ,
  672. ActValueStatusOK_Out_b => MS7.ValueStatusOK_b ,
  673. ActRdValue_Out_Real=> AI[2].AI6 (*MS7.ActValPV_Real*)
  674. );
  675. MS7.ActValPV_Real := AI[2].AI6 ;
  676. //MS8
  677. MS8ValueRead
  678. ( AlmEn_In_b:=MS8.AlmEn_b ,
  679. OverRangeAlm_In_b:= DI[0].DI10 ,
  680. UnderRangeAlm_In_b:= DI[0].DI11 ,
  681. AlmRst_In_b:= SysData.PLCReset_b ,
  682. AnalogRdValue_In_Int:= EC006_01_Ch8_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  683. AnalogResMin_In_Int:= 1500 ,
  684. AnalogResMax_In_Int:= 7500 ,
  685. AnalogPhyMin_In_Real:= 0 ,
  686. AnalogPhyMax_In_Real:= 2 ,
  687. AnalogRdOffset_In_Real:= MS8.AnalogRdOffset_Real ,
  688. AlmUpLmtSV_In_Real:= MS8.AlmUpLmtSV_Real ,
  689. AlmDnLmtSV_In_Real:= MS8.AlmDnLmtSV_Real ,
  690. ActValueOutRangeAlm_Out_b => MS8.ValueOtRangeAlm_b ,
  691. ActValueStatusOK_Out_b => MS8.ValueStatusOK_b ,
  692. ActRdValue_Out_Real=> AI[2].AI7 (*MS8.ActValPV_Real*)
  693. );
  694. MS8.ActValPV_Real := AI[2].AI7 ;
  695. //PS11
  696. PS11ValueRead
  697. ( AlmEn_In_b:=PS11.AlmEn_b ,
  698. OverRangeAlm_In_b:= DI[2].DI21 ,
  699. UnderRangeAlm_In_b:= DI[2].DI20 ,
  700. AlmRst_In_b:= SysData.PLCReset_b ,
  701. AnalogRdValue_In_Int:= EC006_03_Ch3_Analog_Input_Value ,
  702. AnalogResMin_In_Int:= 1500 ,
  703. AnalogResMax_In_Int:= 7500 ,
  704. AnalogPhyMin_In_Real:= 0 ,
  705. AnalogPhyMax_In_Real:= 1 ,
  706. AnalogRdOffset_In_Real:= PS11.AnalogRdOffset_Real ,
  707. AlmUpLmtSV_In_Real:= PS11.AlmUpLmtSV_Real ,
  708. AlmDnLmtSV_In_Real:= PS11.AlmDnLmtSV_Real ,
  709. ActValueOutRangeAlm_Out_b => PS11.ValueOtRangeAlm_b ,
  710. ActValueStatusOK_Out_b => PS11.ValueStatusOK_b ,
  711. ActRdValue_Out_Real=> AI[2].AI10 (*PS11.ActValPV_Real*)
  712. );
  713. PS11.ActValPV_Real := AI[2].AI10 ;
  714. //FL901 RHC
  715. FL901ValueRead
  716. ( AlmEn_In_b:=FL901.AlmEn_b ,
  717. OverRangeAlm_In_b:= DI[0].DI10 ,
  718. UnderRangeAlm_In_b:= DI[0].DI11 ,
  719. AlmRst_In_b:= SysData.PLCReset_b ,
  720. AnalogRdValue_In_Int:= EC041_01_Ch1_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  721. AnalogResMin_In_Int:= 0 ,
  722. AnalogResMax_In_Int:= 30000 ,
  723. AnalogPhyMin_In_Real:= 0 ,
  724. AnalogPhyMax_In_Real:= 40 ,
  725. AnalogRdOffset_In_Real:= FL901.AnalogRdOffset_Real ,
  726. AlmUpLmtSV_In_Real:= FL901.AlmUpLmtSV_Real ,
  727. AlmDnLmtSV_In_Real:= FL901.AlmDnLmtSV_Real ,
  728. ActValueOutRangeAlm_Out_b => FL901.ValueOtRangeAlm_b ,
  729. ActValueStatusOK_Out_b => FL901.ValueStatusOK_b ,
  730. ActRdValue_Out_Real=> AI[3].AI0 (*FL901.ActValPV_Real*)
  731. );
  732. FL901.ActValPV_Real := AI[3].AI0 ;
  733. //FL902 furnace
  734. FL902ValueRead
  735. ( AlmEn_In_b:=FL902.AlmEn_b ,
  736. OverRangeAlm_In_b:= DI[0].DI10 ,
  737. UnderRangeAlm_In_b:= DI[0].DI11 ,
  738. AlmRst_In_b:= SysData.PLCReset_b ,
  739. AnalogRdValue_In_Int:= EC041_01_Ch2_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  740. AnalogResMin_In_Int:= 0 ,
  741. AnalogResMax_In_Int:= 30000 ,
  742. AnalogPhyMin_In_Real:= 0 ,
  743. AnalogPhyMax_In_Real:= 16 ,(**)
  744. AnalogRdOffset_In_Real:= FL902.AnalogRdOffset_Real ,
  745. AlmUpLmtSV_In_Real:= FL902.AlmUpLmtSV_Real ,
  746. AlmDnLmtSV_In_Real:= FL902.AlmDnLmtSV_Real ,
  747. ActValueOutRangeAlm_Out_b => FL902.ValueOtRangeAlm_b ,
  748. ActValueStatusOK_Out_b => FL902.ValueStatusOK_b ,
  749. ActRdValue_Out_Real=> AI[3].AI1 (*FL902.ActValPV_Real*)
  750. );
  751. FL902.ActValPV_Real := AI[3].AI1 ;
  752. //FL903 shutter
  753. FL903ValueRead
  754. ( AlmEn_In_b:=FL903.AlmEn_b ,
  755. OverRangeAlm_In_b:= DI[0].DI10 ,
  756. UnderRangeAlm_In_b:= DI[0].DI11 ,
  757. AlmRst_In_b:= SysData.PLCReset_b ,
  758. AnalogRdValue_In_Int:= EC041_01_Ch3_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  759. AnalogResMin_In_Int:= 0 ,
  760. AnalogResMax_In_Int:= 30000 ,
  761. AnalogPhyMin_In_Real:= 0 ,
  762. AnalogPhyMax_In_Real:= 4 ,
  763. AnalogRdOffset_In_Real:= FL903.AnalogRdOffset_Real ,
  764. AlmUpLmtSV_In_Real:= FL903.AlmUpLmtSV_Real ,
  765. AlmDnLmtSV_In_Real:= FL903.AlmDnLmtSV_Real ,
  766. ActValueOutRangeAlm_Out_b => FL903.ValueOtRangeAlm_b ,
  767. ActValueStatusOK_Out_b => FL903.ValueStatusOK_b ,
  768. ActRdValue_Out_Real=> AI[3].AI2 (*FL903.ActValPV_Real*)
  769. );
  770. FL903.ActValPV_Real := AI[3].AI2 ;
  771. //FL904
  772. FL904ValueRead
  773. ( AlmEn_In_b:=FL904.AlmEn_b ,
  774. OverRangeAlm_In_b:= DI[0].DI10 ,
  775. UnderRangeAlm_In_b:= DI[0].DI11 ,
  776. AlmRst_In_b:= SysData.PLCReset_b ,
  777. AnalogRdValue_In_Int:= EC041_01_Ch4_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  778. AnalogResMin_In_Int:= 0 ,
  779. AnalogResMax_In_Int:= 30000 ,
  780. AnalogPhyMin_In_Real:= 0 ,
  781. AnalogPhyMax_In_Real:= 4 ,
  782. AnalogRdOffset_In_Real:= FL904.AnalogRdOffset_Real ,
  783. AlmUpLmtSV_In_Real:= FL904.AlmUpLmtSV_Real ,
  784. AlmDnLmtSV_In_Real:= FL904.AlmDnLmtSV_Real ,
  785. ActValueOutRangeAlm_Out_b => FL904.ValueOtRangeAlm_b ,
  786. ActValueStatusOK_Out_b => FL904.ValueStatusOK_b ,
  787. ActRdValue_Out_Real=> AI[3].AI3 (*FL904.ActValPV_Real*)
  788. );
  789. FL904.ActValPV_Real := AI[3].AI3 ;
  790. //FL905
  791. FL905ValueRead
  792. ( AlmEn_In_b:=FL905.AlmEn_b ,
  793. OverRangeAlm_In_b:= DI[0].DI10 ,
  794. UnderRangeAlm_In_b:= DI[0].DI11 ,
  795. AlmRst_In_b:= SysData.PLCReset_b ,
  796. AnalogRdValue_In_Int:= EC041_01_Ch5_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  797. AnalogResMin_In_Int:= 0 ,
  798. AnalogResMax_In_Int:= 30000 ,
  799. AnalogPhyMin_In_Real:= 0 ,
  800. AnalogPhyMax_In_Real:= 4 ,
  801. AnalogRdOffset_In_Real:= FL905.AnalogRdOffset_Real ,
  802. AlmUpLmtSV_In_Real:= FL905.AlmUpLmtSV_Real ,
  803. AlmDnLmtSV_In_Real:= FL905.AlmDnLmtSV_Real ,
  804. ActValueOutRangeAlm_Out_b => FL905.ValueOtRangeAlm_b ,
  805. ActValueStatusOK_Out_b => FL905.ValueStatusOK_b ,
  806. ActRdValue_Out_Real=> AI[3].AI4 (*FL905.ActValPV_Real*)
  807. );
  808. FL905.ActValPV_Real := AI[3].AI4 ;
  809. //FL906
  810. FL906ValueRead
  811. ( AlmEn_In_b:=FL906.AlmEn_b ,
  812. OverRangeAlm_In_b:= DI[0].DI10 ,
  813. UnderRangeAlm_In_b:= DI[0].DI11 ,
  814. AlmRst_In_b:= SysData.PLCReset_b ,
  815. AnalogRdValue_In_Int:= EC041_01_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  816. AnalogResMin_In_Int:= 0 ,
  817. AnalogResMax_In_Int:= 30000 ,
  818. AnalogPhyMin_In_Real:= 0 ,
  819. AnalogPhyMax_In_Real:= 16 ,
  820. AnalogRdOffset_In_Real:= FL906.AnalogRdOffset_Real ,
  821. AlmUpLmtSV_In_Real:= FL906.AlmUpLmtSV_Real ,
  822. AlmDnLmtSV_In_Real:= FL906.AlmDnLmtSV_Real ,
  823. ActValueOutRangeAlm_Out_b => FL906.ValueOtRangeAlm_b ,
  824. ActValueStatusOK_Out_b => FL906.ValueStatusOK_b ,
  825. ActRdValue_Out_Real=> AI[3].AI5 (*FL906.ActValPV_Real*)
  826. );
  827. FL906.ActValPV_Real := AI[3].AI5 ;
  828. //main flow calculate
  829. WaterMainFlow := AI[3].AI0 + AI[3].AI1 + AI[3].AI2 + AI[3].AI3 + AI[3].AI4 + AI[3].AI5 ;
  830. WaterFlowAlarmTON
  831. ( In:= WaterMainFlow < 16 ,
  832. PT:= T#10s,
  833. (*Q=> ,*)
  834. ET=>WaterFlowAlarmTimeET
  835. );
  836. MainWaterFlowAlarm_b := NOT WaterFlowAlarmTON.Q ;
  837. SystemAlarm.Spare3_b := WaterFlowAlarmTON.Q ;
  838. //FL907
  839. FL907ValueRead
  840. ( AlmEn_In_b:=FL907.AlmEn_b ,
  841. OverRangeAlm_In_b:= DI[0].DI10 ,
  842. UnderRangeAlm_In_b:= DI[0].DI11 ,
  843. AlmRst_In_b:= SysData.PLCReset_b ,
  844. AnalogRdValue_In_Int:= EC001_01_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  845. AnalogResMin_In_Int:= 0 ,
  846. AnalogResMax_In_Int:= 15000 ,
  847. AnalogPhyMin_In_Real:= 0 ,
  848. AnalogPhyMax_In_Real:= 1000 ,
  849. AnalogRdOffset_In_Real:= FL907.AnalogRdOffset_Real ,
  850. AlmUpLmtSV_In_Real:= FL907.AlmUpLmtSV_Real ,
  851. AlmDnLmtSV_In_Real:= FL907.AlmDnLmtSV_Real ,
  852. ActValueOutRangeAlm_Out_b => FL907.ValueOtRangeAlm_b ,
  853. ActValueStatusOK_Out_b => FL907.ValueStatusOK_b ,
  854. ActRdValue_Out_Real=> FL907.ActValPV_Real
  855. );
  856. //PS13
  857. PS13ValueRead
  858. ( AlmEn_In_b:=PS13.AlmEn_b ,
  859. OverRangeAlm_In_b:= DI[0].DI10 ,
  860. UnderRangeAlm_In_b:= DI[0].DI11 ,
  861. AlmRst_In_b:= SysData.PLCReset_b ,
  862. AnalogRdValue_In_Int:= EC041_01_Ch8_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  863. AnalogResMin_In_Int:= 0 ,
  864. AnalogResMax_In_Int:= 15000 ,
  865. AnalogPhyMin_In_Real:= 0 ,
  866. AnalogPhyMax_In_Real:= 98.1 ,
  867. AnalogRdOffset_In_Real:= PS13.AnalogRdOffset_Real ,
  868. AlmUpLmtSV_In_Real:= PS13.AlmUpLmtSV_Real ,
  869. AlmDnLmtSV_In_Real:= PS13.AlmDnLmtSV_Real ,
  870. ActValueOutRangeAlm_Out_b => PS13.ValueOtRangeAlm_b ,
  871. ActValueStatusOK_Out_b => PS13.ValueStatusOK_b ,
  872. ActRdValue_Out_Real=> AI[3].AI7 (*PS13.ActValPV_Real*)
  873. );
  874. PS13.ActValPV_Real := AI[3].AI7 ;
  875. //FL908
  876. FL908ValueRead
  877. ( AlmEn_In_b:=FL908.AlmEn_b ,
  878. OverRangeAlm_In_b:= DI[0].DI10 ,
  879. UnderRangeAlm_In_b:= DI[0].DI11 ,
  880. AlmRst_In_b:= SysData.PLCReset_b ,
  881. AnalogRdValue_In_Int:= EC001_01_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  882. AnalogResMin_In_Int:= 0 ,
  883. AnalogResMax_In_Int:= 15000 ,
  884. AnalogPhyMin_In_Real:= 0 ,
  885. AnalogPhyMax_In_Real:= 1000 ,
  886. AnalogRdOffset_In_Real:= FL908.AnalogRdOffset_Real ,
  887. AlmUpLmtSV_In_Real:= FL908.AlmUpLmtSV_Real ,
  888. AlmDnLmtSV_In_Real:= FL908.AlmDnLmtSV_Real ,
  889. ActValueOutRangeAlm_Out_b => FL908.ValueOtRangeAlm_b ,
  890. ActValueStatusOK_Out_b => FL908.ValueStatusOK_b ,
  891. ActRdValue_Out_Real=> FL908.ActValPV_Real
  892. );
  893. //VG12
  894. VG12ValueRead
  895. ( AlmEn_In_b:=VG12.AlmEn_b ,
  896. OverRangeAlm_In_b:= DI[3].DI21 ,
  897. UnderRangeAlm_In_b:= DI[3].DI20 ,
  898. AlmRst_In_b:= SysData.PLCReset_b ,
  899. AnalogRdValue_In_Int:= EC041_03_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  900. AnalogResMin_In_Int:= 0 ,
  901. AnalogResMax_In_Int:= 15000 ,
  902. AnalogPhyMin_In_Real:= 0 ,
  903. AnalogPhyMax_In_Real:= 10 ,
  904. AnalogRdOffset_In_Real:= VG12.AnalogRdOffset_Real ,
  905. AlmUpLmtSV_In_Real:= VG12.AlmUpLmtSV_Real ,
  906. AlmDnLmtSV_In_Real:= VG12.AlmDnLmtSV_Real ,
  907. ActValueOutRangeAlm_Out_b => VG12.ValueOtRangeAlm_b ,
  908. ActValueStatusOK_Out_b => VG12.ValueStatusOK_b ,
  909. ActRdValue_Out_Real=> AI[3].AI8 (*VG12.ActValPV_Real*)
  910. );
  911. VG12.ActValPV_Real := AI[3].AI8 ;
  912. //DG1
  913. DG1ValueRead
  914. ( AlmEn_In_b:=DG1.AlmEn_b ,
  915. OverRangeAlm_In_b:= DI[3].DI21 ,
  916. UnderRangeAlm_In_b:= DI[3].DI20 ,
  917. AlmRst_In_b:= SysData.PLCReset_b ,
  918. AnalogRdValue_In_Int:= EC041_03_Ch2_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  919. AnalogResMin_In_Int:= 0 ,
  920. AnalogResMax_In_Int:= 15000 ,
  921. AnalogPhyMin_In_Real:= -500 ,
  922. AnalogPhyMax_In_Real:= 500 ,
  923. AnalogRdOffset_In_Real:= DG1.AnalogRdOffset_Real ,
  924. AlmUpLmtSV_In_Real:= DG1.AlmUpLmtSV_Real ,
  925. AlmDnLmtSV_In_Real:= DG1.AlmDnLmtSV_Real ,
  926. ActValueOutRangeAlm_Out_b => DG1.ValueOtRangeAlm_b ,
  927. ActValueStatusOK_Out_b => DG1.ValueStatusOK_b ,
  928. ActRdValue_Out_Real=> AI[3].AI9 (*DG1.ActValPV_Real*)
  929. );
  930. DG1.ActValPV_Real := AI[3].AI9 ;
  931. //PG12
  932. PG12ValueRead
  933. ( AlmEn_In_b:=PG12.AlmEn_b ,
  934. OverRangeAlm_In_b:= DI[3].DI21 ,
  935. UnderRangeAlm_In_b:= DI[3].DI20 ,
  936. AlmRst_In_b:= SysData.PLCReset_b ,
  937. AnalogRdValue_In_Int:= EC041_03_Ch3_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  938. AnalogResMin_In_Int:= 0 ,
  939. AnalogResMax_In_Int:= 15000 ,
  940. AnalogPhyMin_In_Real:= 0 ,
  941. AnalogPhyMax_In_Real:= 100 ,
  942. AnalogRdOffset_In_Real:= PG12.AnalogRdOffset_Real ,
  943. AlmUpLmtSV_In_Real:= PG12.AlmUpLmtSV_Real ,
  944. AlmDnLmtSV_In_Real:= PG12.AlmDnLmtSV_Real ,
  945. ActValueOutRangeAlm_Out_b => PG12.ValueOtRangeAlm_b ,
  946. ActValueStatusOK_Out_b => PG12.ValueStatusOK_b ,
  947. ActRdValue_Out_Real=> AI[3].AI10 (*DG1.ActValPV_Real*)
  948. );
  949. PG12.ActValPV_Real := AI[3].AI10 ;
  950. //PG13
  951. PG13ValueRead
  952. ( AlmEn_In_b:=PG13.AlmEn_b ,
  953. OverRangeAlm_In_b:= DI[3].DI21 ,
  954. UnderRangeAlm_In_b:= DI[3].DI20 ,
  955. AlmRst_In_b:= SysData.PLCReset_b ,
  956. AnalogRdValue_In_Int:= EC041_03_Ch4_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  957. AnalogResMin_In_Int:= 0 ,
  958. AnalogResMax_In_Int:= 15000 ,
  959. AnalogPhyMin_In_Real:= 0 ,
  960. AnalogPhyMax_In_Real:= 100 ,
  961. AnalogRdOffset_In_Real:= PG13.AnalogRdOffset_Real ,
  962. AlmUpLmtSV_In_Real:= PG13.AlmUpLmtSV_Real ,
  963. AlmDnLmtSV_In_Real:= PG13.AlmDnLmtSV_Real ,
  964. ActValueOutRangeAlm_Out_b => PG13.ValueOtRangeAlm_b ,
  965. ActValueStatusOK_Out_b => PG13.ValueStatusOK_b ,
  966. ActRdValue_Out_Real=> AI[3].AI11 (*DG1.ActValPV_Real*)
  967. );
  968. PG13.ActValPV_Real := AI[3].AI11 ;
  969. //PS14
  970. PS14ValueRead
  971. ( AlmEn_In_b:=PS14.AlmEn_b ,
  972. OverRangeAlm_In_b:= DI[3].DI21 ,
  973. UnderRangeAlm_In_b:= DI[3].DI20 ,
  974. AlmRst_In_b:= SysData.PLCReset_b ,
  975. AnalogRdValue_In_Int:= EC041_03_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  976. AnalogResMin_In_Int:= 1500 ,
  977. AnalogResMax_In_Int:= 7500 ,
  978. AnalogPhyMin_In_Real:= -99.9 ,
  979. AnalogPhyMax_In_Real:= 99.9 ,
  980. AnalogRdOffset_In_Real:= PS14.AnalogRdOffset_Real ,
  981. AlmUpLmtSV_In_Real:= PS14.AlmUpLmtSV_Real ,
  982. AlmDnLmtSV_In_Real:= PS14.AlmDnLmtSV_Real ,
  983. ActValueOutRangeAlm_Out_b => PS14.ValueOtRangeAlm_b ,
  984. ActValueStatusOK_Out_b => PS14.ValueStatusOK_b ,
  985. ActRdValue_Out_Real=> AI[3].AI13 (*PS14.ActValPV_Real*)
  986. );
  987. PS14.ActValPV_Real := AI[3].AI13 ;
  988. //RFGReflPwr
  989. RFGReflPwrValueRead
  990. ( AlmEn_In_b:=RFGReflPwr.AlmEn_b ,
  991. OverRangeAlm_In_b:= DI[0].DI10 ,
  992. UnderRangeAlm_In_b:= DI[0].DI11 ,
  993. AlmRst_In_b:= SysData.PLCReset_b ,
  994. AnalogRdValue_In_Int:= EC050_01_Ch1_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  995. AnalogResMin_In_Int:= 0 ,
  996. AnalogResMax_In_Int:= 15000 ,
  997. AnalogPhyMin_In_Real:= 0 ,
  998. AnalogPhyMax_In_Real:= 200 ,
  999. AnalogRdOffset_In_Real:= RFGReflPwr.AnalogRdOffset_Real ,
  1000. AlmUpLmtSV_In_Real:= RFGReflPwr.AlmUpLmtSV_Real ,
  1001. AlmDnLmtSV_In_Real:= RFGReflPwr.AlmDnLmtSV_Real ,
  1002. ActValueOutRangeAlm_Out_b => RFGReflPwr.ValueOtRangeAlm_b ,
  1003. ActValueStatusOK_Out_b => RFGReflPwr.ValueStatusOK_b ,
  1004. ActRdValue_Out_Real=> AI[5].AI0 (*RFGReflPwr.ActValPV_Real*)
  1005. );
  1006. RFGReflPwr.ActValPV_Real := AI[5].AI0 ;
  1007. //RFGFwdPwr
  1008. RFGFwdPwrValueRead
  1009. ( AlmEn_In_b:=RFGFwdPwr.AlmEn_b ,
  1010. OverRangeAlm_In_b:= DI[0].DI10 ,
  1011. UnderRangeAlm_In_b:= DI[0].DI11 ,
  1012. AlmRst_In_b:= SysData.PLCReset_b ,
  1013. AnalogRdValue_In_Int:= EC050_01_Ch2_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  1014. AnalogResMin_In_Int:= 0 ,
  1015. AnalogResMax_In_Int:= 15000 ,
  1016. AnalogPhyMin_In_Real:= 0 ,
  1017. AnalogPhyMax_In_Real:= 1000 ,
  1018. AnalogRdOffset_In_Real:= RFGFwdPwr.AnalogRdOffset_Real ,
  1019. AlmUpLmtSV_In_Real:= RFGFwdPwr.AlmUpLmtSV_Real ,
  1020. AlmDnLmtSV_In_Real:= RFGFwdPwr.AlmDnLmtSV_Real ,
  1021. ActValueOutRangeAlm_Out_b => RFGFwdPwr.ValueOtRangeAlm_b ,
  1022. ActValueStatusOK_Out_b => RFGFwdPwr.ValueStatusOK_b ,
  1023. ActRdValue_Out_Real=> AI[5].AI1 (*RFGFwdPwr.ActValPV_Real*)
  1024. );
  1025. RFGFwdPwr.ActValPV_Real := AI[5].AI1 ;
  1026. //RFMVpp
  1027. RFMVppValueRead
  1028. ( AlmEn_In_b:=RFMVpp.AlmEn_b ,
  1029. OverRangeAlm_In_b:= DI[0].DI10 ,
  1030. UnderRangeAlm_In_b:= DI[0].DI11 ,
  1031. AlmRst_In_b:= SysData.PLCReset_b ,
  1032. AnalogRdValue_In_Int:= EC050_01_Ch3_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  1033. AnalogResMin_In_Int:= 0 ,
  1034. AnalogResMax_In_Int:= 15000 ,
  1035. AnalogPhyMin_In_Real:= 0 ,
  1036. AnalogPhyMax_In_Real:= 2000 ,
  1037. AnalogRdOffset_In_Real:= RFMVpp.AnalogRdOffset_Real ,
  1038. AlmUpLmtSV_In_Real:= RFMVpp.AlmUpLmtSV_Real ,
  1039. AlmDnLmtSV_In_Real:= RFMVpp.AlmDnLmtSV_Real ,
  1040. ActValueOutRangeAlm_Out_b => RFMVpp.ValueOtRangeAlm_b ,
  1041. ActValueStatusOK_Out_b => RFMVpp.ValueStatusOK_b ,
  1042. ActRdValue_Out_Real=> AI[5].AI2 (*RFMVpp.ActValPV_Real*)
  1043. );
  1044. RFMVpp.ActValPV_Real := AI[5].AI2 ;
  1045. //RRFMVdc
  1046. RFMVdcValueRead
  1047. ( AlmEn_In_b:=RFMVdc.AlmEn_b ,
  1048. OverRangeAlm_In_b:= DI[0].DI10 ,
  1049. UnderRangeAlm_In_b:= DI[0].DI11 ,
  1050. AlmRst_In_b:= SysData.PLCReset_b ,
  1051. AnalogRdValue_In_Int:= EC050_01_Ch4_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  1052. AnalogResMin_In_Int:= 0 ,
  1053. AnalogResMax_In_Int:= 15000 ,
  1054. AnalogPhyMin_In_Real:= 0 ,
  1055. AnalogPhyMax_In_Real:= 1000 ,
  1056. AnalogRdOffset_In_Real:= RFMVdc.AnalogRdOffset_Real ,
  1057. AlmUpLmtSV_In_Real:= RFMVdc.AlmUpLmtSV_Real ,
  1058. AlmDnLmtSV_In_Real:= RFMVdc.AlmDnLmtSV_Real ,
  1059. ActValueOutRangeAlm_Out_b => RFMVdc.ValueOtRangeAlm_b ,
  1060. ActValueStatusOK_Out_b => RFMVdc.ValueStatusOK_b ,
  1061. ActRdValue_Out_Real=> AI[5].AI3 (*RFMVdc.ActValPV_Real*)
  1062. );
  1063. RFMVdc.ActValPV_Real := AI[5].AI3 ;
  1064. //RFMLdPos
  1065. RFMLdPosValueRead
  1066. ( AlmEn_In_b:=RFMLdPos.AlmEn_b ,
  1067. OverRangeAlm_In_b:= DI[0].DI10 ,
  1068. UnderRangeAlm_In_b:= DI[0].DI11 ,
  1069. AlmRst_In_b:= SysData.PLCReset_b ,
  1070. AnalogRdValue_In_Int:= EC050_01_Ch5_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  1071. AnalogResMin_In_Int:= 0 ,
  1072. AnalogResMax_In_Int:= 15000 ,
  1073. AnalogPhyMin_In_Real:= 0 ,
  1074. AnalogPhyMax_In_Real:= 100 ,
  1075. AnalogRdOffset_In_Real:= RFMLdPos.AnalogRdOffset_Real ,
  1076. AlmUpLmtSV_In_Real:= RFMLdPos.AlmUpLmtSV_Real ,
  1077. AlmDnLmtSV_In_Real:= RFMLdPos.AlmDnLmtSV_Real ,
  1078. ActValueOutRangeAlm_Out_b => RFMLdPos.ValueOtRangeAlm_b ,
  1079. ActValueStatusOK_Out_b => RFMLdPos.ValueStatusOK_b ,
  1080. ActRdValue_Out_Real=> AI[5].AI4 (*RFMLdPos.ActValPV_Real*)
  1081. );
  1082. RFMLdPos.ActValPV_Real := AI[5].AI4 ;
  1083. //RFMPhPos
  1084. RFMPhPosValueRead
  1085. ( AlmEn_In_b:=RFMPhPos.AlmEn_b ,
  1086. OverRangeAlm_In_b:= DI[0].DI10 ,
  1087. UnderRangeAlm_In_b:= DI[0].DI11 ,
  1088. AlmRst_In_b:= SysData.PLCReset_b ,
  1089. AnalogRdValue_In_Int:= EC050_01_Ch6_Analog_Input_Value(*PG70.AnalogRdVal_Int*) ,
  1090. AnalogResMin_In_Int:= 0 ,
  1091. AnalogResMax_In_Int:= 15000 ,
  1092. AnalogPhyMin_In_Real:= 0 ,
  1093. AnalogPhyMax_In_Real:= 100 ,
  1094. AnalogRdOffset_In_Real:= RFMPhPos.AnalogRdOffset_Real ,
  1095. AlmUpLmtSV_In_Real:= RFMPhPos.AlmUpLmtSV_Real ,
  1096. AlmDnLmtSV_In_Real:= RFMPhPos.AlmDnLmtSV_Real ,
  1097. ActValueOutRangeAlm_Out_b => RFMPhPos.ValueOtRangeAlm_b ,
  1098. ActValueStatusOK_Out_b => RFMPhPos.ValueStatusOK_b ,
  1099. ActRdValue_Out_Real=> AI[5].AI5 (*RFMPhPos.ActValPV_Real*)
  1100. );
  1101. RFMPhPos.ActValPV_Real := AI[5].AI5 ;
  1102. *)
  1103. ]]></ST>
  1104. </Implementation>
  1105. <LineIds Name="VG">
  1106. <LineId Id="9" Count="0" />
  1107. <LineId Id="17" Count="1" />
  1108. <LineId Id="20" Count="0" />
  1109. <LineId Id="19" Count="0" />
  1110. <LineId Id="21" Count="0" />
  1111. <LineId Id="23" Count="0" />
  1112. <LineId Id="22" Count="0" />
  1113. <LineId Id="24" Count="0" />
  1114. <LineId Id="26" Count="0" />
  1115. <LineId Id="25" Count="0" />
  1116. <LineId Id="34" Count="0" />
  1117. <LineId Id="36" Count="1134" />
  1118. <LineId Id="35" Count="0" />
  1119. </LineIds>
  1120. </POU>
  1121. </TcPlcObject>