在WINCC的非周期归档上,如果有使用过此功能的人会发现如下问题:
在画面上组态一个按钮,此按钮连接一布尔变量“TAG_1”,我们的目的是当按下这一个按钮时,采集相应的数据。但事实上当我们在调试时会发现,当鼠标点击这一按钮时,会采集上来两个数据,一般前者是我们所需要的数据而后者往往是无用的数据。这是怎么回事呢?原来对于布尔型变量触发归档,上升沿和下降沿都会触发归档。如何来避免这一问题呢?经过试验,笔者发现了一种简单的方法可以避免这一情况的发生。
在鼠标按下和弹起分别组态相应的C动作。
在按下时的C动作如下:
If (GetTagBit(“TAG_1”)==1)
{
SetTagBit(“TAG_1”,0);
{
else
{
SetTagBit(“TAG_1”,1)
}
在弹起时的C动作如下:
If (GetTagBit(“TAG_1”)==1)
{
SetTagBit(“TAG_1”,1);
{
else
{
SetTagBit(“TAG_1”,0)
}
这样一来就避免了上述情况的发生。