程序是仿照系统手册编写的,当接通一下I0.1的时候,能成功读取一次;但是后来就不读取了,即使不停的按I0.1对应的按钮。没有报告通讯错误。很着急,望指导!程序如下:
网络1 通过在每次扫描时调用MBUS_CTRL_P1 初始化和监视
modbus主站。
LD SM0.0
= L60.0
LD SM0.0
= L63.7
LD L60.0
CALL MBUS_CTRL_P1:SBR1, L63.7, 9600, 2, 1000, M0.0, MB1
网络2 在第一次扫描时复位用于MBUS_MSG启用的指令标记
LD SM0.1
R M2.0, 2
网络3 当I0.1从OFF变为ON时,设置MBUS_MSG_P1指令的启用标记
LD I0.1
EU
S M2.0, 1
网络4 当启用标记为ON时,调用MBUS_MSG_P1 读取从站地址为48452,并写入到VB200开始的地址
LD M2.0
= L60.0
LD M2.0
EU
= L63.7
LD L60.0
CALL MBUS_MSG_P1:SBR2, L63.7, 1, 0, 48452, 1, &VB200, M0.1, MB1
网络5 如果 MBUS_MSG_P1 输出错误(MB1不等于0)则警告灯亮起
LD M0.1
EU
AB<> MB1, 0
S Q0.0, 1
网络6 将读取的频率值放入VW202,供上位机读取
LD SM0.0
MOVW VW200, VW202