FFU.TcPOU 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
  3. <POU Name="FFU" Id="{cfe90371-682c-484c-8fca-5dcd9ed042b1}" SpecialFunc="None">
  4. <Declaration><![CDATA[FUNCTION_BLOCK FFU
  5. VAR_INPUT
  6. END_VAR
  7. VAR_OUTPUT
  8. END_VAR
  9. VAR
  10. MBMaster :ModbusRtuMaster_KL6x22B; // ModbusRTU Master功能块
  11. STAGE :INT;
  12. STAGE_BF :INT;
  13. FFU_ALARM_EN :UINT; //报警输出使能
  14. FFU_HSPEED :UINT; //转速上限
  15. FFU_LSPEED :UINT; //转速下限
  16. DATA_READ :ARRAY[1..18] OF UINT;
  17. DATA_WRITE :ARRAY[1..18] OF UINT;
  18. FFU_AI_STATUS :ARRAY[1..18] OF UINT;
  19. FFU_AI_SPEED_PV :ARRAY[1..18] OF UINT;
  20. FFU_AO_CTRLWORD :ARRAY[1..3] OF UINT;
  21. FFU_AO_POWER_ON :ARRAY[1..18] OF UINT;
  22. FFU_AO_SPEED_SV :ARRAY[1..18] OF WORD;
  23. FFU_AO_EN :ARRAY[1..18] OF UINT;
  24. FFU_CTRLWORD_BUFFER :ARRAY[1..3] OF UINT;
  25. FFU_POWER_ON_BUFFER :ARRAY[1..18] OF UINT;
  26. FFU_SPEED_SV_BUFFER :ARRAY[1..18] OF UINT;
  27. FFU_EN_BUFFER :ARRAY[1..18] OF UINT;
  28. WRITE_EN1 :DINT;
  29. WRITE_EN2 :DINT;
  30. WRITE_EN3 :DINT;
  31. WRITE_EN4 :DINT;
  32. WRITE_EN5 :DINT;
  33. WRITE_EN6 :DINT;
  34. WRITE_EN7 :DINT;
  35. FORCE_WRITE_TIMES :INT;
  36. FORCE_WRITE :BOOL;
  37. ERRID :INT;
  38. TEST1:BOOL;
  39. TEST2:BOOL;
  40. TEST3:BOOL;
  41. TEST4:BOOL;
  42. TEST5:BOOL;
  43. TEST6:BOOL;
  44. TEST7:BOOL;
  45. END_VAR
  46. ]]></Declaration>
  47. <Implementation>
  48. <ST><![CDATA[//AI数据
  49. AI. FFU1_1_STATUS := FFU_AI_STATUS [ 1 ] ;
  50. AI. FFU1_2_STATUS := FFU_AI_STATUS [ 2 ] ;
  51. AI. FFU1_3_STATUS := FFU_AI_STATUS [ 3 ] ;
  52. AI. FFU1_4_STATUS := FFU_AI_STATUS [ 4 ] ;
  53. AI. FFU1_5_STATUS := FFU_AI_STATUS [ 5 ] ;
  54. AI. FFU1_6_STATUS := FFU_AI_STATUS [ 6 ] ;
  55. AI. FFU2_1_STATUS := FFU_AI_STATUS [ 7 ] ;
  56. AI. FFU2_2_STATUS := FFU_AI_STATUS [ 8 ] ;
  57. AI. FFU2_3_STATUS := FFU_AI_STATUS [ 9 ] ;
  58. AI. FFU2_4_STATUS := FFU_AI_STATUS [ 10 ] ;
  59. AI. FFU2_5_STATUS := FFU_AI_STATUS [ 11 ] ;
  60. AI. FFU2_6_STATUS := FFU_AI_STATUS [ 12 ] ;
  61. AI. FFU3_1_STATUS := FFU_AI_STATUS [ 13 ] ;
  62. AI. FFU3_2_STATUS := FFU_AI_STATUS [ 14 ] ;
  63. AI. FFU3_3_STATUS := FFU_AI_STATUS [ 15 ] ;
  64. AI. FFU3_4_STATUS := FFU_AI_STATUS [ 16 ] ;
  65. AI. FFU3_5_STATUS := FFU_AI_STATUS [ 17 ] ;
  66. AI. FFU3_6_STATUS := FFU_AI_STATUS [ 18 ] ;
  67. AI. FFU1_1_SPEED_PV := FFU_AI_SPEED_PV [ 1 ] ;
  68. AI. FFU1_2_SPEED_PV := FFU_AI_SPEED_PV [ 2 ] ;
  69. AI. FFU1_3_SPEED_PV := FFU_AI_SPEED_PV [ 3 ] ;
  70. AI. FFU1_4_SPEED_PV := FFU_AI_SPEED_PV [ 4 ] ;
  71. AI. FFU1_5_SPEED_PV := FFU_AI_SPEED_PV [ 5 ] ;
  72. AI. FFU1_6_SPEED_PV := FFU_AI_SPEED_PV [ 6 ] ;
  73. AI. FFU2_1_SPEED_PV := FFU_AI_SPEED_PV [ 7 ] ;
  74. AI. FFU2_2_SPEED_PV := FFU_AI_SPEED_PV [ 8 ] ;
  75. AI. FFU2_3_SPEED_PV := FFU_AI_SPEED_PV [ 9 ] ;
  76. AI. FFU2_4_SPEED_PV := FFU_AI_SPEED_PV [ 10 ] ;
  77. AI. FFU2_5_SPEED_PV := FFU_AI_SPEED_PV [ 11 ] ;
  78. AI. FFU2_6_SPEED_PV := FFU_AI_SPEED_PV [ 12 ] ;
  79. AI. FFU3_1_SPEED_PV := FFU_AI_SPEED_PV [ 13 ] ;
  80. AI. FFU3_2_SPEED_PV := FFU_AI_SPEED_PV [ 14 ] ;
  81. AI. FFU3_3_SPEED_PV := FFU_AI_SPEED_PV [ 15 ] ;
  82. AI. FFU3_4_SPEED_PV := FFU_AI_SPEED_PV [ 16 ] ;
  83. AI. FFU3_5_SPEED_PV := FFU_AI_SPEED_PV [ 17 ] ;
  84. AI. FFU3_6_SPEED_PV := FFU_AI_SPEED_PV [ 18 ] ;
  85. //AO数据比较
  86. FFU_AO_CTRLWORD [ 1 ] := AO. FFU_ALARM_EN ;
  87. FFU_AO_CTRLWORD [ 2 ] := AO. FFU_LSPEED ;
  88. FFU_AO_CTRLWORD [ 3 ] := AO. FFU_HSPEED ;
  89. FFU_AO_POWER_ON [ 1 ] := AO. FFU1_1_POWER_ON ;
  90. FFU_AO_POWER_ON [ 2 ] := AO. FFU1_2_POWER_ON ;
  91. FFU_AO_POWER_ON [ 3 ] := AO. FFU1_3_POWER_ON ;
  92. FFU_AO_POWER_ON [ 4 ] := AO. FFU1_4_POWER_ON ;
  93. FFU_AO_POWER_ON [ 5 ] := AO. FFU1_5_POWER_ON ;
  94. FFU_AO_POWER_ON [ 6 ] := AO. FFU1_6_POWER_ON ;
  95. FFU_AO_POWER_ON [ 7 ] := AO. FFU2_1_POWER_ON ;
  96. FFU_AO_POWER_ON [ 8 ] := AO. FFU2_2_POWER_ON ;
  97. FFU_AO_POWER_ON [ 9 ] := AO. FFU2_3_POWER_ON ;
  98. FFU_AO_POWER_ON [ 10 ] := AO. FFU2_4_POWER_ON ;
  99. FFU_AO_POWER_ON [ 11 ] := AO. FFU2_5_POWER_ON ;
  100. FFU_AO_POWER_ON [ 12 ] := AO. FFU2_6_POWER_ON ;
  101. FFU_AO_POWER_ON [ 13 ] := AO. FFU3_1_POWER_ON ;
  102. FFU_AO_POWER_ON [ 14 ] := AO. FFU3_2_POWER_ON ;
  103. FFU_AO_POWER_ON [ 15 ] := AO. FFU3_3_POWER_ON ;
  104. FFU_AO_POWER_ON [ 16 ] := AO. FFU3_4_POWER_ON ;
  105. FFU_AO_POWER_ON [ 17 ] := AO. FFU3_5_POWER_ON ;
  106. FFU_AO_POWER_ON [ 18 ] := AO. FFU3_6_POWER_ON ;
  107. FFU_AO_SPEED_SV [ 1 ] := AO. FFU1_1_SPEED_SV ;
  108. FFU_AO_SPEED_SV [ 2 ] := AO. FFU1_2_SPEED_SV ;
  109. FFU_AO_SPEED_SV [ 3 ] := AO. FFU1_3_SPEED_SV ;
  110. FFU_AO_SPEED_SV [ 4 ] := AO. FFU1_4_SPEED_SV ;
  111. FFU_AO_SPEED_SV [ 5 ] := AO. FFU1_5_SPEED_SV ;
  112. FFU_AO_SPEED_SV [ 6 ] := AO. FFU1_6_SPEED_SV ;
  113. FFU_AO_SPEED_SV [ 7 ] := AO. FFU2_1_SPEED_SV ;
  114. FFU_AO_SPEED_SV [ 8 ] := AO. FFU2_2_SPEED_SV ;
  115. FFU_AO_SPEED_SV [ 9 ] := AO. FFU2_3_SPEED_SV ;
  116. FFU_AO_SPEED_SV [ 10 ] := AO. FFU2_4_SPEED_SV ;
  117. FFU_AO_SPEED_SV [ 11 ] := AO. FFU2_5_SPEED_SV ;
  118. FFU_AO_SPEED_SV [ 12 ] := AO. FFU2_6_SPEED_SV ;
  119. FFU_AO_SPEED_SV [ 13 ] := AO. FFU3_1_SPEED_SV ;
  120. FFU_AO_SPEED_SV [ 14 ] := AO. FFU3_2_SPEED_SV ;
  121. FFU_AO_SPEED_SV [ 15 ] := AO. FFU3_3_SPEED_SV ;
  122. FFU_AO_SPEED_SV [ 16 ] := AO. FFU3_4_SPEED_SV ;
  123. FFU_AO_SPEED_SV [ 17 ] := AO. FFU3_5_SPEED_SV ;
  124. FFU_AO_SPEED_SV [ 18 ] := AO. FFU3_6_SPEED_SV ;
  125. FFU_AO_EN [ 1 ] := AO. FFU1_1_EN ;
  126. FFU_AO_EN [ 2 ] := AO. FFU1_2_EN ;
  127. FFU_AO_EN [ 3 ] := AO. FFU1_3_EN ;
  128. FFU_AO_EN [ 4 ] := AO. FFU1_4_EN ;
  129. FFU_AO_EN [ 5 ] := AO. FFU1_5_EN ;
  130. FFU_AO_EN [ 6 ] := AO. FFU1_6_EN ;
  131. FFU_AO_EN [ 7 ] := AO. FFU2_1_EN ;
  132. FFU_AO_EN [ 8 ] := AO. FFU2_2_EN ;
  133. FFU_AO_EN [ 9 ] := AO. FFU2_3_EN ;
  134. FFU_AO_EN [ 10 ] := AO. FFU2_4_EN ;
  135. FFU_AO_EN [ 11 ] := AO. FFU2_5_EN ;
  136. FFU_AO_EN [ 12 ] := AO. FFU2_6_EN ;
  137. FFU_AO_EN [ 13 ] := AO. FFU3_1_EN ;
  138. FFU_AO_EN [ 14 ] := AO. FFU3_2_EN ;
  139. FFU_AO_EN [ 15 ] := AO. FFU3_3_EN ;
  140. FFU_AO_EN [ 16 ] := AO. FFU3_4_EN ;
  141. FFU_AO_EN [ 17 ] := AO. FFU3_5_EN ;
  142. FFU_AO_EN [ 18 ] := AO. FFU3_6_EN ;
  143. WRITE_EN1:=MEMCMP(pBuf1:=ADR(FFU_AO_CTRLWORD) , pBuf2:= ADR(FFU_CTRLWORD_BUFFER), n:=SIZEOF(FFU_CTRLWORD_BUFFER) );
  144. WRITE_EN2:=MEMCMP(pBuf1:=ADR(FFU_AO_POWER_ON) , pBuf2:= ADR(FFU_POWER_ON_BUFFER), n:=SIZEOF(FFU_POWER_ON_BUFFER) );
  145. WRITE_EN3:=MEMCMP(pBuf1:=ADR(FFU_AO_SPEED_SV) , pBuf2:= ADR(FFU_SPEED_SV_BUFFER), n:=SIZEOF(FFU_SPEED_SV_BUFFER) );
  146. WRITE_EN4:=MEMCMP(pBuf1:=ADR(FFU_AO_EN) , pBuf2:= ADR(FFU_EN_BUFFER), n:=SIZEOF(FFU_EN_BUFFER) );
  147. IF FORCE_WRITE_TIMES>=1000
  148. THEN
  149. FORCE_WRITE:=TRUE;
  150. END_IF
  151. (*
  152. MBMaster.WriteRegs(
  153. UnitID:= 1,
  154. Quantity:= 18,
  155. MBAddr:= 16#401,
  156. cbLength:= SIZEOF(FFU_AO_SPEED_SV),
  157. pMemoryAddr:= ADR(FFU_AO_SPEED_SV),
  158. Execute:= TEST6,//TRUE,
  159. Timeout:= T#2000MS,
  160. );
  161. TEST6:=FALSE;
  162. MBMaster.BUSY;
  163. MBMaster.Error;
  164. MBMaster.ErrorId;
  165. *)
  166. (*
  167. MBMaster.ReadRegs(
  168. UnitID:= 1,
  169. Quantity:= 18,
  170. MBAddr:= 257,
  171. cbLength:= SIZEOF(FFU_AI_STATUS),
  172. pMemoryAddr:= ADR(FFU_AI_STATUS),
  173. Execute:= TEST1,//TRUE,
  174. Timeout:= T#200MS,
  175. );
  176. ERRID:= MBMaster.ErrorId;
  177. IF NOT MBMaster.BUSY THEN
  178. TEST1:=FALSE;
  179. //MBMaster.ReadRegs(Execute:=FALSE,);
  180. //FORCE_WRITE_TIMES:=FORCE_WRITE_TIMES+1;
  181. STAGE:=2;
  182. END_IF
  183. *)
  184. CASE STAGE OF
  185. 0://首次通讯
  186. STAGE:=1;
  187. 1://读状态
  188. MBMaster.ReadRegs(
  189. UnitID:= 1,
  190. Quantity:= 18,
  191. MBAddr:= 257,
  192. cbLength:= SIZEOF(FFU_AI_STATUS),
  193. pMemoryAddr:= ADR(FFU_AI_STATUS),
  194. Execute:= TRUE,
  195. Timeout:= T#200MS,
  196. );
  197. IF NOT MBMaster.BUSY THEN
  198. //TEST1:=FALSE;
  199. MBMaster.ReadRegs(Execute:=FALSE,);
  200. FORCE_WRITE_TIMES:=FORCE_WRITE_TIMES+1;
  201. STAGE:=2;
  202. END_IF
  203. 2://读转速
  204. MBMaster.ReadRegs(
  205. UnitID:= 1,
  206. Quantity:= 18,
  207. MBAddr:= 513,
  208. cbLength:= SIZEOF(FFU_AI_SPEED_PV),
  209. pMemoryAddr:= ADR(FFU_AI_SPEED_PV),
  210. Execute:= TRUE,
  211. Timeout:= T#200MS,
  212. );
  213. IF NOT MBMaster.BUSY THEN
  214. //TEST2:=FALSE;
  215. MBMaster.ReadRegs(Execute:=FALSE,);
  216. FORCE_WRITE_TIMES:=FORCE_WRITE_TIMES+1;
  217. STAGE:=3;
  218. END_IF
  219. 3://数值变更判断
  220. IF WRITE_EN1<>0 OR FORCE_WRITE
  221. THEN
  222. STAGE:=4;
  223. ELSIF WRITE_EN2<>0
  224. THEN
  225. STAGE:=5;
  226. ELSIF WRITE_EN3<>0
  227. THEN
  228. STAGE:=6;
  229. ELSIF WRITE_EN4<>0
  230. THEN
  231. STAGE:=7;
  232. ELSIF WRITE_EN5<>0
  233. THEN
  234. STAGE:=8;
  235. ELSE
  236. STAGE:=1;
  237. END_IF
  238. 4://写控制字
  239. MBMaster.WriteRegs(
  240. UnitID:= 1,
  241. Quantity:= 3,
  242. MBAddr:= 2,
  243. cbLength:= SIZEOF(FFU_AO_CTRLWORD),
  244. pMemoryAddr:= ADR(FFU_AO_CTRLWORD),
  245. Execute:= TRUE,
  246. Timeout:= T#200MS,
  247. );
  248. IF NOT MBMaster.BUSY THEN
  249. //TEST4:=FALSE;
  250. MBMaster.WriteRegs(Execute:=FALSE,);
  251. MEMCPY(destAddr:= ADR(FFU_CTRLWORD_BUFFER), srcAddr:= ADR(FFU_AO_CTRLWORD), n:= SIZEOF(FFU_AO_CTRLWORD));
  252. IF NOT FORCE_WRITE
  253. THEN
  254. STAGE:=1;
  255. ELSE
  256. STAGE:=5;
  257. END_IF
  258. END_IF
  259. 5://写启停
  260. MBMaster.WriteRegs(
  261. UnitID:= 1,
  262. Quantity:= 18,
  263. MBAddr:= 769,
  264. cbLength:= SIZEOF(FFU_AO_POWER_ON),
  265. pMemoryAddr:= ADR(FFU_AO_POWER_ON),
  266. Execute:= TRUE,
  267. Timeout:= T#200MS,
  268. );
  269. IF NOT MBMaster.BUSY THEN
  270. //TEST5:=FALSE;
  271. MBMaster.WriteRegs(Execute:=FALSE,);
  272. MEMCPY(destAddr:= ADR(FFU_POWER_ON_BUFFER), srcAddr:= ADR(FFU_AO_POWER_ON), n:= SIZEOF(FFU_AO_POWER_ON));
  273. IF NOT FORCE_WRITE
  274. THEN
  275. STAGE:=1;
  276. ELSE
  277. STAGE:=6;
  278. END_IF
  279. END_IF
  280. 6://写转速
  281. MBMaster.WriteRegs(
  282. UnitID:= 1,
  283. Quantity:= 18,
  284. MBAddr:= 1025,
  285. cbLength:= SIZEOF(FFU_AO_SPEED_SV),
  286. pMemoryAddr:= ADR(FFU_AO_SPEED_SV),
  287. Execute:= TRUE,
  288. Timeout:= T#200MS,
  289. );
  290. IF NOT MBMaster.BUSY THEN
  291. //TEST6:=FALSE;
  292. MBMaster.WriteRegs(Execute:=FALSE,);
  293. MEMCPY(destAddr:= ADR(FFU_SPEED_SV_BUFFER), srcAddr:= ADR(FFU_AO_SPEED_SV), n:= SIZEOF(FFU_AO_SPEED_SV));
  294. IF NOT FORCE_WRITE
  295. THEN
  296. STAGE:=1;
  297. ELSE
  298. STAGE:=7;
  299. END_IF
  300. END_IF
  301. 7://写使能
  302. MBMaster.WriteRegs(
  303. UnitID:= 1,
  304. Quantity:= 18,
  305. MBAddr:= 1281,
  306. cbLength:= SIZEOF(FFU_AO_EN),
  307. pMemoryAddr:= ADR(FFU_AO_EN),
  308. Execute:= TRUE,
  309. Timeout:= T#200MS,
  310. );
  311. IF NOT MBMaster.BUSY THEN
  312. //TEST7:=FALSE;
  313. MBMaster.WriteRegs(Execute:=FALSE,);
  314. MEMCPY(destAddr:= ADR(FFU_EN_BUFFER), srcAddr:= ADR(FFU_AO_EN), n:= SIZEOF(FFU_AO_EN));
  315. STAGE:=1;
  316. IF FORCE_WRITE
  317. THEN
  318. FORCE_WRITE_TIMES:=0;
  319. FORCE_WRITE:=FALSE;
  320. END_IF
  321. END_IF
  322. END_CASE
  323. ]]></ST>
  324. </Implementation>
  325. <LineIds Name="FFU">
  326. <LineId Id="607" Count="0" />
  327. <LineId Id="963" Count="36" />
  328. <LineId Id="608" Count="0" />
  329. <LineId Id="229" Count="0" />
  330. <LineId Id="646" Count="3" />
  331. <LineId Id="1000" Count="28" />
  332. <LineId Id="1333" Count="0" />
  333. <LineId Id="1030" Count="6" />
  334. <LineId Id="1419" Count="0" />
  335. <LineId Id="1421" Count="16" />
  336. <LineId Id="1420" Count="0" />
  337. <LineId Id="705" Count="0" />
  338. <LineId Id="332" Count="0" />
  339. <LineId Id="223" Count="1" />
  340. <LineId Id="341" Count="3" />
  341. <LineId Id="347" Count="0" />
  342. <LineId Id="354" Count="1" />
  343. <LineId Id="1196" Count="0" />
  344. <LineId Id="356" Count="0" />
  345. <LineId Id="225" Count="0" />
  346. <LineId Id="1199" Count="1" />
  347. <LineId Id="1198" Count="0" />
  348. <LineId Id="1275" Count="0" />
  349. <LineId Id="1334" Count="1" />
  350. <LineId Id="1281" Count="7" />
  351. <LineId Id="1277" Count="0" />
  352. <LineId Id="1366" Count="3" />
  353. <LineId Id="1278" Count="0" />
  354. <LineId Id="1348" Count="0" />
  355. <LineId Id="1350" Count="14" />
  356. <LineId Id="1349" Count="0" />
  357. <LineId Id="1279" Count="0" />
  358. <LineId Id="1201" Count="0" />
  359. <LineId Id="158" Count="0" />
  360. <LineId Id="217" Count="2" />
  361. <LineId Id="170" Count="0" />
  362. <LineId Id="385" Count="7" />
  363. <LineId Id="382" Count="1" />
  364. <LineId Id="1342" Count="0" />
  365. <LineId Id="396" Count="0" />
  366. <LineId Id="1193" Count="0" />
  367. <LineId Id="399" Count="0" />
  368. <LineId Id="397" Count="0" />
  369. <LineId Id="400" Count="0" />
  370. <LineId Id="402" Count="10" />
  371. <LineId Id="1338" Count="0" />
  372. <LineId Id="413" Count="0" />
  373. <LineId Id="1194" Count="0" />
  374. <LineId Id="415" Count="0" />
  375. <LineId Id="401" Count="0" />
  376. <LineId Id="384" Count="0" />
  377. <LineId Id="418" Count="0" />
  378. <LineId Id="1037" Count="14" />
  379. <LineId Id="1058" Count="1" />
  380. <LineId Id="220" Count="0" />
  381. <LineId Id="432" Count="0" />
  382. <LineId Id="434" Count="0" />
  383. <LineId Id="1060" Count="9" />
  384. <LineId Id="1343" Count="0" />
  385. <LineId Id="1070" Count="1" />
  386. <LineId Id="1202" Count="4" />
  387. <LineId Id="1077" Count="0" />
  388. <LineId Id="433" Count="0" />
  389. <LineId Id="818" Count="1" />
  390. <LineId Id="1078" Count="9" />
  391. <LineId Id="1344" Count="0" />
  392. <LineId Id="1088" Count="1" />
  393. <LineId Id="1207" Count="4" />
  394. <LineId Id="1095" Count="0" />
  395. <LineId Id="448" Count="0" />
  396. <LineId Id="475" Count="1" />
  397. <LineId Id="1096" Count="9" />
  398. <LineId Id="1345" Count="0" />
  399. <LineId Id="1106" Count="1" />
  400. <LineId Id="1212" Count="4" />
  401. <LineId Id="1113" Count="0" />
  402. <LineId Id="478" Count="0" />
  403. <LineId Id="495" Count="0" />
  404. <LineId Id="513" Count="0" />
  405. <LineId Id="1114" Count="9" />
  406. <LineId Id="1347" Count="0" />
  407. <LineId Id="1124" Count="1" />
  408. <LineId Id="1226" Count="0" />
  409. <LineId Id="1217" Count="0" />
  410. <LineId Id="1220" Count="0" />
  411. <LineId Id="1227" Count="0" />
  412. <LineId Id="1221" Count="0" />
  413. <LineId Id="1131" Count="1" />
  414. <LineId Id="605" Count="0" />
  415. <LineId Id="1229" Count="0" />
  416. <LineId Id="1223" Count="0" />
  417. <LineId Id="1222" Count="0" />
  418. </LineIds>
  419. </POU>
  420. </TcPlcObject>