1、第七章第七章 S7S7-200PLC200PLC 的复杂功能指令的复杂功能指令-1 1 机电一体化机电一体化 主讲主讲:s7:s7-200200 7 7-12 12 高速脉冲输出指令高速脉冲输出指令 1.1.高速脉冲输出的几个概念高速脉冲输出的几个概念 1)1)高速脉冲输出的形式高速脉冲输出的形式 高速脉冲串输出高速脉冲串输出 PTOPTO :(Pulse Train Output)(Pulse Train Output)输出输出指定数量,占空比为指定数量,占空比为50%50%的方波脉冲串。的方波脉冲串。宽度可调脉冲输出宽度可调脉冲输出 PWM:PWM:(Pulse Width Modulat
2、ion)(Pulse Width Modulation)输出输出数量不限,占空比可调数量不限,占空比可调的脉冲串信号。的脉冲串信号。2)2)高速脉冲输出端子高速脉冲输出端子 每台每台CPUCPU可以提供可以提供 2 2 个个高速脉冲高速脉冲发生器发生器 PTO/PWM PTO/PWM 发生器发生器0 0 的输出端子是的输出端子是 Q0.0Q0.0 PTO/PWM PTO/PWM 发生器发生器1 1 的输出端子是的输出端子是 Q0.1Q0.1 3)3)高速脉冲输出优先权高速脉冲输出优先权 有有PTO/PWM PTO/PWM 输出时,输出时,CPU CPU 把输出端子把输出端子Q0.0Q0.0、Q
3、0.1 Q0.1 控制权交给控制权交给 PTO/PWM PTO/PWM 发生器,禁止普发生器,禁止普通逻辑输出。通逻辑输出。输出映像寄存器输出映像寄存器 Q Q 的状态会影响的状态会影响PTO/PWMPTO/PWM波形的起始电平波形的起始电平,高速脉冲输出前要先把高速脉冲输出前要先把Q0.0Q0.0、Q0.1Q0.1的状态清零。的状态清零。4 4)高速脉冲输出适用机型)高速脉冲输出适用机型 输出输出高频脉冲信号高频脉冲信号时,应选用时,应选用晶体管输出晶体管输出型型 PLCPLC。2.2.高速脉冲输出指令及特殊寄存器高速脉冲输出指令及特殊寄存器 1 1)高速脉冲输出指令)高速脉冲输出指令(Pu
4、lse)(Pulse)指令指令功能:功能:EN EN 有一个上升有一个上升沿时,激活沿时,激活PLSPLS,控制,控制PLCPLC从从 Q0.0 Q0.0 或或 Q0.1Q0.1 输出高速脉冲。输出高速脉冲。X X PLSPLS指令可以输出指令可以输出:高速脉冲串高速脉冲串 PTOPTO 宽度可调的脉冲信号宽度可调的脉冲信号 PWM PWM 数据类型:数据类型:操作数操作数Q0.XQ0.X:X X必须是必须是常数常数 0 0 或或 1 1。EN:EN:只接通一个扫描周期的只接通一个扫描周期的短信号短信号。2 2)特殊寄存器)特殊寄存器 每个每个 PTO/PWM PTO/PWM 都有一组配套参数
5、:都有一组配套参数:1 1个个 8 8位的位的控制字节控制字节 1 1个个 8 8位的位的状态字节状态字节 1 1个个 1616位的位的周期值周期值 1 1个个 1616位的位的脉宽值脉宽值 1 1个个 3232位的位的脉冲数量脉冲数量 对于多段对于多段 PTOPTO,还有,还有 1 1个个 8 8位的位的段字节段字节 1 1个个 1616位位包络表起始地址包络表起始地址 这些参数存放在系统指定的特殊标志寄存器中这些参数存放在系统指定的特殊标志寄存器中 Q0.0Q0.0的寄的寄存器存器 Q0.1Q0.1的寄的寄存器存器 名称及功能描述名称及功能描述 SMB66SMB66 SMB76SMB76
6、状态字节,在状态字节,在PTOPTO方式下,跟踪方式下,跟踪脉冲串的输出状态脉冲串的输出状态 SMB67SMB67 SMB77SMB77 控制字节,控制控制字节,控制PTO/PWMPTO/PWM脉冲输脉冲输出的基本功能出的基本功能 SMW68SMW68 SMW78SMW78 PTO/PWMPTO/PWM的周期值,字型,范围的周期值,字型,范围:2 26553565535,1616位无符号数位无符号数 表表7 7-17 17 相关寄存器功能表相关寄存器功能表 Q0.0Q0.0的寄的寄存器存器 Q0.1Q0.1的寄的寄存器存器 名称及功能描述名称及功能描述 SMW70SMW70 SMW80SMW8
7、0 PWMPWM的脉宽值,字型,范围的脉宽值,字型,范围0 06553565535,1616位无符号数位无符号数 SMD72SMD72 SMD82SMD82 PTOPTO的脉冲数,双字型,的脉冲数,双字型,范围:范围:1 142949672954294967295,3232位无位无符号数符号数 SMB166SMB166 SMB176SMB176 多段管线多段管线PTOPTO进行中的段的编号进行中的段的编号,8 8位无符号数位无符号数 SMW168SMW168 SMW178SMW178 多段管线多段管线PTOPTO包络表起始字节的包络表起始字节的地址地址 状态字节状态字节 PTO PTO 方式方
8、式下运行时,系统根据运行状态下运行时,系统根据运行状态使相应位置位。使相应位置位。表表7 7-18 18 状态字节表状态字节表 状状 态态 位位 SMSM6.06.0SMSM6.36.3 SMSM6.46.4 SMSM6.56.5 SMSM6.66.6 SMSM6.76.7 功功 能能 描描 述述 不用不用 PTOPTO包络因包络因增量计算错增量计算错误终止误终止 0 0:无错,:无错,1 1:终止:终止 PTO PTO 包络包络因用户命令因用户命令终止终止 0 0:无错,:无错,1 1:终止:终止 PTO PTO 管管 线溢出线溢出 0 0:无溢:无溢出出 1 1:溢出:溢出 PTOPTO空
9、闲空闲 0 0:执行:执行中中 1 1:空闲:空闲 控制字节中各控制位的功能控制字节中各控制位的功能 SMB77SMB77 SMB67SMB67 控制字节控制字节 通过设置字节中各控制位,来定义高速脉通过设置字节中各控制位,来定义高速脉冲输出的特性冲输出的特性.3 3高速脉冲串输出高速脉冲串输出PTOPTO 特点特点:高速脉冲串输出高速脉冲串输出(PTO)(PTO)方式下方式下,只能改只能改变脉冲的周期值和脉冲数。变脉冲的周期值和脉冲数。1 1)周期和脉冲数)周期和脉冲数 周期:周期:单位:单位:ss或或msms。周期值为周期值为1616位无符位无符号整数号整数。变化范围:。变化范围:5050
10、65535 s65535 s或或 2 265535 ms65535 ms。脉冲数:脉冲数:是一个是一个3232位的无符号整数位的无符号整数,取,取值范围:值范围:1 142949672954294967295。2 2)高速脉冲串输出中断)高速脉冲串输出中断 PTO PTO 方式下,当输出完指定数量的脉冲后,方式下,当输出完指定数量的脉冲后,产生高速脉冲串输出中断。产生高速脉冲串输出中断。PTO/PWM 0 PTO/PWM 0 的中断事件号是的中断事件号是1919 PTO/PWM 1 PTO/PWM 1 的中断事件号是的中断事件号是20 20 高速脉冲串输出时,高速脉冲串输出时,CPUCPU自动
11、将自动将PTOPTO空闲位空闲位SM66.7SM66.7(或(或SM76.7SM76.7)置)置1 1。3 3)PTOPTO的种类的种类 PTOPTO方式下,要输出多段脉冲串时,允许脉方式下,要输出多段脉冲串时,允许脉冲串排队。冲串排队。PTOPTO输出多段脉冲的方式有两种:输出多段脉冲的方式有两种:单段单段PTOPTO:定义一个定义一个脉冲串,脉冲串,输出一个输出一个脉冲脉冲串串 (特性参数通过特殊寄存器分别定义特性参数通过特殊寄存器分别定义)。多段多段PTOPTO:集中定义集中定义多个脉冲串,多个脉冲串,按顺序输按顺序输出出多个脉冲串多个脉冲串(特性参数通过包络表集中定义特性参数通过包络表
12、集中定义)。单段单段PTO PTO 实现的方法实现的方法 用指定的特殊标志寄存器定义脉冲串特性用指定的特殊标志寄存器定义脉冲串特性参数(每次定义一个脉冲串)。一个脉冲串输参数(每次定义一个脉冲串)。一个脉冲串输出完成后,产生中断。在中断服务程序中再为出完成后,产生中断。在中断服务程序中再为下一个脉冲串更新参数,输出下一个脉冲串。下一个脉冲串更新参数,输出下一个脉冲串。优点:优点:各脉冲段可以采用不同的时间基准。各脉冲段可以采用不同的时间基准。缺点:缺点:单段单段PTOPTO输出多段高速脉冲串时,编程输出多段高速脉冲串时,编程复杂,且参数设置不当会造成脉冲串之间的不平复杂,且参数设置不当会造成脉
13、冲串之间的不平滑转换。滑转换。多段多段PTO PTO 操作操作 多段多段PTOPTO:集中定义多个脉冲串集中定义多个脉冲串,并,并把各段把各段脉冲串的特性参数按照规定的格式写入脉冲串的特性参数按照规定的格式写入变量存变量存储区用户指定的缓冲区中储区用户指定的缓冲区中-称为称为包络表包络表(见书表见书表7 7-20)20)。包络表说明:包络表说明:包络表由包络段数和各段构成。包络表由包络段数和各段构成。第一个字节第一个字节为需要输出的为需要输出的脉冲串脉冲串总段数总段数,范围:范围:1 1255255 ;定义定义一段脉冲串的特性参数需要一段脉冲串的特性参数需要8 8个字节个字节 2 2个字节个字
14、节存放脉冲串的存放脉冲串的起始周期值起始周期值 2 2个字节个字节定义脉冲串的定义脉冲串的周期增量周期增量 4 4个字节个字节存放该段脉冲串的存放该段脉冲串的脉冲数脉冲数 包络表中的周期单位可以为包络表中的周期单位可以为 ms ms 或或 ss,但表中所有周期单位必须一致。但表中所有周期单位必须一致。周期增量的计算公式:周期增量的计算公式:多段多段PTOPTO操作时,需把操作时,需把包络表的起始地址包络表的起始地址 装入标志寄存器装入标志寄存器 SMW168SMW168(或(或SMW178SMW178)中。中。PTOPTO指令执行时,指令执行时,当前输出段的段号当前输出段的段号由系由系 统填入
15、统填入 SMB166 SMB166 或或 SMB176 SMB176 中。中。脉冲数周期增量起始终止TT多段多段PTOPTO的优点:的优点:编程简单,且在同一段脉冲串中其周期可编程简单,且在同一段脉冲串中其周期可以均匀改变。以均匀改变。多段多段 PTO PTO 编程方法及步骤:编程方法及步骤:A.A.初始化操作初始化操作(以以PTO/PWM 0PTO/PWM 0为例为例):a.a.将将 PTO PTO 的输出点的输出点 Q0.0 Q0.0 复位复位;b.b.调用初始化子程序调用初始化子程序SBRSBR-0 0,完成下列,完成下列任务:任务:将包络表的起始地址写入将包络表的起始地址写入 SMW1
16、68SMW168;填写包络表中各段脉冲串的特性参数;填写包络表中各段脉冲串的特性参数;设置控制字节设置控制字节SMB67,SMB67,按照控制要求按位填按照控制要求按位填写:如使写:如使SMB67=16#A0SMB67=16#A0。多段多段PTOPTO下全为下全为0 0 PWMPWM更新方式更新方式 建立中断连接:用建立中断连接:用ATCHATCH指令建立脉冲输指令建立脉冲输出完成中断事件与中断程序的联系。当出完成中断事件与中断程序的联系。当PLSPLS指指令输出完指定数量的脉冲串时,产生中断。令输出完指定数量的脉冲串时,产生中断。用用ENIENI全局开放中断;全局开放中断;B.B.有启动信号时,执行高速脉冲输出指令有启动信号时,执行高速脉冲输出指令PLSPLS,按顺序输出多段脉冲串。,按顺序输出多段脉冲串。C.C.有停止信号时,停止高速脉冲串输出。有停止信号时,停止高速脉冲串输出。停止停止 PTO PTO 输出的方法输出的方法 PLSPLS指令一经激发,就能完成指定脉冲串指令一经激发,就能完成指定脉冲串的输出,故要停止的输出,故要停止PTOPTO输出,必须先在输出,必须先在控制字控制