admin 管理员组文章数量: 887109
2024年1月10日发(作者:object object怎么解决)
WinCC C函数详解
GetFontSize函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Static Text1”是该对象的名称。
1). 读出当前字体大小和fontsize中的缓冲区。
2). 执行处理返回值的自定义代码。
2. long int GetAlignmentTop(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,定义垂直文本对齐(上对齐、居中、下对齐)。
读出字体大小的实例
{
long int fontsize;
//获得实际字体大小 fontsize
= GetFontSize(lpszPictureName,"Static Text 1");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetFontSize函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Static Text1”是该对象的名称。
3. BOOL GetFontBold(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,定义字体样式是否为“粗体字”。
读出静态文本域的布尔型属性的实例
{
BOOL bbold;
//了解文本是否是粗体字 bbold
= GetFontBold(lpszPictureName,"Static Text 1");
if(bbold)
{
// 自定义代码
// 字体是否是粗体字
...
}
else
{
// 自定义代码
// 字体是否不是粗体字
...
}
}
GetFontBold函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Static Text1”是该对象的名称。
4. char* GetText(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,为对象,例如静态文本、复选框和单选框,指定“文本”属性的数值。
读出文本的实例
{
char* pszValue = NULL;
char szValue[13];
//获得实际设置的文本 pszValue
= GetText(lpszPictureName," Static Text 1");
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,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetLeft函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
1). 读出对象的当前X轴位置以及lPos中的缓冲区。
2). 执行处理返回值的自定义代码。
2. long int GetActualPointTop(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,指定多边形或折线中当前顶点的Y轴数值。
读出对象位置的实例
{
long lPos;
//获得对象的Y轴位置 lPos
= GetTop(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
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,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetHeight函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
1). 读出对象的当前高度以及lHeight中的缓冲区。
2). 执行处理返回值的自定义代码。
10. long int GetLeft(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,定义构成对象的矩形左上角的X轴位置。
读出对象位置的实例
{
long lPos;
//获得对象的X轴位置 lPos
= GetLeft(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetLeft函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
11. long int GetPointCount(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,指定多边形或折线的角的数量。
12. long int GetRadius(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName);
函数,定义圆、部分圆或圆弧的半径。
读出对象位置的实例
{
long lHeight;
//获得对象的高度 lHeight
= GetHeight(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetHeight函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
1). 读出对象的当前高度以及lHeight中的缓冲区。
2). 执行处理返回值的自定义代码。
13. long int GetRadiusHeight(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,指定椭圆、部分椭圆或椭圆弧的垂直半径。
读出对象位置的实例
{
long lHeight;
//获得对象的高度 lHeight
= GetHeight(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
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,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
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,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetHeight函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
19. long int GetTop(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,指定构成对象的矩形左上角的Y轴位置。
读出对象位置的实例
{
long lPos;
//获得对象的Y轴位置 lPos
= GetTop(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetTop函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
20. long int GetWidth(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,指定构成对象的矩形的宽度。
读出对象位置的实例
{
long lWidth;
//获得对象的宽度 lWidth
= GetWidth(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetWidth函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“WinCCLogo”是该对象的名称。
21. long int GetZeroPoint(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,使用棒图对象时,它显示零点。
读出对象位置的实例
{
long lHeight;
//获得对象的高度 lHeight
= GetHeight(lpszPictureName,"WinCCLogo");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
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,"IO Field 1");
if(bHiddenInput)
{
// 自定义代码
// 隐藏输入是否被激活
...
}
else
{
// 自定义代码
// 隐藏输入是否被取消激活
...
}
}
GetHiddenInput函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“IO Field1”是该对象的名称。
1). 读出文本是否是粗体字以及bHiddenInput中的缓冲区。
2). 根据该函数的返回值执行自定义代码。
5. BOOL GetClearOnError(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,使用I/O域时,它指定错误输入后是否激活删除内容。
6. long int GetDataFormat(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,对于I/O域,它指定域内容的数据类型。
读出布尔型属性的实例
{
BOOL bHiddenInput;
//获得隐藏输入的状态 bHiddenInput
= GetHiddenInput(lpszPictureName,"IO Field 1");
if(bHiddenInput)
{
// 自定义代码
// 隐藏输入是否被激活
...
}
else
{
// 自定义代码
// 隐藏输入是否被取消激活
...
}
}
GetHiddenInput函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“IO Field1”是该对象的名称。
7. BOOL GetHiddenInput(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,对于I/O域,它指定是否激活隐藏输入。
读出布尔型属性的实例
{
BOOL bHiddenInput;
//获得隐藏输入的状态 bHiddenInput
= GetHiddenInput(lpszPictureName,"IO Field 1");
if(bHiddenInput)
{
// 自定义代码
// 隐藏输入是否被激活
...
}
else
{
// 自定义代码
// 隐藏输入是否被取消激活
...
}
}
GetHiddenInput函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“IO Field1”是该对象的名称。
8. double GetInputValueDouble(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,对于I/O域,它定义数据类型为“双精度型”的输入值。
9. long int GetListType(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)
函数,指定“文本列表”对象的列表类型。
读出布尔型属性的实例
{
BOOL bHiddenInput;
//获得隐藏输入的状态 bHiddenInput
= GetHiddenInput(lpszPictureName,"IO Field 1");
if(bHiddenInput)
{
// 自定义代码
// 隐藏输入是否被激活
...
}
else
{
// 自定义代码
// 隐藏输入是否被取消激活
...
}
}
GetHiddenInput函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“IO Field1”是该对象的名称。
10. long int GetNumberLines(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,指定“文本列表”对象的可见行数。
读出布尔型属性的实例
{
BOOL bHiddenInput;
//获得隐藏输入的状态 bHiddenInput
= GetHiddenInput(lpszPictureName,"IO Field 1");
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,"Bar 1");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetAlarmHigh函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Bar1”是该对象的名称。
1). 读出报警上限和dAlarmHigh中的缓冲区。
2). 执行处理返回值的自定义代码。
2. double GetAlarmLow(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,使用棒图对象时,它指出报警下限。
读出数字值的实例
{
double dAlarmHigh;
//获得报警上限 dAlarmHigh
= GetAlarmHigh(lpszPictureName,"Bar 1");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetAlarmHigh函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Bar1”是该对象的名称。
3. BOOL GetCheckAlarmHigh(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定是否监控报警上限。
读出布尔型属性的实例
{
BOOL bmarker;
//获得该标记的状态 bmarker
= GetMarker(lpszPictureName,"Bar 1");
if(bmarker)
{
// 自定义代码
// 标记是否被激活
...
}
else
{
// 自定义代码
// 标记是否被取消激活
...
}
}
GetMarker函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Bar1”是该对象的名称。
4. BOOL GetCheckLimitHigh4(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,使用棒图对象时,它指定是否监控上限值Reserve 4。
读出布尔型属性的实例
{
BOOL bmarker;
//获得该标记的状态 bmarker
= GetMarker(lpszPictureName,"Bar 1");
if(bmarker)
{
// 自定义代码
// 标记是否被激活
...
}
else
{
// 自定义代码
// 标记是否被取消激活
...
}
}
GetMarker函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Bar1”是该对象的名称。
Link - 简短描述
使用Link组中的函数可以创建或调用变量链接属性。
1. BOOL GetLink(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName LPCTSTR lpszPropertyName, LPLINKINFO
*pLink)函数,指定对象属性的当前变量链接。
读出变量链接的实例
{
LINKINFO linkinfo;
//获得已链接的变量
GetLink(lpszPictureName,"Bar 1","Process",&linkinfo);
// Name是变量名
// e是更新周期
// pe是连接的类型
//自定义代码
//在那里用户可以使用返回值做某事
...
}
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,"Graphic Object 1");
if(bVisible)
{
// 自定义代码
// 该对象是否可见
...
}
else
{
// 自定义代码
// 该对象是否不可见
...
}
}
GetVisible函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Graphic Object 1”是该对象的名称。
2. BOOL GetAdaptPicture(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,对于画面窗口,它指定画面是否将适应窗口的大小。
读出布尔型属性的实例
{
BOOL bVisible;
//获得可见性 bVisible
= GetVisible(lpszPictureName,"Graphic Object 1");
if(bVisible)
{
// 自定义代码
// 该对象是否可见
...
}
else
{
// 自定义代码
// 该对象是否不可见
...
}
}
GetVisible函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Graphic Object 1”是该对象的名称。
3. BOOL GetAdaptSize(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)
函数,对于画面窗口,它指定是否改变窗口。
读出布尔型属性的实例
{
BOOL bVisible;
//获得可见性 bVisible
= GetVisible(lpszPictureName,"Graphic Object 1");
if(bVisible)
{
// 自定义代码
// 该对象是否可见
...
}
else
{
// 自定义代码
// 该对象是否不可见
...
}
}
GetVisible函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Graphic Object 1”是该对象的名称。
4. BOOL GetAverage(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,对于棒图对象,指定是否激活平均值计算。
读出布尔型属性的实例
{
BOOL bVisible;
//获得可见性 bVisible
= GetVisible(lpszPictureName,"Graphic Object 1");
if(bVisible)
{
// 自定义代码
// 该对象是否可见
...
}
else
{
// 自定义代码
// 该对象是否不可见
...
}
}
GetVisible函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Graphic Object 1”是该对象的名称。
5. BOOL GetCaption(LPCTSTR lpszPictureName, LPCTSTR
lpszObjectName)函数,指定画面或应用程序窗口是否有标题。
读出布尔型属性的实例
{
BOOL bVisible;
//获得可见性 bVisible
= GetVisible(lpszPictureName,"Graphic Object 1");
if(bVisible)
{
// 自定义代码
// 该对象是否可见
...
}
else
{
// 自定义代码
// 该对象是否不可见
...
}
}
GetVisible函数参数:
“lpszPictureName”是在其中组态该对象的画面的名称。
“Graphic Object 1”是该对象的名称。
6. BOOL GetLanguageSwitch(LPCTSTR lpszPictureName,
LPCTSTR lpszObjectName)函数,使用“文本列表”对象时,它指定用一种还是多种语言组态文本列表。
读出布尔型属性的实例
{
BOOL bVisible;
//获得可见性 bVisible
= GetVisible(lpszPictureName,"Graphic Object 1");
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("gs_tag_bit",&dwstate);
//创建包含该变量值的字符串
if (bValue)
{
// 自定义代码
// 该变量的数值是否是true
...
}
else
{
// 自定义代码
// 该变量的数值是否是false
...
}
}
GetTagBitStateWait函数参数:
“gs_tag_bit”是该变量的名称。
“&dwstate”是应在其中存储变量状态的变量地址。
1). 读出该变量值以及bstate中的缓冲区。 该函数将变量状态存储在dwstate中。
2). 根据该函数的返回值执行自定义代码。
WinCC简短描述
使用来自WinCC组的函数可以在运行系统中定义各种设置。
使用System子组中的函数可以操作WinCC运行系统。
1. BOOL DeactivateRTProject()函数,取消激活该项目。
取消激活WinCC运行系统的实例
{
//取消激活运行系统
DeactivateRTProject ();
}
该函数取消激活WinCC运行系统。
2. BOOL ExitWinCC()函数,终止WinCC
退出WinCC的实例
{
//退出wincc
ExitWinCC ();
}
该函数终止WinCC。
3. DWORD GetLanguage()函数,建立当前运行系统语言。
读出当前运行系统语言的实例
{
DWORD rt_language;
//获得当前语言 rt
_language = GetLanguage ();
//自定义代码
//在那里用户可以使用返回值做某事
...
}
1). 读出当前运行系统语言并缓冲存储在rt_language中。
2). 执行处理返回值的自定义代码。
4. DWORD* InquireLanguage(DWORD* dwCount)函数,建立为运行系统而在文本库中组态的全部语言。使用dwCount定义建立的语言数量应该存储在哪里。
读出已组态的运行系统语言
{
DWORD count;
DWORD* language;
int i;
//计算已安装的语言
language = InquireLanguage(&count);
printf("##################### INQUIRE
####################");
//打印输出语言的计数
printf ( "rnCount Languages=%drn", count );
//打印输出安装了哪些语言
for (i=1;i<=count; i++)
{
printf ("rn%ge=%x", i,*language++);
}
}
LANGUAGE
1). 建立为该运行系统组态的语言。这些语言ID缓冲存储在语言中。语言的数量缓冲存储在计数中。
2). 发出已建立的语言的数量。
3).显示所有已建立的语言ID。
5. BOOL SetLanguage(DWORD dwLocaleID)函数,改变运行系统中的语言设置。
定义运行系统语言的实例
{
//德语
SetLanguage(0x0407);
}
该运行系统语言被设置为德语。
6. void FillDiagnoseInTags(BOOL bfill)函数,激活或取消激活在变量中存储诊断信息。由于填充变量表示附加系统负载,只应为了诊断信息才激活它。
7. void GetServerTagPrefix(char** ppszServerPrefix, char**
ppszTagPrefix, char** ppszWindowPrefix)函数,为了从分布式系统中的多客户机访问相关服务器中的变量,必须通过添加服务器前缀和变量前缀来扩展变量名。如果使用函数GetTagxx或SetTagxx访问
变量,该动作控件提供必要的扩展名。如果WinCC API函数被用来获得访问,必须由用户扩展变量名。在这种情况下,GetServerTagPrefix函数提供必要的前缀。
分别为服务器前缀、变量前缀和窗口前缀返回一个“字符”类型的指针。
用户既不修改(不包括strcat)也不释放存储器。
读出服务器前缀的实例
{
char* pszServerPrefix;
char* pszTagPrefix;
char* pszWindowPrefix;
//获得服务器前缀和变量前缀 GetServerTagPrefix
(&pszServerPrefix, &pszTagPrefix, &pszWindowPrefix);
//自定义代码
//在那里用户可以使用返回值做某事
...
}
GetServerTagPrefix函数参数:
“pszServerPrefix”是在其中写入服务器前缀的变量。
“pszTagPrefix”是在其中写入变量前缀的变量。
“pszWindowPrefix”是在其中写入窗口前缀的变量。
1). 读出服务器前缀、变量前缀和窗口前缀。
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("No server prefix was returned.");
return;
}
//是否存在变量前缀
if (pszTagPrefix)
{
//获得该字符串的长度
nTagPrefixLen = strlen(pszTagPrefix);
}
//获得该变量的长度
nTagLen = strlen("TagName");
//检查长度
//ServerPrefix+TagPrefix+VarName + the double points <
MAX_DM_VAR_NAME
if (nServerPrefixLen + nTagPrefixLen + nTagLen+2 <
MAX_DM_VAR_NAME)
{
sprintf(myTagName,"%s::%s%s",pszServerPrefix,pszTagPrefix,"TagName");
//自定义代码
//在那里用户可以使用返回值做某事
...
}
else
{
printf("The resulting string is too long.");
return;
}
}
1). 初始化myTagName变量。
2). 读出服务器前缀、变量前缀和窗口前缀。
3). 如果未返回服务器前缀,发出文本,并且该函数被终止。
4). 如果返回服务器前缀,建立其长度并将其存储在nServerPrefixLen中。
5). 如果返回变量前缀,建立其长度并将其存储在nTagPrefixLen中。
6). 确定变量名的长度和nVarLen中的缓冲区。
7). 如果变量名的长度太长,发出文本,并且该函数被终止。
8). 如果变量名的长度不太长,组成多客户机环境要求的变量名。
9). 执行处理返回值的自定义代码。
8. void TraceText(DWORD dwTraceLevel, char* pszFormat,
9. void TraceTime(DWORD dwTraceLevel, char* pszFormat,
版权声明:本文标题:WinCC C函数详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1704854028h464416.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论