PLC/编码器/电机电表脉冲计数信号数据采集模块

电子说

1.3w人已加入

描述

plc脉冲量的控制多用于步进电机、伺服电机的角度控制、距离控制、位置控制等。以下是以步进电机为例来说明各控制方式。

  1、 步进电机的角度控制。首先要明确步进电机的细分数,然后确定步进电机转一圈所需要的总脉冲数。计算“角度百分比=设定角度/360°(即一圈)”“角度动作脉冲数=一圈总脉冲数*角度百分比。”

公式为:角度动作脉冲数=一圈总脉冲数*(设定角度/360°)。

  2、 步进电机的距离控制。首先明确步进电机转一圈所需要的总脉冲数。然后确定步进电机滚轮直径,计算滚轮周长。计算每一脉冲运行距离。最后计算设定距离所要运行的脉冲数。

  公式为:设定距离脉冲数=设定距离/[(滚轮直径*3.14)/一圈总脉冲数]

  3、 步进电机的位置控制就是角度控制与距离控制的综合。

  以上只是简单的分析步进电机的控制方式,可能与实际有出入,仅供各位同仁参考。

  伺服电机的动作与步进电机的一样,但要考虑伺服电机的内部电子齿轮比与伺服电机的减速比。有些事情说起来比较简单,但实际应用就有难度了。请大家在实际的工作中领悟其中的道理。

数据采集模块数据采集模块数据采集模块

IBF69字符协议命令集:

模块的出厂初始设置,如下所示:

地址代码为01

波特率9600 bps 

禁止校验和

如果使用 RS-485网络,必须分配一个不重复的地址代码,地址代码取值为16进制数在00和FF之间,由于新模块的地址代码都是一样的,他们的地址将会和其他模块矛盾,所以当你组建系统时,你必须重新配置每一个IBF69模块地址。可以在接好IBF69模块电源线和RS485通讯线后,通过配置命令来修改IBF69模块的地址。波特率,校验和状态也需要根据用户的要求而调整。而在修改波特率,校验和状态之前,必须让模块先进入缺省状态,否则无法修改。

让模块进入缺省状态的方法:

IBF69模块边上都有一个INIT的开关,在模块的侧面位置。将INIT开关拨到INIT位置,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:

地址代码为00

波特率9600 bps

禁止校验和

这时,可以通过配置命令来修改IBF69模块的波特率,校验和状态等参数。在不确定某个模块的具体配置时,也可以将INIT开关拨到INIT位置,使模块进入缺省状态,再对模块进行重新配置。

注: 正常使用时请将INIT开关拨到NORMAL位置。

    字符协议命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,一次只指挥一个IBF69模块。

命令格式:(Leading Code)(Addr)(Command)[data][checksum](cr)

(Leading code) 首码是命令中的第一个字母。所有命令都需要一个命令首码,如%,$,#,@,...等。       1- 字符

(Addr)      模块的地址代码, 如果下面没有指定,取值范围从 00~FF (十六进制)。                2- 字符 

(Command) 显示的是命令代码或变量值。                                                   变量长度

[data]      一些输出命令需要的数据。                                                     变量长度 

[checksum] 括号中的Checksum(校验和)显示的是可选参数,只有在启用校验和时,才需要此选项。 2- 字符

(cr)        识别用的一个控制代码符,(cr)作为回车结束符,它的值为0x0D。                      1- 字符 

当启用校验和(checksum)时,就需要[Checksum]。它占2-字符。命令和应答都必须附加校验和特性。校验和用来检查所有输入命令,来帮助你发现主机到模块命令错误和模块到主机响应的错误。校验和字符放置在命令或响应字符之后,回车符之前。

计算方法:两个字符,十六进制数,为之前所发所有字符的ASCII码数值之和,然后与十六进制数0xFF相与所得。

应用举例:禁止校验和(checksum)

       用户命令   $002(cr)

       模块应答   !00020600 (cr)

 启用校验和(checksum)

用户命令    $002B6 (cr)

       模块应答   !00020600 A9 (cr)

      ‘$’ = 0x24   ‘0’ = 0x30   ‘2’ = 0x32

  B6=(0x24+0x30+0x30+0x32) AND 0xFF

      ‘!’ = 0x21   ‘0’ = 0x30  ‘2’ = 0x32   ‘6’ = 0x36

 A9=(0x21+0x30+0x30+0x30+0x32+0x30+0x36+0x30+0x30) AND 0xFF

命令的应答:

应答信息取决于各种各样的命令。应答也由几个字符组成,包括首代码,变量和结束标识符。应答信号的首代码有两种, ‘!’或 ‘>’表示有效的命令而‘?’ 则代表无效。通过检查应答信息,可以监测命令是否有效

注意:1、在一些情况下,许多命令用相同的命令格式。要确保你用的地址在一个命令中是正确的,假如你用错误的地址,而这个地址代表着另一个模块,那么命令会在另一个模块生效,因此产生错误。

2、必须用大写字母输入命令。

3、(cr)代表键盘上的回车符,不要直接写出来,应该是敲一下回车键(Enter键)。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分