STEP7 300PLC中如何计算温度变化率?

STEP7中编程采集温度数据,采样周期为10s,能实现当前采样值与上一采样值之差的计算吗?
请各位大侠们的帮助,最好有程序实例,谢谢!  STL和LAD语言皆可。

最佳答案

1、在OB100中编程第一次读温度数据:
OB100中编程:
L  PIW256//例如读温度数据
L  10
/I  //一般采集值除以10为实际温度。
T  MW100//保存数据
OB100 程序在CPU 执行Warm Restart 时执行,且只执行一次,可用于变量的初始化‘。有关OB100详见《组织块使用说明》下载:
http://218.93.112.166/ec/C23/dl/xxzl/%E7%BB%84%E7%BB%87%E5%9D%97%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf
2、采样周期为10s,可应用循环中断组织块(OB35)。设置OB35每10秒中断一次。
OB35设置方法:
在硬件组态中双击CPU属性,选择Cyclic Interrupts 选项,修改OB35 的执行周期(Execution(ms),范围是1-60000ms)。本例设为10000ms,即10秒。
有关OB35详见上述《组织块使用说明》。
3、在OB35中编程:
L  PIW256//例如读温度数据
L  10
/I  //一般采集值除以10为实际温度。
T  MW102//保存当前数据。
L  MW100//取上一次的数据。
-I//计算当前采样值与上一采样值之差
T  MW104//保存差数据。
L  MW102//取当前数据
T  MW100//作为上一次的数据。
4、程序是信手而写,例如温度模拟量转换及温度值的数据类型(是整型还是实数型)要根据实际来编写。在细节上可能有误,但程序结构上是曾经用过的。

提问者对于答案的评价:
非常感谢!问题已经解决, 谢谢大家的解答。

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午4:02
下一篇 2018年12月1日

相关推荐