WINCC常见问题

时间:2025-07-07

WINCC常见问题2010年01月08日 星期五 10:15 P.M.
1、问:如何触发计算机扬声器的声音?
答: 编写如下C-Action:
#pragma code("kernel32.dll");
BOOL Beep(DWORD dwFreq,DWORD dwDuration);
#pragma code();
Beep(500,500);

2、问: 如何通过C脚本来确定报警信息?
答: 首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:
(1)、确认单条信息
4版本和高于此版本的WinCC
BOOL OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)
5版本和高于此版本的WinCC
BOOL AXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)

(2)、确认报警窗口所有可见的报警
4版本和低于此版本的WinCC
BOOL OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)

5版本和高于此版本的WinCC
BOOL AXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)


3、问: 如何在WinCC中读取系统时间?
答: 通过如下C-Action:
#pragma code("kernel32.dll");
Void GetLocalTimes(SYSTEMTIME*lpst);
#pragma code();
SYSTEMTIME time;
GetLocalTime(&time);
SetTagWord("Varname",time.wYear);
SetTagWord("Varname",time.wMonth);
SetTagWord("Varname",time.wDayOfWeek);
SetTagWord("Varname",time.wDay);
SetTagWord("Varname",time.wHour);
SetTagWord("Varname",time.wMinute);
SetTagWord("Varname",time.wSecond);
SetTagWord("Varname",time.wMilliseconds);

4、问: 如何经Windows对话框设置日期时间?
答: 通过调用Windows对话框实现。具体如下:
#include"apdefap.h"
void onClick(char*lpszPictureName,char*lpszObjectName,
char*lpszPropertyName)
{ProgramExcute("c:\\win98\\control.exe timedate.cpl");}
其中执行的程序路径,需根据具体情况填写。


5、问: 如何在WinCC中调用SQL语言?
答: 1、创建一个 SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下:
2、在WinCC中用C Script 调用上述SQL文件,如下所示:
#include"apdefap.h"
void OnLButtonDown(char* lpszPictureName,
char* lpszObjectName,
char* lpszPropertyName,
UINT nFlags,int x,int y)
{
char*a="c:\\siemens\\common\\SQLANY\\ISQL-q-b-c
UID=DBA;PWD=SQL;DBF=E:\\testsql\\testsqlRT.DB;
DBN=CC_testsql_99-12-03-12:48:26R;READ
E:testsql\\test.sql";
Printf("%s\r\n",a);
ProgramExcute(a);
}
下面是一个简单的SQL文件内容:
select *from pde#hd#t#test;
output to e:\\test2.txt FORMAT ascii
注意:文件名及路径中不要带空格。



6、问: 如何整点启动归档?
答: 在"Globle Script"下的Project function编写程序函数:cyclicarchive
BOOL cyclicarchive()
{
#pragma code("kernel.dll");
void GetLocalTime(SYSTEMTIME*lpsz);
#pragma code();
SYSTEMTIME time;
Int t1;
GetLocalTime(&time);
T1=time.wMinute;
If(t1==00)
{
SetTagBit("startarchive&quo
t;,1);
Return(BOOL) (GetTagBit("startarchive"));
}
}
在Tagloging中的"Properties of process tag"中的"archive tag"Tab

…… 此处隐藏:152字,全部文档内容请下载后查看。喜欢就下载吧 ……
WINCC常见问题.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219