主站指定了一个接收数据的首地址,在编译过后看交叉引用的字节使用,首地址会被使用,请问是什么原因呢?还是默认是这样?就是第二张图里面看交叉引用,按理说40001地址对应的读取到的内容就存放入VW600中是吗?请问
刚才也测试了一下,确实是这样,看样子就是这样的。
40001 VW100
40002 VW102
40003 VW104
如果读来的是浮点数,则是两个字
比如 40001、40002 合起来是 VD600
S7-200 SMART Modbus RTU通信常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
&VB600里面是VW600,换个地址试试看下
这个是西门子200(smart)指针调用的规约,只能编辑指针的首字节地址,至于具体到底是位?字节?字?还是双字(浮点数),看MSG指令其它管脚的定义。
具体有Addr及Count管脚数据定义,最后被分配到DataPtr管脚。
你理解的没有错,当Addr定义到40001地址后,DataPtr管脚的数据对应为字,首字节VB600,实际为VW600的地址中。
整体MSG指令含义:
读取从站10#的40001数据,将读取到的数据存放在VW600的地址中。
电话:13818569113
邮箱:13818569113@139.com
网址:http://www.4006162020.net/
地址:上海青浦区北青公路7171号111-112室