【问题标题】:recover connection after changing slave ID in easymodbus RTU c#在easymodbus RTU c#中更改从站ID后恢复连接
【发布时间】:2021-01-24 15:15:02
【问题描述】:

我正在尝试通过向右侧寄存器写入新值来更改电能表的从设备 ID。 一旦更改了值,连接显然会丢失,但我找不到更新它的方法。 我无法在不关闭整个应用程序的情况下关闭端口,没有响应 modbusClient.Disconnect(); 我怎样才能恢复连接并从那里继续?

 private void button1_Click(object sender, EventArgs e)
        {

            try
            {
                ModbusClient modbusClient = new ModbusClient(ConnectionSetUp.SetValueForCom);
                modbusClient.UnitIdentifier = byte.Parse(ConnectionSetUp.SetValueForAdress);
                // Not necessary since default baudrate = 9600
                modbusClient.Baudrate = int.Parse(ConnectionSetUp.SetValueForBuad);
                modbusClient.Parity = System.IO.Ports.Parity.None;
                modbusClient.StopBits = System.IO.Ports.StopBits.One;
                modbusClient.ConnectionTimeout = int.Parse(ConnectionSetUp.SetValueDelayTime);
                modbusClient.Connect();

                int Mult = int.Parse(MeterMult.Text);
                int Adress = int.Parse(MeterAdress.Text);
                int Baud = int.Parse(MeterBaud.Text);

                //mult
                modbusClient.WriteMultipleRegisters(4001, new int[1] { Mult });

                //Adress
                modbusClient.WriteMultipleRegisters(4002, new int[1] { Adress });
                ConnectionSetUp.SetValueForAdress = string.Format("{0}", Adress);

                modbusClient.Disconnect();
                
                modbusClient.Disconnect();
            }
            catch (Exception ex)
            {
                
                MessageBox.Show(this, ex.Message, "bad settings",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

【问题讨论】:

    标签: c# easy-modbus


    【解决方案1】:

    在不知道它是什么设备的情况下,很难回答这个问题,可能设备需要重新启动/电源循环才能识别从站 ID 更改。您还可以改进您的应用程序,因为您关闭了端口而关闭应用程序是没有意义的。至于为什么断开连接不能正常工作,因为您说您已经更改了 Slave ID,因此如果连接设置(Slave Id)从原始初始连接发生更改,则可能无法断开连接。

    【讨论】:

    • 亲爱的朋友,感谢您的回答。设备 ID 确实发生了变化,但我的问题是如何在更改后恢复连接或关闭端口?港口一直很忙,我无法关闭它。
    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 2022-01-04
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多