西门子CPU模块6ES7322-1HH01-4AA2原装现货
3 PLC通信数据帧介绍
计算机与P L C通信时,按应答方式进行。由计算机发给PLC一组ASCII码字符数据,这一组数据成为命令帧。P L C对收到的命令帧进行校验,并将校验结果返回给计算机,P L C返回给计算机的这一组数据称为响应帧,只有当校验正确时P L C才按照命令执行。计算机和P L C通信时,PLC是被动的,必须先由计算机给PLC发出命令帧,PLC再给计算机发出响应帧,每帧最多由1 3 1个字符组成。下面将命令帧与响应帧的组成结构介绍如下:
3.1命令帧
帧结构解析:
@:在起始处必须放置;
节点号:有效值为00~31,表示PC机最多可同32台PLC通信;
头代码:PLC的命令代码;
发送文本:P C机发送的命令参数;
FCS(frame Check Sequence):
帧检查顺序代码(帧校验码);帧校验码是2位(Bit)十六进制数。它是由帧数据包含的所有字符的ASCII码进行位异或运算的结果。
终止符:“*"号和回车符“CR"。
3.2响应帧
帧结构解析:
@:返回命令头;
节点号:有效值为00—31,返回数据的PLC节点号
头代码:PLC的命令代码;
尾代码:返回命令完成状态码;
接收文本:在有数据时返回的数据;
FCS:帧检查顺序代码;
终止符:“*"号和回车符“CR"。
3.3 FCS(帧数据冗余校验码)的计算
为了降低串行通信的误码率,在接收和发送端都必须对数据进行校验,常用的方法是进行F C S校验。对帧数据进行冗余校验计算时,应对帧数据中各个字符的ASCII码进行位异或运算,然后将结果转为2位十六进制字符。
4计算机与PLC串行通信程序实例
4.1通信主程序的设计架构
设计通信主程序的主要功能是:实现计算机对PLC的运行控制和状态监视,即构成一个闭环监控系统。
4.2打开串行通信端口
打开通信端口,对端口进行初始化设置,程序设计流程。
4.3写PLC数据
将计算机发出的命令写入PLC,实现计算机对PLC的控制功能。程序设计流程
4.4读PLC数据。
从PLC中读取数据,监视PLC的运行状态,程序设计流程。