终端一体化运控平台
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1 год назад
1 год назад
1 год назад
1 год назад
1 год назад
1 год назад
1 год назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace BPASmartClient.MorkCL
  7. {
  8. public class GVL_MorkCL : IStatus
  9. {
  10. public ConcurrentQueue<ControlData> cds { get; set; } = new ConcurrentQueue<ControlData>();
  11. #region 炒锅1
  12. /// <summary>
  13. /// 初始化完成
  14. /// </summary>
  15. [VariableMonitor("1号炒锅-初始化完成", "LB100")]
  16. public bool InitComplete1 { get; set; }
  17. /// <summary>
  18. /// 手自动状态模式
  19. /// </summary>
  20. [VariableMonitor("1号炒锅-手自动状态模式", "LB101")]
  21. public bool StatusMode1 { get; set; }
  22. /// <summary>
  23. /// 急停
  24. /// </summary>
  25. [VariableMonitor("1号炒锅-急停", "LB102")]
  26. public bool EStop1 { get; set; }
  27. /// <summary>
  28. /// 炒锅在调料投料位置反馈。
  29. /// </summary>
  30. [VariableMonitor("1号炒锅-在调料投料位置反馈", "LB103")]
  31. public bool FeedingSeasoningLocFB1 { get; set; }
  32. /// <summary>
  33. /// 炒制位置反馈(1-4)
  34. /// </summary>
  35. [VariableMonitor("1号炒锅-炒制位置反馈(1-3)", "LB104")]
  36. public bool[] StirFryingLocFB1 { get; set; } = new bool[3];
  37. /// <summary>
  38. /// 炒锅在出餐位置反馈
  39. /// </summary>
  40. [VariableMonitor("1号炒锅-炒锅在出餐位置反馈", "LB107")]
  41. public bool DiningOutLocFB1 { get; set; }
  42. /// <summary>
  43. /// 炒锅在投料位置反馈
  44. /// </summary>
  45. [VariableMonitor("1号炒锅-炒锅在主料投料位置反馈", "LB108")]
  46. public bool FeedingLocFB1 { get; set; }
  47. /// <summary>
  48. /// 炒锅在洗锅位置反馈
  49. /// </summary>
  50. [VariableMonitor("1号炒锅-炒锅在洗锅位置反馈", "LB109")]
  51. public bool WashingPotLocFB1 { get; set; }
  52. /// <summary>
  53. /// 通道出料完成反馈(1-3)
  54. /// </summary>
  55. [VariableMonitor("1号炒锅-通道出料完成反馈(1-3)", "LB110")]
  56. public bool[] ChannelDisCom1 { get; set; } = new bool[3];
  57. /// <summary>
  58. /// 清洗完成
  59. /// </summary>
  60. [VariableMonitor("1号炒锅-清洗完成", "LB113")]
  61. public bool CleanFinish1 { get; set; }
  62. /// <summary>
  63. /// 倒菜出餐完成。
  64. /// </summary>
  65. [VariableMonitor("1号炒锅-倒菜出餐完成", "LB114")]
  66. public bool OutDinningFinsh1 { get; set; }
  67. /// <summary>
  68. /// 炒锅倒菜减速位
  69. /// </summary>
  70. [VariableMonitor("1号炒锅-倒菜减速位", "LB115")]
  71. public bool OutDinningSlowDownFlag1 { get; set; }
  72. /// <summary>
  73. /// 当前锅底温度
  74. /// </summary>
  75. [VariableMonitor("1号炒锅-当前锅底温度", "LW20")]
  76. public float CurrentTemperature1 { get; set; }
  77. /// <summary>
  78. /// 当前炒锅搅拌转速
  79. /// </summary>
  80. [VariableMonitor("1号炒锅-当前炒锅搅拌转速", "LW21")]
  81. public ushort CurrentSpeed1 { get; set; }
  82. /// <summary>
  83. /// 当前加热档位
  84. /// </summary>
  85. [VariableMonitor("1号炒锅-当前加热档位", "LW22")]
  86. public ushort HeatingGear1 { get; set; }
  87. /// <summary>
  88. /// 搅拌电机运行频率
  89. /// </summary>
  90. [VariableMonitor("1号炒锅-搅拌电机运行频率", "LW30")]
  91. public ushort StirMotorFreq1 { get; set; }
  92. /// <summary>
  93. /// 搅拌电机运行电流
  94. /// </summary>
  95. [VariableMonitor("1号炒锅-搅拌电机运行电流", "LW31")]
  96. public ushort StirMotorCurrent1 { get; set; }
  97. /// <summary>
  98. /// 搅拌电机运行电压
  99. /// </summary>
  100. [VariableMonitor("1号炒锅-搅拌电机运行电压", "LW32")]
  101. public ushort StirMotorVoltage1 { get; set; }
  102. /// <summary>
  103. /// 搅拌电机运行温度
  104. /// </summary>
  105. [VariableMonitor("1号炒锅-搅拌电机运行温度", "LW33")]
  106. public ushort StirMotorTemprature1 { get; set; }
  107. /// <summary>
  108. /// 搅拌电机故障代码
  109. /// </summary>
  110. [VariableMonitor("1号炒锅-搅拌电机故障代码", "LW34")]
  111. public string StirMotorErrorCode1 { get; set; }
  112. /// <summary>
  113. /// 翻转电机运行频率
  114. /// </summary>
  115. [VariableMonitor("1号炒锅-翻转电机运行频率", "LW35")]
  116. public ushort TurnMotorFreq1 { get; set; }
  117. /// <summary>
  118. /// 翻转电机运行电流
  119. /// </summary>
  120. [VariableMonitor("1号炒锅-翻转电机运行电流", "LW36")]
  121. public ushort TurnMotorCurrent1 { get; set; }
  122. /// <summary>
  123. /// 翻转电机运行电压
  124. /// </summary>
  125. [VariableMonitor("1号炒锅-翻转电机运行电压", "LW37")]
  126. public ushort TurnMotorVoltage1 { get; set; }
  127. /// <summary>
  128. /// 翻转电机运行温度
  129. /// </summary>
  130. [VariableMonitor("1号炒锅-翻转电机运行温度", "LW38")]
  131. public ushort TurnMotorTemprature1 { get; set; }
  132. /// <summary>
  133. /// 翻转电机故障代码
  134. /// </summary>
  135. [VariableMonitor("1号炒锅-翻转电机故障代码", "LW39")]
  136. public string TurnMotorErrorCode1 { get; set; }
  137. #endregion
  138. #region 炒锅2
  139. /// <summary>
  140. /// 初始化完成
  141. /// </summary>
  142. [VariableMonitor("2号炒锅-初始化完成", "LB100")]
  143. public bool InitComplete2 { get; set; }
  144. /// <summary>
  145. /// 手自动状态模式
  146. /// </summary>
  147. [VariableMonitor("2号炒锅-手自动状态模式", "LB101")]
  148. public bool StatusMode2 { get; set; }
  149. /// <summary>
  150. /// 急停
  151. /// </summary>
  152. [VariableMonitor("2号炒锅-急停", "LB102")]
  153. public bool EStop2 { get; set; }
  154. /// <summary>
  155. /// 炒锅在调料投料位置反馈。
  156. /// </summary>
  157. [VariableMonitor("2号炒锅-在调料投料位置反馈", "LB103")]
  158. public bool FeedingSeasoningLocFB2 { get; set; }
  159. /// <summary>
  160. /// 炒制位置反馈(1-4)
  161. /// </summary>
  162. [VariableMonitor("2号炒锅-炒制位置反馈(1-3)", "LB104")]
  163. public bool[] StirFryingLocFB2 { get; set; } = new bool[3];
  164. /// <summary>
  165. /// 炒锅在出餐位置反馈
  166. /// </summary>
  167. [VariableMonitor("2号炒锅-炒锅在出餐位置反馈", "LB107")]
  168. public bool DiningOutLocFB2 { get; set; }
  169. /// <summary>
  170. /// 炒锅在投料位置反馈
  171. /// </summary>
  172. [VariableMonitor("2号炒锅-炒锅在主料投料位置反馈", "LB108")]
  173. public bool FeedingLocFB2 { get; set; }
  174. /// <summary>
  175. /// 炒锅在洗锅位置反馈
  176. /// </summary>
  177. [VariableMonitor("2号炒锅-炒锅在洗锅位置反馈", "LB109")]
  178. public bool WashingPotLocFB2 { get; set; }
  179. /// <summary>
  180. /// 通道出料完成反馈(1-3)
  181. /// </summary>
  182. [VariableMonitor("2号炒锅-通道出料完成反馈(1-3)", "LB110")]
  183. public bool[] ChannelDisCom2 { get; set; } = new bool[3];
  184. /// <summary>
  185. /// 清洗完成
  186. /// </summary>
  187. [VariableMonitor("2号炒锅-清洗完成", "LB113")]
  188. public bool CleanFinish2 { get; set; }
  189. /// <summary>
  190. /// 倒菜出餐完成。
  191. /// </summary>
  192. [VariableMonitor("2号炒锅-倒菜出餐完成", "LB114")]
  193. public bool OutDinningFinsh2 { get; set; }
  194. /// <summary>
  195. /// 炒锅倒菜减速位
  196. /// </summary>
  197. [VariableMonitor("2号炒锅-倒菜减速位", "LB115")]
  198. public bool OutDinningSlowDownFlag2 { get; set; }
  199. /// <summary>
  200. /// 当前锅底温度
  201. /// </summary>
  202. [VariableMonitor("2号炒锅-当前锅底温度", "LW20")]
  203. public float CurrentTemperature2 { get; set; }
  204. /// <summary>
  205. /// 当前炒锅搅拌转速
  206. /// </summary>
  207. [VariableMonitor("2号炒锅-当前炒锅搅拌转速", "LW21")]
  208. public ushort CurrentSpeed2 { get; set; }
  209. /// <summary>
  210. /// 当前加热档位
  211. /// </summary>
  212. [VariableMonitor("2号炒锅-当前加热档位", "LW22")]
  213. public ushort HeatingGear2 { get; set; }
  214. /// <summary>
  215. /// 搅拌电机运行频率
  216. /// </summary>
  217. [VariableMonitor("2号炒锅-搅拌电机运行频率", "LW30")]
  218. public ushort StirMotorFreq2 { get; set; }
  219. /// <summary>
  220. /// 搅拌电机运行电流
  221. /// </summary>
  222. [VariableMonitor("2号炒锅-搅拌电机运行电流", "LW31")]
  223. public ushort StirMotorCurrent2 { get; set; }
  224. /// <summary>
  225. /// 搅拌电机运行电压
  226. /// </summary>
  227. [VariableMonitor("2号炒锅-搅拌电机运行电压", "LW32")]
  228. public ushort StirMotorVoltage2 { get; set; }
  229. /// <summary>
  230. /// 搅拌电机运行温度
  231. /// </summary>
  232. [VariableMonitor("2号炒锅-搅拌电机运行温度", "LW33")]
  233. public ushort StirMotorTemprature2 { get; set; }
  234. /// <summary>
  235. /// 搅拌电机故障代码
  236. /// </summary>
  237. [VariableMonitor("2号炒锅-搅拌电机故障代码", "LW34")]
  238. public string StirMotorErrorCode2 { get; set; }
  239. /// <summary>
  240. /// 翻转电机运行频率
  241. /// </summary>
  242. [VariableMonitor("2号炒锅-翻转电机运行频率", "LW35")]
  243. public ushort TurnMotorFreq2 { get; set; }
  244. /// <summary>
  245. /// 翻转电机运行电流
  246. /// </summary>
  247. [VariableMonitor("2号炒锅-翻转电机运行电流", "LW36")]
  248. public ushort TurnMotorCurrent2 { get; set; }
  249. /// <summary>
  250. /// 翻转电机运行电压
  251. /// </summary>
  252. [VariableMonitor("2号炒锅-翻转电机运行电压", "LW37")]
  253. public ushort TurnMotorVoltage2 { get; set; }
  254. /// <summary>
  255. /// 翻转电机运行温度
  256. /// </summary>
  257. [VariableMonitor("2号炒锅-翻转电机运行温度", "LW38")]
  258. public ushort TurnMotorTemprature2 { get; set; }
  259. /// <summary>
  260. /// 翻转电机故障代码
  261. /// </summary>
  262. [VariableMonitor("2号炒锅-翻转电机故障代码", "LW39")]
  263. public string TurnMotorErrorCode2 { get; set; }
  264. #endregion
  265. #region 压力锅
  266. #endregion
  267. #region 机器人
  268. /// <summary>
  269. /// 倒料请求
  270. /// </summary>
  271. [VariableMonitor("机器人-倒料请求-[1,2:炒锅,3:高压锅]", "GM600")]
  272. public bool[] MaterialPouringRequest { get; set; } = new bool[3];
  273. /// <summary>
  274. /// 倒料完成
  275. /// </summary>
  276. [VariableMonitor("机器人-倒料完成-[1,2:炒锅,3:高压锅]", "GM601")]
  277. public bool[] MaterialPouringComplete { get; set; } = new bool[3];
  278. /// <summary>
  279. /// 出餐请求,机器人到位请求炒锅出餐
  280. /// </summary>
  281. [VariableMonitor("机器人-出餐请求-[1,2:炒锅,3:高压锅]", "GM602")]
  282. public bool[] DiningOutRequest { get; set; } = new bool[3];
  283. /// <summary>
  284. /// 入库完成
  285. /// </summary>
  286. [VariableMonitor("机器人-入库完成", "GM630")]
  287. public bool[] WarehousingComplete { get; set; } = new bool[12];
  288. /// <summary>
  289. /// 机器人原点状态
  290. /// </summary>
  291. [VariableMonitor("机器人-机器人原点状态", "GM620")]
  292. public bool Home { get; set; }
  293. /// <summary>
  294. /// 机器人使能状态
  295. /// </summary>
  296. [VariableMonitor("机器人-机器人使能状态", "LW22")]
  297. public bool EnableState { get; set; }
  298. /// <summary>
  299. /// 机器人远程模式
  300. /// </summary>
  301. [VariableMonitor("机器人-机器人远程模式,为True时,代表可下单", "GM130")]
  302. public bool RemoteMode { get; set; }
  303. /// <summary>
  304. /// 机器人程序运行中
  305. /// </summary>
  306. [VariableMonitor("机器人-机器人程序运行中")]
  307. public bool ProgramRuning { get; set; }
  308. /// <summary>
  309. /// 机器人空闲中
  310. /// </summary>
  311. [VariableMonitor("机器人-机器人空闲中")]
  312. public bool IsIdle { get; set; }
  313. /// <summary>
  314. /// 机器人在清洗位置
  315. /// </summary>
  316. [VariableMonitor("机器人-机器人在清洗位置")]
  317. public bool AtCleanLoc { get; set; }
  318. /// <summary>
  319. /// 机器人任务反馈
  320. /// </summary>
  321. [VariableMonitor("机器人-机器人任务反馈", "GI5")]
  322. public RobotMainTask TaskFeedback { get; set; }
  323. #endregion
  324. #region 其它外部设备
  325. /// <summary>
  326. /// 电子秤当前重量
  327. /// </summary>
  328. [VariableMonitor("电子秤当前重量", "0")]
  329. public float CurrentWeight { get; set; }
  330. /// <summary>
  331. /// 空箱子检测
  332. /// </summary>
  333. [VariableMonitor("出餐箱子在位检测", "LW630")]
  334. public bool[] BoxDetection { get; set; } = new bool[4];
  335. #region 其他变量
  336. /// <summary>
  337. /// 入库操作许可
  338. /// </summary>
  339. [VariableMonitor("入库操作许可")]
  340. public bool CanItemStorage { get; set; }
  341. /// <summary>
  342. /// 辅料库位是否根据炒锅分库位。
  343. /// </summary>
  344. [VariableMonitor("辅料库位是否根据炒锅分库位")]
  345. public bool IsUseSplitStorage { get; set; } = false;
  346. /// <summary>
  347. /// 总任务排队数量
  348. /// </summary>
  349. [VariableMonitor("总任务排队数量")]
  350. public int RecipeQueueCount { get; set; }
  351. /// <summary>
  352. /// 炒锅1#排队任务数量
  353. /// </summary>
  354. [VariableMonitor("炒锅1#排队任务数量")]
  355. public int FryingPanTaskCount_1 { get; set; }
  356. /// <summary>
  357. /// 炒锅2#排队任务数量
  358. /// </summary>
  359. [VariableMonitor("炒锅2#排队任务数量")]
  360. public int FryingPanTaskCount_2 { get; set; }
  361. #endregion
  362. #endregion
  363. }
  364. }