Exemplo n.º 1
0
 public ParamSetView(IGrapTB grapTb, ISuperTextEdit iSuperTextEdit, CtlDevBaseModel dev)
 {
     InitializeComponent();
     this.IGrapTB    = grapTb;
     this.ISuperEdit = iSuperTextEdit;
     this.CurrDev    = dev;
 }
Exemplo n.º 2
0
        private bool SetModPalletNum(ref string restr)
        {
            int modPallet = 0;

            foreach (Control ctl in this.flowLayoutPanel2.Controls)
            {
                PLProcessModel.ParamCfgBase.ParamCfgItemCtl paramCtl = ctl as PLProcessModel.ParamCfgBase.ParamCfgItemCtl;
                paramCtl.ParamApply();
                modPallet = int.Parse(paramCtl.GetParamObj().ParamVal);
                break;
            }
            if (this.devList == null)
            {
                return(false);
            }

            CtlDevBaseModel screw1 = GetDev("C线1号绝缘板锁螺丝机");

            if (screw1 == null)
            {
                restr = "C线绝缘板锁螺丝机1,设备对象为空!";
                return(false);
            }
            bool status1 = screw1.PlcRW.WriteDB("D8500", modPallet);

            if (status1 == false)
            {
                restr = "C线绝缘板锁螺丝机1,发送模块数量失败!";
                return(false);
            }

            CtlDevBaseModel screw2 = GetDev("C线2号绝缘板锁螺丝机");

            if (screw2 == null)
            {
                restr = "C线绝缘板锁螺丝机2,设备对象为空!";
                return(false);
            }

            bool status2 = screw2.PlcRW.WriteDB("D8500", modPallet);

            if (status2 == false)
            {
                restr = "C线绝缘板锁螺丝机2,发送模块数量失败!";
                return(false);
            }
            restr = "C线绝缘板锁螺丝机1、C线绝缘板锁螺丝机2设备模块数量设置成功!";
            return(true);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 显示设备列表
 /// </summary>
 private void ShowDevList()
 {
     if (this.DevList == null)
     {
         return;
     }
     this.dgv_DevList.Rows.Clear();
     for (int i = 0; i < this.DevList.Count; i++)
     {
         CtlDevBaseModel dev = this.DevList[i];
         this.dgv_DevList.Rows.Add();
         this.dgv_DevList.Rows[i].Cells["col_DeviceID"].Value   = dev.DevID;
         this.dgv_DevList.Rows[i].Cells["col_DeviceName"].Value = dev.DevName;
     }
 }
Exemplo n.º 4
0
 private CtlDevBaseModel GetDev(string devname)
 {
     if (this.devList == null)
     {
         return(null);
     }
     for (int i = 0; i < this.devList.Count; i++)
     {
         CtlDevBaseModel dev = this.devList[i];
         if (dev.DevName == devname)
         {
             return(dev);
         }
     }
     return(null);
 }
Exemplo n.º 5
0
        private string GetWarnningStr()
        {
            StringBuilder sb = new StringBuilder();

            if (this.currDevName == "所有")
            {
                string warnStr = GetAllDevWarnningStr();
                sb.Append(warnStr);
            }
            else
            {
                CtlDevBaseModel currDev = GetDev(this.devList, this.currDevName);
                string          warnStr = GetSelectDevWarnningStr(currDev);
                sb.Append(warnStr);
            }
            return(sb.ToString());
        }
Exemplo n.º 6
0
        //public override void RegisterMenus(MenuStrip parentMenu, string rootMenuText)
        //{

        //    ToolStripMenuItem rootMenuItem = new ToolStripMenuItem(rootMenuText);//parentMenu.Items.Add("仓储管理");
        //    //rootMenuItem.Click += LoadMainform_MenuHandler;
        //    parentMenu.Items.Add(rootMenuItem);
        //    // if(parentPNP.RoleID<3)
        //    {
        //        ToolStripItem productDSItem = rootMenuItem.DropDownItems.Add("PLC设置");

        //        // ToolStripItem mesofflineItem = rootMenuItem.DropDownItems.Add("MES离线模式");
        //        productDSItem.Click += PLCSettingHandler;

        //        //  mesofflineItem.Click += LoadView_MenuHandler;
        //    }


        //}
        //public override void SetParent(/*Control parentContainer, Form parentForm, */IParentModule parentPnP)
        //{
        //    this.parentPNP = parentPnP;
        //    //if (parentPNP.RoleID == 1)
        //    //{
        //    //    sysDefineView = new SysDefineView("系统维护");
        //    //    this.sysDefineView.SetParent(parentPnP);
        //    //}
        //    //this.SetParent(parentPnP);

        //}
        //public override void SetLoginterface(ILogRecorder logRecorder)
        //{
        //    this.logRecorder = logRecorder;

        //}
        #endregion
        #region 私有函数
        /// <summary>
        /// 显示指定设备的配置
        /// </summary>
        /// <param name="deviceID"></param>
        private void ShowPLCSet(string deviceID, bool readPLCValue)
        {
            CtlDevBaseModel devModel = null;

            if (GetDeviceModel(deviceID, ref devModel) == false)
            {
                return;
            }
            this.CurrDev = devModel;
            XmlDocument xmldoc    = new XmlDocument();
            XmlNode     root      = xmldoc.CreateElement("Root");
            int         readtimes = 0;//读取三个地址都不上来就不读取了
            IDictionary <string, DevCfgItemModel> devCfg = devModel.devCfgList;

            DevInterface.IPlcRWEtd plcEtd = devModel.PlcRW as DevInterface.IPlcRWEtd;
            foreach (DevCfgItemModel cfg in devCfg.Values)
            {
                XmlElement objElement = xmldoc.CreateElement("Item");
                int []     addrValue  = new int[1];


                if (devModel.PlcRW.IsConnect == true && readPLCValue == true && readtimes < 3)
                {
                    if (plcEtd.ReadMultiDB(cfg.PlcAddr, 1, ref addrValue) == false)//每次都读取plc地址的值
                    {
                        readtimes++;
                    }
                    else
                    {
                        readtimes = 0;
                    }
                }


                objElement.InnerXml = addrValue[0].ToString();
                objElement.SetAttribute("name", cfg.PlcAddr);
                objElement.SetAttribute("type", cfg.AddrDataType.ToString());
                objElement.SetAttribute("style", "EDITOR");
                objElement.SetAttribute("desc", cfg.Desc);


                root.AppendChild(objElement);
            }
            this.superTextEdit1.DataSource = root.OuterXml;
        }
Exemplo n.º 7
0
        private string GetSelectDevWarnningStr(CtlDevBaseModel dev)
        {
            StringBuilder warnStr = new StringBuilder();

            foreach (DevWarnItemModel warn in dev.devWarnList.Values)
            {
                if (warn == null)
                {
                    continue;
                }
                if (warn.WarnStat == 0)
                {
                    continue;
                }
                warnStr.Append("[" + warn.WarnInfo + "]");
            }
            return(warnStr.ToString());
        }
Exemplo n.º 8
0
        /// <summary>
        /// 获取指定设备模型
        /// </summary>
        /// <param name="deviceID"></param>
        /// <param name="device"></param>
        /// <returns></returns>
        private bool GetDeviceModel(string deviceID, ref CtlDevBaseModel device)
        {
            if (this.DevList == null)
            {
                return(false);
            }
            CtlDevBaseModel devModel = null;

            foreach (CtlDevBaseModel dev in this.DevList)
            {
                if (dev.DevID == deviceID)
                {
                    devModel = dev;
                    break;
                }
            }

            device = devModel;
            if (device == null)
            {
                return(false);
            }
            return(true);
        }
Exemplo n.º 9
0
        public virtual bool ParseCfg(XElement xe, ref string reStr)
        {
            try
            {
                this.lineName = xe.Attribute("name").Value.ToString();
                XElement devCfgRoot = xe.Element("DevCfg");
                if (devCfgRoot != null)
                {
                    IEnumerable <XElement> devXEList = devCfgRoot.Elements("Dev");
                    foreach (XElement el in devXEList)
                    {
                        CtlDevBaseModel ctlDev = new CtlDevBaseModel();
                        if (!ctlDev.ParseCfg(el, ref reStr))
                        {
                            return(false);
                        }
                        devList.Add(ctlDev);
                    }
                }
                XElement nodeCfgRoot = xe.Element("NodeCfg");
                if (nodeCfgRoot != null)
                {
                    IEnumerable <XElement> nodeXEList = nodeCfgRoot.Elements("Node");
                    foreach (XElement el in nodeXEList)
                    {
                        string           className = (string)el.Attribute("className");
                        CtlNodeBaseModel ctlNode   = null;
                        switch (className)
                        {
                        case "LineNodes.NodePalletBind":
                        {
                            ctlNode = new NodePalletBind();
                            break;
                        }

                        case "LineNodes.NodeScrewLock":
                        {
                            ctlNode = new NodeScrewLock();
                            break;
                        }

                        case "LineNodes.NodeUV":
                        {
                            ctlNode = new NodeUV();
                            break;
                        }

                        case "LineNodes.NodeDianjiao":
                        {
                            ctlNode = new NodeDianjiao();
                            break;
                        }

                        case "LineNodes.NodeSwitchBind":
                        {
                            ctlNode = new NodeSwitchBind();
                            break;
                        }

                        case "LineNodes.NodeCCDCheck":
                        {
                            ctlNode = new NodeCCDCheck();
                            break;
                        }

                        case "LineNodes.NodeLaserClean":
                        {
                            ctlNode = new NodeLaserClean();
                            break;
                        }

                        case "LineNodes.NodeWeld":
                        {
                            ctlNode = new NodeWeld();
                            break;
                        }

                        case "LineNodes.NodePackFasten":
                        {
                            ctlNode = new NodePackFasten();
                            break;
                        }

                        case "LineNodes.NodePackLabel":
                        {
                            ctlNode = new NodePackLabel();
                            break;
                        }

                        case "LineNodes.NodePackWeld":
                        {
                            ctlNode = new NodePackWeld();
                            break;
                        }

                        case "LineNodes.NodePackOutput":
                        {
                            ctlNode = new NodePackOutput();
                            break;
                        }

                        case "LineNodes.NodeUpDownMachine":
                        {
                            ctlNode = new NodeUpDownMachine();
                            break;
                        }

                        case "LineNodes.NodeTailRobot":
                        {
                            ctlNode = new NodeTailRobot();
                            break;
                        }

                        case "LineNodes.NodeManualStation":
                        {
                            ctlNode = new  NodeManualStation();
                            break;
                        }

                        case "LineNodes.BakeStation":
                        {
                            ctlNode = new BakeStation();
                            break;
                        }

                        case "LineNodes.NodeCManualStation":
                        {
                            ctlNode = new  NodeCManualStation();
                            break;
                        }

                        default:
                            break;
                        }
                        if (ctlNode != null)
                        {
                            if (this.lineName == "A线")
                            {
                                ctlNode.LineID = 1;
                            }
                            else if (this.lineName == "B线")
                            {
                                ctlNode.LineID = 2;
                            }
                            else
                            {
                                ctlNode.LineID = 3;
                            }
                            if (!ctlNode.BuildCfg(el, ref reStr))
                            {
                                return(false);
                            }
                            this.nodeList.Add(ctlNode);
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                reStr = ex.ToString();
                return(false);
            }
        }