技术频道

娓娓工业
您现在的位置: 中国传动网 > 技术频道 > 技术百科 > PLC串口自由协议通讯例程

PLC串口自由协议通讯例程

时间:2024-03-11 09:59:54来源:深圳市雷赛智能控制股份有限公司

导语:​自由协议通讯也称无协议通讯,需要根据对方设备的通讯数据格式编写一个临时协议,虽然随着标准协议(Modbus,USS等)的普及,自由协议通讯应用越来越少

  自由协议通讯也称无协议通讯,需要根据对方设备的通讯数据格式编写一个临时协议,虽然随着标准协议(Modbus,USS等)的普及,自由协议通讯应用越来越少,但是对于一些小的设备如扫码枪、LCD显示屏等,由于没有集成标准通讯协议,所以只能选用自由协议通讯。以下例程是基于MC532(同平台其它系列使用方法相同) PLC的RS232及RS485硬件端口与电脑串口调试助手(用于模拟串口设备)的自由协议通信例程说明。

  MC532 PLC端设置及程序编写

  1、添加通讯功能库

  左键双击【库管理器】—左键单击【添加库】,搜索【Serial Communication】,单击【确定】即可添加完成。

雷赛智能

雷赛智能

  2、创建如图所示的变量

雷赛智能

  3、调用如图所示的功能块

雷赛智能

  4、编写如图所示程序 ①调用COM.Open,此功能块为打开串口;变量usiListLength为变量pParameterList的数据长度(根据后续介绍可知,数据长度为7);变量pParameterList为指针变量,指针地址指向结构体COM.PARAMETER的数组aParamsB115200,数组包含了udiPort,udiValue(波特率)、udiBaudrate,udiValue(端口号) 、 udiParity,udiValue(校验) 、 udiStopBits,udiValue(停止位) 、udiTimeout,udiValue(超时时间) 、udiByteSize,udiValue(数据位)及udiBinary,udiValue(二进制参数,启用二进制模式)7种关于串口的参数,相关的变量创建直接参照下列库文件中的例程,再对参数进行设置;变量hCom为结构体CAA.HANDLE数据类型,获取通讯句柄;②udiPort,udiValue:波特率,此次例程设置波特率为115200;udiBaudrate,udiValue:端口号,2PLC的RS232端口为COM2,第一个RS485端口为COM0,第二个RS485端口为COM1,因此可根据使用不同硬件端口进行赋值;udiParity,udiValue:校验类型(奇校验、偶校验或无校验),此次例程设置偶校验,赋值COM.PARITY.EVEN ;udiStopBits,udiValue:停止位( ONESTOPBIT/ONE5STOPBIT/TWOSTOPBIT ),此次例程设置为ONESTOPBIT;udiTimeout,udiValue:超时时间,此次例程设置成500ms;udiByteSize,udiValue:数据位,此次例程设置成8;udiBinary,udiValue:二进制参数,采取默认值设置成1即可;设置完成后由于pParameterList为指针类型,则填入ADR(aParamsB115200)即可;

雷赛智能

雷赛智能

雷赛智能

  ③调用COM.Write,此功能块为串口发送数据;变量udiTimeout超时时间,此次例程设置为500ms;变量hCom为结构体CAA.HANDLE数据类型,为通讯句柄,可从Com.Open中的输出变量hCom获取;pBuffer为指针类型,数据指向串口发送数据缓存的地址,本例程设置写入数值变量为BYTE类型的byWriteData,因此本例程填入ADR(byWriteData);szSize 为写入数据长度,此次例程设置为10个BYTE数据长度,因此填入10;④调用COM.Read,此功能块为串口读取数据;变量udiTimeout超时时间,此次例程设置为500ms;变量hCom为结构体CAA.HANDLE数据类型,为通讯句柄,可从Com.Open 中的输出变量 hCom获取;pBuffer为指针类型,数据指向串口读取数据缓存的地址,本例程设置写入数值变量为BYTE类型的byReadData,因此本例程填入ADR(byReadData);szBuffer为从串口缓存读取数据的大小,此次例程设置为10个BYTE数据长度,因此填入10;⑤调用COM.Close,此功能块为关闭串口;变量hCom为结构体CAA.HANDLE数据类型,为通讯句柄,可从Com.Open中的输出变量hCom获取。

  打开串口助手,设置相关参数

  1、打开计算机管理,查看计算机串口端口号(本次例程使用USB转串口,端口号为COM4)

雷赛智能

  2、打开串口助手软件(大家可自行在网络上搜索购买,使用方法基本类似)并设置相关参数

  【端口】COM4(计算机端口号);【波特率】115200;【数据位】8;【校验位】E偶;【停止位】1;左键单击选择【输入 HEX】及【显示HEX】,设置以16进制数据类型进行写入及显示;左键单击【打开串口】即可。

雷赛智能

  PLC与电脑端做数据发送及读取

  1、PLC发送数据,电脑端读取数据

  触发COM.Open打开串口端口,对byWriteData赋值十进制数65(16进制为0x41)后触发COM.Write,可见电脑端可读取PLC发送的数值。

雷赛智能

  2、电脑端发送数据,PLC端读取数据

  通过串口助手发送16进制数值0x86;触发COM.Open打开串口端口,关闭串口数据写入功能块,触发COM.Read 功能块,可成功读取16进制数值0x86(十进制为134)

雷赛智能

雷赛智能

雷赛智能

-END-

标签: 雷赛智能

点赞

分享到:

上一篇:便携储能的新市场在汽柴油发...

下一篇:用了变频器就节能了吗?变频...

中国传动网版权与免责声明:凡本网注明[来源:中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。如需转载请与0755-82949061联系。任何媒体、网站或个人转载使用时须注明来源“中国传动网”,违反者本网将追究其法律责任。

本网转载并注明其他来源的稿件,均来自互联网或业内投稿人士,版权属于原版权人。转载请保留稿件来源及作者,禁止擅自篡改,违者自负版权法律责任。

网站简介|会员服务|联系方式|帮助信息|版权信息|网站地图|友情链接|法律支持|意见反馈|sitemap

中国传动网-工业自动化与智能制造的全媒体“互联网+”创新服务平台

网站客服服务咨询采购咨询媒体合作

Chuandong.com Copyright ©2005 - 2024 ,All Rights Reserved 版权所有 粤ICP备 14004826号 | 营业执照证书 | 不良信息举报中心 | 粤公网安备 44030402000946号