WINCC關(guān)于自定義對象和C腳本的一些問題
劉玉蓉
發(fā)布于2014-10-09 15:30
72
0
標(biāo)簽:
這的WINNCC畫面里有個(gè)對象,在對象屬性中顯示自定義對象,畫的就是一個(gè)類似于刀閘開關(guān)的東西,功能是實(shí)現(xiàn)手自動(dòng)切換,當(dāng)點(diǎn)擊對象時(shí),開關(guān)朝上,表示手動(dòng),再點(diǎn)擊一次開關(guān)朝下,表示自動(dòng),并通過“事件”中的鼠標(biāo)動(dòng)作鏈接C腳本將變量對應(yīng)的置0或1,請問是如何實(shí)現(xiàn)的,C腳本各行是什么意思,以及什么是自定義對象?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);
}
}
}
圖片說明: 1,自定義對象
佳答案
1、自定義對象就是利用基本對象組成的可自定義屬性的新對象。
2、你腳本中用到的函數(shù) PDLRTGetPropEx 、 PDLRTGetLink 及數(shù)據(jù)類型均在頭文件 trigger.h 中聲明。非通用函數(shù),沒有說明的話難以知道具體參數(shù)含義。
3、大體上, PDLRTGetPropEx 用于獲取該自定義對象狀態(tài)對應(yīng)變量的當(dāng)前值,再取反; PDLRTGetLink 用于獲取自定對象的變量連接類型,再賦值給變量。