WINCC常见问题(4)
时间:2025-07-07
时间:2025-07-07
音箱在有故障发生的时候产生语言报警,但是问题是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主机名时,不能使用下划线。
15:和plc用S7通讯为什么产生连接错误代码:D801?
解答:
这个错误代码表示WinCC变量地址错误,检查每个变量的地址和通讯连接是否正确,如果变量的地址不属于控制器的地址范围,则会报这个错误代码。
16:和plc用S7通讯怎样清除错误代码8304?
解答:
WinCC运行时的画面不再更新,WinCC的日志文件中有错误代码8304,这个错误码表明WinCC和S7连接出现问题。
解决方法:
停止AS站的循环读服务,在"WinCC Explorer > 变量管理 > SIMATIC S7 PROTOCOL SUITE"
中。右键单击出现问题的S7连接,选择"系统参数",清除复选框“周期管理>通过PLC”的选择。
17:在动态值域对话框中怎样才能按逻辑连接两个因变量到一个结果?
解答:
由于在WinCC动态值域对话框中的布尔数学体系运算符,您可以根据C脚本惯例运用这些符号。
下面是符号及其意思的概括:
与 位比较 &
与 表达式比较 &&
或 位比较 |
或 表达式比较 ||
非 !
通过Object > Properties > Dynamic进入WinCC动态值域对话框 ,> > 并右击"Dynamic Value Ranges dialog"
按照需要输入表达式即可。
18:WinCC图形编辑器中是否存在通过鼠标点击达到增加/减少变量值的对象?
解答:
可以使用OCX“SpinButton”实现这个功能。下面描述了如何合并和联系这个对象。
在WinCC图形编辑器中,插入一个“Control”类型的小对象。