我想实现这个一个应用:选择性周期归档,周期是两个小时。我的问题是:假设开条条件8:00为TRUE,9:00FALSE,不够一个归档周期,这种情况归档数据库中是不会写入任何过程值的。我希望在8:00和9:00都有一条归档记录。即使归档条件超过了归档周期的长度,我仍然希望在归档开始和结束的时候都有一条记录写入归档数据库,大家有成功经验么?
问题补充:
我发现条件周期是不能满足我的要求,我目前是用变量触发的,但是有这个一个问题,就是会多写入数据,比方说:如果周期是1个小时,但是归档数据如下:
12:00 0.76
12:01 0.77
13:00 1.2
13:01 1.3
相当于触发的时候写入了一条数据,但是过一分钟后又写入了一条数据,不知道是什么原因。
最佳答案
请参考:
如何在特定的时间点(非周期)归档过程变量?
指导:
如果希望仅在特定的时间点归档趋势变量。可以通过在变量记录的“ Properties - Process Tags” 对话框中通过进行下列操作来实现:
编号. 过程
1 组态起始事件
组态触发归档的事件。可以在下列选项间选择:
可以使用 WinCC 全局脚本组态一个返回布尔数据类型值的函数。如果函数的返回值改变(从 FALSE 到 TRUE 或者反之),那么归档将会发生。
可以组态一个二进制变量,当它的值变化时触发归档。
2 选择“ Acyclic ”作为采集类型
在“ Archive Tag ”选项卡中在“ Acquisition type ”选项域中选择“ Acyclic ”
自 WinCC V6.2开始:
选择归档类型“ acyclic ”和采集类型“ Event-controlled ”
在“ Archiving ”选项卡中的选择域“ Archiving type ”中,选择“ acyclic ”并在“ Acquisition ”中选择“ event-controlled”。
3 指定起始事件
在“ Event ”选项卡中指定项目函数或变量作为起始事件。
当起始事件变化时(函数返回值或变量变化),过程值(实际值)被归档一次。这既发生在上升沿也发生在下降沿。
注意:
如果组态一个函数来监控起始事件,在运行时变量记录循环调用函数(每 500 ms)。但返回值发生变化时进行归档 - 否则将不进行。
如果没有组态起始事件(既没有函数也没有变量),那么在过程值每次变化时不执行归档。
在组态起始事件时必须注意变量记录仅能捕获在起始事件中大于 500 ms 的变化。
可在在线帮助中得到关于变量记录主题的更多信息:WinCC 信息系统 > 使用 WinCC > 归档过程值
条目号:850095 日期:2008-07-01
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=850095
提问者对于答案的评价:
本想把80分平分给大家,但是系统只能给一个人,呵呵。
我的本意是不想自己编写一个PLC程序产生一个“异步事件”,而是希望用WINCC内置的功能实现我需求。
关于多出一条记录的原因已经找到了问题的原因就是那个“异步事件”惹的祸。
总之,非常感谢大家的热情和帮助,谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272780.html