终端一体化运控平台
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.
 
 
 

834 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 int LFourCurrentCookingStep { get; set; } = 0;
  153. public bool agvArriveUpLoad { get; set; }
  154. public bool agvArriveUnLoad { get; set; }
  155. public bool agvFryPotEmptyRollerArrive { get; set; }
  156. public bool EmptyRollerUnLoadcCom { get; set; }//AGV空桶4号线体下料完成
  157. public bool agvLineOneLoadCom { get; set; }//线体1满料桶上料完成
  158. //2022.11.1 新增
  159. public int LTwoMaterialNum { get; set; } = 0;
  160. public int LTwoFryPotSerial { get; set; } =0;
  161. public int LFiveCurrentCookingStep { get; set; } = 0;
  162. public int LTwoCurrentCookingStep { get; set; } = 0;
  163. public bool agvArriveLTwoUpLoad { get; set; }
  164. public bool LTwoagvArriveUnLoad { get; set; }
  165. public bool LTwoagvFryPotEmptyRollerArrive { get; set; }
  166. public bool agvLineTwoLoadCom { get; set; }//线体2上料完成
  167. public int LThreeMaterialNum { get; set; } = 0;
  168. public int LThreeFryPotSerial { get; set; } = 0;
  169. public int LThreeCurrentCookingStep { get; set; } = 0;
  170. public bool agvArriveLThreeUpLoad { get; set; }
  171. public bool LThreeagvArriveUnLoad { get; set; }
  172. public bool LThreeagvFryPotEmptyRollerArrive { get; set; }
  173. public bool agvLineThreeLoadCom { get; set; }//线体1上料完成
  174. public int LFourRollerNum { get; set; } = 0;//4号线体空桶数量
  175. //新增空桶清洗系列变量
  176. public bool agvArriveLineFour { get; set; }//agv从清洗台到达线体4下料位置
  177. //public bool agvArriveCleanUnLoad { get; set; }//agv到达清洗台下料位置
  178. public bool agvArriveCleanLoad { get; set; }//agv到达清洗台上料位置
  179. public bool agvArriveLineOneLoadEmptyRoller { get; set; }//agv到达线体1空桶上料位置
  180. public bool agvArriveLineTwoLoadEmptyRoller { get; set; }//agv到达线体2空桶上料位置
  181. public bool agvArriveLineThreeLoadEmptyRoller { get; set; }//agv到达线体3空桶上料位置
  182. public bool agvArriveLineOneLoadCom { get; set; } //agv线体1空桶上料完成
  183. public bool agvArriveLineTwoLoadCom { get; set; } //agv线体2空桶上料完成
  184. public bool agvArriveLineThreeLoadCom { get; set; }//agv线体3空桶上料完成
  185. /// <summary>
  186. /// 允许下一个空桶去洗桶
  187. /// </summary>
  188. public bool AllowNextEmptyRollerToClean { get; set; } = true;
  189. #endregion
  190. #region AGV任务号对应的AGV故障信号
  191. /// <summary>
  192. /// 线体1到炒锅1,4 AGV故障
  193. /// </summary>
  194. public bool LineOneRobotTaskError { get; set; }
  195. public bool LineTwoRobotTaskError { get; set; }
  196. public bool LineThreeRobotTaskError { get; set; }
  197. public bool LineFourRobotTaskError { get; set; }
  198. public bool LineFiveRobotTaskError { get; set; }
  199. public bool LineSixRobotTaskError { get; set; }
  200. public bool LineSevenRobotTaskError { get; set; }
  201. public bool LineEightRobotTaskError { get; set; }
  202. public bool LineNineRobotTaskError { get; set; }
  203. public bool LineTenRobotTaskError { get; set; }
  204. #endregion
  205. }
  206. /// <summary>
  207. /// 滚筒线1相关变量
  208. /// </summary>
  209. public class RollerLineOne
  210. {
  211. /// <summary>
  212. /// 工位号1
  213. /// </summary>
  214. public ushort StationOne { get; set; }
  215. /// <summary>
  216. /// 工位号2
  217. /// </summary>
  218. public ushort StationTwo { get; set; }
  219. /// <summary>
  220. /// 工位号3
  221. /// </summary>
  222. public ushort StationThree { get; set; }
  223. /// <summary>
  224. /// 工位号4
  225. /// </summary>
  226. public ushort StationFour { get; set; }
  227. /// <summary>
  228. /// 工位号5
  229. /// </summary>
  230. public ushort StationFive { get; set; }
  231. /// <summary>
  232. /// 工位号6
  233. /// </summary>
  234. public ushort StationSix { get; set; }
  235. /// <summary>
  236. /// 工位号7
  237. /// </summary>
  238. public ushort StationSeven { get; set; }
  239. /// <summary>
  240. /// 工位号8
  241. /// </summary>
  242. public ushort StationEight { get; set; }
  243. /// <summary>
  244. /// 输送出料滚筒运行信号
  245. /// </summary>
  246. public ushort OutMaterialingSingle { get; set; }
  247. /// <summary>
  248. /// 输送出料滚筒运行故障信号
  249. /// </summary>
  250. public ushort OutMaterialingTroubleSingle { get; set; }
  251. /// <summary>
  252. /// 当前线体配方完成信号
  253. /// </summary>
  254. public ushort RecipeCompleteSingle { get; set; }
  255. /// <summary>
  256. /// 当前配方完成的中转信号
  257. /// </summary>
  258. public ushort RecipeComMidSingle { get; set; } = 1;
  259. /// <summary>
  260. /// 线体1上空桶确认信号
  261. /// </summary>
  262. public ushort EmptyRollerConfirmSingle { get; set; }
  263. /// <summary>
  264. /// 线体1上单个空桶编号
  265. /// </summary>
  266. public ushort EmptyRollerNum { get; set; }
  267. /// <summary>
  268. /// 上一个桶是否是空桶,空桶上料结束后,配方料桶AGV才能去1号线装桶
  269. /// </summary>
  270. public bool IsEpmtyBefore { get; set; } //空桶上料结束后,配方料桶AGV才能去1号线装桶
  271. /// <summary>
  272. /// 配方料桶上料结束后,线体空桶AGV才能1号线装桶
  273. /// </summary>
  274. public bool CanRun { get; set; } = true; //配方料桶上料结束后,线体空桶AGV才能1号线装桶
  275. /// <summary>
  276. /// 线体1上所有空桶的编号集合
  277. /// </summary>
  278. public List<ushort> EmptyRollerNums { get; set; } = new List<ushort>();
  279. /// <summary>
  280. /// AGV从炒锅到达线体4空桶下料位置
  281. /// </summary>
  282. public bool agvArriveLineFour { get; set; }
  283. /// <summary>
  284. /// AGV从线体1到达清洗台
  285. /// </summary>
  286. public bool agvArriveCleanUnLoad { get; set; }
  287. /// <summary>
  288. /// 下位确认执行信号 true:执行 false:不执行
  289. /// </summary>
  290. public ushort ExcuteIsConfirm { get; set;} //默认为:0,确认执行:1,取消执行:2
  291. /// <summary>
  292. /// 线体1流程控制互锁信号
  293. /// </summary>
  294. public bool NextStart { get; set; }
  295. /// <summary>
  296. /// 下位信号判断
  297. /// </summary>
  298. public bool LowSignalJude { get; set; }
  299. /// <summary>
  300. /// 集中洗桶模式
  301. /// </summary>
  302. public ushort WashEmptyRollerModel { get; set; }
  303. /// <summary>
  304. /// 洗桶就位信号
  305. /// </summary>
  306. public ushort WashRollerArriveSignal { get; set; }
  307. }
  308. /// <summary>
  309. /// 滚筒线2相关变量
  310. /// </summary>
  311. public class RollerLineTwo
  312. {
  313. /// <summary>
  314. /// 工位号1
  315. /// </summary>
  316. public ushort StationOne { get; set; }
  317. /// <summary>
  318. /// 工位号2
  319. /// </summary>
  320. public ushort StationTwo { get; set; }
  321. /// <summary>
  322. /// 工位号3
  323. /// </summary>
  324. public ushort StationThree { get; set; }
  325. /// <summary>
  326. /// 工位号4
  327. /// </summary>
  328. public ushort StationFour { get; set; }
  329. /// <summary>
  330. /// 工位号5
  331. /// </summary>
  332. public ushort StationFive { get; set; }
  333. /// <summary>
  334. /// 工位号6
  335. /// </summary>
  336. public ushort StationSix { get; set; }
  337. /// <summary>
  338. /// 工位号7
  339. /// </summary>
  340. public ushort StationSeven { get; set; }
  341. /// <summary>
  342. /// 工位号8
  343. /// </summary>
  344. public ushort StationEight { get; set; }
  345. /// <summary>
  346. /// 输送出料滚筒运行信号
  347. /// </summary>
  348. public ushort OutMaterialingSingle { get; set; }
  349. /// <summary>
  350. /// 输送出料滚筒运行故障信号
  351. /// </summary>
  352. public ushort OutMaterialingTroubleSingle { get; set; }
  353. /// <summary>
  354. /// 当前线体配方完成信号
  355. /// </summary>
  356. public ushort RecipeCompleteSingle { get; set; }
  357. /// <summary>
  358. /// 当前配方完成的中转信号
  359. /// </summary>
  360. public ushort RecipeComMidSingle { get; set; } = 1;
  361. /// <summary>
  362. /// 线体1上空桶确认信号
  363. /// </summary>
  364. public ushort EmptyRollerConfirmSingle { get; set; }
  365. /// <summary>
  366. /// 线体1上单个空桶编号
  367. /// </summary>
  368. public ushort EmptyRollerNum { get; set; }
  369. /// <summary>
  370. /// 上一个同时否是空桶
  371. /// </summary>
  372. public bool IsEpmtyBefore { get; set; }
  373. public bool CanRun { get; set; } = true; //配方料桶上料结束后,线体空桶AGV才能1号线装桶
  374. /// <summary>
  375. /// 线体2上所有空桶的编号集合
  376. /// </summary>
  377. public List<ushort> EmptyRollerNums { get; set; } = new List<ushort>();
  378. /// <summary>
  379. /// AGV从炒锅到达线体4空桶下料位置
  380. /// </summary>
  381. public bool agvArriveLineFour { get; set; }
  382. /// <summary>
  383. /// AGV从线体2到达清洗台
  384. /// </summary>
  385. public bool agvArriveCleanUnLoad { get; set; }
  386. /// <summary>
  387. /// 下位确认执行信号 true:执行 false:不执行
  388. /// </summary>
  389. public ushort ExcuteIsConfirm { get; set; }
  390. /// <summary>
  391. /// 线体1流程控制互锁信号
  392. /// </summary>
  393. public bool NextStart { get; set; }
  394. /// <summary>
  395. /// 下位信号判断
  396. /// </summary>
  397. public bool LowSignalJude { get; set; }
  398. /// <summary>
  399. /// 集中洗桶模式
  400. /// </summary>
  401. public ushort WashEmptyRollerModel { get; set; }
  402. /// <summary>
  403. /// 洗桶就位信号
  404. /// </summary>
  405. public ushort WashRollerArriveSignal { get; set; }
  406. }
  407. /// <summary>
  408. /// 滚筒线3相关变量
  409. /// </summary>
  410. public class RollerLineThree
  411. {
  412. /// <summary>
  413. /// 工位号1
  414. /// </summary>
  415. public ushort StationOne { get; set; }
  416. /// <summary>
  417. /// 工位号2
  418. /// </summary>
  419. public ushort StationTwo { get; set; }
  420. /// <summary>
  421. /// 工位号3
  422. /// </summary>
  423. public ushort StationThree { get; set; }
  424. /// <summary>
  425. /// 工位号4
  426. /// </summary>
  427. public ushort StationFour { get; set; }
  428. /// <summary>
  429. /// 工位号5
  430. /// </summary>
  431. public ushort StationFive { get; set; }
  432. /// <summary>
  433. /// 工位号6
  434. /// </summary>
  435. public ushort StationSix { get; set; }
  436. /// <summary>
  437. /// 工位号7
  438. /// </summary>
  439. public ushort StationSeven { get; set; }
  440. /// <summary>
  441. /// 工位号8
  442. /// </summary>
  443. public ushort StationEight { get; set; }
  444. /// <summary>
  445. /// 输送出料滚筒运行信号
  446. /// </summary>
  447. public ushort OutMaterialingSingle { get; set; }
  448. /// <summary>
  449. /// 输送出料滚筒运行故障信号
  450. /// </summary>
  451. public ushort OutMaterialingTroubleSingle { get; set; }
  452. /// <summary>
  453. /// 当前线体配方完成信号
  454. /// </summary>
  455. public ushort RecipeCompleteSingle { get; set; }
  456. /// <summary>
  457. /// 当前配方完成的中转信号
  458. /// </summary>
  459. public ushort RecipeComMidSingle { get; set; } = 1;
  460. /// <summary>
  461. /// 线体1上空桶确认信号
  462. /// </summary>
  463. public ushort EmptyRollerConfirmSingle { get; set; }
  464. /// <summary>
  465. /// 线体1上单个空桶编号
  466. /// </summary>
  467. public ushort EmptyRollerNum { get; set; }
  468. /// <summary>
  469. /// 上一个同时否是空桶
  470. /// </summary>
  471. public bool IsEpmtyBefore { get; set; }
  472. public bool CanRun { get; set; } = true;//配方料桶上料结束后,线体空桶AGV才能1号线装桶
  473. /// <summary>
  474. /// 线体3上所有空桶的编号集合
  475. /// </summary>
  476. public List<ushort> EmptyRollerNums { get; set; } = new List<ushort>();
  477. /// <summary>
  478. /// AGV从炒锅到达线体4空桶下料位置
  479. /// </summary>
  480. public bool agvArriveLineFour { get; set; }
  481. /// <summary>
  482. /// AGV从线体3到达清洗台
  483. /// </summary>
  484. public bool agvArriveCleanUnLoad { get; set; }
  485. /// <summary>
  486. /// 下位确认执行信号 true:执行 false:不执行
  487. /// </summary>
  488. public ushort ExcuteIsConfirm { get; set; }
  489. /// <summary>
  490. /// 线体1流程控制互锁信号
  491. /// </summary>
  492. public bool NextStart { get; set; }
  493. /// <summary>
  494. /// 下位信号判断
  495. /// </summary>
  496. public bool LowSignalJude { get; set; }
  497. /// <summary>
  498. /// 集中洗桶模式
  499. /// </summary>
  500. public ushort WashEmptyRollerModel { get; set; }
  501. /// <summary>
  502. /// 洗桶就位信号
  503. /// </summary>
  504. public ushort WashRollerArriveSignal { get; set; }
  505. }
  506. /// <summary>
  507. /// 滚筒线4相关变量
  508. /// </summary>
  509. public class RollerLineFour
  510. {
  511. /// <summary>
  512. /// 工位号1
  513. /// </summary>
  514. public ushort StationOne { get; set; }
  515. /// <summary>
  516. /// 工位号2
  517. /// </summary>
  518. public ushort StationTwo { get; set; }
  519. /// <summary>
  520. /// 工位号3
  521. /// </summary>
  522. public ushort StationThree { get; set; }
  523. /// <summary>
  524. /// 工位号4
  525. /// </summary>
  526. public ushort StationFour { get; set; }
  527. /// <summary>
  528. /// 工位号5
  529. /// </summary>
  530. public ushort StationFive { get; set; }
  531. /// <summary>
  532. /// 工位号6
  533. /// </summary>
  534. public ushort StationSix { get; set; }
  535. /// <summary>
  536. /// 工位号7
  537. /// </summary>
  538. public ushort StationSeven { get; set; }
  539. /// <summary>
  540. /// 工位号8
  541. /// </summary>
  542. public ushort StationEight { get; set; }
  543. /// <summary>
  544. /// 输送出料滚筒运行信号
  545. /// </summary>
  546. public ushort OutMaterialingSingle { get; set; }
  547. /// <summary>
  548. /// 输送出料滚筒运行故障信号
  549. /// </summary>
  550. public ushort OutMaterialingTroubleSingle { get; set; }
  551. /// <summary>
  552. /// 当前线体配方完成信号
  553. /// </summary>
  554. public ushort RecipeCompleteSingle { get; set; }
  555. /// <summary>
  556. /// 当前配方完成的中转信号
  557. /// </summary>
  558. public ushort RecipeComMidSingle { get; set; } = 1;
  559. }
  560. /// <summary>
  561. /// 炒锅1相关变量
  562. /// </summary>
  563. public class FryPotOne
  564. {
  565. /// <summary>
  566. /// 进料滚筒运行信号
  567. /// </summary>
  568. public ushort InputMaterialRollerRunningSingle { get; set; }
  569. /// <summary>
  570. /// 进料到位信号
  571. /// </summary>
  572. public ushort InputMaterialArrivedSingle { get; set; }
  573. /// <summary>
  574. /// 空桶到位信号
  575. /// </summary>
  576. public ushort EmptyBarrelArrivedSingle { get; set; }
  577. /// <summary>
  578. /// 空桶滚筒运行信号
  579. /// </summary>
  580. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  581. /// <summary>
  582. /// 滚筒故障信号
  583. /// </summary>
  584. public ushort RollerTroubleSingle { get; set; }
  585. /// <summary>
  586. /// 用油量确认信号
  587. /// </summary>
  588. public ushort OilConfirm { get; set; }
  589. /// <summary>
  590. /// 当前配方用油量
  591. /// </summary>
  592. public double OilCapacity { get; set; }
  593. /// <summary>
  594. /// 当前线体配方完成信号
  595. /// </summary>
  596. public ushort RecipeCompleteSingle { get; set; }
  597. /// <summary>
  598. /// 炒股当前步数
  599. /// </summary>
  600. public ushort ProcessStep { get; set; }
  601. }
  602. /// <summary>
  603. /// 炒锅2相关变量
  604. /// </summary>
  605. public class FryPotTwo
  606. {
  607. /// <summary>
  608. /// 进料滚筒运行信号
  609. /// </summary>
  610. public ushort InputMaterialRollerRunningSingle { get; set; }
  611. /// <summary>
  612. /// 进料到位信号
  613. /// </summary>
  614. public ushort InputMaterialArrivedSingle { get; set; }
  615. /// <summary>
  616. /// 空桶到位信号
  617. /// </summary>
  618. public ushort EmptyBarrelArrivedSingle { get; set; }
  619. /// <summary>
  620. /// 空桶滚筒运行信号
  621. /// </summary>
  622. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  623. /// <summary>
  624. /// 滚筒故障信号
  625. /// </summary>
  626. public ushort RollerTroubleSingle { get; set; }
  627. /// <summary>
  628. /// 用油量确认信号
  629. /// </summary>
  630. public ushort OilConfirm { get; set; }
  631. /// <summary>
  632. /// 当前配方用油量
  633. /// </summary>
  634. public double OilCapacity { get; set; }
  635. /// <summary>
  636. /// 当前线体配方完成信号
  637. /// </summary>
  638. public ushort RecipeCompleteSingle { get; set; }
  639. /// <summary>
  640. /// 炒锅当前步数
  641. /// </summary>
  642. public ushort ProcessStep { get; set; }
  643. }
  644. /// <summary>
  645. /// 炒锅3相关变量
  646. /// </summary>
  647. public class FryPotThree
  648. {
  649. /// <summary>
  650. /// 进料滚筒运行信号
  651. /// </summary>
  652. public ushort InputMaterialRollerRunningSingle { get; set; }
  653. /// <summary>
  654. /// 进料到位信号
  655. /// </summary>
  656. public ushort InputMaterialArrivedSingle { get; set; }
  657. /// <summary>
  658. /// 空桶到位信号
  659. /// </summary>
  660. public ushort EmptyBarrelArrivedSingle { get; set; }
  661. /// <summary>
  662. /// 空桶滚筒运行信号
  663. /// </summary>
  664. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  665. /// <summary>
  666. /// 滚筒故障信号
  667. /// </summary>
  668. public ushort RollerTroubleSingle { get; set; }
  669. /// <summary>
  670. /// 用油量确认信号
  671. /// </summary>
  672. public ushort OilConfirm { get; set; }
  673. /// <summary>
  674. /// 当前配方用油量
  675. /// </summary>
  676. public double OilCapacity { get; set; }
  677. /// <summary>
  678. /// 当前线体配方完成信号
  679. /// </summary>
  680. public ushort RecipeCompleteSingle { get; set; }
  681. /// <summary>
  682. /// 炒股当前步数
  683. /// </summary>
  684. public ushort ProcessStep { get; set; }
  685. }
  686. /// <summary>
  687. /// 炒锅4相关变量
  688. /// </summary>
  689. public class FryPotFour
  690. {
  691. /// <summary>
  692. /// 进料滚筒运行信号
  693. /// </summary>
  694. public ushort InputMaterialRollerRunningSingle { get; set; }
  695. /// <summary>
  696. /// 进料到位信号
  697. /// </summary>
  698. public ushort InputMaterialArrivedSingle { get; set; }
  699. /// <summary>
  700. /// 空桶到位信号
  701. /// </summary>
  702. public ushort EmptyBarrelArrivedSingle { get; set; }
  703. /// <summary>
  704. /// 空桶滚筒运行信号
  705. /// </summary>
  706. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  707. /// <summary>
  708. /// 滚筒故障信号
  709. /// </summary>
  710. public ushort RollerTroubleSingle { get; set; }
  711. /// <summary>
  712. /// 用油量确认信号
  713. /// </summary>
  714. public ushort OilConfirm { get; set; }
  715. /// <summary>
  716. /// 当前配方用油量
  717. /// </summary>
  718. public double OilCapacity { get; set; }
  719. /// <summary>
  720. /// 当前线体配方完成信号
  721. /// </summary>
  722. public ushort RecipeCompleteSingle { get; set; }
  723. /// <summary>
  724. /// 炒股当前步数
  725. /// </summary>
  726. public ushort ProcessStep { get; set; }
  727. }
  728. /// <summary>
  729. /// 炒锅5相关变量
  730. /// </summary>
  731. public class FryPotFive
  732. {
  733. /// <summary>
  734. /// 进料滚筒运行信号
  735. /// </summary>
  736. public ushort InputMaterialRollerRunningSingle { get; set; }
  737. /// <summary>
  738. /// 进料到位信号
  739. /// </summary>
  740. public ushort InputMaterialArrivedSingle { get; set; }
  741. /// <summary>
  742. /// 空桶到位信号
  743. /// </summary>
  744. public ushort EmptyBarrelArrivedSingle { get; set; }
  745. /// <summary>
  746. /// 空桶滚筒运行信号
  747. /// </summary>
  748. public ushort EmptyBarrelRollerRunningSingle { get; set; }
  749. /// <summary>
  750. /// 滚筒故障信号
  751. /// </summary>
  752. public ushort RollerTroubleSingle { get; set; }
  753. /// <summary>
  754. /// 用油量确认信号
  755. /// </summary>
  756. public ushort OilConfirm { get; set; }
  757. /// <summary>
  758. /// 当前配方用油量
  759. /// </summary>
  760. public double OilCapacity { get; set; }
  761. /// <summary>
  762. /// 当前线体配方完成信号
  763. /// </summary>
  764. public ushort RecipeCompleteSingle { get; set; }
  765. /// <summary>
  766. /// 炒股当前步数
  767. /// </summary>
  768. public ushort ProcessStep { get; set; }
  769. }
  770. }