使用编码器(高速计数器)来记录步进电机所走的距离


文章目录


目录

文章目录

前言

一、编码器概述

二、编码器的接线

三.编码器的指令和使用 

1.指令 

 2.使用

3.内部方向控制 

4.外部方向控制 

5.具有两个时钟输入的双相计数器 

6.A/B相正交计数器 

四.记录电机所走的路程 

总结 


前言

这里讲述一下编码器的使用和在200PLC中如何使用。

这里以欧姆龙编码器为例: 

银行编码Java工具 银行编码器怎么使用_编码器

 大概是这样子!

一、编码器概述

 编码器是将信号或数据进行编制,转换为可以通讯,传输和存储的形式的设备。编码器将角位移或直线位移转换为电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两种;增量式编码器将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此他的示值只与测量的起始和终止的位置有关,而与测量的中间过程无关。

这里需要辨别NPN和PNP两种类型,以光电开关为例,NPN型PLC的1M要接24v;PNP型PLC的1M要接0v.

二、编码器的接线

编码器通常有四线制,五线制,六线制,八线制这几种。 

四线制:棕正,蓝负,黑A相,白B相(棕色和蓝色接电源,黑色白色接I点);

 五线制:棕正,蓝负,黑A相,白B相,橘Z相(橘色是Z相,复位)

六线制: 棕正,蓝负,A,A',B,B' (NPN型:A和B接I点,A'B'不接。PNP型:A'和B'接I点,AB不接。)

八线制:  棕正,蓝负,A,A',B,B',Z,Z'

以五线制为例:棕色接24伏,蓝色接0伏,黑色是A相,白色是B相,这两个控制脉冲和方向,橘色Z相,一圈一个脉冲,也称回零相。 

三.编码器的指令和使用 

1.指令 

 在S-7 200PLC中共有6个高速计数器,都是32位,HC0~HC5这6个。

HDEF是定义,有两个管脚HSC是高速计数器,MODE是模式的选择 

HSC是高速计数器,从0~5这六个里面选择。 

银行编码Java工具 银行编码器怎么使用_经验分享_02

只有指令是万万不行的,我们还需要知道如何使用! 

 2.使用

编码器的使用也有一下几步:1.控制字节,2.设定初始值,3.设定预设值,4.定义高速计数器,5.触发HSC指令,就可以完成了,和步进电机有异曲同工之处,下面根据表格来看!

高速计数器主要分为4种:1.具有内部方向控制的单相计数器,2.具有外部方向控制的单相计数器,3.具有两个时钟脉冲输入的双相计数器,4.A/B相正交计数器

高速计数器

HSC

说明

输入

HSC0

I0.0

I0.1

I0.2

HSC1

I0.6

I0.7

I1.0

I1.1

HSC2

I1.2

I1.3

I1.4

I1.5

HSC3

I0.1

HSC4

I0.3

I0.4

I0.5

HSC5

I0.4

0

时钟脉冲

1

具有内部方向控制的单相计数器

时钟脉冲

复位

2

时钟脉冲

复位

启动

3

时钟脉冲

方向

4

具有外部方向控制的单相计数器

时钟脉冲

方向

复位

5

时钟脉冲

方向

复位

启动

6

增计数脉冲

减计数脉冲

7

具有两个时钟输入的双相计数器

增计数脉冲

减计数脉冲

复位

8

增计数脉冲

减计数脉冲

复位

启动

9

时钟脉冲A

时钟脉冲B

10

A/B相正交计数器

时钟脉冲A

时钟脉冲B

复位

11

时钟脉冲A

时钟脉冲B

复位

启动

12

仅HSC0和HSC3支持模式

HSCO计数Q0.0所发脉冲数目

HSC3计数Q0.1所发脉冲数目

 高速计数器一共有6个,每一个都有不同的状态字节,控制字节,具体如下表:

高速计数器使用的特殊标志位存储器

高速计数器

状态字节

控制字节

初始值

预设值

HSC0

SMB36

SMB37

SMD38

SMD42

HSC1

SMB46

SMB47

SMD48

SMD52

HSC2

SMB56

SMB57

SMD58

SMD62

HSC3

SMB136

SMB137

SMD138

SMD142

HSC4

SMB146

SMB147

SMD148

SMD152

HSC5

SMB156

SMB157

SMD152

SMD162

 这里先以内部方向为例:0号计数器的0号模式,根据上表可知,0号计数器控制字节SMB37,0号模式只有一个I0.0输入。参见smb37的控制字节:

SMB37控制字节

控制位

描述

适用的计数器

SM37.0

复位电平:0=高电平有效  1=低电平有效

0.1.2.4

SM37.1

启动电平:0=高电平有效  1=低电平有效

1.2

SM37.2

正交计数器速率选择:0=4倍率   1=1倍率

0.1.2.4

SM37.3

计数方向控制:0=减   1=增

全部

SM37.4

写计数方向允许:0=不更新   1=允许更新

全部

SM37.5

写预设值允许:0=不更新   1=允许更新

全部

SM37.6

写当前值允许:0=不更新   1=更新

全部

SM37.7

高速计数指令执行允许:0=禁止 1=允许

全部

3.内部方向控制 

 根据字节选择相关的内容,37.0,37.1,37.2,与我们所选模式无关,默认为0。那么将2#11111000传送到控制字节就可以了!

初始值smd38(一般为0),预设值smd42(根据编码器每圈所转的数来设置),传入适当的数 

然后再触发HSC指令就行了! 

HDEF是选择几号计数器的几号模式,HSC是触发指令。  

银行编码Java工具 银行编码器怎么使用_经验分享_03

 

 根据图表可知,此计数器只可计数,并没有复位功能,无法复位,那么脉冲数只能累计无法清零。这里可以使用0号计数器的0号模式就可以,只需要在PLC输入点接上I0.2就可以。

4.外部方向控制 

关于外部方向控制,这里我们使用1号计数器的5号模式,此模式有脉冲,方向,复位,启动全面的功能。 1号计数器操作模式如图:

 

银行编码Java工具 银行编码器怎么使用_编码器_04

 这里里的增和减由I0.7控制,=0是减计数,=1是增计数,因为计数器和计数器模式都改变了,那么控制字节也要重新选择,将2#11111110传入smb47中。其他根据上表做相应的修改。

5.具有两个时钟输入的双相计数器 

这里我们使用1号计数器的8号模式,由外部输入控制,I0.6是增计数脉冲,I0.7是减计数脉冲,I1.0复位 ,I1.1启动,这里两个脉冲一个A相一个B相,不可同时接,启动一般用低电平,复位一般用高电平。

6.A/B相正交计数器 

1号计数器的11号模式,也是外部输入控制,I0.6是A相脉冲,I0.7是B相脉冲,I1.0复位,I1.1启动 ,需要注意AB两相都需要接上否则无法运行。

SMB37控制字节

控制位

描述

适用的计数器

SM47.0

复位电平:0=高电平有效  1=低电平有效

0.1.2.4

SM47.1

启动电平:0=高电平有效  1=低电平有效

1.2

SM47.2

正交计数器速率选择:0=4倍率   1=1倍率

0.1.2.4

SM47.3

计数方向控制:0=减   1=增

全部

SM47.4

写计数方向允许:0=不更新   1=允许更新

全部

SM47.5

写预设值允许:0=不更新   1=允许更新

全部

SM47.6

写当前值允许:0=不更新   1=更新

全部

SM47.7

高速计数指令执行允许:0=禁止 1=允许

全部

 这里我们使用了正交计数器,那么会用到sm47.2正交计数器速率选择,4倍频和1倍频只针对正交计数器,二者的区别:

1倍频:只在A相上升沿计数,与B相无关;

4倍频:在A相和B相的上升沿,下降沿都计数,精度很高;

四.记录电机所走的路程 

这里需要将步进电机和编码器联合在一起,所以为12号模式,具体可看定义。

sm0.1上电初始化,sm0.5不断的触发。 

银行编码Java工具 银行编码器怎么使用_时钟脉冲_05

银行编码Java工具 银行编码器怎么使用_银行编码Java工具_06

  

银行编码Java工具 银行编码器怎么使用_其他_07

这里实时监控当前值。 

 

总结 

 这里介绍里编码器的作用,指令,用法以及和步进电机的使用,这里仅是一种方法。