WINCC 中制作管道流体流动动画的一种方法
采用自定义对象的方法制作,不需要使用全局变量及外部量。
以制作横向向右流动流动块为例:
1、画两个高度相等的矩形,分为是 rec1 和 rec2,rec1 的宽度小于 rec2,rec2 属性中的“显示”为否,将
rec1 和 rec2 放在一起,左对齐,rec1 居前。rec1 为实际要显示的流动块,rec2 在实际运行中不显示,但
需要其属性参数作为定值,以供程序使用,rec2-rec1 的值即为流动块每次向右移的距离。
2、将 rec1 和 rec2 组合成自定义对象,需要加入属性 rec1.Left、rec1.Width、rec1.Visible、rec2.Width
这几个属性到自定义对象中去,其它属性可以根据需要添加。
3、在自定义块中的属性“位置 X1”加入 C 脚本,触发器选“250ms”标准周期,代码如下:
long Left,Left1,Width1,Width2;
BOOL Visible1;
long i,k;
Visible1 = GetPropBOOL(lpszPictureName,lpszObjectName,"Visible1"); //Return-Type: BOOL
Left1 = GetPropWord(lpszPictureName,lpszObjectName,lpszPropertyName); //Return-Type: long int
if (Visible1)
{
Left = GetLeft(lpszPictureName,lpszObjectName);
Width1 = GetPropWord(lpszPictureName,lpszObjectName,"Width1");
Width2 = GetPropWord(lpszPictureName,lpszObjectName,"Width2");
k = Width2 - Width1;
i = Left + Width1;
Left1 = Left1 + k;
if (Left1 >= i)
Left1 = Left;
}
return Left1;
4、将此自定义对象加入全局库中,以后可以在其它项目中直接使用。
5、在画面中使用直接拷贝,一个接一个连起来,可以形成管道流体动画效果。
其它方向的流动块按此方法一样可以,还可以制作起始流动块和结束流动块,实际使用中这两个块不要也
行,用其它的东西把头尾盖起来就可以了。