人物使用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信号板需要按照图示进行安装,其中6ES7241-1CH30-1XB0是订购号。具体地,我们将3号针脚用作RS485信号B(+);8号针脚用作RS485信号A(-);5号针脚作为接屏蔽等电位点。
三、软件教程
建立西门子S7-1200通讯项目工程。在PLC属性中选中常规->系统和时间存储器,使能特殊状态位。
创建PLC变量。在程序块中添加新的数据块,以便于对全局变量进行编码器通讯相关操作。右键单击新建数据块,在属性中取消“优化的块访问”。
创建PLC梯形图程序。包括初始化RS45通讯、读取编码器数据、设置编码器零点等步骤:
初始化RS45通讯:通过MB_COMM_LOAD指令来配置Modbus RTU协议参数,如波特率19200bps,无校验。
读取编码器数据:从40003开始连续三个寄存器读取多圈值及单圈值转速值信息。
设置编码器零点:当M2.0接触时,将当前位置写入到40008寄存册以确定零点位置。
设置指定环数:当M2.1导通时,将当前位置写入到寄存册以避免在启动过程中的位置波动问题。
修改旋转方向:通过写入40007寄存册中的值来控制顺逆时针旋转方向,即写入0表示顺时针或逆时针旋转均可根据实际情况调整其方向性质.
合成总位置脉冲: 编解代码计算出的脉冲总数= 多圆次*8192 + 单圆次
计算拉线长度: 根据拉线盒行程设定为每米200mm,换算关系如上所述,即line_length = (encoder_pulse / 8192 *200) - offset_value ,其中offset_value 是为了消除由于不精确测量而产生的一些小误差.
最后,这个过程是一个循环不断更新的过程,不断地获取最新的传感数据并处理相应命令,然后再发送回传感设备继续下一次采集。这就形成了一种闭环控制系统,可以实现在物理环境变化下自动调节某些参数,比如温度控制或者机床坐标系统等场合非常有用。