WinCC的画图工具自己绘制适应实际的图形元素,并且使用C脚本使其产生动画效果。
对于调节池,反应池等可以用矩形来表示,以图形的填充高度来示意其液位的高度。这里要注意的是一些数值地转化,由于一些仪表例如E+H的超声波液位计,是以4~20毫安的电流信号进入PLC,对于表的参数设定好以后4毫安就对应相应池子的液位最低点,而20毫安对应于池子的液位最高点。所以在显示数字高度的时候要将PLC相对4、20毫安的数值转化为实际池子的高度范围例如,0.5~
搅拌机的组态可以使用C脚本使其产生动画,在其运行时产生视觉上的旋转。实际上搅拌机的图形是用两个部分椭圆组成的,在椭圆的属性->几何->半径中加入代码如下:
#include \"apdefap.h\"
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
static int x=25,y,z;//x为半径的初始值为25,y为切换变量,z为搅拌机运行状态变量
z=GetTagBit(\"202搅拌机运行\"); //取得PLC搅拌机的运行状态
if(z!=0)
{
switch(y)
{
case 0:
x=x-4;
if(x<=0)
y=1;
break;
default :
x=x+4;
if(x>=25)
y=0;
break;
}
}
return x;
}
13:语音报警的组态
在工业现场安全是极其重要的,无论从那个角度讲我们应该利用一切手段减少故障的发生。在故障已经发生的时候,应该在第一时间以多种方式通知操作人员有故障发生。现代微处理计算机的处理速度可以完全胜任对于图形,语音地同时处理。所以我们可以利用计算机的声卡和音箱在有故障发生的时候产生语言报警,但是问题是WinCC本身并不能产生语音的功能,而且其内部的上千个函数也没有提供处理声音的函数。解决这个问题的方法归功于微软开发的WinCC与操作系统地完美结合,因为在WinCC中可以直接调用Windows的API函数。实现的具体C脚本代码如下:
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#pragma code(\"Winmm.dll\")
void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);
#pragma code()
if(GetTagBit(\"112排泥备泵故障\"))
PlaySoundA(\"d:\\\\\\\\winnt\\\\\\\\media\\\\\\\\Mircosoft sound.wav\",NULL,8);
return 1020;
}
有一个值得主意的问题是此段代码的加入点,通过反复多次的实践得出结论,即这个点必须加在始终显示于屏幕上的任何图形元素的属性中,这样才能达到语言报警的预期效果。
14:当为WinCC指定PC名时应注意什么?
解答:
计算机名不能包含特殊字符如空格、退格和下划线,并前13个字符必须是唯一的。
由于操作系统的原因,名字的长度不能超过15个字符。
因此推荐只使用a to z, A to Z, 0 to 9这些字符。必须以子母开头。
从SIMATIC WinCC V6.0起,有如下限制:
计算机名可包含下划线。然而,当使用DNS主机名时,不能使用下划线。
