这个例子展示了如何使用Modbus Explorer对PLC进行读写操作。PLC是一个Click Koyo立方体与寄存器,可用于工业控制和其他工业应用,包括控制开关,定时器和传感器。
打开Modbus Explorer。在MATLAB应用程序选项卡,在测试与测量中,选择Modbus探险家.
设备通过串行RTU访问。在Modbus Explorer中选择通信接口,单击设备然后Modbus串行在将来发布。
在配置选项卡,通过在工具条中设置以下Serial RTU通信参数来配置与设备的连接:
港口:串口Modbus服务器已连接。设置为COM4为 . |
波特率:串口通信的比特传输速率。缺省值是9600位/秒。更改为38400。 |
奇偶校验:奇偶校验类型。有效的选项是none(默认)、偶数和奇数,实际所需的值取决于设备。设为奇数。 |
停止位:表示数据传输结束的比特数。有效的选项是1(默认)和2,实际需要的值取决于设备。保持默认。 |
数据位:要传输的数据位数。默认值是8,这是串行RTU的Modbus标准。其他有效值为5、6和7。保持默认。 |
超时:等待Modbus服务器响应的最大时间,以秒为单位。缺省值是3。您可以编辑该值以增加或减少超时时间。保持默认。 |
字节顺序:写入或从16位寄存器读取值的字节顺序。默认是Modbus标准指定的Big Endian。保持默认。 |
词序:跨越多个16位寄存器的寄存器读写的字序。默认是Big Endian,并且它是特定于设备的。把它设为Little Endian。 |
通过在工具条中设置以下读取参数,配置从设备读取数据:
服务器ID:发送read命令的服务器地址,指定为double。有效值为0-247,其中0为广播地址。设置为1。 |
注册类型:目标区域读取。您可以对四种类型的目标执行Modbus读取操作:线圈、输入、输入寄存器和保持寄存器。使用下拉菜单选择“线圈”。 |
寄存器地址:要读取的起始地址,指定为double。输入你的起始地址,16385 在这种情况下。 |
精度: Modbus服务器上读取的寄存器的数据格式。对于线圈和输入,精度总是位 .为了保持寄存器和输入电阻,您可以指定精度,如uint16 . |
在配置通信和读取设置之后,配置应该如下所示。
测试配置,单击读.如果您的配置参数正确,则读取成功,并且阅读的价值用读取操作的值填充。如果您得到一个错误,调整参数,直到读取成功。在本例中,该值应为0。
获得正确的读取值后,单击确认参数.的配置选项卡消失,Modbus探险家选项卡显示,您的设备将列在设备列表在应用程序的左侧,如图所示。
然后,您可以使用该表设置从设备的更多读取。填写读寄存器表从两个计时器和三个开关读取数据。由于表自动显示您在配置选项卡时,第一个计时器已列出。将名称改为C1
,然后再添加四行,这样就可以设置这些读取了。
开关C1,地址16385,线圈,位C2,地址16386,线圈,位C3,地址16387,线圈,位定时器T1,地址45057,保持寄存器,uint16 T2,地址45058,保持寄存器,uint16
表格应该是这样的:
这里显示了包含这些定时器和开关的PLC。
要对表中的5个寄存器执行读取操作,请单击简历读.
的阅读的价值列显示返回的值,状态指示器变为生活
,如下所示。
在这种情况下,0表示交换机或定时器已连接并可用,但未激活。
要打开其中一个开关,C1
,向寄存器执行写操作。在写寄存器部分,填写以下资料:
在您输入所有字段后,写按钮就会激活。
要将值发送到寄存器,单击写.
因为你有相同的注册表读寄存器表中,单击时将看到读值更新写.在这里所示的示例中,您可以看到值1被发送到寄存器,它现在反映在读表中C1
,表示开关已打开。
执行另一个写操作来转换C3
开关。在写寄存器部分,填写以下资料:
地址:16387类型:线圈精度:bit写值:1
单击写按钮。
一旦开关打开,定时器打开,因为这是如何安排PLC板。T1
是在开关打开时打开,然后5秒后T2
自动开启。此时,两个计时器和两个开关都打开了,如图所示。