TP: 生成脉冲
说明
使用“生成脉冲”指令来设置持续时间 PT 的参数 Q。当参数 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(信
号上升沿)时,启动该指令。 指令启动时,预设时间 PT 即开始计时。 无论 IN 参数信号的后续状态如
何,Q 参数都将置位一段时间,即 PT。 如果持续时间 PT 仍在计时,即使检测到新的上升沿,参数 Q
的信号状态也不会受到影响。
可以扫描 ET 参数中的当前时间值设置。 该时间值从 T#0s 开始,在达到持续时间 PT 后结束。 达到持
续时间 PT 时,且参数 IN 的信号状态为“0”,则复位参数 ET。
说明
如果程序中未调用定时器(这是因为会忽略定时器),则输出 ET 会在定时器计时结束后立即返回一
个常数值。
每次调用“生成脉冲”指令,都会为其分配一个 IEC 定时器用于存储指令数据。 可按如下方式声明 IEC 定
时器:
• 声明类型为 TP 的数据块(例如,“TP_DB”)
• 声明为块中“Static”程序段内类型为 TP 的局部变量(例如,#MyTP_TIMER)
在程序中插入该指令时,将打开“调用选项”(Call options) 对话框,可以指定 IEC 定时器将存储在自身数
据块中(单个背景)或者作为局部变量存储在块接口中(多重背景)。 如果创建了一个单独的数据块,
则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > System blocks) 路径中的“程序资源”
(Program resources) 文件夹内。 有关本主题的更多信息,请参见“另请参见”。
只有在调用该指令且每次都会访问 Q 或 ET 输出时,才会更新指令数据。
操作系统会在冷启动期间复位“生成脉冲”指令的实例。 如果要在暖启动之后初始化指令的实例,则在启
动 OB 中调用这些实例,其中 PT 参数将置位为值“0”。 如果“生成脉冲”指令的实例位于其它块中,则可
以通过诸如初始化上级块来复位这些实例。
语法
“生成脉冲”指令的语法如下所示:
• 系统数据类型为 IEC_Timer 的数据块(全局 DB):
SCL
<IEC_Timer_DB> TP(IN := <操作数>,
PT := <操作数>,
Q => <操作数>,
ET => <操作数>)
• 局部变量:
SCL
#myLocal_timer(IN := <操作数>,
TP: 生成脉冲 (S7-300, S7-400)
- 4 -
评论2