巧用中断—PLC扩展AB相高速计数器方法
中断的妙用―扩展PLCAB相高速计数器方法(精)
中断的妙用—PLC AB相高速计数的方法杨敬东(广东佛山菜鸟控制实验室)摘要:本文介绍了利用可变程序控制器PLC的中断机制,扩展PLC中的AB两相高速计数器的方法。
一、引言:PLC可编程序控制器,是一种工业上广泛应用的通用控制器,但是在应用实践中,不少情况是应用的要求,略为超出了PLC的资源,通常是IO端口的不匹配,最遗憾的是,有时只差1、2个端口,就要选购大一级点数规格的PLC,所以很多学者研究了不增加成本的情况下扩展IO端口的方法。
但AB两相高速计数器不够用而扩展的,恐怕大多数人认为,只能购买昂贵的高速计数器特殊模块了。
但如果满足特定条件时,也可以用PLC基本单元作少量增加,以下以三菱FX系列PLC基本单元为例扩展1路AB相高速计数器。
二、问题背景:某机械设备设计制造公司要设计制造一种液压机械,机器需要用到3把AB相光栅尺,其中1把连接到液压缸驱动的进给机构,以作为定位之用,运动速度高;另外2把连接到一个平面上的X轴、Y轴两个方向的调节机构,该2个调节机构进给速度相对前者稍慢。
公司计划采用三菱FX1N系列PLC基本单元作为控制器,由于三菱FX1N系列PLC基本单元最多只能同时接入2个AB相高速计数器,于是将其分配接入2把AB相光栅尺,完成X轴、Y轴调节机构的功能,另购置1个高速计数器特殊功能模块,完成进给机构高速定位功能。
但是,PLC特殊功能模块的价格是比较昂贵的,如果机器的生产数量是比较多的话,就削弱了产品的竞争力。
三、FX1N系列PLC内部高速计数器和外部中断简介:内部21点高速计数器C235—C255共用PLC特定的8个输入端X0—X7,某一高速计数器输入端都有其对应的输入端口,不同类型的高速计数器可以同时使用,但是它们的输入端不能冲突。
其中AB相高速计数器与端口的对应关系如表—1:端口AB相高速计数器C 251 C252 C253C254C255X000A A AX001B B BX002R RX003A AX004B BX005R RX006SX007S因此,最多只能同时使用2个AB相高速计数器。
高速计数和高速脉冲用法指南
27
2
94
500 点 M0 至 M499
1036 点 M500-M1535
256 点 M8000 至 M8255
500 点 S0 至 S499
10 点 S000-S009
500 点 S500 至 S999
200 点 T0 至 T199
46 点
T200 至 T245
4点
T246 至 T249
3.1 基本逻辑指令一览表..................................................................................................................................4 3.2 步进顺控指令说明......................................................................................................................................4 3.3 功能指令一览表(和三菱 PLC 指令对照表)......................................................................................... 5 3.4 软元件编号、错误代码一览表..................................................................................................................7 第四部分 高速计数输入的应用...............................................................................................................................8 4.1 内置高速计数器输入分配表.......................................................................................................................8 4.2 高速计数 AB(Z)相接线说明....................................................................................................................... 9 第五部分 四/五路高速脉冲输出的应用...............................................................................................................10 5.1 脉冲输出接线.............................................................................................................................................10 5.2 脉冲输出点与方向.....................................................................................................................................10 5.3 脉冲指令使用到的特殊元件.....................................................................................................................11 第六部分 计数、脉冲使用限制.............................................................................................................................12 注:A 类最多可定制为 5 路脉冲,B 类最多可定制为 4 路脉冲。............................................................ 12 6.1 计数限制..................................................................................................................................................... 13 6.2 脉冲限制..................................................................................................................................................... 13
S7-200SMARTPLC断电后如何保持高速计数器当前值及常见问题解答
S7-200SMARTPLC断电后如何保持高速计数器当前值及常见问题解答S7-200 SMART PLC的断电数据保持不支持高速计数器的范围设置,因此高速计数器的当前值在CPU每次断电后都会复位为数值0,要使S7-200 SMART PLC高速计数器的当前值在CPU断电重启后依然保持,可以通过以下的方式来实现。
01保持方法第一步:(除了第一个扫描周期之外的其它周期,需要将高速计数器0的当前值HC0传送到寄存器VD300中)第二步:(在上电的第一周期将寄存器VD300存储的数值传送到高速计数器的当前值SMD38,保证高速计数器以VD300为初始值开始计数,并初始化高速计数器0。
)第三步:(在系统块的断电数据保持处设置寄存器VD300为断电保持区域)打开系统块—保持范围—选择存储器类型,设置存储区区域偏移量:可以理解温保持范围存储区的首地址,如设置为300则为VD300,设置为500则为VD500。
元素目录:既保持范围存储区的数据长度。
另外无需增加使用电池卡来实现数据的永久保持。
02常见问题1.为什么S7-200 SMART 高速计数器在低频率下计数正常,而在高频率下无法计数?答:在 S7-200 中,HSC 旁路了输入滤波。
而在 S7-200 SMART 中,HSC 没有旁路输入滤波,因此系统块中设置的输入滤波会影响HSC,这样可以有助于一些用户避免高频干扰。
默认的滤波时间6.4ms 可以允许计数的最高频率是78 HZ,如果要计数更高频率的信号,必须调整相应的滤波时间。
2. S7-200 SMART CPU能否支持5V编码器?答:ST20、ST30 CPU的I0.0~I0.3,I0.6~I0.7,ST40、ST60 CPU 的I0.0~I0.3可以支持。
3. 为什么高速计数器不能正常工作?答:在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。
如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变第一次执行HDEF 指令时对计数器的设定。
FX2N高速计数器的使用说明
三菱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項相同。
中断、高速计数和高速脉冲输出演示文稿
SMB37、47、57、137、147和157为高速计数器控制字节 、 、 、 、 和 为高速计数器控制字节 其中低三位决定模式,高五位配合各模式的具体应用。 其中低三位决定模式,高五位配合各模式的具体应用。
高速计数器相关寄存单元归纳
SMB36-SMB65为HSC0、HSC1、HSC2的寄 为 、 、 的寄 存区 SMB130-SMB165为HSC3、HSC4、HSC5的 为 、 、 的 寄存区 每个计数器按状态( )、控制 每个计数器按状态(byte)、控制(byte)、 )、控制( )、 计数( )、设定 计数(DWord)、设定(DWord)分配连 )、设定( ) 续10字节 字节
高速计数器基本概况总结 • 12种工作模式分成 组,两组为单路输入,另 种工作模式分成4组 两组为单路输入, 种工作模式分成 两组为两路输入。 两组为两路输入。各组间计数方向的触发方 式不一样。 式不一样。 • 组内的差别是启动和复位的手段相异。 组内的差别是启动和复位的手段相异。 • 由于各计数器所分配的外部信号接入端数量 不一, 不一,不同的计数器所能选择的工作模式也 不相同。 只有模式0, 不相同。HSC3和HSC5只有模式 ,HSC0和 和 只有模式 和 HSC4不具有模式 、5、8和11,只有 不具有模式2、 、 和 ,只有HSC1和 不具有模式 和 HSC2可选择所有 种模式。 可选择所有12种模式 可选择所有 种模式。
ATCH INT,EVENT
断开中断事件与中断程序的关联 利用DCTH指令可 指令可 利用 解除中断事件与中断队列, 中断队列,意味着 对该事件单独进行 屏蔽。 屏蔽。 本指令只须指明中 断号, 断号,无须中断程 序编号
高速计数器的指令及用法 • 本指令用于选定计数器 的工作模式 • HSC:指定计数器(0、 1、2、3、4或5) • MODE:选定模式(0、 ( 、 1、2、3、4、5、6、7、 、 、 、 、 、 、 、 8、9、10或11) 、 、 或 ) • 执行指令时还根据指定 计数器的控制字节低三 位配置计数器
plc 高速计数器中的ab相脉冲
一、概述在工业自动化控制系统中,计数器是一个非常重要的组成部分,用于对输入信号进行计数、测量、监控等操作。
在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高速计数器使用方法
高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
PLC教程高速计数及计数中断
Wy
PLC教程高速计数及计数中断
信以致远捷行弘毅
1.1 高速计数功能-计数模式
一倍频计数模式和四倍频计数模式分别如下:
•一倍频模式
相输入 相输入
计数器 当前值
Wy
PLC教程高速计数及计数中断
信以致远捷行弘毅
1.1 高速计数功能-计数模式
•四倍频模式
相输入 相输入
计数器 当前值
Wy
PLC教程高速计数及计数中断
X3
X5
COM
X0
X2
X4
X6
Wy
PLC教程高速计数及计数中断
信以致远捷行弘毅
1.2 高速计数功能-硬件接线
脉冲+方向模式(计数器C620…)
脉冲输入 方向输入
COM
X1
X3
X5
COM
X0
X2
X4
X6
Wy
PLC教程高速计数及计数中断
信以致远捷行弘毅
1.2 高速计数功能-硬件接线
AB相模式 (计数器C630…)
H S C WS D C nK n/D ()
C n K n D ()
R S T C
Wy
PLC教程高速计数及计数中断
信以致远捷行弘毅
1.4.1 高速计数功能-HSCR
(1)高速计数值读取指令[HSCR]
高速计数读取指令是将高速计数值读取至指定数据寄存器中的指令。指令说明如图 所示:
M0
HSCR
S·
C630
Wy
PLC教程高速计数及计数中断
信以致远捷行弘毅
第一节 高速计数功能
PLC
Wy
A相 B相
PLC教程高速计数及计数中断
信捷PLC培训8-高速计数及计数中断概要
Wy
信以致远捷行弘毅
第一节 高速计数功能
PLC
A相 B相
Wy
信以致远捷行弘毅
第一节 高速计数功能
Wy
信以致远捷行弘毅
1、高速计数模式
Wy
信以致远捷行弘毅
第一节 高速计数功能
XC系列高速计数功能共有三种计数模式,分别为递增模式,脉冲+方向模式,AB 相模式。 (1)递增模式 此模式下,计数输入脉冲信号,计数值随着每个脉冲信号的上升沿递增计数。
只有当相对应的外部信号输入端子接收到信号时,高数计数器才 进行计数。若外部信号输入端子有信号输入,而其触发条件没有 闭合,则高数计数器也不会计数。
Wy
信以致远捷行弘毅
5、高速计数中断
Wy
信以致远捷行弘毅
第一节 高速计数功能
对于XC系列PLC,部分高速计数器拥有24段32位的预置值,当高速计数 差值等于相应24段预置值时,则根据其对应的中断标记产生中断。指令说 明如下所示:
计数输入
计数器 当高速计数功能
(2)脉冲+方向模式 此模式下,脉冲信号和方向信号都被输入,而计数值则根据方向信号状态进行递增或 递减计数,当计数方向为OFF时,则在计数输入上升沿进行加计数;当计数方向为ON时, 则在计数输入上升沿进行减计数。
计数输入 计数方向
计数器 当前值
Wy
信以致远捷行弘毅
4、高速计数指令
Wy
信以致远捷行弘毅
第一节 高速计数功能
相关指令一览
指令助记符
功能
回路表示及可用软元件
HSCR HSCW
高速计数读取 高速计数写入
HSCR
S
D
HSCW
S
D
PLC高速计数器功能及应用
1、高速计数器的数量及编号
高速计数器在程序中使用时的地址编号用HSCn来表示, HSC表编程元件名称为高速计数器,n(n=0~5)为编号。
每个高速计数器的计数结果都对应有一个当前值寄存器。 编程时可通过地址HCx(x=0~5)来读取高速计数器的当前值。
不同型号的PLC主机,高速计数器的数量对应如下表所示。
4)在第4页设置当前值等于预置值时产生中 断(中断事件编号为12),使用默认的中断程序 符号名COUNT_EQ。
向导允许高速计数器按多个步骤进行计数, 即在中断程序中修改某些参数,例如修改计数器的 计数方向、当前值和预置值,并将另一个中断程序 连接至相同的中断事件。
本例设置编程2步,在中断程序COUNT_EQ中,
A相 B相
a)正转
A相 B相
b)反转
③ 三通道增量式编码器
编码器内部除了有双通道增量式编码器的两对光 耦合器外,在脉冲码盘的另外一个通道有一个透光段, 每转一圈,输出一个脉冲,该脉冲称为Z相零位脉冲, 用作系统清零信号,或坐标的原点,以减少测量的积 累误差。
2、绝对式编码器
N位绝对式编码器有N个码道,最外层的码道对 应编码的最低位。每一码道有一个光耦合器,用来读 取该码道的0、1数据。绝对式编码器输出的N位二进 制数反映了运动物体所处的绝对位置,根据位置的变 化情况,可以判别出旋转的方向。
S7-200的高速计数器有4类工作模式,共有12种。每个模 式各有不同,可通过编程,使用定义高速计数器指令HDEF来 选定工作模式。
1、高速计数器的工作模式
2、高速计数器的工作模式说明
从各个高速计数器的工作模式的描述可知:6个 高速计数器具有不完全相同的功能,最多可能有12种 工作模式,可分为四种类型。下面以HC1的工作模式 为例加以说明。
PLC内置高速计数器使用方法
PLC内置高速计数器使用方法 2008-11-25 2:25:18 来源:528工控网浏览次数:807 FXPLC通过RS板与VB通讯源码VB与欧姆龙PLC通讯源码VB与三菱FX系列PLC编程口通信源码VB与三菱变频器485通讯源码VB与松下PLC(FP系列)通讯源码VB与西门子S7-200PLC(PPI协议)通讯源码VB与永宏PLC(fatek)通讯源码台达PLC编程口VB通讯源码(MODBUS)PLC内置高速计数器根据特定的输入执行中断处理高速动作,它与PLC的扫描无关。
本文以三菱FX系列PLC为例说说高速计数器的使用方法。
不会使用高速计数器的很大原因是对上面的图理解不细,编程手册上已经讲得很清楚,本文只是大致说说,给您抛砖引玉。
如C235下面的U/D对应的是X0,也就表示C235是对输入X0的脉冲信号进行计数,当X0有OFF-->ON的变化时,C235在驱动的情况下自动计数。
同理:C241,C244,C246,C247,C249,C251,C252,C254都是针对X0进行计数的。
明白了C235的计数目标,从上图就不难看出C236,C237的计数目标知道了高速计数器的计数目标,还需要知道高速计数器的计数方向。
从上图可看出M8235是控制高速计数器C235的计数方向的,M8235=OFF时是增计数,M8235=ON时是减计数。
同理:M8236---M8245分别是控制高速计数器C236---C245的计数方向。
M8235--M8245初始是断开状态,所以C235等高速计数器默认是增计数。
本文不多说了,因为水平太差,怕说多了误导您,您认真看一下编程手册吧。
下面看一个特简单的高速计数器计数方式。
上图中1、当M0闭合时,C235得电计数X0动作了217次,其设定值为100,所以C235的常开点闭合.从上图可以看出:C235的计数值超过其设定值后照样计数下去。
2、在C235计数过程中M0断开,C235失电停止计数,但其计数值与触点状态不变。
高速计数器控制指令
旋转编码器
高频脉冲可来源于控制现场,也可由旋转编码器提供。 一种旋转编码器与PLC的连接示意图
旋转编码器
+- DC24V
CPM1A PLC
00000 00001 00002 A相 B相 Z相
-DC24V +
COM
COM
各种脉冲信号的波形
单相 脉冲
1
2
3
计数脉冲
4
A超前B A滞后B
两 相 A相 脉冲 B相
通道号 位号
各位数字的含义
00 ~ 03 计数模式 ( 4:递增计数 0:增减计数)
DM6642 04 ~ 07 08 ~ 15
复位方式设定
( 0:Z信号 + 软件复位; 1:软件复位)
高速计数器使用/不使用
( 00:不使用;01:使用)
例如:DM6642的内容为 # 0114
使用高速 计数器
软件复位
目标值 比较表
表中数据可 预先写入
TB
TB+1
TB+2
TB+3 TB+4 TB+5 TB+6
目标值的个数 目标值1低4位 目标值1高4位 中断处理子程序号 目标值2低4位 目标值2高4位
中断处理子程序号
目标1 目标2
最多放16 个目标
…… ……
在高速计数器计数过程中,若其当前值与比较表中某 个目标值相同时,则停止执行主程序而转去执行与该 目标值对应的子程序。
REN (93)
SBN (92) 001
子程序001 RET (93)
END (01)
执行当前值读出 指 令 PRV , 将 248 、 249 中 的 当 前值读到LR00中 去。 若00100 ON且 有Z信号,则高 速计数器复位
高速计数器控制指令
25315
CTBL(63)
高速计数器目标值比较中断
比较表 首地址 软件 复位
00002 5000 0000 0010 0000 0002 0011 2个目标值 目标值1:5000 子程序号 目标值2:20000 子程序号
000 000 DM0000 00100 25200 SBN (92) 010 25313 @MOV #5000 HR00 RET (93)
使用高速计数器举例
登录比较表、 用INI启动
25315
高速计数器区域比较中断
比较表 更新当 启动 首地址 前值 比较
1500 0000 3000 0000 0000 7500 0000 0000 0001 0001
读出当 前值
00005
25313
CTBL (61) 25313 PRV (62) 000 000 003 000 DM0000 LR00 INI (61) 00100 25200 000 002 SBN (92) 000 HR00 子程序000 @INI (61) 000 REN (93) 000 SBN (92) 001 000 子程序001 XFER(70) # 0002 RET (93) 248 END (01) HR00
SBN (92) 000 子程序000 REN (93) SBN (92) 001 子程序001 RET (93) END (01)
执行当前值读出 指 令 PRV , 将 248、249中的当 前值读到LR00中 去。 若00100 ON且 有Z信号,则高 速计数器复位
@INI(61)
P C P1
P:端口定义(000) C:控制数据
P1 :设定值首通道
C的含义
中断 的妙用—扩展PLC AB相高速计数器方法
中断的妙用—PLC AB相高速计数的方法杨敬东(广东佛山菜鸟控制实验室)摘要:本文介绍了利用可变程序控制器PLC的中断机制,扩展PLC中的AB两相高速计数器的方法。
一、引言:PLC可编程序控制器,是一种工业上广泛应用的通用控制器,但是在应用实践中,不少情况是应用的要求,略为超出了PLC的资源,通常是IO端口的不匹配,最遗憾的是,有时只差1、2个端口,就要选购大一级点数规格的PLC,所以很多学者研究了不增加成本的情况下扩展IO端口的方法。
但AB两相高速计数器不够用而扩展的,恐怕大多数人认为,只能购买昂贵的高速计数器特殊模块了。
但如果满足特定条件时,也可以用PLC基本单元作少量增加,以下以三菱FX系列PLC基本单元为例扩展1路AB相高速计数器。
二、问题背景:某机械设备设计制造公司要设计制造一种液压机械,机器需要用到3把AB相光栅尺,其中1把连接到液压缸驱动的进给机构,以作为定位之用,运动速度高;另外2把连接到一个平面上的X轴、Y轴两个方向的调节机构,该2个调节机构进给速度相对前者稍慢。
公司计划采用三菱FX1N系列PLC基本单元作为控制器,由于三菱FX1N系列PLC基本单元最多只能同时接入2个AB相高速计数器,于是将其分配接入2把AB相光栅尺,完成X轴、Y轴调节机构的功能,另购置1个高速计数器特殊功能模块,完成进给机构高速定位功能。
但是,PLC特殊功能模块的价格是比较昂贵的,如果机器的生产数量是比较多的话,就削弱了产品的竞争力。
三、FX1N系列PLC内部高速计数器和外部中断简介:内部21点高速计数器C235—C255共用PLC特定的8个输入端X0—X7,某一高速计数器输入端都有其对应的输入端口,不同类型的高速计数器可以同时使用,但是它们的输入端不能冲突。
其中AB相高速计数器与端口的对应关系如表—1:因此,最多只能同时使用2个AB相高速计数器。
FX1N系列PLC有6个外部中断输入端X0—X5,分别对应中断指针I□0□,同一输入中断源只能使用上升沿触发或下降沿触发,不能同时是上升沿和下降沿触发。
PLC AB相脉冲高速计数设计实例详解
PLC AB相脉冲高速计数设计实例详解
差动输入之接线图(高速、高噪声时使用)
差动输出之线圈
【掌握要求】
DVP32EH00M 发送AB 相脉冲掌握伺服,每秒发送10000 个脉冲给伺服,伺服电机转动距离经编码器编码后接入plc 高速计数输入点(差动输入点),若PLC 高速计数器计数值与脉冲发送脉冲数目相差10 个以上时,则报警灯亮。
【元件说明】
【掌握程序】
【程序说明】
本范例用M1013 来掌握PLC 发送脉冲,D1220=K0 设置脉冲由Y0 输出。
将伺服电机由编码器输出的回馈信号接入到X0、X1 高速计数端,X0、X1 对应硬件高速计数器C251,其最高计数频率为200KHz。
当脉冲发送完毕后,M1029=On,接点型态比较指令DLD=执行,若C251 计数值与发送脉冲数目相差10 个以上,即为C251 计数器值小于等于K9990 时,Y5=On,报警灯亮。
M1029=On,[RST
C251]也被执行,C251 被清零,保证PLC 在下一次对输入脉冲计数时,C251 又开头从0 开头计数。
由于伺服编码器输出信号为差分信号,所以本范例需使用支持差分信号输入的DVP32EH00M机种(其X0、X1、X4、X5 输入端支持差分信号输入)。
S7-1200PLC高速计数编程和应用实例图解
S7-1200PLC高速计数编程和应用实例图解展开全文S7-1200 CPU 提供了最多 6 个(1214C )高速计数器,其独立于 CPU 的扫描周期进行计数。
可测量的单相脉冲频率最高为100KHz ,双相或A/B 相最高为30KHz ,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能。
01高速计数器工作模式高速计数器定义为 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 功能所发脉冲。
02高速计数器寻址CPU 将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为 32 位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。
指令-程序控制+中断+高速计数
HSC0操作模式
HSC1操作模式
HSC2操作模式
HSC3操作模式
HSC4操作模式
HSC5操作模式
模式0,1或2内部方向控制模式时序图
模式3,4或5外部方向控制模式时序图
模式6,7或8增/减双脉冲模式时序图
模式9,10或11正交1X模式时序图
模式9,10或11正交4X模式时序图
访问高速计数器(HC)
0
EVNT DTCH EN ENO
Network 3 M0.0 I0.0
2
EVNT T32 EN TON
+30000 Network 4 M0.0 I0.1 +30000
PT
EN PT
T96 TON
LD M0.0 TON T40, 400
LD T40 +I 20, VW102 MOVW VW102, VW104 -I VW100, VW104 AW> VW104, 200 = Q1.0
For-Next循环指令
• FOR和NEXT指令可以描述需重复进行一定次数的循环体。每条FOR 指令必须对应一条NEXT指令。For-Next循环嵌套(一个For-Next循 环在另一个For-Next循环之内)深度可达8层。 • FOR-NEXT指令执行FOR指令和NEXT指令之间的指令。必须指定计 数值或者当前循环次数INDX、初始值(INIT)和终止值(FINAL)。 • NEXT指令标志着FOR循环的结束。 • 如果允许FOR/NEXT循环,除非在循环内部修改了终值,循环体就一 直循环执行直到循环结束。当FOR/NEXT循环执行的过程中可以修改 这些值。当循环再次允许时,它把初始值拷贝到INDX中(当前循环 次数)。 • 当下一次允许时,FOR/NEXT指令复位它自己。例如,给定初值 (INIT)为1,终值(FINAL)为10,那么随着当前计数值(INDX) 从1增加到10,FOR与NEXT之间的指令被执行10次。 • 如果初值大于终值,那么循环体不被执行。每执行一次循环体,当前 计数值增加1,并且将其结果同终值作比较,如果大于终值,那么终 止循环。 • 如果程序进入FOR--NEXT循环时,栈顶值为1,则当程序退出FORNEXT循环时,栈顶值也将为1。
CP1H高速计数器中断(比较值一致中断)
CP1H高速计数器中断(比较值一致中断)制作时间:2016.1硬件设备:CP1H-XA40DT-D(PLC) ,E6B2-CWZ5B (PNP)型编码器软件:CX-Programmer案例简介:本案例讲述高速计数器目标值比较的用法和CTBL指令。
1.系统概述,硬件搭建和接线,如图1-1所示。
图1-1使用高速计数器0,A 相接8 号端子,B 相接9 号端子,Z 相接3 号端子,褐色接电源正极,蓝色接电源负极,COM端接负。
我们用到的是高数计数器0,图1-2为高速计数器0~3的通道分配。
图1-22、操作步骤(1) 软件设置a.连接软件在CX-programmer中新建工程选择CP1H,如图2-1所示.图2-1选择设备类型,XA型,如图2-2所示.图2-2b.双击设置,在内置输入设置中,选择高速计数器0,线性模式,软件复位,相位差输入。
设置完成后传送到PLC中,需要断电重启PLC。
如图2-3所示.图2-3c.在新任务中选择中断任务10,如图2-4所示.图2-4d.编写主程序CTBL指令说明图2-5程序如下:图2-6CTBL的C1是#0是高速计数器0,C2是#0是登录目标值一致的比较表,开始比较运行。
S是D100是比较表的地位通道编号。
D100数据是&1,比较个数是1,D101数据是#530,目标值1的低四位的值是#530,D102数据是#0,高四位的值是#0,D103的值是#A,选择中断任务10。
d、中断程序图2-73、现象和结论(1)在当前值的低位的A270通道值超过了目标值#530,D0加1。
图3-14、注意事项(1)在选择任务类型时注意,需要添加的是中断任务,而不是循环任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
巧用中断——PLC扩展AB相高速计数的方法
杨敬东
(广东佛山菜鸟控制实验室)
摘要:本文介绍了利用可变程序控制器PLC的中断机制,扩展PLC中的AB两相高速计数器的方法。
一、引言:PLC可编程序控制器,是一种工业上广泛应用的通用控制器,但是在应用实践中,不少情况是应用的要求,略为超出了PLC的资源,通常是IO端口的不匹配,最遗憾的是,有时只差1、2个端口,就要选购大一级点数规格的PLC,所以很多学者研究了不增加成本的情况下扩展IO端口的方法。
但AB两相高速计数器不够用而扩展的,恐怕大多数人认为,只能购买昂贵的高速计数器特殊模块了。
但如果满足特定条件时,也可以用PLC基本单元作少量增加,以下以三菱FX系列PLC基本单元为例扩展1路AB相高速计数器。
二、问题背景:某机械设备设计制造公司要设计制造一种液压机械,机器需要用到3把AB相光栅尺,其中1把连接到液压缸驱动的进给机构,以作为定位之用,运动速度高;另外2把连接到一个平面上的X轴、Y轴两个方向的调节机构,该2个调节机构进给速度相对前者稍慢。
公司计划采用三菱FX1N系列PLC基本单元作为控制器,由于三菱FX1N系列PLC基本单元最多只能同时接入2个AB相高速计数器,于是将其分配接入2把AB相光栅尺,完成X轴、Y轴调节机构的功能,另购置1个高速计数器特殊功能模块,完成进给机构高速定位功能。
但是,PLC特殊功能模块的价格是比较昂贵的,如果机器
的生产数量是比较多的话,就削弱了产品的竞争力。
三、FX1N系列PLC内部高速计数器和外部中断简介:
内部21点高速计数器C235—C255共用PLC特定的8个输入端X0—X7,某一高速计数器输入端都有其对应的输入端口,不同类型的高速计数器可以同时使用,但是它们的输入端不能冲突。
其中AB相高速计数器与端口的对应关系如表—1:
因此,最多只能同时使用2个AB相高速计数器。
FX1N系列PLC有6个外部中断输入端X0—X5,分别对应中断指针I□0□,同一输入中断源只能使用上升沿触发或下降沿触发,不能同时是上升沿和下降沿触发。
用于中断的输入点不能与已经用于高速计数器的输入点冲突。
四、问题的解决:回到问题的背景,如何可以在不改变硬件和增
加成本的情况下,使FX1N基本单元具有3路AB相高速计数器功能呢?答案是,用PLC本身的中断机制。
经过核算,3个光栅尺产生的脉冲频率,都在三菱FX1N系列PLC中断所能处理的频率之内。
使用PLC内部高速计数器C251,对应端子X0、X1,分别连接到由液压缸驱动的进给机构上的光栅尺的AB相;X轴定位机构上的光栅尺AB相分别连接到PLC端子X2、X3,Y轴定位机构上的光栅尺AB 相分别连接到PLC端子X4、X5。
3把光栅尺读数的复位或清除,由其他端子控制。
以下是AB相光栅尺的时序,如图:
定义X2、X3端子为脉冲上升沿中断触发方式,则其数字滤波器时间自动设置为0(不含RC滤波器时间常数)。
当光栅尺正方向运动时,在t1时刻,X2产生脉冲上升沿中断,此时中断程序刷新X3的输入映像寄存器、如果检测X3到是OFF,则中断程序对PLC内部继电器M1置位,表示A相超前B相,光栅尺正向移动。
光栅尺继续移动,到达时刻t2,X3产生脉冲上升沿中断,该中断服务程序检测M1,如果M1=1,则对PLC内部数据寄存器D1加1,然后复位M1。
当光栅尺反方向运动时,在t4时刻,X3产生脉冲上升沿中断,此时中断程序刷新X2的输入映像寄存器、如果检测到X2是OFF,则中断程序对PLC内部继电器M2置位,表示B相超前A相,光栅尺反向移动。
光栅尺继续移动,到达时刻t3,X2产生脉冲上升沿中断,该中断服务程序检测M2,如果M2=1,则对数据寄存器D1减1,然后复位M2。
数据寄存器D1的值就是这个由中断机制构造出来的高速计数器的当前值。
语句表:
EI //开中断
………
I201 LD M8000
REF X0 K8 //刷新X0—X7输入映像寄存器
LDI X3 // 读X3实时值,如果是OFF
SET M1 //置位M1
LD M2
SUB D0 K1 D0
RST M2
IRET
I301 LD M8000
REF X0 K8
LDI X2
SET M2
LD M1
ADD D0 K1 D0
RST M1
IRET
END
为什么不只使用X2上升沿中断,直接读取X3输入映像,根据X3输入映像,判断光栅尺运动方向,从而对D1进行加减?如果这样,当光栅尺停在t1点所对应位置附近时,如果连接光栅尺的机构没有减震的措施,很容易受到机器运行的震动影响在该点来回抖动,这时将不断产生X2上升沿中断。
五、结语
外部端口中断的使用是很灵活的,还可以实现很多功能,例如捕获窄脉冲信号、计算脉冲宽度、实现高精度定时器,甚至可以实现简单的串行通信功能。