回复:各种多圈齿轮箱绝对值编码器拆解

Eamonyin

  • 帖子

    38
  • 精华

    1
  • 被关注

    8

论坛等级:游侠

注册时间:2016-10-14

普通 普通 如何晋级?

发布于 2019-05-04 15:07:37

20楼

接上文,我们这里要介绍S7-200 smart和绝对值多圈编码器的通讯,S7-200 smart作为主站,绝对值编码器作为从站,首先是硬件准备:

1、西门子PLC S7-200 smart 1台

2、绝对值编码器GMX60 R12/12E10 RMLB(9600B),以下简称RMB编码器

3、装有STEP7-MicroWIN SMART软件的电脑

4、网线

  西门子PLC S7-200 smart 的接线方式,如图1


还有编码器的接线方式

这里的接线编码器的电源从PLC里取


      在进入PLC编程前可以对编码器进行一些小的设置,前面提到了,如果一个PLC带多个编码器的话,PLC作为主站,编码器作为从站,需要对编码器进行地址设置,RMB编码器自带的EasyPRO设置软件,非常简单的可以设置地址,Easy就是容易的意思。

      使用MODBUS RTU总线信号的编码器进行多个(≤9) 编码器对一个 RS485 接口作从站连接时, 可分别给编码器设定不同的地址(如 01,02,03..)

这里注意最下面,“编程允许线接地时允许通讯握手”前面的√必须打上,如果不打√就是主动发送模式。

这里设置地址为1,这里在后面的PLC编程会体现出来。


      设置完地址,可能需要设置波特率,PLC与编码器之间,双方约定一个相同的通信速度称之为波特率。 通讯中要求双方有相同的波特率, 以便正确地识别被传输的数据位。 波特率决定了通讯的速度,波特率越小, 通讯速度越慢, 同时出错率也越低。一般设置为19200,也有传输距离长的设置为9600;

这里我们设置波特率为19200,编程时会体现出来

 

然后可能会根据安装方法不一样,会需要调整编码器数据的方向,顺时针为面对编码器转轴端面, 顺时针旋转, 编码器数值增大。逆时针为面对编码器转轴端面, 逆时针旋转, 编码器数值增大。 

比如在起重大车的车轮上,一左一右,编码器都是装在最外边,这时一个编码器顺时针,一个编码器逆时针,当然有人说可以在PLC里面用算法实现一顺一逆,可是编码器自带方向选择岂不是更方便。


接下来再介绍一个典型的应用功能,置位功能

       外部置位值即编码器外部置位线(灰色线)和高电平接触后编码器回到的值,比如零位,也可以根据机械位置设置任意的值,比如中点置位。

       这是个非常有用的功能,比如,我在机械位置开到零点时,只要对编码器进行置位,数据就可以回到零,如果没有这个功能,你可能就需要手动去找这个零位,现在社会什么最贵,人工最贵、时间最贵,你可能耗不起这个时间,RMB编码器可以实现。

再比如,有些特殊场合的卷扬机位置,我们经常会遇到需要吊装到水平面以下的,假设水平面上是10米,水平线下也是10米,就可以设置为中点置位,同样的只要把机械开到中间置位,数据就回到中点,简单方便,有些进口编码器只有零点置位,没有任意位置置位功能,调试中还真的不是很方便呢。

 

好了,编码器的最基本的设置完成后,可以连PLC进程序了:

1.打开 Micro/WIN SMART软件 - -> 选好PLC型号 - -> ModbusRTU的指令在软件安装编程软件之后的库 菜单里面可以找到在“库”中调用“MBUS_CTRL”和“MBUS_MSG“两个子程序



使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制。

上图示例为编程插入指令

各参数意义如下:

1、EN(使能):必须保证每一扫描周期都被使能(使用 SM0.0)

2、Mode(模式):为 1 时,使能 Modbus 协议功能

3、Baud(波特率):编码器支持的通讯波特率为9600,19200,38400,57600,115200。这里就是之前介绍的设置为19200

4、Parity(校验):校验方式选择2=偶较验

5、Port(端口号):0 = CPU 集成的 RS 485 通讯口

6、Timeout(超时):主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒)

注意: 这个值必须设置足够大以保证从站有时间响应。

7、Done(完成位):初始化完成,此位会自动置1。可以用该位启动 MBUS_MSG 读写操作


二、PLC读取编码器参数的操作

给MODBUS指令分配库寄存器

编译、下载,可以在状态图表里监控VD200数据

PLC读到的编码器数据存放在VD200里

各参数意义如下:

1、EN(使能):同一时刻只能有一个读写功能(即 MBUS_MSG)使能

注意:建议每一个读写功能(即 MBUS_MSG)都用上一个 MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进行。

2、First(读写请求位):每一个新的读写请求必须使用脉冲触发

3、Slave(从站地址):可选择的范围 1 – 247,刚刚前面介绍的了,我们设为1

4、RW(读写请求):0 = 读

注意:

1. 开关量输出和保持寄存器支持读和写功能

2. 开关量输入和模拟量输入只支持读功能

5、Addr(读写从站):选择读写的数据类型,数据地址:30002

6、Count(数据个数):通讯的数据个数(位或字的个数)

注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)

7、DataPtr(数据指针):

1. 如果是读指令,读回的数据放到这个数据区中

2. 如果是写指令,要写出的数据放到这个数据区中

8、Done(完成位):读写功能完成位


RMB编码器和西门子S7-200 smart 的应用比如变频定位,和伺服配合的可以做位置闭环,当然编码器是在慢速端的,还有双电机同步,x y z三轴交叉同步或者互动,还有四个吊点的同步控制等等。

如果数据传输速度快的可以考虑用profinet通讯方式的,接下来我将整理 西门子PLC  1200和1500 与 profinet编码器的通讯连接方式……

一个好的选型是项目成功的一半
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

工厂传感器

共有739条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。