人物使用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开始连续读取三个寄存器,即从站32位置上的多圈值、单圈值以及转速值。
③ 设置编码器零点
当M2.0导通时,将当前位置写入到40008寄存器作为零点参考。
④ 设置指定圈数
当M2.1导通时,将当前位置写入到某个寄存器以避免零点位置波动。
⑤ 修改旋转方向
写入40007寄存izer中的一个值来改变旋转方向。如果写入的是0,则顺时针旋转;如果写入的是1,则逆时针旋转。
⑥ 合成总位置脉冲
编码器总位置脉冲 = 多圈值 * 8192 + 单圈值
计算拉线长度,
拉线盒行程设定为两米,
换算关系:每次循环是8192个脉冲,对应拉线长度200mm,
线长 = (总计脉冲 / 8192) *200 - 偏移量
4计算移动距离
最后,我注意到了需要消除由于偏移而导致的一些跳动偏差。在实际应用中,这可能需要根据具体情况调整偏移量,以确保准确性。