发布时间 : 星期六 文章wincc脚本全集更新完毕开始阅读8a6962aa284ac850ad0242bc
else
{
// 自定义代码// 隐藏输入是否被取消激活 } }
——————21 tag
脚本——————
使用来自Tag组的函数可以设置或调用变量。
1. BOOL GetTagBitStateWait(Tag Tag_Name, PDWORD lp_dwstate)函数,
建立数据类型“二进制变量”的过程变量的数值。直接从PLC读取该数值。 也返回变量的状态。
读出二进制类型变量的实例 {
DWORD dwstate;
BOOL bValue;
dwstate = 0xFFFFFFFF;
//获得该变量值 //dwstate是变量状态 bValue
= GetTagBitStateWait(\创建包含该变量值的字符串 if (bValue)
{
// 自定义代码// 该变量的数值是否是true.. } else {
// 自定义代码 // 该变量的数值是否是false
} }
GetTagBitStateWait函数参数: “gs_tag_bit”是该变量的名称。
“&dwstate”是应在其中存储变量状态的变量地址。
1). 读出该变量值以及bstate中的缓冲区。 该函数将变量状态存储在dwstate中。 2). 根据该函数的返回值执行自定义代码。
——————22、Wincc
项目脚本——————
使用来自WinCC组的函数可以在运行系统中定义各种设置。 使用System子组中的函数可以操作WinCC运行系统。 1. BOOL DeactivateRTProject()函数,取消激活该项目。 取消激活WinCC运行系统的实例 {
//取消激活运行系统 DeactivateRTProject ();
}
该函数取消激活WinCC运行系统。
17
2.BOOL ExitWinCC()函数,终止WinCC
3.退出WinCC的实例 {
//退出wincc
ExitWinCC ();
}该函数终止WinCC。
WinCC组包含影响整个WinCC系统的函数。
1. BOOL GetHWDiag(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName, LPCTSTR lpProperties)函数
运行时该函数可实现诊断的直接启动,由事件触发。必须在对象上组态、运用该事件。 如果该事件发生,硬件诊断功能从关联PLC的STEP7被启动。
为了使用该功能,必须满足下列条件:
? WinCC项目,带有从其进行访问的画面,而且STEP7项目必须在同一台计算机上。 ? 必须将WinCC项目存储为STEP7项目(STEP7 Projekt\\wincproj\\WinCC Projekt)的子目录。
? 已将S7变量映射到WinCC。
2. BOOL GetHWDiagLevel(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName, LPCTSTR lpProperties, DWORD dwLevel)函数
根据在dwLevel下面指定的用户管理员功能号为激活的用户执行用户配置文件级测试。 之后,运行时诊断被直接启动并由事件触发,须在对象上组态该事件。 如果该事件发生,硬件诊断功能从关联PLC的STEP7被启动。 为了使用该功能,必须满足下列条件:
? 在WinCC中激活的用户必须有必要的用户配置文件级。
? WinCC项目,带有从其进行访问的画面,而且STEP7项目必须在同一台计算机上。 ? 必须将WinCC项目存储为STEP7项目(STEP7 Projekt\\wincproj\\WinCC Projekt)的子目录.
? 已将S7变量映射到WinCC。
3. BOOL GetKopFupAwl(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName, LPCTSTR lpProperties)函数
该函数执行WinCC Step7编辑器“KFA”的网络激活。 执行该函数,完成两项子任务:
? 建立从WinCC访问网络所需要的数据。
? 将该数据传送到Step 7并使用AUTAPI定位Step 7程序中操作数的利用点。
4. BOOL GetKopFupAwlLevel(LPCTSTR lpszPictureName, lpszObjectName,LPCTSTR lpProperties, DWORD dwLevel)函数
LPCTSTR
根据在dwLevel下面指定的用户管理员功能号为激活的用户执行用户配置文件级测试,然后访问Step 7编辑器“KFA”。
作为三项子任务执行该函数:
? 建立从WinCC进行网络访问所需要的数据。
? 在WinCC中为激活的用户执行用户配置文件级测试。
18
? 将该数据传送到Step 7并使用AUTAPI定位Step 7程序中操作数的利用点。
5. void OnDeactivateExecute()函数 终止WinCC时调用该函数。
由于它是标准函数,可以插入指令,然后执行它们。
6. void OnErrorExecute(CCAPErrorExecute ErrorExecute)函数 执行动作或函数而发生错误时由系统调用OnErrorExecute。 此函数能够确定出错的准确原因。
由系统调用该函数,并且不要求附加的调用命令。 由于包括作为标准函数的此函数,可以改变输出的类型。
7. void OnTime(CCAPTime time)函数
OnTime只能由系统调用。该函数给出所有动作的运行时间或确定哪个动作的运行时间超出了指定时间。 通过APDIAG可以激活和取消激活时间测量。
由于此函数是一个标准函数,所以可以通过修改函数代码来改变输出的类型。 结构定义CCAPTime
typedef struct {
DWORD dwCurrentThreadID; 当前线程的线程ID DWORD dwCode; 代码 BOOL bCycle; 周期/非周期
char* szApplicationName;应用程序的名称 char* szFunctionName; 函数的名称
LPVOID lpParam; 指向动作堆栈的指针 DWORD dwParamSize; 动作堆栈的大小 double dblTime;
DWORD dwFlags; 标记 } CCAPTime; 组成部分
dwCode
dwCode结构元素提供OnTime调用信息: dwCode = 113 用每个动作的时间调用
——————23、Alarm脚本——————
Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。
1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。
19
dwCode = 114 用一个动作的超时调用 dwFlags
dwFlags结构元素提供输出类型的信息: dwFlags = TRUE 结果被输出到文件中。
dwFlags = FALSE 结果被输出到诊断窗口中
使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息
AcknowledgeMessage(GetTagWord(\}
指定待确认的消息号。在本例中是从变量读取的。
2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。
使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst(\}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。
3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst(\
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。
4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息
AXC_OnBtnMsgFirst(\}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。
5.BOOL AXC_OnBtnEmergAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst(\
}
AXC_OnBtnMsgFirst函数参数:
“gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。
20