SIMATIC S7-200 PLC高速脉冲输出 ----PWM使用 首先了解一下S7-200的高速脉冲输出 在需要对负载进行高精度控制时,如对步进电机的控制,需要对步进电机提供一系列的脉冲,高速脉冲输出指令就是为满足这种需求而开发的。 1.1 高速脉冲输出---输出端子的确定 S7-200只有输出继电器Q0.0和Q0.1具有高速脉冲输出功能,不用高速脉冲时,作普通的数字量输出点用。 高速脉冲输出有两种的形式: 高速脉冲序列(或称高速脉冲串)输出PTO 脉冲宽度调制输出PWM 可通过特殊继电器来定义输出的形式 每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数数值寄存器,用以控制高速脉冲的输出形式、反映输出状态和参数值。 PLS指令 功能:EN有效,检测各相关寄存器的状态,激活由控制字节定义的高速脉冲输出操作。Q取0或1对应Q0.0和Q0.1如图 1.4?1 图 1.4?1
2 PWM简介及编程运用PWM(Pulse Width Modulation脉冲调制)宽度可调脉冲输出 PWM功能提供带变量占空比的固定周期输出。可以微秒或毫秒为时间基准周期和脉宽。 2.1 S7-200的PWMS7-200有两台PWM发生器,建立高速脉冲串或脉宽调节信号信号波形。一台发生器给数字输出点Q0.0,另一台发生器给数字输出点Q0.1。一个的特殊内存(SM)位置为每台发生器存储以下数据:一个控制字节(8位值)、一个脉冲计数值(一个不带符号的32位值)和一个周期和脉宽值(一个不带符号的16位值)。
PWM功能在Q0.0或Q0.1位置现用时,PWM发生器控制输出,并禁止输出点的正常使用。输出信号波形不受过程映像寄存器状态、点强迫数值、执行立即输出指令的影响。如图 2.1?1 图 2.1?1 2.2 PWM周期和脉冲宽度脉冲宽度为16为无符号数,脉冲宽度增量单位为us或ms。范围0~65535,占空比为0~。当脉冲宽度大于或等于周期时输出将连续接通。为0时,输出一直被关断。如表 1 表 1 周期和脉冲宽度
2.3 PWM更新方式根据在改变脉冲宽度时是否需要改变时间基准,可分为同步更新和异步更新。如表 2
表 2 同步、异步更新
注意: 由于此原因,建议使用同步PWM更新。选择可用于所有预计周期数值的。 2.4 PWM控制寄存器器
2.5 PWM软件编程步骤1.确定高速PWM的输出端(Q0.0或Q0.1) 2. 初始化设置 设置控制字节---将控制字写入SMB67或SMB77 写入周期值SMW68(78)、 写入脉冲宽度值SMW70(80) 3.执行PLS指令 注: 1.在启用PWM操作之前,将用于Q0.0和Q0.1的过程映像寄存器设为0。 2.所有的控制位、周期、脉宽和脉冲计数值的默认值均为0。 3.PTO/PWM输出必须至少有10%的额定负载,才能完成从关闭至打开以及从打开至关闭的顺利转换。 4.PWM初始化建议使用"扫描"位(SM0.1)初始化脉冲输出。执行程序只执行一次,可以节省PLC的扫描程序执行的时间 5.通常,您用一个子程序为脉冲输出初始化PWM。您从主程序调用初始化子程序。使用扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子程序,执行初始化操作。当您使用子程序调用时,随后的扫描不再调用该子程序,这样会降低扫描时间执行,并提供结构更严谨的程序。 编程实例: 设定Q0.0输出周期为10ms,50%占空比PWM脉冲,同步更新方式 首先根据PWM的控制寄存器表格得出下列数据如图 2.5?1
图 2.5?1 表 3 周期和脉宽设定控制字
程序:如图 2.5?2、 如图 2.5?3、图 2.5?4、图 2.5?5 图 2.5?2
图 2.5?3 图 2.5?4 图 2.5?5 总结: 对于PWM的控制寄存器的操作控制字的赋值常用参考(十六进制) 表 4
|