PLC课件:高速计数及脉冲输出指令_第1页
PLC课件:高速计数及脉冲输出指令_第2页
PLC课件:高速计数及脉冲输出指令_第3页
PLC课件:高速计数及脉冲输出指令_第4页
PLC课件:高速计数及脉冲输出指令_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

S7-200系列PLC高速计数器1.各种CPU支持的高速计数器高速计数器工作在中断方式,并配有专用的输入口用于计数信号输入、外启动、外复位及计数方向的控制。

S7-200系列PLC中规定了6个高速计数器编号,在程序中使用时用HCn来表示(在非程序中一般用HSCn)高速计数器的地址,n的取值范围为0~5。HCn还表示高速计数器的当前值,该当前值是一个只读的32位双字,可使用数据传送指令随时读出计数当前值。不同的CPU模块中可使用的高速计数器是不同的,CPU221、CPU222可以使用HC0、HC3、HC4和HC5;CPU224、CPU226可以使用HC0~HC5。2.高速计数器类型及工作模式每一高速计数器都有多种运行模式,其使用的输入端子各有不同,主要分为脉冲输入端子、方向控制输入端子、复位输入端子、启动输入端子等。高速计数器运行模式主要分为4类。(1)带内部方向控制的单相增/减计数器它有一个计数输入端,没有外部方向控制输入信号。计数方向由内部控制字节中的方向控制位设置,只能进行单向增计数或减计数。如HC0的模式0,其计数方向控制位为SM37.3,当该位为0时为减计数,该位为1时为增计数。(2)带外部方向控制的单相增/减计数器它有一个计数输入端,由外部输入信号控制计数方向,只能进行单向增计数或减计数。如HC1的模式3,I0.7为0时为减计数,I0.7为1时为增计数。运行模式描

述HCOHC4I0.0I0.1I0.2I0.3I0.4I0.50带内部方向控制的单相增/减计数器计数计数1计数复位计数复位3带外部方向控制的单相增/减计数器计数方向计数方向4计数方向复位计数方向复位6带增减计数输入的双向计数器增计数减计数增计数减计数7增计数减计数复位增计数减计数复位9A/B相正交计数器A相计数B相计数A相计数B相计数10A相计数B相计数复位A相计数B相计数复位(3)带增减计数输入的双向计数器它有两个计数输入端,一个为增计数输入,一个为减计数输入。增计数输入端有一个脉冲到达时,计数器当前值增加

1;减计数输入端有一个脉冲到达时,计数器当前值减少

1。若增计数脉冲与减计数脉冲相隔时间大于0.3ms,高速计数器就能够正确计数,若相隔时间小于0.3ms,高速计数器认为两个脉冲同时发生,计数器当前值不变。运行模式描

述HC1HC2I0.6I0.7I1.0I1.1I1.2I1.3I1.4I1.50带内部方向控制的单相增/减计数器计数计数1计数复位计数复位2计数复位启动计数复位启动3带外部方向控制的单相增/减计数器计数方向计数方向4计数方向复位计数方向复位5计数方向复位启动计数方向复位启动运行模式描

述HC1HC2I0.6I0.7I1.0I1.1I1.2I1.3I1.4I1.56带增减计数输入的双向计数器增计数减计数增计数减计数7增计数减计数复位增计数减计数复位8增计数减计数复位启动增计数减计数复位启动9A/B相正交计数器A相计数B相计数A相计数B相计数10A相计数B相计数复位A相计数B相计数复位11A相计数B相计数复位启动A相计数B相计数复位启动(4)A/B相正交计数器它有两个计数输入端A相和B相,A/B相正交计数器利用两个输入脉冲的相位确定计数方向。A相脉冲上升沿超前于B相脉冲上升沿时为增计数,反之则为减计数。运行模式描

述HC3HC5I0.0I0.30带内部方向控制的单相增/减计数器计数计数根据高速计数器号和模式的不同,以上4类运行模式还可增加复位端和启动端。当复位输入有效时,将清除计数器当前值并保持到复位输入无效。当启动输入有效时,则表示允许高速计数器计数,启动输入无效时,计数器忽略计数脉冲的输入,当前值保持不变。要正确使用高速计数器,除用好指令外,还要正确设置高速计数器的控制字节及当前值与预置值。而状态位则表明了高速计数器的运行状态,可以作为编程的参考点。3.高速计数器编程设置高速计数器控制字节控制位功能HSC0HSC1HSC2HSC3HSC4HSC5复位有效电平控制位:0(高电平有效);1(低电平有效)SM37.0SM47.0SM57.0SM147.0启动有效电平控制位:0(高电平有效);1(低电平有效)SM47.1SM57.1正交计数器计数速率选择:0(4X);1(1X)SM37.2SM47.2SM57.2SM147.2计数方向控制位:0(减计数);1(增计数)SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3向HSC中写入计数方向:0(不更新);1(更新计数方向)SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向HSC中写入预置值:0(不更新);1(更新预置值)SM37.5SM47.5SM57.5SM137.5SM147.5SM157.5向HSC中写入新的当前值:0(不更新);1(更新当前值)SM37.6SM47.6SM57.6SM137.6SM147.6SM157.6HSC允许:0(禁止HSC);1(允许HSC)SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7高速计数器初始值/预置值要装入的值HSC0HSC1HSC2HSC3HSC4HSC5初始当前值SMD38SMD48SMD58SMD138SMD148SMD158预置值SMD42SMD52SMD62SMD142SMD152SMD162当前值和预置值都是32位带符号整数。必须先将当前值和预置值存入表所示的特殊存储器中,然后执行HSC指令,才能够将新值送入高速计数器当中。高速计数器状态字节,其中某些位指出了当前计数方向、当前值与预置值是否相等、当前值是否大于预置值的状态。可以通过监视高速计数器的状态位产生相应中断,完成重要操作。但要注意,状态位只有在执行高速计数器终端程序时才有效。高速计数器状态位状态位功能HSC0HSC1HSC2HSC3HSC4HSC5不用SM36.0~SM36.4SM46.0~SM46.4SM56.0~SM56.4SM136.0~SM136.4SM146.0~SM146.4SM156.0~SM156.4当前计数方向状态位:0(减计数);1(增计数)SM36.5SM46.5SM56.5SM136.5SM146.5SM156.5当前值等于预置值状态位:0(不等);1(相等)SM36.6SM46.6SM56.6SM136.6SM146.6SM156.6当前值大于预置值状态位:0(小于等于);1(大于)SM36.7SM46.7SM56.7SM136.7SM146.7SM156.7状态位功能HSC0HSC1HSC2HSC3HSC4HSC5第二节高速计数器指令在工业应用中,电动机的调速、测速及定位是常见的控制方式。为实现电动机的精确控制,经常使用编码器将电动机的转速转换为高频脉冲信号,反馈至PLC,通过PLC对高频脉冲的计数和相关编程实现对电动机的各种控制。PLC中普通计数器受到扫描周期的影响,对高速脉冲的计数可能会出现脉冲丢失现象,导致计数不准确,也就不能实现精确控制。PLC提供的高速计数器独立于扫描周期之外,可以对脉宽小于扫描周期的高速脉冲准确计数,高速脉冲频率最高可达30kHz。1.高速计数器指令名

称定义高速计数器高速计数器运行控制指令HDEFHSC指令表格式HDEFHSC,MODEHSCN梯形图格式指

令输入/输出操

数数据类型HDEFHSC常数(0~5)BYTEMODE常数(0~11)BYTEHSCN常数(0~5)WORD2.指令功能

HDEF定义高速计数器指令,“HSC”端口指定高速计数器编号,“MODE”端口指定具体的运行模式(各高速计数器最多有12种工作模式)。EN端口执行条件存在时,HDEF指令可指定具体的高速计数器编号,并将其与某一工作模式联系起来。在一个程序中,每一个高速计数器只能且必须使用一次HDEF指令。

HSC高速计数器指令,根据高速计数器特殊存储器位的设置,按照HDEF指令指定的工作模式,控制高速计数器的工作。为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过程。(1)使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更加结构化。(2)在初始化子程序中,对相应高速计数器的控制字节写入希望的控制字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示允许高速计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效。(3)执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与具体运行模式进行连接。(4)在所选计数器号对应的当前值单元内装入所希望的当前值,若装入0,则清除原当前值。(5)在所选计数器号对应的预置值单元内装入所希望的预置值。高速计数器设置过程(6)为捕获高速计数器对应的中断事件(当前值等于预置值、计数方向改变、外部复位),编写相应的中断程序,并参考中断事件及其优先级,用ATCH中断连接指令建立中断事件和中断程序的联系。(7)执行全局中断允许指令(ENI)来允许高速计数器中断。(8)执行HSC指令,使高速计数器开始运行。6.高速计数器应用举例

使用高速计数器指令、变频器及光电码盘实现三相异步电动机的启动及二级减速自动定位控制系统。由于高速运行的交流电动机转动惯量较大,所以在高速下定位精度很低,必须采用减速的方式减小转动惯量,最后在低速运行时实现准确定位。在本例的控制中,电动机每次启动后运行距离均相等,所以使用光电码盘反馈方式进行二级减速及定位控制。输入触点功能说明输出线圈功能说明I0.0光电码盘脉冲输入Q0.6电动机运行驱动输出I0.1电动机启动按钮Q1.3高速运行输出Q1.4中速运行输出Q1.5低速运行输出第三节高速输出功能指令高速脉冲输出功能可以使PLC在指定的输出点上产生高速的PWM(脉宽调制)脉冲或输出频率可变的PTO脉冲,可以用于步进电动机和直流伺服电动机的定位控制和调速。在使用高速脉冲输出功能时,CPU模块应选择晶体管输出型,以满足高速脉冲输出的频率要求。1.高速脉冲输出指令名

称高速脉冲输出指令PLS指令表格式PLSQ梯形图格式2.指令功能

PLS脉冲输出指令,在EN端口执行条件存在时,检测脉冲输出特殊存储器的状态,然后激活所定义的脉冲操作,从Q端口指定的数字输出端口输出高速脉冲。

PLS指令可在Q0.0和Q0.1两个端口输出可控的PWM脉冲和PTO高速脉冲串波形。由于只有两个高速脉冲输出端口,所以PLS指令在一个程序中最多使用两次。高速脉冲输出和输出映像寄存器共同对应Q0.0和Q0.1端口,但Q0.0和Q0.1端口在同一时间只能使用一种功能。在使用高速脉冲输出时,两输出点将不受输出映像寄存器、立即输出指令和强制输出的影响。3.高速脉冲输出所对应的特殊标志寄存器为定义和监控高速脉冲输出,系统提供了控制字节、状态字节和参数设置寄存器。Q0.0对应寄存器Q0.1对应寄存器功能描述SMB66SMB76状态字节,PTO方式下,监控脉冲串的运行状态SMB67SMB77控制字节,定义PTO/PWM脉冲的输出格式SMW68SMW78设置PTO/PWM脉冲的周期值,范围:2~65535SMW70SMW80设置PWM的脉冲宽度值,范围:0~65535SMD72SMD82设置PTO脉冲串的输出脉冲数,范围:1~4294967295SMB166SMB176设置PTO多段操作时的段数SMW168SMW178设置PTO多段操作时包络表的起始地址,使用从变量寄存器V0开始的字节偏移表示(1)状态字节每个高速脉冲输出都有一个状态字节,监控并记录程序运行时某些操作的相应状态。可以通过编程来读取相关位状态。状态位功能Q0.0Q0.1不用位SM66.0~SM66.3SM76.0~SM76.3PTO包络由于增量计算错误终止:0(无错误);1(终止)SM66.4SM76.4PTO包络由于用户命令终止:0(无错误);1(终止)SM66.5SM76.5PTO管线上溢/下溢:0(无溢出);1(溢出)SM66.6SM76.6PTO空闲:0(执行中);1(空闲)SM66.7SM76.7(2)控制字节通过对控制字节的设置,可以选择高速脉冲输出的时间基准、具体周期、输出模式(PTO/PWM)、更新方式等,是编程时初始化操作中必须完成的内容。控制位功能Q0.0Q0.1PTO/PWM周期更新允许:0(不更新);1(允许更新)SM67.0SM77.0PWM脉冲宽度值更新允许:0(不更新);1(允许更新)SM67.1SM77.1PTO脉冲数更新允许:0(不更新);1(允许更新)SM67.2SM77.2

/

时基);1(1ms/时基)SM67.3SM77.3PWM更新方式:0(异步更新);1(同步更新)SM67.4SM77.4PTO单/多段选择:0(单段管线);1(多段管线)SM67.5SM77.5PTO/PWM模式选择:0(PTO模式);1(PWM模式)SM67.6SM77.6PTO/PWM脉冲输出允许:0(禁止脉冲输出);1(允许脉冲输出)SM67.7SM77.7PTO/PWM时间基准选择:0(1)PWM脉冲含义及周期、脉宽设置要求

PWM脉冲是指占空比可调而周期固定的脉冲。其周期和脉宽的增量单位可以设为微秒()或毫秒(ms),周期变化范围分别为50~65535和2ms~65535ms。周期设置时,设置值应为偶数,若设为奇数会引起输出波形占空比的轻微失真。周期设置值应大于

2,若设置值小于2,系统将默认为2。2)PWM脉冲波形更新方式由于PWM占空比可调,且周期可设置,所以存在脉冲连续输出时的波形更新问题。系统提供了同步更新和异步更新两种波形更新方式。同步更新

PWM脉冲输出的典型操作是周期不变而变化脉冲宽度,这时由于不需要改变时间基准,可以使用同步更新。同步更新时波形的变化发生在周期的边缘,可以形成平滑转换。异步更新若在脉冲输出时要改变时间基准,就要使用异步更新方式。异步更新会造成PWM功能瞬间被禁止,使得PWM波形转换时不同步,可能会引起被控设备的振动。所以应尽量避免使用异步更新。

PWM脉冲输出设置3)PWM脉冲输出设置下面以Q0.0为脉冲输出端介绍PWM脉冲输出的设置步骤。(1)使用初始化脉冲触点SM0.1调用PWM脉冲输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。(2)在初始化子程序中,将

16#D3(2#11010011)写入

SMB67

控制字节中。设置内容为脉冲输出允许;选择PWM方式;使用同步更新;选择以微秒为增量单位;可以更新脉冲宽度和周期。(3)向SMW68中写入希望的周期值。(4)向SMD70中写入希望的脉冲宽度。(5)执行PLS指令,开始输出脉冲。(6)若要在后续程序运行中修改脉冲宽度,则向SMB67中写入16#D2(2#11010010),即可以改变脉冲宽度,但不允许改变周期值。再次执行PLS指令。

在上面初始化子程序的基础上,若要改变脉冲宽度,则执行以下步骤。(1)调用一子程序,把所需脉冲宽度写入SMD70中。(2)执行PLS指令。

1)PTO脉冲串含义及周期、脉冲数设置要求

PTO脉冲串用于输出占空比为1∶1的方波,可以设置其周期和输出的脉冲数量。周期的增量单位可以设为微秒()或毫秒(ms),周期变化范围分别为

50~65535微秒和

2~65535ms。周期设置时,设置值应为偶数,若设为奇数会引起输出波形占空比的轻微失真。周期设置值应大于2,若设置值小于2,系统将默认为2。脉冲数设置范围为1~4294967295,若设置值为0,系统将默认为1。2)PTO脉冲串的单段管线和多段管线输出控制

PTO功能允许脉冲串的排队输出,当前脉冲串完成时,可以立即开始新脉冲的输出,从而形成管线,保证了脉冲串顺序输出的连续性。根据管线的实现形式,将PTO分为单段管线和多段管线两种。

PTO脉冲串输出设置(1)单段管线。管线中只能存放一个脉冲串控制参数,一旦启动了一个脉冲串输出,就要立即为下一个脉冲串设置控制参数,并再次执行PLS指令。第一个脉冲串输出完毕后,第二个脉冲串自动开始输出。重复以上过程就可输出多个脉冲串。若前后脉冲串的时间基准产生变化或利用PLS指令捕捉到新脉冲串之前上一个脉冲串已经完成,在脉冲串之间会出现不平滑转换。在管线满时,若要再装入一个脉冲串的控制参数,则状态位SM66.6或SM76.6会置位,表示PTO管线溢出。单段管线编程较复杂,主要要注意新脉冲串控制参数的写入时机。(2)多段管线。

在多段管线方式下,需要在变量存储器区(V)建立一个包络表。包络表中包含各脉冲串的参数(初始周期、周期增量和脉冲数)及要输出脉冲串的段数。使用PLS指令启动输出后,系统自动从包络表中读取每个脉冲串的参数进行输出。编程时,必须向SMW168或SMW178装入包络表的起始变量的偏移地址(从V0开始计算偏移地址),例如包络表从VB300开始,则需向SMW168或SMW178中写入十进制数300。包络表中的周期增量可以选择微秒或毫秒,但一个包络表中只能选择一个时间基准,运行过程中也不能改变。从包络表起始地址

开始的字节偏移地址包络表各段描

述VBn段数(1~255):设为0则产生非致命性错误,不产生PTO输出VWn+1第1段初始周期(2~65535时间基准单位)VWn+3每个脉冲的周期增量(-32768~32767时间基准单位)VDn+5脉冲数(1~4294967295)VWn+9第2段初始周期(2~65535时间基准单位)VWn+11每个脉冲的周期增量(-32768~32767时间基准单位)VDn+13脉冲数(1~4294967295)………包络表格式包络表中各段的长度均为8个字节,前两个字节为该段起始时脉冲的周期值;接下来的两个字节为前后两个脉冲之间周期值的变化量,若为正则输出脉冲周期变大,若为负则输出脉冲周期变小,若为0则输出脉冲周期不变;最后四个字节设置本段内输出脉冲的数量。一般来说,为了使各脉冲段之间能够平滑过渡,各段的结束周期(ECT)与下一段的初始周期(ICT)应相等,在各段输出脉冲数(Q)确定的情况下,脉冲的周期增量(N)需要经过计算来确定。例如:第1段中的初始周期为,脉冲数为400个;而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论