大神们,帮我解决一下!采用轮询编程,读取3个从站的数据,为什么读不到呢?
modbus通信系统组成,主站:1台 CPU224XP,从站:3台 CPU224CN
主站程序依据教程中的轮询模式改写的,具体如下:
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, 1000, M0.0, MB1
Network 4 读从站1 并把数据存在VB504-VB527
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, 1, 0, 40001, 12, &VB504, M2.1, MB3
Network 5 读从站2 并把数据存在VB528-VB551
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, 2, 0, 40001, 12, &VB528, M2.2, MB4
Network 7 读从站3
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, 3, 0, 40060, 6, &VB552, M2.3, MB5
Network 9
LD M2.3
R M2.2, 1