以下是西门子PLC初始化和操作顺序说明,能够帮助您更好地理解PTO和PWM功能操作。在整个顺序说明过程中一直使用脉冲输出Q0.0。初始化说明假定S7-200西门子PLC刚刚置入RUN(运行)模式,因此首次扫描内存位为真实。如果不是如此或者如果必须对PTO/PWM功能重新初始化,您可以
利用除首次扫描内存位之外的一个条件调用初始化例行程序。
PWM初始化
以下PWM初始化和操作顺序说明建议使用“首次扫描”位(SM0.1)初始化脉冲输出。使用“首次扫描”位调用初始化子例行程序可降低扫描时间,因为随后的扫描无须调用该子例行程序。(仅需在转换为 RUN(运行)模式后的首次扫描时设置“首次扫描”位。)但是,您的应用程序可能有其他限制,要求您初始化(或重新初始化)脉冲输出。在此种情况下,您可以使用另一个条 件调用初始化例行程序。
通常,您用一个子例行程序为脉冲输出初始化PWM。您从主程序调用初始化子例行程序。使用首次扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子例行程序,执行初始化操作。当您使用子例行程序调用时,随后的扫描不再调用该子例行程序,这样从西门子PLC主程序建立初始化子例行程序调用后,用以下步骤建立控制逻辑,用于在初始化子例行程序中配置脉冲输出 Q0.0:
1. 通过将以下一个数值载入SMB67: 16#D3(选择微秒递增)或16#DB(选择毫秒递增)的方法配置控制字节。
两个数值均可启用PTO/PWM功能、选择PWM操作、设置更新脉冲宽度和循环时间数值、以及选择时基(微秒或毫秒)。
2. 在SMW68中载入一个循环时间的字尺寸数值。
3. 在SMW70中载入脉冲宽度的字尺寸数值。
4. 执行PLS指令(以便S7-200为PTO/PWM生成器编程)。
5. 欲为随后的脉冲宽度变化预载一个新控制字节数值(选项),在SMB67:16#D2(微秒)或16#DA(毫秒)中载入下列数值之一。
6. 退出子例行程序。
为PWM输出更改脉冲宽度
如果您用16#D2或16#DA预载SMB67(请参阅以上第5步),您可以使用一个将脉冲宽度改变为脉冲输出(Q0.0)的子例行程序。
建立对该西门子PLC的子例行程序的调用后,使用以下步骤建立改变脉冲宽度的控制逻辑:
1. 在SMW70中载入新脉冲宽度的字尺寸数值。
2. 执行PLS指令,使S7-200为PTO/PWM生成器编程。
3. 退出子例行程序。