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

802 lines
32 KiB

  1. using BPASmartClient.Device;
  2. using BPASmartClient.Model.大炒;
  3. using BPASmartClient.MorkBF.Model;
  4. using System;
  5. using System.Collections.Concurrent;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace BPASmartClient.MorkBF
  11. {
  12. internal class GVL_MorkBF : IStatus
  13. {
  14. /// <summary>
  15. /// 炒锅1订单队列
  16. /// </summary>
  17. public ConcurrentQueue<FryPotMessages> FirePan1_Order { get; set; } = new ConcurrentQueue<FryPotMessages>();
  18. /// <summary>
  19. /// 炒锅2订单队列
  20. /// </summary>
  21. public ConcurrentQueue<FryPotMessages> FirePan2_Order { get; set; } = new ConcurrentQueue<FryPotMessages>();
  22. /// <summary>
  23. /// 机器人队列
  24. /// </summary>
  25. public ConcurrentQueue<RobotAction_Pot> RobotActinQueue { get; set; } = new ConcurrentQueue<RobotAction_Pot>();
  26. /// <summary>
  27. /// 炒锅1忙碌
  28. /// </summary>
  29. public bool FirePan1_Busy = false;
  30. /// <summary>
  31. /// 炒锅2忙碌
  32. /// </summary>
  33. public bool FirePan2_Busy = false;
  34. /// <summary>
  35. /// 炒锅1当前流程
  36. /// </summary>
  37. public List<FryPotProcess> FryPot1_CurrentProcess;
  38. /// <summary>
  39. /// 炒锅2当前流程
  40. /// </summary>
  41. public List<FryPotProcess> FryPot2_CurrentProcess;
  42. #region 炒锅1读取数据
  43. /// <summary>
  44. /// 炒锅1锅低温度
  45. /// </summary>
  46. [VariableMonitor("炒锅1锅低温度", "VW120", "160")]
  47. public int FirePot1_Temperature { get; set; }
  48. /// <summary>
  49. /// 炒锅1脉冲值
  50. /// </summary>
  51. [VariableMonitor("炒锅1脉冲值", "VW122", "161")]
  52. public int FirePot1_Pulse { get; set; }
  53. /// <summary>
  54. /// 炒锅1初始化完成
  55. /// </summary>
  56. [VariableMonitor("炒锅1初始化完成", "M20.0", "480")]
  57. public bool FirePot1_InitCompleted { get; set; } = false;
  58. /// <summary>
  59. /// 炒锅1手动自动模式
  60. /// </summary>
  61. [VariableMonitor("炒锅1手动自动模式", "M20.1", "481")]
  62. public bool FirePot1_IsAuto { get; set; }
  63. /// <summary>
  64. /// 炒锅1急停
  65. /// </summary>
  66. [VariableMonitor("炒锅1急停", "M20.2", "482")]
  67. public bool FirePot1_Emergencystop { get; set; }
  68. /// <summary>
  69. /// 1#炒锅荤菜盆有无检测
  70. /// </summary>
  71. [VariableMonitor("1#炒锅1锅低温度", "M20.3", "483")]
  72. public bool FirePot1_MealTubExist { get; set; }
  73. /// <summary>
  74. /// 1#炒锅素菜盆1有无检测
  75. /// </summary>
  76. [VariableMonitor("炒锅素菜盆1有无检测", "M20.4", "484")]
  77. public bool FirePot1_VegetablesTub1Exist { get; set; }
  78. /// <summary>
  79. /// 1#炒锅素菜盆2有无检测
  80. /// </summary>
  81. [VariableMonitor("1#炒锅素菜盆2有无检测", "M20.5", "485")]
  82. public bool FirePot1_VegetablesTub2Exist { get; set; }
  83. /// <summary>
  84. /// 1#炒锅调料盆1有无检测
  85. /// </summary>
  86. [VariableMonitor("1#炒锅调料盆1有无检测", "M20.6", "486")]
  87. public bool FirePot1_Seasoning1Exist { get; set; }
  88. /// <summary>
  89. /// 1#炒锅调料盆2有无检测
  90. /// </summary>
  91. [VariableMonitor("1#炒锅调料盆2有无检测", "M20.7", "487")]
  92. public bool FirePot1_Seasoning2Exist { get; set; }
  93. /// <summary>
  94. /// 1#炒锅辅料盆1有无检测
  95. /// </summary>
  96. [VariableMonitor("1#炒锅辅料盆1有无检测", "M21.0", "488")]
  97. public bool FirePot1_Accessories1Exist { get; set; }
  98. /// <summary>
  99. /// 1#炒锅辅料盆2有无检测
  100. /// </summary>
  101. [VariableMonitor("1#炒锅辅料盆2有无检测", "M21.1", "489")]
  102. public bool FirePot1_Accessories2Exist { get; set; }
  103. /// <summary>
  104. /// 1#炒锅出餐空盆有无检测
  105. /// </summary>
  106. [VariableMonitor("1#炒锅出餐空盆有无检测", "M21.2", "490")]
  107. public bool FirePot1_OutFoodTubExist { get; set; }
  108. /// <summary>
  109. /// 1#炒锅在原点反馈
  110. /// </summary>
  111. [VariableMonitor("1#炒锅在原点反馈", "M21.3", "491")]
  112. public bool FirePot1_OnOrigin { get; set; }
  113. /// <summary>
  114. /// 1#炒制位置1反馈
  115. /// </summary>
  116. [VariableMonitor("1#炒制位置1反馈", "M21.4", "492")]
  117. public bool FirePot1_FirePosition1 { get; set; }
  118. /// <summary>
  119. /// 1#炒制位置2反馈
  120. /// </summary>
  121. [VariableMonitor("1#炒制位置2反馈", "M21.5", "493")]
  122. public bool FirePot1_FirePosition2 { get; set; }
  123. /// <summary>
  124. /// 1#炒制位置3反馈
  125. /// </summary>
  126. [VariableMonitor("1#炒制位置3反馈", "M21.6", "494")]
  127. public bool FirePot1_FirePosition3 { get; set; }
  128. /// <summary>
  129. /// 1#炒制位置4反馈
  130. /// </summary>
  131. [VariableMonitor("1#炒制位置4反馈", "M21.7", "495")]
  132. public bool FirePot1_FirePosition4 { get; set; }
  133. /// <summary>
  134. /// 1#炒锅在出餐倒料位置反馈
  135. /// </summary>
  136. [VariableMonitor("1#炒锅在出餐倒料位置反馈", "M22.0", "496")]
  137. public bool FirePot1_PotOnOutFoodPosition { get; set; }
  138. /// <summary>
  139. /// 1#炒锅在投料位置反馈、
  140. /// </summary>
  141. [VariableMonitor("1#炒锅在投料位置反馈", "M22.1", "497")]
  142. public bool FirePot1_PotOnIntoFoodPosition { get; set; }
  143. /// <summary>
  144. /// 1#炒锅在洗锅位置反馈
  145. /// </summary>
  146. [VariableMonitor("1#炒锅在洗锅位置反馈", "M22.2", "498")]
  147. public bool FirePot1_PotOnCleanPosition { get; set; }
  148. public int FirePot1_FireGear { get; set; } = 0;
  149. public int FirePot1_StirGear { get; set; } = 0;
  150. public int FirePot1_FlipSpeed { get; set; } = 0;
  151. #endregion
  152. #region 炒锅2读取数据
  153. /// <summary>
  154. /// 炒锅2锅低温度
  155. /// </summary>
  156. [VariableMonitor("炒锅2锅低温度", "VW150", "175")]
  157. public int FirePot2_Temperature { get; set; }
  158. /// <summary>
  159. /// 炒锅2脉冲值
  160. /// </summary>
  161. [VariableMonitor("炒锅2脉冲值", "VW152", "176")]
  162. public int FirePot2_Pulse { get; set; }
  163. /// <summary>
  164. /// 炒锅2初始化完成
  165. /// </summary>
  166. [VariableMonitor("炒锅2初始化完成", "M25.0", "520")]
  167. public bool FirePot2_InitCompleted { get; set; } = false;
  168. /// <summary>
  169. /// 炒锅2手动自动模式
  170. /// </summary>
  171. [VariableMonitor("炒锅2手动自动模式", "M25.1", "521")]
  172. public bool FirePot2_IsAuto { get; set; }
  173. /// <summary>
  174. /// 炒锅2急停
  175. /// </summary>
  176. [VariableMonitor("炒锅2急停", "M25.2", "522")]
  177. public bool FirePot2_Emergencystop { get; set; }
  178. /// <summary>
  179. /// 2#炒锅荤菜盆有无检测
  180. /// </summary>
  181. [VariableMonitor("2#炒锅荤菜盆有无检测", "M25.3", "523")]
  182. public bool FirePot2_MealTubExist { get; set; }
  183. /// <summary>
  184. /// 2#炒锅素菜盆1有无检测
  185. /// </summary>
  186. [VariableMonitor("2#炒锅素菜盆1有无检测", "M25.4", "524")]
  187. public bool FirePot2_VegetablesTub1Exist { get; set; }
  188. /// <summary>
  189. /// 2#炒锅素菜盆2有无检测
  190. /// </summary>
  191. [VariableMonitor("2#炒锅素菜盆2有无检测", "M25.5", "525")]
  192. public bool FirePot2_VegetablesTub2Exist { get; set; }
  193. /// <summary>
  194. /// 2#炒锅调料盆1有无检测
  195. /// </summary>
  196. [VariableMonitor("2#炒锅调料盆1有无检测", "M25.6", "526")]
  197. public bool FirePot2_Seasoning1Exist { get; set; }
  198. /// <summary>
  199. /// 2#炒锅调料盆2有无检测
  200. /// </summary>
  201. [VariableMonitor("2#炒锅调料盆2有无检测", "M25.7", "527")]
  202. public bool FirePot2_Seasoning2Exist { get; set; }
  203. /// <summary>
  204. /// 2#炒锅辅料盆1有无检测
  205. /// </summary>
  206. [VariableMonitor("2#炒锅1锅低温度", "M26.0", "528")]
  207. public bool FirePot2_Accessories1Exist { get; set; }
  208. /// <summary>
  209. /// 2#炒锅辅料盆2有无检测
  210. /// </summary>
  211. [VariableMonitor("2#炒锅辅料盆2有无检测", "M26.1", "529")]
  212. public bool FirePot2_Accessories2Exist { get; set; }
  213. /// <summary>
  214. /// 2#炒锅出餐空盆有无检测
  215. /// </summary>
  216. [VariableMonitor("2#炒锅出餐空盆有无检测", "M26.2", "530")]
  217. public bool FirePot2_OutFoodTubExist { get; set; }
  218. /// <summary>
  219. /// 2#炒锅在原点反馈
  220. /// </summary>
  221. [VariableMonitor("2#炒锅在原点反馈", "M26.3", "531")]
  222. public bool FirePot2_OnOrigin { get; set; }
  223. /// <summary>
  224. /// 2#炒制位置1反馈
  225. /// </summary>
  226. [VariableMonitor("2#炒制位置1反馈", "M26.4", "532")]
  227. public bool FirePot2_FirePosition1 { get; set; }
  228. /// <summary>
  229. /// 2#炒制位置2反馈
  230. /// </summary>
  231. [VariableMonitor("2#炒制位置2反馈", "M26.5", "533")]
  232. public bool FirePot2_FirePosition2 { get; set; }
  233. /// <summary>
  234. /// 2#炒制位置3反馈
  235. /// </summary>
  236. [VariableMonitor("2#炒制位置3反馈", "M26.6", "534")]
  237. public bool FirePot2_FirePosition3 { get; set; }
  238. /// <summary>
  239. /// 2#炒制位置4反馈
  240. /// </summary>
  241. [VariableMonitor("2#炒制位置4反馈", "M26.7", "535")]
  242. public bool FirePot2_FirePosition4 { get; set; }
  243. /// <summary>
  244. /// 2#炒锅在出餐倒料位置反馈
  245. /// </summary>
  246. [VariableMonitor("2#炒锅在出餐倒料位置反馈", "M27.0", "536")]
  247. public bool FirePot2_PotOnOutFoodPosition { get; set; }
  248. /// <summary>
  249. /// 2#炒锅在投料位置反馈、
  250. /// </summary>
  251. [VariableMonitor("2#炒锅在投料位置反馈", "M27.1", "537")]
  252. public bool FirePot2_PotOnIntoFoodPosition { get; set; }
  253. /// <summary>
  254. /// 2#炒锅在洗锅位置反馈
  255. /// </summary>
  256. [VariableMonitor("2#炒锅在洗锅位置反馈", "M27.2", "538")]
  257. public bool FirePot2_PotOnCleanPosition { get; set; }
  258. public int FirePot2_FireGear { get; set; } = 0;
  259. public int FirePot2_StirGear { get; set; } = 0;
  260. public int FirePot2_FlipSpeed { get; set; } = 0;
  261. #endregion
  262. #region 机器人数据读取
  263. //public bool Robot_IsBusy;
  264. ///// <summary>
  265. ///// 机器人倒料完成
  266. ///// </summary>
  267. //[VariableMonitor("机器人倒料完成", "GM500", "4596")]
  268. //public bool Robot_OutMaterialCompleted { get; set; }
  269. ///// <summary>
  270. ///// 机器人上使能
  271. ///// </summary>
  272. //[VariableMonitor("机器人上使能", "GM600.0", "4596")]
  273. //public bool Robot_Enable { get; set; }
  274. ///// <summary>
  275. ///// 机器人复位
  276. ///// </summary>
  277. //[VariableMonitor("机器人复位", "GM600.1", "4597")]
  278. //public bool Robot_Reset { get; set; }
  279. ///// <summary>
  280. ///// 机器人启动
  281. ///// </summary>
  282. //[VariableMonitor("机器人启动", "GM600.2", "4598")]
  283. //public bool Robot_Start { get; set; }
  284. ///// <summary>
  285. ///// 机器人停止
  286. ///// </summary>
  287. //[VariableMonitor("机器人停止", "GM600.3", "4599")]
  288. //public bool Robot_Stop { get; set; }
  289. ///// <summary>
  290. ///// 机器人动作反馈GI0
  291. ///// </summary>
  292. //[VariableMonitor("机器人动作反馈GI0", "GI0", "0")]
  293. //public int Robot_GI0ActionCallback { get; set; }
  294. ///// <summary>
  295. ///// 机器人动作反馈GI1
  296. ///// </summary>
  297. //[VariableMonitor("机器人动作反馈GI1", "GI1", "1")]
  298. //public int Robot_GI1ActionCallback { get; set; }
  299. ///// <summary>
  300. ///// 机器人动作反馈GI2
  301. ///// </summary>
  302. //[VariableMonitor("机器人动作反馈GI2", "GI2", "2")]
  303. //public int Robot_GI2ActionCallback { get; set; }
  304. ///// <summary>
  305. ///// 机器人动作反馈GI3
  306. ///// </summary>
  307. //[VariableMonitor("机器人动作反馈GI3", "GI3", "3")]
  308. //public int Robot_GI3ActionCallback { get; set; }
  309. ///// <summary>
  310. ///// 机器人动作反馈GI4
  311. ///// </summary>
  312. //[VariableMonitor("机器人动作反馈GI4", "GI4", "4")]
  313. //public int Robot_GI4ActionCallback { get; set; }
  314. #endregion
  315. //新版大炒的通讯协议 2023/01/15
  316. #region 炒锅1读取数据
  317. [VariableMonitor("1#炒锅初始化完成", "M40.0")]
  318. public bool FryPan1_InitComplete { get; set; }
  319. [VariableMonitor("1#炒锅手动/自动模式切换", "M40.1")]
  320. public bool FryPan1_ManualOrAutoMode { get; set; }
  321. [VariableMonitor("1#炒锅急停", "M40.2")]
  322. public bool FryPan1_EStop { get; set; }
  323. [VariableMonitor("1#炒锅在位置1反馈", "M40.3")]
  324. public bool FryPan1_InPosition1 { get; set; }
  325. [VariableMonitor("1#炒锅在位置2反馈", "M40.4")]
  326. public bool FryPan1_InPosition2 { get; set; }
  327. [VariableMonitor("1#炒锅在位置3反馈", "M40.5")]
  328. public bool FryPan1_InPosition3 { get; set; }
  329. [VariableMonitor("1#炒锅在位置4反馈", "M40.6")]
  330. public bool FryPan1_InPosition4 { get; set; }
  331. [VariableMonitor("1#炒锅在出餐口倒料位置", "M40.7")]
  332. public bool FryPan1_InPositionUnload { get; set; }
  333. [VariableMonitor("1#炒锅在进料口位置", "M41.0")]
  334. public bool FryPan1_InPositionload { get; set; }
  335. [VariableMonitor("1#炒锅在洗锅位置", "M41.1")]
  336. public bool FryPan1_InPositionWashPot { get; set; }
  337. [VariableMonitor("1#炒锅通道1出料完成", "M41.2")]
  338. public bool FryPan1_UnloadFinishCH1 { get; set; }
  339. [VariableMonitor("1#炒锅通道2出料完成", "M41.3")]
  340. public bool FryPan1_UnloadFinishCH2 { get; set; }
  341. [VariableMonitor("1#炒锅通道3出料完成", "M41.4")]
  342. public bool FryPan1_UnloadFinishCH3 { get; set; }
  343. [VariableMonitor("1#炒锅通道4出料完成", "M41.5")]
  344. public bool FryPan1_UnloadFinishCH4 { get; set; }
  345. [VariableMonitor("1#炒锅通道5出料完成", "M41.6")]
  346. public bool FryPan1_UnloadFinishCH5 { get; set; }
  347. [VariableMonitor("1#炒锅通道6出料完成", "M41.7")]
  348. public bool FryPan1_UnloadFinishCH6 { get; set; }
  349. [VariableMonitor("1#炒锅通道7出料完成", "M42.0")]
  350. public bool FryPan1_UnloadFinishCH7 { get; set; }
  351. [VariableMonitor("1#炒锅通道8出料完成", "M42.1")]
  352. public bool FryPan1_UnloadFinishCH8 { get; set; }
  353. [VariableMonitor("1#炒锅当前温度", "VM200")]
  354. public short FryPan1_TemperatureNow { get; set; }
  355. [VariableMonitor("1#炒锅当前搅拌转速", "VM202")]
  356. public short FryPan1_MixingSpeedNow { get; set; }
  357. [VariableMonitor("1#炒锅当前炒制角度", "VM204")]
  358. public short FryPan1_FryAngle{ get; set; }
  359. [VariableMonitor("1#炒锅当前加热挡位", "VM206")]
  360. public short FryPan1_HeatingGearNow{ get; set; }
  361. #endregion
  362. #region 炒锅2读取数据
  363. [VariableMonitor("2#炒锅初始化完成", "M40.0")]
  364. public bool FryPan2_InitComplete { get; set; }
  365. [VariableMonitor("2#炒锅手动/自动模式切换", "M40.1")]
  366. public bool FryPan2_ManualOrAutoMode { get; set; }
  367. [VariableMonitor("2#炒锅急停", "M40.2")]
  368. public bool FryPan2_EStop { get; set; }
  369. [VariableMonitor("2#炒锅在位置1反馈", "M40.3")]
  370. public bool FryPan2_InPosition1 { get; set; }
  371. [VariableMonitor("2#炒锅在位置2反馈", "M40.4")]
  372. public bool FryPan2_InPosition2 { get; set; }
  373. [VariableMonitor("2#炒锅在位置3反馈", "M40.5")]
  374. public bool FryPan2_InPosition3 { get; set; }
  375. [VariableMonitor("2#炒锅在位置4反馈", "M40.6")]
  376. public bool FryPan2_InPosition4 { get; set; }
  377. [VariableMonitor("2#炒锅在出餐口倒料位置", "M40.7")]
  378. public bool FryPan2_InPositionUnload { get; set; }
  379. [VariableMonitor("2#炒锅在进料口位置", "M41.0")]
  380. public bool FryPan2_InPositionload { get; set; }
  381. [VariableMonitor("2#炒锅在洗锅位置", "M41.1")]
  382. public bool FryPan2_InPositionWashPot { get; set; }
  383. [VariableMonitor("2#炒锅通道1出料完成", "M41.2")]
  384. public bool FryPan2_UnloadFinishCH1 { get; set; }
  385. [VariableMonitor("2#炒锅通道2出料完成", "M41.3")]
  386. public bool FryPan2_UnloadFinishCH2 { get; set; }
  387. [VariableMonitor("2#炒锅通道3出料完成", "M41.4")]
  388. public bool FryPan2_UnloadFinishCH3 { get; set; }
  389. [VariableMonitor("2#炒锅通道4出料完成", "M41.5")]
  390. public bool FryPan2_UnloadFinishCH4 { get; set; }
  391. [VariableMonitor("2#炒锅通道5出料完成", "M41.6")]
  392. public bool FryPan2_UnloadFinishCH5 { get; set; }
  393. [VariableMonitor("2#炒锅通道6出料完成", "M41.7")]
  394. public bool FryPan2_UnloadFinishCH6 { get; set; }
  395. [VariableMonitor("2#炒锅通道7出料完成", "M42.0")]
  396. public bool FryPan2_UnloadFinishCH7 { get; set; }
  397. [VariableMonitor("2#炒锅通道8出料完成", "M42.1")]
  398. public bool FryPan2_UnloadFinishCH8 { get; set; }
  399. [VariableMonitor("2#炒锅当前温度", "VM200")]
  400. public short FryPan2_TemperatureNow { get; set; }
  401. [VariableMonitor("2#炒锅当前搅拌转速", "VM202")]
  402. public short FryPan2_MixingSpeedNow { get; set; }
  403. [VariableMonitor("2#炒锅当前炒制角度", "VM204")]
  404. public short FryPan2_FryAngle { get; set; }
  405. [VariableMonitor("2#炒锅当前加热挡位", "VM206")]
  406. public short FryPan2_HeatingGearNow { get; set; }
  407. #endregion
  408. #region 机器人数据读取
  409. public bool Robot_IsBusy;
  410. /// <summary>
  411. /// 机器人倒料完成
  412. /// </summary>
  413. [VariableMonitor("机器人倒料完成", "GM500", "4596")]
  414. public bool Robot_OutMaterialCompleted { get; set; }
  415. /// <summary>
  416. /// 机器人上使能
  417. /// </summary>
  418. [VariableMonitor("机器人上使能", "GM600.0", "4596")]
  419. public bool Robot_Enable { get; set; }
  420. /// <summary>
  421. /// 机器人复位
  422. /// </summary>
  423. [VariableMonitor("机器人复位", "GM600.1", "4597")]
  424. public bool Robot_Reset { get; set; }
  425. /// <summary>
  426. /// 机器人启动
  427. /// </summary>
  428. [VariableMonitor("机器人启动", "GM600.2", "4598")]
  429. public bool Robot_Start { get; set; }
  430. /// <summary>
  431. /// 机器人停止
  432. /// </summary>
  433. [VariableMonitor("机器人停止", "GM600.3", "4599")]
  434. public bool Robot_Stop { get; set; }
  435. /// <summary>
  436. /// 机器人动作反馈GI0
  437. /// </summary>
  438. [VariableMonitor("机器人动作反馈GI5", "GI5", "5")]
  439. public int Robot_GI0ActionCallback { get; set; }
  440. /// <summary>
  441. /// 机器人动作反馈GI1
  442. /// </summary>
  443. [VariableMonitor("机器人动作反馈GI6", "GI6", "6")]
  444. public int Robot_GI1ActionCallback { get; set; }
  445. /// <summary>
  446. /// 机器人动作反馈GI2
  447. /// </summary>
  448. [VariableMonitor("机器人动作反馈GI7", "GI7", "7")]
  449. public int Robot_GI2ActionCallback { get; set; }
  450. /// <summary>
  451. /// 机器人动作反馈GI3
  452. /// </summary>
  453. [VariableMonitor("机器人动作反馈GI8", "GI8", "8")]
  454. public int Robot_GI3ActionCallback { get; set; }
  455. /// <summary>
  456. /// 机器人动作反馈GI4
  457. /// </summary>
  458. [VariableMonitor("机器人动作反馈GI9", "GI9", "9")]
  459. public int Robot_GI4ActionCallback { get; set; }
  460. #endregion
  461. public Dictionary<int, bool> FirePot1_CompleteSingle { get; set; }
  462. public Dictionary<int, bool> FirePot2_CompleteSingle { get; set; }
  463. public GVL_MorkBF()
  464. {
  465. //FirePot1_CompleteSingle = new Dictionary<int, bool>
  466. //{
  467. // {1,Robot_FirePot1OutMeal },
  468. // {2,Robot_FirePot1OutVegetables1 },
  469. // {3,Robot_FirePot1OutVegetables2 },
  470. //};
  471. //炒锅1通道完成信号
  472. Fire1_PasswayCompleteSingle = new Dictionary<int, bool>
  473. {
  474. {1,Fire1_OutMaterial1 },
  475. {2,Fire1_OutMaterial2 },
  476. {3,Fire1_OutMaterial3 },
  477. {4,Fire1_OutMaterial4 },
  478. {5,Fire1_OutMaterial5 },
  479. {6,Fire1_OutMaterial6 },
  480. {7,Fire1_OutMaterial7 },
  481. {8,Fire1_OutMaterial8 },
  482. };
  483. Fire2_PasswayCompleteSingle = new Dictionary<int, bool>
  484. {
  485. {1,Fire2_OutMaterial1 },
  486. {2,Fire2_OutMaterial2 },
  487. {3,Fire2_OutMaterial3 },
  488. {4,Fire2_OutMaterial4 },
  489. {5,Fire2_OutMaterial5 },
  490. {6,Fire2_OutMaterial6 },
  491. {7,Fire2_OutMaterial7 },
  492. {8,Fire2_OutMaterial8 },
  493. };
  494. }
  495. public DateTime FirePan1_Date;
  496. public DateTime FirePan2_Date;
  497. #region 新大炒
  498. /// <summary>
  499. /// 炒锅1通道完成信号
  500. /// </summary>
  501. public Dictionary<int, bool> Fire1_PasswayCompleteSingle { get; set; }
  502. /// <summary>
  503. /// 炒锅2通道完成信号
  504. /// </summary>
  505. public Dictionary<int, bool> Fire2_PasswayCompleteSingle { get; set; }
  506. /// <summary>
  507. /// 炒锅通道出料写入点位
  508. /// </summary>
  509. public Dictionary<int, string> Fire_PasswayWrite { get; set; } = new Dictionary<int, string>
  510. {
  511. {1,"M11.3"},
  512. {2,"M11.4"},
  513. {3,"M11.5"},
  514. {4,"M11.6"},
  515. {5,"M11.7"},
  516. {6,"M12.0"},
  517. {7,"M12.1"},
  518. {8,"M12.2"},
  519. };
  520. /// <summary>
  521. /// 炒锅通道出料需求值点位
  522. /// </summary>
  523. public Dictionary<int, string> Fire_PasswayValue { get; set; } = new Dictionary<int, string>
  524. {
  525. {1,"VW108"},
  526. {2,"VW110"},
  527. {3,"VW112"},
  528. {4,"VW114"},
  529. {5,"VW116"},
  530. {6,"VW118"},
  531. {7,"VW120"},
  532. {8,"VW122"},
  533. };
  534. #region 炒锅1
  535. /// <summary>
  536. /// 炒锅1初始化完成
  537. /// </summary>
  538. [VariableMonitor("炒锅1初始化完成", "M40.0", "640")]
  539. public bool Fire1_InitComplete { get; set; }
  540. /// <summary>
  541. /// 炒锅1自动模式切换
  542. /// </summary>
  543. [VariableMonitor("炒锅1自动模式切换", "M40.1", "641")]
  544. public bool Fire1_AutoMode { get; set; }
  545. /// <summary>
  546. /// 炒锅1急停
  547. /// </summary>
  548. [VariableMonitor("炒锅1急停", "M40.2", "642")]
  549. public bool Fire1_EmergencyStop { get; set; }
  550. /// <summary>
  551. /// 炒锅1炒制位置1反馈
  552. /// </summary>
  553. [VariableMonitor("炒锅1炒制位置1反馈", "M40.3", "643")]
  554. public bool Fire1_IsPosition1 { get; set; }
  555. /// <summary>
  556. /// 炒锅1炒制位置2反馈
  557. /// </summary>
  558. [VariableMonitor("炒锅1炒制位置2反馈", "M40.4", "644")]
  559. public bool Fire1_IsPosition2 { get; set; }
  560. /// <summary>
  561. /// 炒锅1炒制位置3反馈
  562. /// </summary>
  563. [VariableMonitor("炒锅1炒制位置3反馈", "M40.5", "645")]
  564. public bool Fire1_IsPosition3 { get; set; }
  565. /// <summary>
  566. /// 炒锅1炒制位置4反馈
  567. /// </summary>
  568. [VariableMonitor("炒锅1炒制位置4反馈", "M40.6", "646")]
  569. public bool Fire1_IsPosition4 { get; set; }
  570. /// <summary>
  571. /// 炒锅1在出餐倒料位置
  572. /// </summary>
  573. [VariableMonitor("炒锅1在出餐倒料位置", "M40.7", "647")]
  574. public bool Fire1_InOutFoodPosition { get; set; }
  575. /// <summary>
  576. /// 炒锅1在投料位置
  577. /// </summary>
  578. [VariableMonitor("炒锅1在投料位置", "M41.0", "648")]
  579. public bool Fire1_InFoodPosition { get; set; }
  580. /// <summary>
  581. /// 炒锅1在洗锅位置
  582. /// </summary>
  583. [VariableMonitor("炒锅1在洗锅位置", "M41.1", "649")]
  584. public bool Fire1_InWashPosition { get; set; }
  585. /// <summary>
  586. /// 炒锅1通道1出料完成
  587. /// </summary>
  588. [VariableMonitor("炒锅1通道1出料完成", "M41.2", "650")]
  589. public bool Fire1_OutMaterial1 { get; set; }
  590. /// <summary>
  591. /// 炒锅1通道2出料完成
  592. /// </summary>
  593. [VariableMonitor("炒锅1通道2出料完成", "M41.3", "651")]
  594. public bool Fire1_OutMaterial2 { get; set; }
  595. /// <summary>
  596. /// 炒锅1通道3出料完成
  597. /// </summary>
  598. [VariableMonitor("炒锅1通道3出料完成", "M41.4", "652")]
  599. public bool Fire1_OutMaterial3 { get; set; }
  600. /// <summary>
  601. /// 炒锅1通道4出料完成
  602. /// </summary>
  603. [VariableMonitor("炒锅1通道4出料完成", "M41.5", "653")]
  604. public bool Fire1_OutMaterial4 { get; set; }
  605. /// <summary>
  606. /// 炒锅1通道5出料完成
  607. /// </summary>
  608. [VariableMonitor("炒锅1通道5出料完成", "M41.6", "654")]
  609. public bool Fire1_OutMaterial5 { get; set; }
  610. /// <summary>
  611. /// 炒锅1通道6出料完成
  612. /// </summary>
  613. [VariableMonitor("炒锅1通道6出料完成", "M41.7", "655")]
  614. public bool Fire1_OutMaterial6 { get; set; }
  615. /// <summary>
  616. /// 炒锅1通道7出料完成
  617. /// </summary>
  618. [VariableMonitor("炒锅1通道7出料完成", "M42.0", "656")]
  619. public bool Fire1_OutMaterial7{ get; set; }
  620. /// <summary>
  621. /// 炒锅1通道8出料完成
  622. /// </summary>
  623. [VariableMonitor("炒锅1通道8出料完成", "M42.1", "657")]
  624. public bool Fire1_OutMaterial8 { get; set; }
  625. /// <summary>
  626. /// 炒锅1当前锅底温度
  627. /// </summary>
  628. [VariableMonitor("炒锅1当前锅底温度", "VW200", "200")]
  629. public int Fire1_PotTemperature { get; set; }
  630. /// <summary>
  631. /// 炒锅1搅拌速度
  632. /// </summary>
  633. [VariableMonitor("炒锅1搅拌速度", "VW202", "201")]
  634. public int Fire1_StirSpeed { get; set; }
  635. /// <summary>
  636. /// 炒锅1炒制角度
  637. /// </summary>
  638. [VariableMonitor("炒锅1炒制角度", "VW204", "202")]
  639. public int Fire1_FireAngle { get; set; }
  640. /// <summary>
  641. /// 炒锅1当前加热挡位
  642. /// </summary>
  643. [VariableMonitor("炒锅1当前加热挡位", "VW205", "203")]
  644. public int Fire1_CurrentFire { get; set; }
  645. #endregion
  646. #region 炒锅2
  647. /// <summary>
  648. /// 炒锅2初始化完成
  649. /// </summary>
  650. [VariableMonitor("炒锅2初始化完成", "M40.0", "640")]
  651. public bool Fire2_InitComplete { get; set; }
  652. /// <summary>
  653. /// 炒锅2自动模式切换
  654. /// </summary>
  655. [VariableMonitor("炒锅2自动模式切换", "M40.1", "641")]
  656. public bool Fire2_AutoMode { get; set; }
  657. /// <summary>
  658. /// 炒锅2急停
  659. /// </summary>
  660. [VariableMonitor("炒锅2急停", "M40.2", "642")]
  661. public bool Fire2_EmergencyStop { get; set; }
  662. /// <summary>
  663. /// 炒锅2炒制位置1反馈
  664. /// </summary>
  665. [VariableMonitor("炒锅2炒制位置1反馈", "M40.3", "643")]
  666. public bool Fire2_IsPosition1 { get; set; }
  667. /// <summary>
  668. /// 炒锅2炒制位置2反馈
  669. /// </summary>
  670. [VariableMonitor("炒锅2炒制位置2反馈", "M40.4", "644")]
  671. public bool Fire2_IsPosition2 { get; set; }
  672. /// <summary>
  673. /// 炒锅2炒制位置3反馈
  674. /// </summary>
  675. [VariableMonitor("炒锅2炒制位置3反馈", "M40.5", "645")]
  676. public bool Fire2_IsPosition3 { get; set; }
  677. /// <summary>
  678. /// 炒锅2炒制位置4反馈
  679. /// </summary>
  680. [VariableMonitor("炒锅2炒制位置4反馈", "M40.6", "646")]
  681. public bool Fire2_IsPosition4 { get; set; }
  682. /// <summary>
  683. /// 炒锅2在出餐倒料位置
  684. /// </summary>
  685. [VariableMonitor("炒锅2在出餐倒料位置", "M40.7", "647")]
  686. public bool Fire2_InOutFoodPosition { get; set; }
  687. /// <summary>
  688. /// 炒锅2在投料位置
  689. /// </summary>
  690. [VariableMonitor("炒锅2在投料位置", "M41.0", "648")]
  691. public bool Fire2_InFoodPosition { get; set; }
  692. /// <summary>
  693. /// 炒锅2在洗锅位置
  694. /// </summary>
  695. [VariableMonitor("炒锅2在洗锅位置", "M41.1", "649")]
  696. public bool Fire2_InWashPosition { get; set; }
  697. /// <summary>
  698. /// 炒锅2通道1出料完成
  699. /// </summary>
  700. [VariableMonitor("炒锅2通道1出料完成", "M41.2", "650")]
  701. public bool Fire2_OutMaterial1 { get; set; }
  702. /// <summary>
  703. /// 炒锅2通道2出料完成
  704. /// </summary>
  705. [VariableMonitor("炒锅2通道2出料完成", "M41.3", "651")]
  706. public bool Fire2_OutMaterial2 { get; set; }
  707. /// <summary>
  708. /// 炒锅2通道3出料完成
  709. /// </summary>
  710. [VariableMonitor("炒锅2通道3出料完成", "M41.4", "652")]
  711. public bool Fire2_OutMaterial3 { get; set; }
  712. /// <summary>
  713. /// 炒锅2通道4出料完成
  714. /// </summary>
  715. [VariableMonitor("炒锅2通道4出料完成", "M41.5", "653")]
  716. public bool Fire2_OutMaterial4 { get; set; }
  717. /// <summary>
  718. /// 炒锅2通道5出料完成
  719. /// </summary>
  720. [VariableMonitor("炒锅2通道5出料完成", "M41.6", "654")]
  721. public bool Fire2_OutMaterial5 { get; set; }
  722. /// <summary>
  723. /// 炒锅2通道6出料完成
  724. /// </summary>
  725. [VariableMonitor("炒锅2通道6出料完成", "M41.7", "655")]
  726. public bool Fire2_OutMaterial6 { get; set; }
  727. /// <summary>
  728. /// 炒锅2通道7出料完成
  729. /// </summary>
  730. [VariableMonitor("炒锅2通道7出料完成", "M42.0", "656")]
  731. public bool Fire2_OutMaterial7 { get; set; }
  732. /// <summary>
  733. /// 炒锅2通道8出料完成
  734. /// </summary>
  735. [VariableMonitor("炒锅2通道8出料完成", "M42.1", "657")]
  736. public bool Fire2_OutMaterial8 { get; set; }
  737. /// <summary>
  738. /// 炒锅2当前锅底温度
  739. /// </summary>
  740. [VariableMonitor("炒锅2当前锅底温度", "VW200", "200")]
  741. public int Fire2_PotTemperature { get; set; }
  742. /// <summary>
  743. /// 炒锅2搅拌速度
  744. /// </summary>
  745. [VariableMonitor("炒锅2搅拌速度", "VW202", "201")]
  746. public int Fire2_StirSpeed { get; set; }
  747. /// <summary>
  748. /// 炒锅2炒制角度
  749. /// </summary>
  750. [VariableMonitor("炒锅2炒制角度", "VW204", "202")]
  751. public int Fire2_FireAngle { get; set; }
  752. /// <summary>
  753. /// 炒锅2当前加热挡位
  754. /// </summary>
  755. [VariableMonitor("炒锅2当前加热挡位", "VW205", "203")]
  756. public int Fire2_CurrentFire { get; set; }
  757. #endregion
  758. #endregion
  759. }
  760. }