人物使用RS485拉线编码器与西门子PLC连接传感器组成系统
一、工具准备:
我们首先准备了一台上海了淼的RS485接口多圈编码器,型号为GME-58-MR-13/8-0.5-10/30-RS10-65-B,具有256圈和8192分辨率。
接着,我们安装了博途软件的TIA Portal V15版本在电脑上。
我们选用了西门子PLC S7-1200系列CPU 1212C DC/DC/RLY,并配备了一块24V电源供给。
还有一个CB1241 RS485通信板,为项目提供必要的RS485信号处理。
二、电气接线
上海了淼多圈编码器RS485接口通讯参数设置如下:通讯协议为ModbusRTU,波特率19200bps,无校验,数据位8位,并且出厂默认站号为32(0x20)。
CB1241 RS485信号板需要按照图示进行接线,其中3号针脚对应B(+);8号针脚对应A(-);5号针脚对应屏蔽等电位点。
三、软件教程
首先,在西门子S7-1200中建立一个通讯项目工程,并在PLC属性中使能特殊状态位,以便于后续操作。
在程序块中创建新的数据块,用以存储与编码器通讯相关的全局变量。在属性中取消“优化的块访问”功能,以确保程序稳定性。
创建梯形图程序用于控制编码器读取和写入。步骤如下:
a) 初始化RS45通讯:使用MB_COMM_LOAD指令来配置Modbus RTU协议参数,以及波特率19200bps无校验模式。
b) 读取编码器数据:从40003开始连续读取三个寄存器,即多圈值、单圈值和转速值,每个寄存器占据16个字节总共48字节长度。
c) 设置编码器零点:当M2.0接触时,将其写入到40008寄存器作为零点标识,同时避免随机跳动问题发生。
d) 设置指定位置:通过M2.1导通将当前位置设定为第一圈,从而避免由于系统启动或其他原因导致位置波动的问题出现。
e) 修改旋转方向:通过向寄存令40007写入数值来改变旋转方向,当数值为0时表示顺时针旋转,当数值为1时表示逆时针旋转。
f) 合成脉冲总位置: 将计算出的脉冲次数乘以每次脉冲代表多少米换算成实际行程距离,比如200mm/cycle,然后加上偏移量消除初次运行后的跳动误差。