Exemple #1
0
        /// <summary>
        /// 刷新配方数据
        /// </summary>
        public void refreshPeifang()
        {
            ////循环读取刷新所有参数
            ////dryDevice.analyseDatasRecyle();
            //if (device != null && device is DryDevice)
            //{
            //实例化干燥机设备
            DryDevice dryDevice = (DryDevice)device;

            txbRecipeNO.Text = Convert.ToString(dryDevice.bianhao);
            //加载窗体时显示当前plc内部的输送线的速度
            //把运算值以字符串的格式写入到输送线速度监视的textbox内
            txbControlConveyor.Text = Convert.ToString(Convert.ToDecimal(dryDevice.ControlConveyorSpeed) / 100);
            //加载窗体时显示当前plc内部的UV1-UV8的开度
            //把运算值以字符串的格式写入到UV1功率监视的textbox内
            txbControlUV1.Text = Convert.ToString((dryDevice.UV1Percent) / 1);
            //把运算值以字符串的格式写入到UV2功率监视的textbox内
            txbControlUV2.Text = Convert.ToString((dryDevice.UV2Percent) / 1);
            //把运算值以字符串的格式写入到UV3功率监视的textbox内
            txbControlUV3.Text = Convert.ToString((dryDevice.UV3Percent) / 1);
            //把运算值以字符串的格式写入到UV4功率监视的textbox内
            txbControlUV4.Text = Convert.ToString((dryDevice.UV4Percent) / 1);
            //把运算值以字符串的格式写入到UV5功率监视的textbox内
            txbControlUV5.Text = Convert.ToString((dryDevice.UV5Percent) / 1);
            //把运算值以字符串的格式写入到UV6功率监视的textbox内
            txbControlUV6.Text = Convert.ToString((dryDevice.UV6Percent) / 1);
            //把运算值以字符串的格式写入到UV7功率监视的textbox内
            txbControlUV7.Text = Convert.ToString((dryDevice.UV7Percent) / 1);
            //把运算值以字符串的格式写入到UV8功率监视的textbox内
            txbControlUV8.Text = Convert.ToString((dryDevice.UV8Percent) / 1);
            // }
        }
Exemple #2
0
        /// <summary>
        /// 刷新显示报警信息
        /// </summary>
        private void AlarmMessage()
        {
            DryDevice drydevice = (DryDevice)device;

            UInt32[] alarm_value = new UInt32[] { 16, 17, 19, 32, 33, 34, 35, 48, 49, 50, 64, 66, 97, 98, 160, 179, 192 };
            string[] alarm_Msg   = new string[] { alarm_Msg1, alarm_Msg2, alarm_Msg3, alarm_Msg4, alarm_Msg5, alarm_Msg6, alarm_Msg7, alarm_Msg8, alarm_Msg9, alarm_Msg10,
                                                  alarm_Msg11, alarm_Msg12, alarm_Msg13, alarm_Msg14, alarm_Msg15, alarm_Msg16, alarm_Msg17 };

            for (int i = 0; i < alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.shuSongDaiStatusCode)          //==则表示报警
                {
                    if (!lsbAlarmMsg.Items.Contains(alarm_Msg[i]))             //判定当前没有显示,则插入一行显示
                    {
                        lsbAlarmMsg.Items.Insert(0, alarm_Msg[i]);             //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(alarm_Msg[i]);
                }
            }
        }
Exemple #3
0
 //从本地ini文件读取物料编码和配方编号
 public void RecipeNO_Input()
 {
     Int32[]  value = new Int32[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, };
     string[] way   = new string[] { @"\Default-product1.ini", @"\Default-product2.ini", @"\Default-product3.ini", @"\Default-product4.ini", @"\Default-product5.ini", @"\Default-product6.ini",
                                     @"\Default-product7.ini", @"\Default-product8.ini", @"\Default-product9.ini", @"\Default-product10.ini",
                                     @"\Default-product11.ini", @"\Default-product12.ini", @"\Default-product13.ini", @"\Default-product14.ini", @"\Default-product15.ini", @"\Default-product16.ini",
                                     @"\Default-product17.ini", @"\Default-product18.ini", @"\Default-product19.ini", @"\Default-product20.ini" };
     //如果输入为空时自动返回之前的值
     if (txbRecipeNO.Text.Trim() == "")
     {
         //实例化涂布机设备
         DryDevice dry = (DryDevice)device;
         txbRecipeNO.Text = Convert.ToString(dry.bianhao);
         MessageBox.Show("输入无效,配方区间在1-20之间,请输入适当的配方编号");
     }
     else
     {
         for (int i = 0; i < value.Length; i++)
         {
             //把中间转存的Default - code.ini内容路径找到然后读取出内容存储在txb_tiaoma.Text中
             if (Convert.ToUInt32(txbRecipeNO.Text) == value[i])
             {
                 string thispath = Application.StartupPath + way[i];                 //定义变量thisPath,获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称+路径
                 if (!System.IO.File.Exists(thispath))
                 {
                     return;                                                                         //确定指定的文件是否存在(文件的路径);如果不存在则执行return
                 }
                 try
                 {
                     lab_Prt_NO.Text = System.IO.File.ReadAllText(thispath);                         //打开一个文本文件,读取文件的所有行,然后关闭该文件
                 }
                 catch { }
             }
         }
     }
 }
Exemple #4
0
        /// <summary>
        /// UV报警监控
        /// </summary>
        public void UV_byte_Alarm_Monitor()
        {
            DryDevice drydevice = (DryDevice)device;

            UInt32[] alarm_value  = new UInt32[] { 1, 2, 4, 5, 6, 9, 14, 15, 103, 7, 255 };
            string[] UV1alarm_Msg = new string[] { UV1alarm_Msg1, UV1alarm_Msg2, UV1alarm_Msg3, UV1alarm_Msg4, UV1alarm_Msg5, UV1alarm_Msg6, UV1alarm_Msg7, UV1alarm_Msg8, UV1alarm_Msg9, UV1alarm_Msg10, UV1alarm_Msg11 };
            string[] UV2alarm_Msg = new string[] { UV2alarm_Msg1, UV2alarm_Msg2, UV2alarm_Msg3, UV2alarm_Msg4, UV2alarm_Msg5, UV2alarm_Msg6, UV2alarm_Msg7, UV2alarm_Msg8, UV2alarm_Msg9, UV2alarm_Msg10, UV2alarm_Msg11 };
            string[] UV3alarm_Msg = new string[] { UV3alarm_Msg1, UV3alarm_Msg2, UV3alarm_Msg3, UV3alarm_Msg4, UV3alarm_Msg5, UV3alarm_Msg6, UV3alarm_Msg7, UV3alarm_Msg8, UV3alarm_Msg9, UV3alarm_Msg10, UV3alarm_Msg11 };
            string[] UV4alarm_Msg = new string[] { UV4alarm_Msg1, UV4alarm_Msg2, UV4alarm_Msg3, UV4alarm_Msg4, UV4alarm_Msg5, UV4alarm_Msg6, UV4alarm_Msg7, UV4alarm_Msg8, UV4alarm_Msg9, UV4alarm_Msg10, UV4alarm_Msg11 };
            string[] UV5alarm_Msg = new string[] { UV5alarm_Msg1, UV5alarm_Msg2, UV5alarm_Msg3, UV5alarm_Msg4, UV5alarm_Msg5, UV5alarm_Msg6, UV5alarm_Msg7, UV5alarm_Msg8, UV5alarm_Msg9, UV5alarm_Msg10, UV5alarm_Msg11 };
            string[] UV6alarm_Msg = new string[] { UV6alarm_Msg1, UV6alarm_Msg2, UV6alarm_Msg3, UV6alarm_Msg4, UV6alarm_Msg5, UV6alarm_Msg6, UV6alarm_Msg7, UV6alarm_Msg8, UV6alarm_Msg9, UV6alarm_Msg10, UV6alarm_Msg11 };
            string[] UV7alarm_Msg = new string[] { UV7alarm_Msg1, UV7alarm_Msg2, UV7alarm_Msg3, UV7alarm_Msg4, UV7alarm_Msg5, UV7alarm_Msg6, UV7alarm_Msg7, UV7alarm_Msg8, UV7alarm_Msg9, UV7alarm_Msg10, UV7alarm_Msg11 };
            string[] UV8alarm_Msg = new string[] { UV8alarm_Msg1, UV8alarm_Msg2, UV8alarm_Msg3, UV8alarm_Msg4, UV8alarm_Msg5, UV8alarm_Msg6, UV8alarm_Msg7, UV8alarm_Msg8, UV8alarm_Msg9, UV8alarm_Msg10, UV8alarm_Msg11 };
            //UV1字节报警输出
            for (int i = 0; i < UV1alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV1StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV1alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV1alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV1alarm_Msg[i]);
                }
            }
            //UV2字节报警输出
            for (int i = 0; i < UV2alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV2StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV2alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV2alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV2alarm_Msg[i]);
                }
            }
            //UV3字节报警输出
            for (int i = 0; i < UV3alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV3StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV3alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV3alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV3alarm_Msg[i]);
                }
            }
            //UV4字节报警输出
            for (int i = 0; i < UV4alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV4StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV4alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV4alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV4alarm_Msg[i]);
                }
            }
            //UV5字节报警输出
            for (int i = 0; i < UV5alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV5StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV5alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV5alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV5alarm_Msg[i]);
                }
            }
            //UV6字节报警输出
            for (int i = 0; i < UV6alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV6StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV6alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV6alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV6alarm_Msg[i]);
                }
            }
            //UV7字节报警输出
            for (int i = 0; i < UV7alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV7StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV7alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV7alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV7alarm_Msg[i]);
                }
            }
            //UV8字节报警输出
            for (int i = 0; i < UV8alarm_Msg.Length; i++)
            {
                if (alarm_value[i] == drydevice.UV8StatusCode)
                {
                    if (!this.lsbAlarmMsg.Items.Contains(UV8alarm_Msg[i]) == true)            //判定当前有没有显示
                    {
                        lsbAlarmMsg.Items.Insert(0, UV8alarm_Msg[i]);                         //如果当前没有显示则插入语句
                    }
                }
                else
                {
                    lsbAlarmMsg.Items.Remove(UV8alarm_Msg[i]);
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// 集中读取BYTE用于显示状态等信息,ReadBlockAsByte
        /// </summary>
        ///

        public void Monitor_ReadBack()
        {
            A0开机画面 parent = (A0开机画面)Parent.FindForm();

            DryDevice drydevice = (DryDevice)device;

            //把运算值以字符串的格式写入到输送线速度监视的Label内
            lab_Monitor_Conveyor_Speed.Text = Convert.ToString(Convert.ToDecimal(drydevice.shuSongDaiSpeed) / 100) + " Hz";
            // LineSpeed = Convert.ToDecimal(drydevice.shuSongDaiSpeed) /100;
            //把运算值以字符串的格式写入到UV1功率监视的Label内
            lab_Monitor_UV1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV1Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV2功率监视的Label内
            lab_Monitor_UV2.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV2Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV3功率监视的Label内
            lab_Monitor_UV3.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV3Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV4功率监视的Label内
            lab_Monitor_UV4.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV4Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV5功率监视的Label内
            lab_Monitor_UV5.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV5Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV6功率监视的Label内
            lab_Monitor_UV6.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV6Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV7功率监视的Label内
            lab_Monitor_UV7.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV7Power) / 10) + " Kw";
            //把运算值以字符串的格式写入到UV8功率监视的Label内
            lab_Monitor_UV8.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV8Power) / 10) + " Kw";

            //把运算值以字符串的格式写入到输送线运行时间的Label内
            lab_Monitor_Conveyor_Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.shuSongDaiRunTime)) + " H";
            //把运算值以字符串的格式写入到UV1运行时间的Label内
            lab_Monitor_UV1Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV1RunTime)) + " H";
            //把运算值以字符串的格式写入到UV2运行时间的Label内
            lab_Monitor_UV2Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV2RunTime)) + " H";
            //把运算值以字符串的格式写入到UV3运行时间的Label内
            lab_Monitor_UV3Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV3RunTime)) + " H";
            //把运算值以字符串的格式写入到UV4运行时间的Label内
            lab_Monitor_UV4Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV4RunTime)) + " H";
            //把运算值以字符串的格式写入到UV5运行时间的Label内
            lab_Monitor_UV5Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV5RunTime)) + " H";
            //把运算值以字符串的格式写入到UV6运行时间的Label内
            lab_Monitor_UV6Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV6RunTime)) + " H";
            //把运算值以字符串的格式写入到UV7运行时间的Label内
            lab_Monitor_UV7Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV7RunTime)) + " H";
            //把运算值以字符串的格式写入到UV8运行时间的Label内
            lab_Monitor_UV8Hour.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV8RunTime)) + " H";

            //把运算值以字符串的格式写入到UV1剩余运行时间的Label内
            lab_Monitor_UV1Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV1LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV2剩余运行时间的Label内
            lab_Monitor_UV2Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV2LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV3剩余运行时间的Label内
            lab_Monitor_UV3Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV3LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV4剩余运行时间的Label内
            lab_Monitor_UV4Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV4LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV5剩余运行时间的Label内
            lab_Monitor_UV5Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV5LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV6剩余运行时间的Label内
            lab_Monitor_UV6Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV6LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV7剩余运行时间的Label内
            lab_Monitor_UV7Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV7LeftTime)) + " H";
            //把运算值以字符串的格式写入到UV8剩余运行时间的Label内
            lab_Monitor_UV8Hour1.Text = Convert.ToString(Convert.ToDecimal(drydevice.UV8LeftTime)) + " H";
            //判断寿命到期
            string status = device.BaseProtocol.ConnectState.ToString();

            if (status == "Connected")
            {
                if (drydevice.UV1LeftTime == 0 && device.childType == 1)
                {
                    MessageBox.Show("1#UV灯管使用寿命到期,请更换配件!");
                    parent.showLog("1#UV灯管使用寿命到期,请更换配件!");
                }
                if (drydevice.UV2LeftTime == 0 && device.childType == 1 && device.childType == 2)
                {
                    MessageBox.Show("2#UV灯管使用寿命到期,请更换配件!");
                    parent.showLog("2#UV灯管使用寿命到期,请更换配件!");
                }
                if (drydevice.UV3LeftTime == 0 && device.childType == 1 && device.childType == 2 && device.childType == 3)
                {
                    MessageBox.Show("3#UV灯管使用寿命到期,请更换配件!");
                    parent.showLog("3#UV灯管使用寿命到期,请更换配件!");
                }
                if (drydevice.UV4LeftTime == 0 && device.childType == 1 && device.childType == 2 && device.childType == 3 && device.childType == 4)
                {
                    MessageBox.Show("4#UV灯管使用寿命到期,请更换配件!");
                    parent.showLog("4#UV灯管使用寿命到期,请更换配件!");
                }
            }
        }