西门子PLCS高速计数器指令用法
高速计数及脉冲输出指令
计数方向控制位:0(减计数); 1(增计数)
向HSC中写入计数方向: 0(不更新);1(更新计数方向)
向HSC中写入预置值: 0(不更新);1(更新预置值)
向HSC中写入新的当前值: 0(不更新);1(更新当前值)
HSC允许: 0(禁止HSC);1(允许HSC)
预置值
SMD42 SMD52 SMD62 SMD142 SMD152 SMD162
高速计数及脉冲输出指令
v高速计数器状态位
高速计数器状态字节,其中某些位指出了当前计数方向、当前值与预置 值是否相等、当前值是否大于预置值的状态。可以通过监视高速计数器的 状态位产生相应中断,完成重要操作。但要注意,状态位只有在执行高速 计数器终端程序时才有效。
(2) 在初始化子程序中,对相应高速计数器的控制字节写入希望的控制 字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示允许高速 计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数 器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效。
(3) 执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与 具体运行模式进行连接。
HSC 高速计数器指令,根据高速计数器特殊存储器位的设置, 按照HDEF指令指定的工作模式,控制高速计数器的工作。
高速计数及脉冲输出指令
高速计数器设置过程
为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过 程。
(1) 使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。这 个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了 扫描时间,且程序更加结构化。
I0.0 计数 计数 计数 计数
s7200高速计数器控制三段速度
s7200高速计数器控制三段速度
要实现S7200高速计数器控制三段速度,可以通过以下步骤
操作:
1. 首先,配置S7200高速计数器的参数。
设置计数器的计数
模式为速度控制模式,并选择合适的输入通道和计数方向。
2. 接下来,编程控制三段速度。
可以使用S7-200 PLC的编程
软件,如STEP 7-Micro/WIN,编写逻辑程序。
根据实际需求,可以使用计时器和计数器指令实现三段速度控制。
3. 定义三个速度段。
根据所需的速度,将计时器和计数器结合起来,使计数器在不同速度段下自动计数。
4. 编写控制逻辑。
使用比较指令来对计数器的值进行比较,根据比较结果控制输出信号的状态,从而控制执行器或驱动器的速度。
5. 进行测试和调试。
将编写好的程序下载到S7200 PLC中,
连接输入信号和输出设备,通过实际操作来测试和调试程序。
通过观察输出设备的状态,检查速度控制是否按预期进行。
需要注意的是,具体的编程方式和逻辑根据实际应用的要求有所不同,以上仅为一般性的步骤和思路,具体的实现请根据实际需求进行调整和优化。
西门子PLC高速处理指令
西门子PLC高速处理指令高速计数器HSC一般和编码器协作使用,在现代自动掌握中实现精确定位和测量长度。
它可用来累计比可编程序掌握器的扫描频率高得多的脉冲输入,利用其产生的中断大事完成预定的操作。
一、数量及编号(一)中断源及种类高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),n为编号。
HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值。
编程时,从所用的指令可以看出是位还是当前值。
二、高速计数指令(一)高速计数器指令高速计数器指令有两条:HDEF和HSC。
1、HDEF,定义高速计数器指令使能输入有效时,为指定的高速计数器安排一种工作模式,即用来建立高速计数器与工作模式之间的联系。
梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;MODE,工作模式,为0~11的常数,字节型。
图1 HDEF 2、HSC,高速计数器指令使能输入有效时,依据高速计数器特别存储器位的状态,并根据HDEF指令指定的工作模式,设置高速计数器并掌握其工作。
梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。
图2 HSC 高速计数器的时钟、方向掌握、复位和启动所使用输入如下图所示。
图3 高速计数器的指定输入(二)高速计数器的使用方法每个高速计数器都有固定的特别功能存储器与之相协作,完成高速计数功能。
详细对应关系如下图所示。
图4 HSC的特别寄存器每个高速计数器都有一个状态字节,程序运行时依据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为推断条件实现相应的操作。
状态字节中各状态位的功能如下图所示。
图5 状态字节使用高速计数器时,要按以下步骤进行:◆ 选择计数器及工作模式◆ 设置掌握字节◆ 执行HDEF指令◆ 设定当前值和预设值◆ 设置中断大事并全局开中断◆ 执行HSC指令图6 掌握位含义(三)应用实例要对一高速大事精确掌握,通过对脉冲信号进行增计数,计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。
西门子PLC高速计数器使用方法
高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
西门子Smart200PLC高速计数器讲解
建议收藏!西门子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计数值。
S7-200系列PLC编程器的高速计数器使用示例
S7-200系列PLC编程器的使用示例Siemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。
在这里,和大家一起来讨论S7-200几个使用方面的情况。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这个功能。
首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉冲个数存放在SMD72中,下面是控制字节的说明:Q0.0 Q0.1 控制字节说明SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新,1=更新周期值SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新,1=脉冲宽度值SM67.2 SM77.2 PTO更新脉冲数 0=不更新,1=更新脉冲数SM67.3 SM77.3 PTO/PWM时间基准选择 0=1微秒值,1=1毫秒值SM67.4 SM77.4 PWM更新方法 0=异步更新,1=同步更新SM67.5 SM77.5 PTO操作 0=单段操作,1=多段操作SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO,1=选择PWMSM67.7 SM77.7 PTO/PWM允许 0=禁止PTO/PWM,1=允许这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。
10000101转化为16进制为85,有了控制字以后,我们来写这一段程序:根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对Q0.0来说是SMW68与SMD72)。
当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的控制字,再启动PLS即可,程序如下:2.高速计数功能。
s7-200高速计数器详细解说
s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。
在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。
在PLC中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。
CPU类型CPU221 CPU222 CPU224 CPU226高速计数器数量 4 6高速计数器编号HC0,HC3~HC5 HC0~HC51.高速计数器指令HDEF HSC(1)定义高速计数器指令HDEFHDE指令功能是为某个要使用的高速计数器选定一种工作模式。
每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能用一次。
它有两个输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~ HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。
当准许输入使能EN有效时,为指定的高速计数器HSC定义工作模式MODE。
(2)执行高速计数指令HSCHSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。
它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。
2.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
每个高速计数器专用的输入点如表高速计数器的输入点3.高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。
实例|S7-1200PLC高速计数器的用法及应用详解
实例|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 位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。
西门子200PLC高速计数问题
西门子200PLC高速计数问题1.我用HSC0的10模式,来计数AB相脉冲,我用状态表监控HSC0的数值不断变化,可是SMD38当前计数值怎么没变化?2.当前的计数值在哪个寄存器里?怎么取出来?3.设定值是6000,计数值到6000后产生中断,这个没问题,但是编码器转动时,H SC0还会计数。
怎么写程序就可以实现计数到6000后,在中断里HSC0里面的当前值马上清零,旋转编码器旋转时,还不会计数。
等再启动时才开始计数// 主程序:// 在主程序中,首先将输出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:// 子程序0初始化,并激活脉冲输出(PLS)。
// 在特殊存储字节SMB67中定义脉冲输出特性:脉冲串(PT0),时基,可更新数值,激活PLS。
// SMW68定义脉冲周期,其值为时基的倍数。
// 最后,在SMD72中指定需要产生的脉冲数。
(SMD72)为内存双字,即4个字节)。
// 子程序0SBR 0 // 子程序0MOVB 16#8D,SMB67 // 装载脉冲输出(PLS0)的控制位:PT0,时基1ms,可更新,激活。
PLC高速计数功能的应用
PLC高速计数功能的应用有朋友关心使用PLC进行高速数据采集(如采集旋转编码器的脉冲信号)的方法,以下以FX系列PLC进行说明。
欢迎大家进行更深入地探讨,请介绍您的应用经验。
1、功能FX系列PLC提供了高速脉冲计数功能,通过这一功能可以连接编码器以测量位置,或积算仪表以计算累积量数值。
与高速计数功能有关的I/O和软元件有以下:1)输入点6点:X0-X5,当该点输入控制高速计数器时,自动响应高速计数处理。
此外,X6和X7也是高速输入,但只能用于启动信号而不能用于高速计数。
2)计数器21点:C235-C255,用于高速输入信号的计数,用法见下文。
3)辅助继电器21点:M8235-M8 255,与21个计数器对应,用于标识该计数器输入信号是增计数还是减计数(见下文)。
2、计数器的类型1)1相无启动/复位端子:C235-C240。
2)1相有启动/复位端子:C241-C245。
3)2相双向:C246-C250。
4)2相A-B相:C251-C255。
3、用法1)21个高速计数器共享一个PL C上的6个高速计数输入端。
如果输入被某计数器占用,它就不能用于其它计数器或其它用途,因此,最多可同时使用21个高速计数器中的6个。
2)高速计算器的选择并非任意,它取决于输入信号的类型和计数器的类型。
信号的类型必须与计数器的类型(见上文第2点)相匹配。
3)各输入点有多个高速计数器可选择,但不能同时用于多个计数器,即使用了一个计数器后,与该点对应的其它计数器就不可用了。
4)当M8~~~(M8235-8245)为ON时单相高速计数器C~~~为减计数方式;OFF时为加计数方式;当M8~~~(M846-8255)为ON时单相双输入高速计数器或双相计数器C~~~为减计数方式;OFF时为加计数方式;4、高速计数器与输入端的对应关系(见附图)注:U-增计数输入;D-减计数输入;A-A相输入;B-B相输入;R-复位输入;S-启动输入。
5、程序例子(二相双向计数器)LD X10RST C246LD X11OUT C24功能:1)X0作为C246的增计数端,X 1作为C246的减计数端。
一招教您轻松运用1200高速计数功能!
一招教您轻松运用1200高速计数功能!高速计数是PLC中非常重要的功能,每个系列的PLC编程方法各有不同,一起来学习一下西门子1200系列高速计数程序如何编写。
1200提供了6路高速计数功能,分别为HSC1-HSC6,本体自带的输入点频率可达100KHZ,通过信号板扩展可以的输入点可以达到200KHZ,可满足大部分应用场合的需求。
高速计数程序编写步骤:1)打开CPU属性,高速计数器(HSC),启用该高速计数器,设置好计数类型,运行模式,计数方向取决于和初始计数方向。
设置初始值,同步输入(复位),捕捉输入(读取),门输入(使能)等。
设置比较输出,事件组态,勾选为计数值等于参考值这一事件生成中断,添加硬件中断OB。
设置对应功能的数字输入I点地址和输入地址(默认为ID1000)。
2)选择高速计数工艺指令进行编程。
指令>工艺>计数>其它>CTRL_HSC指令。
HSC:高速计数器硬件标识符。
DIR:启用新的计数方向。
CV:启用新的计数值。
RV:启用新的参考值。
PERIOD:启用新的测量周期。
NEW_DIR: DIR = TRUE 时装载的计数方向,+1为增,-1为减。
NEW_CV:CV = TRUE 时装载的计数值。
NEW_RV: 当 RV = TRUE 时,装载参考值。
NEW_PERIOD: PERIOD = TRUE 时装载的频率测量周期。
BUSY:处理状态。
STATUS: 运行状态。
计数值分别存储在ID1000-ID1020中,当计数值等于设定参考值时会触发中断事件,可以在中断OB中实现快速输出的动作。
END。
西门子S7-200PLC高速计数器的使用
西门子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。
(完整word)s7-200高速计数器详细解说
s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。
在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。
在PLC中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。
在S7-200的CPU22X中,高速计数器数量及其地址编号表如下CPU类型CPU221 CPU222 CPU224 CPU226高速计数器数量 4 6高速计数器编号HC0,HC3~HC5 HC0~HC51.高速计数器指令高速计数器的指令包括:定义高速计数器指令HDEF 和执行高速计数指令HSC,如表HDEF HSC(1)定义高速计数器指令HDEFHDE指令功能是为某个要使用的高速计数器选定一种工作模式。
每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能用一次。
它有两个输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~ HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。
当准许输入使能EN有效时,为指定的高速计数器HSC定义工作模式MODE。
(2)执行高速计数指令HSCHSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。
它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。
2.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
西门子PLC高速计数器的控制字和状态字介绍
每个高速计数器都有一个状态字节,状态位表示当前计数方向以及当前值是否大于或等于预置值。每个高速计数器状态字节的状态位如表8所示。状态字节的0-4位不用。监控高速计数器状态的目的是使外部事件产生中断,以完成重要的操作。
表7 HSC的控制字节
HSC0
HSC1
HSC2
HSC3
HSC4
HSC5
说明
SM157.5
向HSC写入新预置值:
0 =无更新1 =更新预置值
SM37.6
SM47.6
SM57.6
SM137.6
SM147.6
SM157.6
向HSC写入新当前值:
0 =无更新1 =更新当前值
SM37.7
SM47.7
SM57.7
HSC允许:
0 =禁用HSC 1 =启用HSC
SM37.0
SM47.0
SM57.0
SM147.0
复位有效电平控制:
0=复位信号高电平有效;1=低电平有效
SM47.1
SM57.1
起动有效电平控制:
0=起动信号高电平有效;1=低电平有效
SM37.2.
SM47.2
SM57.2
SM147.2
正交计数器计数速率选择:
0=4×计数速率;1=1×计数速率
SM37.3
每个高速计数器均有一个控制字节它决定了计数器的计数允许或禁用方向控制仅限模式和2或对所有其他模式的初始化计数方向装入当前值和预置值
1.控制字节
定义了计数器和工作模式之后,还要设置高速计数器的有关控制字节。每个高速计数器均有一个控制字节,它决定了计数器的计数允许或禁用,方向控制(仅限模式0、1和2)或对所有其他模式的初始化计数方向,装入当前值和预置值。控制字节每个控制位的说明如表7所示。
s7-200高速计数器详细解说
s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。
在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。
在PLC中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。
1.高速计数器指令(1)定义高速计数器指令HDEFHDE指令功能是为某个要使用的高速计数器选定一种工作模式。
每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能用一次。
它有两个输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~ HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。
当准许输入使能EN有效时,为指定的高速计数器HSC定义工作模式MODE。
(2)执行高速计数指令HSCHSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。
它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。
2.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
每个高速计数器专用的输入点如表高速计数器的输入点3.高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。
只有执行高速计数器的中断程序时,状态字节的状态位才有效。
4.高速计数器的工作模式高速计数器有12种不同的工作模式(0`~11),分为4类。
高数计数器使用
本程序皆经过本人上机测试正常后发出;本意是能让PLC初学者迅速掌握西门子S7-200高速计数器的基本使用方法,所以程序尽量加以简化,以便大家学习;同时也希望能起到抛砖引玉的效果,多得到PLC高人的指点,使自己有更多的领悟,结识更多的朋友、导师。
程序通过先设定计数器的值,本例中设定值为13;按设备启动按钮I0.1启动设备,运行后通过信号输入点I0.0进行计数,当计数当前值等于设定值13时,输出点断开,设备运行停止。
I0.2为设备停止按钮。
程序如下:LD SM0.1MOVB 16#C8, SMB37HDEF 0, 0MOVD +0, SMD38HSC 0上述程序注解:(1)对高数记数器HSC0初始化,写入控制字节(16#C8含义为:要求进行初始值设定;不装入预设值;运行中不要求更改计数方向;计数器类型为增。
)(2)执行HDEF指令,进行高速计数器工作模式的选定设置(计数器为HSC0;模式为0)(3)初始值设定:装载高数记数器初始值为0(4)执行HSC指令,写入HSC0设置。
LDN M14.0EUMOVB 16#C8, SMB37MOVD +0, SMD38HSC 0上述程序注解:当记速值达到要求值时,M14.0复位,高速计数器计数将复位为初始值,以备下次计数使用。
LDD< HC0, +13= M14.0上述程序注解:当计数器值小于13 时,M14.0始终处于置位状态。
LD I0.1O Q0.0AN I0.2A M14.0= Q0.0上述程序注解:I0.1为设备启动信号;I0.1为设备停止信号。
高速计数器累计值达到13 时,设备运行停止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高速计数器计数器
输入/输出操作数数据类型
N常数(0,1,2,3,4或5)字
内存范围错误S7-200 CPU指令支持SIMATIC/国际助记符
数据范围CPU内存中的指令大小编址内存
高速计数器(HSC)指令根据HSC特殊内存位的状态配置和控制高速计数
器。
参数N指定高速计数器的号码。
高速计数器最多可配置为十二种不同的操作模式。
每台计数器在功能受支持的位置有专用时钟、方向控制、复原和起始输入。
对于双相计数器,两个时钟均可按最高速度运行。
在正交模式中,您可以
选择一倍\(1x)或四倍(4x)的最高计数速率。
所有的计数器按最高速率
运行,而不会相互干扰。
注释:
CPU 221和CPU 222支持4台高速计数器 (HSC0、HSC3、HSC4、HSC5)
CPU 221和CPU 222不支持HSC1和HSC2
CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)
您可以为每台高速计数器使用一条"高速计数器定义"指令。
文档光盘中"提
示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。
设置ENO = 0的错误条件:
0001 HSC在HDEF之前
0005 HSC/PLS同步
程序举例
LAD FBD
STL NETWORK 1 // 主程序
// 首次扫描时,调用SBR_0
LD SM0.1
CALL SBR_0
NETWORK 1 // 子程序0开始
// 配置HSC1
LD SM0.1 // 首次扫描时
MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器
// - 写入新当前值
// - 写入新预设值
// - 将初始方向设为向上计数
// - 选择现用水平高的起始和复原输入
// - 选择4x模式
HDEF 1 11 // 将HSC1配置为正交模式,
// 具有复原和起始输入功能
MOVD +0 SMD48 // 清除HSC1的当前值
MOVD +50 SMD52 // 将HSC1预设值设为50
ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上
ENI// 全局中断启用
HSC 1 // 程序HSC1
NETWORK 1 // 中断0开始
LD SM0.0
MOVD +0 SMD48 // 清除HSC1的当前值
MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,
// 使HSC1保持启用状态
HSC 1 // 程序HSC1
另请参阅:
识别高速计数器指令
HSC向导
HDEF指令。