C#Modbus一次读取多个传感器的数据

时间:2018-06-29 02:04:05

标签: c#

我希望我能解释。我正在尝试以ASCII模式开发Modbus。我需要做的是我有一个不同的传感器,因为我有一个数字文本框,用于选择传感器的设备地址,它看起来像:-

screen shot

当我选中复选框时,传感器应该先读取一个传感器的数据,然后再读取另一个传感器的数据。我的阅读代码如下

 public string cmdMake(int cmd, int rw)
    {
        string strCmd = "D";
        if(ChkDev1.Checked == true)
        {
            strCmd = strCmd + Convert.ToInt32(numSlave.Value).ToString("X2");
        }
        if(ChkDev2.Checked == true)
        {
            strCmd = strCmd + Convert.ToInt32(numSlave1.Value).ToString("X2");
        }
        AsciiCode ascCode = new AsciiCode();
        if (rw == CMD_RD) //読み込み
        {
            strCmd = strCmd + "07" + cmd.ToString("X2");
            strCmd = strCmd + dterr_chk.CalCRC16(strCmd);
        }
        strCmd = strCmd + ascCode.STR_CRLF;
        return (strCmd);
    }

在上面的代码中,主要问题是仅读取传感器数据的最后一个。在我上面的代码中,numslave.value和numslave1.value是数字文本框,用于选择设备地址和。在上面的代码中,我仅以两个从属地址为例,实际上我有10个从属地址。请帮我解决这个问题。预先感谢

0 个答案:

没有答案