WINCC關于自定義對象和C腳本的一些問題
劉玉蓉
發(fā)布于2014-10-09 15:30
72
0
標簽:
這的WINNCC畫面里有個對象,在對象屬性中顯示自定義對象,畫的就是一個類似于刀閘開關的東西,功能是實現(xiàn)手自動切換,當點擊對象時,開關朝上,表示手動,再點擊一次開關朝下,表示自動,并通過“事件”中的鼠標動作鏈接C腳本將變量對應的置0或1,請問是如何實現(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)對應變量的當前值,再取反; PDLRTGetLink 用于獲取自定對象的變量連接類型,再賦值給變量。