Beispiel #1
0
        private void bt_ParamSet_Click(object sender, EventArgs e)
        {
            if (this.ISuperEdit == null)
            {
                MessageBox.Show("控件句柄为空!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (this.CurrDev == null)
            {
                MessageBox.Show("当前设备对象为空!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            string addr = this.IGrapTB.Name;

            DevInterface.IPlcRWEtd plcEtd = this.CurrDev.PlcRW as DevInterface.IPlcRWEtd;
            int[] intValue = new int[1];
            intValue[0] = (int)this.nud_ParamValue.Value;
            bool writeStatus = plcEtd.WriteMultiDB(addr, 1, intValue);//接口可能不对换一下即可

            if (writeStatus == false)
            {
                MessageBox.Show("地址值写入失败!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            this.ISuperEdit.SetValue(this.IGrapTB.Name, this.nud_ParamValue.Value.ToString());
        }
Beispiel #2
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;
        }