终端一体化运控平台
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

GVL_MorkBF.cs 32 KiB

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