工控网首页
>

应用设计

>

用PLC实现485自由协议通讯

用PLC实现485自由协议通讯

2023/10/30 15:40:51

PLC是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
485总线在日常中也广泛应用于多主机/驱动器工业环境。其典型应用与RS-422相似,包括:过程自动化(化工、酿造、造纸)、工厂自动化(汽车制造、金属加工)、HVAC、安防、电机控制、运动控制
本文将使用PLC来实现485自由协议通讯控制下位设备。

一:调试前的准备

搭建测试环境:电脑上安装好PLC配套的编程环境。PLC肯定要选择支持485自有通讯的型号,本次使用的是汇川的H3U系列,使用的编程软件为autoshop。

下位设备选择使用485自由协议的步进电机控制器,这里使用的是谱思PMC005B3多轴控制器,同时准备好电源,连接线:
演示使用的所用硬件如下表所示:

二:硬件连接示意

三:通讯口参数设置

首先设置通讯口的参数。

PLC的自由通讯口是COM1,所以选择COM1进行设置。根据下位设备使用的协议进行选择就好。注意站号需要修改,不能冲突。设置完成之后,确定保存。这里的起始符与结束符都是十进制的ASCII码,意思是在传输的字符串头尾分别加上起始符与结束符。比如PMC005的通讯协议中规定,换行符(10进制ASCII码为13)是一条指令的结束标志,可以在这里勾选结束符13,就不用在手动在每条指令中添加。

四:编程并运行

接下来我们编写程序。如下图:

可以在查看中变更编程语言的类型。

使用的是内置功能块RS发送自由指令,采用的是用直接将16进制的ASCII码赋值给PLC内部的寄存器的方式。这里发送的指令是/8&\r,根据通讯协议是查询8号站点的固件版本与时间。

接下来是编译、下载、联机、运行
在登录设备下载程序前,请确认PLC模块已经与电脑正常连接。如果没有,请检查您的连线、供电。使用以太网连接时,请确保PLC的IP与电脑IP在同一网段。
在开始运行前,请先调整机构,保您的设备能够进行测试,以防出现不必要的损失和意外。
之后可以开始运行程序。

将程序下载到PLC当中,运行后打开监控。如果提示编译错误,请检查程序编写。

进入监控界面,打开写入根据程序逻辑,这里只要将M1置1就会自动赋值并且将指令发送,返回的指令可以监控D100以及之后的寄存器,转化为字符串就可以看到返回信息。这里为了方便我们外挂了一个485转换器到电脑上,用串口调试助手可以看到返回的数据。

已经读取到了内部时间和版本号,这样说明通讯就成功了。在这个基础上我们不妨对程序稍加改动,发一个复杂的组合指令。

使用同样的方式我们将所有轴的细分设置为16,工作电流设置为50%,待机电流设置为40%,加速度因子100,最大速度32000PPS,并且同时让四轴运行正转32000步。

同样的将M3置1,就会赋值,并且发送。

同样的使用串口调试助手监控到了控制器的返回报文,此时四个电机已经同时运转了,这样一来一个简单的485通讯控制电机转动的小程序就完成了!

五:没有返回值,应该如何排查

  1. 检查连线是否正确,是否符合485组网规范。

  2. 检查通讯设置,波特率等是否正确

  3. 检查PLC程序是否正常运行。

  4. 检查指令的编写,指定的站点号、指令格式、指令内容等是否正确,是否末尾添加换行符。特别的,PMC005的协议中严格区分大小,指令中的逗号也是英文(半角)符号,请注意。

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

重庆谱思机器人控制系统选型手册

电容式液位传感器的优势及应用

RS485通信简介与接线要求