智能电表S7 200smart 轮询 DataPtr设置不了

各位高手,新手求教:
设备:PLC:S7-200smart ST60
          触摸屏: Smart line 1000IE V3
          智能电表 安科瑞 PZ80L-AI3/C(电流表)  7块  ; PZ80L-AV3/C(电流表)  3块
通讯:智能电表为RS485 modbus RTU
目的:将10块电表的数据读到PLC,然后在触摸屏上显示

由于刚开始学习,就照抄了网上的一个轮询程序,http://www.diangon.com/wenku/PLC/ximenzi/201312/00007264.html
但是在进行对DataPtr进行定义时,比如&VB1000,或者&VB120,总是显示:指定的地址符号无效。请检查支持的存储区和有效地址。之前在 文件—库—存储器—建议地址 中 库存储器分配为了VB0-VB285。&VB100能用,但是我有21个电流,9个电压数据要保存啊。
请教一下:DataPtr 这里应该怎么定义啊,试了好多次都不成功。大神救命啊!
或者哪位大神有现成的安科瑞的轮询程序,价格优惠一些转给小弟也行啊!谢谢
微信:wangpaopao1984
Network 1 
// 程序段注释
LD     SM0.1
R      M2.0, 8
R      M4.0, 8
R      M0.0, 2
Network 2 
LD     M0.0
EU
S      M0.1, 1
Network 3 
LD     SM0.0
=      L60.0
LD     SM0.0
=      L63.7
LD     L60.0
CALL   SBR1, L63.7, 9600, 0, 1, 1000, M0.0, MB1
Network 4 
LD     M0.1
O      M2.3
=      L60.0
LD     M0.1
EU
LD     M2.3
EU
OLD
=      L63.7
LD     L60.0
CALL   SBR2, L63.7, 2, 0, 40001, 3, &VB100, M2.1, MB3

Network 5 
LD     M2.1
R      M2.3, 1
R      M0.1, 1
Network 6 
LD     M2.1
=      L60.0
LD     M2.1
EU
=      L63.7
LD     L60.0
CALL   SBR2, L63.7, 3, 0, 40001, 3, &VB100, M2.2, MB4

Network 7 
LD     M2.2
R      M2.1, 1
Network 8 
LD     M2.2
=      L60.0
LD     M2.2
EU
=      L63.7
LD     L60.0
CALL   SBR2, L63.7, 4, 0, 40001, 3, &VB100, M2.3, MB5
Network 9 
LD     M2.3
R      M2.2, 1

图片说明:

智能电表S7 200smart 轮询 DataPtr设置不了    智能电表S7 200smart 轮询 DataPtr设置不了    智能电表S7 200smart 轮询 DataPtr设置不了    智能电表S7 200smart 轮询 DataPtr设置不了   

最佳答案

这个问题显然是寄存器地址重置了,库存储区地址修改一下再重新重新用户程序。
调用mbus_msg指令读取2#、3#从站数据的数据存储区需要分开,如&VB100/&VB200

提问者对于答案的评价:
重新分配存储区,然后保存关闭软件,重启后恢复正常。非常感谢。

专家置评

已阅,最佳答案正确。

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月31日
下一篇 2017年5月31日

相关推荐