123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using AGV_WPF.DataControl;
- using AGV_WPF.Models;
- using AGV_WPF_Global;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace AGV_WPF
- {
- public partial class AGVMonitor : Form
- {
- List<int> listOnline = new List<int>();
- AGVInfoService infoService = new AGVInfoService();
- public AGVMonitor()
- {
- InitializeComponent();
- }
- private void AGVMonitor_Load(object sender, EventArgs e)
- {
- List<AGVInfoModel> list = GlobalPara.AgvInfoDic.Values.ToList<AGVInfoModel>();
- for(int i = 0; i < list.Count; i++)
- {
- comboBox1.Items.Add(i);
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- List<AGVInfoModel> list = GlobalPara.AgvInfoDic.Values.ToList<AGVInfoModel>();
- var agvinfo = list.Find(o => o.AGVNUM.ToString() == comboBox1.Text);
- if (agvinfo != null)
- {
- agvinfo.RUNSTATUS_Cur = agvinfo.RUNSTATUS = int.Parse(comboBox2.Text);
- agvinfo.ROUTENUM = int.Parse(comboBox3.Text);
- agvinfo.MARKNUM = int.Parse(textBox1.Text);
- switch (int.Parse(comboBox4.Text) + 1)
- {
- #region 异常分类
- case 1:
- agvinfo.ALARMCODE = "1";
- agvinfo.ALARMINFO = "无异常";
- break;
- case 2:
- agvinfo.ALARMCODE = "2";
- agvinfo.ALARMINFO = "急停报警";
- break;
- case 3:
- agvinfo.ALARMCODE = "3";
- agvinfo.ALARMINFO = "防撞报警";
- break;
- case 4:
- agvinfo.ALARMCODE = "4";
- agvinfo.ALARMINFO = "牵引棒报警";
- break;
- case 5:
- agvinfo.ALARMCODE = "5";
- agvinfo.ALARMINFO = "障碍物";
- break;
- case 6:
- agvinfo.ALARMCODE = "6";
- agvinfo.ALARMINFO = "路线异常";
- break;
- case 7:
- agvinfo.ALARMCODE = "7";
- agvinfo.ALARMINFO = "电压异常";
- break;
- case 8:
- agvinfo.ALARMCODE = "8";
- agvinfo.ALARMINFO = "脱轨报警";
- break;
- case 9:
- agvinfo.ALARMCODE = "9";
- agvinfo.ALARMINFO = "低电压报警";
- break;
- case 10:
- agvinfo.ALARMCODE = "10";
- agvinfo.ALARMINFO = "低电压停机";
- break;
- case 11:
- agvinfo.ALARMCODE = "11";
- agvinfo.ALARMINFO = "超载报警";
- break;
- default:
- agvinfo.ALARMCODE = "256";
- agvinfo.ALARMINFO = "未知异常";
- break;
- #endregion
- }
- if (!listOnline.Contains(agvinfo.AGVNUM) && checkBox1.Checked)
- {
- listOnline.Add(agvinfo.AGVNUM);
- }
- infoService.Analyze(agvinfo);
- }
- }
- private void timer1_Tick(object sender, EventArgs e)
- {
- List<AGVInfoModel> list = GlobalPara.AgvInfoDic.Values.ToList<AGVInfoModel>();
- var agvs = list.FindAll(o => listOnline.Contains(o.AGVNUM));
- if (agvs != null && agvs.Count > 0)
- {
- for(int i = 0; i < agvs.Count; i++)
- {
- agvs[i].ConnectStatus = true;
- agvs[i].OffLineCount = 0;
- }
- }
- }
- }
- }
|