编辑: ZCYTheFirst | 2019-07-04 |
3 Length_L
4 Command Command 具体命令见下表
5 Data 协议帧数据 ?? N-1 N CheckSum Check 1~(N-1)字节的代数和 (1) PC 机读命令 81H ID 00H 0BH '
R'
Addr Byte CheckSum 其中,Addr:要读取的 PLC 首地址的编码,为PLC 内部存储区的地址编码,该 地址编码由
4 个字节组成,即双字的形式,高字表示存储区类型,低字表示偏 移量.例如 MB3 的地址编码为:0200 0003. I O M S V T C 0000H 0100H 0200H 0300H 0800H 0900H 0A00H Byte:从指定存储区首地址开始,要读取的字节数,范围:1~255 个. PLC 应答信号: 81H ID Length_H Length_L '
R'
Addr Data0 ? DataN CheckSum 综合课程设计报告 第7页共15 页Data0?DataN:PLC 根据接收到的命令,返回的指定存储区的数据. (2) PC 机写命令 81H ID Length_H Length_L '
W'
Addr Data0 ? DataN CheckSum 其中,Addr:要写入的 PLC 首地址的编码,具体说明见(1) . Data0?DataN:从指定存储区首地址开始,要写入的 N+1 个数据. 协议帧的长度 Length 根据写入数据的字节数确定. 81H ID 00H 0BH '
W'
Flag CheckSum Flag:0-写操作失败,1-写操作成功.
2 数据发送 上位机发出命令程序如下: if not MSComm.PortOpen then begin showmessage('
没有打开串口!'
);
Exit;
end else begin //发送二进制数,需要使用 Variant 变量矩阵,矩阵大小自动调节 if HexSend then begin Output:=mmSend.Text;
Len:=Length(Output);
if Len>
0 then begin i:=1;
count:=1;
//创建一个 Variant 数组 tmpVar:=VarArrayCreate([1,1],varByte);
while(i........