人物使用RS485拉线编码器与西门子PLC连接传感器图片

  • 天文图吧
  • 2025年04月26日
  • 一、工具准备: 我们首先需要一台上海了淼的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拉线编码器与西门子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,在PLC机本体上进行安装。具体接线如下:3号针脚对应RS485信号B(+);8号针脚对应RS485信号A(-);5号针脚则用于屏蔽等电位点。

三、软件教程

建立西门子S7-1200通讯项目工程

在PLC属性中选中常规->系统和时间存储器,使能特殊状态位。

创建PLC变量

在程序块中添加新的数据块,以便用于编码器通讯全局变量。在属性中取消“优化的块访问”以确保正确读取数据。

创建PLC梯形图程序

a) 初始化RS45通讯

使用MB_COMM_LOAD指令来配置Modbus RTU协议通信参数,如波特率19200bps,无校验方式等,并与设备建立连接。

b) 读取编码器数据

通过读取从40003开始连续三个寄存器中的值,即获取当前多圈值、单圈值及转速值信息。

c) 设置编码器零点

当M2.0导通时,将其写入40008寄存注册到零点位置,即使当M2.0打开时,从计数开始记录第一圈即可避免零点位置波动问题。

d) 设置编码器指定圈数

当M2.1导通时,将当前位置设置为第一圈,以防止由于开关操作而引起计数误差或跳动现象发生。此操作可以避免因开关关闭而回到初始位置出现误差的问题,因为这将导致一个完整周期被忽略,从而影响精度和稳定性。

e) 修改编码器旋转方向

写入40007寄存到“顺时针旋转”状态(即写入“0”),或者逆向旋转情况下写入“1”。

f) 合成编码器总位置脉冲

计算出当前实际脉冲数量,可以通过以下公式得到:

编码者总位置 = (多圈 * 8192 + 单圈)

g) 计算拉线移动距离

拉线长度计算公式:

线长 = (总脉冲 / 8192 *200mm)+ 偏移值

这里会考虑偏移可能产生的一些小误差,同时消除由于初始角度不准确引起的一些不必要的小范围跳动效应,这样可以更精确地追踪拉线行进过程。