IO_EXCHANGE.TcPOU 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
  3. <POU Name="IO_EXCHANGE" Id="{b311695e-92b7-44c8-9f23-3f9504dfde55}" SpecialFunc="None">
  4. <Declaration><![CDATA[PROGRAM IO_EXCHANGE
  5. VAR
  6. END_VAR
  7. ]]></Declaration>
  8. <Implementation>
  9. <ST><![CDATA[PLC_TO_UI();
  10. UI_TO_PLC();
  11. //************************HW-IO******************************************
  12. //C02
  13. GV.NDI. AV101_OPEN := ECC. CHAMBER_IN. C02 [ 1 ]; // AV101OPEN
  14. GV.NDI. AV101_CLOSE := ECC. CHAMBER_IN. C02 [ 2 ]; // AV101CLOSE
  15. GV.NDI. AV102_OPEN := ECC. CHAMBER_IN. C02 [ 3 ]; // AV102OPEN
  16. // GV.NDI. AV102_CLOSE := ECC. CHAMBER_IN. C02 [ 4 ]; // AV102CLOSE
  17. // GV.NDI. AV103_OPEN :=
  18. // GV.NDI. AV103_CLOSE :=
  19. GV.NDI. AV104_OPEN := ECC. CHAMBER_IN. C02 [ 5 ]; // AV104OPEN
  20. // GV.NDI. AV104_CLOSE := ECC. CHAMBER_IN. C02 [ 6 ]; // AV104CLOSE
  21. GV.NDI. AV105_OPEN := ECC. CHAMBER_IN. C02 [ 7 ]; // AV105OPEN
  22. // GV.NDI. AV105_CLOSE := ECC. CHAMBER_IN. C02 [ 8 ]; // AV105CLOSE
  23. GV.NDI. AV106_OPEN := ECC. CHAMBER_IN. C02 [ 9 ]; // AV106OPEN
  24. GV.NDI. AV106_CLOSE := ECC. CHAMBER_IN. C02 [ 10 ]; // AV106CLOSE
  25. GV.NDI. CY1_OPEN := ECC. CHAMBER_IN. C02 [ 11 ]; // CY1 UP
  26. GV.NDI. CY1_CLOSE := ECC. CHAMBER_IN. C02 [ 12 ]; // CY1 DOWN
  27. GV.NDI. Lift_Pin_Middle1 := ECC. CHAMBER_IN. C02 [ 13 ]; // CY1 Middle
  28. GV.NDI. CY2_OPEN := ECC. CHAMBER_IN. C02 [ 14 ]; // CY2 UP
  29. GV.NDI. CY2_CLOSE := ECC. CHAMBER_IN. C02 [ 15 ]; // CY2 DOWN
  30. GV.NDI. Lift_Pin_Middle2 := ECC. CHAMBER_IN. C02 [ 16 ]; // CY2 Middle
  31. //C03
  32. // := ECC. CHAMBER_IN. C03 [ 1 ];
  33. // := ECC. CHAMBER_IN. C03 [ 2 ];
  34. GV.NDI.FL02B2 := ECC. CHAMBER_IN. C03 [ 3 ];
  35. // := ECC. CHAMBER_IN. C03 [ 4 ];
  36. GV.NDI.FL03B2 := ECC. CHAMBER_IN. C03 [ 5 ];
  37. // := ECC. CHAMBER_IN. C03 [ 6 ];
  38. GV.NDI.FL04B2 := ECC. CHAMBER_IN. C03 [ 7 ];
  39. // := ECC. CHAMBER_IN. C03 [ 8 ];
  40. // := ECC. CHAMBER_IN. C03 [ 9 ];
  41. GV.NDI.CDA_OK := ECC. CHAMBER_IN. C03 [ 10 ];
  42. // := ECC. CHAMBER_IN. C03 [ 11 ];
  43. // := ECC. CHAMBER_IN. C03 [ 12 ];
  44. // := ECC. CHAMBER_IN. C03 [ 13 ];
  45. // := ECC. CHAMBER_IN. C03 [ 14 ];
  46. GV.NDI. GV1_OPEN := ECC. CHAMBER_IN. C03 [ 15 ]; // GV1OPEN
  47. GV.NDI. GV1_CLOSE := ECC. CHAMBER_IN. C03 [ 16 ]; // GV1CLOSE
  48. //C04
  49. GV.AI. APC_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C04 [ 1 ])/10; // SSR1 钟摆阀(E01) TC01
  50. GV.AI. Lid_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C04 [ 2 ])/10; // SSR2 LID HEATER控温TC (E02-E05) TC02
  51. GV.AI. Chamber_Temp2 := INT_TO_REAL( ECC. CHAMBER_IN. C04 [ 3 ])/10; // SSR3 CHAMBER HEATER 控温TC (E06,E07) TC08
  52. GV.AI. Chamber_Temp1 := INT_TO_REAL( ECC. CHAMBER_IN. C04 [ 4 ])/10; // SSR4 CHAMBER HEATER 控温TC (E08,E09,E12,E13) TC09
  53. GV.AI. Chamber_Temp3 := INT_TO_REAL( ECC. CHAMBER_IN. C04 [ 5 ])/10; // SSR5 CHAMBER HEATER 控温TC (E10,E11) TC10
  54. //C05
  55. GV.AI. Stage_Temp1 := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 1 ])/10; //
  56. GV.AI. Stage_Temp1_Monitor := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 2 ])/10; //
  57. GV.AI. Stage_Temp2 := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 3 ])/10; //
  58. GV.AI. Stage_Temp2_Monitor := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 4 ])/10; //
  59. GV.AI. Stage_Temp3 := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 5 ])/10; //
  60. GV.AI. Stage_Temp3_Monitor := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 6 ])/10; //
  61. GV.AI. Stage_Temp4 := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 7 ])/10; //
  62. GV.AI. Stage_Temp4_Monitor := INT_TO_REAL( ECC. CHAMBER_IN. C05 [ 8 ])/10; //
  63. //C06
  64. // ECC. CHAMBER_IN. C06 [ 1 ]);
  65. // ECC. CHAMBER_IN. C06 [ 2 ]);
  66. // ECC. CHAMBER_IN. C06 [ 3 ]);
  67. // ECC. CHAMBER_IN. C06 [ 4 ]);
  68. //C07
  69. ECC. CHAMBER_OUT. C07 [ 1 ] := TRUE;//GV_IL.TMP_PW_EN;//GV.TURBO_PUMP_POWER_ON ;
  70. ECC. CHAMBER_OUT. C07 [ 2 ] := GV_IL.HTR_APC_EN;//GV.PENDULUM_VALVE_HEATER_POWER_ON ;
  71. ECC. CHAMBER_OUT. C07 [ 3 ] := GV_IL.HTR_LID_EN;//GV.LID_HEATER_POWER_ON ;
  72. ECC. CHAMBER_OUT. C07 [ 4 ] := GV_IL.HTR_CHAMBER_EN;//GV.CHAMBER_HEATER_POWER_ON ;
  73. ECC. CHAMBER_OUT. C07 [ 5 ] := GV_IL.HTR_GAS_BOX_EN;//GV.IGS_HEATER_POWER_ON ;
  74. ECC. CHAMBER_OUT. C07 [ 6 ] := GV_IL.HTR_GAS_BOX_EN;//GV.TAPE_HEATER_POWER_ON ;
  75. ECC. CHAMBER_OUT. C07 [ 7 ] := GV_IL.HTR_FORLINE_EN;//GV.FORELINE_HEATER_POWER_ON ;
  76. ECC. CHAMBER_OUT. C07 [ 8 ] := GV_IL.HTR_GATE_VALVE_EN;//GV.GATE_VALVE_HEATER_POWER_ON ;
  77. // ECC. CHAMBER_OUT. C07 [ 9 ] := ;
  78. // ECC. CHAMBER_OUT. C07 [ 10 ] := ;
  79. // ECC. CHAMBER_OUT. C07 [ 11 ] := ;
  80. // ECC. CHAMBER_OUT. C07 [ 12 ] := ;
  81. // ECC. CHAMBER_OUT. C07 [ 13 ] := ;
  82. // ECC. CHAMBER_OUT. C07 [ 14 ] := ;
  83. // ECC. CHAMBER_OUT. C07 [ 15 ] := ;
  84. // ECC. CHAMBER_OUT. C07 [ 16 ] := ;
  85. //C08
  86. ECC. CHAMBER_OUT. C08 [ 1 ] := GV.LID_HEATER_SSR_ON[1] ; //SSR02 LID HEATER1-2
  87. ECC. CHAMBER_OUT. C08 [ 2 ] := GV.LID_HEATER_SSR_ON[2] ; //SSR02 LID HEATER3-4
  88. ECC. CHAMBER_OUT. C08 [ 3 ] := GV.LID_HEATER_SSR_ON[3] ; //SSR02 LID HEATER5-6
  89. // ECC. CHAMBER_OUT. C08 [ 4 ] := GV.LID_HEATER_SSR_ON[4] ; //SSR02
  90. // ECC. CHAMBER_OUT. C08 [ 5 ] := ;
  91. // ECC. CHAMBER_OUT. C08 [ 6 ] := ;
  92. ECC. CHAMBER_OUT. C08 [ 7 ] := GV.CHAMBER_HEATER_SSR_ON[1] ; //SSR03 CHAMBER HEATER1-2
  93. ECC. CHAMBER_OUT. C08 [ 8 ] := GV.CHAMBER_HEATER_SSR_ON[2] ; //SSR03 CHAMBER HEATER3-4
  94. // ECC. CHAMBER_OUT. C08 [ 9 ] := GV.CHAMBER_HEATER_SSR_ON[3] ; //SSR04
  95. // ECC. CHAMBER_OUT. C08 [ 10 ] :=
  96. ECC. CHAMBER_OUT. C08 [ 11 ] := GV.CHAMBER_HEATER_SSR_ON[4]; //SSR05
  97. // ECC. CHAMBER_OUT. C08 [ 12 ] :=
  98. // ECC. CHAMBER_OUT. C08 [ 13 ] :=
  99. // ECC. CHAMBER_OUT. C08 [ 14 ] :=
  100. // ECC. CHAMBER_OUT. C08 [ 15 ] := ;
  101. // ECC. CHAMBER_OUT. C08 [ 16 ] := ;
  102. //C09
  103. ECC. CHAMBER_OUT. C09 [ 1 ] := GV.FORELINE_HEATER_SSR_ON[1]; //SSR7 AV105
  104. ECC. CHAMBER_OUT. C09 [ 2 ] := GV.FORELINE_HEATER_SSR_ON[2]; //SSR8 AV104
  105. ECC. CHAMBER_OUT. C09 [ 3 ] := GV.FORELINE_HEATER_SSR_ON[3]; //SSR9 AV102
  106. ECC. CHAMBER_OUT. C09 [ 4 ] := GV.FORELINE_HEATER_SSR_ON[4]; //SSR10 AV101
  107. // ECC. CHAMBER_OUT. C09 [ 5 ] := ;
  108. // ECC. CHAMBER_OUT. C09 [ 6 ] := ;
  109. // ECC. CHAMBER_OUT. C09 [ 7 ] := ;
  110. // ECC. CHAMBER_OUT. C09 [ 8 ] := ;
  111. ECC. CHAMBER_OUT. C09 [ 9 ] := GV.PEN_VALVE_HEATER_SSR_ON ; //SSR01
  112. // ECC. CHAMBER_OUT. C09 [ 10 ] := ;
  113. ECC. CHAMBER_OUT. C09 [ 11 ] := GV.FORELINE_HEATER_SSR_ON[5]; //SSR11 EXHAUST1-3
  114. ECC. CHAMBER_OUT. C09 [ 12 ] := GV.FORELINE_HEATER_SSR_ON[6]; //SSR12 EXHAUST4-7
  115. // ECC. CHAMBER_OUT. C09 [ 13 ] := GV.FORELINE_HEATER_SSR_ON[7]; //
  116. // ECC. CHAMBER_OUT. C09 [ 14 ] := GV.FORELINE_HEATER_SSR_ON[8]; //
  117. // ECC. CHAMBER_OUT. C09 [ 15 ] := ;
  118. // ECC. CHAMBER_OUT. C09 [ 16 ] := ;
  119. //C15
  120. GV.AI.AV105_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 1 ])/10; // TC-13-A
  121. GV.AI.AV104_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 2 ])/10; // TC-15-A
  122. GV.AI.AV102_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 3 ])/10; // TC-23-A
  123. GV.AI.AV101_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 4 ])/10; // TC-24-A
  124. GV.AI.Exhaust1_3_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 5 ])/10; // TC-18-A
  125. GV.AI.Exhaust4_7_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 6 ])/10; // TC-28-A
  126. // := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 7 ])/10; //
  127. // := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 8 ])/10; //
  128. //C32
  129. GV.AI.PG_PS1_VALUE := (ECC. IGS_IN. C32 [ 1 ]*115/32767-15)*6.895;
  130. GV.AI.PG_PS2_VALUE := (ECC. IGS_IN. C32 [ 2 ]*115/32767-15)*6.895;
  131. GV.AI.PG_PS3_VALUE := (ECC. IGS_IN. C32 [ 3 ]*115/32767-15)*6.895;
  132. GV.AI.PG_PS4_VALUE := (ECC. IGS_IN. C32 [ 4 ]*115/32767-15)*6.895;
  133. //C33
  134. GV.AI.PG_PS5_VALUE := (ECC. IGS_IN. C33 [ 1 ]*75/32767-15)*6.895;
  135. GV.AI.PG_PS6_VALUE := (ECC. IGS_IN. C33 [ 2 ]*115/32767-15)*6.895;
  136. GV.AI.PG_PS7_VALUE := (ECC. IGS_IN. C33 [ 3 ]*1015/32767-15)*6.895;
  137. GV.AI.PG_PS8_VALUE := (ECC. IGS_IN. C33 [ 4 ]*1015/32767-15)*6.895;
  138. //C34
  139. GV.AI.PG_PS9_VALUE := (ECC. IGS_IN. C34 [ 1 ]*1015/32767-15)*6.895;
  140. GV.AI.PS1_VALUE := (ECC. IGS_IN. C34 [ 2 ]*1015/32767-15)*6.895;
  141. GV.AI.PS2_VALUE := (ECC. IGS_IN. C34 [ 3 ]*1015/32767-15)*6.895;
  142. GV.AI.MS1_VALUE := (ECC. IGS_IN. C34 [ 4 ]*1015/32767-15)*6.895;
  143. //C35
  144. GV.AI.GD01_VALUE := ECC. IGS_IN. C35 [ 1 ];
  145. GV.AI.GD02_VALUE := ECC. IGS_IN. C35 [ 2 ];
  146. // := ECC. IGS_IN. C35 [ 3 ];
  147. // := ECC. IGS_IN. C35 [ 4 ];
  148. //C36
  149. GV.NDI. PG_PS1_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 1 ];
  150. GV.NDI. PG_PS1_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 2 ];
  151. GV.NDI. PG_PS2_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 3 ];
  152. GV.NDI. PG_PS2_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 4 ];
  153. GV.NDI. PG_PS3_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 5 ];
  154. GV.NDI. PG_PS3_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 6 ];
  155. GV.NDI. PG_PS4_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 7 ];
  156. GV.NDI. PG_PS4_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 8 ];
  157. GV.NDI. PG_PS5_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 9 ];
  158. GV.NDI. PG_PS5_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 10 ];
  159. GV.NDI. PG_PS6_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 11 ];
  160. GV.NDI. PG_PS6_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 12 ];
  161. GV.NDI. PG_PS7_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 13 ];
  162. GV.NDI. PG_PS7_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 14 ];
  163. GV.NDI. PG_PS8_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 15 ];
  164. GV.NDI. PG_PS8_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 16 ];
  165. //C37
  166. GV.NDI. PG_PS9_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C37 [ 1 ];
  167. GV.NDI. PG_PS9_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C37 [ 2 ];
  168. GV.NDI. MS1_Pressure_Switch_Up_Limit := ECC. IGS_IN. C37 [ 3 ];
  169. GV.NDI. MS1_Pressure_Switch_Down_Limit := ECC. IGS_IN. C37 [ 4 ];//QDP33P
  170. GV.NDI. PS1_Pressure_Switch := ECC. IGS_IN. C37 [ 5 ];
  171. GV.NDI. PS2_Pressure_Switch := ECC. IGS_IN. C37 [ 6 ];
  172. // := ECC. IGS_IN. C37 [ 7 ];
  173. // := ECC. IGS_IN. C37 [ 8 ];
  174. // := ECC. IGS_IN. C37 [ 9 ];
  175. // := ECC. IGS_IN. C37 [ 10 ];
  176. // := ECC. IGS_IN. C37 [ 11 ];
  177. // := ECC. IGS_IN. C37 [ 12 ];
  178. // := ECC. IGS_IN. C37 [ 13 ];
  179. // := ECC. IGS_IN. C37 [ 14 ];
  180. // := ECC. IGS_IN. C37 [ 15 ];
  181. // := ECC. IGS_IN. C37 [ 16 ];
  182. (*
  183. //C38
  184. GV.NDI. GD001_ALM1 := ECC. IGS_IN. C38 [ 1 ];
  185. GV.NDI. GD001_ALM2 := ECC. IGS_IN. C38 [ 2 ];
  186. GV.NDI. GD002_ALM1 := ECC. IGS_IN. C38 [ 3 ];
  187. GV.NDI. GD002_ALM2 := ECC. IGS_IN. C38 [ 4 ];
  188. //C39
  189. GV.NDI. GD_FAULT := ECC. IGS_IN. C39 [ 1 ];
  190. GV.NDI. MS1_Pressure_Switch_Up_Limit := ECC. IGS_IN. C39 [ 2 ];
  191. GV.NDI. MS1_Pressure_Switch_Down_Limit := ECC. IGS_IN. C39 [ 3 ];
  192. // := ECC. IGS_IN. C39 [ 4 ];
  193. *)
  194. //C40
  195. GV.AI.Tape_Temp1 := INT_TO_REAL( ECC. IGS_IN. C40 [ 1 ])/10; // IGS 加热带 TC31 E31
  196. GV.AI.Tape_Temp2 := INT_TO_REAL( ECC. IGS_IN. C40 [ 2 ])/10; // IGS 加热带 TC32 E32
  197. GV.AI.IGS_Temp1 := INT_TO_REAL( ECC. IGS_IN. C40 [ 3 ])/10; // IGS 加热带 TC33 E33 绿+ 红-
  198. GV.AI.IGS_Temp2 := INT_TO_REAL( ECC. IGS_IN. C40 [ 4 ])/10; // IGS 加热带 TC34 E34 绿+ 红-
  199. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 5 ])/10; // IGS BLOCK HEATER TC35 E35
  200. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 6 ])/10; // IGS BLOCK HEATER TC36 E36
  201. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 7 ])/10;
  202. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 8 ])/10;
  203. //C42
  204. ECC. IGS_OUT. C42 [ 1 ] := GV.TAPE_HEATER_SSR_ON[1] ;
  205. ECC. IGS_OUT. C42 [ 2 ] := GV.TAPE_HEATER_SSR_ON[2] ;
  206. // ECC. IGS_OUT. C42 [ 3 ] := ;
  207. // ECC. IGS_OUT. C42 [ 4 ] := ;
  208. // ECC. IGS_OUT. C42 [ 5 ] := ;
  209. // ECC. IGS_OUT. C42 [ 6 ] := ;
  210. ECC. IGS_OUT. C42 [ 7 ] := GV.IGS_HEATER_SSR_ON[1] ;
  211. ECC. IGS_OUT. C42 [ 8 ] := GV.IGS_HEATER_SSR_ON[2] ;
  212. // ECC. IGS_OUT. C42 [ 9 ] := ;
  213. // ECC. IGS_OUT. C42 [ 10 ] := ;
  214. // ECC. IGS_OUT. C42 [ 11 ] := ;
  215. // ECC. IGS_OUT. C42 [ 12 ] := ;
  216. // ECC. IGS_OUT. C42 [ 13 ] := ;
  217. // ECC. IGS_OUT. C42 [ 14 ] := ;
  218. // ECC. IGS_OUT. C42 [ 15 ] := ;
  219. // ECC. IGS_OUT. C42 [ 16 ] := ;
  220. (*
  221. //C43
  222. ECC. IGS_OUT. C43 [ 1 ] := TRUE;//GV.VT03_POWER_ON ;
  223. // ECC. IGS_OUT. C43 [ 2 ] := ;
  224. // ECC. IGS_OUT. C43 [ 3 ] := ;
  225. // ECC. IGS_OUT. C43 [ 4 ] := ;
  226. *)
  227. //MFC
  228. GV.AI. MFC1_Flow := ECC. MFC_PV [ 1 ].Flow_Reading ;
  229. ECC. MFC_SV [ 1 ].Flow_SP := GV.AO. MFC1_Flow_Setpoint ;
  230. ECC. MFC_SV [ 1 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC1_Rate_Setpoint) ;
  231. GV.AI. MFC2_Flow := ECC. MFC_PV [ 2 ].Flow_Reading ;
  232. ECC. MFC_SV [ 2 ].Flow_SP := GV.AO. MFC2_Flow_Setpoint ;
  233. ECC. MFC_SV [ 2 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC2_Rate_Setpoint) ;
  234. GV.AI. MFC3_Flow := ECC. MFC_PV [ 3 ].Flow_Reading ;
  235. ECC. MFC_SV [ 3 ].Flow_SP := GV.AO. MFC3_Flow_Setpoint ;
  236. ECC. MFC_SV [ 3 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC3_Rate_Setpoint) ;
  237. GV.AI. MFC4_Flow := ECC. MFC_PV [ 4 ].Flow_Reading ;
  238. ECC. MFC_SV [ 4 ].Flow_SP := GV.AO. MFC4_Flow_Setpoint ;
  239. ECC. MFC_SV [ 4 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC4_Rate_Setpoint) ;
  240. GV.AI. MFC5_Flow := ECC. MFC_PV [ 5 ].Flow_Reading ;
  241. ECC. MFC_SV [ 5 ].Flow_SP := GV.AO. MFC5_Flow_Setpoint ;
  242. ECC. MFC_SV [ 5 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC5_Rate_Setpoint) ;
  243. GV.AI. MFC6_Flow := ECC. MFC_PV [ 6 ].Flow_Reading ;
  244. ECC. MFC_SV [ 6 ].Flow_SP := GV.AO. MFC6_Flow_Setpoint ;
  245. ECC. MFC_SV [ 6 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC6_Rate_Setpoint) ;
  246. GV.AI. MFC7_Flow := ECC. MFC_PV [ 7 ].Flow_Reading ;
  247. ECC. MFC_SV [ 7 ].Flow_SP := GV.AO. MFC7_Flow_Setpoint ;
  248. ECC. MFC_SV [ 7 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC7_Rate_Setpoint) ;
  249. // GV.AI. MFC8_PV := ECC. MFC_PV [ 8 ].Flow_Reading ;
  250. // ECC. MFC_SV [ 1 ].Flow_SP := GV.AO. MFC8_Flow_Setpoint ;
  251. // ECC. MFC_SV [ 1 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC8_Rate_Setpoint) ;
  252. // GV.AI. MFC9_PV := ECC. MFC_PV [ 9 ].Flow_Reading ;
  253. // ECC. MFC_SV [ 1 ].Flow_SP := GV.AO. MFC9_Flow_Setpoint ;
  254. // ECC. MFC_SV [ 1 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC9_Rate_Setpoint) ;
  255. //EV
  256. ECC. EV1. A. 0 := GV. NDO. GV101C; //GATE VALVE CLOSE
  257. ECC. EV1. A. 1 := GV. NDO. GV101O; //GATE VALVE OPEN
  258. ECC. EV1. A. 2 := GV. NDO. AV111;
  259. ECC. EV1. A. 3 := GV. NDO. AV108;
  260. ECC. EV1. A. 4 := GV. NDO. AV109; //PIN MIDDLE
  261. ECC. EV1. A. 5 := GV. NDO. AV110; //PIN UP
  262. // ECC. EV1. A. 6 := GV. NDO. AV103 AND GV_IL.AV103_EN;
  263. // ECC. EV1. A. 7 := GV. NDO. AV104 AND GV_IL.AV104_EN; //VG103关断阀
  264. // ECC. EV1. B. 0 := GV. NDO. AV101 AND GV_IL.AV101_EN; //预抽阀
  265. // ECC. EV1. B. 1 := GV. NDO. AV102 AND GV_IL.AV102_EN; //分子泵前级阀
  266. // ECC. EV1. B. 2 := GV. NDO. ;
  267. // ECC. EV1. B. 3 := GV. NDO. ;
  268. // ECC. EV1. B. 4 := GV. NDO. ;
  269. // ECC. EV1. B. 5 := GV. NDO. ;
  270. // ECC. EV1. B. 6 := GV. NDO. ;
  271. // ECC. EV1. B. 7 := GV. NDO. ;
  272. // ECC. EV1. C. 0 := GV. NDO. ;
  273. // ECC. EV1. C. 1 := GV. NDO. ;
  274. // ECC. EV1. C. 2 := GV. NDO. ;
  275. // ECC. EV1. C. 3 := GV. NDO. ;
  276. // ECC. EV1. C. 4 := GV. NDO. ;
  277. // ECC. EV1. C. 5 := GV. NDO. ;
  278. // ECC. EV1. C. 6 := GV. NDO. ;
  279. // ECC. EV1. C. 7 := GV. NDO. ;
  280. // ECC. EV1. D. 0 := GV. NDO. ;
  281. // ECC. EV1. D. 1 := GV. NDO. ;
  282. // ECC. EV1. D. 2 := GV. NDO. ;
  283. // ECC. EV1. D. 3 := GV. NDO. ;
  284. // ECC. EV1. D. 4 := GV. NDO. ;
  285. // ECC. EV1. D. 5 := GV. NDO. ;
  286. // ECC. EV1. D. 6 := GV. NDO. ;
  287. // ECC. EV1. D. 7 := GV. NDO. ;
  288. // ECC. EV2. A. 0 := GV. NDO. ;
  289. // ECC. EV2. A. 1 := GV. NDO. ;
  290. ECC. EV2. A. 2 := GV. NDO. AV107 ; //钟摆阀动作使能保持阀
  291. ECC. EV2. A. 3 := GV. NDO. AV112;
  292. ECC. EV2. A. 4 := GV. NDO. AV105 AND GV_IL.AV105_EN; //BA101关断阀
  293. ECC. EV2. A. 5 := GV. NDO. AV106 AND GV_IL.AV106_EN; //酸排关断阀
  294. ECC. EV2. A. 6 := GV. NDO. AV103 AND GV_IL.AV103_EN;
  295. ECC. EV2. A. 7 := GV. NDO. AV104 AND GV_IL.AV104_EN; //VG103关断阀
  296. ECC. EV2. B. 0 := GV. NDO. AV101 AND GV_IL.AV101_EN; //预抽阀
  297. ECC. EV2. B. 1 := GV. NDO. AV102 AND GV_IL.AV102_EN; //分子泵前级阀
  298. // ECC. EV2. B. 2 := GV. NDO. ;
  299. // ECC. EV2. B. 3 := GV. NDO. ;
  300. // ECC. EV2. B. 4 := GV. NDO. ;
  301. // ECC. EV2. B. 5 := GV. NDO. ;
  302. // ECC. EV2. B. 6 := GV. NDO. ;
  303. // ECC. EV2. B. 7 := GV. NDO. ;
  304. // ECC. EV2. C. 0 := GV. NDO. ;
  305. // ECC. EV2. C. 1 := GV. NDO. ;
  306. // ECC. EV2. C. 2 := GV. NDO. ;
  307. // ECC. EV2. C. 3 := GV. NDO. ;
  308. // ECC. EV2. C. 4 := GV. NDO. ;
  309. // ECC. EV2. C. 5 := GV. NDO. ;
  310. // ECC. EV2. C. 6 := GV. NDO. ;
  311. // ECC. EV2. C. 7 := GV. NDO. ;
  312. // ECC. EV2. D. 0 := GV. NDO. ;
  313. // ECC. EV2. D. 1 := GV. NDO. ;
  314. // ECC. EV2. D. 2 := GV. NDO. ;
  315. // ECC. EV2. D. 3 := GV. NDO. ;
  316. // ECC. EV2. D. 4 := GV. NDO. ;
  317. // ECC. EV2. D. 5 := GV. NDO. ;
  318. // ECC. EV2. D. 6 := GV. NDO. ;
  319. // ECC. EV2. D. 7 := GV. NDO. ;
  320. //gas box内
  321. // ECC. EV3. A. 0 := GV. NDO. AV1 ; //
  322. // ECC. EV3. A. 1 := GV. NDO. AV2 ;
  323. // ECC. EV3. A. 2 := GV. NDO. AV3 ;
  324. // ECC. EV3. A. 3 := GV. NDO. AV4 ;
  325. // ECC. EV3. A. 4 := GV. NDO. AV6 ;
  326. // ECC. EV3. A. 5 := GV. NDO. AV7 ;
  327. ECC. EV3. A. 6 := GV. NDO. AV5 AND GV_IL.AV5_EN ;
  328. ECC. EV3. A. 7 := GV. NDO. AV26 AND GV_IL.AV26_EN;
  329. ECC. EV3. B. 0 := GV. NDO. AV3 AND GV_IL.AV3_EN;
  330. ECC. EV3. B. 1 := GV. NDO. AV4 AND GV_IL.AV4_EN;
  331. ECC. EV3. B. 2 := GV. NDO. AV1 AND GV_IL.AV1_EN;
  332. ECC. EV3. B. 3 := GV. NDO. AV2 AND GV_IL.AV2_EN;
  333. // ECC. EV3. B. 4 := GV. NDO. AV16;
  334. // ECC. EV3. B. 5 := GV. NDO. AV17;
  335. // ECC. EV3. B. 6 := GV. NDO. AV19;
  336. // ECC. EV3. B. 7 := GV. NDO. AV20;
  337. // ECC. EV3. C. 0 := GV. NDO. AV22;
  338. // ECC. EV3. C. 1 := GV. NDO. AV23;
  339. // ECC. EV3. C. 2 := GV. NDO. AV25;
  340. // ECC. EV3. C. 3 := GV. NDO. AV26;
  341. // ECC. EV3. C. 4 := GV. NDO. AV27;
  342. // ECC. EV3. C. 5 := GV. NDO. ;
  343. // ECC. EV3. C. 6 := GV. NDO. ;
  344. // ECC. EV3. C. 7 := GV. NDO. ;
  345. // ECC. EV3. D. 0 := GV. NDO. ;
  346. // ECC. EV3. D. 1 := GV. NDO. ;
  347. // ECC. EV3. D. 2 := GV. NDO. ;
  348. // ECC. EV3. D. 3 := GV. NDO. ;
  349. // ECC. EV3. D. 4 := GV. NDO. ;
  350. // ECC. EV3. D. 5 := GV. NDO. ;
  351. // ECC. EV3. D. 6 := GV. NDO. ;
  352. // ECC. EV3. D. 7 := GV. NDO. ;
  353. //APC
  354. GV. AI. APC. ACTUAL_PRESSURE := ECC. APC_PV.Actual_Pressure *100/133.3*1000;
  355. GV. AI. APC. Pressure_Sensor_1 := ECC. APC_PV.Pressure_Sensor_1 *100/133.3*1000;
  356. GV. AI. APC. Pressure_Sensor_2 := ECC. APC_PV.Pressure_Sensor_2 *100/133.3*1000;
  357. GV. AI. APC. ACTUAL_POSITION := ECC. APC_PV.Actual_Position/0.1*0.1 ;
  358. GV. AI. APC. CONTROL_MODE := ECC. APC_PV.Control_Mode ;
  359. GV. AI. APC. ERROR_NUMBER := ECC. APC_PV.ERROR_NUMBER ;
  360. GV. AI. APC. General_Status := ECC. APC_PV.General_Status ;
  361. GV. AI. APC. GENERAL_WARNINGS := ECC. APC_PV.General_Warnings ;
  362. GV. AI. APC. Extended_Warnings := ECC. APC_PV.Extended_Warnings ;
  363. ECC. APC_SV.Target_Pressure := GV. AO. APC. TARGET_PRESSURE*0.1333/100 ;
  364. ECC. APC_SV.Target_Position := GV. AO. APC. TARGET_POSITION ;
  365. ECC. APC_SV.Pressure_Input_Digital_Sensor_1 := GV. AO. APC. Pressure_Input_Digital_Sensor_1 ; //E-therCAT通讯传送过来的sensor值1
  366. ECC. APC_SV.Pressure_Input_Digital_Sensor_2 := GV. AO. APC. Pressure_Input_Digital_Sensor_2 ; //E-therCAT通讯传送过来的sensor值2
  367. ECC. APC_SV.Control_Mode := GV. AO. APC. CONTROL_MODE ;
  368. ECC. APC_SV.General_Control_Setpoint := GV. AO. APC. General_Control_Setpoint ; (*Bit 0: Zero
  369. BIT 1: NOT used
  370. Bit 2: Ping Pong TX Bit
  371. Bit 3: Not Used
  372. Bit 4: Access Mode Locked (VAT使用手册P72)
  373. Bit 5-15: Not Used
  374. *)
  375. ECC. APC_SV.Pressure_Ramp_Time := GV. AO. APC. PRESSURE_RAMP_TIME ;
  376. //TMP
  377. GV. AI. TMP. ROTATION := ECC. TURBO_PV.Rotation ; //1:ROTATING,0:NOT ROTATING
  378. GV. AI. TMP. NORMAL := ECC. TURBO_PV.Normal ; //1:NORMAL,0:UNNORMAL
  379. GV. AI. TMP. ACCELERATION := ECC. TURBO_PV.Acceleration ;
  380. GV. AI. TMP. Deceleration_Includes_Braking := ECC. TURBO_PV.Deceleration_Includes_Braking ;
  381. GV. AI. TMP. REMOTE_LOCAL := ECC. TURBO_PV.Remote_Local ; //1:LOCAL.E-CAT CONTROL DISABLED,0:REMOTE.E-CAT CONTROL ENABLED
  382. GV. AI. TMP. Turbo_Low_Speed := ECC. TURBO_PV.Turbo_Low_Speed ;
  383. GV. AI. TMP. ALARM := NOT ECC. TURBO_PV.Alarm ;
  384. GV. AI. TMP. WARNING := NOT ECC. TURBO_PV.Warning ;
  385. GV. AI. TMP. Turbo_Speed := REAL_TO_INT(ECC.TURBO_PV.Turbo_Speed*32.5 ) ; //0.1[%],1000(100.0%):RATED SPEED,0(0.0%):NO RATATION
  386. GV. AI. TMP. Turbo_Current := ECC. TURBO_PV.Turbo_Current ; //0.1A
  387. GV. AI. TMP. Turbo_pump_temperature := ECC. TURBO_PV.Turbo_pump_temperature ; //1[℃]
  388. //GV. AI. TMP. VibrationH := ECC. TURBO_PV.VibrationH ;
  389. //GV. AI. TMP. VibrationB := ECC. TURBO_PV.VibrationB ;
  390. //GV. AI. TMP. VibrationZ := ECC. TURBO_PV.VibrationZ ;
  391. ECC. TURBO_SV.Turbo_Start_Stop := GV. AO. TMP. Turbo_Start_Stop ; //1:START,0:STOP
  392. ECC. TURBO_SV.Turbo_Reset_Alarm := GV. AO. TMP. Turbo_Reset_Alarm ; //1:RESET ALARM,0:NO ACTION
  393. ECC. TURBO_SV.Turbo_Low_Speed := GV. AO. TMP. Turbo_Low_Speed ; //1:LOW SPEED MODE ON,0:OFF
  394. //PG PS
  395. GV. AI. VG103_PV :=GV.AI.VG103_Pressure := ECC. VG103_PV.Sensor_Value1 /133.3 *1000 ;
  396. GV. AI. VG101_PV :=GV.AI.VG101_Pressure := ECC. VG101_PV.Sensor_Value1 /133.3 *1000 ;
  397. GV. AI. VG102_PV :=GV.AI.VG102_Pressure := ECC. VG102_PV.Sensor_Value1 /133.3 *1000 ;
  398. GV. AI. BA1_PV :=GV.AI.BA1_Pressure := ECC. BA1_PV.Combination_Gauge_Active_Value_Module_1 /133.3 ;
  399. GV. AI. VG104_PV :=GV.AI.VG104_Pressure := ECC. VG104_PV.Sensor_Value1 /133.3 *1000 ;
  400. //STAGE
  401. ECC. STAGE_SV[1] := GV.STAGE_HEATER_SCR_OUTPUT[1] ;
  402. ECC. STAGE_SV[2] := GV.STAGE_HEATER_SCR_OUTPUT[2] ;
  403. ECC. STAGE_SV[3] := GV.STAGE_HEATER_SCR_OUTPUT[3] ;
  404. ECC. STAGE_SV[4] := GV.STAGE_HEATER_SCR_OUTPUT[4] ;
  405. ]]></ST>
  406. </Implementation>
  407. <Action Name="PLC_TO_UI" Id="{308170b8-f1d3-4133-861e-81772d2e0f4b}">
  408. <Implementation>
  409. <ST><![CDATA[PM.HeartBeat:=UI.HeartBeat;
  410. PM.NDI:=GV.NDI;
  411. PM.AI:=GV.AI;
  412. GV.NDI. AV1 :=ECC. EV3. B. 2 ;
  413. GV.NDI. AV2 :=ECC. EV3. B. 3 ;
  414. GV.NDI. AV3 :=ECC. EV3. B. 0 ;
  415. GV.NDI. AV4 :=ECC. EV3. B. 1 ;
  416. GV.NDI. AV5 :=ECC. EV3. A. 6 ;
  417. GV.NDI. AV26 :=ECC. EV3. A. 7 ;
  418. GV.NDI. AV27 :=GV.NDO. AV27 ;
  419. ]]></ST>
  420. </Implementation>
  421. </Action>
  422. <Action Name="UI_TO_PLC" Id="{e00ab8bc-27a3-45cb-b824-e905ffab79ed}">
  423. <Implementation>
  424. <ST><![CDATA[
  425. //CONFIG
  426. GV.PMConfig:=UI.PMConfig;
  427. GV.MFCVerification:=UI.MFCVerification;
  428. GV.Chiller:=UI.Chiller;
  429. GV.InnerChiller:=UI.InnerChiller;
  430. GV.OuterChiller:=UI.OuterChiller;
  431. GV.TopChiller:=UI.TopChiller;
  432. GV.DryPump:=UI.DryPump;
  433. GV.Mfcgas1:=UI.Mfcgas1;
  434. GV.Mfcgas2:=UI.Mfcgas2;
  435. GV.Mfcgas3:=UI.Mfcgas3;
  436. GV.Mfcgas4:=UI.Mfcgas4;
  437. GV.Mfcgas5:=UI.Mfcgas5;
  438. GV.Mfcgas6:=UI.Mfcgas6;
  439. GV.Mfcgas7:=UI.Mfcgas7;
  440. GV.Mfcgas8:=UI.Mfcgas8;
  441. GV.Mfcgas9:=UI.Mfcgas9;
  442. GV.Mfcgas10:=UI.Mfcgas10;
  443. GV.Mfcgas11:=UI.Mfcgas11;
  444. GV.Mfcgas12:=UI.Mfcgas12;
  445. GV.MfcN2:=UI.MfcN2;
  446. GV.MfcHe:=UI.MfcHe;
  447. GV.Pump:=UI.Pump;
  448. GV.Purge:=UI.Purge;
  449. GV.PendulumHeater:=UI.PendulumHeater;
  450. GV.LidHeater:=UI.LidHeater;
  451. GV.ChamberHeater:=UI.ChamberHeater;
  452. GV.IGSHeater:=UI.IGSHeater;
  453. GV.TapeHeater:=UI.TapeHeater;
  454. GV.ForelineHeater:=UI.ForelineHeater;
  455. GV.STAGE:=UI.STAGE;
  456. GV.ElectrostaticVoltageSource:=UI.ElectrostaticVoltageSource;
  457. GV.TurboPump:=UI.TurboPump;
  458. GV.PendulumValve:=UI.PendulumValve;
  459. GV.IdleClean:=UI.IdleClean;
  460. GV.EPD:=UI.EPD;
  461. GV.HighTemperatureChiller:=UI.HighTemperatureChiller;
  462. GV.ChamberHeater:=UI.ChamberHeater;
  463. GV.ChamberHeater:=UI.ChamberHeater;
  464. //Status
  465. GV.AO. AV102_Temp_SV := UI.AO. AV102_Temp_SV ;
  466. GV.AO. AV101_Temp_SV := UI.AO. AV101_Temp_SV ;
  467. GV.AO. AV104_Temp_SV := UI.AO. AV104_Temp_SV ;
  468. GV.AO. AV105_Temp_SV := UI.AO. AV105_Temp_SV ;
  469. GV.AO. Exhaust1_3_Temp_SV := UI.AO. Exhaust1_3_Temp_SV ;
  470. GV.AO. Exhaust4_7_Temp_SV := UI.AO. Exhaust4_7_Temp_SV ;
  471. GV.AO. VG101_Pipe_Temp_SV := UI.AO. VG101_Pipe_Temp_SV ;
  472. GV.AO. Gate_Valve_Temp_SV := UI.AO. Gate_Valve_Temp_SV ;
  473. GV.AO. APC_Temp_SV := UI.AO. APC_Temp_SV ;
  474. GV.AO. TMP_Temp_SV := UI.AO. TMP_Temp_SV ;
  475. GV.AO. Tape_Temp1_SV := UI.AO. Tape_Temp1_SV ;
  476. GV.AO. Tape_Temp2_SV := UI.AO. Tape_Temp2_SV ;
  477. GV.AO. Tape_Temp3_SV := UI.AO. Tape_Temp3_SV ;
  478. GV.AO. Tape_Temp4_SV := UI.AO. Tape_Temp4_SV ;
  479. GV.AO. IGS_Temp1_SV := UI.AO. IGS_Temp1_SV ;
  480. GV.AO. IGS_Temp2_SV := UI.AO. IGS_Temp2_SV ;
  481. GV.AO. Chiller_Temp1_SV := UI.AO. Chiller_Temp1_SV ;
  482. GV.AO. Chiller_Temp2_SV := UI.AO. Chiller_Temp2_SV ;
  483. GV.AO. TMP. Turbo_Start_Stop := UI.AO. TMP. Turbo_Start_Stop ;
  484. GV.AO. TMP. Turbo_Reset_Alarm := UI.AO. TMP. Turbo_Reset_Alarm ;
  485. GV.AO. TMP. Turbo_Low_Speed := UI.AO. TMP. Turbo_Low_Speed ;
  486. GV.NDO.AV104:=UI.NDO.AV104;
  487. GV.NDO.AV105:=UI.NDO.AV105;
  488. IF NOT MAIN.Process_EN THEN
  489. GV.NDO := UI.NDO;
  490. GV.AO. LID_Temp_SV := UI.AO. LID_Temp_SV ;
  491. GV.AO. Chamber_Temp1_SV := UI.AO. Chamber_Temp1_SV ;
  492. GV.AO. Chamber_Temp2_SV := UI.AO. Chamber_Temp2_SV ;
  493. GV.AO. Chamber_Temp3_SV := UI.AO. Chamber_Temp3_SV ;
  494. GV.AO. MFC1_Flow_Setpoint := UI.AO. MFC1_Flow_Setpoint ;
  495. GV.AO. MFC1_Rate_Setpoint := UI.AO. MFC1_Rate_Setpoint ;
  496. GV.AO. MFC2_Flow_Setpoint := UI.AO. MFC2_Flow_Setpoint ;
  497. GV.AO. MFC2_Rate_Setpoint := UI.AO. MFC2_Rate_Setpoint ;
  498. GV.AO. MFC3_Flow_Setpoint := UI.AO. MFC3_Flow_Setpoint ;
  499. GV.AO. MFC3_Rate_Setpoint := UI.AO. MFC3_Rate_Setpoint ;
  500. GV.AO. MFC4_Flow_Setpoint := UI.AO. MFC4_Flow_Setpoint ;
  501. GV.AO. MFC4_Rate_Setpoint := UI.AO. MFC4_Rate_Setpoint ;
  502. GV.AO. MFC5_Flow_Setpoint := UI.AO. MFC5_Flow_Setpoint ;
  503. GV.AO. MFC5_Rate_Setpoint := UI.AO. MFC5_Rate_Setpoint ;
  504. GV.AO. MFC6_Flow_Setpoint := UI.AO. MFC6_Flow_Setpoint ;
  505. GV.AO. MFC6_Rate_Setpoint := UI.AO. MFC6_Rate_Setpoint ;
  506. GV.AO. MFC7_Flow_Setpoint := UI.AO. MFC7_Flow_Setpoint ;
  507. GV.AO. MFC7_Rate_Setpoint := UI.AO. MFC7_Rate_Setpoint ;
  508. GV.AO. Stage_Temp1_SV := UI.AO. Stage_Temp1_SV ;
  509. GV.AO. Stage_Temp2_SV := UI.AO. Stage_Temp2_SV ;
  510. GV.AO. Stage_Temp3_SV := UI.AO. Stage_Temp3_SV ;
  511. GV.AO. Stage_Temp4_SV := UI.AO. Stage_Temp4_SV ;
  512. GV.AO. APC. Target_Pressure := UI.AO. APC. Target_Pressure ;
  513. GV.AO. APC. Target_Position := UI.AO. APC. Target_Position ;
  514. //GV.AO. APC. Pressure_Input_Digital_Sensor_1 := UI.AO. APC. Pressure_Input_Digital_Sensor_1 ;
  515. //GV.AO. APC. Pressure_Input_Digital_Sensor_2 := UI.AO. APC. Pressure_Input_Digital_Sensor_2 ;
  516. IF GV_IL.APC_EN THEN
  517. GV.AO. APC. Control_Mode := UI.AO. APC. Control_Mode ;
  518. ELSE
  519. GV.AO. APC. Control_Mode := 3 ;
  520. END_IF
  521. GV.AO. APC. General_Control_Setpoint := UI.AO. APC. General_Control_Setpoint ;
  522. GV.AO. APC. Pressure_Ramp_Time := UI.AO. APC. Pressure_Ramp_Time ;
  523. END_IF
  524. //RECIPE
  525. GV.Step_Num:=UI.Step_Num;
  526. GV.SetpArray:=UI.SetpArray;
  527. GV.Process_Start:=UI.Process_Start;
  528. GV.Process_Stop:=UI.Process_Stop;]]></ST>
  529. </Implementation>
  530. </Action>
  531. <LineIds Name="IO_EXCHANGE">
  532. <LineId Id="1993" Count="0" />
  533. <LineId Id="1995" Count="0" />
  534. <LineId Id="1994" Count="0" />
  535. <LineId Id="1449" Count="0" />
  536. <LineId Id="1980" Count="0" />
  537. <LineId Id="1450" Count="13" />
  538. <LineId Id="1951" Count="0" />
  539. <LineId Id="1464" Count="1" />
  540. <LineId Id="1952" Count="0" />
  541. <LineId Id="1981" Count="0" />
  542. <LineId Id="1470" Count="14" />
  543. <LineId Id="1953" Count="0" />
  544. <LineId Id="1486" Count="0" />
  545. <LineId Id="1982" Count="0" />
  546. <LineId Id="1487" Count="2" />
  547. <LineId Id="1492" Count="2" />
  548. <LineId Id="1983" Count="0" />
  549. <LineId Id="1496" Count="0" />
  550. <LineId Id="1498" Count="7" />
  551. <LineId Id="1984" Count="0" />
  552. <LineId Id="2022" Count="3" />
  553. <LineId Id="1511" Count="47" />
  554. <LineId Id="1999" Count="0" />
  555. <LineId Id="1560" Count="6" />
  556. <LineId Id="2003" Count="8" />
  557. <LineId Id="1985" Count="0" />
  558. <LineId Id="2002" Count="0" />
  559. <LineId Id="2032" Count="15" />
  560. <LineId Id="1611" Count="49" />
  561. <LineId Id="1986" Count="0" />
  562. <LineId Id="1661" Count="0" />
  563. <LineId Id="1663" Count="3" />
  564. <LineId Id="1987" Count="0" />
  565. <LineId Id="1668" Count="0" />
  566. <LineId Id="1670" Count="7" />
  567. <LineId Id="1988" Count="0" />
  568. <LineId Id="1678" Count="16" />
  569. <LineId Id="1989" Count="0" />
  570. <LineId Id="1695" Count="0" />
  571. <LineId Id="1697" Count="139" />
  572. <LineId Id="1874" Count="14" />
  573. <LineId Id="1957" Count="0" />
  574. <LineId Id="1967" Count="1" />
  575. <LineId Id="1971" Count="0" />
  576. <LineId Id="1973" Count="0" />
  577. <LineId Id="1975" Count="1" />
  578. <LineId Id="1890" Count="19" />
  579. <LineId Id="1911" Count="13" />
  580. <LineId Id="2026" Count="2" />
  581. <LineId Id="1947" Count="0" />
  582. </LineIds>
  583. <LineIds Name="IO_EXCHANGE.PLC_TO_UI">
  584. <LineId Id="1" Count="0" />
  585. <LineId Id="3" Count="0" />
  586. <LineId Id="2" Count="0" />
  587. <LineId Id="5" Count="4" />
  588. <LineId Id="30" Count="1" />
  589. <LineId Id="4" Count="0" />
  590. </LineIds>
  591. <LineIds Name="IO_EXCHANGE.UI_TO_PLC">
  592. <LineId Id="58" Count="0" />
  593. <LineId Id="60" Count="0" />
  594. <LineId Id="2" Count="36" />
  595. <LineId Id="246" Count="0" />
  596. <LineId Id="39" Count="11" />
  597. <LineId Id="61" Count="0" />
  598. <LineId Id="51" Count="0" />
  599. <LineId Id="68" Count="0" />
  600. <LineId Id="66" Count="0" />
  601. <LineId Id="195" Count="3" />
  602. <LineId Id="238" Count="1" />
  603. <LineId Id="233" Count="0" />
  604. <LineId Id="199" Count="7" />
  605. <LineId Id="181" Count="0" />
  606. <LineId Id="208" Count="1" />
  607. <LineId Id="212" Count="1" />
  608. <LineId Id="211" Count="0" />
  609. <LineId Id="214" Count="0" />
  610. <LineId Id="244" Count="0" />
  611. <LineId Id="243" Count="0" />
  612. <LineId Id="245" Count="0" />
  613. <LineId Id="179" Count="0" />
  614. <LineId Id="240" Count="0" />
  615. <LineId Id="222" Count="0" />
  616. <LineId Id="225" Count="3" />
  617. <LineId Id="221" Count="0" />
  618. <LineId Id="124" Count="13" />
  619. <LineId Id="167" Count="1" />
  620. <LineId Id="241" Count="1" />
  621. <LineId Id="169" Count="3" />
  622. <LineId Id="247" Count="3" />
  623. <LineId Id="173" Count="2" />
  624. <LineId Id="62" Count="0" />
  625. <LineId Id="55" Count="1" />
  626. <LineId Id="63" Count="2" />
  627. <LineId Id="1" Count="0" />
  628. <LineId Id="180" Count="0" />
  629. </LineIds>
  630. </POU>
  631. </TcPlcObject>