
1高速脉冲输出的形式
A高速脉冲串输出PTO:(PulseTrainOutput)

输出指定数量,占空比为50%的方波脉冲串。
B宽度可调脉冲输出PWM:(PulseWidthModulation)

输出数量不限,占空比可调的脉冲串信号。
2高速脉冲输出端子
西门子S7-200CPU可以提供2个高速脉冲发生器
●PTO/PWM发生器0的输出端子是
●PTO/PWM发生器1的输出端子是
3高速脉冲输出优先权
有PTO/PWM输出时,CPU把输出端子、控制权交给PTO/PWM发生器,禁止普通逻辑输出。
输出映像寄存器Q的状态会影响PTO/PWM波形的起始电平,高速脉冲输出前要先把、的状态清零。
4高速脉冲输出适用机型
输出高频脉冲信号时,应选用晶体管输出型PLC。
二高速脉冲输出指令及特殊寄存器1高速脉冲输出指令(Pulse)

指令功能:EN有一个上升沿时,激活PLS,控制PLC从或输出高速脉冲。
PLS指令可以输出:
※高速脉冲串PTO
※宽度可调的脉冲信号PWM
数据类型:
※操作数:X必须是常数0或1。
※EN:只接通一个扫描周期的短信号。
2特殊寄存器
每个PTO/PWM都有一组配套参数:
●1个8位的控制字节
●1个8位的状态字节
●1个16位的周期值
●1个16位的脉宽值
●1个32位的脉冲数量
对于多段PTO,还有
●1个8位的段字节
●1个16位包络表起始地址
这些参数存放在系统指定的特殊标志寄存器中

状态字节
PTO方式下运行时,系统根据运行状态使相应位置位。

控制字节
通过设置字节中各控制位,来定义高速脉冲输出的特性.
控制字节中各控制位的功能

特点:高速脉冲串输出(PTO)方式下,只能改变脉冲的周期值和脉冲数。
1周期和脉冲数
●周期:单位:μs或ms。周期值为16位无符号整数。变化范围:50~65535μs或2~65535ms。
脉冲数:是一个32位的无符号整数,取值范围:1~4294967295。
2高速脉冲串输出中断
PTO方式下,当输出完指定数量的脉冲后,产生高速脉冲串输出中断。
●PTO/PWM0的中断事件号是19
●PTO/PWM1的中断事件号是20
高速脉冲串输出时,CPU自动将PTO空闲位(或)置1。
3PTO的种类
PTO方式下,要输出多段脉冲串时,允许脉冲串排队。PTO输出多段脉冲的方式有两种:
●单段PTO:定义一个脉冲串,输出一个脉冲串(特性参数通过特殊寄存器分别定义)。
●多段PTO:集中定义多个脉冲串,按顺序输出多个脉冲串(特性参数通过包络表集中定义)
单段PTO实现的方法
用指定的特殊标志寄存器定义脉冲串特性参数(每次定义一个脉冲串)。一个脉冲串输出完成后,产生中断。在中断服务程序中再为下一个脉冲串更新参数,输出下一个脉冲串。
优点:各脉冲段可以采用不同的时间基准。◎缺点:单段PTO输出多段高速脉冲串时,编程复杂,且参数设置不当会造成脉冲串之间的不平滑转换。
多段PTO操作
多段PTO:集中定义多个脉冲串,并把各段脉冲串的特性参数按照规定的格式写入变量存储区用户指定的缓冲区中--称为包络表
包络表说明:
●包络表由包络段数和各段构成。
●第一个字节为需要输出的脉冲串总段数,范围:1~255;
●定义一段脉冲串的特性参数需要8个字节
※2个字节存放脉冲串的起始周期值
※2个字节定义脉冲串的周期增量
※4个字节存放该段脉冲串的脉冲数
包络表中的周期单位可以为ms或μs,
但表中所有周期单位必须一致。
●周期增量的计算公式:

多段PTO操作时,需把包络表的起始地址装入标志寄存器SMW168(或SMW178)中。
●PTO指令执行时,当前输出段的段号由系统填入SMB166或SMB176中。
多段PTO的优点:
编程简单,且在同一段脉冲串中其周期可以均匀改变。
多段PTO编程方法及步骤:
A.初始化操作(以PTO/PWM0为例):
a.将PTO的输出点复位;
b.调用初始化子程序SBR-0,完成下列任务:
设置控制字节SMB67,按照控制要求按位填写:如使SMB67=16A0

将包络表首地址装入SMW168中。
●填写包络表。
参数换算:

起始频率:2kHz,起始周期值:500μs,
运行频率为10kHz,运行周期值:100μs。
输出3段脉冲串,时基取μs,定义三段脉冲串特性参数的包络表为:

中断连接:高速脉冲输出完成时,产生中断事件19,用ATCH指令将与中断事件与中断服务程序INT0连接起来,并全局开中断(ENI)。
●执行PLS指令。








采用多段PTO,脉冲串连续输出期间,按启动按钮不起作用,不会出现脉冲串重复排队输出的现象,脉冲串能够按照规定的顺序输出完后,停止输出。
四宽度可调的脉冲输出PWM特点:PWM方式下,用户可以改变脉冲的周期值和脉宽值,脉冲数不受限制。
1周期值和脉宽值
周期值:是一个16位无符号数据,单位:μs或ms;变化范围:50~65535μs或2~65535ms。
脉冲宽度:是一个16位无符号整数,单位:μs或ms;变化范围是0~65535μs或ms。即占空比在0%~100%之间变化。
2PWM更新方式
●同步更新:在改变脉冲周期值和脉宽值时,不改变时间基准。特点:同步更新时,波形的变化发生在周期的边缘,输出波形进行平滑转换。
异步更新:在改变脉冲周期值和脉宽值时,改变时间基准。特点:采用异步更新会使高速脉冲输出功能被瞬时禁止,这时输出端交由输出映像寄存器Q控制,可能使PWM的波形不连续,引起被控制设备的振动。
结论:改变PWM波形的特性时应尽量采用同步更新。
3PWM的编程方法及步骤
A.确定脉冲发生器:
※选择高速脉冲输出端(发生器);
※选择工作模式为PWM。
的初始化
a.将PWM的输出点(或)复位;
b.调用初始化子程序SBR-0,它所完成的任务:
按位填写控制字节(如SMB67):SMB67=16#DB

向SMW68写入第一个脉冲串的周期值;
●向SMW70写入第一个脉冲串的脉宽值;
●执行PLS指令,输出指定宽度的脉冲信号。修改脉冲串宽度的方法
●改写控制字节SMB67,将允许改脉宽值位置1,其它位不变。
●向SMW70写入新的脉冲宽度值
●执行PLS,输出指定宽度的脉冲信号。

PWM输出举例
要求PWM0的脉冲周期是T=10000ms,开始时输出占空比为10%的脉冲,当=1时,输出占空比为50%的脉冲,当=1时,停止输出脉冲。



