Exemplo n.º 1
0
        void CarServer_OnDataChanged(object sender, DataChangedEventArgs e)
        {
            try
            {
                if (e.State == null)
                {
                    return;
                }

                PLC    plc = new PLC();
                string txt = e.ItemName.Split('_')[0];
                plc.ID      = txt;
                plc.PicName = "picCar";

                if (e.ItemName.IndexOf("TaskNo") >= 0)
                {
                    plc.Text     = Util.ConvertStringChar.BytesToString(e.States);
                    plc.TextName = "txtCarTaskNo";
                }
                else if (e.ItemName.IndexOf("PalletCode") >= 0)
                {
                    plc.Text     = Util.ConvertStringChar.BytesToString(e.States);
                    plc.TextName = "txtPalletCode";
                }
                else if (e.ItemName.IndexOf("HasProduct") >= 0) //图片
                {
                    if ((bool)e.State)
                    {
                        plc.ShowPic = "1";
                    }
                }
                else
                {
                    string strErrorNo = Util.ConvertStringChar.BytesToString(e.States);
                    if (strErrorNo != "0" && strErrorNo != "32" && strErrorNo.Length != 0)
                    {
                        plc.Text     = dicCarError[strErrorNo];
                        plc.TextName = "txtCarErrorDesc";
                        plc.IsErr    = "1";
                        plc.ErrCode  = strErrorNo;
                        plc.ShowPic  = "1";
                    }
                    else
                    {
                        plc.Text     = "";
                        plc.IsErr    = "0";
                        plc.TextName = "txtCarErrorDesc";
                    }
                }
                PLCS.PLCInfo(plc);
            }
            catch (Exception ex)
            {
                MCP.Logger.Error("监控界面中CarServer_OnDataChanged出现异常" + ex.Message);
            }
        }
Exemplo n.º 2
0
        void CraneServer_OnDataChanged(object sender, DataChangedEventArgs e)
        {
            try
            {
                if (e.State == null)
                {
                    return;
                }
                PLC      plc = new PLC();
                string[] txt = e.ItemName.Split('_');
                plc.ID       = txt[0];
                plc.PicName  = "picCrane";
                plc.ShowPic  = "1";
                plc.TextName = "txt" + txt[1];

                if (e.ItemName.IndexOf("TaskNo") >= 0)
                {
                    string TaskNo = Util.ConvertStringChar.BytesToString(e.States);
                    plc.Text         = TaskNo;
                    plc.TaskType     = "";
                    plc.TextTypeName = "txtTaskType";
                    if (TaskNo.Length > 0)
                    {
                        DataTable dtTask = bll.FillDataTable("WCS.SelectWCSTask", new DataParameter[] { new DataParameter("{0}", string.Format("TASKID='{0}'", TaskNo)) });
                        if (dtTask.Rows.Count > 0)
                        {
                            if (dtTask.Rows[0]["TASKTYPE"].ToString() == "IB")
                            {
                                plc.TaskType = "入库";
                            }
                            else
                            {
                                plc.TaskType = "出库";
                            }
                        }
                    }
                }
                else if (e.ItemName.IndexOf("PalletCode") >= 0)
                {
                    plc.Text = Util.ConvertStringChar.BytesToString(e.States);
                }
                else if (e.ItemName.IndexOf("CraneAction") >= 0)
                {
                    int Action = int.Parse(ObjectUtil.GetObject(e.States).ToString());
                    plc.Text = dicCraneAction[Action];
                }
                else if (e.ItemName.IndexOf("Column") >= 0)
                {
                    string Ocolumn = ObjectUtil.GetObject(e.States).ToString();
                    plc.Text = Ocolumn;

                    Crane crane = new Crane();
                    crane.CraneNo = int.Parse(txt[0]);
                    int column = 0;
                    if (Ocolumn != "")
                    {
                        column = int.Parse(Ocolumn);
                    }
                    crane.Column = column;
                    Cranes.CraneInfo(crane);
                }
                else if (e.ItemName.IndexOf("Row") >= 0)
                {
                    int Row = int.Parse(ObjectUtil.GetObject(e.States).ToString());
                    if (Row >= 2)
                    {
                        Row = Row - 1;
                    }
                    plc.Text = Row.ToString();
                }
                else
                {
                    string strErrorNo = ObjectUtil.GetObject(e.States).ToString();

                    if (strErrorNo != "0")
                    {
                        DataRow[] drs = dtCraneError.Select(string.Format("warncode='{0}'", strErrorNo));
                        if (drs.Length > 0)
                        {
                            plc.Text = drs[0]["WARNDESC"].ToString();
                        }
                        else
                        {
                            plc.Text = "未知错误!";
                        }
                        plc.TextName    = "txtErrorDesc";
                        plc.IsErr       = "1";
                        plc.ErrCode     = strErrorNo;
                        plc.TextErrName = "txtErrorNo";
                    }
                    else
                    {
                        plc.Text        = "";
                        plc.TextName    = "txtErrorDesc";
                        plc.IsErr       = "0";
                        plc.ErrCode     = strErrorNo;
                        plc.TextErrName = "txtErrorNo";
                    }
                }
                PLCS.PLCInfo(plc);
            }
            catch (Exception ex)
            {
                MCP.Logger.Error("监控界面CraneServer_OnDataChanged中出现异常" + ex.Message);
            }
        }