人物使用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梯形图程序
a) 初始化RS45通讯
使用MB_COMM_LOAD指令来配置Modbus RTU协议,并将其应用到我们使用的RS485接口多圈编码器上。这里我们设置波特率为19200bps,无校验模式。
b) 读取编码器数据
通过读取从40003开始连续三个寄存器中的值,即每个寄存器代表一次完整转动后产生的一次脉冲,可以得到当前旋转位置信息。此外,还包括单圈值和转速值等其他相关参数。
c) 设置编码器零点
当M2.0开启时,将其写入40008寄存器以设置零点位置。当M2.0关闭时,将其清零,从而避免任何不必要的偏移或误差累积问题。
d) 设置编码器指定圈数
当M2.1开启时,将当前位置写入40008寄存器,以确保不会因为偶尔跳动而导致错误计算。如果用户按下M2,它会让encoder回到初始位置,即第一圈或第一个脉冲点.
e) 修改编码计数方向
写入到40007寄存录中的值决定着encoder是否顺时针或者逆时针旋转。当写入'00000001'(即十进制表示下的数字"17")或者'11111111'(即十进制表示下的数字"255")的时候,encoder会逆向旋转,当写入其他任意数字时候,则顺向旋转.
f) 合成总计脉冲数
计算总计脉冲数可以通过以下公式得出: 编碼總計 = 多環數 * 8192 + 單環數
这里,“單环”意味着encoder完成一完整循环所产生的一个脉冲,而“双环”则代表两次这样的循环所产生的一个脉冲单位长度。例如,如果你想要测量拉链长度,你只需将这个总计除以200mm,然后加上偏移距离就可以得到最终结果。你也可以用这个方法来计算速度,因为每秒钟传感者发送多少个脉冲也是衡量速度的一个直接方式.
以上就是如何使用西门子PLC与上海了淼RS485拉线编码机相互配合并实现各种功能的一些步骤和技巧。