公司主营:西门子数控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人机界面,变频器,DP总线,MM变频器,6SE70交流工程调速变频器6RA70等系列产品。
产品简介
详细介绍
西门子编程6AV2107-4GX00-0BF0性能
业务顾问;竭诚为你服务.
案例 4:
OB1 中正在执行的程序将在较高优先级执行完成后继续执行。即使 OB1 内 20 ms 延时时
间到期后,仍需等待较高优先级执行完成。CPU 的发送时钟将。
说明
或通信 (System Threads) 的执行顺序
线程的优先级通常为“15"。虽然存在优先级高于“26"的线程,但这些将导
致 CPU 载荷。线程不在图中显示。
使用“RT_INFO"指令测量 OB1 的运行时间:
案例 2:20 ms - 8 ms - System Threads = <12 ms。发送时钟:约 20 ms。
案例 3:20 ms - 11 ms - System Threads - <9 ms。发送时钟:约 20 ms。
案例 4:20 ms - 15 ms - System Threads - <7 ms。发送时钟:约 22 ms。
参见
有效数据类型概述 (页 247)
EN/ENO 机制的基本知识 (页 153)
有关 LAD 的基本信息 (页 8207)
RUNTIME:测量程序运行时间
说明
“测量程序运行时间"指令用于测量整个程序、单个块或命令序列的运行时间。
如果要测量整个程序的运行时间,请在 OB1 中调用指令“测量程序运行时间"。次调
用时开始测量运行时间,在第二次调用后输出 RET_VAL 将返回程序的运行时间。测量的
运行时间包括程序执行中可能运行的所有 CPU ,例如,由较别事件或通信
引起的中断。指令“测量程序运行时间"读取 CPU 内部计数器中的内容并将该值写入 INOUT
参数 MEM 中。该指令根据内部计数器的计算当前程序运行时间并将其写入输
出 RET_VAL 中。
如果要测量单个块或单个命令序列的运行时间,则需要三个单独的程序段。在程序的单个
程序段中,调用指令“测量程序运行时间"。调用该指令即可设置运行时间测量的起
始点。然后在下一个程序段中调用所需的程序块或命令序列。在另一个程序段中,第二次
调用“测量程序运行时间"指令并将相同的存储器分配给 IN-OUT 参数 MEM,与在次
调用该指令时所做的一样。第三个程序段中的“测量程序运行时间"指令将读取内部 CPU
指令
4.1 指令
对 PLC 进行编程
编程和操作手册, 10/2018 1041
计数器,并根据内部计数器中的计算该程序块或命令序列的当前运行时间,然后再写
入输出 RET_VAL 中。
“测量程序运行时间"指令使用内部高频计数器来计算时间。如果计数器溢出,该指令返
回值 <= 0.0。如果 S7-1200 CPU 的固件版本小于 V4.2,则可能会发生这种情况(每分钟
多一次)。忽略这些运行时间值。
说明
由于命令序列中的指令序列会在程序的编译期间发生变化,因而无法确切地确定命令
序列的运行时间。
参数
下表列出了“测量程序运行时间"指令的参数:
参数声明数据类型存储区说明
EN Input BOOL I、Q、M、D、L 使能输入
ENO Output BOOL I、Q、M、D、L 使能输出
MEM InOut LREAL I、Q、M、D、L 指令运行结果仅适用于内
部应用。
RET_VAL Output LREAL I、Q、M、D、L 返回测得的运行时间(单
位为秒)
示例
以下示例说明了该指令基于程序块的运行时间的工作原理:
程序段 1:
程序段 2:
指令
4.1 指令
对 PLC 进行编程
1042 编程和操作手册, 10/201
如果程序段 1 中操作数“TagIn1"的状态为“1",则将执行该指令。通过次调用该
指令来设置运行时间测量的起始点,然后将其作为该指令第二次调用的引用缓存到
“TagMemory"操作数中。
在程序段 2 中,调用“Best_before_date"程序块 FB1。
执行了 FB1 程序块后且“TagIn1"操作数的状态为“1"时,执行程序段 3 中的该指令。
第二次调用该指令将计算出该程序块的运行时间,然后将结果写入输出 RET_VAL 中。
有关以上示例中编程代码的更多信息,请参见“Sample Library for Instructions
(页 697)"。
有关测量程序总循环时间的详细信息示例,请访问西门子工业在线支持
下一篇:西门子博途软件6AV2104-0FA05-0AA0编程