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

相关推荐

  • WinCC中用VBS做保存文件对话框的问题

    想用以下这段代码做保存文件对话框,结果点击没反应,可是用.showopen方法做打开对话框是好使的,.showsave就不行。请教问题出在哪?Sub OnClick(By…

    SIMATIC WinCC 2019年6月11日
  • WINCC WEB 发布求指导

    WINCC WEB NAVIGATOR 都设置完后,用IE登陆服务器IP,会弹出来登陆框,明明账户密码都没错,登陆框一直存在,登录不上去啊。下午刚开始…

    SIMATIC WinCC 2017年10月29日
  • wincc6.2 做冗余服务器结构

    各位大侠好,现在我有两台服务器,我要做冗余服务器结构,我想问一下,对软件和服务器硬件有什么要求么?服务器的操作系统安装xp2可以么? 最佳答案 1)即是当服务器用,硬件配置当然越高…

    SIMATIC WinCC 2019年6月10日
  • 1500的屏型号找不到

    精致面板1500的屏,在播图中只有X0的型号,没有X1的型号,6AV2 124-0QC02-0AX0,6AV2 124-0QC02-0AX1 问题补充:在博图V…

    SIMATIC WinCC 2021年7月5日
  • WINCC项目快捷方式

    WINCC桌面项目快捷方式激活运行如何实现 最佳答案 如何组态 WinCC 自动启动?https://support.industry.siemens.com/…

    SIMATIC WinCC 2021年7月5日
  • 关于wincc和支持modbus通信协议的仪表的通信

    先有一个仪表,只支持modbus通信协议。现在我想和它通信,从表中调数据,存到SQL,然后可以查询。该怎么实现。我的wincc v6.2,没有modbus驱动。 问题补充…

    SIMATIC WinCC 2019年6月11日
  • 请问大家为什么wincc总是报连不上授权服务器?

    Simatic wincc licence server已经是在运行,并且在自动模式,为什么WINCC老是报could not e…

    2021年7月5日
  • 关于wincc

    请问WINCC的硬拷贝是什么意思,具体怎么执行 最佳答案 硬拷贝是将当前画面的拷贝输出到打印机上。在画面编辑器中定义一个按钮并选中,双击“动态向导”中的Hardcopy,按照向导的…

    SIMATIC WinCC 2019年6月11日
  • wincc选件

    请问一下wincc6.0 sp2用户归档在DEMO模式能不能进行数据归档和查询?用户归档授权是不是要单独买?脚本选件是不是要单独买还是光盘就自带了? 问题补充:用户归档其…

    SIMATIC WinCC 2019年6月11日
  • GraCS中的文件

    在wincc工程中GraCS文件夹中,sav文件是不是上次备份文件 ,删除之后没有问题吧? pdd,dat。GRACS中只保留Pdl类型的文件,有没有问题? 问…

    SIMATIC WinCC 2019年6月11日