西门子(授权)一级总代理商PLC伺服电机-华北区
| 更新时间 2024-11-09 08:00:00 价格 请来电询价 西门子PLC 西门子触摸屏 西门子伺服电机 西门子变频器 西门子直流调速器 西门子电缆 联系电话 13922889745 联系手机 18475208684 联系人 向小姐 立即询价 |
SIMATIC S7-1200的RUNTIME指令
在STEP 7(TIA Portal)中,"RUNTIME"指令可用于测量S7-1200 CPU整套程序执行周期或独立块的运行时间,还能度量信号的激活或间歇时长。"RUNTIME"指令位于"基本指令>程序控制指令>运行时控制"菜单项下,如图1所示。此指令自TIA Portal V13版本起得到支持,且不受CPU固件版本的任何限制。
图1. RUNTIME 指令
主要内容和实验环境
在这个应用示例中,我们将主要介绍如何使用RUNTIME指令来测量S7-1200程序的执行周期、特定程序块的执行时间,以及测量某个信号点的接通或间隔时间。以下是测试环境的具体内容:
- 使用STEP 7(TIA Portal)作为编程软件
- 使用S7-1200 CPU进行编程和测试
- 借助RUNTIME指令来实现上述功能
- 在测试环境中设置相关程序和信号点,用于演示RUNTIME指令的使用和效果
通过这个应用示例,我们可以清楚地展示如何利用RUNTIME指令实现对程序执行周期、程序块执行时间以及信号点接通或间隔时间的测量和监控。
软件:TIA V16 Professional Update 3
硬件:CPU1217C DC/DC/DC 6ES7217-1AG40-0XB0 V4.4
示例程序
示例1: 用 "RUNTIME" 指令测量 S7-1200 程序的执行周期
在OB1中,可以通过调用RUNTIME指令来测量整个程序的执行周期。首次调用时开始测量,第二次调用后,RET_VAL将返回上一周期的时间,以此类推,每次返回的值即为上一周期的执行时间。测量的运行时间包括程序执行过程中可能运行的所有CPU进程,比如由gaoji别事件或通信引起的中断。
通过TRACE功能,可以监控每个周期的时间,这与CPU在线诊断中统计的时间基本一致。
以上内容降重后更注重表达清晰和简洁。
图2. 测量程序
图3. 测量执行周期
示例2:用 "RUNTIME" 指令测量 S7-1200 某一程序块的执行时间
为了测量特定程序块的运行时间,需要使用三个独立的程序段。首先,在首次调用RUNTIME指令之前,需要初始化一个MEM变量,这样就可以确定时间测量的起点。接下来,在第二个程序段中,调用需要测量的程序块。然后,在第三个程序段中,再次调用RUNTIME指令,并将MEM变量与第一次调用时的参数分配保持一致。第三次调用RUNTIME指令时,它会比较第一次调用和第二次调用之间的内部计数器值,以此来计算两个指令执行之间的间隔时间,即所测程序块的执行时间。
图4. 测量程序块
示例3:用 "RUNTIME" 指令测量某一信号点的接通或间隔时间
为了测量某个信号的接通时间,如图 2 所示,可以按照以下步骤进行操作:
1. 在信号的上升沿和下降沿各执行一次RUNTIME指令,检测上升沿后初始化MEM变量,记录起始测量点。
2. 检测下降沿后再次执行RUNTIME指令,通过两次执行指令得出内部计数器之间的差值,即信号的接通时间。
3. 对于两个信号间隔时间的测量,也需要在每个信号处执行RUNTIME指令,并记录两个信号之间的时间间隔。
如果担心OB1周期的影响,可以将程序放在硬件中断或循环中断中执行,以确保测量的准确性。以上就是测量信号接通时间和间隔时间的基本步骤和注意事项。
图5. 测量信号程序
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684