Frm_YongGuanMontior.cs 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Threading;
  6. using System.Windows.Forms;
  7. using WCS.Data;
  8. using WCS.Entity.Protocol.Station;
  9. namespace WCS_Client.Frm
  10. {
  11. public partial class Frm_YongGuanMontior : Form
  12. {
  13. private System.Timers.Timer _timer;
  14. private delegate void ShowTextDelegate();// 创建委托和委托对象
  15. private List<string> _plcnameSet = new List<string>();
  16. private List<DDJSatatus> DDJSatatusSet = new List<DDJSatatus>();
  17. private List<RGVSatatus> RGVSatatusSet = new List<RGVSatatus>();
  18. public bool isinitfrm = false;
  19. // 防止闪屏
  20. protected override CreateParams CreateParams
  21. {
  22. get
  23. {
  24. CreateParams cp = base.CreateParams;
  25. cp.ExStyle |= 0x02000000;
  26. return cp;
  27. }
  28. }
  29. public Frm_YongGuanMontior()
  30. {
  31. isinitfrm = false;
  32. InitializeComponent();
  33. Init();
  34. }
  35. private void Init()
  36. {
  37. _plcnameSet.Add("SC1");
  38. _plcnameSet.Add("SC2");
  39. _plcnameSet.Add("SC3");
  40. _plcnameSet.Add("SC4");
  41. _plcnameSet.Add("SC5");
  42. _plcnameSet.Add("RGV1");
  43. _plcnameSet.Add("RGV2");
  44. _plcnameSet.Add("RGV3");
  45. _plcnameSet.Add("RGV4");
  46. _plcnameSet.Add("RGV5");
  47. _plcnameSet.Add("Conv");
  48. var plcnameSetsrm = _plcnameSet.Where(value => value.Contains("SC")).ToList();
  49. for (int i = 0; i < plcnameSetsrm.Count; i++)
  50. {
  51. var item = plcnameSetsrm[i];
  52. if (!DDJSatatusSet.Any(v => v.SrmName == item))
  53. {
  54. var ddjsatatus = new DDJSatatus();
  55. ddjsatatus.SrmName = item;
  56. int index = i + 1;
  57. ddjsatatus.G = (PictureBox)FindControl("G" + index);
  58. ddjsatatus.LblInStatus = (Label)FindControl("lblInStatus" + index);
  59. ddjsatatus.LblOutStatus = (Label)FindControl("lblOutStatus" + index);
  60. ddjsatatus.DdjMode = (Label)FindControl("ddjMode" + index);
  61. ddjsatatus.DdjStatus = (Label)FindControl("ddjStatus" + index);
  62. ddjsatatus.DdjOrdId = (Label)FindControl("ddjOrdId" + index);
  63. ddjsatatus.DdjOptType = (Label)FindControl("ddjOptType" + index);
  64. ddjsatatus.DdjPosCurr = (Label)FindControl("ddjPosCurr" + index);
  65. ddjsatatus.DdjWorkTime = (Label)FindControl("ddjWorkTime" + index);
  66. ddjsatatus.DdjTotal_KM = (Label)FindControl("ddjTotal_KM" + index);
  67. ddjsatatus.DdjPosFrom = (Label)FindControl("ddjPosFrom" + index);
  68. ddjsatatus.DdjPosTo = (Label)FindControl("ddjPosTo" + index);
  69. DDJSatatusSet.Add(ddjsatatus);
  70. }
  71. }
  72. var plcnameSetrgv = _plcnameSet.Where(value => value.Contains("RGV")).ToList();
  73. for (int i = 0; i < plcnameSetrgv.Count; i++)
  74. {
  75. var item = plcnameSetrgv[i];
  76. if (!RGVSatatusSet.Any(v => v.RGVName == item))
  77. {
  78. var rgvsatatus = new RGVSatatus();
  79. rgvsatatus.RGVName = item;
  80. int index = Convert.ToInt32(item.Substring(3, 1).ToString());
  81. rgvsatatus.G = (PictureBox)FindControl("GV" + index);
  82. rgvsatatus.RGVMode = (Label)FindControl("rgvMode" + index);
  83. rgvsatatus.RGVStatus = (Label)FindControl("rgvStatus" + index);
  84. rgvsatatus.RGVOrdId = (Label)FindControl("rgvOrdId" + index);
  85. rgvsatatus.RGVPosCurr = (Label)FindControl("rgvPosCurr" + index);
  86. rgvsatatus.RGVPosFrom = (Label)FindControl("rgvPosFrom" + index);
  87. rgvsatatus.RGVPosTo = (Label)FindControl("rgvPosTo" + index);
  88. rgvsatatus.RGVOptType = (Label)FindControl("rgvOptType" + index);
  89. RGVSatatusSet.Add(rgvsatatus);
  90. }
  91. }
  92. }
  93. private Control FindControl(string controlName)
  94. {
  95. var control = Controls.Find(controlName, true);
  96. if (control.Count() > 0)
  97. return control[0];
  98. else
  99. return null;
  100. }
  101. private void Frm_YongGuanMontior_Load(object sender, EventArgs e)
  102. {
  103. _timer = new System.Timers.Timer(4000);
  104. _timer.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
  105. _timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
  106. _timer.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
  107. //this.BeginInvoke(new ShowTextDelegate(InItpan11));
  108. }
  109. private static int _theout = 0;
  110. private void theout(object sender, EventArgs e)
  111. {
  112. if (Interlocked.Exchange(ref _theout, 1) == 0)
  113. {
  114. try
  115. {
  116. Current.RefreshData(true);
  117. var listDDJ = BaseWorkflow.QueryStackerdDataDDJ(_plcnameSet);
  118. ShowData();
  119. }
  120. catch (Exception ex)
  121. {
  122. }
  123. finally
  124. {
  125. Interlocked.Exchange(ref _theout, 0);
  126. }
  127. }
  128. }
  129. private void ShowData()
  130. {
  131. try
  132. {
  133. if (InvokeRequired)
  134. {
  135. //异步调用委托(后面添加方法需要将方法委托其中)
  136. this.BeginInvoke(new ShowTextDelegate(pan11));
  137. }
  138. else
  139. {
  140. }
  141. }
  142. catch (Exception ex)
  143. {
  144. LogHelper.Sys_Log.WriteLog(ex.ToString());
  145. }
  146. }
  147. public void pan11()
  148. {
  149. //try
  150. //{
  151. // var pack = eqpData.deviceDataPack;
  152. // // var frame = pack.Frame;//数据帧(数据产生的时间)
  153. // var convdata = pack.StationDatas;//输送机数据
  154. // var rgvdata = pack.RGVDatas;//穿梭车数据
  155. // var scdata = pack.SCDatas;//堆垛机数据
  156. // // var robotdata = pack.RobotData;//机器人数据
  157. // //var pldata = pack.ProdLineData;//产线数据
  158. // //string startTime = DateTime.Now.ToString();
  159. // foreach (var item in scdata.Datas)
  160. // {
  161. // //只更新有变更的数据
  162. // //if (eqpData.oldDeviceDataPack != null)
  163. // //{
  164. // // var oldItem = eqpData.oldDeviceDataPack.SCDatas.Datas.FirstOrDefault(p => p.Code == item.Code);
  165. // // if (oldItem.ToString() == item.ToString()) return;
  166. // //}
  167. // var ddjstatus = DDJSatatusSet.FirstOrDefault(v => v.SrmName == item.Code);
  168. // if (ddjstatus != null)
  169. // {
  170. // //模式
  171. // ddjstatus.DdjMode.Text = item.D521.SRMMode.ToString();
  172. // if (item.D521.SRMMode.ToString() == "远程")
  173. // {
  174. // ddjstatus.G.Image = Properties.Resources.绿;
  175. // }
  176. // else if (item.D521.SRMMode.ToString() == "半自动")
  177. // {
  178. // ddjstatus.G.Image = Properties.Resources.黄;
  179. // }
  180. // else if (item.D521.SRMMode.ToString() == "手动")
  181. // {
  182. // ddjstatus.G.Image = Properties.Resources.黄;
  183. // }
  184. // else if (item.D521.SRMMode.ToString() == "维修")
  185. // {
  186. // ddjstatus.G.Image = Properties.Resources.红;
  187. // }
  188. // ////状态
  189. // ddjstatus.DdjStatus.Text = item.D521.SRMStatus.ToString();
  190. // ////任务Id
  191. // ddjstatus.DdjOrdId.Text = item.D521.TaskID_1.ToString();
  192. // var task = SugarBase.DB.Queryable<WCS_TASK>().First(v => v.ID == item.D521.TaskID_1);
  193. // if (task != null)
  194. // {
  195. // //任务类型
  196. // ddjstatus.DdjOptType.Text = task.TYPE.ToString();
  197. // if (task.TYPE == TaskType.入库)
  198. // {
  199. // ddjstatus.LblInStatus.BackColor = Color.Lime;
  200. // ddjstatus.LblOutStatus.BackColor = Color.DarkGray;
  201. // }
  202. // else if (task.TYPE == TaskType.出库)
  203. // {
  204. // ddjstatus.LblInStatus.BackColor = Color.DarkGray;
  205. // ddjstatus.LblOutStatus.BackColor = Color.Lime;
  206. // }
  207. // else
  208. // {
  209. // ddjstatus.LblInStatus.BackColor = Color.DarkGray;
  210. // ddjstatus.LblOutStatus.BackColor = Color.DarkGray;
  211. // }
  212. // }
  213. // else
  214. // {
  215. // ddjstatus.LblInStatus.BackColor = Color.DarkGray;
  216. // ddjstatus.LblOutStatus.BackColor = Color.DarkGray;
  217. // }
  218. // //当前位置
  219. // ddjstatus.DdjPosCurr.Text = item.D521.TravelPos_1.ToString();
  220. // ////运行时长
  221. // ddjstatus.DdjWorkTime.Text = item.D521.Runtime.ToString() + "h";
  222. // ////里程数
  223. // ddjstatus.DdjTotal_KM.Text = item.D521.TotalKM.ToString() + "KM";
  224. // //起始位置
  225. // ddjstatus.DdjPosFrom.Text = item.D521.SLine_1.ToString() + "-" + item.D521.SCol_1.ToString() + "-" + item.D521.SLayer_1.ToString();
  226. // //目标位置
  227. // ddjstatus.DdjPosTo.Text = item.D521.SLine_1.ToString() + "-" + item.D521.SCol_1.ToString() + "-" + item.D521.SLayer_1.ToString();
  228. // }
  229. // }
  230. // //RGV
  231. // foreach (var item in rgvdata.Datas)
  232. // {
  233. // //只更新有变更的数据
  234. // //var oldItem = eqpData.oldDeviceDataPack.RGVDatas.Datas.FirstOrDefault(p => p.Code == item.Code);
  235. // //if (oldItem.ToString() == item.ToString()) return;
  236. // var rgvstatus = RGVSatatusSet.FirstOrDefault(v => v.RGVName == item.Code);
  237. // if (rgvstatus != null)
  238. // {
  239. // string workmode = item.D521.WorkMode.ToString();
  240. // //模式
  241. // rgvstatus.RGVMode.Text = item.D521.WorkMode.ToString();
  242. // if (item.D521.WorkMode.ToString() == "自动")
  243. // {
  244. // rgvstatus.G.Image = Properties.Resources.绿;
  245. // }
  246. // else if (item.D521.WorkMode.ToString() == "半自动")
  247. // {
  248. // rgvstatus.G.Image = Properties.Resources.黄;
  249. // }
  250. // else if (item.D521.WorkMode.ToString() == "手动")
  251. // {
  252. // rgvstatus.G.Image = Properties.Resources.黄;
  253. // }
  254. // else if (item.D521.WorkMode.ToString() == "维修")
  255. // {
  256. // rgvstatus.G.Image = Properties.Resources.红;
  257. // }
  258. // ////状态
  259. // rgvstatus.RGVStatus.Text = item.D521.SystemStatus.ToString();
  260. // ////任务Id
  261. // rgvstatus.RGVOrdId.Text = item.D521.TaskID.ToString();
  262. // //作业类型
  263. // rgvstatus.RGVOptType.Text = item.D521.TaskType.ToString();
  264. // //当前位置
  265. // rgvstatus.RGVPosCurr.Text = item.D521.Position.ToString();
  266. // //起始位置
  267. // rgvstatus.RGVPosFrom.Text = item.D521.StartPosition.ToString();
  268. // //目标位置
  269. // rgvstatus.RGVPosTo.Text = item.D521.DestPosition.ToString();
  270. // var control = FindControl("con" + item.Code);
  271. // if (control != null)
  272. // {
  273. // if (control is Conveyor6)
  274. // {
  275. // var con = (Conveyor6)control;
  276. // con.button1.Text = item.Code;
  277. // if (item.D521.PH_Status == true)
  278. // {
  279. // if (con.button1.Tag.ToString() != "pall")
  280. // {
  281. // con.button1.BackgroundImage = Image.FromFile("Resources/Rgv02.png");
  282. // con.button1.Tag = "pall";
  283. // }
  284. // }
  285. // else
  286. // {
  287. // if (con.button1.Tag.ToString() != "empty")
  288. // {
  289. // con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD.png");
  290. // con.button1.Tag = "empty";
  291. // }
  292. // }
  293. // }
  294. // else if (control is Conveyor5)
  295. // {
  296. // var con = (Conveyor5)control;
  297. // con.button1.Text = item.Code;
  298. // if (item.D521.PH_Status == true)
  299. // {
  300. // if (con.button1.Tag.ToString() != "pall")
  301. // {
  302. // con.button1.BackgroundImage = Image.FromFile("Resources/rgv03.png");
  303. // con.button1.Tag = "pall";
  304. // }
  305. // }
  306. // else
  307. // {
  308. // if (con.button1.Tag.ToString() != "empty")
  309. // {
  310. // con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD1.png");
  311. // con.button1.Tag = "empty";
  312. // }
  313. // }
  314. // }
  315. // }
  316. // }
  317. // }
  318. // //输送线
  319. // foreach (var item in convdata.Datas)
  320. // {
  321. // //只更新有变更的数据
  322. // var control = FindControl("con" + item.Code);
  323. // if (control != null)
  324. // {
  325. // if (control is Conveyor)
  326. // {
  327. // var con = (Conveyor)control;
  328. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  329. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  330. // else con.BackColor = Color.FromArgb(0, 144, 154);
  331. // con.button1.Text = item.Code.ToString();
  332. // if (item.D521.PH_STATUS == true)
  333. // {
  334. // if (con.button1.Tag.ToString() != "pall")
  335. // {
  336. // con.button1.BackgroundImage = Image.FromFile("Resources/Rgv02.png");
  337. // con.button1.Tag = "pall";
  338. // }
  339. // }
  340. // else
  341. // {
  342. // if (con.button1.Tag.ToString() != "empty")
  343. // {
  344. // con.button1.BackgroundImage = Image.FromFile("Resources/shelf16UD.png");
  345. // con.button1.Tag = "empty";
  346. // }
  347. // }
  348. // }
  349. // else if (control is Conveyor_L)
  350. // {
  351. // var con = (Conveyor_L)control;
  352. // con.button1.Text = item.Code.ToString();
  353. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  354. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  355. // else con.BackColor = Color.FromArgb(0, 144, 154);
  356. // if (item.D521.PH_STATUS == true)
  357. // {
  358. // if (con.button1.Tag.ToString() != "pall")
  359. // {
  360. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor_L.png");//1009L11.png
  361. // con.button1.Tag = "pall";
  362. // }
  363. // }
  364. // else
  365. // {
  366. // if (con.button1.Tag.ToString() != "empty")
  367. // {
  368. // con.button1.BackgroundImage = Image.FromFile("Resources/1009L11.png");//1009L11.png
  369. // con.button1.Tag = "empty";
  370. // }
  371. // }
  372. // }
  373. // else if (control is Conveyor_R)
  374. // {
  375. // var con = (Conveyor_R)control;
  376. // con.button1.Text = item.Code.ToString();
  377. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  378. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  379. // else con.BackColor = Color.FromArgb(0, 144, 154);
  380. // if (item.D521.PH_STATUS == true)
  381. // {
  382. // if (con.button1.Tag.ToString() != "pall")
  383. // {
  384. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor_R.png");//1009L1.png
  385. // con.button1.Tag = "pall";
  386. // }
  387. // }
  388. // else
  389. // {
  390. // if (con.button1.Tag.ToString() != "empty")
  391. // {
  392. // con.button1.BackgroundImage = Image.FromFile("Resources/1009L1.png");//1009L1.png
  393. // con.button1.Tag = "empty";
  394. // }
  395. // }
  396. // }
  397. // else if (control is Conveyor4_L_R)
  398. // {
  399. // var con = (Conveyor4_L_R)control;
  400. // con.button1.Text = item.Code.ToString();
  401. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  402. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  403. // else con.BackColor = Color.FromArgb(0, 144, 154);
  404. // if (item.D521.PH_STATUS == true)
  405. // {
  406. // if (con.button1.Tag.ToString() != "pall")
  407. // {
  408. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor4_L_R.png");
  409. // con.button1.Tag = "pall";
  410. // }
  411. // }
  412. // else
  413. // {
  414. // if (con.button1.Tag.ToString() != "empty")
  415. // {
  416. // con.button1.BackgroundImage = Image.FromFile("Resources/1001LR.gif");
  417. // con.button1.Tag = "empty";
  418. // }
  419. // }
  420. // }
  421. // else if (control is Conveyor3)
  422. // {
  423. // var con = (Conveyor3)control;
  424. // con.button1.Text = item.Code.ToString();
  425. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  426. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  427. // else con.BackColor = Color.FromArgb(0, 144, 154);
  428. // if (item.D521.PH_STATUS == true)
  429. // {
  430. // if (con.button1.Tag.ToString() != "pall")
  431. // {
  432. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor3.png");//1009R1_A.png
  433. // con.button1.Tag = "pall";
  434. // }
  435. // }
  436. // else
  437. // {
  438. // if (con.button1.Tag.ToString() != "empty")
  439. // {
  440. // con.button1.BackgroundImage = Image.FromFile("Resources/1004LR.png");//1009R1.png
  441. // con.button1.Tag = "empty";
  442. // }
  443. // }
  444. // }
  445. // else if (control is Conveyor3_A)
  446. // {
  447. // var con = (Conveyor3_A)control;
  448. // con.button1.Text = item.Code.ToString();
  449. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  450. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  451. // else con.BackColor = Color.FromArgb(0, 144, 154);
  452. // if (item.D521.PH_STATUS == true)
  453. // {
  454. // if (con.button1.Tag.ToString() != "pall")
  455. // {
  456. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor3_A_Box.png");//Conveyor3_A_Box.png
  457. // con.button1.Tag = "pall";
  458. // }
  459. // }
  460. // else
  461. // {
  462. // if (con.button1.Tag.ToString() != "empty")
  463. // {
  464. // con.button1.BackgroundImage = Image.FromFile("Resources/1009_A.png");//1009_A.png
  465. // con.button1.Tag = "empty";
  466. // }
  467. // }
  468. // }
  469. // else if (control is Conveyor3_B)
  470. // {
  471. // var con = (Conveyor3_B)control;
  472. // con.button1.Text = item.Code.ToString();
  473. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  474. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  475. // else con.BackColor = Color.FromArgb(0, 144, 154);
  476. // if (item.D521.PH_STATUS == true)
  477. // {
  478. // if (con.button1.Tag.ToString() != "pall")
  479. // {
  480. // con.button1.BackgroundImage = Image.FromFile("Resources/1009R1_B.png");//1009R1_A.png
  481. // con.button1.Tag = "pall";
  482. // }
  483. // }
  484. // else
  485. // {
  486. // if (con.button1.Tag.ToString() != "empty")
  487. // {
  488. // con.button1.BackgroundImage = Image.FromFile("Resources/1009R1.png");//1009R1.png
  489. // con.button1.Tag = "empty";
  490. // }
  491. // }
  492. // }
  493. // else if (control is Conveyor4_left)
  494. // {
  495. // var con = (Conveyor4_left)control;
  496. // con.button1.Text = item.Code.ToString();
  497. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  498. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  499. // else con.BackColor = Color.FromArgb(0, 144, 154);
  500. // if (item.D521.PH_STATUS == true)
  501. // {
  502. // if (con.button1.Tag.ToString() != "pall")
  503. // {
  504. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor4_left.png");
  505. // con.button1.Tag = "pall";
  506. // }
  507. // }
  508. // else
  509. // {
  510. // if (con.button1.Tag.ToString() != "empty")
  511. // {
  512. // con.button1.BackgroundImage = Image.FromFile("Resources/1001L.gif");
  513. // con.button1.Tag = "empty";
  514. // }
  515. // }
  516. // }
  517. // else if (control is Conveyor4_right)
  518. // {
  519. // var con = (Conveyor4_right)control;
  520. // con.button1.Text = item.Code.ToString();
  521. // if (item.D523.Fault != 0) con.BackColor = Color.Red;
  522. // else if (item.D523.Status == 0) con.BackColor = Color.Yellow;
  523. // else con.BackColor = Color.FromArgb(0, 144, 154);
  524. // if (item.D521.PH_STATUS == true)
  525. // {
  526. // if (con.button1.Tag.ToString() != "pall")
  527. // {
  528. // con.button1.BackgroundImage = Image.FromFile("Resources/Conveyor4_right.png");
  529. // con.button1.Tag = "pall";
  530. // }
  531. // }
  532. // else
  533. // {
  534. // if (con.button1.Tag.ToString() != "empty")
  535. // {
  536. // con.button1.BackgroundImage = Image.FromFile("Resources/1001LR.gif");
  537. // con.button1.Tag = "empty";
  538. // }
  539. // }
  540. // }
  541. // }
  542. // }
  543. // //string endtTime = DateTime.Now.ToString();
  544. // //MessageBox.Show("开始时间--" + startTime + ",结束时间--" + endtTime);
  545. // //eqpData.deviceDataPack = pack;
  546. //}
  547. //catch (Exception ex)
  548. //{
  549. //}
  550. //finally
  551. //{
  552. // isinitfrm = true;
  553. //}
  554. }
  555. private void lblsrm01_Click(object sender, EventArgs e)
  556. {
  557. Label srm = (Label)sender;
  558. string equName = srm.Name.Substring(3);
  559. FrmEquMsg_dtl Frm = new FrmEquMsg_dtl(equName);
  560. Frm.Show();
  561. }
  562. private void Frm_YongGuanMontior_FormClosing(object sender, FormClosingEventArgs e)
  563. {
  564. _timer.Stop();
  565. _timer.Elapsed -= new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
  566. }
  567. private void con2114_Load(object sender, EventArgs e)
  568. {
  569. }
  570. private void tableCellLabel23_Load(object sender, EventArgs e)
  571. {
  572. }
  573. private void con2035_Load(object sender, EventArgs e)
  574. {
  575. }
  576. }
  577. public class DDJSatatus
  578. {
  579. /// <summary>
  580. /// 状态图标
  581. /// </summary>
  582. public PictureBox G { get; set; }
  583. /// <summary>
  584. /// 堆垛机名称
  585. /// </summary>
  586. public string SrmName { get; set; }
  587. /// <summary>
  588. /// 入库状态
  589. /// </summary>
  590. public Label LblInStatus { get; set; }
  591. /// <summary>
  592. /// 出库状态
  593. /// </summary>
  594. public Label LblOutStatus { get; set; }
  595. /// <summary>
  596. /// 堆垛机模式
  597. /// </summary>
  598. public Label DdjMode { get; set; }
  599. /// <summary>
  600. /// 堆垛机工作状态
  601. /// </summary>
  602. public Label DdjStatus { get; set; }
  603. /// <summary>
  604. /// 堆垛机工作任务
  605. /// </summary>
  606. public Label DdjOrdId { get; set; }
  607. /// <summary>
  608. /// 堆垛机作业类型
  609. /// </summary>
  610. public Label DdjOptType { get; set; }
  611. /// <summary>
  612. /// 堆垛机当前位置
  613. /// </summary>
  614. public Label DdjPosCurr { get; set; }
  615. /// <summary>
  616. /// 运行时间
  617. /// </summary>
  618. public Label DdjWorkTime { get; set; }
  619. /// <summary>
  620. /// 里程数
  621. /// </summary>
  622. public Label DdjTotal_KM { get; set; }
  623. /// <summary>
  624. /// 源仓位
  625. /// </summary>
  626. public Label DdjPosFrom { get; set; }
  627. /// <summary>
  628. /// 目标仓位
  629. /// </summary>
  630. public Label DdjPosTo { get; set; }
  631. }
  632. public class RGVSatatus
  633. {
  634. /// <summary>
  635. /// 状态图标
  636. /// </summary>
  637. public PictureBox G { get; set; }
  638. /// <summary>
  639. /// RGV名称
  640. /// </summary>
  641. public string RGVName { get; set; }
  642. /// <summary>
  643. /// RGV模式
  644. /// </summary>
  645. public Label RGVMode { get; set; }
  646. /// <summary>
  647. /// RGV工作状态
  648. /// </summary>
  649. public Label RGVStatus { get; set; }
  650. /// <summary>
  651. /// RGV工作任务
  652. /// </summary>
  653. public Label RGVOrdId { get; set; }
  654. /// <summary>
  655. /// RGV作业类型
  656. /// </summary>
  657. public Label RGVOptType { get; set; }
  658. /// <summary>
  659. /// RGV当前位置
  660. /// </summary>
  661. public Label RGVPosCurr { get; set; }
  662. /// <summary>
  663. /// 起始站台
  664. /// </summary>
  665. public Label RGVPosFrom { get; set; }
  666. /// <summary>
  667. /// 目标站台
  668. /// </summary>
  669. public Label RGVPosTo { get; set; }
  670. }
  671. public class WCS_STATION5201 : WCS_Station520
  672. {
  673. public new DateTime UPDATETIME { get; set; }
  674. }
  675. }