[整理]s7-200高速计数器详细解说
- 格式:doc
- 大小:80.00 KB
- 文档页数:14
1、建一个初始化程序,用SM0.1控制;
2、在初始化程序中,初始化高速计数器
2.1 设置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2)
2.2 执行HDEF指令,你可以用模式0
2.3 置计数器初始值(HSC0为SMD38),如果从零启动就置零
2.4 置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。
2.5 指定中断程序(ATCH),中断事件是12,程序号看你程序了
2.6 打开中断(ENI),这条指令没有的话,2.5是不起作用的
2.7 启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N 为0
3、程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
S7-200高速计数器简单案例(2)前面以几个较简单的程序案例学习了一下高速计数器的应用,那么今天就做几个稍微复杂一些的程序案例,提高一下对高速计数器的掌握程度和熟练应用。
1、用编码器测量电机转速与频率主程序:子程序:中断程序:以上的程序中,在主程序中,用I0.7的上升沿调用高速计数器初始化子程序,然后做一个高速计数器初始化的子程序,首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,这里没有写入初始值和预设值,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器,还做了高速计数器中断,我们设置定时中断0的时间间隔为100ms,因为SMB34的定时中断0为中断事件号10,我们建立中断程序0和中断事件10的中断连接,并全局允许中断。
然后再看一下中断程序,因为是100ms的定时中断,每100ms 执行一次中断程序。
我们就用100ms计算的脉冲个数,再乘以600化成1分钟的脉冲个数,再除于分辨率就是等于转速,程序中的500就是编码器的分辨率。
而对于编码器的频率的计算,我们有这样一个公式,频率/工频50Hz=转速/工频下的转速,所以频率=(转速/工频下的转速)*工频50Hz,这里我们先把双整数的转速转换成实数,再除以工频下的转速1488.0,再乘以工频50.0Hz,那么就得到了编码器的频率了。
2、用编码器测量机床位置,不论机床朝正方向移动或朝反方向移动,都能知道机床的当前位置,有一原点位置感应开关I0.7,当原点位置感应开关接通时,机床的当前位置为0。
假设编码器的分辨率为1024,丝杆的进给量即转1圈移动的位置为10,计算公式是当前值除以分辨率,再乘于进给量)主程序:子程序:以上的程序中,首先做一个高速计数器初始化的子程序,首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,这里没有写入初始值和预设值,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器。
西门子S7-200PLC的计数器共有255个计数器(不包括高速计数器)可以使用,计数的形式可以分为“加计数”、“减计数”与“加减计数”3类。
(1)加计数(CTU)加计数是通过获取计数输入信号的上升沿进行加法计数的计数方法。
计数输入信号每出现一次上升沿,计数器从0开始加“1”,当计数达到设定值(PV)时,计数器的输出触点接通。
计数达到设定值如果继续输入计数信号,计数值仍然增加,输出触点保持接通状态。
计数器具有清除信号(R)输入,当清除信号为“1”时,现行计数值被清“0”,设定值写入,输出触点强制断开。
(2)减计数(CTD)减计数是通过获取计数输入信号的上升沿进行减法计数的计数方法。
计数输入信号每出现一次上升沿,计数器从设定值开始减“l”,当现行计数值减到“0”时,计数器的输出触点接通。
计数值为“0”后如果继续输入计数信号,计数值保持“0”,输出触点保持接通状态。
计数器具有清除信号(R)输入,当清除信号为“1”时,设定值被写入并作为现行计数值,输出触点强制断开。
(3)加减计数(CTUD)加减计数具有加计数与减计数两个输入端,通过获取对应计数输入信号的上升沿,进行加法、减法计数。
加减计数的本质与加计数相同,计数输入信号每出现一次上升沿,计数器从0开始加“1”,当计数达到设定值(PV)时,计数器的输出触点接通。
计数达到设定值如果继续输入计数信号,计数值仍然增加,输出触点保持接通状态。
当现行值加到最大值32767后,如果再输入加计数信号,现行值变为-32768,再继续进行加计数。
同时,减计数输入信号也起作用,减计数输入每出现一次上升沿,计数器从现行值开始减“1”。
当现行值减到最小值-32768后,如果再输入减计数信号,现行值变为+32767,再继续进行减计数。
计数器具有清除信号(R)输入,当清除信号为“l”时,现行计数值被清“0”,设定值写入,输出触点强制断开。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
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 指令时对计数器的设定。
CPU 本体集成高速计数器S7-200 SMART CPU具有集成的、硬件高速计数器。
固件版本的CPU SR20、 CPU SR40、 CPUST40 、CPU SR60 和 CPU ST60可以使用4个60kHz单相高速计数器或2个40kHz的两相高速计数器,而CPU CR40可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器。
固件版本到的标准型CPU(ST/SR20、ST/SR30、ST/SR40、ST/SR60)可以使用4个200kHz单相高速计数器或2个100kHz的两相高速计数器,而紧凑型CPU CR40、CR60可以使用4个100kHz单相高速计数器或2个50kHz的两相高速计数器。
固件版本的标准型CPU支持6个高速计数器,具体请参考表1和表2。
表1 标准CPU高速计数器表2 经济型CPU参数计数器共有四种基本类型:带有内部方向控制的单相计数器,带有外部方向控制的单相计数器,带有两个时钟输入的双相计数器和A/B相正交计数器。
表3. 高速计数器的模式及输入点:1时钟复位3带有外部方向控制的单相计数器时钟方向4时钟方向复位6带有增减计数时钟的双相计数器增时钟减时钟7增时钟减时钟复位9A/B相正交计数器时钟A时钟B1 0时钟A时钟B复位表4. 高速计数器的寻址高速计数器号HSC0HSC1HSC2HSC3HSC4HSC5新当前值(新CV)SMD38SMD48SMD58SMD138SMD148SMD158新预置值(新PV)SMD42SMD52SMD62SMD142SMD152SMD162当前计数值(仅读出)HC0HC1HC2HC3HC4HC5高速计数器的具体编程及相关的中断和其它参数,请参见《S7-200 SMART 系统手册》,上面有详细的阐述及例程。
STEP 7-Micro/WIN SMART提供了一个方便实用的高速计数器指令编程向导,用户可以简单快速地配置自己的高速计数器功能。
(2条消息)西门子S7目录一、高速计数器的简介1、高速计数器的工作模式和输入2、高速计数器的控制字和初始值、预置值二、高速输入降噪三、高速计数器指令向导一、高速计数器的简介对超出CPU普通计数器能力的脉冲信号进行测量。
S7-200 SMART CPU提供了多个高速计数器(HSCO~HSC6,具体请参考表1和表2)以响应快速脉冲输入信号。
高速计数器的计数速度比PLC的扫描速度要快得多,因此高速计数器可独立于用户程序工作,不受扫描时间的限制。
用户通过相关指令,设置相应的特殊存储器控制计数器的工作。
高速计数器的一个典型的应用是利用光电编码器测量转速和位移。
表1 标准型CPU高速计数器表2 经济型CPU参数1、高速计数器的工作模式和输入高速计数器有8种工作模式,每个计数器都有时钟、方向控制、复位启动等特定输入。
对于双向计数器,两个时钟都可以运行在最高频率上,高速计数器的最高计数频率取决于CPU的类型。
在正交模式下,可选择1× (1倍速)或者4× (4倍速)输入脉冲频率的内部计数频率。
高速计数器有8种4类工作模式:(1)无外部方向输入信号的单/减计数器(模式0和模式1)用高数计数器的控制字的第3位控制加减计数,该位为1时为加计数,为0时为减计数。
(2)有外部方向输入信号的单/减计数器(模式3和模式4)方向信号为1时,为加计数,方向信号为0时,为减计数。
(3)有加计数时钟脉冲和减计数时钟脉冲输入的双相计数器(模式6和模式7)若加计数脉冲和减计数脉冲的上升沿出现的时间间隔短,高速计数器认为这两个事件同时发生,当前值不变,也不会有计数方向的变化的指示。
否则高速计数器能捕捉到每个独立的信号。
(4)A/B相正交计数器(模式9和模式10)它的两路计数脉冲的相位相差90。
,正转时A相时钟脉冲比B相时钟脉冲超前90。
反转时, A相时钟脉冲比B相时钟脉冲滞后90%。
利用这一特点,正转时加计数,反转时减计数。
S7-200指令详解PLC在运行时需要处理的数据一般都根据数据的类型不同、数据的功能不同而把数据分成几类。
这些不同类型的数据被存放在不同的存储空间,从而形成不同的数据区。
S7-200的数据区可以分为数字量输入和输出映像区、模拟量输入和输出映像区、变量存储器区、顺序控制继电器区、位存储器区、特殊存储器区、定时器存储器区、计数器存储器区、局部存储器区、高速计数器区和累加器区。
3.1 S7-200的数据区1. 数字量输入和输出映象区(1) 数字量输入映像区(I区)数字量输入映像区是S7-200 CPU为输入端信号状态开辟的一个存贮区,用I表示。
在每次扫描周期的开始,CPU对输入点进行采样,并将采样值存于输入映像区寄存器中。
该区的数据可以是位(1bit)、字节(8bit)、字(16bit)或者双字(32bit)。
其表示形式如下。
·用位表示I0.0、I0.1、…I0.7I1.0、I1.1、…I1.7…I15.0、I15.1、…I15.7共l28点。
输入映像区每个位地址包括存储器标识符、字节地址及位号三部分。
存储器标识符为“I”,字节地址为整数部分,位号为小数部分。
比如Il.0表明这个输入点是第1个字节的第0位。
·用字节表示IB0、IB1、…IB15共l6个字节。
输入映像区每个字节地址包括存储器字节标识符、字节地址两部分。
字节标识符为“IB”,字节地址为整数部分。
比如IB1表明这个输入字节是第1个字节,共8位,其中第0位是最低位,第7位是最高位。
·用字表示IW0、IW2、…IW14共8个字。
输入映像区每个字地址包括存储器字标识符、字地址两部分。
字标识符为“IW”,字地址为整数部分。
一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。
比如,IW0中的IB0应该是高8位,IB1应该是低8位。
·用双字表示ID0、ID4、…ID12共4个双字。
课堂教学教案教学实践●新课导入如果要知道生产线上已经生产了多少产品,仓库里面进了多好配件,已经用去多少,怎么实现自动技术呢?●新课讲授一、计数器指令介绍计数器利用输入脉冲上升沿累计脉冲个数。
结构主要由一个16位的预置值寄存器、一个16位的当前值寄存器和一位状态位组成。
当前值寄存器用以累计脉冲个数,计数器当前值大于或等于预置值时,状态位置1。
S7-200系列PLC有三类计数器:CTU-加计数器,CTUD—加/减计数器,CTD-减计数.1。
计数器指令格式如表4。
5所示表4。
5计数器的指令格式STL LAD指令使用说明CTU Cxxx,PV (1)梯形图指令符号中:CU为加计数脉冲输入端;CD为减计数脉冲输入端;R为加计数复位端;LD为减计数复位端;PV为预置值(2)Cxxx 为计数器的编号,范围为:C0~C255(3)PV预置值最大范围:32767; PV的数据类型:INT;PV操作数为: VW, T, C, IW, QW, MW,SMW, AC, AIW, K(4)CTU/CTUD/CD 指令使用要点:STL形式中CU,CD,R,LD的顺序不能错;CU,CD,R,LD信号可为复杂逻辑关系CTDCxxx,PVCTUDCxxx,PV2。
计数器工作原理分析(1)加计数器指令(CTU)当R=0时,计数脉冲有效;当CU端有上升沿输入时,计数器当前值加1.当计数器当前值大于或等于设定值(PV)时,该计数器的状态位C-bit置1,即其常开触点闭合。
计数器仍计数,但不影响计数器的状态位.直至计数达到最大值(32767).当R=1时,计数器复位,即当前值清零,状态位C—bit也清零。
加计数器计数范围:0~32767。
(2) 加/减计数指令(CTUD)当R=0时,计数脉冲有效;当CU端(CD 端)有上升沿输入时,计数器当前值加1(减1)。
当计数器当前值大于或等于设定值时,C-bit置1,即其常开触点闭合。
当R=1时,计数器复位,即当前值清零,C-bit也清零。
利用S7-200 PLC的高速计数器进行数据采集摘要:介绍了西门子S7-214可编程序控制器在气体在线监测系统中的应用,主要阐述了利用PLC的高速计数器对8路通道进行数据采集。
关键词:可编程序控制器;溶解气体分析法;高速计数器;在线监测西门子公司的S7-200系列可编程序控制器(PLC)是继S5系列后的新产品。
该系列PLC具有模拟量处理、通讯联网、系统诊断、中断处理和高速计数等功能。
他将模块式和一体式PLC 的优点结合起来,即CPU本身自带一部分I/O,同时又具有扩展能力;编程软件STEP7-Micro 为用户提供了界面友好而功能强大的开发工具;其配套的E2PROM存储卡也使修改和调试程序、维护设备十分方便和可靠。
CPU214是S7-200系列PLC中的典型产品,其具有2048字程序存储器,2048字数据存储器;基本单元有14点输入和10点输出,最多可支持7个附加的扩展I/O 模块(包括模拟量模块),最多可使用共计64个I/O点;128个计时器(1 ms分辨率4个,10 ms分辨率16个,100 ms分辨率108个);128个计数器(96个加计数器,32个加/减计数器);中断能力强(自由端口通讯接收或发送中断,4个输入信号中断,2个时间中断,7个高速计数器中断,2个脉冲串中断);1个最高可接收2 kHz脉冲输入的高速计数器,2个最高可接收7 kHz脉冲输入的高速计数器,支持×1方式的正交脉冲(AB相)输入,能以7 KHz速率计数,支持×4方式的正交脉冲(AB相)输入,能以28 kHz速率计数;具有2个脉冲输出,能选择脉冲串输出(PTO)方式或脉宽调制输出(PWM)方式;有内藏的实时日历时钟。
变压器油中溶解气体分析法(DGA)[1]是利用不同类型的变压器故障对应不同的变压器油中溶解气体浓度性质,通过分析故障特征气体的浓度来获知变压器故障类型[2]。
由于DGA法能够在不停电的情况下进行故障检测,不受外界影响,可以定期在变压器运行过程中对其内部故障进行诊断。
[整理]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(高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
每个高速计数器专用的输入点如表高速计数器的输入点高速计数器标号输入点高速计数器标号输入点HC0 I0.0,I0.1,I0.2 HC3 I0.1 HC1 I0.6,I0.7,I1.0,11.1 HC4I0.3,I0.4,I0.5 HC2 I1.2,I1.3,,I1.4,I1.5 HC5 I0.4 3(高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。
高速计数器的状态字节描述 HC0 HC1 HC2 HC3 HC4 HC5不用 SM36.0 SM46.0 SM56.0 SM36.0 SM146.0 SM156.0 SM36.1 SM46.1SM56.1 SM36.1 SM146.1 SM156.1 SM36.2 SM46.2 SM56.2 SM36.2 SM146.2SM156.2 SM36.3 SM46.3 SM56.3 SM36.3 SM146.3 SM156.3 SM36.4 SM46.4 SM56.4 SM36.4 SM146.4 SM156.4当前计数的状态位0=SM36.5 SM46.5 SM56.5 SM36.5 SM146.5 SM156.5减计数,1=增计数当前值等于设定值的状SM36.6 SM46.6 SM56.6 SM36.6 SM146.6 SM156.6态位0=不等于,1=等于当前值大于设定值得状SM36.7 SM46.7 SM56.7 SM36.7 SM146.7 SM156.7态位0=小于等于,1=大于只有执行高速计数器的中断程序时,状态字节的状态位才有效。
4.高速计数器的工作模式高速计数器有12种不同的工作模式(0`~11),分为4类。
每个高速计数器都有多种工作模式,可以通过编程的方法,使用定义高速计数器指令HDEF来选定工作模式。
(1) 各个高速计数器的工作模式1( 高速计数器HC0是一个通用的增减计数器,工有8种模式,可也通过编程来选择不同的工作模式,HC0的工作模式如表HC0的工作模式模式描述控制位 I0.0 I0.1 I0.2内部方向控制的单向增/SM37.3=0,减脉冲 0减计数器 SM37.3=1,增复位 1外部方向控制的单向增/I0.1=0,减脉冲方向 3减计数器 I0.1=1,增复位 4增/减计数脉冲输入控制外部输入控曾计数减计数 6的双向计数器制脉冲脉冲复位 7A/B相正交A超前B,外部输入控A相脉冲 B相脉冲 9计数器曾计数制B超前A,复位 10减计数2高速计数器HC1共有12种操作模式如表HCI的操作模式模式描述控制位 I0.6 I0.7 I1.0 I1.1 内部方向控制的单向SM47.3=0,减脉冲 0增/减计数器 SM47.3=1,增复位 1启动 2外部方向控制的单向I0.7=0,减脉冲方向 3增/减计数器 I0.7=1,增复位 4启动 5增/减计数脉冲输入外部输入控曾计数减计数 6控制的双向计数器制脉冲脉冲复位 7启动 8A/B相正交计数器外部输入控A相 B相 9A超前B,曾计数制脉冲 Mc 复位 10B超前A,减计数启动 113.高速计数器HC2共有12种操作模式,如表HC2的操作模式模式描述控制位 I1.2 I1.3 I1.4 I1.5内部方向控制的单向SM573=0,减脉冲 0增/减计数器 SM57.3=1,增复位 1启动 2外部方向控制的单向I1.3=0,减脉冲方向 3增/减计数器 I1.3=1,增复位 4启动 5增/减计数脉冲输入外部输入控曾计数减计数 6控制的双向计数器制脉冲脉冲复位 7启动 8A/B相正交计数器外部输入控A相 B相 9A超前B,曾计数制脉冲复位 10 McB超前A,减计数启动 114高速计数器HC3只有一种操作模式,如表HC3的操作模式模式描述控制位 I0.1内部方向控制的单向增/减计数器 SM137.0=0,减;脉冲 0 SM137.3=1,增5.高速计数器HC4有8操作模式,如表HC4的操作模式模式描述控制位 I0.3 I0.4 I0.5内部方向控制的单向增/减计数SM147.3=0,减脉冲 0器 SM147.3=1,增复位 1外部方向控制的单向增/减计数I0.1=0,减脉冲方向 3 器 I0.1=1,增复位 4外部输入控制增计数减计数增/减计数脉冲输入控制的双向脉冲脉冲 6计数器复位 7A/B相正A超前B,曾计数外部输入控制 A相 B相 9交计数器脉冲脉冲B超前A,减计数复位 106.高速计数器HC5只有一种操作模式如表HC5的操作模式模式描述控制位 I0.4内部方向控制的单向增/减计数器 SM157.3=0,减SM157.3=1,增脉冲 04.高速计数器的控制字节系统为每个高速计数器都安排了一个特殊寄存器SMB作为控制字,可也通过对控制字节指定为的设置,确定高速计数器的工作模式。
S7-200在执行HSC指令前,首先要检查与每个高速计数器相关的控制字节,在控制字节中设置了启动输入信号和复位输入信号的有效电平,正交计数器的计数倍率,计数方向采用内部控制的有效电平,是否允许改变计数方向,是否允许更新设定值,是否允许更新当前值,以及是否允许执行高速计数指令。
高数计数器的控制字节描述 HCO HC1 HC2 HC3 HC4 HC5复位输入控制电平有效值:、 SM37.0 SM47.0 SM57.0 ---- SM147.0 ------ 0=高电平有效,1=低电平有效启动输入控制电平有效值: ------ SM47.1 SM57.1 ----- ----- ------- 0=高电平有效,1=低电平有效倍率选择:0=4倍率,1=1倍率 SM37.2 SM47.2 SM57.2 ----- SM147.2 --------计数方向控制:0为减1为曾 SM37.3 SM47.3 SM57.3 SM137.3 SM147.3SM157.3改变计数方向控制:0=不改变 SM37.4 SM47.4 SM57.4 SM137.4 SM147.4SM157.41=准许改变改变设定值控制:0=不改变 SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 1=准许改变改变当前值控制:0=不改变 SM37.6 SM47.6 SM57.6 SM137.6 SM147.6 SM157.6 1=准许改变高速计数控制:0=禁止计数 SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 1=准许计数说明:(1) 在高速计数器的12种工作模式中,模式0、模式3、模式6和模式9,是既无启动输入,又无复位输入的计数器,在模式1、模式4、模式7和模式10中,是只有复位输入,而没有启动输入的计数器;在模式2、模式5、模式8和模式11中,是既有启动输入,又有复位输入的计数器。
(2) 当启动输入有效时,允许计数器计数;当启动输入无效时,计数器的当前值保持不变;当复位输入有效时,将计数器的当前值寄存器清零;当启动输入无效,而复位输入有效时,则忽略复位的影响,计数器的当前值保持不变;当复位输入保持有效,启动输入变为有效时,则将计数器的当前值寄存器清零。
(3) 在S7-200中,系统默认的复位输入和启动输入均为高电平有效,正交计数器为4倍频,如果想改变系统的默认设置,需要设置如上表中的特殊继电器的第0,1,2位。
各个高速计数器的计数方向的控制,设定值和当前值的控制和执行高速计数的控制,是由表4-22中各个相关控制字节的第3位至第7位决定的。
6.高速计数器的当前值寄存器和设定值寄存器每个高速计数器都有1个32位的经过值寄存器HC0-HC5,同时每个高速计数器还有1个32位的当前值寄存器和1个32位的设定值寄存器,当前值和设定值都是有符号的整数。
为了向高速计数器装入新的当前值和设定值,必须先将当前值和设定值以双字的数据类型装入如表所列的特殊寄存器中。
然后执行HSC指令,才能将新的值传送给高速计数器。
高速计数器的当前值和设定值说明 HC0 HC1 HC2 HC3 HC4 HC5新当前值 SMD38 SMD48 SMD58 SMD138 SMD148 SMD158新设定值 SMD42 SMD52 SMD62 SMD142 SMD152 SMD1627.高速计数器的初始化由于高速计数器的HDEF指令在进入RUN模式后只能执行1次,为了减少程序运行时间优化程序结构,一般以子程序的形式进行初始化。
下面以HC2为例,介绍高速计数器的各个工作模式的初始化步骤。
1( 利用SM0.1来调用一个初始化子程序。