各位高手,新手求教:
设备:PLC:S7-200smartST60
触摸屏:Smartline1000IEV3
智能电表安科瑞PZ80L-AI3/C(电流表)7块;PZ80L-AV3/C(电流表)3块
通讯:智能电表为RS485MODBUSRTU
目的:将10块电表的数据读到PLC,然后在触摸屏上显示
由于刚开始学习,就照抄了网上的一个轮询程序,htTP://www.diangon.com/wenku/PLC/ximenzi/201312/00007264.html
但是在进行对DataPtr进行定义时,比如&VB1000,或者&VB120,总是显示:指定的地址符号无效。请检查支持的存储区和有效地址。之前在文件—库—存储器—建议地址中库存储器分配为了VB0-VB285。&VB100能用,但是我有21个电流,9个电压数据要保存啊。
请教一下:DataPtr这里应该怎么定义啊,试了好多次都不成功。大神救命啊!
或者哪位大神有现成的安科瑞的轮询程序,价格优惠一些转给小弟也行啊!谢谢
微信:wangpaopao1984
Network1
//程序段注释
LDSM0.1
RM2.0,8
RM4.0,8
RM0.0,2
Network2
LDM0.0
EU
SM0.1,1
Network3
LDSM0.0
=L60.0
LDSM0.0
=L63.7
LDL60.0
CALLSBR1,L63.7,9600,0,1,1000,M0.0,MB1
Network4
LDM0.1
OM2.3
=L60.0
LDM0.1
EU
LDM2.3
EU
OLD
=L63.7
LDL60.0
CALLSBR2,L63.7,2,0,40001,3,&VB100,M2.1,MB3
Network5
LDM2.1
RM2.3,1
RM0.1,1
Network6
LDM2.1
=L60.0
LDM2.1
EU
=L63.7
LDL60.0
CALLSBR2,L63.7,3,0,40001,3,&VB100,M2.2,MB4
Network7
LDM2.2
RM2.1,1
Network8
LDM2.2
=L60.0
LDM2.2
EU
=L63.7
LDL60.0
CALLSBR2,L63.7,4,0,40001,3,&VB100,M2.3,MB5
Network9
LDM2.3
RM2.2,1
图片说明:
9b9a0a76615037d5e2396e19fb5f92ab
最佳答案
这个问题显然是寄存器地址重置了,库存储区地址修改一下再重新重新用户程序。
调用mbus_msg指令读取2#、3#从站数据的数据存储区需要分开,如&VB100/&VB200
提问者对于答案的评价:
重新分配存储区,然后保存关闭软件,重启后恢复正常。非常感谢。
专家置评
已阅,最佳答案正确。