S7200 运行子程序 (s7200运行时间累计)

运行子程序

概述

S7200 PLC 可以使用「CALL 指令」来运行子程序。子程序可以被多次调用,并且可以调用其他子程序。每个子程序都有自己的变量表,在子程序之间传递数据时需要使用间接寻址或全局变量。

运行子程序

要运行子程序,可以使用以下语法:```CALL 子程序号```其中,「子程序号」是子程序的编号。

子程序变量

每个子程序都有自己的变量表。子程序变量可以使用以下语法访问:```I 子程序号.变量名```例如,要访问子程序 1 中的变量「var1」,可以使用以下语法:```I 1.var1```

间接寻址

可以使用间接寻址在子程序之间传递数据。间接寻址使用以下语法:```I 变量地址```例如,要将变量「var1」的值传递给子程序 1,可以使用以下语法:```CALL 1I I 1.var1```

全局变量

也可以使用全局变量在子程序之间传递数据。全局变量在所有子程序和主程序中都可以访问。要声明全局变量,可以使用以下语法:```T 变量类型 变量名```例如,要声明全局变量「globalVar」,可以使用以下语法:```T REAL globalVar```

运行时间累计

S7200 PLC 可以使用「TCMD 指令」对子程序的运行时间进行累计。TCMD 指令使用以下语法:```TCMD addr, value```其中,「addr」是累计时间的地址,「value」是累计时间的值。例如,要对子程序1 的运行时间进行累计,可以使用以下语法:```TCMD I 100, I 1.RTT```其中,「I 100」是累计时间的地址,「I 1.RTT」是子程序 1 的运行时间。

示例

以下示例展示了如何在 S7200 PLC 中运行子程序并对子程序的运行时间进行累计:```// 主程序// 声明全局变量T REAL globalVar// 调用子程序 1CALL 1// 将全局变量的值传递给子程序 2CALL 2I I 2.var1, globalVar// 对子程序 1 的运行时间进行累计TCMD I 100, I 1.RTT// 结束// 子程序 1// 声明子程序变量T REAL var1// 计算运行时间T 1.RTT = T 1.RTT + 1// 结束// 子程序 2// 声明子程序变量T REAL var1// 计算运行时间T 2.RTT = T 2.RTT + 1// 结束```

结论

S7200 运行子程序是一种强大的功能,可以用于组织和模块化 PLC 程序。通过使用子程序,可以轻松地重用代码并提高程序的可读性和可维护性。

s7200如何读取系统时间,并把时间进行累加,以监视电机的总共运行时间,望高手指点举例!(用梯形图)

你这种情况如果对电机运行的时间精度要求不是特别高的话,可以用普通定时器来做,累计运行时间的单位定义为分钟,将累计运行的时间存放在一个32位的存储空间VD0中,如VD0的数值是100,那么就是电机累计运行了100分钟了。VD0可以累计保存4000多年,应该够用了!

图片是程序,和系统块设置的界面

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论