Wincc常见问题50问.doc
文本预览下载声明
1问:如何触发计算机扬声器的声音?
答:编写如下C-Action:#pragmacode(kernel32.dll);BOOLBeep(DWORDdwFreq,DWORDdwDuration);#pragmacode();Beep(500,500);2、问:如何通过C脚本来确定报警信息?答:首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:(1)、确认单条信息4版本和高于此版本的WinCCBOOLOnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOLAXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)(2)、确认报警窗口所有可见的报警4版本和低于此版本的WinCCBOOLOnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOLAXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)3、问:如何在WinCC中读取系统时间?答:通过如下C-Action:#pragmacode(kernel32.dll);VoidGetLocalTimes(SYSTEMTIME*lpst);#pragmacode();SYSTEMTIMEtime;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对话框实现。具体如下:#includeapdefap.hvoidonClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName){ProgramExcute(c:\\win98\\control.exetimedate.cpl);}其中执行的程序路径,需根据具体情况填写。5、问:如何在WinCC中调用SQL语言?答:1、创建一个SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下:2、在WinCC中用CScript调用上述SQL文件,如下所示:#includeapdefap.hvoidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty){char*a=c:\\siemens\\common\\SQLANY\\ISQL-q-b-cUID=DBA;PWD=SQL;DBF=E:\\testsql\\testsqlRT.DB;DBN=CC_testsql_99-12-03-12:48:26R;READE:testsql\\test.sql;Printf(%s\r\n,a);ProgramExcute(a);}下面是一个简单的SQL文件内容:select*frompde#hd#t#test;outputtoe:\\test2.txtFORMATascii注意:文件名及路径中不要带空格。6、问:如何整点启动归档?答:在GlobleScript下的Projectfunction编写程序函数:cyclicarchiveBOOLcyclicarchive(){#pragmacode(kernel.dll);voidGetLocalTime(SYSTEMTIME*lpsz);#pragmacode();SYSTEMTIMEtime;Intt1;GetLocalTime(time);T1=time.wMinute;If(t1==00){SetTagBit(startarchive,1);Return(BOOL)(GetTagBit(star
显示全部