终端一体化运控平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

828 lines
27 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace FryPot_DosingSystem.Control
  7. {
  8. /// <summary>
  9. /// plc变量
  10. /// </summary>
  11. internal class GlobalVariable
  12. {
  13. /// <summary>
  14. /// 滚筒线1
  15. /// </summary>
  16. public RollerLineOne rollerLineOne = new RollerLineOne();
  17. /// <summary>
  18. /// 滚筒线2
  19. /// </summary>
  20. public RollerLineTwo rollerLineTwo = new RollerLineTwo();
  21. /// <summary>
  22. /// 滚筒线3
  23. /// </summary>
  24. public RollerLineThree rollerLineThree = new RollerLineThree();
  25. /// <summary>
  26. /// 炒锅1
  27. /// </summary>
  28. public FryPotOne fryPotOne= new FryPotOne();
  29. /// <summary>
  30. /// 炒锅2
  31. /// </summary>
  32. public FryPotTwo fryPotTwo= new FryPotTwo();
  33. /// <summary>
  34. /// 炒锅3
  35. /// </summary>
  36. public FryPotThree fryPotThree= new FryPotThree();
  37. /// <summary>
  38. /// 炒锅4
  39. /// </summary>
  40. public FryPotFour fryPotFour= new FryPotFour();
  41. /// <summary>
  42. /// 炒锅5
  43. /// </summary>
  44. public FryPotFive fryPotFive= new FryPotFive();
  45. /// <summary>
  46. /// 洗桶进桶滚筒运行信号
  47. /// </summary>
  48. public ushort CleadBarrelEnterSingle { get; set; }
  49. /// <summary>
  50. /// 洗桶出桶滚筒运行信号
  51. /// </summary>
  52. public ushort CleadBarrelExitSingle { get; set; }
  53. /// <summary>
  54. /// PLC初始化状态
  55. /// </summary>
  56. public ushort PlcInite { get; set; }
  57. /// <summary>
  58. /// 清洗台清洗完成信号/洗桶出桶AGV呼叫信号
  59. /// </summary>
  60. public ushort CleanComplete { get; set; }
  61. #region 上位机内部逻辑条件
  62. /// <summary>
  63. /// 退出线体1任务
  64. /// </summary>
  65. public bool ExitLineOneTask { get; set; }
  66. /// <summary>
  67. /// 退出线体2任务
  68. /// </summary>
  69. public bool ExitLineTwoTask { get; set; }
  70. /// <summary>
  71. /// 退出线体3任务
  72. /// </summary>
  73. public bool ExitLineThreeTask { get; set; }
  74. /// <summary>
  75. /// 允许AGV去线体1装桶条件
  76. /// </summary>
  77. public bool AllowAgvToLineLoadRoller { get; set; } = true;
  78. /// <summary>
  79. /// 允许AGV去线体2装桶条件
  80. /// </summary>
  81. public bool AllowAgvToLineTwoLoadRoller { get; set; } = true;
  82. /// <summary>
  83. /// 允许AGV去线体3装桶条件
  84. /// </summary>
  85. public bool AllowAgvToLineThreeLoadRoller { get; set; } = true;
  86. ///// <summary>
  87. ///// 配方唯一ID
  88. ///// </summary>
  89. //public string RecipeId { get; set; }
  90. /// <summary>
  91. /// 线体1对应的进桶出桶互锁
  92. /// </summary>
  93. public bool InOrOutputLock { get; set; }
  94. /// <summary>
  95. /// 线体2对应的进桶出桶互锁
  96. /// </summary>
  97. public bool LTwoInOrOutputLock { get; set; }
  98. /// <summary>
  99. /// 线体3对应的进桶出桶互锁
  100. /// </summary>
  101. public bool LThreeInOrOutputLock { get; set; }
  102. ///// <summary>
  103. ///// 线体1任务执行锁
  104. ///// </summary>
  105. //public bool LOneTaskLock { get; set; }
  106. ///// <summary>
  107. ///// 线体2任务执行锁
  108. ///// </summary>
  109. //public bool LTwoTaskLock { get; set; }
  110. ///// <summary>
  111. ///// 线体3任务执行锁
  112. ///// </summary>
  113. //public bool LThreeTaskLock { get; set; }
  114. /// <summary>
  115. /// 线体1当前正在制作的配方名称
  116. /// </summary>
  117. public string LOneCurrentRecipeName { get; set; } = string.Empty;
  118. /// <summary>
  119. /// 线体2当前正在制作的配方名称
  120. /// </summary>
  121. public string LTwoCurrentRecipeName { get; set; } = string.Empty;
  122. /// <summary>
  123. /// 线体3当前正在制作的配方名称
  124. /// </summary>
  125. public string LThreeCurrentRecipeName { get; set; } = string.Empty;
  126. #endregion
  127. #region 线体1流程互锁变量
  128. public bool LoadRoller { get; set; }
  129. public bool AgvToFryPot { get; set; }
  130. public bool PotOneInputMaterialArrive { get; set; }
  131. public bool PotOneOutputRollerArrive { get; set; }
  132. public bool AgvArrivePot { get; set; }
  133. #endregion
  134. #region 线体2流程互锁变量
  135. public bool LTwoLoadRoller { get; set; }
  136. public bool LTwoAgvToFryPot { get; set; }
  137. public bool LTwoPotInputMaterialArrive { get; set; }
  138. public bool LTwoPotOutputRollerArrive { get; set; }
  139. public bool LTwoAgvArrivePot { get; set; }
  140. #endregion
  141. #region 线体3流程互锁变量
  142. public bool LThreeLoadRoller { get; set; }
  143. public bool LThreeAgvToFryPot { get; set; }
  144. public bool LThreePotInputMaterialArrive { get; set; }
  145. public bool LThreePotOutputRollerArrive { get; set; }
  146. public bool LThreeAgvArrivePot { get; set; }
  147. #endregion
  148. #region AGV视图显示变量
  149. public int LOneMaterialNum { get; set; } = 0;
  150. public int LOneFryPotSerial { get; set; } = 0;
  151. public int LOneCurrentCookingStep { get; set; } = 0;
  152. public bool agvArriveUpLoad { get; set; }
  153. public bool agvArriveUnLoad { get; set; }
  154. public bool agvFryPotEmptyRollerArrive { get; set; }
  155. public bool EmptyRollerUnLoadcCom { get; set; }//AGV空桶4号线体下料完成
  156. public bool agvLineOneLoadCom { get; set; }//线体1上料完成
  157. public int LTwoMaterialNum { get; set; } = 0;
  158. public int LTwoFryPotSerial { get; set; } =0;
  159. public int LTwoCurrentCookingStep { get; set; } = 0;
  160. public bool agvArriveLTwoUpLoad { get; set; }
  161. public bool LTwoagvArriveUnLoad { get; set; }
  162. public bool LTwoagvFryPotEmptyRollerArrive { get; set; }
  163. public bool agvLineTwoLoadCom { get; set; }//线体2上料完成
  164. public int LThreeMaterialNum { get; set; } = 0;
  165. public int LThreeFryPotSerial { get; set; } = 0;
  166. public int LThreeCurrentCookingStep { get; set; } = 0;
  167. public bool agvArriveLThreeUpLoad { get; set; }
  168. public bool LThreeagvArriveUnLoad { get; set; }
  169. public bool LThreeagvFryPotEmptyRollerArrive { get; set; }
  170. public bool agvLineThreeLoadCom { get; set; }//线体1上料完成
  171. public int LFourRollerNum { get; set; } = 0;//4号线体空桶数量
  172. //新增空桶清洗系列变量
  173. public bool agvArriveLineFour { get; set; }//agv从清洗台到达线体4下料位置
  174. //public bool agvArriveCleanUnLoad { get; set; }//agv到达清洗台下料位置
  175. public bool agvArriveCleanLoad { get; set; }//agv到达清洗台上料位置
  176. public bool agvArriveLineOneLoadEmptyRoller { get; set; }//agv到达线体1空桶上料位置
  177. public bool agvArriveLineTwoLoadEmptyRoller { get; set; }//agv到达线体2空桶上料位置
  178. public bool agvArriveLineThreeLoadEmptyRoller { get; set; }//agv到达线体3空桶上料位置
  179. public bool agvArriveLineOneLoadCom { get; set; } //agv线体1空桶上料完成
  180. public bool agvArriveLineTwoLoadCom { get; set; } //agv线体2空桶上料完成
  181. public bool agvArriveLineThreeLoadCom { get; set; }//agv线体3空桶上料完成
  182. /// <summary>
  183. /// 允许下一个空桶去洗桶
  184. /// </summary>
  185. public bool AllowNextEmptyRollerToClean { get; set; } = true;
  186. #endregion
  187. #region AGV任务号对应的AGV故障信号
  188. /// <summary>
  189. /// 线体1到炒锅1,4 AGV故障
  190. /// </summary>
  191. public bool LineOneRobotTaskError { get; set; }
  192. public bool LineTwoRobotTaskError { get; set; }
  193. public bool LineThreeRobotTaskError { get; set; }
  194. public bool LineFourRobotTaskError { get; set; }
  195. public bool LineFiveRobotTaskError { get; set; }
  196. public bool LineSixRobotTaskError { get; set; }
  197. public bool LineSevenRobotTaskError { get; set; }
  198. public bool LineEightRobotTaskError { get; set; }
  199. public bool LineNineRobotTaskError { get; set; }
  200. public bool LineTenRobotTaskError { get; set; }
  201. #endregion
  202. }
  203. /// <summary>
  204. /// 滚筒线1相关变量
  205. /// </summary>
  206. public class RollerLineOne
  207. {
  208. /// <summary>
  209. /// 工位号1
  210. /// </summary>
  211. public ushort StationOne { get; set; }
  212. /// <summary>
  213. /// 工位号2
  214. /// </summary>
  215. public ushort StationTwo { get; set; }
  216. /// <summary>
  217. /// 工位号3
  218. /// </summary>
  219. public ushort StationThree { get; set; }
  220. /// <summary>
  221. /// 工位号4
  222. /// </summary>
  223. public ushort StationFour { get; set; }
  224. /// <summary>
  225. /// 工位号5
  226. /// </summary>
  227. public ushort StationFive { get; set; }
  228. /// <summary>
  229. /// 工位号6
  230. /// </summary>
  231. public ushort StationSix { get; set; }
  232. /// <summary>
  233. /// 工位号7
  234. /// </summary>
  235. public ushort StationSeven { get; set; }
  236. /// <summary>
  237. /// 工位号8
  238. /// </summary>
  239. public ushort StationEight { get; set; }
  240. /// <summary>
  241. /// 输送出料滚筒运行信号
  242. /// </summary>
  243. public ushort OutMaterialingSingle { get; set; }
  244. /// <summary>
  245. /// 输送出料滚筒运行故障信号
  246. /// </summary>
  247. public ushort OutMaterialingTroubleSingle { get; set; }
  248. /// <summary>
  249. /// 当前线体配方完成信号
  250. /// </summary>
  251. public ushort RecipeCompleteSingle { get; set; }
  252. /// <summary>
  253. /// 当前配方完成的中转信号
  254. /// </summary>
  255. public ushort RecipeComMidSingle { get; set; } = 1;
  256. /// <summary>
  257. /// 线体1上空桶确认信号
  258. /// </summary>
  259. public ushort EmptyRollerConfirmSingle { get; set; }
  260. /// <summary>
  261. /// 线体1上单个空桶编号
  262. /// </summary>
  263. public ushort EmptyRollerNum { get; set; }
  264. /// <summary>
  265. /// 上一个桶是否是空桶,空桶上料结束后,配方料桶AGV才能去1号线装桶
  266. /// </summary>
  267. public bool IsEpmtyBefore { get; set; } //空桶上料结束后,配方料桶AGV才能去1号线装桶
  268. /// <summary>
  269. /// 配方料桶上料结束后,线体空桶AGV才能1号线装桶
  270. /// </summary>
  271. public bool CanRun { get; set; } = true; //配方料桶上料结束后,线体空桶AGV才能1号线装桶
  272. /// <summary>
  273. /// 线体1上所有空桶的编号集合
  274. /// </summary>
  275. public List<ushort> EmptyRollerNums { get; set; } = new List<ushort>();
  276. /// <summary>
  277. /// AGV从炒锅到达线体4空桶下料位置
  278. /// </summary>
  279. public bool agvArriveLineFour { get; set; }
  280. /// <summary>
  281. /// AGV从线体1到达清洗台
  282. /// </summary>
  283. public bool agvArriveCleanUnLoad { get; set; }
  284. /// <summary>
  285. /// 下位确认执行信号 true:执行 false:不执行
  286. /// </summary>
  287. public ushort ExcuteIsConfirm { get; set;} //默认为:0,确认执行:1,取消执行:2
  288. /// <summary>
  289. /// 线体1流程控制互锁信号
  290. /// </summary>
  291. public bool NextStart { get; set; }
  292. /// <summary>
  293. /// 下位信号判断
  294. /// </summary>
  295. public bool LowSignalJude { get; set; }
  296. /// <summary>
  297. /// 集中洗桶模式
  298. /// </summary>
  299. public ushort WashEmptyRollerModel { get; set; }
  300. /// <summary>
  301. /// 洗桶就位信号
  302. /// </summary>
  303. public ushort WashRollerArriveSignal { get; set; }
  304. }
  305. /// <summary>
  306. /// 滚筒线2相关变量
  307. /// </summary>
  308. public class RollerLineTwo
  309. {
  310. /// <summary>
  311. /// 工位号1
  312. /// </summary>
  313. public ushort StationOne { get; set; }
  314. /// <summary>
  315. /// 工位号2
  316. /// </summary>
  317. public ushort StationTwo { get; set; }
  318. /// <summary>
  319. /// 工位号3
  320. /// </summary>
  321. public ushort StationThree { get; set; }
  322. /// <summary>
  323. /// 工位号4
  324. /// </summary>
  325. public ushort StationFour { get; set; }
  326. /// <summary>
  327. /// 工位号5
  328. /// </summary>
  329. public ushort StationFive { get; set; }
  330. /// <summary>
  331. /// 工位号6
  332. /// </summary>
  333. public ushort StationSix { get; set; }
  334. /// <summary>
  335. /// 工位号7
  336. /// </summary>
  337. public ushort StationSeven { get; set; }
  338. /// <summary>
  339. /// 工位号8
  340. /// </summary>
  341. public ushort StationEight { get; set; }
  342. /// <summary>
  343. /// 输送出料滚筒运行信号
  344. /// </summary>
  345. public ushort OutMaterialingSingle { get; set; }
  346. /// <summary>
  347. /// 输送出料滚筒运行故障信号
  348. /// </summary>
  349. public ushort OutMaterialingTroubleSingle { get; set; }
  350. /// <summary>
  351. /// 当前线体配方完成信号
  352. /// </summary>
  353. public ushort RecipeCompleteSingle { get; set; }
  354. /// <summary>
  355. /// 当前配方完成的中转信号
  356. /// </summary>
  357. public ushort RecipeComMidSingle { get; set; } = 1;
  358. /// <summary>
  359. /// 线体1上空桶确认信号
  360. /// </summary>
  361. public ushort EmptyRollerConfirmSingle { get; set; }
  362. /// <summary>
  363. /// 线体1上单个空桶编号
  364. /// </summary>
  365. public ushort EmptyRollerNum { get; set; }
  366. /// <summary>
  367. /// 上一个同时否是空桶
  368. /// </summary>
  369. public bool IsEpmtyBefore { get; set; }
  370. public bool CanRun { get; set; } = true; //配方料桶上料结束后,线体空桶AGV才能1号线装桶
  371. /// <summary>
  372. /// 线体2上所有空桶的编号集合
  373. /// </summary>
  374. public List<ushort> EmptyRollerNums { get; set; } = new List<ushort>();
  375. /// <summary>
  376. /// AGV从炒锅到达线体4空桶下料位置
  377. /// </summary>
  378. public bool agvArriveLineFour { get; set; }
  379. /// <summary>
  380. /// AGV从线体2到达清洗台
  381. /// </summary>
  382. public bool agvArriveCleanUnLoad { get; set; }
  383. /// <summary>
  384. /// 下位确认执行信号 true:执行 false:不执行
  385. /// </summary>
  386. public ushort ExcuteIsConfirm { get; set; }
  387. /// <summary>
  388. /// 线体1流程控制互锁信号
  389. /// </summary>
  390. public bool NextStart { get; set; }
  391. /// <summary>
  392. /// 下位信号判断
  393. /// </summary>
  394. public bool LowSignalJude { get; set; }
  395. /// <summary>
  396. /// 集中洗桶模式
  397. /// </summary>
  398. public ushort WashEmptyRollerModel { get; set; }
  399. /// <summary>
  400. /// 洗桶就位信号
  401. /// </summary>
  402. public ushort WashRollerArriveSignal { get; set; }
  403. }
  404. /// <summary>
  405. /// 滚筒线3相关变量
  406. /// </summary>
  407. public class RollerLineThree
  408. {
  409. /// <summary>
  410. /// 工位号1
  411. /// </summary>
  412. public ushort StationOne { get; set; }
  413. /// <summary>
  414. /// 工位号2
  415. /// </summary>
  416. public ushort StationTwo { get; set; }
  417. /// <summary>
  418. /// 工位号3
  419. /// </summary>
  420. public ushort StationThree { get; set; }
  421. /// <summary>
  422. /// 工位号4
  423. /// </summary>
  424. public ushort StationFour { get; set; }
  425. /// <summary>
  426. /// 工位号5
  427. /// </summary>
  428. public ushort StationFive { get; set; }
  429. /// <summary>
  430. /// 工位号6
  431. /// </summary>
  432. public ushort StationSix { get; set; }
  433. /// <summary>
  434. /// 工位号7
  435. /// </summary>
  436. public ushort StationSeven { get; set; }
  437. /// <summary>
  438. /// 工位号8
  439. /// </summary>
  440. public ushort StationEight { get; set; }
  441. /// <summary>
  442. /// 输送出料滚筒运行信号
  443. /// </summary>
  444. public ushort OutMaterialingSingle { get; set; }
  445. /// <summary>
  446. /// 输送出料滚筒运行故障信号
  447. /// </summary>
  448. public ushort OutMaterialingTroubleSingle { get; set; }
  449. /// <summary>
  450. /// 当前线体配方完成信号
  451. /// </summary>
  452. public ushort RecipeCompleteSingle { get; set; }
  453. /// <summary>
  454. /// 当前配方完成的中转信号
  455. /// </summary>
  456. public ushort RecipeComMidSingle { get; set; } = 1;
  457. /// <summary>
  458. /// 线体1上空桶确认信号
  459. /// </summary>
  460. public ushort EmptyRollerConfirmSingle { get; set; }
  461. /// <summary>
  462. /// 线体1上单个空桶编号
  463. /// </summary>
  464. public ushort EmptyRollerNum { get; set; }
  465. /// <summary>
  466. /// 上一个同时否是空桶
  467. /// </summary>
  468. public bool IsEpmtyBefore { get; set; }
  469. public bool CanRun { get; set; } = true;//配方料桶上料结束后,线体空桶AGV才能1号线装桶
  470. /// <summary>
  471. /// 线体3上所有空桶的编号集合
  472. /// </summary>
  473. public List<ushort> EmptyRollerNums { get; set; } = new List<ushort>();
  474. /// <summary>
  475. /// AGV从炒锅到达线体4空桶下料位置
  476. /// </summary>
  477. public bool agvArriveLineFour { get; set; }
  478. /// <summary>
  479. /// AGV从线体3到达清洗台
  480. /// </summary>
  481. public bool agvArriveCleanUnLoad { get; set; }
  482. /// <summary>
  483. /// 下位确认执行信号 true:执行 false:不执行
  484. /// </summary>
  485. public ushort ExcuteIsConfirm { get; set; }
  486. /// <summary>
  487. /// 线体1流程控制互锁信号
  488. /// </summary>
  489. public bool NextStart { get; set; }
  490. /// <summary>
  491. /// 下位信号判断
  492. /// </summary>
  493. public bool LowSignalJude { get; set; }
  494. /// <summary>
  495. /// 集中洗桶模式
  496. /// </summary>
  497. public ushort WashEmptyRollerModel { get; set; }
  498. /// <summary>
  499. /// 洗桶就位信号
  500. /// </summary>
  501. public ushort WashRollerArriveSignal { get; set; }
  502. }
  503. /// <summary>
  504. /// 滚筒线4相关变量
  505. /// </summary>
  506. public class RollerLineFour
  507. {
  508. /// <summary>
  509. /// 工位号1
  510. /// </summary>
  511. public ushort StationOne { get; set; }
  512. /// <summary>
  513. /// 工位号2
  514. /// </summary>
  515. public ushort StationTwo { get; set; }
  516. /// <summary>
  517. /// 工位号3
  518. /// </summary>
  519. public ushort StationThree { get; set; }
  520. /// <summary>
  521. /// 工位号4
  522. /// </summary>
  523. public ushort StationFour { get; set; }
  524. /// <summary>
  525. /// 工位号5
  526. /// </summary>
  527. public ushort StationFive { get; set; }
  528. /// <summary>
  529. /// 工位号6
  530. /// </summary>
  531. public ushort StationSix { get; set; }
  532. /// <summary>
  533. /// 工位号7
  534. /// </summary>
  535. public ushort StationSeven { get; set; }
  536. /// <summary>
  537. /// 工位号8
  538. /// </summary>
  539. public ushort StationEight { get; set; }
  540. /// <summary>
  541. /// 输送出料滚筒运行信号
  542. /// </summary>
  543. public ushort OutMaterialingSingle { get; set; }
  544. /// <summary>
  545. /// 输送出料滚筒运行故障信号
  546. /// </summary>
  547. public ushort OutMaterialingTroubleSingle { get; set; }
  548. /// <summary>
  549. /// 当前线体配方完成信号
  550. /// </summary>
  551. public ushort RecipeCompleteSingle { get; set; }
  552. /// <summary>
  553. /// 当前配方完成的中转信号
  554. /// </summary>
  555. public ushort RecipeComMidSingle { get; set; } = 1;
  556. }
  557. /// <summary>
  558. /// 炒锅1相关变量
  559. /// </summary>
  560. public class FryPotOne
  561. {
  562. /// <summary>
  563. /// 进料滚筒运行信号
  564. /// </summary>
  565. public ushort InputMaterialRollerRunningSingle { get; set; }
  566. /// <summary>
  567. /// 进料到位信号
  568. /// </summary>
  569. public ushort InputMaterialArrivedSingle { get; set; }
  570. /// <summary>
  571. /// 空桶到位信号
  572. /// </summary>
  573. public ushort EmptyBarrelArrivedSingle { get; set; }
  574. /// <summary>
  575. /// 空桶滚筒运行信号
  576. /// </summary>
  577. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  578. /// <summary>
  579. /// 滚筒故障信号
  580. /// </summary>
  581. public ushort RollerTroubleSingle { get; set; }
  582. /// <summary>
  583. /// 用油量确认信号
  584. /// </summary>
  585. public ushort OilConfirm { get; set; }
  586. /// <summary>
  587. /// 当前配方用油量
  588. /// </summary>
  589. public double OilCapacity { get; set; }
  590. /// <summary>
  591. /// 当前线体配方完成信号
  592. /// </summary>
  593. public ushort RecipeCompleteSingle { get; set; }
  594. /// <summary>
  595. /// 炒股当前步数
  596. /// </summary>
  597. public ushort ProcessStep { get; set; }
  598. }
  599. /// <summary>
  600. /// 炒锅2相关变量
  601. /// </summary>
  602. public class FryPotTwo
  603. {
  604. /// <summary>
  605. /// 进料滚筒运行信号
  606. /// </summary>
  607. public ushort InputMaterialRollerRunningSingle { get; set; }
  608. /// <summary>
  609. /// 进料到位信号
  610. /// </summary>
  611. public ushort InputMaterialArrivedSingle { get; set; }
  612. /// <summary>
  613. /// 空桶到位信号
  614. /// </summary>
  615. public ushort EmptyBarrelArrivedSingle { get; set; }
  616. /// <summary>
  617. /// 空桶滚筒运行信号
  618. /// </summary>
  619. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  620. /// <summary>
  621. /// 滚筒故障信号
  622. /// </summary>
  623. public ushort RollerTroubleSingle { get; set; }
  624. /// <summary>
  625. /// 用油量确认信号
  626. /// </summary>
  627. public ushort OilConfirm { get; set; }
  628. /// <summary>
  629. /// 当前配方用油量
  630. /// </summary>
  631. public double OilCapacity { get; set; }
  632. /// <summary>
  633. /// 当前线体配方完成信号
  634. /// </summary>
  635. public ushort RecipeCompleteSingle { get; set; }
  636. /// <summary>
  637. /// 炒锅当前步数
  638. /// </summary>
  639. public ushort ProcessStep { get; set; }
  640. }
  641. /// <summary>
  642. /// 炒锅3相关变量
  643. /// </summary>
  644. public class FryPotThree
  645. {
  646. /// <summary>
  647. /// 进料滚筒运行信号
  648. /// </summary>
  649. public ushort InputMaterialRollerRunningSingle { get; set; }
  650. /// <summary>
  651. /// 进料到位信号
  652. /// </summary>
  653. public ushort InputMaterialArrivedSingle { get; set; }
  654. /// <summary>
  655. /// 空桶到位信号
  656. /// </summary>
  657. public ushort EmptyBarrelArrivedSingle { get; set; }
  658. /// <summary>
  659. /// 空桶滚筒运行信号
  660. /// </summary>
  661. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  662. /// <summary>
  663. /// 滚筒故障信号
  664. /// </summary>
  665. public ushort RollerTroubleSingle { get; set; }
  666. /// <summary>
  667. /// 用油量确认信号
  668. /// </summary>
  669. public ushort OilConfirm { get; set; }
  670. /// <summary>
  671. /// 当前配方用油量
  672. /// </summary>
  673. public double OilCapacity { get; set; }
  674. /// <summary>
  675. /// 当前线体配方完成信号
  676. /// </summary>
  677. public ushort RecipeCompleteSingle { get; set; }
  678. /// <summary>
  679. /// 炒股当前步数
  680. /// </summary>
  681. public ushort ProcessStep { get; set; }
  682. }
  683. /// <summary>
  684. /// 炒锅4相关变量
  685. /// </summary>
  686. public class FryPotFour
  687. {
  688. /// <summary>
  689. /// 进料滚筒运行信号
  690. /// </summary>
  691. public ushort InputMaterialRollerRunningSingle { get; set; }
  692. /// <summary>
  693. /// 进料到位信号
  694. /// </summary>
  695. public ushort InputMaterialArrivedSingle { get; set; }
  696. /// <summary>
  697. /// 空桶到位信号
  698. /// </summary>
  699. public ushort EmptyBarrelArrivedSingle { get; set; }
  700. /// <summary>
  701. /// 空桶滚筒运行信号
  702. /// </summary>
  703. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  704. /// <summary>
  705. /// 滚筒故障信号
  706. /// </summary>
  707. public ushort RollerTroubleSingle { get; set; }
  708. /// <summary>
  709. /// 用油量确认信号
  710. /// </summary>
  711. public ushort OilConfirm { get; set; }
  712. /// <summary>
  713. /// 当前配方用油量
  714. /// </summary>
  715. public double OilCapacity { get; set; }
  716. /// <summary>
  717. /// 当前线体配方完成信号
  718. /// </summary>
  719. public ushort RecipeCompleteSingle { get; set; }
  720. /// <summary>
  721. /// 炒股当前步数
  722. /// </summary>
  723. public ushort ProcessStep { get; set; }
  724. }
  725. /// <summary>
  726. /// 炒锅5相关变量
  727. /// </summary>
  728. public class FryPotFive
  729. {
  730. /// <summary>
  731. /// 进料滚筒运行信号
  732. /// </summary>
  733. public ushort InputMaterialRollerRunningSingle { get; set; }
  734. /// <summary>
  735. /// 进料到位信号
  736. /// </summary>
  737. public ushort InputMaterialArrivedSingle { get; set; }
  738. /// <summary>
  739. /// 空桶到位信号
  740. /// </summary>
  741. public ushort EmptyBarrelArrivedSingle { get; set; }
  742. /// <summary>
  743. /// 空桶滚筒运行信号
  744. /// </summary>
  745. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  746. /// <summary>
  747. /// 滚筒故障信号
  748. /// </summary>
  749. public ushort RollerTroubleSingle { get; set; }
  750. /// <summary>
  751. /// 用油量确认信号
  752. /// </summary>
  753. public ushort OilConfirm { get; set; }
  754. /// <summary>
  755. /// 当前配方用油量
  756. /// </summary>
  757. public double OilCapacity { get; set; }
  758. /// <summary>
  759. /// 当前线体配方完成信号
  760. /// </summary>
  761. public ushort RecipeCompleteSingle { get; set; }
  762. /// <summary>
  763. /// 炒股当前步数
  764. /// </summary>
  765. public ushort ProcessStep { get; set; }
  766. }
  767. }