文档库 最新最全的文档下载
当前位置:文档库 › wincc标准函数介绍

wincc标准函数介绍

wincc标准函数介绍
wincc标准函数介绍

标准函数

该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。

该系统包括一个标准函数集。

一、Alarm - 简短描述

Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。

1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。

使用标准函数操作WinCC报警控件的实例

{//确认选择的报警记录消息

AcknowledgeMessage(GetTagWord("U08i_MsgNr"));

}

指定待确认的消息号。在本例中是从变量读取的。

2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

Control 1是WinCC报警控件的对象名。

4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数

外部消息窗口操作,该函数显示先前所选消息的注释。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

5.BOOL AXC_OnBtnEmergAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

6.BOOL AXC_OnBtnHornAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数确认蜂鸣器信号。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

7.BOOL AXC_OnBtnInfo(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数显示信息文本。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

7.BOOL AXC_OnBtnLock(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数打开“设置锁定”对话框。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

8.BOOL AXC_OnBtnLockUnlock(char* lpszPictureName, char* pszMsgWin),函数,该函数锁住在消息窗口中选择的消息。之后,不再归档该消息。该函数释放在锁定列表中选择的消息。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

9.BOOL AXC_OnBtnLockWin(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作.该函数调用锁定列表。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

10.BOOL AXC_OnBtnLoop(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数触发所选消息的“报警回路”函数。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

11.BOOL AXC_OnBtnMsgFirst(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的开始处。使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

12.BOOL AXC_OnBtnMsgLast(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表的结束处。使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的最后一条消息

AXC_OnBtnMsgLast("gs_alarm_00","Control1");

}

AXC_OnBtnMsgLast函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

13.BOOL AXC_OnBtnMsgNext(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的下一条消息。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

14.BOOL AXC_OnBtnMsgPrev(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数移动到消息列表中的前一条消息。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

15.BOOL AXC_OnBtnMsgWin(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数调用过程消息窗口。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

16.BOOL AXC_OnBtnPrint(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,打印机打印出符合在报警控件中定义的选择标准的全部消息。

WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

17.BOOL AXC_OnBtnScroll(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数激活水平和垂直滚动功能。使用标准函数操作WinCC报警控件的实例

{// 激活/取消激活滚动功能

AXC_OnBtnScroll("gs_alarm_00","Control1");

}

AXC_OnBtnScroll函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

18.BOOL AXC_OnBtnSelect(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数打开“设置选择”对话框。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

19.BOOL AXC_OnBtnSinglAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,该函数确认当前所选的消息。使用标准函数操作WinCC报警控件的实例

{// 确认激活的消息

AXC_OnBtnSinglAckn("gs_alarm_00","Control1");

}

AXC_OnBtnSinglAckn函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

20.BOOL AXC_OnBtnVisibleAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,确认消息窗口中可见的全部消息(组确认)。

使用标准函数操作WinCC报警控件的实例

{// 跳转到WinCC报警控件中的第一条消息

AXC_OnBtnMsgFirst("gs_alarm_00","Control1");

}

AXC_OnBtnMsgFirst函数参数:

“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。

Control 1是WinCC报警控件的对象名。

21.BOOL AXC_SetFilter(char* lpszPictureName, char* lpszObjectName, LPMSG_FILTER_STRUCT lpMsgFilter, LPCMN_ERROR, l pError)函数,外部消息窗口操作,该函数为WinCC报警控件设置过滤器,以便根据指定的过滤标准筛选出可用的消息。

使用标准函数操作WinCC报警控件的实例

{BOOL ret;

MSG_FILTER_STRUCT Filter;

CMN_ERROR Error;

//重新设置过滤器结构 memset

( &Filter, 0, sizeof( MSG_FILTER_STRUCT ) );

//设置过滤器名称 strcpy

( Filter.szFilterName, "Control1");

// 挑选选择元素 Filter

.dwFilter = MSG_FILTER_NR_FROM | MSG_FILTER_NR_TO;

// 消息号来自 Filter

.dwMsgNr[0] = 2;

// 消息号来自 Filter

.dwMsgNr[1] = 2;

ret = AXC_SetFilter("gs_alarm_00","Control1",&Filter,&Error);

}

1. 命名该过滤器。

2. 选择过滤器的类型。

3. 指定过滤器标准。

4. 设置过滤器。

常规使用注释

过滤器类型和过滤器标准必须适合使用;在过滤器结构中描述所有其它的过滤器类型。使用标准函数操作WinCC报警控件的实例

{BOOL ret;

MSG_FILTER_STRUCT Filter;

CMN_ERROR Error;

//删除整个过滤器结构 memset

( &Filter, 0, sizeof( MSG_FILTER_STRUCT ) );

//设置空的过滤器结构 AXC

_SetFilter("gs_alarm_00","Control 1",&Filter,&Error);

}

1. 删除该过滤器结构。

2. 用空值填充过滤器结构。

结构定义MSG_FILTER_STRUCT

typedef struct {

CHAR szFilterName[MSG_MAX_TEXTLEN+1];

WORD dwFilter;

SYSTEMTIME st[2];

DWORD dwMsgNr[2];

DWORD dwMsgClass;

DWORD dwMsgType[MSG_MAX_CLASS];

DWORD dwMsgState;

WORD wAGNr[2];

WORD wAGSubNr[2];

DWORD dwArchivMode;

char szTB[MSG_MAX_TB][

MSG_MAX_TB_CONTENT+1]

DWORD dwTB;

Double dPValue[MSG_MAX_PVALUE][2];

DWORD dwPValue[2];

DWORD dwMsgCounter[2];

DWORD dwQuickSelect;

}

MSG_FILTER_STRUCT;

描述

在该结构中定义过滤标准。

组成部分

dwFilter

通过下列常数从“m_global.h”文件定义过滤条件:

MSG_FILTER_DATE_FROM 从日期

MSG_FILTER_DATE_TO 到日期

MSG_FILTER_TIME_FROM 从时间

MSG_FILTER_TIME_TO 到时间

MSG_FILTER_NR_FROM 从消息号

MSG_FILTER_NR_TO 到消息号

MSG_FILTER_CLASS 消息等级

MSG_FILTER_STATE 消息状态

MSG_FILTER_AG_FROM 从AG号

MSG_FILTER_AG_TO 到AG号

MSG_FILTER_AGSUB_FROM 从AG子号

MSG_FILTER_AGSUB_TO 到AG子号

MSG_FILTER_TEXT 消息文本

MSG_FILTER_PVALUE 过程值

MSG_FILTER_COUNTER_FROM 从内部消息计数器

MSG_FILTER_COUNTER_TO 到内部消息计数器

MSG_FILTER_PROCESSMSG 过程消息

MSG_FILTER_SYSMSG 系统消息

MSG_FILTER_BEDMSG 事件消息

MSG_FILTER_DATE 日期从...到...

MSG_FILTER_TIME 日期从...到...

MSG_FILTER_NR 消息号从...到...

st

日期/时间从...到...

在这种情况下,st[0]是开始时间(从),st[1]是结束时间(到)

为过滤标准填充这些域:MSG_FILTER_DATE,MSG_FILTER_DATE_FROM,MSG_FILTER_DATE_TO, MSG_FILTER_TIME,MSG_FILTER_TIME_FROM和MSG_FILTER_TIME_TO

如果传送SYSTEMTIME参数要求当前时间,使用GetLocalTime函数而非GetSystemTime。通常这两个函数之间的时间差别很大。dwMsgNr

消息号从...到...

在这种情况下,dwMsgNr[0]是开始号(从),dwMsgNr[1]是结束号(到)

为过滤标准填充这些域:MSG_FILTER_NR,MSG_FILTER_NR_FROM和MSG_FILTER_NR_TO

dwMsgClass

位代码消息等级

为过滤标准填充这个域:MSG_FILTER_CLASS

dwMsgType

每个消息等级的位代码消息类型

为过滤标准填充这个域:MSG_FILTER_CLASS

dwMsgState

位代码消息状态

为过滤标准填充这个域:MSG_FILTER_STATE

wAGNr

AG号从...到...

为过滤标准填充这些域:MSG_FILTER_AG_FROM和MSG_FILTER_AG_TO

wAGSubNr

AGSubNr从...到

为过滤标准填充这些域:MSG_FILTER_AGSUB_FROM和MSG_FILTER_AGSUB_TO

dwArchivMode

归档/协议识别

必须用0填充。

szTB

文本块文本

为过滤标准填充这个域:MSG_FILTER_TEXT

dwTB

文本块激活(从...到...,位代码)

为过滤标准填充这个域:MSG_FILTER_TEXT

dPValue

过程值从...到...

为过滤标准填充这个域:MSG_FILTER_PVALUE

dwPValue

过程值激活(从...到... 位代码)

为过滤标准填充这个域:MSG_FILTER_PVALUE

dwMsgCounter

内部消息计数器从...到...

为过滤标准填充这些域:MSG_FILTER_COUNTER_FROM,MSG_FILTER_COUNTER_TO

dwQuickSelect

快速选择小时,天,月

为以后扩展而保留该参数,并且必须用0预定义。

为过滤标准填充这个域:MSG_FILTER_QUICKSELECT

LOWORD类型:

MSG_FILTER_QUICK_MONTH 快速选择后n个月

MSG_FILTER_QUICK_DAYS 快速选择后n天

MSG_FILTER_QUICK_HOUR 快速选择后n个小时

HIWORD号:1...n

快速选择函数的结束时间与本地计算机的当前系统时间有关。开始时间是n * (往回计算月,日,小时)。

结构定义CMNERROR

struct CMNERRORSTRUCT {

DWORD dwError1,

DWORD dwError2,

DWORD dwError3,

DWORD dwError4,

DWORD dwError5;

TCHAR szErrorText[MAX_ERROR_LEN];

}

CMNERROR

描述

扩展的错误结构包含错误代码和与发生的错误相关的错误文本。每个应用程序可以使用该错误结构评价或发出错误消息。组成部分

dwError1 .. dwError5

可按API函数的要求使用这些条目。

API描述包含出错时条目的各自数值。否则,错误代码在dwError1中。

szErrorText

错误代码的文本描述缓冲区

从资源建立该内容,因此依赖于语言。

BOOL GMsgFunction(char* pszMsgData)函数

该函数提供消息数据。

表示单个消息的全局函数。为每个消息调用全局函数,为每个消息设置“触发动作”参数。

最好在项目函数中解释消息数据,从GMsgFunction调用项目函数。

参数

pszMsgData

指向在其中存储消息数据的缓冲区的指针。

返回值

TRUE

已执行函数,无错。

FALSE

出错。

注意

请注意,WinCC安装会重写已修改的标准函数,所以被改变的函数丢失。

Graphics - 简短描述

Graphics组包含用于编程图形系统的函数。

1.char* GetLinkedVariable(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)函数,提供与指定的对象属性链接的变量的名称。

读出直接连接的变量名的实例。

{char* pszVarName = NULL;

char szVarName[_MAX_PATH+1];

//获得变量名 pszVarName

= GetLinkedVariable("gs_stand_graph_00","Static Text 6","Visible");

//复制字符串

if (pszVarName != NULL)

{ strncpy(szVarName,pszVarName,_MAX_PATH);

}

//自定义代码

//在那里用户可以使用返回值做某事

...}

GetLinkedVariable函数参数:

“gs_stand_graph_00”是在其中组态该对象的画面的名称。

“Static Text 6”是该对象的名称。

“Visible”是链接到变量的属性。

1). 将函数GetLinkedVariable的返回值缓冲存储在pszVarName中。

2). 如果返回有效数值,将该返回值存储在szVarName中。最多存储_MAX_PATH个字符。

3). 执行处理返回值的自定义代码。

2.char* GetLocalPicture(char* lpszPictureName)函数,返回指向画面名的指针。在这种情况下,画面名就是该文件名,不带扩展名“.PDL”。读出本地画面的实例。

{char* pszPicName = NULL;

char szPicName[_MAX_PATH+1];

//获得本地画面 pszPicName

= GetLocalPicture(lpszPictureName);

//复制字符串

if (pszPicName != NULL)

{ strncpy(szPicName,pszPicName,_MAX_PATH);

}//自定义代码

//在那里用户可以使用返回值做某事

...

}

1). 将函数GetLocalPicture的返回值缓冲存储在pszPicName中。

2). 如果返回有效数值,将该返回值存储在szPicName中。最多存储_MAX_PATH个字符。

3). 执行处理返回值的自定义代码。

3.char* GetParentPicture(char* lpszPictureName)函数,返回指向画面名称的指针。在这种情况下,画面名就是该文件名,不带扩展名“.PDL”。

读出画面名称路径的实例

{char* pszPicName = NULL;

char szPicName[_MAX_PATH+1];

//获得母画面 pszPicName

= GetParentPicture(lpszPictureName);

//复制字符串

if (pszPicName != NULL)

{strncpy(szPicName,pszPicName,_MAX_PATH);

}//自定义代码

//在那里用户可以使用返回值做某事

...}

1). 将该函数GetParentPicture的返回值缓冲存储在pszPicName中。

2). 如果返回有效数值,将该返回值存储在szPicName中。。。。。. 最多存储_MAX_PATH个字符。

3). 执行处理返回值的自定义代码。

4.char* GetParentPictureWindow(char* lpszPictureName)函数,返回指向画面窗口的名称的指针。

实例:

基本画面“Picture_1”有画面窗口“Picture Window_1”,在其中调用画面“Picture_2”。

画面“Picture_2”有画面窗口“Picture Window_2”,在其中调用画面“Picture_3”。

该函数调用

GetParentPictureWindow(lpszPictureName)

指向画面窗口名称的指针:

“Picture_2”,是否从画面“Picture_3”调用该函数。

“Picture Window_1”,是否从画面“Picture_2”调用该函数。

“Picture_1”,是否从画面“Picture_1”调用该函数。

5. void OpenPicture(Picture Name)函数,用设置的画面名打开画面。

6. char* Registry2(char* mode, char* String0, char* String1)函数,该函数管理字符串对(String0,String1)的列表。

Report - 简短描述

Report组包含用来启动打印作业的打印预览或打印输出本身的函数。

1. void ReportJob(LPSTR lpJobName, LPSTR lpMethodName)函数,根据参数lpMethodName的数值,决定启动打印作业或打印预览。RPTJobPreview和RPTJobPrint, 打印作业被启动和打印作业的预览被启动

2. BOOL RPTJobPreview(LPSTR lpJobName)函数,打印作业的预览被启动。

启动作业预览的实例

{//启动指定打印作业的打印预览

RPTJobPreview("Documentation Text Library");

}

RPTJobPreview函数参数:

@Text library (compact)是打印作业的名称。

3. BOOL RPTJobPrint(LPSTR lpJobName)函数,打印作业被启动。

启动打印作业的实例

{//打印输出指定的打印作业

RPTJobPrint("@Text library (compact)");

}

RPTJobPrint函数参数:

@Text library (compact)是打印作业的名称。

4. void RptShowError(LPCSTR pszFailedFunction, CMN_ERRORA* pCmnErrorA)函数,该函数提供对失败的打印作业的错误描述。该函数调用是标准函数RptJobPrint和RptJobPreview的组成部分,因此不要求单个调用命令。

结构定义CMNERROR

struct CMNERRORSTRUCT {

DWORD dwError1,

DWORD dwError2,

DWORD dwError3,

DWORD dwError4,

DWORD dwError5;

TCHAR szErrorText[MAX_ERROR_LEN];

}

CMNERROR描述

扩展的错误结构包含错误代码和与发生的错误相关的错误文本。每个应用程序可以使用该错误结构评价或发出错误消息。

组成部分

dwError1 .. dwError5

可按API函数的要求使用这些条目。

API描述包含出错时条目的各自数值。否则,错误代码在dwError1中。

szErrorText

错误代码的文本描述缓冲区

从资源建立该内容,因此依赖于语言。

TagLog - 简短描述

TagLog函数包含控制WinCC表格控件和WinCC趋势控件的函数。

Template子组包含调用某些控制值的函数。

Toolbar Buttons子组包含用于工具栏中每个按钮的标准函数。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。

1. int TlgGetColumnPosition(char* lpszTemplate)函数,以表格窗口中的列指针的当前位置作为列索引。

使用标准函数操作WinCC表格控件的实例

{char text[5];

long int columns

//获得列数

columns = GetNumberOfColumns("TableControl_01");

//转换长整型为字符 sprintf

(text,"%d",columns);

//在Text Field 5 SetText上设置文本

(lpszPictureName,"Static Text 5",text);

}

TlgGetNumberOfColumns函数参数:

“Table Control_01”是WinCC表格控件的名称。

1). 将函数TlgGetNumberOfColumns的返回值缓冲存储在columns中。

2). 将返回值缓冲存储在String text中。

3). 在静态文本域中发出返回值。

2. int TlgGetNumberOfColumns(char* lpszTemplate)函数,在表格窗口中给出列的数量。用参数lpszTemplate传递相应WinCC在线表格控件窗口的名称。

使用标准函数操作WinCC表格控件的实例

{char text[5];

long int columns

//获得列数

columns = GetNumberOfColumns("TableControl_01");

//转换长整型为字符 sprintf

(text,"%d",columns);

//在Text Field 5 SetText上设置文本

(lpszPictureName,"Static Text 5",text);

}

TlgGetNumberOfColumns函数参数:

“Table Control_01”是WinCC表格控件的名称。

1). 将函数TlgGetNumberOfColumns的返回值缓冲存储在columns中。

2). 将返回值缓冲存储在String text中。

3). 在静态文本域中发出返回值。

3. int TlgGetNumberOfRows(char* lpszTemplate)函数,在表格窗口中给出行的数量。用参数lpszTemplate传递相应WinCC在线表格控件窗口的名称。

使用标准函数操作WinCC表格控件的实例

{char text[5];

long int rows;

//获得行数

rows = TlgGetNumberOfRows("TableControl_01");

//转换长整型为字符 sprintf

(text,"%d",rows);

//在Text Field 5 SetText上设置文本

(lpszPictureName,"Static Text 5",text);

}

TlgGetNumberOfRows函数参数:

Table Control_01是WinCC表格控件的名称。

1). 将函数TlgGetNumberOfRows的返回值缓冲存储在rows中。

2). 将返回值缓冲存储在String text中。

3). 在静态文本域中发出返回值。

4. int TlgGetNumberOfTrends(char* lpszTemplate)函数,在趋势窗口中给出趋势的数量。用参数lpszTemplate传递相应WinCC在线趋势控件窗口的名称。

使用标准函数操作WinCC表格控件的实例

{char text[5];

long int columns

//获得列数

columns = GetNumberOfColumns("TableControl_01");

//转换长整型为字符 sprintf

(text,"%d",columns);

//在Text Field 5 SetText上设置文本

(lpszPictureName,"Static Text 5",text);

}

TlgGetNumberOfColumns函数参数:

“Table Control_01”是WinCC表格控件的名称。

1). 将函数TlgGetNumberOfColumns的返回值缓冲存储在columns中。

2). 将返回值缓冲存储在String text中。

3). 在静态文本域中发出返回值。

5. int TlgGetRowPosition(char* lpszTemplate)函数,在表格窗口中给出行指针的当前位置。用参数lpszTemplate传递相应WinCC在线表格控件窗口的名称。

使用标准函数操作WinCC表格控件的实例

{char text[5];

long int columns

//获得列数

columns = GetNumberOfColumns("TableControl_01");

//转换长整型为字符 sprintf

(text,"%d",columns);

//在Text Field 5 SetText上设置文本

(lpszPictureName,"Static Text 5",text);

}

TlgGetNumberOfColumns函数参数:

“Table Control_01”是WinCC表格控件的名称。

1). 将函数TlgGetNumberOfColumns的返回值缓冲存储在columns中。

2). 将返回值缓冲存储在String text中。

3). 在静态文本域中发出返回值。

6. char* TlgGetRulerArchivNameTrend(char* lpszTemplate, int nTrend)函数,在趋势窗口中这个标尺位置上给出带编号nTrend的趋势的归挡名称。用参数lpszTemplate传递相应WinCC在线趋势控件窗口的名称。

使用标准函数操作WinCC趋势控件的实例

{char* pszVarName = NULL;

char szVarName[20];

//获得标尺变量名 pszVarName

= TlgGetRulerVariableNameTrend("TrendControl_01",0);

if (pszVarName != NULL)

{// 复制字符串 strncpy

(szVarName,pszVarName,19);

}

//输出变量名 SetText

(lpszPictureName,"Static Text 6",szVarName);

}

TlgGetRulerVariableNameTrend函数参数:

“Trend Control_01”是WinCC趋势控件的名称。

“0”是该趋势的编号。

1). 将函数TlgGetRulerVariableNameTrend的返回值缓冲存储在pszVarName中。

2). 如果返回有效数值,将返回值复制到szVarName中。

3). 在静态文本域中发出返回值。

7. SYSTEMTIME TlgGetRulerTimeTrend(char* lpszTemplate, int nTrend)函数,在趋势窗口中这个标尺位置上给出带编号nTrend的趋势的时间。用参数lpszTemplate传递相应WinCC在线趋势控件窗口。

使用标准函数操作WinCC趋势控件的实例

{SYSTEMTIME systime;

WORD wHour;

WORD wMin;

WORD wSec;

char szTime[10];

//获得当前系统时间 systime

= TlgGetRulerTimeTrend("TrendControl_01",0);

//获得小时 wHour

= systime.wHour;

//获得分钟 wMin

= systime.wMinute;

//获得秒 wSec

= systime.wSecond;

//

sprintf(szTime,"%d:%d:%d",wHour,wMin,wSec);

//输出变量名 SetText

(lpszPictureName,"Static Text 7",szTime);

}

1). 读出当前系统时间。

2). 从SYSTEMTIME结构读出小时、分和秒。

3). 创建包含该时间的字符串。

4). 读出当前时间。

8. double TlgGetRulerValueTrend(char* lpszTemplate, int nTrend)函数,在趋势窗口中这个标尺位置上给出带编号nTrend的趋势的数值。用参数lpszTemplate是WinCC表格控件的名称。 1). 将函数TlgGetNumberOfColumns的返回值缓冲存储在columns中。 2). 将返回值缓冲存储在String text中。 3). 在静态文本域中发出返回值。 5. int TlgGetRowPosition(char* lpszTemplate)函数,在表格窗口中给出行指针的当前位置。用参数lpszTemplate传递相应WinCC在线表格控件窗口的名称。使用标准函数操作WinCC表格控件的实例 {char text[5];

long int columns

//获得列数

columns = GetNumberOfColumns("TableControl_01");

//转换长整型为字符 sprintf

(text,"%d",columns);

//在Text Field 5 SetText上设置文本

(lpszPictureName,"Static Text 5",text);

} TlgGetNumberOfColumns函数参数:“Table Control_01”是WinCC表格控件的名称。 1). 将函数TlgGetNumberOfColumns的返回值缓冲存储在columns中。 2). 将返回值缓冲存储在String text中。 3). 在静态文本域中发出返回值。 6. char* TlgGetRulerArchivNameTrend(char* lpszTemplate, int nTrend)函数,在趋势窗口中这个标尺位置上给出带编号nTrend的趋势的归挡名称。用参数lpszTemplate传递相应WinCC在线趋势控件窗口的名称。使用标准函数操作WinCC趋势控件的实例 {char* pszVarName = NULL;

char szVarName[20];

//获得标尺变量名 pszVarName

= TlgGetRulerVariableNameTrend("TrendControl_01",0);

if (pszVarName != NULL)

{// 复制字符串 strncpy

(szVarName,pszVarName,19);

}

//输出变量名 SetText

(lpszPictureName,"Static Text 6",szVarName);

} TlgGetRulerVariableNameTrend函数参数:“Trend Control_01”是WinCC趋势控件的名称。“0”是该趋势的编号。 1). 将函数

TlgGetRulerVariableNameTrend的返回值缓冲存储在pszVarName中。 2). 如果返回有效数值,将返回值复制到szVarName中。 3). 在静态文本域中发出返回值。 7. SYSTEMTIME TlgGetRulerTimeTrend(char* lpszTemplate, int nTrend)函数,在趋势窗口中这个标尺位置上给出带编号nTrend的趋势的时间。用参数lpszTemplate传递相应WinCC在线趋势控件窗口。使用标准函数操作WinCC趋势控件的实例 {SYSTEMTIME systime;

WORD wHour;

WORD wMin;

WORD wSec;

char szTime[10];

//获得当前系统时间 systime

= TlgGetRulerTimeTrend("TrendControl_01",0);

//获得小时 wHour

= systime.wHour;

//获得分钟 wMin

= systime.wMinute;

//获得秒 wSec

= systime.wSecond;

// sprintf(szTime,"%d:%d:%d",wHour,wMin,wSec);

//输出变量名 SetText

(lpszPictureName,"Static Text 7",szTime);

} 1). 读出当前系统时间。 2). 从SYSTEMTIME结构读出小时、分和秒。 3). 创建包含该时间的字符串。 4). 读出当前时间。

8. double TlgGetRulerValueTrend(char* lpszTemplate, int nTrend)函数,在趋势窗口中这个标尺位置上给出带编号nTrend的趋势的数值。用参数lpszTemplateopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

12. BOOL TlgTableWindowPressFirstButton(char* lpszWindowName)函数,显示表格窗口中显示区域的第一个数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

13. BOOL TlgTableWindowPressHelpButton(char* lpszWindowName)函数,显示表格窗口的在线帮助

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

14. BOOL TlgTableWindowPressInsertRecordButton(char* lpszWindowName)函数,插入数据记录。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

15. BOOL TlgTableWindowPressLastButton(char* lpszWindowName)函数,显示表格窗口中显示区域的最后一个数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

16. BOOL TlgTableWindowPressNextButton(char* lpszWindowName)函数,显示表格窗口中当前显示区域后面的数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

17. BOOL TlgTableWindowPressNextItemButton(char* lpszWindowName)函数,表格窗口的列将向左移动一列,最左边的列移到右边。使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

18. BOOL lgTableWindowPressOpenArchiveVariableSelectionDlgButton(char* lpszWindowName)函数,打开用来链接表格列与归档和变量的对话框。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

19. BOOL TlgTableWindowPressOpenDlgButton(char* lpszWindowName)函数,打开用来在线组态表格窗口的对话框。

使用标准函数操作WinCC趋势控件的实例

{//打开属性对话框

TlgTrendWindowPressOpenDlgButton("TrendControl_01");

}

TlgTrendWindowPressOpenDlgButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

20. BOOL TlgTableWindowPressOpenItemSelectDlgButton(char* lpszWindowName)函数,打开用来选择表格窗口的可见列和第一列的对话框。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

21. BOOL TlgTableWindowPressPrevButton(char* lpszWindowName)函数,显示表格窗口中当前显示区域前面的数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

22. BOOL TlgTableWindowPressPrevItemButton(char* lpszWindowName)函数,表格窗口的列将向右移动一列,最右边的列移到左边。使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

23. BOOL TlgTableWindowPressRemoveRecordButton(char* lpszWindowName)函数,删除数据记录。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

24. BOOL TlgTableWindowPressStartStopButton(char* lpszWindowName)函数,打开或关闭表格窗口的更新(切换功能)。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

25. BOOL TlgTrendWindowPressFirstButton(char* lpszWindowName)函数,显示趋势窗口中显示区域的首要数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

26. BOOL TlgTrendWindowPressHelpButton(char* lpszWindowName)函数,显示趋势窗口的在线帮助。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

27. BOOL TlgTrendWindowPressLastButton(char* lpszWindowName)函数,显示趋势窗口中显示区域的最后一个数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

28. BOOL TlgTrendWindowPressLinealButton(char* lpszWindowName)函数,显示或隐藏趋势窗口标尺(切换功能)。使用“光标向左”和“光标向右”键可以移动标尺。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

29. BOOL TlgTrendWindowPressNextButton(char* lpszWindowName)函数,显示趋势窗口中当前显示区域后面的数据记录。显示的数据记录数量由所组态的时间范围决定。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

30. BOOL TlgTrendWindowPressNextItemButton(char* lpszWindowName)函数,将趋势窗口中所有趋势向前移动一个层面。前面的那个趋势将被移到后面。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

31. BOOL TlgTrendWindowPressOneToOneButton(char* lpszWindowName)函数,该趋势窗口被重新设置为激活缩放功能前的状态。缩放被取消激活。使用鼠标才可以选中待缩放的区域(参考TlgTrendWindowPressZoomInButton)。

使用标准函数操作WinCC报警趋势的实例

{

//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

32. BOOL lgTrendWindowPressOpenArchiveVariableSelectionDlgButton(char* lpszWindowName)函数,打开链接趋势与归档和变量的对话框。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

33. BOOL TlgTrendWindowPressOpenDlgButton(char* lpszWindowName)函数,打开趋势窗口的在线组态对话框。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

}

TlgTrendWindowPressStartStopButton函数参数:

“TrendControl_01”是WinCC趋势控件的对象名。

34. BOOL TlgTrendWindowPressOpenItemSelectDlgButton(char* lpszWindowNumber)函数,打开用来选择可见趋势以及要在前景中显示的趋势的对话框。

使用标准函数操作WinCC报警趋势的实例

{//开始/停止

TlgTrendWindowPressStartStopButton("TrendControl_01");

wincc标准函数介绍

标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_MsgNr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 Control 1是WinCC报警控件的对象名。 4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 5.BOOL AXC_OnBtnEmergAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。

wincc中使用vbs常用函数.

wincc 中使用vbs 常用函数 1. 函数array() 功能: 创建一个数组变量 格式:array(list) 参数:list 为数组变量中的每个数值列,中间用逗号间隔 例子: <% i = array ( “1”, ”2”, ”3”) %> 结果: i 被赋予为数组 2. 函数Cint() 功能: 将一表达式/ 其它类型的变量转换成整数类型(int) 格式:Cin t(expressio n_r) 参数:expression」是任何有效的表达式/其它类型的变量 例子: <% f = ” 234” response.write cINT(f) + 2 %> 结果: 236 函数Cint() 将字符” 234”转换成整数234.如果表达式为空, 或者无效时, 返回值为0; 3. 函数:Creatobject() 功能: 创建及返回一个ActiveX 对象. 格式:Creatobject(obname)

参数bname 是对象的名称 例子: <% Set con = Server.CreateObject( “ADODB.Connection”) %> 结果: 4. 函数Cstr() 功能: 将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression_r) 参数:expression」是任何有效的表达式/其它类型的变量例子: <% s = 3 + 2 response.write ”The result is: ” & cStr(s) %> 结果: 函数Cstr() 将整数 5 转换成字符” 5”. 5. 函数Date() 功能: 返回当前系统(server 端) 的日期 格式: Date() 参数:无 例子<% date () %> 结果:05/10/00

wincc vbscript Split 函数用法

vbscript Split 函数用法 用法:传回数组 = Split(原始字串, 要找的字串, 拆成几个数组) 描述 返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 语法 Split(expression[, delimiter[, count[, compare]]]) 例如用逗号(,)分割字符串为数组 复制代码代码如下: str="1,2,3,4" strarr=split(str,",") for i=0 to ubound(strarr) msgbox strarr(i) next Split函数语法有如下几部分: 部分描述 expression 必需的。包含子字符串和分隔符的字符串表达式。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。

count 可选的。要返回的子字符串数,-1表示返回所有的子字符串。 compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。 参数的设置 设置值 compare参数的设置值: 常数值描述 vbUseCompareOption -1 用Option Compare语句中的设置值执行比较。vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 复制代码代码如下: Private Sub Command1_Click() Dim MyStr As String MyStr = "1234567123456712345" MyStrs = Split(MyStr, "67") For Each Strs In MyStrs Print Strs Next End Sub 输出结果:"12345"、"12345"、"12345"

WINCC的API编程

如何将其它程序的窗口置于最前面? 可以通过使用Windows API 函数FindWindow找到一个窗口的句柄。 假设您希望将一个Microsoft Access 窗口置于最前面: HWND Handle= ZERO; Handle= FindWindow("OMAIN",ZERO); if(Handle) { ShowWindow(Handle, SW_MINIMIZE); // ShowWindow ( Handle, SW_SHOWNORMAL ); SetForegroundWindow(Handle); } else ProgramExecute("C:\\MSOffice.97\\Office\\ACCESS.EXE"); 如果没有发现该窗口,随后Microsoft Access 将重新启动。 FindWindow 函数的注意事项: 第一个参数是窗口的类。 可以使用编译器(比如:用Visual C++ 中的Spy 命令)找到类。 第二个参数是窗口的标题(标题栏)。可以指定两个参数中的任何一个,或者两个都指定。在本

运行时通过按下一个按钮来启动一个程序,打印一个文本文件或者打开一个显示订货号

22560470 WinHelp (Windows Help) via API 显示订货号 QUESTION: Can a user-specific Help be called in a WinCC project? ANSWER: Yes, in WinCC you can call use an API call to call a user-specific Help. With "fuCommand" you can branch to a specific topic. For this you create a new project function with the following code: #pragma code("user32.dll") BOOL WinHelpA(hwnd, lpszHelpFile, fuCommand, dwData); #pragma code() #define HELP_CONTENTS 0x0003L void WinHelpApi() { HWND hwnd; /* handle of window requesting help */ char HelpFile[255]; UINT fuCommand; /* type of help */

WinCC C语言基础

Wincc C语言基础 3.属性的C动作 #include apdefap h long-main(char* lpszPictureName.char* lpszObjectName.char*lpszPropertyName) { /*1*/ long 1ReturnValue; /*2*/ 1ReturnValue * GetTagSDword(*S32icourse-test-1*); /*3*/ return 1ReturnValue; } 上述实例代码代表一个典型的属性的C动作。各部分的含义描述如下: 标题(灰色):灰色阴影显示的前三行构成C的动作标题。该标题自动生成并且不能更改。除返回类型(在实例代码中为long)之外,所有的函数标题完全相同。将三个参数传送给C动作。它们是画面名称(Lpsz PictureName),对象名(lpszObjectName)和属性名(lpszPropertyName). 变量声明(1):在可以编辑的第一段代码中声明使用的变量。在本实例代码中,指的是一个long型的变量。数值计算(2):在本段中,执行属性值的计算。在实例代码中,只读入一个WinCC 变量的数值。 数值返回(3):将计算得出的属性值赋给属性。这通过return命令来完成 4.事件的C动作 #include apdefap.h* void OnClicik(char* lpszPictureName.char* lpszObjectName.char* lpszPropertyName) { /*1*/ long 1Value; /*2*/ 1Value * GetTagSDWord(*s32i-course-tset-1”); SetIeft (lpszPictureName,lpszobjectName,1value); } 上述实例代码代表一个典型的事件的C动作。各部分含义描述如下: 标题(灰色):灰色阴影显示的前三行构成C动作的标题。该标题自动生成并且不能更改。对于不同类型的事件,其参数标题也不同。将参数lpszPictureName(画面名称).lpszObjectName(对象名)和lpszPropertyName(属性名)传递给C动作。参数lpszPropertyName只包含与响应属性变化事件相关信息。可以传递附加的事件指定的参数。 变量声明(1):在可以编辑的第一代码段中声明使用的变量。在本实例代码中,指的是一个long型的变量。事件处理(2):在本段中,执行响应事件的动作。在本实例代码中,读入一个WinCC变量的数值。该数值作为位置X分配给自己的对象。事件的C动作的返回值为void类型,也就是说不需要返回值 5.C动作的创建 创建C动作的步骤如下: (1).打开图形编辑器,打开期望的WinCC画面,打开所期望对象的对象属性对话框 (2)通过鼠标R期望的属性或事件,然后从弹出式菜单中选择C动作来打开动作编辑器 (3)将显示动作编辑器,其中将显示函数的基本框架。此外,C动作的标题已经自动生成,该标题不能

wincc时间显示函数

一、方法一 1.设置一个或多个变量,类型为内存字符串或者是一个连接PLC的外部变量的字符串 2.全局脚本:C脚本 #pragma code("kernel32.dll"); 定义系统链接文件 GetLocalTimes(SYSTEMTIME*lpst);获取系统时间变量 #pragma code(); SYSTEMTIME time; GetLocalTime(&time); SetTagWord("Varname1",time.wYear);年 SetTagWord("Varname2",time.wMonth);月 SetTagWord("Varname3",time.wDayOfWeek);星期 SetTagWord("Varname4",time.wDay);天 SetTagWord("Varname5",time.wHour);小时 SetTagWord("Varname6",time.wMinute);分钟 SetTagWord("Varname7",time.wSecond);秒 SetTagWord("Varname8",time.wMilliseconds);毫秒 3.在输入输出域关联变量,记住要修改显示类型为字符串 如果要在一个中显示,则把Varname1-Varname8通过字符串连接即可 方法二: char* temp=(char*)SysMalloc(26); time_t *p=(time_t*)SysMalloc(sizeof(time_t)),CT; CT=time(p); strcpy(temp,ctime(&CT)); *(temp+24)='\0'; return temp; 方法三: 利用控件中的wincc digital/analog clock contol

WINCC VBSCRIPT常用函数

WinCC VBscript常用函数 1.数值型函数: abs(num):返回绝对值 sgn(num):num>01;num=00;num<0-1;判断数值正负 hex(num):返回十六进制值直接表示:&Hxx最大8位 oct(num):返回八进制值直接表示:&Oxx最大8位 sqr(num):返回平方根num>0 int(num):取整int(99.8)=99;int(-99.2)=100 fix(num):取整fix(99.8)=99;fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num):取以e为底的对数num>0 exp(n):取e的n次幂通常用num^n sin(num):三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num);atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选 3.数据类型转换函数:

WINCC C脚本的标准函数

WINCC C脚本的标准函数1 -------------------------------------------------------------------------------- 标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_MsgNr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); }

wincc函数实例

如何在 WinCC 运行时通过按下一个按钮来启动一个程序,打印一个文本文件或者打开一个PDF文件? 显示订货号

?当调用某些文件类型(如 Microsoft Excel文件)时,需要输入不止一个函数参数。因此,如果路径规范里包含一个路径,需要在函数参数里面将该路径放在反斜线和双引号标志之间,(如, ProgramExecute("C:\\Programme\\Microsoft Office\\OFFICE11\\EXCEL.EXE \"C:\\temp\\New Folder\\Mappe1.xls\""))。 ?注意当操作员打开系统窗口的时候,可能会有操作系统级别的系统操作。 执行完程序之后关闭这些窗口。 ?您可以用Win32 API函数终止一个程序,更多信息和例程可参考条目号2976503。 使用C函数“Sleep” 显示订货号 问题: 如何在WinCC中编程“Sleep”等待功能? 解答: 为此,可以使用Windows API功能“Sleep()”。下面的样例程序演示了如何使用“Sleep”功能。 #pragma code("Kernel32.dll") void Sleep(int Milliseconds); #pragma code() Sleep(1000); //time in milliseconds 警告: “Sleep”函数对动作处理性能有很大的负面影响。因此,如果想用此函数的话,请注意以下几点: ?使用Sleep()时,C 脚本的处理在特定的一段时间内被中断。在此期间内,任何对于被中断功能的请求将不被处理。 ?而且,使用相同触发器的所有动作将不再被处理。使用相同的触发器意味着用同一个循环触发器所有动作或变量触发器的所有动作将不再被处理。 如果同步地调用动作,这种调用通过一个变量触发器或事件被周期性地 或非周期性地启动,而且所有这些功能使用了Sleep()函数,那么所有的动作会被终止。最坏情况下是;由于启动这四个动作将终止对所有动作 的处理。

WINCC c语言基础

WINCC C语言基础 要使对象动态化,在WinCC中有多种不同的选项可用。其中包括变量连接.动态对话框和直接连接。通过它们可以实现复杂的动态。然而,随着要求的增加它们会有限制。对于用户来说,组态C动作、项目函数或动作可以有更广的范围。它们在WinCC 脚本语言C中创建。对于许多应用来说,不必具备非常全面的C语言知识。它足以为现有函数提供参数。然而,为了使用WinCC脚本语言C的全部功能,需要具备有关这种编辑语言的基本知识。本课程可以为用户提供这些知识。 本课程用来为不熟悉C语言的人员提供有关编辑语言C的常规应用的基本知识。具备C语言编辑经验的编程员可以学习C语言应用于WinCC时的特性。 2.1 C脚本的开发环境 对于C脚本的创建,WinCC提供两个不同的编辑器。一个是图形编辑器中的动作编辑器,用于在对象处创建C动作;另一个是全局脚本编辑器,用于创建项目函数和全局动作。脚本语言的语法与采用ANSI的标准C语言相一致。 在WinCC中编辑语言C的另一个应用领域是关于动态向导的创建。为此,可以使用一个单独的编辑器。 2.1.1 图形编辑器的动作编辑器 在图形编辑器中,可以通过C动作使对象属性动作化。同样,也可以使用C动作来响应对象事件。 1.动作编辑器 对于C动作的组态,可以使用动作编辑器。此编辑器可以在对象属性对话框中通过以下方法打开,即点击鼠标右键期望的属性或事件,然后从显示的弹出式菜单中选择C动作。已经存在的C动作在属性或事件处用绿色箭头标记。 在动作编辑器中,可以编写C动作。对于属性的C动作,必须定义触发器。对于事件的C 动作,由于事件本身就是触发器所以不必再定义。完成的C动作必须进行编译,如果编译程序没有检测到错误,则可以通过单击确定退出动作编辑器 2.动作的结构 通常,一个C动作相当与C中的一个函数。C动作由两种不同类型:为属性创建动作和为事件创建的动作。通常,属性的C动作用于根据不同的环境条件控制此属性的值(例如变量的值)。对于这种类型的C动作,必须定义触发器来控制其执行。事件的C动作来响应此事件。 3.属性的C动作 #include apdefap h

wincc中使用vbs常用函数.

wincc中使用vbs常用函数 1.函数array() 功能:创建一个数组变量 格式:array(list) 参数:list 为数组变量中的每个数值列,中间用逗号间隔 例子: <% i = array (“1”,”2”,”3”)%> 结果: i 被赋予为数组 2.函数Cint() 功能:将一表达式/其它类型的变量转换成整数类型(int) 格式:Cint(expression_r) 参数:expression_r 是任何有效的表达式/其它类型的变量 例子: <% f = ”234” response.write cINT(f) + 2 %> 结果: 236 函数Cint()将字符”234”转换成整数234.如果表达式为空, 或者无效时,返回值为0; 3.函数:Creatobject() 功能:创建及返回一个ActiveX对象. 格式:Creatobject(obname)

参数bname 是对象的名称 例子: <% Set con = Server.CreateObject(“ADODB.Connection”) %> 结果: 4.函数Cstr() 功能:将一表达式/其它类型的变量转换成字符类型(string) 格式:Cstr(expression_r) 参数:expression_r是任何有效的表达式/其它类型的变量 例子: <% s = 3 + 2 response.write ”The result is: ”& cStr(s) %> 结果:函数Cstr()将整数 5 转换成字符”5”. 5.函数Date() 功能:返回当前系统(server端)的日期 格式: Date() 参数:无 例子<% date () %> 结果:05/10/00

最新wincc函数实例资料

如何在WinCC运行时通过按下一个按钮来启动一个程序,打印一个文本文件或者打开一个PDF文件? 显示订货号 说明:WinCC在动态向导里提供了方便的“启动其他应用程序”功能来启动一个外部程序。这个向导生成一个C脚本。为了给这个程序添加参数,可以打开该脚本并添加 也可以在WinCC在线帮助中找到相关描述,在目录"WinCC信息系统> 使用WinCC >用于创建函数和动作的ANSI-C > ANSI-C 函数描述> 标准函数〉 Win dows",如果您使用的是VBS,则在目录"使用WinCC >用于创建程序和动作的VBS > VBScript实例> 常规例程"。 *在编写C动作时,当指定路径时必须输入双斜线("\"),否则会被解释为一个控制字符。

*当调用某些文件类型(如 Microsoft Excel 文件)时,需要输入不止一 个函数参数。因此,如果路径规范里包含一个路径, 需要在函数参数里面 将该路径放在反斜线和双引号标志之间, (如, ProgramExecute("C:\\Programme\\Microsoft OfficeWOFFICE11WEXCEL.EXE \" C:\\temp\\New FolderWMappe1.xls \""))。 ?注意当操作员打开系统窗口的时候,可能会有操作系统级别的系统操作。 执行完程序之后关闭这些窗口。 ?您可以用Win32 API 函数终止一个程序,更多信息和例程可参考条目号 2976503。 使用C 函数“ Sleep 显示订货号 问题: 如何在WinCC 中编程“ Sleep ”等待功能? 解答: 为此,可以使用 Windows API 功能“ Sleep() ”。下 用“ Sleep ”功能。 F 面的样例程序演示了如何使 #pragma code("Kernel32.dll") void Sleep(i nt Millisec on ds); #pragma code() Sleep(1000); //time in milliseco nds 警告. “ Sleep ”函数对动作处理性能有很大的负面影响。 请注意以下几点: 因此,如果想用此函数的话, *使用Sleep()时,C 脚本的处理在特定的一段时间内被中断。 在此期间内, 任何对于被中断功能的请求将不被处理。 ?而且,使用相同触发器的所有动作将不再被处理。 使用相同的触发器意味 着用同一个循环触发器所有动作或变量触发器的所有动作将不再被处理。 如果同步地调用动作,这种调用通过一个变量触发器或事件被周期性地 或非周期性地启动,而且所有这些功能使用了 Sleep()函数,那么所有的 动作会被终止。最坏情况下是; 由于启动这四个动作将终止对所有动作 的处理。

WINCC-C脚本大全

WINCC C脚本的标准函数 1 2009-08-06 17:04 标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_Msg Nr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPi ctureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Contro l1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPic tureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。

WINCC标准函数集2

#include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #define PIC_0 "w_start" SetBackColor("w_left.pdl","Button1",0xd8e9ec); //Return-Type: BOOL SetBackColor("w_left.pdl","Button2",0xd8e9ec); //Return-Type: BOOL SetBackColor("w_left.pdl","Button3",0xcfe8cc); //Return-Type: BOOL SetBackColor("w_left.pdl","Button4",0xd8e9ec); //Return-Type: BOOL SetBackColor("w_left.pdl","Button5",0xd8e9ec); //Return-Type: BOOL SetBackColor("w_left.pdl","Button6",0xd8e9ec); //Return-Type: BOOL SetBackColor("w_left.pdl","Button7",0xd8e9ec); //Return-Type: BOOL SetBackColor("w_left.pdl","Button8",0xd8e9ec); //Return-Type: BOOL } SetPictureName(PIC_0,"画面窗口5","pic_yuchuli_xigeSan"); WinCC标准函数集(二) 注:该篇文档包含用户函数集Graphics、Report、Taglog、WinCC、Execute Program篇,介绍与WinCC编程图形、报表打印、表格趋势控件、WinCC系统函数、调用其他程序有关的函数。 Graphics - 简短描述 Graphics组包含用于编程图形系统的函数。 1.char* GetLinkedVariable(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)函数,提供与指定的对象属性链接的变量的名称。 读出直接连接的变量名的实例。 {char* pszVarName = NULL; char szVarName[_MAX_PATH+1]; //获得变量名 pszVarName = GetLinkedVariable("gs_stand_graph_00","Static Text 6","Visible"); //复制字符串 if (pszVarName != NULL) { strncpy(szVarName,pszVarName,_MAX_PATH); } //自定义代码 //在那里用户可以使用返回值做某事 ...}

wincc常用C动作

wincc中的C语言典型题 Wincc用动态向导传送S5/S7数据变量 Text library设制多语种文本 间接寻址:间接变量是一个文本变量16位字符集类型的变量。使用时必需选中间接寻址。项目文件的确定: #include"apdefap.h" void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) { Bool bRet; char szprojectFile[_MAX_PATH+1]; CMN_ERROR ERROR; bRet=DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,&ERROR); IF(bRet==False) { printf("\r\nError in DMGetRuntimeProject()\r\n","\t%s\r\n",Error.szErrortext); return; } printf("\r\nProjectFile:\r\n%s\r\n",szpProjectFile); } 确定项目路径: #include"apdefap.h" void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) { Bool bRet=False; char szprojectFile[_MAX_PATH+1]; CMN_ERROR ERROR; char* psz=NULL; IF(bRet==False) { printf("\r\nError in DMGetRuntimeProject()\r\n","\t%s\r\n",Error.szErrortext); return; } psz=strrchr(szProjectFile,'\\'); if(psz!=NULL) { *(psz+1)=0; } printf("\r\nProjectPath:\r\n%s\r\n",szpProjectFile); } 确定计算机名称: #include "apdefap.h" void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) { #pragma code("Kernel32.dll");

WinCC VBscript常用函数

WinCCVBscript常用函数 1.数值型函数: abs(num): 返回绝对值 sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负 hex(num): 返回十六进制值直接表示:&Hxx 最大8位 oct(num): 返回八进制值直接表示:&Oxx 最大8位 sqr(num): 返回平方根 num>0 int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整 fix(99.8)=99; fix(-99.2)=99 round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2 log(num): 取以e为底的对数 num>0 exp(n): 取e的n次幂通常用 num^n sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选 3.数据类型转换函数:

经典WinCC技巧.doc

在WinCC 中如何在一个画面中显示不同的趋势图? 显示订货号 描述 在同一个WinCC 在线趋势控件中,通过不同的按钮来选择显示不同测量点的曲线,有两种方法。 ?选择1: 用脚本分配变量 ?选择2: 画中画技术 两种方法都是在"Trend_Function_Main.PDL", "Trend_Function_1.PDL" 和 "Trend_Function_2.PDL" 画面中实现的。这几个画面可以在例子中找到。 准备: 变量“testvar1”和“testvar2”分别显示在两个在线控件Trend 1 和Trend 2 中。 No.步骤 1 在变量记录中,新建过程值归档“TestArchive”。 2 在归档中建立相应的变量归档(testvar1 and testvar2)。

Fig. 01 选择1:WinCC V7.0 中脚本分配变量 在本例中,WinCC 在线趋势控件的名称为“Control1”。另外,建立了两个趋势,但是并没有分配给某个变量。分配由VBS 脚本或C 脚本完成。VBS 和C 脚本在文件 “M1_button_assign_tag.txt”中。 No.步骤 1 将WinCC 在线趋势控件组态为显示最多趋势。 2 组态一个按钮(在对象选项板中选择“标准”〉“窗口对象”〉“按钮”)。 3 右键按钮选择属性,选择“事件”〉“按钮”〉“鼠标”。 4 右键“鼠标动作”对应的闪电符号,选择VBS 动作。 5 通过如下脚本,创建一个对象(如“objCon1”)(C 脚本不需要创建对象) Dim objCon1

如何使用C 或VBS 脚本通过新变量提供WinCC 在线趋势控件的单个趋势? 显示订货号 说明: 例如,在初始条件下,过程值归档"TestArchive" 中的变量"testvar1" 被分配给趋势控件的曲线1(图01)。 图. 01 C 脚本: 现在按下面的步骤利用C 脚本将过程值归档中的变量"testvar2" 分配给趋势控件的曲线1。No.步骤

相关文档