示例#1
0
文件: E00203.cs 项目: ali50m/YQPLCMgt
        public override void DoWork(PLCMsg msg)
        {
            return;

            CurrMsg = msg;
            if (CurrMsg.STATUS == 1)//判断挡停放行
            {
                //判断挡停后边专机空闲
                var nxtDevice = DeviceBase.GetDevice("E0100201");
                if (nxtDevice.CurrMsg?.STATUS == 0)
                {
                    ControlMsg ctlMsg = new ControlMsg()
                    {
                        DEVICE_TYPE  = msg.DEVICE_TYPE,
                        NO           = msg.NO,
                        COMMAND_ID   = 2,
                        MESSAGE_TYPE = "control",
                        time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    };
                    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行挡停
                }
            }
            else
            {
            }
        }
示例#2
0
文件: E01101.cs 项目: ali50m/YQPLCMgt
 public override void DoWork(PLCMsg msg)
 {
     CurrMsg = msg;
     if (CurrMsg.STATUS == 1)//判断专机放行
     {
         //放行后等5秒再次放行
         if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
         {
             return;
         }
         LAST_PASS_TIME = DateTime.Now;
         ControlMsg ctlMsg = new ControlMsg()
         {
             DEVICE_TYPE  = msg.DEVICE_TYPE,
             NO           = msg.NO,
             COMMAND_ID   = 2,
             MESSAGE_TYPE = "control",
             time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
         };
         Task.Run(() =>
         {
             //System.Threading.Thread.Sleep(5000);//5秒后放行
             GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//启动专机
         });
     }
     else
     {
     }
 }
示例#3
0
文件: E02201.cs 项目: ali50m/YQPLCMgt
 public override void DoWork(PLCMsg msg)
 {
     CurrMsg = msg;
     AskPallet_Fujiao();
     //判断专机满表启动插针
     if (CurrMsg.PALLET_COUNT == 8 &&
         !(CurrMsg.STATUS == 1 || CurrMsg.STATUS == 2 || CurrMsg.STATUS == 3))
     {
         ControlMsg ctlMsg = new ControlMsg()
         {
             DEVICE_TYPE  = msg.DEVICE_TYPE,
             NO           = msg.NO,
             COMMAND_ID   = 3,
             MESSAGE_TYPE = "control",
             time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
         };
         GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg)); //启动专机
     }
     if (CurrMsg.STATUS == 1)                                            //判断插针就绪
     {
         //判断其他专机非放行状态
         var d2 = DeviceBase.GetDevice("E02202");
         if (d2.CurrMsg?.STATUS == 2)
         {
             return;
         }
         var d3 = DeviceBase.GetDevice("E02203");
         if (d3.CurrMsg?.STATUS == 2)
         {
             return;
         }
         var d4 = DeviceBase.GetDevice("E02204");
         if (d4.CurrMsg?.STATUS == 2)
         {
             return;
         }
         //放行后等10秒再次放行
         if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 10)
         {
             return;
         }
         LAST_PASS_TIME = DateTime.Now;
         ControlMsg ctlMsg = new ControlMsg()
         {
             DEVICE_TYPE  = msg.DEVICE_TYPE,
             NO           = msg.NO,
             COMMAND_ID   = 2,
             MESSAGE_TYPE = "control",
             time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
         };
         Task.Run(() =>
         {
             //System.Threading.Thread.Sleep(5000);//5s后放行
             GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行专机
         });
     }
     else
     {
     }
 }
示例#4
0
        private void MQ_singleArrivalEvent(string data)
        {
            ShowMsg(data);
            MsgBase msg = null;

            try
            {
                msg = JsonConvert.DeserializeObject <MsgBase>(data);
            }
            catch (Exception ex)
            {
                string errMsg = "协议格式错误!";
                MyLog.WriteLog(errMsg, ex);
                ShowMsg(errMsg);
                return;
            }
            //判断时间戳在启动时间之前的信息丢弃
            DateTime dtMsg;

            if (DateTime.TryParse(msg.time_stamp, out dtMsg))
            {
                if (dtMsg < dtStart)
                {
                    return;
                }
            }
            List <string> jiaobiaoNos = new List <string>()
            {
                "E00113", "E00114", "E00115", "E00117", "E02001",
                "E02101", "E02201"//先跑初调1和复校1
            };

            try
            {
                if (msg.MESSAGE_TYPE == "plc")
                {
                    if (!jiaobiaoNos.Contains(msg.NO))
                    {
                        return;
                    }
                    var    dev    = DeviceBase.GetDevice(msg.NO);
                    PLCMsg plcMsg = JsonConvert.DeserializeObject <PLCMsg>(data);
                    dev.DoWork(plcMsg);
                    this.Dispatcher.Invoke(() =>
                    {
                        if (!dgDevices.Items.Contains(dev))
                        {
                            dgDevices.Items.Add(dev);
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                ShowMsg(ex.Message + ex.StackTrace);
            }
        }
示例#5
0
        private static int LastNo          = 1;//专机号1,2 = no%2+1
        public override void DoWork(PLCMsg msg)
        {
            CurrMsg = msg;
            return;

            if (CurrMsg.STATUS == 1)//判断挡停放行
            {
                bool canpass = true;
                if (count == 8)
                {
                    //判断托盘到位
                    string strLastNo  = "E0210" + LastNo;
                    var    lastDevice = DeviceBase.GetDevice(strLastNo);
                    if (lastDevice.CurrMsg?.PALLET_COUNT == 8)//8个托盘到位了
                    {
                        //发送3
                        ControlMsg ctlMsg = new ControlMsg()
                        {
                            DEVICE_TYPE  = "E021",
                            NO           = strLastNo,
                            COMMAND_ID   = 3,
                            MESSAGE_TYPE = "control",
                            time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                        };
                        GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg)); //启动专机
                        canpass = true;
                        LastNo++;                                                       //换下一个专机
                        LastNo = LastNo % 2 + 1;
                        count  = 0;
                    }
                    else
                    {
                        canpass = false;
                    }
                }
                if (canpass)
                {
                    count++;
                    var ctlMsg = new ControlMsg()
                    {
                        DEVICE_TYPE  = msg.DEVICE_TYPE,
                        NO           = msg.NO,
                        COMMAND_ID   = (LastNo + 1),//放行命令23 = no + 1
                        MESSAGE_TYPE = "control",
                        time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    };
                    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行挡停
                }
            }
            else
            {
            }
        }
示例#6
0
        public override void DoWork(PLCMsg msg)
        {
            CurrMsg = msg;
            if (CurrMsg.STATUS == 1)//TODO:判断专机启用
            {
                //放行后等5秒再次放行
                //if (LAST_PASS_TIME.HasValue &&  (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
                //{
                //    return;
                //}
                //LAST_PASS_TIME = DateTime.Now;
                ControlMsg ctlMsg = new ControlMsg()
                {
                    DEVICE_TYPE = msg.DEVICE_TYPE,
                    NO          = msg.NO,

                    COMMAND_ID = 3,


                    MESSAGE_TYPE = "control",
                    time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                };
                GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg)); //启动专机
            }
            else if (CurrMsg.STATUS == 4)                                       //完成,判断后续空闲
            {
                if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
                {
                    return;
                }
                LAST_PASS_TIME = DateTime.Now;
                var nxtDevice = DeviceBase.GetDevice("E0100103");
                if (nxtDevice.CurrMsg != null && nxtDevice.CurrMsg.STATUS == 0)
                {
                    ControlMsg ctlMsg = new ControlMsg()
                    {
                        DEVICE_TYPE  = msg.DEVICE_TYPE,
                        NO           = msg.NO,
                        COMMAND_ID   = 2,
                        MESSAGE_TYPE = "control",
                        time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    };
                    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行专机
                }
            }
            else
            {
            }
        }
示例#7
0
 public override void DoWork(PLCMsg msg)
 {
     CurrMsg = msg;
     //if (CurrMsg.STATUS == 1)
     //{
     //    ControlMsg ctlMsg = new ControlMsg()
     //    {
     //        DEVICE_TYPE = msg.DEVICE_TYPE,
     //        NO = msg.NO,
     //        COMMAND_ID = 2,
     //        MESSAGE_TYPE = "control",
     //        time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
     //    };
     //    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行挡停
     //}
 }
示例#8
0
        public override void DoWork(PLCMsg msg)
        {
            CurrMsg = msg;
            if (CurrMsg.STATUS == 1)//TODO:判断专机启用
            {
                ////放行后等5秒再次放行
                //if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
                //{
                //    return;
                //}
                //LAST_PASS_TIME = DateTime.Now;
                ControlMsg ctlMsg = new ControlMsg()
                {
                    DEVICE_TYPE = msg.DEVICE_TYPE,
                    NO          = msg.NO,
//#if PASS
//                    COMMAND_ID = 2,//直接放行
//#else
                    COMMAND_ID = 3,
//#endif
                    MESSAGE_TYPE = "control",
                    time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                };
                GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg)); //启动专机
            }
            else if (CurrMsg.STATUS == 4)                                       //完成
            {
                //放行后等5秒再次放行
                if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
                {
                    return;
                }
                LAST_PASS_TIME = DateTime.Now;
                ControlMsg ctlMsg = new ControlMsg()
                {
                    DEVICE_TYPE  = msg.DEVICE_TYPE,
                    NO           = msg.NO,
                    COMMAND_ID   = 2,
                    MESSAGE_TYPE = "control",
                    time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                };
                GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行专机
            }
            else
            {
            }
        }
示例#9
0
文件: E01701.cs 项目: ali50m/YQPLCMgt
 public override void DoWork(PLCMsg msg)
 {
     //if (CurrMsg != null && (Convert.ToDateTime(msg.time_stamp) - Convert.ToDateTime(CurrMsg.time_stamp)).Seconds < 3)
     //    return;
     CurrMsg = msg;
     //判断专机满表启动插针
     if (CurrMsg.PALLET_COUNT == 3 &&
         !(CurrMsg.STATUS == 1 || CurrMsg.STATUS == 2 || CurrMsg.STATUS == 3))
     {
         ControlMsg ctlMsg = new ControlMsg()
         {
             DEVICE_TYPE  = msg.DEVICE_TYPE,
             NO           = msg.NO,
             COMMAND_ID   = 3,
             MESSAGE_TYPE = "control",
             time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
         };
         GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg)); //启动专机
     }
     if (CurrMsg.STATUS == 1)                                            //判断插针就绪
     {
         //放行后等5秒再次放行
         if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
         {
             return;
         }
         LAST_PASS_TIME = DateTime.Now;
         ControlMsg ctlMsg = new ControlMsg()
         {
             DEVICE_TYPE  = msg.DEVICE_TYPE,
             NO           = msg.NO,
             COMMAND_ID   = 2,
             MESSAGE_TYPE = "control",
             time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
         };
         Task.Run(() =>
         {
             //System.Threading.Thread.Sleep(5000);//5s后放行
             GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行专机
         });
     }
     else
     {
     }
 }
示例#10
0
文件: E03202.cs 项目: ali50m/YQPLCMgt
 public override void DoWork(PLCMsg msg)
 {
     CurrMsg = msg;
     if (CurrMsg.STATUS == 1)//
     {
         ControlMsg ctlMsg = new ControlMsg()
         {
             DEVICE_TYPE  = msg.DEVICE_TYPE,
             NO           = msg.NO,
             COMMAND_ID   = 2,
             MESSAGE_TYPE = "control",
             time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
         };
         GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//启动专机
     }
     else
     {
     }
 }
示例#11
0
文件: E02501.cs 项目: ali50m/YQPLCMgt
        public override void DoWork(PLCMsg msg)
        {
            CurrMsg = msg;
            //判断专机满表启动插针
            if (CurrMsg.PALLET_COUNT == 6 &&
                !(CurrMsg.STATUS == 1 || CurrMsg.STATUS == 2 || CurrMsg.STATUS == 3))
            {
                ControlMsg ctlMsg = new ControlMsg()
                {
                    DEVICE_TYPE  = msg.DEVICE_TYPE,
                    NO           = msg.NO,
                    COMMAND_ID   = 3,
                    MESSAGE_TYPE = "control",
                    time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                };
                GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg)); //启动专机
            }
            if (CurrMsg.STATUS == 1)                                            //判断插针就绪
            {
                //放行后等5秒再次放行
                if (LAST_PASS_TIME.HasValue && (DateTime.Now - LAST_PASS_TIME.Value).Seconds < 3)
                {
                    return;
                }
                LAST_PASS_TIME = DateTime.Now;
                ControlMsg ctlMsg = new ControlMsg()
                {
                    DEVICE_TYPE  = msg.DEVICE_TYPE,
                    NO           = msg.NO,
                    COMMAND_ID   = 2,
                    MESSAGE_TYPE = "control",
                    time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                };

                GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行专机
            }
            else
            {
            }
        }
示例#12
0
 public abstract void DoWork(PLCMsg msg);
示例#13
0
文件: E02301.cs 项目: ali50m/YQPLCMgt
        public override void DoWork(PLCMsg msg)
        {
            CurrMsg = msg;
            if (CurrMsg.STATUS == 4 || CurrMsg.STATUS == 0)    //机器人抓完后
            {
                if ((DateTime.Now - LastStatus4).Seconds < 10) //两次状态4之间超过10秒认为机器人抓完
                {
                    return;
                }
                LastStatus4 = DateTime.Now;
                var stopBefore = DeviceBase.GetDevice("E00216");
                var stopAfter  = DeviceBase.GetDevice("E00217");
                //判断前面托盘到位 && 判断后边托盘到位
                if (stopBefore.CurrMsg?.STATUS == 1 && stopAfter.CurrMsg?.STATUS == 1)
                {
                    #region 启动机器人
                    ControlMsg pickMsg = new ControlMsg()
                    {
                        DEVICE_TYPE  = msg.DEVICE_TYPE,
                        NO           = msg.NO,
                        COMMAND_ID   = flags[i % flags.Count],
                        MESSAGE_TYPE = "control",
                        time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    };
                    i++;
                    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(pickMsg));
                    #endregion

                    #region 放行机器人后挡停
                    Task.Run(() =>
                    {
                        System.Threading.Thread.Sleep(6000);//等5秒机器人放完
                        ControlMsg ctl_af_Msg = new ControlMsg()
                        {
                            NO           = stopAfter.NO,
                            DEVICE_TYPE  = stopAfter.DEVICE_TYPE,
                            COMMAND_ID   = 2,
                            MESSAGE_TYPE = "control",
                            time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                        };
                        GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctl_af_Msg));
                    });
                    #endregion

                    #region 放行机器人前挡停

                    if (i > 0 && i % flags.Count == 0)//判断抓完6个
                    {
                        Task.Run(() =>
                        {
                            System.Threading.Thread.Sleep(2000);//等2秒机器人抓走
                            ControlMsg ctl_br_Msg = new ControlMsg()
                            {
                                NO           = stopBefore.NO,
                                DEVICE_TYPE  = stopBefore.DEVICE_TYPE,
                                COMMAND_ID   = 2,
                                MESSAGE_TYPE = "control",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                            };
                            GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctl_br_Msg));
                        });
                    }
                    #endregion
                }
            }
        }
示例#14
0
文件: E00215.cs 项目: ali50m/YQPLCMgt
        private static int LastNo          = 1;//专机号1,2,3,4 = (no % 4) + 1
        public override void DoWork(PLCMsg msg)
        {
            CurrMsg = msg;
            return;

            if (CurrMsg.STATUS == 1)//判断挡停放行
            {
                bool canpass = true;
                if (count == 8)
                {
                    //判断托盘到位
                    string strLastNo  = "E0220" + LastNo;
                    var    lastDevice = DeviceBase.GetDevice(strLastNo);
                    if (lastDevice.CurrMsg?.PALLET_COUNT == 8)//8个托盘到位了
                    {
                        //发送3
                        ControlMsg ctlMsg = new ControlMsg()
                        {
                            DEVICE_TYPE  = "E022",
                            NO           = strLastNo,
                            COMMAND_ID   = 3,
                            MESSAGE_TYPE = "control",
                            time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                        };
                        GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//启动专机

                        canpass = true;
                        LastNo++;//换下一个专机
                        LastNo = LastNo % 4 + 1;
                        count  = 0;
                    }
                    else
                    {
                        canpass = false;
                    }
                }
                if (canpass)
                {
                    count++;
                    var ctlMsg = new ControlMsg()
                    {
                        DEVICE_TYPE  = msg.DEVICE_TYPE,
                        NO           = msg.NO,
                        COMMAND_ID   = (LastNo + 1),//放行命令2345 = no + 1
                        MESSAGE_TYPE = "control",
                        time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    };
                    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行挡停
                }

                //int cmdid = 0;
                ////判断挡停后边专机空闲
                //var nxtDevice1 = DeviceBase.GetDevice("E02201");
                //var nxtDevice2 = DeviceBase.GetDevice("E02202");
                //var nxtDevice3 = DeviceBase.GetDevice("E02203");
                //var nxtDevice4 = DeviceBase.GetDevice("E02204");
                //if (nxtDevice1.CurrMsg?.PALLET_COUNT < 8)
                //{
                //    cmdid = 2;
                //}
                //else if (nxtDevice2.CurrMsg?.STATUS < 8)
                //{
                //    cmdid = 3;
                //}
                //else if (nxtDevice3.CurrMsg?.STATUS < 8)
                //{
                //    cmdid = 4;
                //}
                //else if (nxtDevice4.CurrMsg?.STATUS < 8)
                //{
                //    cmdid = 5;
                //}
                //else
                //{

                //}
                //if (cmdid != 0 && (DateTime.Now - LastCount8).Seconds > 20)//每放8个等20秒
                //{
                //    count++;
                //    if (count % 8 == 0)
                //        LastCount8 = DateTime.Now;
                //    var ctlMsg = new ControlMsg()
                //    {
                //        DEVICE_TYPE = msg.DEVICE_TYPE,
                //        NO = msg.NO,
                //        COMMAND_ID = cmdid,
                //        MESSAGE_TYPE = "control",
                //        time_stamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                //    };
                //    GlobalData.MQ.SentMessage(JsonConvert.SerializeObject(ctlMsg));//放行挡停
                //}
            }
            else
            {
            }
        }
示例#15
0
        private void MiReSendMsg_Click(object sender, RoutedEventArgs e)
        {
            MenuItem    mi       = sender as MenuItem;
            ContextMenu ctxMenu  = mi.Parent as ContextMenu;
            DataGrid    dataGrid = ctxMenu.PlacementTarget as DataGrid;

            if (dataGrid.SelectedItems != null && dataGrid.SelectedItems.Count > 0)
            {
                foreach (var item in dataGrid.SelectedItems)
                {
                    DeviceBase device = item as DeviceBase;
                    if (device is StopDevice)
                    {
                        try
                        {
                            StopDevice stop = device as StopDevice;
                            PLCMsg     msg  = new PLCMsg()
                            {
                                NO           = stop.NO,
                                DEVICE_TYPE  = stop.DEVICE_TYPE,
                                PALLET_COUNT = stop.PALLET_COUNT,
                                STATUS       = stop.STATUS,
                                MESSAGE_TYPE = "plc",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
                            };
                            string strMsg = JsonConvert.SerializeObject(msg);
                            viewModel?.mqClient?.SentMessage(strMsg);
                            MessageBox.Show("发送挡停信息完毕!");
                        }
                        catch (Exception ex)
                        {
                            MyLogLib.MyLog.WriteLog("手动发送挡停信息失败!", ex);
                            MessageBox.Show("发送挡停信息失败!");
                        }
                    }
                    else if (device is MachineDevice)
                    {
                        try
                        {
                            MachineDevice machine = device as MachineDevice;
                            PLCMsg        msg     = new PLCMsg()
                            {
                                NO           = machine.NO,
                                DEVICE_TYPE  = machine.DEVICE_TYPE,
                                PALLET_COUNT = machine.PALLET_COUNT,
                                STATUS       = machine.STATUS,
                                MESSAGE_TYPE = "plc",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
                            };
                            string strMsg = JsonConvert.SerializeObject(msg);
                            viewModel?.mqClient?.SentMessage(strMsg);
                            MessageBox.Show("发送挡停信息完毕!");
                        }
                        catch (Exception ex)
                        {
                            MyLogLib.MyLog.WriteLog("手动发送专机信息失败!", ex);
                            MessageBox.Show("发送专机信息失败!");
                        }
                    }
                    else if (device is ScanDevice)
                    {
                        try
                        {
                            StopDevice stop = (device as ScanDevice).Stop;
                            if (stop == null)
                            {
                                return;
                            }
                            PLCMsg msg = new PLCMsg()
                            {
                                NO           = stop.NO,
                                DEVICE_TYPE  = stop.DEVICE_TYPE,
                                PALLET_COUNT = stop.PALLET_COUNT,
                                STATUS       = stop.STATUS,
                                MESSAGE_TYPE = "plc",
                                time_stamp   = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
                            };
                            string strMsg = JsonConvert.SerializeObject(msg);
                            viewModel?.mqClient?.SentMessage(strMsg);
                            MessageBox.Show("上传档停状态完毕!");
                        }
                        catch (Exception ex)
                        {
                            MyLogLib.MyLog.WriteLog("手动发送挡停信息失败!", ex);
                            MessageBox.Show("发送挡停信息失败!");
                        }
                    }
                }
            }
        }
示例#16
0
 public override void DoWork(PLCMsg msg)
 {
     CurrMsg = msg;
 }
示例#17
0
文件: E03201.cs 项目: ali50m/YQPLCMgt
 public override void DoWork(PLCMsg msg)
 {
 }