예제 #1
0
        /// <summary>
        /// 载入所有串口信息
        /// </summary>
        /// <param name="Times"></param>
        private void ComInfo(long Times)
        {
            Empty();
            DataTable dt   = mapMessage.LoadDeviceMap(Times);
            DataTable data = new DataTable("TabAgvInfo");

            data.Columns.Add("串口", typeof(String));
            data.Columns.Add("信息", typeof(String));
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow item in dt.Rows)
                {
                    data.Rows.Add(new object[] { "COM", "" + item["Com"].ToString() + "" });
                    data.Rows.Add(new object[] { "波特率", item["Baud"].ToString() });
                    if (item["Agv"].ToString() == "Button")
                    {
                        data.Rows.Add(new object[] { "AGV / 其他", "按钮" });
                        //PortInfo.buttonPort.Add(new SerialPort());
                        PortInfo.buttonCom.Add(Convert.ToInt32(item["Com"].ToString()));
                        PortInfo.buttonBaud.Add(Convert.ToInt32(item["Baud"].ToString()));
                        PortInfo.buttonStr.Add("Button");
                    }
                    else if (item["Agv"].ToString() == "Charge")
                    {
                        data.Rows.Add(new object[] { "AGV / 其他", "充电机" });
                        //PortInfo.chargePort.Add(new SerialPort());
                        PortInfo.chargeCom.Add(Convert.ToInt32(item["Com"].ToString()));
                        PortInfo.chargeBaud.Add(Convert.ToInt32(item["Baud"].ToString()));
                        PortInfo.chargeStr.Add("Charge");
                    }
                    else
                    {
                        data.Rows.Add(new object[] { "AGV / 其他", item["Agv"].ToString() });
                        PortInfo.AGVCom.Add(Convert.ToInt32(item["Com"].ToString()));
                        PortInfo.Baud.Add(Convert.ToInt32(item["Baud"].ToString()));
                        PortInfo.agv.Add((item["Agv"].ToString()));
                    }
                    data.Rows.Add(new object[] { "状态", "关闭" });
                }
            }
            else
            {
                data.Rows.Add(new object[] { "COM", "" });
                data.Rows.Add(new object[] { "波特率", "" });
                data.Rows.Add(new object[] { "AGV / 其他", "" });
                data.Rows.Add(new object[] { "状态", "" });
            }
            TabSerialPortData.ItemsSource       = data.DefaultView;
            TabSerialPortData.ColumnWidth       = new DataGridLength(1, DataGridLengthUnitType.Star);
            TabSerialPortData.HeadersVisibility = DataGridHeadersVisibility.None;
        }
예제 #2
0
 public void portLoad(string Time)
 {
     if (Time != null)
     {
         Times = long.Parse(Time);
         DataTable PortData = mapMessage.LoadDeviceMap(long.Parse(Time));
         dt = new DataTable("PortInfo");
         dt.Columns.Add(new DataColumn("Com"));
         dt.Columns.Add(new DataColumn("Baud"));
         dt.Columns.Add(new DataColumn("Agv"));
         foreach (DataRow item in PortData.Rows)
         {
             if (item["Agv"].ToString() == "Button")
             {
                 dt.Rows.Add(new object[] { "COM" + item["Com"].ToString(), item["Baud"].ToString(), "按钮" });
             }
             else if (item["Agv"].ToString() == "Charge")
             {
                 dt.Rows.Add(new object[] { "COM" + item["Com"].ToString(), item["Baud"].ToString(), "充电机" });
             }
             else
             {
                 dt.Rows.Add(new object[] { "COM" + item["Com"].ToString(), item["Baud"].ToString(), item["Agv"].ToString() });
             }
         }
         PortTable.ItemsSource         = dt.DefaultView;
         PortTable.AutoGenerateColumns = false;
     }
     Com.Items.Clear();
     string[] polist = SerialPort.GetPortNames();
     for (int i = 0; i < polist.Length; i++)
     {
         ComboBoxItem item = new ComboBoxItem();
         item.Content = polist[i];
         Com.Items.Add(item);
     }
 }