人物使用RS485拉线编码器与西门子PLC实现传感器应用举例
一、工具准备:
我们首先需要一台上海了淼的RS485接口多圈编码器,型号为GME-58-MR-13/8-0.5-10/30-RS10-65-B,具备256圈和8192分辨率。
接着,我们必须安装博途软件的TIA PortalV15版本在电脑上。
西门子PLC S7-1200系列CPU 1212C DC/DC/RLY是我们所需的控制单元,配以24V电源供给。
最后,我们还需要CB1241 RS485通信板进行连接。
二、电气接线
上海了淼RS485接口多圈编码器的连接
编码器本身采用ModbusRTU通讯协议,以19200bps波特率无校验,并且默认站号为32(0x20)。
CB1241 RS485信号板的连接
信号板(订货号:6ES7241-1CH30-1XB0)通常安装在CPU机本体上,其针脚配置如下:
3号针脚--RS485信号B(+);
8号针脚--RS485信号A(-);
5号针脚--接屏蔽等电位点。
三、软件教程
建立西门子S7-1200通讯项目工程
在PLC属性中选中常规->系统和时间存储器,使能特殊状态位。
创建PLC变量
在程序块中添加新的数据块,用于编码器通讯全局变量。右键单击新建数据块,在属性中取消“优化的块访问”。
创建PLC梯形图程序
a) 初始化RS45通讯
使用MB_COMM_LOAD指令组态端口使用Modbus RTU协议通信,并设置波特率19200bps,无校验。
b) 读取编码器数据
从40003开始连续三个寄存器读取多圈值、单圈值及转速值,对应站位32。
c) 设置编码器零点
当M2.0接通时,将当前位置写入40008寄存注册为零点,即第一圈对应第一个度数。
d) 设置编码器指定圈数
当M2.1导通时,将当前位置写入40009寄存注册为第一圈,以避免零点位置波动问题。
e) 修改编码器旋转方向
写入40007寄存注册中的值来改变旋转方向,当写入0时顺时针旋转,当写入1时逆时针旋转。
f) 合成编码器总位置脉冲
编码器总位置 = 多圈 * 8192 + 单圈
g) 计算拉线移动距离
根据拉线盒行程设定为两米,每个圆周长度200毫米计算公式:线长 = (总脉冲 / 8192 ) *200mm - 偏移值。偏移项用于消除因为实际操作过程或环境因素引起的一些微小误差。