人物在使用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信号板则需要按照图纸上的指示进行连接,其中3号针脚对应RS485信号B(+),8号针脚对应RS485信号A(-),5号针脚则用来连接屏蔽等电位点。
三、软件教程
首先,我们在西门子S7-1200中建立一个通讯项目工程。在PLC属性中选中常规->系统和时间存储器,使能特殊状态位,以便后续操作。
在程序块中添加新的数据块,用以存放编码器通讯所需的全局变量。右键单击新建数据块,在属性中取消“优化的块访问”,以确保正确读取数据。
创建梯形图程序:
初始化RS45通讯:通过MB_COMM_LOAD指令设置Modbus RTU协议参数,如波特率19200bps,无校验等。
读取编码器数据:从40003开始连续三个寄存器读取多圈值、单圈值和转速值,对应于站号32下的寄存器内容。
设置编码器零点:将M2.0接通时写入40008寄存器中的数值,为当前位置设置零点,即默认为0圈或0度情况下,将其设置为某个具体位置。
设置指定圈数:当M2.1导通时,将当前位置写入到指定的一个圈数上,这样可以避免在初始位置出现不稳定的情况。
修改旋转方向:通过向40007寄存器写入数字来控制旋转方向,如果是顺时针,则写入0;逆时针则写入1。
最后,由于每次旋转都是从原来的位置出发,所以合成总位置脉冲并计算拉线长度,可以根据公式得出具体距离。