WINCC关于自定义对象和C脚本的一些问题

我这的WINNCC画面里有个对象,在对象属性中显示自定义对象,画的就是一个类似于刀闸开关的东西,功能是实现手自动切换,当点击对象时,开关朝上,表示手动,再点击一次开关朝下,表示自动,并通过“事件”中的鼠标动作链接C脚本将变量对应的置0或1,请问是如何实现的,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);
   }
}
}

图片说明:

WINCC关于自定义对象和C脚本的一些问题   

最佳答案

1、自定义对象就是利用基本对象组成的可自定义属性的新对象。
2、你脚本中用到的函数 PDLRTGetPropEx 、 PDLRTGetLink 及数据类型均在头文件 trigger.h 中声明。非通用函数,没有说明的话难以知道具体参数含义。
3、大体上, PDLRTGetPropEx 用于获取该自定义对象状态对应变量的当前值,再取反; PDLRTGetLink 用于获取自定对象的变量连接类型,再赋值给变量。

提问者对于答案的评价:
已经解决了,谢谢,其实就是库立的一个Toggle。脚本也是自己生成的!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc264327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:54
下一篇 2019年6月11日 上午2:54

相关推荐