Exemplo n.º 1
0
 public IOListViewItem GetListViewItem(IO_PARA para)
 {
     for (int i = 0; i < ioListView.ListView.Items.Count; i++)
     {
         IOListViewItem item = ioListView.ListView.Items[i] as IOListViewItem;
         if (item.Para == para)
         {
             return(item);
         }
     }
     return(null);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 异步初始化ListView控件
 /// </summary>
 /// <param name="device"></param>
 public void InitListView(IO_SERVER Server, IO_COMMUNICATION Communication, IO_DEVICE Device)
 {
     this.ioListView.ListView.Items.Clear();
     this.ioListView.Server        = Server;
     this.ioListView.Communication = Communication;
     this.ioListView.Device        = Device;
     this.ioListView.IOPath        = Server.SERVER_NAME + "\\" + Communication.IO_COMM_NAME + "\\" + Device.IO_DEVICE_NAME;
     try
     {
         for (int i = 0; i < Device.IOParas.Count; i++)
         {
             IOListViewItem lvi = new IOListViewItem(Device.IOParas[i]);
             this.ioListView.AddListViewItem(lvi);
         }
     }
     catch (Exception ex)
     {
         FormManager.DisplayException(ex);
     }
 }
Exemplo n.º 3
0
        private void wizardTabControl_ButtonOK(object sender, EventArgs e)
        {
            try
            {
                if (tb_paraname.Text.Trim() == "")
                {
                    MessageBox.Show("请输入IO参数名称");
                    return;
                }

                if (cb_paratype.SelectedItem == null)
                {
                    MessageBox.Show("请选择IO类型");
                    return;
                }
                if (cb_datatype.SelectedItem == null)
                {
                    MessageBox.Show("请选择IO模拟量数据类型");
                    return;
                }


                //量程转换输入判断
                if (this.cb_range.Checked)
                {
                    if (Convert.ToDouble(this.tb_maxrange.Text) <= Convert.ToDouble(this.tb_minrange.Text))
                    {
                        MessageBox.Show("量程范围不匹配");
                        return;
                    }
                    if (Convert.ToDouble(this.tb_valuemax.Text) <= Convert.ToDouble(this.tb_valuemin.Text))
                    {
                        MessageBox.Show("裸数据范围不匹配");
                        return;
                    }
                }
                if (cb_paratype.SelectedIndex == 5)
                {
                    cb_datatype.SelectedIndex = 8;
                }

                Para.IO_ADDRESS               = this.tb_address.Text.Trim();
                Para.IO_ALERT_ENABLE          = Convert.ToInt32(cb_alarm.Checked);
                Para.IO_COMM_ID               = Comunication.IO_COMM_ID;
                Para.IO_DATATYPE              = cb_datatype.SelectedItem.ToString();
                Para.IO_DEVICE_ID             = Device.IO_DEVICE_ID;
                Para.IO_ENABLEALARM           = Convert.ToInt32(cb_alarm.Checked);
                Para.IO_ENABLERANGECONVERSION = Convert.ToInt32(cb_range.Checked);
                Para.IO_HISTORY               = 1;
                Para.IO_INITALVALUE           = tb_initvalue.Text;
                Para.IO_LABEL    = tb_parachname.Text;
                Para.IO_MAXVALUE = tb_valuemax.Text;
                Para.IO_MINVALUE = tb_valuemin.Text;
                Para.IO_NAME     = tb_paraname.Text.Trim();
                Para.IO_ONE      = tb_one.Text.Trim();
                Para.IO_OUTLIES  = tbDecimalplace.Text.Trim();
                if (DeviceKernel != null)
                {
                    Para.IO_PARASTRING = DeviceKernel.ParaCtrl.GetUIParameter();
                }
                Para.IO_POINTTYPE = cb_paratype.SelectedItem.ToString();
                Para.IO_RANGEMAX  = tb_maxrange.Text;
                Para.IO_RANGEMIN  = tb_minrange.Text;
                Para.IO_SERVER_ID = Server.SERVER_ID;
                Para.IO_SYSTEM    = 0;
                Para.IO_UNIT      = cb_unittype.Text.Trim();
                Para.IO_ZERO      = tb_zone.Text;
                //公式配置部分
                Para.IO_FORMULA = txtFormula.Text.Trim();
                //数据源设置部分
                #region
                {
                    Para.IO_DATASOURCE  = "";
                    Para.IO_DATASOURCE  = this.txtDataSourceIP.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceName.Text;
                    Para.IO_DATASOURCE += "," + this.cbDatabaseType.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceUser.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourcePassword.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceTable.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceValueRecord.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceValueRecordType.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceDateRecord.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceDateRecordRange.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceOrderRecord.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceOrderRecordType.Text;
                    Para.IO_DATASOURCE += "," + this.txtDataSourceWhere.Text;
                }
                #endregion

                //报警部分设置
                Para.AlarmConfig.IO_SERVER_ID     = Para.IO_SERVER_ID;
                Para.AlarmConfig.IO_COMM_ID       = Para.IO_COMM_ID;
                Para.AlarmConfig.IO_DEVICE_ID     = Para.IO_DEVICE_ID;
                Para.AlarmConfig.IO_ID            = Para.IO_ID;
                Para.AlarmConfig.IO_ENABLE_MAX    = Convert.ToInt32(cb_maxenable.Checked);
                Para.AlarmConfig.IO_ENABLE_MAXMAX = Convert.ToInt32(cb_maxmaxenable.Checked);
                Para.AlarmConfig.IO_ENABLE_MIN    = Convert.ToInt32(cb_minenable.Checked);
                Para.AlarmConfig.IO_ENABLE_MINMIN = Convert.ToInt32(cb_minminenable.Checked);
                if (cbo_minmin.SelectedItem != null)
                {
                    Para.AlarmConfig.IO_MINMIN_TYPE = cbo_minmin.SelectedItem.ToString();
                }
                if (cbo_min.SelectedItem != null)
                {
                    Para.AlarmConfig.IO_MIN_TYPE = cbo_min.SelectedItem.ToString();
                }
                if (cbo_max.SelectedItem != null)
                {
                    Para.AlarmConfig.IO_MAX_TYPE = cbo_max.SelectedItem.ToString();
                }
                if (cbo_maxmax.SelectedItem != null)
                {
                    Para.AlarmConfig.IO_MAXMAX_TYPE = cbo_maxmax.SelectedItem.ToString();
                }



                Para.AlarmConfig.IO_MINMIN_VALUE = nb_minmin.Value;
                Para.AlarmConfig.IO_MIN_VALUE    = nb_min.Value;
                Para.AlarmConfig.IO_MAX_VALUE    = nb_max.Value;
                Para.AlarmConfig.IO_MAXMAX_VALUE = nb_maxmax.Value;
                Para.AlarmConfig.IO_ALARM_LEVEL  = "";

                if (this.cb_alarm.Checked)
                {
                    if (nb_maxmax.Value <= Para.AlarmConfig.IO_MIN_VALUE || nb_maxmax.Value <= Para.AlarmConfig.IO_MINMIN_VALUE || nb_maxmax.Value <= Para.AlarmConfig.IO_MAX_VALUE)
                    {
                        MessageBox.Show("超高限值不能小于等于高限、低限、超低限值");
                        return;
                    }
                    if (nb_max.Value <= Para.AlarmConfig.IO_MINMIN_VALUE || nb_max.Value <= Para.AlarmConfig.IO_MIN_VALUE)
                    {
                        MessageBox.Show("高限值不能小于等于低限、超低限值");
                        return;
                    }
                    if (nb_min.Value <= Para.AlarmConfig.IO_MINMIN_VALUE)
                    {
                        MessageBox.Show("超高限值不能小于等于高限、低限、超低限值");
                        return;
                    }
                }
                string strs = "";
                for (int i = 0; i < listCons.Items.Count; i++)
                {
                    strs += listCons.Items[i].ToString() + ",";
                }
                if (strs != "")
                {
                    strs = strs.Remove(strs.Length - 1, 1);
                }
                Para.AlarmConfig.IO_CONDITION = strs;
                if (Para.IO_ID == null || Para.IO_ID == "")//新建
                {
                    for (int i = 0; i < this.Device.IOParas.Count; i++)
                    {
                        if (this.Device.IOParas[i] != Para && Para.IO_NAME.Trim() == this.Device.IOParas[i].IO_NAME.Trim())
                        {
                            MessageBox.Show("已经存" + Para.IO_NAME.Trim() + "名称的IO点");
                            return;
                        }
                    }
                    Para.IO_ID = GUIDTo16.GuidToLongID().ToString();
                    IOListViewItem lvi = new IOListViewItem(Para);
                    this.Device.IOParas.Add(Para);
                    FormManager.mediator.IOParaForm.AddListViewItem(lvi);
                    FormManager.mediator.IOLogForm.AppendText(FormManager.mediator.IOParaForm.IOListView.IOPath + " 创建IO点" + Para.IO_NAME + "成功!");
                }
                else
                {
                    for (int i = 0; i < this.Device.IOParas.Count; i++)
                    {
                        if (this.Device.IOParas[i] != Para && Para.IO_NAME.Trim() == this.Device.IOParas[i].IO_NAME.Trim())
                        {
                            MessageBox.Show("已经存" + Para.IO_NAME.Trim() + "名称的IO点");
                            return;
                        }
                    }
                    IOListViewItem lvi = FormManager.mediator.IOParaForm.GetListViewItem(Para);
                    if (lvi != null)
                    {
                        lvi.ResetSubItems();
                        FormManager.mediator.IOLogForm.AppendText(FormManager.mediator.IOParaForm.IOListView.IOPath + " 修改IO点" + Para.IO_NAME + "成功!");
                    }
                }

                this.DialogResult = DialogResult.OK;
            }
            catch (Exception emx)
            {
                FormManager.DisplayException(emx);
            }
        }
Exemplo n.º 4
0
 public void AddListViewItem(IOListViewItem lvi)
 {
     ioListView.AddListViewItem(lvi);
 }