人物在RS485拉线编码器与西门子PLC的传感器技术应用中取得进展
一、工具准备:
我们首先准备了一台上海了淼的RS485接口多圈编码器,型号为GME-58-MR-13/8-0.5-10/30-RS10-65-B,具备256圈和8192分辨率。
接着,我们安装了博途软件的TIA PortalV15版本的电脑软件。
在硬件方面,我们使用的是西门子PLC S7-1200系列CPU 1212C,配备24V电源,并搭配CB1241 RS485通信板。
二、电气接线
对于上海了淼RS485接口多圈编码器,我们进行如下连接:
编码器的通讯参数设定为ModbusRTU协议,波特率19200bps,无校验位,每个数据字节占8位。默认情况下,它以站号32(即0x20)进行通信。
关于CB1241 RS485信号板,我们将其安装在CPU机本体上,其订货号是6ES7241-1CH30-1XB0。具体连接方式如下:B(+)针脚位于第3号针脚;A(-)针脚位于第8号针脚;屏蔽等电位点需通过第5号针脚实现。
三、软件教程
首先,在西门子S7-1200中建立一个通讯项目工程,并在PLC属性中选中“常规”下的“系统和时间存储器”,使能特殊状态位,以便后续操作。
在程序块中添加新的数据块作为编码器通讯全局变量。在属性设置中取消“优化的块访问”,以确保正确执行代码逻辑。
创建PLC梯形图程序:
a) 初始化RS45通讯:使用MB_COMM_LOAD指令来配置Modbus RTU协议与RS485接口多圈编码器通信。波特率设定为19200bps,而无校验。
b) 读取编码器数据:从40003开始连续读取三个寄存器,即单圈值、三个循环值以及转速值。这些寄存器对应于编码器传感到的实际位置信息。
c) 设置编码器零点:通过M2.0开关控制,将当前位置写入40008寄存注册为第一圈,即从度数角度开始计量,从而确定零点位置。
d) 设置指定圈数:当M2.1开关打开时,将当前位置写入到指定的一圈,这样可以避免由于开机或其他因素引起的初次运行时出现不稳定的误差问题。
e) 修改旋转方向:通过向40007寄存写入数字0或数字1,可以改变旋转方向。当写入数字0时表示顺时针旋转,当写入数字1时表示逆时针旋转。
f) 合成总位置脉冲数计算出拉线长度,每一圆代表8192个脉冲单位,同时考虑每一单位长度对应200毫米换算关系,然后用公式计算最终拉线长度并减去偏移值来消除零点跳动偏差的问题。