PLC高速计数器
- 格式:ppt
- 大小:623.50 KB
- 文档页数:54
三菱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項相同。
高速计数器S7-1200CPU本体提供了最多6路高速计数器,其独立于CPU的扫描周期进行计数。
其中CPU1217C可测量的脉冲频率最高为1MHz(差分信号),其它型号的S7-1200CPU可测量到的单相脉冲频率最高为100kHz,A/B相最高为80kHz。
如果使用信号板还可以测量单相脉冲频率高达200kHz的信号,A/B相最高为160kHz。
S7-1200CPU和信号板具有可组态的硬件输入地址,因此可测量到的高速计数器频率与高速计数器号无关,而与所使用的CPU和信号板的硬件输入地址有关。
表1和表2显示了CPU集成输入点与信号板可用于高速计数器的信息。
一、编码器基础1.光电编码器编码器是传感器的一种,主要用来检测机械运动的速度、位置、角度、距离和计数等,许多马达控制均需配备编码器以供马达控制器作为换相、速度及位置的检出等,应用范围相当广泛。
按照不同的分类方法,编码器可以分为以下几种类型:根据检测原理,可分为光学式、磁电式、感应式和电容式。
根据输出信号形式,可以分为模拟量编码器、数字量编码器。
根据编码器方式,分为增量式编码器、绝对式编码器和混合式编码器。
光电编码器是集光、机、电技术于一体的数字化传感器,主要利用光栅衍射的原理来实现位移—数字变换,通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。
典型的光电编码器由码盘、检测光栅、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。
光电编码器具有结构简单、精度高、寿命长等优点,广泛应用于精密定位、速度、长度、加速度、振动等方面。
2.增量式编码器增量式编码器提供了一种对连续位移量离散化、增量化以及位移变化(速度)的传感方法。
增量式编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,它能够产生与位移增量等值的脉冲信号。
增量式编码器测量的是相对于某个基准点的相对位置增量,而不能够直接检测出绝对位置信息。
如图1-1所示,增量式编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成。
一、概述在工业自动化控制系统中,计数器是一个非常重要的组成部分,用于对输入信号进行计数、测量、监控等操作。
在PLC(可编程逻辑控制器)中,高速计数器是一种特殊的计数器,能够实现对高速脉冲信号的准确计数和处理。
本文将重点讨论PLC高速计数器中的ab相脉冲,包括其工作原理、应用场景以及参数设置等方面。
二、PLC高速计数器概述1. PLC高速计数器的作用PLC高速计数器主要用于对高速脉冲信号进行计数、频率测量和脉冲宽度测量等操作。
相比普通计数器,高速计数器的计数速度更快、精度更高,适用于对高速运动设备和快速信号进行监控和控制。
2. PLC高速计数器的工作原理高速计数器通常采用ab相计数原理,即通过两个输入通道分别接收脉冲信号,实现对脉冲信号的双相计数。
ab相脉冲之间存在一定的相位差,能够克服脉冲信号的间隔时间不均匀等问题,提高计数的准确性和稳定性。
三、AB相脉冲接口1. AB相脉冲的定义AB相脉冲是指两个相位差为90度的脉冲信号,通常用于表示旋转或振动系统的运动状态。
其中,A相信号表示正向运动,B相信号表示反向运动,两者配合能够准确地表达系统的位置、速度和加速度。
2. AB相脉冲的接口在PLC高速计数器中,AB相脉冲通常通过专用的脉冲输入端子进行连接,其中A相信号接入A相脉冲输入端子,B相信号接入B相脉冲输入端子。
通过这种方式,PLC可以准确地获取AB相脉冲信号,实现高速计数和运动控制。
四、PLC高速计数器中AB相脉冲的应用1. 高速运动控制在工业生产线上,许多设备需要进行高速运动控制,如输送带、旋转机械等。
PLC高速计数器通过对AB相脉冲进行计数和监控,能够实时掌握设备的运动状态,并对其进行精准的调节和控制。
2. 反向运动检测AB相脉冲信号的正反向特性使得其在反向运动检测中非常有效。
通过监测AB相脉冲的变化,PLC可以及时发现设备的反向运动情况,减少设备的损耗和运行故障。
五、PLC高速计数器中AB相脉冲的参数设置1. 脉冲输入方式在PLC高速计数器的参数设置中,需要选择正确的脉冲输入方式,包括AB相脉冲计数、频率测量、脉冲宽度测量等多种方式,以满足不同的应用需求。
plc中高数计数器误差
PLC高速计数器在计数过程中可能会产生计数误差,导致计数精度不稳定、不可靠、产生累计误差、出现偶发性的计数出错等一系列问题,主要原因包括:
- 计数器与输入计数脉冲信号的脉冲电平不匹配。
- 在应用旋转编码器、光栅尺的场合,非单方向匀速运动,其运动速度不确定。
- 计数脉冲频率不高,但PLC高速脉冲计数器对计数脉冲的沿口有速率要求。
- 工业现场存在复杂的干扰群,如电动机的启动停止、大电流接触器的切换、可控硅的调相干扰、电弧电脉冲、电磁波等,可能会产生寄生毛刺信号或寄生干扰脉冲。
为减少误差,可以选择匹配的接口,并处理好非单向匀速运动的情况,同时在计数脉冲频率不高的情况下,注意PLC高速脉冲计数器对计数脉冲沿口的速率要求。
在工业现场,可以采取有效的抗干扰措施,以提高计数的准确性。
三菱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两个寄存器里面了。
高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
建议收藏!西门子Smart200PLC高速计数器讲解
2018-12-05 10:14
通过一个例子讲解一下西门子Smart200PLC的高速计数输入应用。
用到的实验器材为:SmartPLC ST30 PLC 一个,编码器一个。
一、硬件接线
本例用PLC的I0.0与I0.1口主要接线见下图。
smartPLC集成有4个高速计数器,分别是HSC0,HSC1,HSC2,HSC3.对应的接线图中标记很清楚了。
这边我用红色部分标记的是我们这次实验用的接线与模式。
接线原理图
编码器类型为E6B2-CWZ5B,1000P/R
二、软件编程
1.把定义的I0.0与I0.1口的输入降噪滤波时间调整一下,满足实际高速输入的需求,具体见下图
对应的时间,对应的最大频率如下
2.通过向导定义高速计数
a.打开工具----高速计数器
b.定义HSC0
c.定义模式
d.预设值和倍频
e.定义当预设值和当前值一样时,触发中断程序
f.中断程序里面,我定义到达5000脉冲后把当前计数清零
3.向导生成后程序如下图
a.初始化程序和中断程序
b.在主程序里面SM0.1触发初始化程序
C.初始化程序部分
d.中断清零程序
三、最后程序监控HCO计数值。
PLC高速计数器测量电机转速的标准程序通过与电动机同轴齿轮齿条变化来测量电动机转速,电动机输出轴与齿轮的传动比=1,齿条数=12,要求测量单位:转/分钟。
主程序:子程序0主程序MAIN程序初始化,PLC上电运行的第一个扫描周期执行一次初始化子程序SBR_0。
用于程序运行的初始设置子程序SBR_0在PLC运行的第一个扫描周期,将用于记录累加数据次数和累加数据的中间变量VB8和VD0置0设置高速计数器HC0的控制字节SMB37,用十六进制表示(16#F8),也可以用二进制表示(2#11111000)。
设置高速计数器HC0工作模式为0,单相计数输入,没有外部控制功能。
设置高速计数器HC0初始值寄存器SMD38为0。
执行HSC指令,将控制字节SMB37、初始值/预置值寄存器(SMD38/SMD42)以及工作模式写入高速计数器HC0。
设定定时中断事件的时间为50ms定时中断事件号10和中断处理程序INT_0建立关联。
允许中断,将定时中断事件和中断处理程序连接中断程序0中断处理程序INT_0中断处理程序每隔50ms扫描刷新一次。
采用整数加法指令,将高速计数器HC0的计数当前值(32位)和累加数据相加一次。
用于数据的累加。
采用整数递增指令,记录累加次数。
执行HSC指令,在这里执行的目的,是将初始值寄存器SMD38(0)再次写入高速计数器HC0,使计数当前值为0,以便下个定时采样。
当累加数据次数等于32次,子程序中网络2中程序执行。
采用除法指令,计算32次的累加数据平均值。
将平均值转换成测量单位:转/分,转换后的数据送入双字VD4。
将平均值转换成字数据,送入字VW10中。
VW10中的数据就是电机速度值。
之所以转换,是因为在程序中一般要求以字的概念存在。
将记录累加数据次数的字节VB6中数据置0。
用于下一次开始时,从新开始累加。
将用于累叫数据的中间变量VD4置0。