SMART200和电能表地址对应

我现在该怎么去对应地址,我是从VB0-VB2000的数据,我该怎么去找其中的所需要的地址?

问题补充:
下图是我修改后的。现在ADDR是40059,我监控vw0是16656,如果我将ADDR换成40058,他应该是总功率因说,我在电表上查看的是1,而监控是仍然是16656,我这是哪里错了?电表上设置了从站1,波特率是9600,无校验

图片说明:

SMART200和电能表地址对应    SMART200和电能表地址对应    SMART200和电能表地址对应    SMART200和电能表地址对应    SMART200和电能表地址对应   

最佳答案

1、从左第一张图,看到是一个电能表的MODBUS RUT 保持寄存嘎啦地址,所以第二张图中的程序是错误的。
电能表是从站,SMART 200 本体的口 PORT0 是主站,你程序用的是从站指令,这是不对的。
现有的情况下它们之间没有对应关系。
2、你要用主站指令去读,取保持寄存器存在 V CPU的V存储区,例如读三相的视在功率
主站指令MBUS_MSG 指令的脚:
Slave   电能表的设备地址
RW      0,   0 表示读, 1表示写
Addr    40059     保持寄存器起始地址,A相视在功率地址 003AH 转换成十进制则为 58,加上1 则为 59,最前面加上4 并凑为5位的MODBUS RTU 保持寄存器地址则为 40059
Count  3   读3个字
DataPtr  &VB0    则:
                           VW0 就是读来的 003AH 保持寄存器的值,那为 A 相视在功率
                           VW2 就是读来的 003BH 保持寄存器的值,那为 B 相视在功率 
                    VW4 就是读来的 003CH 保持寄存器的值,那为 C 相视在功率
其它的地址都按这个方法去换算。
程序要按下面主站轮循结构去写
Modbus RTU 主站 (最下面有MODBUS RTU 轮循实例)
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Master/Master.htm
3、
S7-200 SMART Modbus RTU通信常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
补充:
1、要确保轮循轮起来,可读到电表的数据。
2、查看读到的数据,与电表对应一下以确认一下地址是不是有偏移?
3、有没有条件使用MODSCAN32 软件连接到电表,然后可确定保持寄存器地址

提问者对于答案的评价:
我补充的ABC三张图片上的程序写的对 吗?现在读不出来?谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc371099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论