1、问: 如何触发计算机扬声器的声音? WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
答: 编写如下C-Action:WWW_PLCJS@_COM%-PLC-技.术_网
#pragma code("kernel32.dll");WWW_PLC※JS_COM-PmLC-技.术_网
BOOL Beep(DWORD dwFreq,DWORD dwDuration);WWW_PLCJS_COM-PLC-技.术_网
#pragma code();WWW_PLCJS@_COM%-PLC-技.术_网
Beep(500,500);WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
2、问: 如何通过C脚本来确定报警信息? WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
答: 首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:W1WW_P4LCJS_COM-PLC-技.术_网
(1)、确认单条信息W1WW_P4LCJS_COM-PLC-技.术_网
4版本和高于此版本的WinCCWW.W_PLCJS_COM-PLC-技.术_网
BOOL OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName) P.L.C.技.术.网——可编程控制器技术门户
5版本和高于此版本的WinCCW1WW_P4LCJS_COM-PLC-技.术_网
BOOL AXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW.PLCJS.COM——可编程控制器技术门户
(2)、确认报警窗口所有可见的报警WWcW_PLCJS_COM-PLC-技.术_网
4版本和低于此版本的WinCCplcjs.技.术_网
BOOL OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)WWcW_PLCJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
5版本和高于此版本的WinCCWW.W_PLCJS_COM-PLC-技.术_网
BOOL AXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)WWW_PLCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
3、问: 如何在WinCC中读取系统时间? WWW_PLC※JS_COM-PmLC-技.术_网
答: 通过如下C-Action:WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
#pragma code("kernel32.dll");WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Void GetLocalTimes(SYSTEMTIME*lpst);plcjs.技.术_网
#pragma code();W1WW_P4LCJS_COM-PLC-技.术_网
SYSTEMTIME time;P.L.C.技.术.网——可编程控制器技术门户
GetLocalTime(&time);plcjs.技.术_网
SetTagWord("Varname",time.wYear);P.L.C.技.术.网——可编程控制器技术门户
SetTagWord("Varname",time.wMonth);WW.W_PLCJS_COM-PLC-技.术_网
SetTagWord("Varname",time.wDayOfWeek);WW.W_PLC※JS_C,OM-PL,C-技.术_网
SetTagWord("Varname",time.wDay);WWW_P※LCJS_COM-PLC-)技.术_网
SetTagWord("Varname",time.wHour);P.L.C.技.术.网——可编程控制器技术门户
SetTagWord("Varname",time.wMinute);P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
SetTagWord("Varname",time.wSecond);WWW.PLCJS.COM——可编程控制器技术门户
SetTagWord("Varname",time.wMilliseconds);WWW_PL※CJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
4、问: 如何经Windows对话框设置日期时间? WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
答: 通过调用Windows对话框实现。具体如下:——可——编——程——控-制-器-技——术——门——户
#include"apdefap.h"W1WW_P4LCJS_COM-PLC-技.术_网
void onClick(char*lpszPictureName,char*lpszObjectName,WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
char*lpszPropertyName)WW.W_PLC※JS_C,OM-PL,C-技.术_网
{ProgramExcute("c:\\win98\\control.exe timedate.cpl");}——可——编——程——控-制-器-技——术——门——户
其中执行的程序路径,需根据具体情况填写。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS_COM-PLC-技.术_网
5、问: 如何在WinCC中调用SQL语言? WWW_PLCJS_COM-PLC-技.术_网
答: 1、创建一个 SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下:WWW_PLCJS_COM-PLC-技.术_网
2、在WinCC中用C Script 调用上述SQL文件,如下所示:WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
#include"apdefap.h"WWW_PLCJS@_COM%-PLC-技.术_网
void OnLButtonDown(char* lpszPictureName,WWW_PL※CJS_COM-PLC-技.术_网
char* lpszObjectName,WWW_PLCJS@_COM%-PLC-技.术_网
char* lpszPropertyName,——可——编——程——控-制-器-技——术——门——户
UINT nFlags,int x,int y)WWW_PL※CJS_COM-PLC-技.术_网
{WWW_PLC※JS_COM-PmLC-技.术_网
char*a="c:\\siemens\\common\\SQLANY\\ISQL-q-b-cWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
UID=DBA;PWD=SQL;DBF=E:\\testsql\\testsqlRT.DB;WWW_PLCJS_COM-PLC-技.术_网
DBN=CC_testsql_99-12-03-12:48:26R;READWWW_P※LCJS_CO※M-PLC-技-.术_网
E:testsql\\test.sql";WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Printf("%s\r\n",a);plcjs.技.术_网
ProgramExcute(a);WWW_PL※CJS_COM-PLC-技.术_网
}WW.W_PLCJS_COM-PLC-技.术_网
下面是一个简单的SQL文件内容:WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
select *from pde#hd#t#test;WWW_P※LCJS_COM-PLC-)技.术_网
output to e:\\test2.txt FORMAT asciiWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
注意:文件名及路径中不要带空格。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_P※LCJS_COM-PLC-)技.术_网
6、问: 如何整点启动归档? WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
答: 在"Globle Script"下的Project function编写程序函数:cyclicarchiveWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
BOOL cyclicarchive()——可——编——程——控-制-器-技——术——门——户
{WWW_PLCJS@_COM%-PLC-技.术_网
#pragma code("kernel.dll");WWW_P※LCJS_CO※M-PLC-技-.术_网
void GetLocalTime(SYSTEMTIME*lpsz);WWW_PLCJS@_COM%-PLC-技.术_网
#pragma code();WW.W_PLC※JS_C,OM-PL,C-技.术_网
SYSTEMTIME time;WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Int t1;WW.W_PLCJS_COM-PLC-技.术_网
GetLocalTime(&time);WW.W_PLCJS_COM-PLC-技.术_网
T1=time.wMinute;WWW_P※LCJS_CO※M-PLC-技-.术_网
If(t1==00)WWW_PL※CJS_COM-PLC-技.术_网
{WWW_PLCJS_COM-PLC-技.术_网
SetTagBit("startarchive",1);W1WW_P4LCJS_COM-PLC-技.术_网
Return(BOOL) (GetTagBit("startarchive"));WWW_PLCJS@_COM%-PLC-技.术_网
}P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
}WWW_PLCJS@_COM%-PLC-技.术_网
在Tagloging中的"Properties of process tag"中的"archive tag"Tab下的Archive type选择Cycle-selective,在"Event"标签下的"StartEvent"内选择cyclicarchive函数。WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
7、问: How can I set and reset a WinCC variable by mouse click with C script? P.L.C.技.术.网——可编程控制器技术门户
答: The following function shows how you can alternately set and reset a WinCC variable by mouse click.WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)