人物使用RS485拉线编码器与西门子PLC连接传感器组成系统

  • 科研动态
  • 2025年04月26日
  • 一、工具准备: 我们首先准备了一台上海了淼的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拉线编码器与西门子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,然后加上偏移量消除初次运行后的跳动误差。

猜你喜欢