人物使用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通信板。 二

人物使用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机本体上,其订货号是6ES7241-1CH30-1XB0。具体的接线方式如下:3号针脚对应RS485信号B(+);8号针脚对应RS485信号A(-);5号针脚对应屏蔽等电位点。

三、软件教程

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

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

创建PLC变量

在程序块中,我们添加新的数据块用于编码器通讯全局变量。右键单击新建数据块,在属性中取消“优化的块访问”。

创建PLC梯形图程序

① 初始化RS45通讯

使用MB_COMM_LOAD指令来组态端口,以Modbus RTU协议进行通信。这包括设置波特率为19200bps,无校验。

② 读取编码器数据

从40003开始连续读取三个寄存器,即从站32位置上的多圈值、单圈值以及转速值。

③ 设置编码器零点

当M2.0导通时,将当前位置写入到40008寄存器作为零点参考。

④ 设置指定圈数

当M2.1导通时,将当前位置写入到某个寄存器以避免零点位置波动。

⑤ 修改旋转方向

写入40007寄存izer中的一个值来改变旋转方向。如果写入的是0,则顺时针旋转;如果写入的是1,则逆时针旋转。

⑥ 合成总位置脉冲

编码器总位置脉冲 = 多圈值 * 8192 + 单圈值

计算拉线长度,

拉线盒行程设定为两米,

换算关系:每次循环是8192个脉冲,对应拉线长度200mm,

线长 = (总计脉冲 / 8192) *200 - 偏移量

4计算移动距离

最后,我注意到了需要消除由于偏移而导致的一些跳动偏差。在实际应用中,这可能需要根据具体情况调整偏移量,以确保准确性。