西门子PLCS7-200高速计数器指令用法
[整理]s7-200高速计数器详细解说
[整理]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(高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
高速计数及脉冲输出指令
计数方向控制位: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 计数 计数 计数 计数
西门子PLCS高速计数器指令用法
高速计数器计数器输入/输出操作数数据类型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和HSC2CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)您可以为每台高速计数器使用一条"高速计数器定义"指令。
文档光盘中"提示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。
设置ENO = 0的错误条件:0001 HSC在HDEF之前0005 HSC/PLS同步程序举例LAD FBDSTL NETWORK 1 // 主程序// 首次扫描时,调用SBR_0LD SM0.1CALL SBR_0NETWORK 1 // 子程序0开始// 配置HSC1LD SM0.1 // 首次扫描时MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器// - 写入新当前值// - 写入新预设值// - 将初始方向设为向上计数// - 选择现用水平高的起始和复原输入// - 选择4x模式HDEF 1 11 // 将HSC1配置为正交模式,// 具有复原和起始输入功能MOVD +0 SMD48 // 清除HSC1的当前值MOVD +50 SMD52 // 将HSC1预设值设为50ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上ENI// 全局中断启用HSC 1 // 程序HSC1NETWORK 1 // 中断0开始LD SM0.0MOVD +0 SMD48 // 清除HSC1的当前值MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,// 使HSC1保持启用状态HSC 1 // 程序HSC1另请参阅:识别高速计数器指令HSC向导HDEF指令。
s7200高速计数器控制三段速度
s7200高速计数器控制三段速度
要实现S7200高速计数器控制三段速度,可以通过以下步骤
操作:
1. 首先,配置S7200高速计数器的参数。
设置计数器的计数
模式为速度控制模式,并选择合适的输入通道和计数方向。
2. 接下来,编程控制三段速度。
可以使用S7-200 PLC的编程
软件,如STEP 7-Micro/WIN,编写逻辑程序。
根据实际需求,可以使用计时器和计数器指令实现三段速度控制。
3. 定义三个速度段。
根据所需的速度,将计时器和计数器结合起来,使计数器在不同速度段下自动计数。
4. 编写控制逻辑。
使用比较指令来对计数器的值进行比较,根据比较结果控制输出信号的状态,从而控制执行器或驱动器的速度。
5. 进行测试和调试。
将编写好的程序下载到S7200 PLC中,
连接输入信号和输出设备,通过实际操作来测试和调试程序。
通过观察输出设备的状态,检查速度控制是否按预期进行。
需要注意的是,具体的编程方式和逻辑根据实际应用的要求有所不同,以上仅为一般性的步骤和思路,具体的实现请根据实际需求进行调整和优化。
200高速计数器向导的使用
高速计数器的使用向导在STEP 7 MicroWIN 菜单中点选—工具—指令向导---HSC(配置高速计数器)第一步,项目编译无错误后,选择HSC编号和模式,详细信息请见.高速计数器的模式及输入点。
高速计数器及模式选择配置初始化信息为初始化子程序命名,或者使用默认名称设置计数器预置值:可以为整数、双字地址或符号名:如5000、VD100、PV_HC1。
用户可使用全局符号表中双字整数对应的符号名。
地址必须为双字地址,注释可以不填设置计数器初始值:可以为整数、双字地址或符号名:5000初始化计数方向:增,减。
对于带外部复位端的高速计数器,可以设定复位信号为高电平有效或者低电平有效。
对于带外部启动端的高速计数器,可以设定启动信号为高电平有效或者低电平有效。
如果使用的高速计数器或工作模式没有外部复位或启动端,则对应选项为虚。
使用A/B相正交计数器时,可以将计数频率设为1倍速或4倍速。
使用非A/B相正交计数器时,此项为虚。
程序例子// 主程序:// 在主程序中,首先将输出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。
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中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。
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类。
S7200高速计数器
∙高速计数器的实际输入要根据用户选择的高速计数器号和模式来确定,如上表。
例:如果你选择了HSC0的模式1,则你的外部高速计数输入点应接在I0.0,外部复位点应接在I0.2。
∙如果用户使用了多个高速计数器,则被某一高速计数器占用了的输入点,其它高速计数器不能再使用。
如HSC0的模式3已经占用了I0.1作为外部方向控制点,那么HSC3高速计数器就不能再使用了,因为它的计数输入点也是I0.1,与之冲突了。
常问问题:CPU 224 XP的高速计数器模式12,是否可以计数30 KHz以上的脉冲?CPU 224 XP 支持最多100 KHz 的高速脉冲输出。
S7-200 系列CPU 只有高速计数器HSC0, HSC3 能够被设置为模式12,使用的输入端子为I0.0, I0.1,而不是特高速输入端子:I0.3、I0.4、I0.5。
非特高速脉冲信号输入端由于硬件电路的限制(如光电耦合等)只能支持最高30 KHz 的高速脉冲输入。
用户使用高速计数器模式12 时不需要任何外部连线,Q0.0(Q0.1) 与I0.0(I0.1) 通过集成电路内部关联,越过了外部信号处理电路,因此HSC0(HSC1) 可以计100KHz 或者更高频率的脉冲。
用户在使用向导配置S7-200 内部PTO/ PWM 操作时,勾选“使用高速计数器HSCx(模式12)自动计数线性PTO 生成的脉冲”即可。
高速计数器怎样占用输入点?高速计数器根据被定义的工作模式,按需要占用CPU上的数字量输入点。
每一个计数器都按其工作模式占用固定的输入点。
在某个模式下没有用到的输入点,仍然可以用作普通输入点;被计数器占用的输入点(如外部复位),在用户程序中仍然可以访问到。
为什么高速计数器不能正常工作?在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。
如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变第一次执行HDEF指令时对计数器的设定。
西门子PLCS7-200高速计数器指令用法
西门子PLCS7-200高速计数器指令用法高速计数器计数器输入/输出操作数数据类型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和HSC2CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)您可以为每台高速计数器使用一条"高速计数器定义"指令。
文档光盘中"提示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。
设置ENO = 0的错误条件:0001 HSC在HDEF之前0005 HSC/PLS同步程序举例LAD FBDSTL NETWORK 1 // 主程序// 首次扫描时,调用SBR_0LD SM0.1CALL SBR_0NETWORK 1 // 子程序0开始// 配置HSC1LD SM0.1 // 首次扫描时MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器// - 写入新当前值// - 写入新预设值// - 将初始方向设为向上计数// - 选择现用水平高的起始和复原输入// - 选择4x模式HDEF 1 11 // 将HSC1配置为正交模式,// 具有复原和起始输入功能MOVD +0 SMD48 // 清除HSC1的当前值MOVD +50 SMD52 // 将HSC1预设值设为50ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上ENI// 全局中断启用HSC 1 // 程序HSC1NETWORK 1 // 中断0开始LD SM0.0MOVD +0 SMD48 // 清除HSC1的当前值MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,// 使HSC1保持启用状态HSC 1 // 程序HSC1另请参阅:识别高速计数器指令HSC向导HDEF指令。
s7-200高速计数器使用技巧
s7-200高速计数器详细解说一、高速计数器普通计数器是通过两次扫描中输入端子的电平变化实现计数的,可以用普通的寄存器通过加1指令实现。
特点是受扫描的影响,只能用于低频脉冲计数。
高速脉冲使用PLC内部的高速计数器,各种PLC都内置高速计数器。
S7-200 CPU具有集成的、硬件高速计数器。
CPU221和CPU222可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器,而CPU224和CPU226可以使用6个30kHz单相高速计数器或4个20kHz的两相高速计数器。
高速计数器的主要功能就是对主机实际转速反馈进行测量,这是电子调速器的一项重要功能,因为主机实际转速反馈测量的准确与否直接关系到保证主机转速稳定,保证主机运行的安全。
重点介绍了S7-200 PLC高速计数器。
在开发研制中发现,采用S7-200 PLC高速计数器可以非常准确地对电动机实际转速反馈进行测量,而且硬件实现非常简单,价格也比较低,具有很大的应用价值。
(一)概述普通计数器是通过两次扫描输入端子电平变化来进行计数的,因此其端子输入脉冲的频率必须必扫描频率低得多。
对于高速脉冲而言,这种方法会出现丢失脉冲导致计数错误。
S7-200内置了高速计数器HSC,其工作情况类似于单片机中的计数器。
起动后不受扫描周期的影响,由硬件自动计数,当满足一定条件时发出中断申请。
其最高技术频率高达30KHz。
S7-200的计数器最多可以设置12种不同的工作模式,用于实现高速运动的精确控制。
S7-200还设有高速脉冲输出,输出频率可以高达20KHz。
用于PTO(脉冲串输出,输出一个频率可调,占空比50%的脉冲。
)和PWM(脉宽调制脉冲)。
PTO用于带有位置控制功能的步进电机控制或者伺服电机驱动器控制,通过输出脉冲的个数作为位置给定值的输入,以实现定位控制功能。
通过改变脉冲的输出频率,可以改变运动的速度。
PWM用于直接驱动调速系统或运动控制系统的输出,控制主逆变回路。
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高速计数器使用方法
高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
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-200高速计数器的使用方法(转载自网络)
关于西门子S7-200高速计数器的使用方法(转载自网络)
程序通过先设定计数器的值,本例中设定值为13;按设备启动按钮I0.1启动设备,运行后通过信号输入点I0.0进行计数,当计数当前值等于设定值13时,输出点断开,设备运行停止。
I0.2为设备停止按钮。
程序如下:
LD SM0.1
MOVB 16#C8, SMB37
HDEF 0, 0
MOVD +0, SMD38
HSC 0
上述程序注解:(1)对高数记数器HSC0初始化,写入控制字节(16#C8含义为:要求进行初始值设定;不装入预设值;运行中不要求更改计数方向;计数器类型为增。
)
(2)执行HDEF指令,进行高速计数器工作模式的选定设置(计数器为HSC0;模式为0)
(3)初始值设定:装载高数记数器初始值为0
(4)执行HSC指令,写入HSC0设置。
LDN M14.0
EU
MOVB 16#C8, SMB37
MOVD +0, SMD38
HSC 0
上述程序注解:当记速值达到要求值时,M14.0复位,高速计数器计数将复位为初始值,以备下次计数使用。
LDD< HC0, +13
= M14.0
上述程序注解:当计数器值小于13 时,M14.0始终处于置位状态。
LD I0.1
O Q0.0
AN I0.2
A M14.0
= Q0.0
上述程序注解:I0.1为设备启动信号;I0.1为设备停止信号。
高速计数器累计值达到13 时,设备运行停止。
关于西门子S7-200高速计数器的使用方法
关于西门子S7-200高速计数器的使用方法程序通过先设定计数器的值,本例中设定值为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 时,设备运行停止。
本例程序设计的背景:(中断单点控制)程序是通过一个板材自动定长剪切设备工作程序简单设计进行高数计数器和中断指令的使用。
工作要求为:启动设备,料滚电机工作带动板材进行送料,同时由计数器记录长度脉冲信号,当达到脉冲预设值时,即板材设定长度时,中断指令发信号,停止料滚电机工作,执行压料、裁剪,裁剪完成后,压料阀和料剪同时复位,料滚电机工作,进行下一次裁剪,周而复始。
程序拓展:可根据实际需要设计成钢板的定长裁剪;或流量的控制。
通过本程序学习,可加深高数计数器指令和中断指令的使用了解。
西门子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.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
- 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指令。