广西西门子S7-200SMARTPLC代理批发销售
在S7-200中,使用高速脉冲输出功能时,都对应一些特殊继电器,包括1个8位的状态字节(SMB66,对应Q0.0;或SMB76,对应Q0.1),1个8位的控制字节(SMB67或SMB77),2个16位的时间寄存器(SMB68或SMB78,存周期时间;SMB70或SMB80存脉宽时间,只有PWM使用),1个32位的PTO计数器(SMB72或SMB82),1个8位的段数寄存器(SMB166或SMB176),1个16位的偏移地址寄存器(SMB168或SMB178)。通过这些特殊继电器,来控制高速脉冲输出的工作状态、输出形式及设置各种参数。
①高速脉冲输出的状态字节。在采用PTO输出形式时,Q0.0和Q0.1都有一个状态字节来监控PTO的运行状态,分别为SMB66和SMB67,它们的低四位均未使用,其高四位的功能见表4-32。
表4-32 PTO输出的状态字节
Q0.0 | Q0.1 | 功能描述 |
SM66.4 | SM76.4 | PTO包络表因计算错误而终止:0=无错误,1=终止 |
SM66.5 | SM76.5 | PTO包络表因用户命令而终止:0=无错误,1=终止 |
SM66.6 | SM76.6 | PTO溢出:0=无溢出,1=有溢出 |
SM66.7 | SM76.7 | PTO空闲:0=执行中,1=空闲 |
②高速脉冲输出的控制字节。高速脉冲输出的控制字节用来设置PTO/PWM的输出形式,时间基准,更新方式,PTO是单段还是多段输出等,其功能描述见表4-33。
在控制字节中,所有位的默认值均为0,如果希望改变系统的默认值,可参照表4-34给出的控制字节的内容,选择并确定控制字节的取值。
表4-33 高速脉冲输出的控制字节
Q0.0 | Q0.1 | 功能描述 |
SM67.0 | SM77.0 | 允许更新PTO/PWM周期值:0=不更新,1=更新 |
SM67.1 | SM77.1 | 允许更新PWM脉冲宽度值:0=不更新,1=更新 |
SM67.2 | SM77.2 | 允许更薪PTO脉冲串输出个数:0=不更新,1=更新 |
SM67.3 | SM77.3 | PTO/PWM的时间基准选择:0=μs,1=ms |
SM67.4 | SM77.4 | PWM的更新方式:0=异步更新,1=同步更新 |
SM67.5 | SM77.5 | PTO单段/多段输出选择:0=单段,1=多段 |
SM67.6 | SM77.6 | PTO/PWM的输出模式选择:0=PTO,1=PWM |
SM67.7 | SM77.7 | 允许PTO/PWM脉冲输出:0=禁止,1=允许 |
表4-34 PTO/PMW控制字节参考值
控制字节 | 允许 | 输出方式 | 时基 | PTO段操作 | 更新PTO个数 | 更新脉宽 | 更新周期 |
16#81 | 是 | PTO | 1μs | 单段 | 不 | - | 更新 |
16#84 | 是 | PTO | 1μs | 单段 | 更新 | - | 不 |
16#85 | 是 | PTO | 1μs | 单段 | 更新 | - | 更新 |
16#89 | 是 | PTO | 1ms | 单段 | 不 | - | 更新 |
16#8C | 是 | PTO | 1ms | 单段 | 更新 | - | 不 |
16#8D | 是 | PTO | 1ms | 单段 | 更新 | - | 更新 |
16#A0 | 是 | PTO | 1μs | 多段 | 不 | - | 不 |
16#A8 | 是 | PTO | 1ms | 多段 | 不 | - | 不 |
16#C1 | 是 | PWM | 1μs | - | - | 不 | 更新 |
16#C2 | 是 | PWM | 1μs | - | - | 更新 | 不 |
16#C3 | 是 | PWM | 1μs | - | - | 更新 | 更新 |
16#C9 | 是 | PWM | 1ms | - | - | 不 | 更新 |
16#CA | 是 | PWM | 1ms | - | - | 更新 | 更新 |
16#CB | 是 | PWM | 1ms | - | - | 更新 | 更新 |
③其他相关的特殊继电器
在S7-200的高速脉冲输出控制中,用于存储周期时间值、脉宽时间值、PTO的脉冲数、多段PTO的段数及偏移地址的特殊继电器见表4-35。
表4-35 高速脉冲输出控制的其他相关特殊继电器
Q0.0 | Q0.1 | 功能描述 |
SMW68 | SMW78 | 存储PTO/PWM周期值,字型数据,数据范围:2~65535 |
SMW70 | SMW80 | 存储PWM的脉宽值,字型数据,范围:0~65535 |
SMD72 | SMD82 | 存储PTO的脉冲数,双字型数据,范围:1~4294967295 |
SMB166 | SMB176 | 存储多段PTO的段数,字节型数据,范围:1~255 |
SMW168 | SMW178 | 存储多段PTO包络表的起始偏移地址,字型数据 |
高速脉冲输出有两种输出形式:
①高速脉冲序列(或称高速脉冲串)输出PTO(Pulse Train Output),功能是提供周期及脉冲数目由用户控制的方波(50%占空比)输出。
②脉冲宽度调制输出PWM(Pulse Width Modulation),功能是提供周期时间及脉宽时间由用户控制的、持续的变化的占空比输出。
在S7-200中,只有输出继电器Q0.0和Q0.1具有高速脉冲输出功能,如果不需要进行高速脉冲输出时,Q0.0和Q0.1可以作为普通的数字量输出点使用。一旦需要使用高速脉冲输出功能时,必须通过Q0.0和Q0.1输出高速脉冲,同时不能有其他附加功能。
在需要对负载进行高精度控制时,例如对步进电动机的控制,需要对步进电动机提供一系列的脉冲,PLC的高速脉冲输出功能就是为了满足这种需要而开发的。
S7-200每个CPU有两个PTO/QWM生成器,输出高速脉冲序列及脉宽调制波形。指令格式如图4-78所示。
高速脉冲输出指令的功能是当允许输入EN有效时,检测各个相关特殊继电器的状态,激活由控制字节定义的高速脉冲输出操作。PLS指令只有一个数据输入端Q,只能取常数0或1,对应从Q0.0或Q0.1输出高速脉冲。
![](http://item.yiqi.com/pic/ConPic/2/14-46-42-69-1.jpg)
图4-78 高速脉冲输出指令
某产品包装生产线应用高速计数器对产品进行累计和包装,每检测到500个产品时,自动启动包装机进行包装,计数方向由内部信号控制(增计数),能够手动复位,采用的PLC为S7-200的CPU222。
设计步骤:
①选择高速计数器,确定工作模式。在本例题中,选择的高速计数器为HSC0,由于要求计数方向可由外部信号控制,且不要求复位信号输入,故确定工作模式为模式3。采用当前值等于设定值的中断事件,中断事件号为12,启动包装机工作子程序。高速计数器的初始化采用子程序。
②用SM0.1调用高速计数器初始化子程序,子程序号为SBR_0。
③向SMB37写入控制字,SMB37:16#F8。
④执行HDEF指令,输入参数:HSC为0,MODE为1,需要2个输入端:I0.0为脉冲端,I0.2为手动复位端。
⑤向SMD38写入当前值,SMD38=0。
⑥向SMD42写入设定值,SMD42=500。
⑦执行建立中断连接指令ATCH,输入参数:INT为INT_0,EVNT为12。
⑧编写中断服务程序INT0,在本例题中为调用包装机控制子程序,子程序号为SBR_1。
⑨执行全局开中断指令ENI。
⑩执行HSC指令,对高速计数器编程并投入运行。
广西西门子S7-200SMARTPLC代理批发销售