最专业的PLC知识讲解:PLC高速脉冲输出指令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最专业的PLC知识讲解:PLC高速脉冲输出指令
基本指令和顺序控制指令是PLC最常用的指令,为了适应现代工业自动控制需要,PLC制造商开始逐步为PLC增加很多功能指令,功能指令使PLC具有强大的数据运算和特殊处理功能,从而大大扩展了PLC的使用范围。S7-200 PLC 内部有两个高速脉冲发生器,通过设置可让它们产生占空比为50%、周期可调的方波脉冲(即PTO脉冲),或者产生占空比及周期均可调节的脉宽调制脉冲(即PWM脉冲)。占空比是指高电平时间与周期时间的比值。PTO脉冲和PWM脉冲如图1所示。图1 PTO脉冲和PWM脉冲说明在使用脉冲发生器功能时,其产生的脉冲从Q0.0和Q0.1端子输出,当指定一个发生器输出端为Q0.0时,另一个发生器的输出端自动为Q0.1,若不使用脉冲发生器,这两个端子恢复普通端子功能。要使用高速脉冲发生器功能,PLC应选择晶体管输出型,以满足高速输出要求。一、指令说明高速脉冲输出指令说明如下:二、高速脉冲输出的控制字节、参数设置和状态位要让高速脉冲发生器产生合符要求的脉冲,须对其进行有关控制及参数设置,另外,通过读取其工作状态可触发需要的操作。1.控制字节高速脉冲发生器的控制采用一个SM 控制字节(8位),用来设置脉冲输出类型(PTO或PWM)、脉冲时间单位等内容。高速脉冲发生器的控制字节说明见表
5-14,例如当SM67.6=0时,让Q0.0端子输出PTO脉冲;当SM77.3=1时,让Q0.1端子输出时间单位为ms的脉冲。表1 速脉冲发生器的控制字节2.参数设置高速脉冲发生器采用SM存储器来设置脉冲的有关参数。脉冲参数设置存储器说明见表2,例如SM67.3=1,SMW68=25,则将脉冲周期设为25ms。表2 脉冲参数设置存储器3. 状态位高速脉冲发生器的状态采用SM位来显示,通过读取状态位信息可触发需要的操作。高速脉冲发生器的状态位说明见表3,例如SM66.7=1表示Q0.0端子脉冲输出完成。
表3 高速脉冲发生器的状态位三、PTO脉冲的产生与使用PTO脉冲是一种占空比为50%、周期可调节的方波脉冲。PTO脉冲的周期范围为10μs~65535μs或2 ms~65535 ms,为16位无符号数;PTO脉冲数范围为1~4294967295,为32位无符号数。在设置脉冲个数时,若将脉冲个数设为0,系统会默认为个数为1;在设置脉冲周期时,如果周期小于两个时间单位,系统会默认周期值为两个时间单位,如时间单位为ms,周期设为1.3ms,系统会默认周期为2ms,另外,如果将周期值设为奇数值(如75ms),产生的脉冲波形会失真。PTO脉冲可分为单段脉冲串和多段脉冲串,多段脉冲串由多个单段脉冲串组成。1.单段脉冲串的产生要让Q0.0或Q0.1端子输出单段脉冲串,须先对相关的控制字节和参数进行设置,再执行高速脉冲输出PLS指令。图2是一段用
来产生单段脉冲串的程序。在PLC首次扫描时,SM0.1触
点闭合一个扫描周期,复位指令将Q0.0输出映像寄存器(即Q0.0线圈)置0,以便将Q0.0端子用作高速脉冲输出;当
I0.1触点闭合时,上升沿P触点接通一个扫描周期,MOV_B、MOV_W和MOV_DW依次执行,对高速脉冲发生器的控制字节和参数进行设置,然后执行高速脉冲输出PLS指令,让高速脉冲发生器按设置产生单段PTO脉冲串并从Q0.0端子输出。在PTO脉冲串输出期间,如果I0.2触点闭合,MOV_B、MOV_DW依次执行,将控制字节设为禁止脉冲输出、脉冲
个数设为0,然后执行PLS指令,高速脉冲发生器马上按新的设置工作,即停止从Q0.0端子输出脉冲。单段PTO脉冲串输出完成后,状态位SM66.7会置1,表示PTO脉冲输出结束。若网络2中不使用边沿P触点,那么在单段PTO脉冲串输出完成后如果I0.1触点仍处于闭合,则会在前一段脉冲串后面继续输出相同的下一段脉冲串。图2 一段产生单段脉冲串的程序2. 多段脉冲串的产生多段脉冲串有两种类型:单段管道脉冲串和多段管道脉冲串。(1)单段管道脉冲串单段管道脉冲串是由多个单段脉冲串组成,每个单段脉冲串的参数可以不同,但单段脉冲串中的每个脉冲参数要相同。由于控制单元参数只能对单段脉冲串产生作用,因此在输出单段管道脉冲串时,要求执行PLS指令产生首段脉冲串后,马上按第二段脉冲串要求刷新控制参数单元,并再次执行PLS
指令,这样首段脉冲串输出完成后,会接着按新的控制参数输出第二段脉冲串。单段管道脉冲串的每个脉冲串可采用不同参数,这样易出现脉冲串之间连接不平稳,在输出多个参数不同的脉冲串时,编程也很复杂。(2)多段管道脉冲串多段管道脉冲串也由多个单段脉冲串组成,每个单段脉冲串的参数可以不同,单段脉冲串中的每个脉冲参数也可以不同。1)参数设置包络表。由于多段管道脉冲串的各个脉冲串允许有较复杂的变化,无法用产生单段管道脉冲串的方法来输出多段管道脉冲串,S7-200 PLC采用在变量存储区建立一个包络表,由该表来设置多段管道脉冲串中的各个脉冲串的参数。多段管道脉冲串的参数设置包络表见表4。从包络表可以看出,每段脉冲串的参数占用8个字节,其中2字节为16位初始周期值,2字节为16位周期增量值,4字节为32位脉冲数值,可以通过编程的方式使脉冲的周期自动增减,在周期增量处输入一个正值会增加周期,输入一个负值会减少周期,输入0将不改变周期。
表4 多段管道脉冲串的参数设置包络表在多段管道模式下,系统仍使用特殊存储器区的相应控制字节和状态位,每个脉冲串的参数则从包络表的变量存储器区读出。在多段管道编程时,必须将包络表的变量存储器起始地址(即包络表中的n值)装入SMW168或SMW178中,在包络表中的所有周期值必须使用同一个时间单位,而且在运行时不能改变包络
表中的内容,执行PLS指令来启动多段管道操作。2)多段管道脉冲串的应用举例。多段管道脉冲串常用于步进电机的控制。图3是一个步进电机的控制包络线,包络线分3段:第1段(AB段)为加速运行,电机的起始频率为2kHz(周期为500μs),终止频率为10kHz(周期为100μs),要求运行脉冲数目为200个;第2段(BC段)为恒速运行,电机的起始和终止频率均为10kHz(周期为100μs),要求运行脉冲数目为3600个;第3段(CD段)为减速运行,电机的起始频率为10kHz(周期为100μs),终止频率为2kHz (500μs),要求运行脉冲数目为200个。列包络表除了要知道段脉冲的起始周期和脉冲数目外,还须知道每个脉冲的周期增量,周期增量可用下面公式计算获得:周期增量值=(段终止脉冲周期值-段起始脉冲周期值)/该段脉冲数例如AB
段周期增量值=(100μs-500μs)/200=-2μs。图3 一个步进电机的控制包络线根据步进电机的控制包络线可列出相
应的包络表,包络表见表5。表5 根据步进电机的控制包络线列出的包络表根据包络表可编写出步进电机的控制程序,程序如图4所示,该程序由主程序、SBR_0子程序和INT_0中断程序组成。在主程序中,PLC首次扫描时SM0.1触点闭合一个扫描周期,先将Q0.0端子输出映像寄存器置0,以便将该端子用作高速脉冲输出,然后执行子程序调用指令转入SBR_0子程序。在SBR_0子程序中,网络1用于设置