人物使用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接口多圈编码器的连接
编码器的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寄存器中的数值为“0”,这样就设置了零点位置为原点(即第一圈)。
④ 设置指定圈数:当M2.1导通时,将当前位置写入到寄存器40009至40011之间的一个寄存量,从而避免在起始位置产生不必要的小幅度变化。
⑤ 修改旋转方向:通过写入40007寄存册中的数值来控制旋转方向。当其为“0”时表示顺时针旋转,当其为“1”时表示逆时针旋转。
⑥ 合成总位置脉冲计数:
总脉冲 = (多圈 * 8192) + 单圈
⑦ 计算拉线移动距离:
拉线长度 = [(总脉冲 / 8192) *200] - 偏移量
备注: 这里需要根据实际情况调整偏移量,以消除由于测量误差导致的一些小幅度跳动问题。