下面是完成通讯的PLC程序;采用EXPLICIT MESSAGE命令。由于梯形图比较大,需发好几张,我转换成助记符格式了。
‘ send data
LD P_On
OUT TR0
AND P_First_Cycle
BSET(071) #0 D0 D400
LD TR0
MOV(021) #2801 D100 ‘explicit message命令头2801 CMND命令中的S开始
MOV(021) #0710 D101 ‘salve node addrress:07,send data command:10
MOV(021) #94 D102 ‘class id:0094
MOV(021) #2 D103 ‘instance id:002 也就是选择PORT1进行通讯
MOV(021) #6401 D104 ‘attribut id:64,后面为PLC通过DRT-232C2的PORT1向PM810发送的读取命令:01040C140007F29C共9字节。
MOV(021) #040C D105
MOV(021) #1400 D106
MOV(021) #07F2 D107
MOV(021) #9C00 D108
MOV(021) #11 D0 ‘发送CMND命令字节数17字节0X11
MOV(021) #8 D1 ‘返回CMND字节数8字节
MOV(021) #2 D2 ‘目标网络号:2
MOV(021) #FE D3 ‘主机(DRM21)的NODE ADDRRESS:FE
MOV(021) #7 D4 ‘通讯失败重复尝试次数:7次
MOV(021) #64 D5 ‘通讯监视时间10s
@LD P_1s ‘1S上升沿
AND 3300.00 ‘DRT1-232C2 PORT1的发送状态:使能发送
@MND(490) D100 D150 D0 ’CMND命令
‘receive data
LD P_On
MOV(021) #2801 D200 ‘explicit message命令头2801 CMND命令中的S开始
MOV(021) #70E D201 ‘salve node addrress:07,send data command:0E
MOV(021) #94 D22
MOV(021) #2 D203
MOV(021) #6400 D204
MOV(021) #9 D10
MOV(021) #1B D11
MOV(021) #2 D12
MOV(021) #FE D13
MOV(021) #0 D14
MOV(021) #64 D15
%LD P_1s
AND 3300.03
@CMND(490) D200 D250 D10
发送命令和接收命令都差不多。