35. BOOL TlgTrendWindowPressOpenTimeSelectDlgButton(char* lpszWindowNumber)函数,打开定义显示时间段的对话框。 使用标准函数操作WinCC报警趋势的实例 {//开始/停止
TlgTrendWindowPressStartStopButton(\}
TlgTrendWindowPressStartStopButton函数参数: “TrendControl_01”是WinCC趋势控件的对象名。
36. BOOL TlgTrendWindowPressPrevButton(char* lpszWindowName)函数,在趋势窗口中显示当前显示区域前面的数据记录。显示的数据记录数量由所组态的时间范围决定。
使用标准函数操作WinCC报警趋势的实例 {//开始/停止
TlgTrendWindowPressStartStopButton(\}
TlgTrendWindowPressStartStopButton函数参数: “TrendControl_01”是WinCC趋势控件的对象名。
37. BOOL TlgTrendWindowPressPrevItemButton(char* lpszWindowName) 函数,将趋势窗口中所有趋势向后移动一个层面。后面的那个趋势将被移到前面。 使用标准函数操作WinCC报警趋势的实例 {//开始/停止
TlgTrendWindowPressStartStopButton(\}
TlgTrendWindowPressStartStopButton函数参数: “TrendControl_01”是WinCC趋势控件的对象名。
38. BOOL TlgTrendWindowPressStartStopButton(char* lpszWindowName)函数,打开或关闭趋势窗口的更新(切换功能)。 使用标准函数操作WinCC报警趋势的实例 {//开始/停止
TlgTrendWindowPressStartStopButton(\}
TlgTrendWindowPressStartStopButton函数参数: “TrendControl_01”是WinCC趋势控件的对象名。
39. BOOL TlgTrendWindowPressZoomInButton(char* lpszWindowName)函数,将打开趋势窗口中的放大镜。 只能用鼠标选择比例缩放区域。 使用标准函数操作WinCC趋势控件的实例 {//放大
TlgTrendWindowPressZoomInButton(\}
TlgTrendWindowPressZoomInButton函数参数: “TrendControl_01”是WinCC趋势控件的对象名。
40. BOOL TlgTrendWindowPressZoomOutButton(char* lpszWindowName)函数,恢复趋势窗口到缺省大小(1:1)。 使用标准函数操作WinCC报警趋势控件的实例
{// 缩小
TlgTrendWindowPressZoomOutButton(\}
TlgTrendWindowPressZoomOutButton函数参数: “TrendControl_01”是WinCC趋势控件的对象名。
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, LPCTSTR lpszObjectName,LPCTSTR lpProperties, DWORD dwLevel)函数 根据在dwLevel下面指定的用户管理员功能号为激活的用户执行用户配置文件级测试,然后访问Step 7编辑器“KFA”。 作为三项子任务执行该函数:
? ? ?
建立从WinCC进行网络访问所需要的数据。 在WinCC中为激活的用户执行用户配置文件级测试。
将该数据传送到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 dwCode = 114 dwFlags
dwFlags结构元素提供输出类型的信息: dwFlags = TRUE dwFlags = FALSE
Windows - 简短描述
Windows组包含Execute Program函数。 该函数可用来执行任何功能。
1. unsigned int Execute(char* Program_Name)函数,用指定的名称启动该程序。 从WinCC启动程序的实例 {//启动程序calc.exe
执行程序 (\}
指定带路径的文件为参数。
二、内部函数
内部函数用来画图形对象和使归档动态化,并用于项目函数、标准函数和全局脚本动作中。
结果被输出到文件中。 结果被输出到诊断窗口中 用每个动作的时间调用 用一个动作的超时调用
在整个项目中都识别内部函数。
既不能创建新的内部函数,也不能修改已存在的内部函数。 1. allocate保留和释放工作存储器空间的函数
void SysFree(void* lpFree)函数,通过SysMalloc函数释放保留的存储器区域。 参数lpFree,指向通过SysMalloc函数保留的存储器区域的指针。
2. void* SysMalloc(unsigned long int size)函数,为动作保留存储器空间。存储器区域被分配给该动作。已完成动作和已传送结果时,系统再次释放存储器。
SysFree函数可用来过早释放保留的存储器空间。 参数size,按字节计算的存储器区域的大小。
3. c_bib函数组c_bib包含来自C库的C函数
Graphics - 简短描述
使用Graphics组中的函数可以修改或调用WinCC对象的图形属性。
Axes - 简短描述
Axes组中的函数仅用于棒图对象。
该函数可用来修改或调用各种棒图对象属性。
1. BOOL GetAlignment(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指明文本在棒图的左面还是右面。 读出棒图对象的布尔型属性的实例 {
BOOL bscaling;
//获得标尺状态 bscaling
= GetScaling(lpszPictureName,\
if (bscaling) {
// 自定义代码
// 棒图对象有一个附加的标尺 ... } else {
// 自定义代码
// 棒图对象没有附加的刻度 ... } }
GetScaling函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。 “Bar1”是该对象的名称。
1). 读出棒图刻度是否可见以及bscaling中的缓冲区。