IO_EXCHANGE.TcPOU 32 KB

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