请问图中,MaxHold的值是1000,HoldStart是&VB1000是指可使用的保持寄存器去是VB1000和VB1001吗?如果MaxHold的值是100,HoldStart是&VB0,那么保持寄存器的使用范围就是VB0、VB1、VB2、VB3知道VB101吗?在这个MBUS_INIT中定义的保持寄存器的范围,这个范围内的寄存器的用处是什么?在哪里可以用,哪里不可以用呢?
库存储器分配这个图中:这里设置的地址是用来做什么的?在哪里可以用,哪里不能用?
可以举例说明这样更好,太专业的说法可能不太明白。谢谢各位前辈。
问题补充:
请问图中设置的启时1的数据类型是VB300,启分1的类型是VB302,但下面的PLC的时和分别是VB353、VB354,这些地址是要连接到MODBUS上的。有人说是因为MODBUS的地址要求是16位的,这地址要求在哪里可以看到,有相关的资料吗?
图片说明:
最佳答案
HoldStart是指从站通讯数据交换区域的首地址。
MaxHold是通讯数据的长度。
库存储器分配是用来分配给modbus rtu通讯库指令运行时需要计算的中间过程值,分配原则必须是用户程序中没有使用到的V存储区域地址,可以通过编译交叉引用查询未使用的V存储区域地址,然后调用。
补充问题回复:
这个是通讯规约,如果的读、写寄存器地址的,单个数据长度是一个字,也就是你说的16位,如果的读、写输入、输出的是以位(Bool)为最小单位的。
图中读取系统时钟数据为例,虽然程序中系统时钟是以字节方式存储数据的,但是,如果是modbus通讯你完全可以按字方式发送和接收数据,然后再以字节方式调用就可以了。
提问者对于答案的评价:
谢谢前辈!MaxHold是通讯数据的长度:是指有多少个数据?
补充问题中,您说的通讯规约,在哪里可以找到说明,请您指点一下。
最佳答案作者回复:
MaxHold是通讯数据的长度:是指有多少个数据?
是的。
通讯规约:
数据长度是字类型的是16位,是位类型的是1位。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345540.html