刚发帖时我把通讯模式与地址写调了,
CPU226通讯问题:
port0作为
modbus从站与上位单片机通讯,port1作为自由口以
modbus协议与下位单片机通讯,共有3个PLC与上位单片机或触摸屏TE通讯,地址分别为1,2,3:
以下是程序初始化:
地址1程序(port 0作为
modbus 从站与上位单板机或触摸屏通讯;port 1 以自由口形式按
modbus用协议方式与变频器AVT通讯。)
LD First_Scan_On:SM0.1
CALL MBUS_INIT:SBR1, 1, 1, 57600, 2, 0, 128, 32, 4500, &VB0,
modbus_init:M2.3, MB9
MOVB 16#05, P1_Config:SMB130 //奇校验,8位,19200,自由口,变频
地址2程序(port 0作为
modbus 从站与上位单板机或触摸屏通讯;port 1 以自由口形式CRC效验方式与单板机通讯。)
LD First_Scan_On:SM0.1
CALL MBUS_INIT:SBR1, 1, 2, 57600, 2, 0, 128, 32, 4500, &VB0,
modbus_init:M2.3, MB9
MOVB 16#05, P1_Config:SMB130 //奇校验,8位,19200,自由口,变频
地址3程序(port 0作为
modbus 从站与上位单板机或触摸屏通讯;port 1 以自由口形式按
modbus用协议方式与变频器AVT通讯。)
LD First_Scan_On:SM0.1
CALL MBUS_INIT:SBR1, 1, 3, 57600, 2, 0, 128, 32, 4500, &VB0,
modbus_init:M2.3, MB9
MOVB 16#05, P1_Config:SMB130 //奇校验,8位,19200,自由口,变频
库存储区分配:vb9000--vb9799.在程序中未使用过,也验证过仅此作为
modbus从站哭存储区。
现问题:
.cpu226作为从站时,刚开始通讯正常,过一段时间后,地址2通讯连接不上(通讯变量3K左右),未见
modbus通讯报警代码。地址1和地址3通讯正常从未出现通讯故障(通讯变量1K左右)。CPU226重新调用一次 CALL MBUS_INIT:SBR1, 1, 2, 57600, 2, 0, 128, 32, 4500, &VB0,
modbus_init:M2.3, MB9,
modbus从站通讯就好。