Example #1
0
        private void button56_Click(object sender, EventArgs e)
        {
            COMM_UpdateMsg("正在进行通讯测试……", 0, " ", 1);
            byte[] Productor = new byte[30];
            int    Length    = 0;
            bool   R         = CommByRS232.ReadPacket(CurConfig.Config.Address, 2002, 2, ref Productor, ref Length);

            COMM_UpdateMsg("", 80, "", 1);
            if (R == true)
            {
                COMM_UpdateMsg("", 100, "成功!", 1);
            }
            else
            {
                COMM_UpdateMsg("", 100, "失败!", 0);
            }
        }
Example #2
0
        private void button12_Click(object sender, EventArgs e)
        {
            int T        = 0;
            int RxLength = 9;

            byte[] ConfigDatas = new byte[200];
            bool   R;

            COMM_UpdateMsg("从设备读取配置参数 [0x" + CurConfig.Config.Address.ToString("X2") + "]", 0, " ", 1);
            R = CommByRS232.ReadPacket(CurConfig.Config.Address, 2004, 2, ref ConfigDatas, ref RxLength);

            if (R == false)
            {
                COMM_UpdateMsg("失败", 0, "读取错误!", 0);
            }
            else
            {
                T = ModbusPacket_GetData32(ConfigDatas, 0);
                CurConfig.Config.ProductDate = RTC_DecodeTime(T);
                COMM_UpdateMsg("", 100, "读取成功!", 1);
                MessageBox.Show("当前设备内部时间: " + CurConfig.Config.ProductDate.ToString(), "消息", MessageBoxButtons.OK, MessageBoxIcon.None);
            }
        }
Example #3
0
        private void button7_Click(object sender, EventArgs e)
        {
            COMM_UpdateMsg("从设备读取配置参数 [0x" + CurConfig.Config.Address.ToString("X2") + "]", 0, " ", 1);
            byte[] ConfigDatas = new byte[320];
            int    Length      = 108 * 2 + 5;
            bool   R           = CommByRS232.ReadPacket(CurConfig.Config.Address, 2004, 108, ref ConfigDatas, ref Length);//2004指的寄存器地址

            COMM_UpdateMsg("", 80, "", 1);
            if (R == true)
            {
                SysConfig.ConfigParams DevConfig = new SysConfig.ConfigParams();
                //DevConfig.ProductDate = ModbusPacket_GetData32(ConfigDatas, 0);
                DevConfig.DevNumber    = ModbusPacket_GetData32(ConfigDatas, 4);                           //偏移量,是指的字节的偏移量
                DevConfig.PasswordCode = ModbusPacket_GetData32(ConfigDatas, 8);

                DevConfig.CompName    = ModbusPacket_GetString(ConfigDatas, 12, 16);
                DevConfig.StationName = ModbusPacket_GetString(ConfigDatas, 28, 16);

                DevConfig.WarningLevel = ModbusPacket_GetData32(ConfigDatas, 44);
                DevConfig.WarnInterval = ModbusPacket_GetData(ConfigDatas, 48);
                DevConfig.WarnEnable   = (ModbusPacket_GetData(ConfigDatas, 50) > 0)?true:false;

                DevConfig.BaseLevel     = ModbusPacket_GetData32(ConfigDatas, 52);
                DevConfig.IncreaseLevel = ModbusPacket_GetData32(ConfigDatas, 56);
                DevConfig.InterTimeSet  = ModbusPacket_GetData(ConfigDatas, 60);//指的是字节数ModbusPacket_GetData

                DevConfig.TelCount = ModbusPacket_GetData(ConfigDatas, 62);
                DevConfig.TelNum1  = ModbusPacket_GetString(ConfigDatas, 64, 16);
                DevConfig.TelNum2  = ModbusPacket_GetString(ConfigDatas, 80, 16);
                DevConfig.TelNum3  = ModbusPacket_GetString(ConfigDatas, 96, 16);
                DevConfig.TelNum4  = ModbusPacket_GetString(ConfigDatas, 112, 16);
                DevConfig.TelNum5  = ModbusPacket_GetString(ConfigDatas, 128, 16);

                DevConfig.IpAddr1 = ModbusPacket_GetString(ConfigDatas, 144, 16);
                DevConfig.IpPort1 = ModbusPacket_GetString(ConfigDatas, 160, 8);

                DevConfig.IpAddr2 = ModbusPacket_GetString(ConfigDatas, 168, 16);
                DevConfig.IpPort2 = ModbusPacket_GetString(ConfigDatas, 184, 8);

                DevConfig.IpAddr3 = ModbusPacket_GetString(ConfigDatas, 192, 16);
                DevConfig.IpPort3 = ModbusPacket_GetString(ConfigDatas, 208, 8);//220


                Length = 26 * 2 + 5;
                byte[] ConfigDatas1 = new byte[80];
                R = CommByRS232.ReadPacket(CurConfig.Config.Address, 2112, 26, ref ConfigDatas1, ref Length);//指的是寄存器个数
                if (R == true)
                {
                    DevConfig.IpAddr4 = ModbusPacket_GetString(ConfigDatas1, 0, 16);
                    DevConfig.IpPort4 = ModbusPacket_GetString(ConfigDatas1, 16, 8);

                    DevConfig.IpAddr5 = ModbusPacket_GetString(ConfigDatas1, 24, 16);
                    DevConfig.IpPort5 = ModbusPacket_GetString(ConfigDatas1, 40, 8);

                    DevConfig.Authcode = ModbusPacket_GetData32(ConfigDatas1, 48);


                    LoadDefaultParams(DevConfig);

                    COMM_UpdateMsg("", 100, "成功!", 1);
                    tbnew.Text  = "";
                    tbnew2.Text = "";
                }
            }
            else
            {
                COMM_UpdateMsg("", 100, "失败!", 0);
            }
        }