人物使用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机本体上安装CB1241 RS485信号板,其订货号为6ES7241-1CH30-1XB0。具体接线如下:
3号针脚:B(+)端;
8号针脚:A(-)端;
5号针脚:屏蔽等电位点。
三、软件教程
建立西门子S7-1200通讯项目工程
硬件设备组态中选中常规->系统和时间存储器,使能特殊状态位,以便于后续操作。
创建PLC变量
在程序块中添加新的数据块用于编码器通讯全局变量。右键单击新建数据块,在属性中取消“优化的块访问”,以便更好的读取和写入操作。
创建PLC梯形图程序
a) 初始化RS45通讯
使用MB_COMM_LOAD指令来配置Modbus RTU协议通信参数,其中波特率设定为19200bps,无校验。
b) 阅读编码器数据
从40003开始连续三个寄存器读取编码器值,这三个寄存器分别对应多圈值、单圈值以及转速值。
c) 设置编码器零点
当M2.0导通时,将当前位置写入40008寄存,为零点位置赋予一个固定值,即使在启动或断开时也不会有位置跳动问题。
d) 设置指定圈数
当M2.1导通时,将当前位置写入到40009寄存,以避免在启动或断开时出现环节偏移的问题。
e) 修改旋转方向
将40007寄存写入0,则顺时针旋转;将其写入1,则逆时针旋转,可以通过此方式改变编码器的工作方向。
f) 合成总位置脉冲数
编解调合成计算公式:总脉冲数 = 多圈 * 8192 + 单圈
g) 计算拉线长度
拉线盒行程设定为每米200mm,当每次循环一次即可移动200mm,但为了消除零点跳动偏差,还需减去一定偏移值。此处未提供具体偏移值,因此无法准确计算出实际拉线长度。