基于PLC的高速计数器
- 格式:doc
- 大小:162.00 KB
- 文档页数:4
PLC高速计数器在双速电梯中的应用内容摘要:本文通过对一台plc控制的双速电梯将楼层永磁感应器部分改造为利用plc本身的高速计数器资源,通过井道自学习来提供减速点与楼层位置信号,以实现电梯控制,简要地从理论上介绍了井道自学习的功能要求及其流程。
同时,通过对电梯的实际改造,阐叙了如何运用plc高速计数器来进行逻辑运算,以得到减速点和楼层信号,以及改造后对一些存在问题的调试处理。
中图分类号:th724文献标识码: a 文章编号:一、引言我公司在泰然工贸园204栋东侧装有一台六层六站劲达牌双速人货梯,使用以来经常出现楼层显示错误,到站不停车,冲顶、蹲底等故障现象。
经检查发现电梯楼层永磁感应器动作不灵敏,易粘死;某些楼层遮磁板与楼层永磁感应器接合距离偏差大,线路松动接触不良,是造成电梯出现这些故障的主要原因,针对这些情况,结合该梯是采用三菱fx2nplc进行控制的特点,提出一个解决问题的思路:取消该梯的所有楼层永磁感应器,利用plc本身的高速计数器资源,用脉冲测距的方法来提供减速点与楼层位置信号,达到实际电梯控制的目的。
二、井道自学习的功能要求脉冲测距的实质就是通过plc对输入脉冲数的逻辑运算,将减速点与楼层位置信号用自学习的方式送入各寄存器中,因此井道自学习应满足如下要求:(1)电梯可以检修运行。
(2)安全回路\门锁回路正常。
(3)plc输入\输出信号应满足正常运行要求。
(4)用平层感应器作为门区信号,如图一所示。
(5)井道内每层均应有一块遮磁板,其长度应相等,且安装在准确的平层位置。
(6)x0作为高速计数器的输入端。
(7)光码盘安装于马达轴端,产生脉冲,供plc进行逻辑运算。
(8)每个脉冲所等效电梯运行距离计算公式如下:l=dπi/p式中,d 曳引轮直径;i 曳引机减速比;p旋转编码器的分辨率。
(9)plc的停电保持寄存器为d200 d799。
三、井道自学习的流程图井道自学习的流程如图二所示,运行过程如下:电梯置于底层平层位置,设置为检修状态,将自学习开关拨至自学习状态,产生一个上微分指令,将自学习程序中用到的高速计数器\寄存器\变址寄存器全部清零。
三菱plc高速计数器和编码器应用编码器的作用相信大家会经常听到,但是,到底怎么用,相信很多人是一知半解,那么,今天陈老师就给大家分享一下具体的使用方法。
使用编码器之前,我们需要先学习高速计数器的概念。
一、什么时高速计数器假如我们的plc的X0点接入了一个按钮,在plc里面写入以下的程序,我们按住按钮1次,那么计数器就会记1,按2次就记2,… …我们按1000次了,计数器c0的常开触点就会闭合,这很好理解。
假如我1秒按一次,那么,人为去按,那么按个1000次就能导通。
重点来了,如果说我不接按钮,我接了个光电感应器或者编码器去感应,由机器去触发,机器运行的速度非常快,可能1秒按了几百次,甚至几百几千次,我们的X0的常开触点就感应不了了,那么怎么办,我们可以用高速计数器。
如下表,是我们的单相的高速计数器假如我把光电感应器接到,X0,那么C235,就是它的专用的计数器,X0每感应到的每一个信号都会用C235进行计数,我们用以下程序就能把X0感应到的脉冲数存放到D235里面。
(同理,C236记录的是X1的脉冲数;C237记录的是X2的脉冲数… …)当然计数器的计数频率是有个极限的,普通的FX系列的X点,接受的速度是50KHz,就是1秒钟能接收导通50 000次。
接下来,看看编码器是怎么使用的。
二、编码器的使用(相对值编码器)右图是一个编码器,转动上面的轴可以发出2个信号,每转动一定的角度,这2个输出都会闭合一定的次数,就像上面的光电感应器的接线一样,接线可以接到2个X点上面去。
然后我们可以通过高速计数器来对它进行计数,从而知道它转动了多少距离。
它与前面那种一个点输入的感应器又不一样,编码器正转计数会增加,反转计数应该减少。
作用的话定位才能准确。
这时我们需要用到下面另外一种高速计数器如下图:我们可以选用C251到C255这几个计数器,假如我的编码器接的是X0和X1(接线后面再讲),那么选用的就是C251,我们来写一段程序看看:这样,我们就把编码器记录的位置记录在D0、D1两个寄存器里面了。
PLC高速计数器功能应用在定位控制上的案例一、概述切纸机械是印刷和包装行业最常用的设备之一。
切纸机完成的最基本动作是把待裁切的材料送到指定位置,然后进行裁切。
其控制的核心是一个单轴定位控制。
我公司引进欧洲一家公司的两台切纸设备,其推进定位系统的实现是利用单片机控制的。
控制过程是这样的,当接收编码器的脉冲信号达到设定值后,单片机系统输出信号,断开进给电机的接触器,同时电磁离合制动器的离合分离,刹车起作用以消除推进系统的惯性,从而实现精确定位。
由于设备的单片机控制系统老化,造成定位不准,切纸动作紊乱,不能正常生产。
但此控制系统是早期产品,没有合适配件可替换,只能采取改造这一途径。
目前国内进行切纸设备进给定位系统改造主要有两种方式,一是利用单片机结合变频器实现,一是利用单片机结合伺服系统实现,不过此两种改造方案成本都在两万元以上。
并且单片机系统是由专业开发公司设计,技术保守,一旦出现故障只能交还原公司维修或更换,维修周期长且成本高,不利于改造后设备的维护和使用。
我们结合自己设备的特点提出了新的改造方案,就是用PLC的高速计数器功能结合变频器的多段速功能实现定位控制,并利用HMI(人机界面HumanMachineInterface)进行裁切参数设定和完成一些手动动作。
二、改造的可行性分析现在的大多PLC都具有高速计数器功能,不需增加特殊功能单元就可以处理频率高达几十或上百KHz的脉冲信号,而切纸机对进给系统的精度和响应速度要求不是很高。
可以通过对切纸机进给系统相关参数的计算,合理的选用编码器,让脉冲频率即能在PLC处理的范围内又可以满足进给的精度要求。
在进给过程中,让PLC对所接收的脉冲数与设定数值进行比较,根据比较结果驱动相应的输出点对变频器进行输出频率的控制,实现接近设定值时进给速度变慢,从而减小系统惯性,达到精确定位的目的。
另外当今变频器技术取得了长足的发展,使电机在低速时的转矩大幅度提升,从而也保证了进给定位时低速推进的可行性。
高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
三菱PLC高速計數器FX2N主機內建多個高速計數器,編號從C235到C255共21個,高速計數器又可分為1相1計數、1相2計數和2相2計數三種,它們的脈波輸入端和復歸端分別由X0〜X7輸入接點來控制,如表2-8所示。
高速計數器全部具停電保持功能。
表2-8 高速計數器的編號1相1計數1相2計數2相2計數輸入端C235 C236 C237 C238 C239 C240 C241 C242 C243 C244 C245 C246 C247 C248 C249 C250 C251 C252 C253 C254 C255 X0 U/D U/D U/D U U U A A AX1 U/D R R D D D B B BX2 U/D U/D U/D R R R RX3 U/D R R U U A AX4 U/D U/D D D B BX5 U/D R R R R RX6 S S SX7 S S S U:上數計數D:下數計數R:復歸S:啟動A:A相輸入B:B相輸入表2-8中C235是一個1相1輸入的高速計數器,它的脈波輸入端為X0;C241的脈波輸入端為X0,並且X1輸入端可作硬體復歸(Reset)。
另外,必須注意X0〜X7不可重複使用,一旦使用了C235的話,C241、C244、C246、C247、C249、C251、C252、C254就不能再使用。
高速計數器是一種32位元上/下數計數器,上數或下數的決定方法如表2-9所示:表2-9 高速計數器上/下數方法項目1相1計數1相2計數2相2計數上/下數方法M8235〜M8245=OFF時相對應的計數器上數=ON時下數M8246〜M8255上數下數有各自的輸入端M8246〜M8255A相輸入端ON時,B相輸入端OFF→ON時上數,ON→OFF時下數上/下數監視上數時M8246〜M8255相對號碼OFF下數時M8246〜M8255相對號碼ON 附註有些高速計數器具有硬體復歸端(R)及計數開始端(S)高速計數器的反應速度如下所示:1、使用C235、C236、C246、C251計數器(X0、X1)的反應速度如下所示,但是如果使用應用指令FNC53、54、55時反應速度與第2項相同。
使用PLC进行高速数据采集(如采集旋转编码器的脉冲信号)的方法,以下以FX系列PLC 进行说明。
1、功能FX系列PLC提供了高速脉冲计数功能,通过这一功能可以连接编码器以测量位置,或积算仪表以计算累积量数值。
与高速计数功能有关的I/O和软元件有以下: 1)输入点6点:X0‐X5,当该点输入控制高速计数器时,自动响应高速计数处理。
此外,X6和X7也是高速输入,但只能用于启动信号而不能用于高速计数。
2)计数器21点:C235‐C255,用于高速输入信号的计数,用法见下文。
3)辅助继电器21点:M8235‐M8255,与21个计数器对应,用于标识该计数器输入信号是增计数还是减计数(见下文)。
2、计数器的类型1)1相无启动/复位端子:C235‐C240。
2)1相有启动/复位端子:C241‐C245。
3)2相双向 :C246‐C250。
4)2相A‐B相:C251‐C255。
3、用法1)21个高速计数器共享一个PLC上的6个高速计数输入端。
如果输入被某计数器占用,它就不能用于其它计数器或其它用途,因此,最多可同时使用21个高速计数器中的6个。
2)高速计算器的选择并非任意,它取决于输入信号的类型和计数器的类型。
信号的类型必须与计数器的类型(见上文第2点)相匹配。
3)各输入点有多个高速计数器可选择,但不能同时用于多个计数器,即使用了一个计数器后,与该点对应的其它计数器就不可用了。
4)当M8~~~(M8235‐8245)为ON时单相高速计数器C~~~为减计数方式;OFF时为加计数方式;当M8~~~(M846‐8255)为ON时单相双输入高速计数器或双相计数器C~~~为减计数方式;OFF时为加计数方式;4、高速计数器与输入端的对应关系(见附图)注: 一, 高。
低于 计数 计算相2 型‐2U ‐增计数输5、程序例子 LD X10RST C246LD X11OUT C24功能:1)X0作为当X1"OFF ‐> 2)当X11 3)当X106、计数频率 1)各输入 2)全部高若一些计数于20KHZ 。
第20卷 第1期 吉 林 化 工 学 院 学 报Vol.20No.1 2003年3月JOURNAL OF J IL IN INSTITU TE OF CHEMICAL TECHNOLOGYMar. 2003收稿日期:2002-07-18作者简介:陈 艳(1970-),女,湖南株洲人,湖南冶金职业技术学院实验师,主要从事PLC 原理及其应用方面的研究. 文章编号:100722853(2003)0120067203PL C 高速计数器工作特点的介绍和分析陈 艳(湖南冶金职业技术学院实验实训中心,湖南株洲412000)摘要:为充分开发和利用PLC 高速计数器资源,以日本三菱FX 2系列PLC 为例,介绍和分析了PLC 高速计数器的工作特点.关 键 词:PLC ;高速计数器;工作特点中图分类号:TP 23 文献标识码:A 计数器是PLC 内部重要的软元件之一.在PLC 为核心部件的自动控制系统中,这种软元件通过相应的程序实现系统的实时准确的计数.高速计数器是PLC 计数器中常用的一种.如何正确使用这种计数器,有效拓宽PLC 的应用范围,这是实际使用PLC 高速计数器时经常遇到的问题之一.为充分开发和利用PLC 高速计数器资源,本文对这种计数器的5个主要工作特点进行介绍和讨论.1 对外部事件信号进行计数的特点PLC 内部有两种计数器,一种是对PLC 内部信号进行计数的计数器,另一种是对外部事件信号进行计数的计数器.高速计数器属于第二种.在PLC 中,这两种计数器的责任不同、分工明确、工作上不能互相代替.前一种计数器是对PLC 内部的输入继电器X 、输出继电器Y 、辅助继电器M 、状态寄存器S 、定时器T 等软元件的状态由ON ~OFF 或OFF ~ON 转换的次数进行计数.后一种计数器是对从输入端子X n (n =0,1,2,3,4,5)输入的外部事件信号进行计数的计数器.前一种计数器将输入继电器X n 的常开触点串联于自己的线圈回路中.当X n 得电,使其常开触点闭合,从而引起计数器的线圈得电.这种计数器可对内部时钟产生的脉冲信号进行计数,其工作原理如图1所示.后一种计数器至少需从两个端子输入信号方能实现计数.其中一个端子输入连续高电平信号,使计数器线圈得电,从而选中该计数器,另一个端子输入外部事件信号计数脉冲.其工作原理如图2所示.图1 内部信号计数器工作原理图图2 高速计数器工作原理图2 计数频率较高的特点高速计数器由于采用中断方式计数,因此其计数频率远高于内部信号计数器.高速计数器计数的脉冲信号频率一般在几千Hz以上,达最高频率时可从计数器的输入端子X n(n=0、2、3)输入10kHz的外部事件脉冲信号.但由于内部信号计数器是执行扫描操作时对内部元件X、Y、M、S、T等的信号进行计数,因此,其接通(ON)时间和断开(OFF)时间应比PLC扫描周期稍长,通常其输入信号频率大约为几个扫描周期.设PLC 扫描周期为10ms,内部元件ON和OFF的时间为5个PLC扫描周期,则内部信号计数器的计数频率为:f=1/T=1/10ms×5=20(Hz)f为内部信号计数器计数频率,T为内部信号计数器计数的周期.由此可见,内部信号计数器是一种低速计数器,而外部事件信号计数器是一种高速计数器.3 点数少、类型多的特点高速计数器的点数远比内部信号计数器少.如FX2系列PLC内部信号计数器有16bit的通用二进制增计数器C0~C99、停电保持用二进制增计数器C100~C199,还有32bit通用的计数器C200~C219、保持计数器C220~C234.它们共计235点.而高速计数器只有C235~C255,共仅21点.后者仅为前者的1/10左右.虽然高速计数器点数少,但是它们的功能分布和使用条件却比内部信号计数器复杂得多.高速计数器的选择并不是任意的,它取决于所需计数器的类型及高速输入的端子.高速计数器的类型为4种:即1相无启动/复位端子的计数器C235~C240;1相带启动/复位端子的计数器C241~C245;2相双向计数器C246~C250和2相A~B相计数器C251~C255.同时,高速计数器各输入端子的响应速度不同,X0、X2和X3端子的响应最高频率为10 kHz,X1、X4和X5端子的响应最高频率为7kHz.在使用高速计数器时,只有弄清它的类型、各输入端子的响应最高频率、计数器的功能和使用条件,才能达到正确使用该计数器的要求.4 频率总和必须小于某一确定值的特点 各高速计数器的频率总和必须小于某一确定值[1].如FX2系列PLC高速计数器的频率总和必须小于20kHz.若使用的高速计数器越少,则这些计数器的计数频率越高.若一些高速计数器用较低频率计数,则另一些高速计数器可用较高频率计数.高速计数器总频率必须小于某一确定值的原因,是这种计数器独立于PLC的扫描周期,按中断原则进行操作运行.在高速计数器的操作运行中,各外部事件计数信号输入端都为PLC 外部中断信号源.当某一外部事件计数信号从高速计数器输入端输入时,其输入电平的跳变产生向CPU申请的中断请求信号.CPU响应中断后转向执行高速计数器的计数中断服务程序.由于各外部事件计数信号中断源都共用同一个计数中断服务程序,因此,各高速计数器的频率总和为一常数.在使用多个高速计数器分别对外部事件计数时,只有被使用的高速计数器的计数频率总和保持常数,并且这个常数符合最高频率的限制条件,才能使高速计数器实现准确计数.5 各类型高速计数器频率的特点在计算各高速计数器频率总和时,必须先计算各类型高速计数器的频率,然后再将这些频率求和.单相高速计数器频率与相应的外部事件计数信号频率相同.2相计数器频率要视计数器类型的不同而采取不同的方法进行计算.现介绍2相A~B相和2相增减计数双向型计数器的频率.(1)2相A~B相高速计数器的频率2相A~B相高速计数器的增减计数方式,是通过比较A、B两相之间的相位差来确定的.如FX2系列PLC的2相A~B相高速计数器是当A 相波形为ON时,通过判断B相波形的跳变方向来确定增减计数方式.如图3所示.当A的波形为ON时,若B的波形为正向跳变,则为增计数方式.若B相的波形为负向跳变,则是减计数方式.由图3可知,在2相A~B相高速计数器计数时, PLC内部的CPU不仅要在判别A、B相的相位差时分别对A相和B相采样一次,而且在计数时还86 吉 林 化 工 学 院 学 报2003年 要分别对A 、B 相采样一次.因此,2相A ~B 相高速计数器的计数频率为:图3 2相A ~B 相高速计数器增减计数方式示意图f C =f AO +f BO +f A +f B式中f C 为2相A ~B 相高速计数器的计数频率,f AD 为计数采样时A 相的信号频率,f BD 为计数采样时B 相的信号频率,f A 为比较相位时采样A 相的信号频率,f B 为比较相位时采样B 相的信号频率.若A 、B 相信号同频率,且相位差恒定不变,则有:f AO =f BO =f A =f Bf C =4f AO =4f BO =4f A =4f B由上式可知,在计算各高速计数器频率总和时,应将2相A ~B 相高速计数器某一相计数信号频率乘以4.(2)2相增减计数双向型高速计数器的计数频率在确定2相增减计数双向型高速计数器的计数频率时,原则上按1相计数器的计数频率来确定.其原因为增计数和减计数往往不会同时发生.若为特殊情况,增减计数脉冲同时到达计数器时,则应将这种计数器作为2相信号计数器来确定其频率. 以上特点中,第四、第五个特点在使用高速计数器时显得尤其重要.这是因为在使用该计数器时,首先必须分析和计算各高速计数器的频率以及它们的频率总和.如使用FX 2系列PLC 时,这种频率总和必须小于20kHz [2].当使用2相A ~B 相高速计数器,且在计算各高速计数器频率总和时,这种计数器的最大信号频率(不高于2kHz )应乘以4后再与其它计数器的频率相加.如某PLC 控制系统使用1相C237、双相C246、A ~B 相C255这3个高速计数器分别对外部事件信号进行计数.1相C237从X2输入、最高信号频率3kHz ,双相C246从X0和X1输入、最高信号频率8KHz ,A ~B 相C255从X3和X4输入、最高信号频率2kHz ,则这3个计数器的频率总和为:3+8+(2×4)=19(kHz )由于该频率总和小于20kHz ,因此这3个高速计数器能对外部事件信号准确进行计数.本文简要介绍和分析了PLC 高速计数器的几个主要特点.这几个特点很有必要引起PLC 使用者的注意.因为只有真正了解和掌握了PLC 高速计数器的这些特点,才能在实际应用中达到正确使用这些计数器的要求.参考文献:[1] 钟肇新.可编程控制器原理及应用[J ].广州:华南理工大学出版社,2000.5[2] 万太福.可编程序控制器及其应用[J ].重庆:重庆大学出版社,1994.5Introduction and analysis of working features of PLC high 2speed counterCHEN Yan(Experimental Training Centre ,Hunan Professional Technology College ,Zhuzhou 412000,China )Abstract :For utilizing and tapping the sources of PLC high 2speed counter ,the working features of PLC high 2speed counter are introduced and analyzed with the instance of PLC of Japanese Mitsubishi FX 2se 2ries.K ey w ords :PLC ;high 2speed counter ;working features96 第1期陈 艳:PLC 高速计数器工作特点的介绍和分析 。
实例|S7-1200PLC高速计数器的用法及应用详解S7-1200 CPU 提供了最多 6 个(1214C )高速计数器,其独立于 CPU 的扫描周期进行计数。
可测量的单相脉冲频率最高为100KHz ,双相或A/B 相最高为30KHz ,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能。
一、高速计数器工作模式高速计数器定义为 5 种工作模式1、计数器,外部方向控制。
2、单相计数器,内部方向控制。
3、双相增 /减计数器,双脉冲输入。
4、5A/B 相正交脉冲输入。
5、监控 PTO 输出。
每种高速计数器有两种工作状态。
1、外部复位,无启动输入。
2、内部复位,无启动输入。
所有的计数器无需启动条件设置,在硬件向导中设置完成后下载到 CPU 中即可启动高速计数器,在 A/B 相正交模式下可选择 1X(1 倍) 和 4X(4 倍)模式,高速计数功能所能支持的输入电压为 24V DC, 目前不支持 5V DC 的脉冲输入,表 8-1 列出了高速计数器的硬件输入定义和工作模式。
并非所有的 CPU 都可以使用 6 个高速计数器,如 1211C 只有 6 个集成输入点,所以最多只能支持4 个(使用信号板的情况下)高速计数器。
由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式。
高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入监控PTO 的模式只有 HSC1 和 HSC2 支持,使用此模式时,不需要外部接线,CPU 在内部已作了硬件连接,可直接检测通过PTO 功能所发脉冲。
二、高速计数器寻址CPU 将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为 32 位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。
如何实现用PLC采集高于其高速计数器最高计数频率的脉冲数据的探讨2011/12/20 13:22:16∙关键词:COS集成电路TTL集成电路∙摘要:PLC 虽然内部都含有高速计数器,其最高计数频率为50KHz(一般均为10KHz或20KHz)以下,对高于其最高频响的输入脉冲,PLC的高速计数器就无能为力了。
本文介绍如何借助于硬件电路配合PLC编程来实现对高于PLC的高速计数器的最高频响的输入脉冲进行数据采集的二种实施方案。
如何实现用PLC采集高于其高速计数器最高计数频率的脉冲数据的探讨目前的PLC其内部都含有高速计数器,其最高计数频率为50KHz(一般均为10KHz 或20KHz)以下,对高于其最高频响的输入脉冲,PLC的高速计数器就无能为力了。
那么对高于其最高频响的输入脉冲,用PLC能否进行数据采样呢?答案是可以的,但必须要借助于硬件电路方可实现。
下面将介绍如何用硬件配合PLC编程,来实现对高于PLC的高速计数器的最高频响的输入脉冲进行数据采集的方法。
数据采集通常有二种方式:1、定时计数采集数据。
比如输入一脉宽=10毫秒的方波脉冲,在此10毫秒方波脉宽内计数器由0开始计数,方波结束后计数器停止计数,其方波后沿读取计数值的采集方式。
2、等间隔连续采集数据。
比如对正在计数中的计数器每隔0.1秒读取一次计数值的采集方式。
下面将分别介绍这二种数据采集的实施方案:一、用硬件计数器配合PLC高速计数器进行等间隔定时计数的数据采集图一为用硬件计数器配合PLC高速计数器进行定时计数采集数据的硬件电路图,(一)、硬件电路图工作原理解析图一中的JI输入接口:其1脚接JM脉冲即为高频计数脉冲;3脚接KM控制即为计数控制门信号。
U1A(4520)为4位二进制计数器,U1A 中的EN点为计数器的计数脉冲输入端,其计数脉冲的下跳沿计数有效。
U1A 中的Q0~Q3为U1A数据输出端,分别代表1、2、4、8,其4位组合输出代表计数器的计数值。
西门子S7-200PLC高速计数器的使用由于西门子S7-200系列PLC高速计数器需要定义才能有效,所以需要注意一些细节。
一、S7-200系列PLC的编程环境有向导可以自动生成高速计数器指令,打开STEP 7 MicroWIN,点击“工具”菜单下的“指令向导”,在弹出的对话框内选择HSC配置高速计数器操作,如下图:点击下一步,弹出选择高数计数器及模式对话框,选择所需要的高数计数器及其模式,如下图:再点击下一步,弹出配置计数器方向及速率的对话框,选择适合的选项。
选择后再点击下一步,弹出配置当前值=预置值中断选择对话框,并可以选择中断步数。
每一步都可以执行一系列动作,根据自己的需要来选择。
点击下一步,弹出配置第一步的对话框,根据自己选择的步数,会出现多个这样的对话框。
各步完成后,点击下一步弹出完成对话框,点击完成,系统自动生成了高速计数器的指令。
二、使用自动生成的指令有些死板,我习惯自己编写程序。
1、首先建立子程序,在子程序内定义高速计数器,如下:主程序内各步执行采用比较指令实现:2、西门子S7-200系列PLC没有高速计数器当前值断电保持功能(不能在系统块断电保持内设置),所以要用编程的方式实现。
例如:采用VD1000作为中间值寄存器,在系统上电时调用定义高速计数器子程序时,将VD1000内的数据传送到高速计数器当前值,如下:在主程序内定义系统第一次上电扫描不传送高速计数器当前值至VD1000,如下:3、在系统块设置VD1000断电保持。
三、西门子S7-200系列PLC高速计数器输入端口选择:根据自己的编码器的PNP、NPN形式,配置PLC的端口高低电平有效,如果是高电平有效,应选择PNP编码器;如果低电平有效,应选择NPN编码器。
高电平有效时,应将输入端口的M接至0V;低电平有效时,应将输入端口的M接至+24V。
0引言随着自动化水平的不断提高,越来越多的工业场合需要精确的位置控制[1]。
本文是以亚龙YL-335B型自动化生产线为平台,该生产线由供料、加工、装配、分拣和输送5个单元组成。
其中,分拣单元是YL-335B生产线中的最末单元,对输送单元送来的已加工、装配好的工件进行分拣。
当输送单元送来工件放到传送带上并被入料口光电传感器检测到时,即启动变频器,三相异步交流电动机拖动传送带输送工件,使不同颜色和材质的工件在不同的位置从不同的料槽分流。
因此,准确的位置控制非常关键。
1传送带位置控制系统硬件设计1.1硬件组成在YL-335B型自动化生产线上,分拣站主要实现工件到指定料槽的分流。
本文设计的传送带位置控制系统由PLC、三相交流异步电机、编码器、变频器及传送带机构组成。
其工作原理是变频器启动后,控制电机以一定转速运行,驱动传送带工作,利用旋转编码器将传送带上工件的位移转化为脉冲数,用PLC内置的高速计数器对编码器发出的脉冲进行计数,对传送带上的工件进行准确位置控制,从而实现工件的分流。
PLC选用SIEMENS公司的S7-200-224XP/DC/RLY型PLC,内置HSC0~HSC5共6个高速计数器;编码器选用增量式旋转编码器,分辨率为500线,工作电源为DC12~24V,与电动机同轴联接;驱动电机采用三相交流异步电动机,功率为0.37Kw,额定电压为380V,其作用是驱动传送带输送工件;变频器采用西门子MM420机型,电源电压为380V,额定功率为750W,用来控制三相交流异步电动机的转速。
1.2增量式旋转编码器概述增量式旋转编码器由码盘和光电检测装置组成[2]。
码盘是在一定直径的圆板上等分地开通若干个长方形狭缝。
由于码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号。
为了反映电机旋转的方向,通常利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差90°。
高速计数器
概述
本例叙述SIMATIC S7-200的高速计数器(HSC)的一种组态功能。
对来自传感性(如编码器)
信号的处理,高速计数器可采用多种不同的组态功能。
本例用脉冲输出(PLS)来为HSC产生高速计数信号,PLS可以产生脉冲串和脉宽调制信号,
例如用来控制伺服电机。
既然利用脉冲输出,必须选用CPU 224DC/DC/DC。
下面这个例子,展示了用HSC和脉冲输出构成一个简单的反馈回路,怎样编制一个程序来实
现反馈功能。
例图
224
高速计数器输入
程序和注释
本例描述了S7-200 DC/DC/DC 的高速计数器(HSC)的功能。
HSC 计数速度比PLC 扫描时间快得多,采用集成在CPU 224中的20K 硬件计数器进行计数。
总的来说,每个高速计数器需要10个字节内存用来存控制位、当前值、设定值、状态位。
本程序长度为91个字。
// 主程序:
// 在主程序中,首先将输出Q0.0置,0,因为这是脉冲输出功能的需要。
再初始化高速计
// 数器HSC0,然后调用子程序0和1。
// HSC0起动后具有下列特性:可更新CV 和PV 值,正向计数。
// 当脉冲输出数达到SMD72中规定的个数后,程序就终止。
// 主程序
LD SM0.1 // 首次扫描标志(SM0.1=1)。
R Q0.0,1 // 脉冲输出Q0.0复位(Q0.0=0)。
MOVB 16#F8,SMB37 // 装载HSC0的控制位:
// 激活HSC0,可更新CV ,可更新PV ,
// 可改变方向,正向计数。
// HSC 指令用这些控制位来组态HSC 。
MOVD 0,SMD38 // HSC0当前值(CV )为0。
MOVD 1000,SMD42 // HSC0的第一次设定值(PV )为1000。
HDEF 0,0 // HSC0定为模式0。
CALL 0 // 调用子程序0。
CALL 1 // 调用子程序1。
MEND // 主程序结束。
// * * * * * * * * * * * * * * * * * * * *
// 子程序0: …………. INT1 INT0 INT2 …………. …………. 1000 1500 1000
// 子程序0初始化,并激活脉冲输出(PLS)。
// 在特殊存储字节SMB67中定义脉冲输出特性:脉冲串(PT0),时基,可更新数值,激活PLS。
// SMW68定义脉冲周期,其值为时基的倍数。
// 最后,在SMD72中指定需要产生的脉冲数。
(SMD72)为内存双字,即4个字节)。
// 子程序0
SBR 0 // 子程序0
MOVB 16#8D,SMB67 // 装载脉冲输出(PLS0)的控制位:PT0,时基1ms,可更新,激活。
MOVW 1,SMW68 // 脉冲周期1ms。
MOVD 30000,SMD72 // 产生30000个脉冲。
PLS 0 // 起动脉冲输出(PLS 0),从输出端Q0.0输出脉冲。
RET // 子程序0结束。
// * * * * * * * * * * * * * * * * * * * *
// 子程序1:
// 子程序1起动HSC0,并把中断程序0分配给中断事件12(HSC 0的当前值CV等于设定值PV)。
// 只要脉冲计数值(当前值CV)达到设定值(PV),该事件就会发生。
// 最后,允许中断。
// 子程序1
SBR 0 // 子程序1。
ATCH 0,12 // 把中断程序0分配给中断事件12(HSC 0的CV=PV)。
ENI // 允许中断。
HSC 0 // 按主程序中对HSC 0的初始组态特性,起动HSC0。
RET // 子程序1结束。
// * * * * * * * * * * * * * * * * * * * *
// 中断程序0:
// 当HSC 0的计数脉冲达到第一,设定值1000时,调用中断程序0。
// 输出端Q0.1置位(Q0.1=1)。
// 为HSC 0设置新的设定值1500(第二设定值)
// 用中断程序1取代中断程序0,分配给中断事件12(HSC 0的CV=PV)。
// 中断程序0
INT 0 // 中断程序0。
S Q0. 1,1 // 输出端Q0.1置位(Q0.1=1)。
MOVB 16#A0,SMB37 // 重置HSC 0的控制位,仅更新设定值(PV)。
MOVD 1500,SMD42 // HSC 0的下一个设定值为1500(第二设定值)。
ATCH 1,12 // 用中断程序1取代中断程序0,分配给中断事件12。
HSC 0 // 起动HSC 0,,为其装载新的设定值。
RETI // 中断程序0结束。
// * * * * * * * * * * * * * * * * * * * *
// 中断程序1:
// 当HSC 0的计数脉冲达到第二设定值1500时,调用中断程序1。
// 输出端Q0.2置位(Q0.2=1)。
// HSC 0改成减计数,并置新的设定值1000(第三设定值)。
// 用中断程序2取代中断程序1,分配给中断事件12(HSC 0的CV=PV)。
// 中断程序1:
INT 1 // 中断程序1。
S Q0. 2,1 // 输出端Q0.2置位(Q0.2=1)。
MOVB 16#B0,SMB37 // 重置HSC 0的控制位,更新设定值,并改成减计数(反向计数)。
MOVD 1000,SMD42 // HSC 0的下一个设定值为1000(第三设定值)。
ATCH 2,12 // 用中断程序2取代中断程序1,分配给中断事件12。
HSC 0 // 起动HSC 0,,为其装载新的设定值和方向。
RETI // 中断程序1结束。
// * * * * * * * * * * * * * * * * * * * *
// 中断程序2:
// 当HSC 0的计数脉冲达到第三设定值1000时,调用中断程序2。
// 输出端Q0.1和Q0.2复位(Q0.1=0,Q0.2=0)。
// HSC 0的计数方向重新改为正向(增计数),并将当前计数值置为0,而设定值PV保持不变(1000)。
// 重新把中断程序0分配给中断事件12,程序再次起动HSC 0运行。
// 当脉冲数达到SMD72中规定的个数后,程序就终止。
// 中断程序2:
INT 2 // 中断程序2。
R Q0. 1,2 // 输出端Q0.1和Q0.2复位(Q0.1=0,Q0.2=0)。
MOVB 16#D8,SMB37 // 重置HSC 0的控制位,更新CV,改为正向计数(增计数)。
MOVD 0,SMD38 // HSC 0的当前值复位(CV=0)。
ATCH 0,12 // 把中断程序0分配给中断事件12。
HSC 0 // 重新起动HSC 0。
RETI // 中断程序2结束。