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