人物在应用传感器技术的场景中使用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,无校验,数据位8位,并且出厂默认站号为32(0x20)。
对于CB1241 RS485信号板,我们将其安装在CPU机本体上,其订货号为6ES7241-1CH30-1XB0。具体连接方式如下:3号针脚对应RS485信号B(+);8号针脚对应RS485信号A(-);5号针脚对应屏蔽等电位点。
三、软件教程
建立西门子S7-1200通讯项目工程。在PLC属性中,我们选中常规->系统和时间存储器,使能特殊状态位。
创建PLC变量。在程序块中添加新的数据块,用以编码器通讯全局变量。右键单击新建数据块,在属性中取消“优化的块访问”。
创建PLC梯形图程序。
初始化RS45通讯:使用MB_COMM_LOAD指令,以Modbus RTU协议进行通信,设置波特率19200bps,无校验。
读取编码器数据:从40003开始连续三个寄存器读取编码器数据,即多圈值、单圈值及转速值,每个寄存器代表一个值。
设置编码器零点:通过M2.0接通,将当前位置写入40008寄存注册为零点,即设定起始位置时刻设定第一圈即为零度。
设置指定圆数: 当M2·l导通时, 写入当前位置至第一个圆(避免由于M2·l开关引发计数错误)。
修改旋转方向: 写入40007寄存到"0"来实现顺时针旋转或写入"1"实现逆时针旋转调整方向。
合成总位置脉冲: 编码总位置脉冲 = 多圈 * 8192 + 单圈
计算移动距离: 根据拉线盒行程与换算关系计算拉线长度。每次完整环绕产生200mm长度变化,因此当有多少个完整环绕,再乘以200mm得到实际长度,然后减去偏移值消除起始跳动偏差问题。