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日
下一篇 2019年6月11日

相关推荐

  • WinCC输入输出域边框凹陷设置

    WinCC输入输出域,矩形等对象的边框如何设置成凹陷样式,如图片中那样 图片说明:    钻石用户推荐最佳答案 将“输入/输出域”的边框颜色改为白色,然后画两条…

    2021年7月5日
  • Wincc VBA创造图标后如何对图标增加鼠标事件

    我通过Wincc 里面的VBA可以通过代码绘制一个圆也可以对通过其对一个属性增加一个VBA代码。但是无法对圆的鼠标事件。增加代码。如下(创造圆和对半径增加事件如下)&nb…

    2021年7月5日
  • 键盘的键值

    有谁知道,wincc中键盘每一个键对应的键值是多少?我只知道空格的键值的VK_space 问题补充:那键盘对应的字母键的值有没有? 最佳答案 ESC键  &nb…

    SIMATIC WinCC 2019年6月11日
  • 过程变量属性

    各位大神:wincc v7.4 vbs脚本如何获取过程变量的OS范围值上下限 问题补充:各位老大:对原问题补充如下:在“变量属性”中有“线性标定”选项,其中“A…

    SIMATIC WinCC 2021年7月5日
  • wincc中HMI符号库问题

    我的wincc6.2中的HMI符号库是1.3版本的,但是我打开别人的工程中的图形时显示的符号库是1.4.1的,这个是怎么回事呢?谢谢解答! 问题补充:我的版本是SP2亚洲版的,那什…

    SIMATIC WinCC 2019年6月11日
  • wincc报警系统显示进度条不显示就绪,每次启动运行系统显示找不到指定文件

    wincc报警系统显示进度条不显示就绪,每次启动运行系统显示找不到指定文件,每次退出组态系统秒关,但是不能再次打开,需要reset_wincc,请大神解答 图片说明:  …

    2021年7月5日
  • wincc v5.1的在线趋势曲线时间为何是这样?

    如图显示,调整时间范围也没用,有时趋势和时间显示正常时工艺参数返回后干脆什么都不显示,请问这是什么回事,该如何解决,谢谢了。 图片说明:    最佳答案 你的系…

    2017年6月10日
  • 如何编写wincc 按钮的vbs脚本

    新手wincc画面设置一个i/o域和一个按钮。设置一个内部变量a,与wincc画面设置的i/o连接;外部变量b,通过dde与excel的r1c1连接。在wincc画面的i/o中输入…

    SIMATIC WinCC 2019年6月11日
  • wincc 若干画面依次自动切换

    wincc 这页面中,中间是做了一个画面窗口——画面窗口1。 通过最下面的那妞, 在这个画面窗口里切换十个界面。我现在要做一个效果,我不点选任何按钮时…

    SIMATIC WinCC 2017年8月3日
  • 上位画面的绘制

    上位画面如果用自带图形库里的画有点对不起自己,但自己画的话总觉得绘图工具太少,很费时间,请问画面能不能从Autocad这样的程序里直接调用呢 最佳答案 用图库为什么对不起自己呢,没…

    SIMATIC WinCC 2019年6月11日