Ejemplo n.º 1
0
        private int[] fctext = new int[50];//故障配置
        
        //public FaultInfoConfigForm(SerialPort paramPortDev)
        public FaultInfoConfigForm(DevExpress.XtraBars.Ribbon.RibbonForm form)
        {
            InitializeComponent();
            //mSerialPort = paramPortDev;
            //mSerialPort.ReceivedBytesThreshold = 1; 
            this._form = form;

            //初始化配置值
            //获取静态配置类中的配置值
            List<string> configList = FaultInfoConfigValue.getConfigList();
            if (null == configList || configList.Count != 25)
            {
                 
            }
            else
            {
                //1-23循环显示在相应输入框
                for (int i = 1; i <= 23; i++)
                {
                    string configVal = configList[i - 1];
                    Control control = Controls.Find("numericUpDown" + Convert.ToString(i), true)[0];
                    control.GetType().GetProperty("Text").SetValue(control, configVal, null);
                    //String value = control.GetType().GetProperty("Text").GetValue(control, null).ToString();
                }

                //combox设置值
                for (int i = 1; i <= 2; i++)
                { 
                    Control control = Controls.Find("comboBox" + Convert.ToString(i), true)[0]; 
                    control.GetType().GetProperty("SelectedIndex").SetValue(control, configList[22 + i] == "0" ? 1 : 0, null);
                }
            }

        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取故障配置值,并显示在相应输入框中【已废弃】
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click_used(object sender, EventArgs e)
        {
            //获取静态配置类中的配置值
            List<string> configList = FaultInfoConfigValue.getConfigList();
            if (null == configList || configList.Count != 25) {
                XtraMessageBox.Show("读取失败,请完成配置再读取哦!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //1-23循环显示在相应输入框
            for (int i = 1; i <= 23; i++)
            {
                string configVal = configList[i-1]; 
                Control control = Controls.Find("numericUpDown" + Convert.ToString(i), true)[0];
                control.GetType().GetProperty("Text").SetValue(control, configVal, null);
                //String value = control.GetType().GetProperty("Text").GetValue(control, null).ToString();
            }

            //combox设置值
            for (int i = 1; i <= 2; i++)
            { 
                Control control = Controls.Find("comboBox" + Convert.ToString(i), true)[0]; 

                control.GetType().GetProperty("SelectedIndex").SetValue(control, configList[22 + i] == "0" ? 1:0, null);
            }

            XtraMessageBox.Show("指令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

        } 
Ejemplo n.º 3
0
        /// <summary>
        /// 监听故障信息检测
        /// 
        /// </summary>
        /// <param name="lastUpdateTime"></param>
        public void listenFaultInfoConfigValue(Object lastUpdateTime) { 
            int index = 0;
            while (true)
            {
                //超时
                if (index >= 10)
                {
                    XtraMessageBox.Show("读取超时,请稍后重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;
                }
                //未配置
                if (FaultInfoConfigValue.updateTime < Convert.ToInt64(lastUpdateTime))
                {
                    XtraMessageBox.Show("故障信息未配置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;
                }
                //读取配置成功
                if (FaultInfoConfigValue.updateTime > Convert.ToInt64(lastUpdateTime))
                {
                    Action action = () =>
                    {
                        //获取静态配置类中的配置值
                        List<string> configList = FaultInfoConfigValue.getConfigList();
                        if (configList.Count != 25)
                        {
                            XtraMessageBox.Show("读取失败,配置信息不完整!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        //1-23循环显示在相应输入框
                        for (int i = 1; i <= 23; i++)
                        {
                            string configVal = configList[i - 1];
                            Control control = Controls.Find("numericUpDown" + Convert.ToString(i), true)[0];
                            control.GetType().GetProperty("Text").SetValue(control, configVal, null);
                            //String value = control.GetType().GetProperty("Text").GetValue(control, null).ToString();
                        }

                        //combox设置值
                        for (int i = 1; i <= 2; i++)
                        {
                            Control control = Controls.Find("comboBox" + Convert.ToString(i), true)[0];

                            control.GetType().GetProperty("SelectedIndex").SetValue(control, configList[22 + i] == "0" ? 1 : 0, null);
                        }
                    };
                    Invoke(action);   

                    XtraMessageBox.Show("读取成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;
                }
                index++;
                Thread.Sleep(1000);
            } 
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 保存配置,并发送
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            List<string> faultConfigValues = new List<string>();  //存放故障配置值

            int isVerified = 0;

            //try
            //{
                //检查故障配置合理性
                for (int i = 1; i <= 23; i++)
                {
                    Control control = Controls.Find("numericUpDown" + Convert.ToString(i), true)[0];
                    String value = control.GetType().GetProperty("Text").GetValue(control, null).ToString();
                    if (!string.IsNullOrWhiteSpace(value))  //&& value != "0"
                    {
                        faultConfigValues.Add(value);
                    }
                    else
                    {
                        XtraMessageBox.Show("存在未配置通道,请检查更改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;
                    }
                    
                }
                isVerified = 23;
           
                //combox取值
                
                for (int i = 1; i <= 2; i++)
                {
                    Control control = Controls.Find("comboBox" + Convert.ToString(i), true)[0];
                    Type tp = control.GetType();
                    PropertyInfo pt = control.GetType().GetProperty("SelectedText");
                    object obj = control.GetType().GetProperty("SelectedText").GetValue(control, null);
                    String value = control.GetType().GetProperty("Text").GetValue(control, null).ToString();
                    if (value == "高电平")
                    {
                        faultConfigValues.Add(Convert.ToString(1));
                        isVerified ++;
                    }
                    else if (value == "低电平")
                    {
                        faultConfigValues.Add(Convert.ToString(0));
                        isVerified ++ ;
                    }
                    else { 
                        
                    } 
                }


                //判断是否完成所有故障配置合理性检查
                if (isVerified == 25)
                {
                    //初始化故障配置信息类 
                    FaultInfoConfigValue.setFaultConfigValue(faultConfigValues);

                    //生成配置信息 byte数组 对应的 16进制字符串数组
                    string sendCmdStr = FaultInfoConfigValue.getSendCmd();

                    //将上述16进制字符串数组 拼接为 0x_ _ 格式 的字符串
                    /*string sendCmdStr = "";
                    for (int i = 0; i < sendCmd.Length; i++)
                    {
                        sendCmdStr += "0x" + sendCmd[i] + " ";
                    }
                     * */

                    //下发通道配置信息
                    //1、关闭线程 
                    //MainForm.thrRecv.Abort();    //所谓的关闭线程
                    //MainForm.thrRecv.Join();    //挂起
                    //2、关闭udpcRecv
                    //MainForm.udpcRecv.Close();
                    //MainForm.udpcRecv = null;
                    //3、创建udpcSend

                    //4、创建thrSend
                    MainForm.thrSend = new Thread(MainForm.SendMessage);

                    //5、开启thrSend(thrSend执行结束后自动关闭udpcSend,销毁thrSend) 
                    MainForm.thrSend.Start(sendCmdStr);

                    //6、在主界面显示发送内容
                    Action action = () =>
                    {
                        MainForm.showMessage(MainForm.richTextBox1, string.Format("{0}{1}", "上位机(" + MainForm.localIpep + ")[故障配置信息下发]_" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo) + ":", sendCmdStr));
                    };
                    action.Invoke();
                     

                    XtraMessageBox.Show("指令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    MainForm.isCollecting = true;
                    //this.Close();
                }
                else
                {
                    XtraMessageBox.Show("存在未配置项,请检查更改!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            //}
            //catch (Exception exception)
            //{
                //XtraMessageBox.Show(exception.Message, "配置异常", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //}
             
        }