IO_EXCHANGE.TcPOU 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716
  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. (*
  120. //C11
  121. GV.NDI. Lid_Closed := ECC. CHAMBER_IN. C11 [ 1 ];
  122. GV.NDI. PS10_L_ALM := ECC. CHAMBER_IN. C11 [ 2 ];
  123. GV.NDI. PS10_L_ALM := ECC. CHAMBER_IN. C11 [ 3 ];
  124. GV.NDI. PS11_H_ALM := ECC. CHAMBER_IN. C11 [ 4 ];
  125. GV.NDI. PS11_L_ALM := ECC. CHAMBER_IN. C11 [ 5 ];
  126. GV.NDI. PS12_H_ALM := ECC. CHAMBER_IN. C11 [ 6 ];
  127. GV.NDI. PS12_L_ALM := ECC. CHAMBER_IN. C11 [ 7 ];
  128. // ECC. CHAMBER_IN. C11 [ 8 ];
  129. //C12
  130. GV.NDI. Water_Leak_Sensor01 := ECC. CHAMBER_IN. C12 [ 1 ]; //CHILLER1下方
  131. GV.NDI. Water_Leak_Sensor02 := ECC. CHAMBER_IN. C12 [ 2 ]; //CHILLER2下方
  132. GV.NDI. Water_Leak_Sensor03 := ECC. CHAMBER_IN. C12 [ 3 ]; //分子泵下方
  133. GV.NDI. Water_Leak_Sensor04 := ECC. CHAMBER_IN. C12 [ 4 ]; //水盘
  134. //C13
  135. GV.NDI. DP01_OUTPUT1 := ECC. CHAMBER_IN. C13 [ 1 ]; //酸排压差检测
  136. GV.NDI. DP01_OUTPUT2 := ECC. CHAMBER_IN. C13 [ 2 ]; //酸排压差检测
  137. // := ECC. CHAMBER_IN. C13 [ 3 ];
  138. // := ECC. CHAMBER_IN. C13 [ 4 ];
  139. //C14
  140. ECC.CHAMBER_OUT.C14 [ 1 ]:= GV.VT01_POWER_ON ;
  141. ECC.CHAMBER_OUT.C14 [ 2 ]:= GV.VT02_POWER_ON ;
  142. // ECC.CHAMBER_OUT.C14 [ 3 ]:= ;
  143. // ECC.CHAMBER_OUT.C14 [ 4 ]:= ;
  144. *)
  145. //C15
  146. GV.AI.AV105_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 1 ])/10; // TC-13-A
  147. GV.AI.AV104_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 2 ])/10; // TC-15-A
  148. GV.AI.AV102_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 3 ])/10; // TC-23-A
  149. GV.AI.AV101_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 4 ])/10; // TC-24-A
  150. GV.AI.Exhaust1_3_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 5 ])/10; // TC-18-A
  151. GV.AI.Exhaust4_7_Temp := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 6 ])/10; // TC-28-A
  152. // := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 7 ])/10; //
  153. // := INT_TO_REAL( ECC. CHAMBER_IN. C15 [ 8 ])/10; //
  154. //C32
  155. GV.AI.PG_PS1_VALUE := (ECC. IGS_IN. C32 [ 1 ]*1015/32767-15)*6.895;
  156. GV.AI.PG_PS2_VALUE := (ECC. IGS_IN. C32 [ 2 ]*1015/32767-15)*6.895;
  157. GV.AI.PG_PS3_VALUE := (ECC. IGS_IN. C32 [ 3 ]*1015/32767-15)*6.895;
  158. GV.AI.PG_PS4_VALUE := (ECC. IGS_IN. C32 [ 4 ]*1015/32767-15)*6.895;
  159. //C33
  160. GV.AI.PG_PS5_VALUE := (ECC. IGS_IN. C33 [ 1 ]*1015/32767-15)*6.895;
  161. GV.AI.PG_PS6_VALUE := (ECC. IGS_IN. C33 [ 2 ]*1015/32767-15)*6.895;
  162. GV.AI.PG_PS7_VALUE := (ECC. IGS_IN. C33 [ 3 ]*1015/32767-15)*6.895;
  163. GV.AI.PG_PS8_VALUE := (ECC. IGS_IN. C33 [ 4 ]*1015/32767-15)*6.895;
  164. //C34
  165. GV.AI.PG_PS9_VALUE := (ECC. IGS_IN. C34 [ 1 ]*1015/32767-15)*6.895;
  166. GV.AI.PS1_VALUE := (ECC. IGS_IN. C34 [ 2 ]*1015/32767-15)*6.895;
  167. GV.AI.PS2_VALUE := (ECC. IGS_IN. C34 [ 3 ]*1015/32767-15)*6.895;
  168. GV.AI.MS1_VALUE := (ECC. IGS_IN. C34 [ 4 ]*1015/32767-15)*6.895;
  169. //C35
  170. GV.AI.GD01_VALUE := ECC. IGS_IN. C35 [ 1 ];
  171. GV.AI.GD02_VALUE := ECC. IGS_IN. C35 [ 2 ];
  172. // := ECC. IGS_IN. C35 [ 3 ];
  173. // := ECC. IGS_IN. C35 [ 4 ];
  174. //C36
  175. GV.NDI. PG_PS1_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 1 ];
  176. GV.NDI. PG_PS1_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 2 ];
  177. GV.NDI. PG_PS2_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 3 ];
  178. GV.NDI. PG_PS2_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 4 ];
  179. GV.NDI. PG_PS3_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 5 ];
  180. GV.NDI. PG_PS3_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 6 ];
  181. GV.NDI. PG_PS4_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 7 ];
  182. GV.NDI. PG_PS4_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 8 ];
  183. GV.NDI. PG_PS5_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 9 ];
  184. GV.NDI. PG_PS5_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 10 ];
  185. GV.NDI. PG_PS6_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 11 ];
  186. GV.NDI. PG_PS6_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 12 ];
  187. GV.NDI. PG_PS7_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 13 ];
  188. GV.NDI. PG_PS7_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 14 ];
  189. GV.NDI. PG_PS8_Pressure_Switch_Up_Limit := NOT ECC. IGS_IN. C36 [ 15 ];
  190. GV.NDI. PG_PS8_Pressure_Switch_Down_Limit := NOT ECC. IGS_IN. C36 [ 16 ];
  191. //C37
  192. GV.NDI. PG_PS9_Pressure_Switch_Up_Limit := ECC. IGS_IN. C37 [ 1 ];
  193. GV.NDI. PG_PS9_Pressure_Switch_Down_Limit := ECC. IGS_IN. C37 [ 2 ];
  194. GV.NDI. MS1_Pressure_Switch_Up_Limit := ECC. IGS_IN. C37 [ 3 ];
  195. GV.NDI. MS1_Pressure_Switch_Down_Limit := ECC. IGS_IN. C37 [ 4 ];//QDP33P
  196. GV.NDI. PS1_Pressure_Switch := ECC. IGS_IN. C37 [ 5 ];
  197. GV.NDI. PS2_Pressure_Switch := ECC. IGS_IN. C37 [ 6 ];
  198. // := ECC. IGS_IN. C37 [ 7 ];
  199. // := ECC. IGS_IN. C37 [ 8 ];
  200. // := ECC. IGS_IN. C37 [ 9 ];
  201. // := ECC. IGS_IN. C37 [ 10 ];
  202. // := ECC. IGS_IN. C37 [ 11 ];
  203. // := ECC. IGS_IN. C37 [ 12 ];
  204. // := ECC. IGS_IN. C37 [ 13 ];
  205. // := ECC. IGS_IN. C37 [ 14 ];
  206. // := ECC. IGS_IN. C37 [ 15 ];
  207. // := ECC. IGS_IN. C37 [ 16 ];
  208. (*
  209. //C38
  210. GV.NDI. GD001_ALM1 := ECC. IGS_IN. C38 [ 1 ];
  211. GV.NDI. GD001_ALM2 := ECC. IGS_IN. C38 [ 2 ];
  212. GV.NDI. GD002_ALM1 := ECC. IGS_IN. C38 [ 3 ];
  213. GV.NDI. GD002_ALM2 := ECC. IGS_IN. C38 [ 4 ];
  214. //C39
  215. GV.NDI. GD_FAULT := ECC. IGS_IN. C39 [ 1 ];
  216. GV.NDI. MS1_Pressure_Switch_Up_Limit := ECC. IGS_IN. C39 [ 2 ];
  217. GV.NDI. MS1_Pressure_Switch_Down_Limit := ECC. IGS_IN. C39 [ 3 ];
  218. // := ECC. IGS_IN. C39 [ 4 ];
  219. *)
  220. //C40
  221. GV.AI.Tape_Temp1 := INT_TO_REAL( ECC. IGS_IN. C40 [ 1 ])/10; // IGS 加热带 TC31 E31
  222. GV.AI.Tape_Temp2 := INT_TO_REAL( ECC. IGS_IN. C40 [ 2 ])/10; // IGS 加热带 TC32 E32
  223. GV.AI.IGS_Temp1 := INT_TO_REAL( ECC. IGS_IN. C40 [ 3 ])/10; // IGS 加热带 TC33 E33 绿+ 红-
  224. GV.AI.IGS_Temp2 := INT_TO_REAL( ECC. IGS_IN. C40 [ 4 ])/10; // IGS 加热带 TC34 E34 绿+ 红-
  225. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 5 ])/10; // IGS BLOCK HEATER TC35 E35
  226. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 6 ])/10; // IGS BLOCK HEATER TC36 E36
  227. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 7 ])/10;
  228. // := INT_TO_REAL( ECC. IGS_IN. C40 [ 8 ])/10;
  229. //C42
  230. ECC. IGS_OUT. C42 [ 1 ] := GV.TAPE_HEATER_SSR_ON[1] ;
  231. ECC. IGS_OUT. C42 [ 2 ] := GV.TAPE_HEATER_SSR_ON[2] ;
  232. // ECC. IGS_OUT. C42 [ 3 ] := ;
  233. // ECC. IGS_OUT. C42 [ 4 ] := ;
  234. // ECC. IGS_OUT. C42 [ 5 ] := ;
  235. // ECC. IGS_OUT. C42 [ 6 ] := ;
  236. ECC. IGS_OUT. C42 [ 7 ] := GV.IGS_HEATER_SSR_ON[1] ;
  237. ECC. IGS_OUT. C42 [ 8 ] := GV.IGS_HEATER_SSR_ON[2] ;
  238. // ECC. IGS_OUT. C42 [ 9 ] := ;
  239. // ECC. IGS_OUT. C42 [ 10 ] := ;
  240. // ECC. IGS_OUT. C42 [ 11 ] := ;
  241. // ECC. IGS_OUT. C42 [ 12 ] := ;
  242. // ECC. IGS_OUT. C42 [ 13 ] := ;
  243. // ECC. IGS_OUT. C42 [ 14 ] := ;
  244. // ECC. IGS_OUT. C42 [ 15 ] := ;
  245. // ECC. IGS_OUT. C42 [ 16 ] := ;
  246. (*
  247. //C43
  248. ECC. IGS_OUT. C43 [ 1 ] := TRUE;//GV.VT03_POWER_ON ;
  249. // ECC. IGS_OUT. C43 [ 2 ] := ;
  250. // ECC. IGS_OUT. C43 [ 3 ] := ;
  251. // ECC. IGS_OUT. C43 [ 4 ] := ;
  252. *)
  253. //MFC
  254. GV.AI. MFC1_Flow := ECC. MFC_PV [ 1 ].Flow_Reading ;
  255. ECC. MFC_SV [ 1 ].Flow_SP := GV.AO. MFC1_Flow_Setpoint ;
  256. ECC. MFC_SV [ 1 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC1_Rate_Setpoint) ;
  257. GV.AI. MFC2_Flow := ECC. MFC_PV [ 2 ].Flow_Reading ;
  258. ECC. MFC_SV [ 2 ].Flow_SP := GV.AO. MFC2_Flow_Setpoint ;
  259. ECC. MFC_SV [ 2 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC2_Rate_Setpoint) ;
  260. GV.AI. MFC3_Flow := ECC. MFC_PV [ 3 ].Flow_Reading ;
  261. ECC. MFC_SV [ 3 ].Flow_SP := GV.AO. MFC3_Flow_Setpoint ;
  262. ECC. MFC_SV [ 3 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC3_Rate_Setpoint) ;
  263. GV.AI. MFC4_Flow := ECC. MFC_PV [ 4 ].Flow_Reading ;
  264. ECC. MFC_SV [ 4 ].Flow_SP := GV.AO. MFC4_Flow_Setpoint ;
  265. ECC. MFC_SV [ 4 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC4_Rate_Setpoint) ;
  266. GV.AI. MFC5_Flow := ECC. MFC_PV [ 5 ].Flow_Reading ;
  267. ECC. MFC_SV [ 5 ].Flow_SP := GV.AO. MFC5_Flow_Setpoint ;
  268. ECC. MFC_SV [ 5 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC5_Rate_Setpoint) ;
  269. GV.AI. MFC6_Flow := ECC. MFC_PV [ 6 ].Flow_Reading ;
  270. ECC. MFC_SV [ 6 ].Flow_SP := GV.AO. MFC6_Flow_Setpoint ;
  271. ECC. MFC_SV [ 6 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC6_Rate_Setpoint) ;
  272. GV.AI. MFC7_Flow := ECC. MFC_PV [ 7 ].Flow_Reading ;
  273. ECC. MFC_SV [ 7 ].Flow_SP := GV.AO. MFC7_Flow_Setpoint ;
  274. ECC. MFC_SV [ 7 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC7_Rate_Setpoint) ;
  275. // GV.AI. MFC8_PV := ECC. MFC_PV [ 8 ].Flow_Reading ;
  276. // ECC. MFC_SV [ 1 ].Flow_SP := GV.AO. MFC8_Flow_Setpoint ;
  277. // ECC. MFC_SV [ 1 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC8_Rate_Setpoint) ;
  278. // GV.AI. MFC9_PV := ECC. MFC_PV [ 9 ].Flow_Reading ;
  279. // ECC. MFC_SV [ 1 ].Flow_SP := GV.AO. MFC9_Flow_Setpoint ;
  280. // ECC. MFC_SV [ 1 ].Ramp_Time := REAL_TO_UDINT(GV.AO. MFC9_Rate_Setpoint) ;
  281. //EV
  282. ECC. EV1. A. 0 := GV. NDO. GV101C; //GATE VALVE CLOSE
  283. ECC. EV1. A. 1 := GV. NDO. GV101O; //GATE VALVE OPEN
  284. ECC. EV1. A. 2 := GV. NDO. AV111;
  285. ECC. EV1. A. 3 := GV. NDO. AV108;
  286. ECC. EV1. A. 4 := GV. NDO. AV109; //PIN MIDDLE
  287. ECC. EV1. A. 5 := GV. NDO. AV110; //PIN UP
  288. // ECC. EV1. A. 6 := GV. NDO. AV103 AND GV_IL.AV103_EN;
  289. // ECC. EV1. A. 7 := GV. NDO. AV104 AND GV_IL.AV104_EN; //VG103关断阀
  290. // ECC. EV1. B. 0 := GV. NDO. AV101 AND GV_IL.AV101_EN; //预抽阀
  291. // ECC. EV1. B. 1 := GV. NDO. AV102 AND GV_IL.AV102_EN; //分子泵前级阀
  292. // ECC. EV1. B. 2 := GV. NDO. ;
  293. // ECC. EV1. B. 3 := GV. NDO. ;
  294. // ECC. EV1. B. 4 := GV. NDO. ;
  295. // ECC. EV1. B. 5 := GV. NDO. ;
  296. // ECC. EV1. B. 6 := GV. NDO. ;
  297. // ECC. EV1. B. 7 := GV. NDO. ;
  298. // ECC. EV1. C. 0 := GV. NDO. ;
  299. // ECC. EV1. C. 1 := GV. NDO. ;
  300. // ECC. EV1. C. 2 := GV. NDO. ;
  301. // ECC. EV1. C. 3 := GV. NDO. ;
  302. // ECC. EV1. C. 4 := GV. NDO. ;
  303. // ECC. EV1. C. 5 := GV. NDO. ;
  304. // ECC. EV1. C. 6 := GV. NDO. ;
  305. // ECC. EV1. C. 7 := GV. NDO. ;
  306. // ECC. EV1. D. 0 := GV. NDO. ;
  307. // ECC. EV1. D. 1 := GV. NDO. ;
  308. // ECC. EV1. D. 2 := GV. NDO. ;
  309. // ECC. EV1. D. 3 := GV. NDO. ;
  310. // ECC. EV1. D. 4 := GV. NDO. ;
  311. // ECC. EV1. D. 5 := GV. NDO. ;
  312. // ECC. EV1. D. 6 := GV. NDO. ;
  313. // ECC. EV1. D. 7 := GV. NDO. ;
  314. // ECC. EV2. A. 0 := GV. NDO. ;
  315. // ECC. EV2. A. 1 := GV. NDO. ;
  316. ECC. EV2. A. 2 := GV. NDO. AV107 ; //钟摆阀动作使能保持阀
  317. ECC. EV2. A. 3 := GV. NDO. AV112;
  318. ECC. EV2. A. 4 := GV. NDO. AV105 AND GV_IL.AV105_EN; //BA101关断阀
  319. ECC. EV2. A. 5 := GV. NDO. AV106 AND GV_IL.AV106_EN; //酸排关断阀
  320. ECC. EV2. A. 6 := GV. NDO. AV103 AND GV_IL.AV103_EN;
  321. ECC. EV2. A. 7 := GV. NDO. AV104 AND GV_IL.AV104_EN; //VG103关断阀
  322. ECC. EV2. B. 0 := GV. NDO. AV101 AND GV_IL.AV101_EN; //预抽阀
  323. ECC. EV2. B. 1 := GV. NDO. AV102 AND GV_IL.AV102_EN; //分子泵前级阀
  324. // ECC. EV2. B. 2 := GV. NDO. ;
  325. // ECC. EV2. B. 3 := GV. NDO. ;
  326. // ECC. EV2. B. 4 := GV. NDO. ;
  327. // ECC. EV2. B. 5 := GV. NDO. ;
  328. // ECC. EV2. B. 6 := GV. NDO. ;
  329. // ECC. EV2. B. 7 := GV. NDO. ;
  330. // ECC. EV2. C. 0 := GV. NDO. ;
  331. // ECC. EV2. C. 1 := GV. NDO. ;
  332. // ECC. EV2. C. 2 := GV. NDO. ;
  333. // ECC. EV2. C. 3 := GV. NDO. ;
  334. // ECC. EV2. C. 4 := GV. NDO. ;
  335. // ECC. EV2. C. 5 := GV. NDO. ;
  336. // ECC. EV2. C. 6 := GV. NDO. ;
  337. // ECC. EV2. C. 7 := GV. NDO. ;
  338. // ECC. EV2. D. 0 := GV. NDO. ;
  339. // ECC. EV2. D. 1 := GV. NDO. ;
  340. // ECC. EV2. D. 2 := GV. NDO. ;
  341. // ECC. EV2. D. 3 := GV. NDO. ;
  342. // ECC. EV2. D. 4 := GV. NDO. ;
  343. // ECC. EV2. D. 5 := GV. NDO. ;
  344. // ECC. EV2. D. 6 := GV. NDO. ;
  345. // ECC. EV2. D. 7 := GV. NDO. ;
  346. //gas box内
  347. // ECC. EV3. A. 0 := GV. NDO. AV1 ; //
  348. // ECC. EV3. A. 1 := GV. NDO. AV2 ;
  349. // ECC. EV3. A. 2 := GV. NDO. AV3 ;
  350. // ECC. EV3. A. 3 := GV. NDO. AV4 ;
  351. // ECC. EV3. A. 4 := GV. NDO. AV6 ;
  352. // ECC. EV3. A. 5 := GV. NDO. AV7 ;
  353. ECC. EV3. A. 6 := GV. NDO. AV5 AND GV_IL.AV5_EN ;
  354. ECC. EV3. A. 7 := GV. NDO. AV26 AND GV_IL.AV26_EN;
  355. ECC. EV3. B. 0 := GV. NDO. AV3 AND GV_IL.AV3_EN;
  356. ECC. EV3. B. 1 := GV. NDO. AV4 AND GV_IL.AV4_EN;
  357. ECC. EV3. B. 2 := GV. NDO. AV1 AND GV_IL.AV1_EN;
  358. ECC. EV3. B. 3 := GV. NDO. AV2 AND GV_IL.AV2_EN;
  359. // ECC. EV3. B. 4 := GV. NDO. AV16;
  360. // ECC. EV3. B. 5 := GV. NDO. AV17;
  361. // ECC. EV3. B. 6 := GV. NDO. AV19;
  362. // ECC. EV3. B. 7 := GV. NDO. AV20;
  363. // ECC. EV3. C. 0 := GV. NDO. AV22;
  364. // ECC. EV3. C. 1 := GV. NDO. AV23;
  365. // ECC. EV3. C. 2 := GV. NDO. AV25;
  366. // ECC. EV3. C. 3 := GV. NDO. AV26;
  367. // ECC. EV3. C. 4 := GV. NDO. AV27;
  368. // ECC. EV3. C. 5 := GV. NDO. ;
  369. // ECC. EV3. C. 6 := GV. NDO. ;
  370. // ECC. EV3. C. 7 := GV. NDO. ;
  371. // ECC. EV3. D. 0 := GV. NDO. ;
  372. // ECC. EV3. D. 1 := GV. NDO. ;
  373. // ECC. EV3. D. 2 := GV. NDO. ;
  374. // ECC. EV3. D. 3 := GV. NDO. ;
  375. // ECC. EV3. D. 4 := GV. NDO. ;
  376. // ECC. EV3. D. 5 := GV. NDO. ;
  377. // ECC. EV3. D. 6 := GV. NDO. ;
  378. // ECC. EV3. D. 7 := GV. NDO. ;
  379. //APC
  380. GV. AI. APC. ACTUAL_PRESSURE := ECC. APC_PV.Actual_Pressure *100/133.3*1000;
  381. GV. AI. APC. Pressure_Sensor_1 := ECC. APC_PV.Pressure_Sensor_1 *100/133.3*1000;
  382. GV. AI. APC. Pressure_Sensor_2 := ECC. APC_PV.Pressure_Sensor_2 *100/133.3*1000;
  383. GV. AI. APC. ACTUAL_POSITION := ECC. APC_PV.Actual_Position/0.1*0.1 ;
  384. GV. AI. APC. CONTROL_MODE := ECC. APC_PV.Control_Mode ;
  385. GV. AI. APC. ERROR_NUMBER := ECC. APC_PV.ERROR_NUMBER ;
  386. GV. AI. APC. General_Status := ECC. APC_PV.General_Status ;
  387. GV. AI. APC. GENERAL_WARNINGS := ECC. APC_PV.General_Warnings ;
  388. GV. AI. APC. Extended_Warnings := ECC. APC_PV.Extended_Warnings ;
  389. ECC. APC_SV.Target_Pressure := GV. AO. APC. TARGET_PRESSURE*0.1333/100 ;
  390. ECC. APC_SV.Target_Position := GV. AO. APC. TARGET_POSITION ;
  391. ECC. APC_SV.Pressure_Input_Digital_Sensor_1 := GV. AO. APC. Pressure_Input_Digital_Sensor_1 ; //E-therCAT通讯传送过来的sensor值1
  392. ECC. APC_SV.Pressure_Input_Digital_Sensor_2 := GV. AO. APC. Pressure_Input_Digital_Sensor_2 ; //E-therCAT通讯传送过来的sensor值2
  393. ECC. APC_SV.Control_Mode := GV. AO. APC. CONTROL_MODE ;
  394. ECC. APC_SV.General_Control_Setpoint := GV. AO. APC. General_Control_Setpoint ; (*Bit 0: Zero
  395. BIT 1: NOT used
  396. Bit 2: Ping Pong TX Bit
  397. Bit 3: Not Used
  398. Bit 4: Access Mode Locked (VAT使用手册P72)
  399. Bit 5-15: Not Used
  400. *)
  401. ECC. APC_SV.Pressure_Ramp_Time := GV. AO. APC. PRESSURE_RAMP_TIME ;
  402. //TMP
  403. GV. AI. TMP. ROTATION := ECC. TURBO_PV.Rotation ; //1:ROTATING,0:NOT ROTATING
  404. GV. AI. TMP. NORMAL := ECC. TURBO_PV.Normal ; //1:NORMAL,0:UNNORMAL
  405. GV. AI. TMP. ACCELERATION := ECC. TURBO_PV.Acceleration ;
  406. GV. AI. TMP. Deceleration_Includes_Braking := ECC. TURBO_PV.Deceleration_Includes_Braking ;
  407. GV. AI. TMP. REMOTE_LOCAL := ECC. TURBO_PV.Remote_Local ; //1:LOCAL.E-CAT CONTROL DISABLED,0:REMOTE.E-CAT CONTROL ENABLED
  408. GV. AI. TMP. Turbo_Low_Speed := ECC. TURBO_PV.Turbo_Low_Speed ;
  409. GV. AI. TMP. ALARM := NOT ECC. TURBO_PV.Alarm ;
  410. GV. AI. TMP. WARNING := NOT ECC. TURBO_PV.Warning ;
  411. 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
  412. GV. AI. TMP. Turbo_Current := ECC. TURBO_PV.Turbo_Current ; //0.1A
  413. GV. AI. TMP. Turbo_pump_temperature := ECC. TURBO_PV.Turbo_pump_temperature ; //1[℃]
  414. //GV. AI. TMP. VibrationH := ECC. TURBO_PV.VibrationH ;
  415. //GV. AI. TMP. VibrationB := ECC. TURBO_PV.VibrationB ;
  416. //GV. AI. TMP. VibrationZ := ECC. TURBO_PV.VibrationZ ;
  417. ECC. TURBO_SV.Turbo_Start_Stop := GV. AO. TMP. Turbo_Start_Stop ; //1:START,0:STOP
  418. ECC. TURBO_SV.Turbo_Reset_Alarm := GV. AO. TMP. Turbo_Reset_Alarm ; //1:RESET ALARM,0:NO ACTION
  419. ECC. TURBO_SV.Turbo_Low_Speed := GV. AO. TMP. Turbo_Low_Speed ; //1:LOW SPEED MODE ON,0:OFF
  420. //PG PS
  421. GV. AI. VG103_PV :=GV.AI.VG103_Pressure := ECC. VG103_PV.Sensor_Value1 /133.3 *1000 ;
  422. GV. AI. VG101_PV :=GV.AI.VG101_Pressure := ECC. VG101_PV.Sensor_Value1 /133.3 *1000 ;
  423. GV. AI. VG102_PV :=GV.AI.VG102_Pressure := ECC. VG102_PV.Sensor_Value1 /133.3 *1000 ;
  424. GV. AI. BA1_PV :=GV.AI.BA1_Pressure := ECC. BA1_PV.Combination_Gauge_Active_Value_Module_1 /133.3 ;
  425. GV. AI. VG104_PV :=GV.AI.VG104_Pressure := ECC. VG104_PV.Sensor_Value1 /133.3 *1000 ;
  426. //STAGE
  427. ECC. STAGE_SV[1] := GV.STAGE_HEATER_SCR_OUTPUT[1] ;
  428. ECC. STAGE_SV[2] := GV.STAGE_HEATER_SCR_OUTPUT[2] ;
  429. ECC. STAGE_SV[3] := GV.STAGE_HEATER_SCR_OUTPUT[3] ;
  430. ECC. STAGE_SV[4] := GV.STAGE_HEATER_SCR_OUTPUT[4] ;
  431. ]]></ST>
  432. </Implementation>
  433. <Action Name="PLC_TO_UI" Id="{308170b8-f1d3-4133-861e-81772d2e0f4b}">
  434. <Implementation>
  435. <ST><![CDATA[PM.HeartBeat:=UI.HeartBeat;
  436. PM.NDI:=GV.NDI;
  437. PM.AI:=GV.AI;
  438. GV.NDI. AV1 :=ECC. EV3. B. 2 ;
  439. GV.NDI. AV2 :=ECC. EV3. B. 3 ;
  440. GV.NDI. AV3 :=ECC. EV3. B. 0 ;
  441. GV.NDI. AV4 :=ECC. EV3. B. 1 ;
  442. GV.NDI. AV5 :=ECC. EV3. A. 6 ;
  443. GV.NDI. AV26 :=ECC. EV3. A. 7 ;
  444. GV.NDI. AV27 :=GV.NDO. AV27 ;
  445. ]]></ST>
  446. </Implementation>
  447. </Action>
  448. <Action Name="UI_TO_PLC" Id="{e00ab8bc-27a3-45cb-b824-e905ffab79ed}">
  449. <Implementation>
  450. <ST><![CDATA[
  451. //CONFIG
  452. GV.PMConfig:=UI.PMConfig;
  453. GV.MFCVerification:=UI.MFCVerification;
  454. GV.Chiller:=UI.Chiller;
  455. GV.InnerChiller:=UI.InnerChiller;
  456. GV.OuterChiller:=UI.OuterChiller;
  457. GV.TopChiller:=UI.TopChiller;
  458. GV.DryPump:=UI.DryPump;
  459. GV.Mfcgas1:=UI.Mfcgas1;
  460. GV.Mfcgas2:=UI.Mfcgas2;
  461. GV.Mfcgas3:=UI.Mfcgas3;
  462. GV.Mfcgas4:=UI.Mfcgas4;
  463. GV.Mfcgas5:=UI.Mfcgas5;
  464. GV.Mfcgas6:=UI.Mfcgas6;
  465. GV.Mfcgas7:=UI.Mfcgas7;
  466. GV.Mfcgas8:=UI.Mfcgas8;
  467. GV.Mfcgas9:=UI.Mfcgas9;
  468. GV.Mfcgas10:=UI.Mfcgas10;
  469. GV.Mfcgas11:=UI.Mfcgas11;
  470. GV.Mfcgas12:=UI.Mfcgas12;
  471. GV.MfcN2:=UI.MfcN2;
  472. GV.MfcHe:=UI.MfcHe;
  473. GV.Pump:=UI.Pump;
  474. GV.Purge:=UI.Purge;
  475. GV.PendulumHeater:=UI.PendulumHeater;
  476. GV.LidHeater:=UI.LidHeater;
  477. GV.ChamberHeater:=UI.ChamberHeater;
  478. GV.IGSHeater:=UI.IGSHeater;
  479. GV.TapeHeater:=UI.TapeHeater;
  480. GV.ForelineHeater:=UI.ForelineHeater;
  481. GV.STAGE:=UI.STAGE;
  482. GV.ElectrostaticVoltageSource:=UI.ElectrostaticVoltageSource;
  483. GV.TurboPump:=UI.TurboPump;
  484. GV.PendulumValve:=UI.PendulumValve;
  485. GV.IdleClean:=UI.IdleClean;
  486. GV.EPD:=UI.EPD;
  487. GV.HighTemperatureChiller:=UI.HighTemperatureChiller;
  488. GV.ChamberHeater:=UI.ChamberHeater;
  489. GV.ChamberHeater:=UI.ChamberHeater;
  490. //Status
  491. GV.AO. AV102_Temp_SV := UI.AO. AV102_Temp_SV ;
  492. GV.AO. AV101_Temp_SV := UI.AO. AV101_Temp_SV ;
  493. GV.AO. AV104_Temp_SV := UI.AO. AV104_Temp_SV ;
  494. GV.AO. AV105_Temp_SV := UI.AO. AV105_Temp_SV ;
  495. GV.AO. Exhaust1_3_Temp_SV := UI.AO. Exhaust1_3_Temp_SV ;
  496. GV.AO. Exhaust4_7_Temp_SV := UI.AO. Exhaust4_7_Temp_SV ;
  497. GV.AO. VG101_Pipe_Temp_SV := UI.AO. VG101_Pipe_Temp_SV ;
  498. GV.AO. Gate_Valve_Temp_SV := UI.AO. Gate_Valve_Temp_SV ;
  499. GV.AO. APC_Temp_SV := UI.AO. APC_Temp_SV ;
  500. GV.AO. TMP_Temp_SV := UI.AO. TMP_Temp_SV ;
  501. GV.AO. Tape_Temp1_SV := UI.AO. Tape_Temp1_SV ;
  502. GV.AO. Tape_Temp2_SV := UI.AO. Tape_Temp2_SV ;
  503. GV.AO. Tape_Temp3_SV := UI.AO. Tape_Temp3_SV ;
  504. GV.AO. Tape_Temp4_SV := UI.AO. Tape_Temp4_SV ;
  505. GV.AO. IGS_Temp1_SV := UI.AO. IGS_Temp1_SV ;
  506. GV.AO. IGS_Temp2_SV := UI.AO. IGS_Temp2_SV ;
  507. GV.AO. Chiller_Temp1_SV := UI.AO. Chiller_Temp1_SV ;
  508. GV.AO. Chiller_Temp2_SV := UI.AO. Chiller_Temp2_SV ;
  509. GV.AO. TMP. Turbo_Start_Stop := UI.AO. TMP. Turbo_Start_Stop ;
  510. GV.AO. TMP. Turbo_Reset_Alarm := UI.AO. TMP. Turbo_Reset_Alarm ;
  511. GV.AO. TMP. Turbo_Low_Speed := UI.AO. TMP. Turbo_Low_Speed ;
  512. GV.NDO.AV104:=UI.NDO.AV104;
  513. GV.NDO.AV105:=UI.NDO.AV105;
  514. IF NOT MAIN.Process_EN THEN
  515. GV.NDO := UI.NDO;
  516. GV.AO. LID_Temp_SV := UI.AO. LID_Temp_SV ;
  517. GV.AO. Chamber_Temp1_SV := UI.AO. Chamber_Temp1_SV ;
  518. GV.AO. Chamber_Temp2_SV := UI.AO. Chamber_Temp2_SV ;
  519. GV.AO. Chamber_Temp3_SV := UI.AO. Chamber_Temp3_SV ;
  520. GV.AO. MFC1_Flow_Setpoint := UI.AO. MFC1_Flow_Setpoint ;
  521. GV.AO. MFC1_Rate_Setpoint := UI.AO. MFC1_Rate_Setpoint ;
  522. GV.AO. MFC2_Flow_Setpoint := UI.AO. MFC2_Flow_Setpoint ;
  523. GV.AO. MFC2_Rate_Setpoint := UI.AO. MFC2_Rate_Setpoint ;
  524. GV.AO. MFC3_Flow_Setpoint := UI.AO. MFC3_Flow_Setpoint ;
  525. GV.AO. MFC3_Rate_Setpoint := UI.AO. MFC3_Rate_Setpoint ;
  526. GV.AO. MFC4_Flow_Setpoint := UI.AO. MFC4_Flow_Setpoint ;
  527. GV.AO. MFC4_Rate_Setpoint := UI.AO. MFC4_Rate_Setpoint ;
  528. GV.AO. MFC5_Flow_Setpoint := UI.AO. MFC5_Flow_Setpoint ;
  529. GV.AO. MFC5_Rate_Setpoint := UI.AO. MFC5_Rate_Setpoint ;
  530. GV.AO. MFC6_Flow_Setpoint := UI.AO. MFC6_Flow_Setpoint ;
  531. GV.AO. MFC6_Rate_Setpoint := UI.AO. MFC6_Rate_Setpoint ;
  532. GV.AO. MFC7_Flow_Setpoint := UI.AO. MFC7_Flow_Setpoint ;
  533. GV.AO. MFC7_Rate_Setpoint := UI.AO. MFC7_Rate_Setpoint ;
  534. GV.AO. Stage_Temp1_SV := UI.AO. Stage_Temp1_SV ;
  535. GV.AO. Stage_Temp2_SV := UI.AO. Stage_Temp2_SV ;
  536. GV.AO. Stage_Temp3_SV := UI.AO. Stage_Temp3_SV ;
  537. GV.AO. Stage_Temp4_SV := UI.AO. Stage_Temp4_SV ;
  538. GV.AO. APC. Target_Pressure := UI.AO. APC. Target_Pressure ;
  539. GV.AO. APC. Target_Position := UI.AO. APC. Target_Position ;
  540. //GV.AO. APC. Pressure_Input_Digital_Sensor_1 := UI.AO. APC. Pressure_Input_Digital_Sensor_1 ;
  541. //GV.AO. APC. Pressure_Input_Digital_Sensor_2 := UI.AO. APC. Pressure_Input_Digital_Sensor_2 ;
  542. IF GV_IL.APC_EN THEN
  543. GV.AO. APC. Control_Mode := UI.AO. APC. Control_Mode ;
  544. ELSE
  545. GV.AO. APC. Control_Mode := 3 ;
  546. END_IF
  547. GV.AO. APC. General_Control_Setpoint := UI.AO. APC. General_Control_Setpoint ;
  548. GV.AO. APC. Pressure_Ramp_Time := UI.AO. APC. Pressure_Ramp_Time ;
  549. END_IF
  550. //RECIPE
  551. GV.Step_Num:=UI.Step_Num;
  552. GV.SetpArray:=UI.SetpArray;
  553. GV.Process_Start:=UI.Process_Start;
  554. GV.Process_Stop:=UI.Process_Stop;]]></ST>
  555. </Implementation>
  556. </Action>
  557. <LineIds Name="IO_EXCHANGE">
  558. <LineId Id="1993" Count="0" />
  559. <LineId Id="1995" Count="0" />
  560. <LineId Id="1994" Count="0" />
  561. <LineId Id="1449" Count="0" />
  562. <LineId Id="1980" Count="0" />
  563. <LineId Id="1450" Count="13" />
  564. <LineId Id="1951" Count="0" />
  565. <LineId Id="1464" Count="1" />
  566. <LineId Id="1952" Count="0" />
  567. <LineId Id="1981" Count="0" />
  568. <LineId Id="1470" Count="14" />
  569. <LineId Id="1953" Count="0" />
  570. <LineId Id="1486" Count="0" />
  571. <LineId Id="1982" Count="0" />
  572. <LineId Id="1487" Count="2" />
  573. <LineId Id="1492" Count="2" />
  574. <LineId Id="1983" Count="0" />
  575. <LineId Id="1496" Count="0" />
  576. <LineId Id="1498" Count="7" />
  577. <LineId Id="1984" Count="0" />
  578. <LineId Id="2022" Count="3" />
  579. <LineId Id="1511" Count="47" />
  580. <LineId Id="1999" Count="0" />
  581. <LineId Id="1560" Count="34" />
  582. <LineId Id="2001" Count="0" />
  583. <LineId Id="2003" Count="8" />
  584. <LineId Id="1985" Count="0" />
  585. <LineId Id="2002" Count="0" />
  586. <LineId Id="1595" Count="65" />
  587. <LineId Id="1986" Count="0" />
  588. <LineId Id="1661" Count="0" />
  589. <LineId Id="1663" Count="3" />
  590. <LineId Id="1987" Count="0" />
  591. <LineId Id="1668" Count="0" />
  592. <LineId Id="1670" Count="7" />
  593. <LineId Id="1988" Count="0" />
  594. <LineId Id="1678" Count="16" />
  595. <LineId Id="1989" Count="0" />
  596. <LineId Id="1695" Count="0" />
  597. <LineId Id="1697" Count="139" />
  598. <LineId Id="1874" Count="14" />
  599. <LineId Id="1957" Count="0" />
  600. <LineId Id="1967" Count="1" />
  601. <LineId Id="1971" Count="0" />
  602. <LineId Id="1973" Count="0" />
  603. <LineId Id="1975" Count="1" />
  604. <LineId Id="1890" Count="19" />
  605. <LineId Id="1911" Count="13" />
  606. <LineId Id="2026" Count="2" />
  607. <LineId Id="1947" Count="0" />
  608. </LineIds>
  609. <LineIds Name="IO_EXCHANGE.PLC_TO_UI">
  610. <LineId Id="1" Count="0" />
  611. <LineId Id="3" Count="0" />
  612. <LineId Id="2" Count="0" />
  613. <LineId Id="5" Count="4" />
  614. <LineId Id="30" Count="1" />
  615. <LineId Id="4" Count="0" />
  616. </LineIds>
  617. <LineIds Name="IO_EXCHANGE.UI_TO_PLC">
  618. <LineId Id="58" Count="0" />
  619. <LineId Id="60" Count="0" />
  620. <LineId Id="2" Count="36" />
  621. <LineId Id="246" Count="0" />
  622. <LineId Id="39" Count="11" />
  623. <LineId Id="61" Count="0" />
  624. <LineId Id="51" Count="0" />
  625. <LineId Id="68" Count="0" />
  626. <LineId Id="66" Count="0" />
  627. <LineId Id="195" Count="3" />
  628. <LineId Id="238" Count="1" />
  629. <LineId Id="233" Count="0" />
  630. <LineId Id="199" Count="7" />
  631. <LineId Id="181" Count="0" />
  632. <LineId Id="208" Count="1" />
  633. <LineId Id="212" Count="1" />
  634. <LineId Id="211" Count="0" />
  635. <LineId Id="214" Count="0" />
  636. <LineId Id="244" Count="0" />
  637. <LineId Id="243" Count="0" />
  638. <LineId Id="245" Count="0" />
  639. <LineId Id="179" Count="0" />
  640. <LineId Id="240" Count="0" />
  641. <LineId Id="222" Count="0" />
  642. <LineId Id="225" Count="3" />
  643. <LineId Id="221" Count="0" />
  644. <LineId Id="124" Count="13" />
  645. <LineId Id="167" Count="1" />
  646. <LineId Id="241" Count="1" />
  647. <LineId Id="169" Count="3" />
  648. <LineId Id="247" Count="3" />
  649. <LineId Id="173" Count="2" />
  650. <LineId Id="62" Count="0" />
  651. <LineId Id="55" Count="1" />
  652. <LineId Id="63" Count="2" />
  653. <LineId Id="1" Count="0" />
  654. <LineId Id="180" Count="0" />
  655. </LineIds>
  656. </POU>
  657. </TcPlcObject>