WinCC C函数详解

更新时间:2023-12-04 17:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

WinCC C函数详解 GetFontSize函数参数:

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

1). 读出当前字体大小和fontsize中的缓冲区。 2). 执行处理返回值的自定义代码。

2. long int GetAlignmentTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义垂直文本对齐(上对齐、居中、下对齐)。 读出字体大小的实例 {

long int fontsize;

//获得实际字体大小 fontsize

= GetFontSize(lpszPictureName,\ //自定义代码

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

GetFontSize函数参数:

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

3. BOOL GetFontBold(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义字体样式是否为“粗体字”。 读出静态文本域的布尔型属性的实例 {

BOOL bbold;

//了解文本是否是粗体字 bbold

= GetFontBold(lpszPictureName,\ if(bbold) {

// 自定义代码 // 字体是否是粗体字 ... } else {

// 自定义代码 // 字体是否不是粗体字 ... } }

GetFontBold函数参数:

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

4. char* GetText(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,为对象,例如静态文本、复选框和单选框,指定“文本”属性的数值。 读出文本的实例 {

char* pszValue = NULL; char szValue[13];

//获得实际设置的文本 pszValue

= GetText(lpszPictureName,\ if(pszValue != NULL) {

//复制字符串

strncpy(szValue,pszValue,12); }

//自定义代码

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

GetText函数参数:

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

5. long int GetLayer(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定该对象所在的画面层。 参数lpszPictureName 画面名lpszObjectName

Geometry - 简短描述

使用Geometry组中的函数可以修改或调用对象的大小、位置和其它几何属性。

1. long int GetActualPointLeft(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定多边形或折线中当前位置的X轴数值。

读出对象位置的实例 {

long lPos;

//获得对象的X轴位置 lPos

= GetLeft(lpszPictureName,\

//自定义代码

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

GetLeft函数参数:

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

1). 读出对象的当前X轴位置以及lPos中的缓冲区。 2). 执行处理返回值的自定义代码。

2. long int GetActualPointTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定多边形或折线中当前顶点的Y轴数值。

读出对象位置的实例 {

long lPos;

//获得对象的Y轴位置 lPos

= GetTop(lpszPictureName,\

//自定义代码

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

}

GetTop函数参数:

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

3. long int GetBoxCount(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定复选框和单选框的数字域。 参数lpszPictureName 画面名lpszObjectName

4. long int GetDirection(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指出棒图的方向。 参数lpszPictureName 画面名lpszObjectName

5. long int GetEndAngle(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)

函数,指定部分圆和部分椭圆以及圆弧和椭圆弧的结束角度。

6. BOOL GetGrid(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定是否在图形编辑器的图形域中激活网格。

7. long int GetGridHeight(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定在图形编辑器的图形域中网格的高度。

8. long int GetGridWidth(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定在图形编辑器的图形域中网格的宽度。

9. long int GetHeight(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定构成对象的矩形的高度。 读出对象位置的实例 {

long lHeight;

//获得对象的高度 lHeight

= GetHeight(lpszPictureName,\ //自定义代码

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

GetHeight函数参数:

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

“WinCCLogo”是该对象的名称。

1). 读出对象的当前高度以及lHeight中的缓冲区。 2). 执行处理返回值的自定义代码。

10. long int GetLeft(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义构成对象的矩形左上角的X轴位置。 读出对象位置的实例 {

long lPos;

//获得对象的X轴位置 lPos

= GetLeft(lpszPictureName,\ //自定义代码

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

GetLeft函数参数:

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

11. long int GetPointCount(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定多边形或折线的角的数量。

12. long int GetRadius(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName);

函数,定义圆、部分圆或圆弧的半径。 读出对象位置的实例 {

long lHeight;

//获得对象的高度 lHeight

= GetHeight(lpszPictureName,\

//自定义代码

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

GetHeight函数参数:

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

1). 读出对象的当前高度以及lHeight中的缓冲区。 2). 执行处理返回值的自定义代码。

13. long int GetRadiusHeight(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定椭圆、部分椭圆或椭圆弧的垂直半径。

读出对象位置的实例 {

long lHeight;

//获得对象的高度 lHeight

= GetHeight(lpszPictureName,\ //自定义代码

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

GetHeight函数参数:

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

14. long int GetRadiusWidth(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定椭圆、部分椭圆或椭圆弧的水平半径。

15.

long

int

GetReferenceRotationLeft(LPCTSTR

lpszPictureName, LPCTSTR lpszObjectName)函数,使用线、多边形和折线时,它指定旋转位置(围绕其旋转对象的中心坐标轴)的X轴数值。

读出对象位置的实例

{

long lPos;

//获得对象的X轴位置 lPos

= GetLeft(lpszPictureName,\ //自定义代码

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

GetLeft函数参数:

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

16.

long

int

GetReferenceRotationTop(LPCTSTR

lpszPictureName, LPCTSTR lpszObjectName)函数,使用线、多边形和折线时,它指定旋转位置(围绕其旋转对象的中心坐标轴)的Y轴数值。

17. long int GetRotationAngle(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,定义围绕中心坐标轴旋转线、多边形和折线的角度。

18. long int GetStartAngle(LPCTSTR lpszPictureName,

LPCTSTR lpszObjectName)函数,指定部分圆和部分椭圆以及圆弧和椭圆弧的起始角度。 读出对象位置的实例 {

long lHeight;

//获得对象的高度 lHeight

= GetHeight(lpszPictureName,\ //自定义代码

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

GetHeight函数参数:

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

19. long int GetTop(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定构成对象的矩形左上角的Y轴位置。 读出对象位置的实例 {

long lPos;

//获得对象的Y轴位置 lPos

= GetTop(lpszPictureName,\

//自定义代码

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

GetTop函数参数:

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

20. long int GetWidth(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定构成对象的矩形的宽度。 读出对象位置的实例 {

long lWidth;

//获得对象的宽度 lWidth

= GetWidth(lpszPictureName,\ //自定义代码

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

GetWidth函数参数:

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

21. long int GetZeroPoint(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它显示零点。 读出对象位置的实例 {

long lHeight;

//获得对象的高度 lHeight

= GetHeight(lpszPictureName,\ //自定义代码

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

GetHeight函数参数:

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

i_o - 简短描述

使用i_o组中的函数可以修改或调用影响输入和输出值的各种属性。

1.

char*

GetAssignments(LPCTSTR

lpszPictureName,

LPCTSTR lpszObjectName)函数,对于列表,分配文本给数值范围

2. BOOL GetAssumeOnExit(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用I/O域时,它指定退出该域时是否应用输入的数值。

3. BOOL GetAssumeOnFull(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用I/O域时,它指定完成输入时是否应用输入的数值。

4. long int GetBitNumber(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用列表类型“位”时,它指定输出值中相关的位。

读出布尔型属性的实例 {

BOOL bHiddenInput;

//获得隐藏输入的状态 bHiddenInput

= GetHiddenInput(lpszPictureName,\ if(bHiddenInput) {

// 自定义代码 // 隐藏输入是否被激活 ...

// 隐藏输入是否被激活 ... } else {

// 自定义代码

// 隐藏输入是否被取消激活 ... } }

GetHiddenInput函数参数:

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

11. char* GetOutputFormat(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,对于I/O域,它指定输出格式。

12. char* GetOutputValueChar(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,对于I/O域,它建立数据类型为“字符”的输出值。当I/O域的内容为数据类型“字符串”时,才使用该函数。

Limits - 简短描述

使用Limits组中的函数可以修改或调用影响限值的各种属性。

1.

double

GetAlarmHigh(LPCTSTR

lpszPictureName,

LPCTSTR lpszObjectName)函数,使用棒图对象时,它指出报警上限。

读出数字值的实例 {

double dAlarmHigh;

//获得报警上限 dAlarmHigh

= GetAlarmHigh(lpszPictureName,\ //自定义代码

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

GetAlarmHigh函数参数:

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

1). 读出报警上限和dAlarmHigh中的缓冲区。 2). 执行处理返回值的自定义代码。

2. double GetAlarmLow(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指出报警下限。

读出数字值的实例 {

double dAlarmHigh; //获得报警上限 dAlarmHigh

= GetAlarmHigh(lpszPictureName,\ //自定义代码

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

GetAlarmHigh函数参数:

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

3. BOOL GetCheckAlarmHigh(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定是否监控报警上限。

读出布尔型属性的实例 {

BOOL bmarker;

//获得该标记的状态 bmarker

= GetMarker(lpszPictureName,\

if(bmarker) {

// 自定义代码 // 标记是否被激活 ... } else {

// 自定义代码 // 标记是否被取消激活 ... } }

GetMarker函数参数:

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

4. BOOL GetCheckLimitHigh4(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定是否监控上限值Reserve 4。 读出布尔型属性的实例 {

BOOL bmarker;

//获得该标记的状态 bmarker

= GetMarker(lpszPictureName,\ if(bmarker) {

// 自定义代码 // 标记是否被激活 ... } else {

// 自定义代码 // 标记是否被取消激活 ... } }

GetMarker函数参数:

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

Link - 简短描述

使用Link组中的函数可以创建或调用变量链接属性。

1. BOOL GetLink(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName LPCTSTR lpszPropertyName, LPLINKINFO *pLink)函数,指定对象属性的当前变量链接。 读出变量链接的实例 {

LINKINFO linkinfo; //获得已链接的变量

GetLink(lpszPictureName,\ // linkinfo.szLinkName是变量名 // linkinfo.dwCycle是更新周期 // linkinfo.LinkType是连接的类型 //自定义代码

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

GetLink函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Bar1”是该对象的名称。 “Process”是链接到变量的属性。 “&linkinfo”是结构linkinfo的地址。

1). 用该变量链接上的信息填充传送的linkinfo结构。 2). 根据该函数的返回值执行自定义代码。

Miscs - 简短描述

使用Miscs组中的函数可以修改或调用对象的属性。

1.

BOOL

GetAdaptBorder(LPCTSTR

lpszPictureName,

LPCTSTR lpszObjectName)

函数,对于静态文本、I/O域、复选框和单选框,它指定域边框是否将动态适应文本的大小。 读出布尔型属性的实例 {

BOOL bVisible; //获得可见性 bVisible

= GetVisible(lpszPictureName,\ if(bVisible) {

// 自定义代码 // 该对象是否可见 ... } else {

// 自定义代码 // 该对象是否不可见

... } }

GetVisible函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Graphic Object 1”是该对象的名称。

2.

BOOL

GetAdaptPicture(LPCTSTR

lpszPictureName,

LPCTSTR lpszObjectName)函数,对于画面窗口,它指定画面是否将适应窗口的大小。 读出布尔型属性的实例 {

BOOL bVisible; //获得可见性 bVisible

= GetVisible(lpszPictureName,\ if(bVisible) {

// 自定义代码 // 该对象是否可见 ... } else

{

// 自定义代码 // 该对象是否不可见 ... } }

GetVisible函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Graphic Object 1”是该对象的名称。

3. BOOL GetAdaptSize(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)

函数,对于画面窗口,它指定是否改变窗口。 读出布尔型属性的实例 {

BOOL bVisible; //获得可见性 bVisible

= GetVisible(lpszPictureName,\ if(bVisible) {

// 自定义代码

// 该对象是否可见 ... } else {

// 自定义代码 // 该对象是否不可见 ... } }

GetVisible函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Graphic Object 1”是该对象的名称。

4. BOOL GetAverage(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,对于棒图对象,指定是否激活平均值计算。 读出布尔型属性的实例 {

BOOL bVisible; //获得可见性 bVisible

= GetVisible(lpszPictureName,\ if(bVisible)

{

// 自定义代码 // 该对象是否可见 ... } else {

// 自定义代码 // 该对象是否不可见 ... } }

GetVisible函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Graphic Object 1”是该对象的名称。

5. BOOL GetCaption(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,指定画面或应用程序窗口是否有标题。 读出布尔型属性的实例 {

BOOL bVisible; //获得可见性 bVisible

= GetVisible(lpszPictureName,\ if(bVisible) {

// 自定义代码 // 该对象是否可见 ... } else {

// 自定义代码 // 该对象是否不可见 ... } }

GetVisible函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Graphic Object 1”是该对象的名称。

6. BOOL GetLanguageSwitch(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName)函数,使用“文本列表”对象时,它指定用一种还是多种语言组态文本列表。 读出布尔型属性的实例

{

BOOL bVisible; //获得可见性 bVisible

= GetVisible(lpszPictureName,\ if(bVisible) {

// 自定义代码 // 该对象是否可见 ... } else {

// 自定义代码 // 该对象是否不可见 ... } }

GetVisible函数参数:

“lpszPictureName”是在其中组态该对象的画面的名称。 “Graphic Object 1”是该对象的名称。

SET启动

1. BOOL OpenHomePicture()函数, 打开定义的启动画面。

2. BOOL OpenNextPicture()函数

WinCC存储用户在运行时打开的画面的名称以及打开画面的顺序。

在“画面缓冲区大小”下面的计算机属性标签控件“图形运行系统”中的WinCC资源管理器内,可以定义用此方式所能存储的画面名的最大数目。

OpenNextPicture函数打开由OpenPrevPicture函数打开的最后一个画面。

3. BOOL OpenPrevPicture()函数,WinCC存储用户在运行时打开的画面的名称以及打开画面的顺序。

在“画面缓冲区大小”下面的计算机属性标签控件“图形运行系统”中的WinCC资源管理器内,可以定义用此方式所能存储的画面名的最大数目。

OpenPrevPicture函数打开当前画面的前一个画面。

4. BOOL OpenStoredPicture()函数,打开使用Store Picture函数存储的画面。

5. BOOL StorePicture()函数,存储当前画面;存储后,使用OpenStoredPicture函数可以打开该画面。

tag - 简短描述

使用来自Tag组的函数可以设置或调用变量。

1. BOOL GetTagBitStateWait(Tag Tag_Name, PDWORD lp_dwstate)函数,

建立数据类型“二进制变量”的过程变量的数值。直接从PLC读取该数值。 也返回变量的状态。 读出二进制类型变量的实例 {

DWORD dwstate; BOOL bValue;

dwstate = 0xFFFFFFFF; //获得该变量值

//dwstate是变量状态 bValue

= GetTagBitStateWait(\ //创建包含该变量值的字符串 if (bValue) {

// 自定义代码

// 该变量的数值是否是true ... }

2). 返回的服务器前缀缓冲存储在pszServerPrefix中。 3). 返回的变量前缀缓冲存储在pszTagPrefix中。 4). 返回的窗口前缀缓冲存储在pszWindowPrefix中。 5). 执行处理返回值的自定义代码。 读出服务器前缀的实例 {

char* pszServerPrefix; char* pszTagPrefix; char* pszWindowPrefix; int nServerPrefixLen = 0; int nTagPrefixLen = 0; int nTagLen = 0;

char myTagName[MAX_DM_VAR_NAME+1]; //初始化返回值

memset(myTagName,0,MAX_DM_VAR_NAME + 1); //获得服务器前缀、变量前缀和窗口前缀 GetServerTagPrefix (&pszServerPrefix, &pszTagPrefix, &pszWindowPrefix); //是否存在服务器前缀 if (pszServerPrefix) {

//获得该字符串的长度

nServerPrefixLen = strlen(pszServerPrefix); }

else {

printf(\ return; }

//是否存在变量前缀 if (pszTagPrefix) {

//获得该字符串的长度

nTagPrefixLen = strlen(pszTagPrefix); }

//获得该变量的长度

nTagLen = strlen(\

//检查长度

//ServerPrefix+TagPrefix+VarName + the double points < MAX_DM_VAR_NAME

if (nServerPrefixLen + nTagPrefixLen + nTagLen+2 < MAX_DM_VAR_NAME) {

sprintf(myTagName,\agPrefix,\TagName\

//自定义代码

//在那里用户可以使用返回值做某事 ... } else {

printf(\ return; } }

1). 初始化myTagName变量。

2). 读出服务器前缀、变量前缀和窗口前缀。

3). 如果未返回服务器前缀,发出文本,并且该函数被终止。 4). 如果返回服务器前缀,建立其长度并将其存储在nServerPrefixLen中。

5). 如果返回变量前缀,建立其长度并将其存储在nTagPrefixLen中。

6). 确定变量名的长度和nVarLen中的缓冲区。

7). 如果变量名的长度太长,发出文本,并且该函数被终止。 8). 如果变量名的长度不太长,组成多客户机环境要求的变量名。 9). 执行处理返回值的自定义代码。

8. void TraceText(DWORD dwTraceLevel, char* pszFormat, )函数,达到定义的诊断标准时,在<参数>中指定的数值被记录在APDiag内。

9. void TraceTime(DWORD dwTraceLevel, char* pszFormat, )函数,达到定义的诊断标准时,在<参数>中指定的数值被记录在APDiag内。

本文来源:https://www.bwwdw.com/article/tebt.html

Top