大家好,我对modbus协议刚了解一点。照着micro'n power里的modbus协议主从实例两个S7-200通讯。怎么都连不上。高人指点一下了?
其中主站地址为2(系统块设置)库存储区为VB0_VB283,从站地址为3(系统块设置),库存储区为VB1000--VB1779.
主站程序:网路1
LD First_Scan_On:SM0.1
R M2.0, 8
R M4.0, 8
R MBUS_CTRL_Done:M0.0, 2
网络2
LD MBUS_CTRL_Done:M0.0
EU
S Start_MBUS_MSG:M0.1, 1
网络3
LD Always_On:SM0.0
= L60.0
LD Always_On:SM0.0
= L63.7
LD L60.0
CALL MBUS_CTRL:SBR1, L63.7, 19200, 0, 1000, MBUS_CTRL_Done:M0.0, MBUS_CTRL__Error:MB1
网络4
LD Start_MBUS_MSG:M0.1
O Write_Output_Done:M2.3
= L60.0
LD Start_MBUS_MSG:M0.1
EU
LD Write_Output_Done:M2.3
EU
OLD
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 3, 0, 40001, 8, &VB1000, Read_Register_Done:M2.1, MB3
网络5
LD Read_Register_Done:M2.1
R Write_Output_Done:M2.3, 1
R Start_MBUS_MSG:M0.1, 1
网络6
LD Read_Register_Done:M2.1
= L60.0
LD Read_Register_Done:M2.1
EU
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 3, 0, 10001, 8, &VB1500, Read_Inputs_Done:M2.2, MB4
网络7
LD Read_Inputs_Done:M2.2
R Read_Register_Done:M2.1, 1
网络8
LD Read_Inputs_Done:M2.2
= L60.0
LD Read_Inputs_Done:M2.2
EU
= L63.7
LD L60.0
CALL MBUS_MSG:SBR2, L63.7, 3, 1, 1, 8, &VB2000, Write_Output_Done:M2.3, MB5
网络9
LD Write_Output_Done:M2.3
R Read_Inputs_Done:M2.2, 1
从站程序:
LD First_Scan_On:SM0.1
CALL MBUS_INIT:SBR3, 1, 3, 19200, 0, 0, 128, 32, 100, &VB0, M10.1, MB11
LD Always_On:SM0.0
CALL MBUS_SLAVE:SBR1, M10.2, MB12