我用CPU224读取ELIWELL ID985LX 中的温度数值,ID985已作成支持MODBUS协议.
程序如下,请指教.
Main:
LD SM0.1
CALL SBR_0
SBR0
NETWORK 1
LD SM0.1
MOVB 16#69, SMB130
MOVW 0, VW200
NETWORK 2
LD SM0.1
MOVB 16#13, VB100
MOVB 3, VB101
MOVW 16#BCAF, VW102
MOVB 0, VB104
MOVB 1, VB105
MOVW 5, VW20
CALL CRC, &VB101, VW20
MOVW AC0, VW106
MOVB 8, VB99
XMT VB99, 1
TON T37, +10
NETWORK 3
LD T37
RCV VB200, 1
CRC校验
LD SM0.1
LBL 1
MOVW 16#FFFF, VW50
MOVW 0, AC1
FOR AC1, +1, #CNT
LBL 2
MOVB VB50, AC0
XORB *#BUF, AC0
MOVW AC0, VW50
MOVW 0, AC2
FOR AC2, +1, +8
LBL 3
SRW VW50, 1
LBL 4
RRW AC0, 1
ANDW 1, AC0
AB= 1, AC0
XORW 16#A001, VW50
LBL 5
NEXT
LBL 6
INCD #BUF
LBL 7
NEXT
LBL 8
MOVW VW50, AC0
CRET