汇川EASY系列之串口自由协议通讯
本文用最简洁的程序写了一个以起始字符,断帧停收的自由协议通讯程序
本文用最简洁的程序写了一个以起始字符,断帧停收的自由协议通讯程序
1、前期准备
1.1什么是自由协议
自由协议是一种用户自由定义协议内字符的协议,前提是符合接收方的接收内容要求,即要求接收方看的懂。该协议在不同的厂家有不同的称呼,例如西门子:自由口通讯,松下:通用协议,汇川:自由协议,欧姆龙:无协议通讯;自由口协议无主从站之分,通常以发送请求的一方定义为主站,响应请求的一方定义为从站。
1.2硬件
汇川EASY 320PLC一台,连接本机端子排COM0口;
PC机(带串口调试助手)一台;
USB转485线缆一根,USB端连接PC机,另一端连接PLC的COM0口;
1.3定义各部件
1.3.1串口参数定义:9600bps,8位数据位,1位停止位,无奇偶校验
a/在PC机设备管理器中串口处定义该参数(可能需要)
b/在AutoShop软件“配置”COM0中设定该参数

1.3.2 本次使用自由口协议缓存区设定;
a/发送字节为16进制的,共8个:01/03/00/ 00/00/01/84/0A
b/接收的字节为16进制的,共7个:01/03/02/00/E9/79/CA
c/新建变量表“通讯”,定义发送和接收缓存区变量,都是数组型的
其中发送的内容需要提前设定在变量区中,如下

变量区中只接受10进制的输入,因此需要将16进制的转化为10进制的,转化可使用WINDOWS自带的计算器中的程序员功能;
2、程序编写
2.1主程序
主程序中使用CALL指令调用写有自由口通讯的子程序;
主程序如下:

子程序如下:
因为本文使用串口调试助手做从站,因此程序块中SerialSR中TIMEOut管脚的时间要足够长,时间短了将不予接收。

上方程序还有一个需要注意的点:SerialSR中Done管脚并不是发送完成为ON,而是接收完成为ON并保持,如果没有接收成功则不为ON,且该指令管脚Execute下次为ON时Done管脚自动为OFF。
3串口调试助手


上图中绿色为串口调试助手接收到的内容,蓝色为串口调试助手发送的内容。
如需要配套程序的请与我联系。
更多推荐


所有评论(0)