WINCC關(guān)于自定義對(duì)象和C腳本的一些問(wèn)題
劉玉蓉
發(fā)布于2014-10-10 16:53
5
0
標(biāo)簽:
這的WINNCC畫面里有個(gè)對(duì)象,在對(duì)象屬性中顯示自定義對(duì)象,畫的就是一個(gè)類似于刀閘開關(guān)的東西,功能是實(shí)現(xiàn)手自動(dòng)切換,當(dāng)點(diǎn)擊對(duì)象時(shí),開關(guān)朝上,表示手動(dòng),再點(diǎn)擊一次開關(guān)朝下,表示自動(dòng),并通過(guò)“事件”中的鼠標(biāo)動(dòng)作鏈接C腳本將變量對(duì)應(yīng)的置0或1,請(qǐng)問(wèn)是如何實(shí)現(xiàn)的,C腳本各行是什么意思,以及什么是自定義對(duì)象?C程序如下:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#include "trigger.h"
BOOL value;
LINKINFO plink;
PDLRTGetPropEx(0,lpszPictureName,lpszObjectName,"Toggle",VT_BOOL,&value,NULL,NULL,0,NULL,NULL);
if(value) value =FALSE;
else value = TRUE;
if (PDLRTGetLink(0,lpszPictureName,lpszObjectName,"Toggle",&plink,NULL,NULL,NULL))
{
if ((plink.LinkType >BUBRT_LT_VARIABLE_INDIRECT) || (plink.LinkType < BUBRT_LT_VARIABLE_DIRECT)) return;
else
{
PDLRTGetLink(0,lpszPictureName,lpszObjectName,"Toggle",&plink,NULL,NULL,NULL);
SetTagBit (plink.szLinkName,(short int) value);
}
}
}
圖片說(shuō)明: 1,自定義對(duì)象
佳答案
1、自定義對(duì)象就是利用基本對(duì)象組成的可自定義屬性的新對(duì)象。
2、你腳本中用到的函數(shù) PDLRTGetPropEx 、 PDLRTGetLink 及數(shù)據(jù)類型均在頭文件 trigger.h 中聲明。非通用函數(shù),沒有說(shuō)明的話難以知道具體參數(shù)含義。
3、大體上, PDLRTGetPropEx 用于獲取該自定義對(duì)象狀態(tài)對(duì)應(yīng)變量的當(dāng)前值,再取反; PDLRTGetLink 用于獲取自定對(duì)象的變量連接類型,再賦值給變量。