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权限设置

    我想请问一下大家在作权限管理时是怎么做的,我想做一个三级权限,就是分开操作人员每个人只能在相应的权限下做修改,但一开始怎么做登陆时就弹出来用户名和密码的对话框? 最佳答案 新建一个…

    SIMATIC WinCC 2019年6月11日
  • TIA Protal v14能上传HMI程序和实现在线仿真吗

    各位大神,您们好:近期遇到一个问题,我目前手头有基于V14的程序,由于临时修改需要,PLC程序在通过离线在线对比,上传PLC程序至TIA Portal中。1.请问TP15…

    2020年11月1日
  • wincc 7.4 主画面窗口显示目标画面内的画面窗口1

    目标画面内有画面窗口1,画面窗口2,。主画面有按钮1,按钮2,按下按钮1 ,主画面窗口显示目标画面的画面窗口1,按下按钮2,主画面窗口显示目标画面的画面窗口2,这个怎么实…

    SIMATIC WinCC 2021年7月5日
  • 两台热备上位机历史数据问题

    在一个西门子自动化网络中有两台上位机(都装了WINCC)互为热备机,一台出现故障时,另一台自动启动,但是当第一台上位机出现故障而关闭,第二台上位机启动时,在第二台上位机中看到的历史…

    SIMATIC WinCC 2019年6月11日
  • mp370 触摸屏鼠标丢失

    经过是:mp370触摸屏鼠标偏移,在经过多次试验从监控画面退至系统画面未果后,突然鼠标丢失。后面用usb鼠标操作,开始是左右键不起作用,鼠标箭头会马上回至初始位置,实验几次之后,鼠…

    SIMATIC WinCC 2019年6月11日
  • 请教SMART屏怎么获取未登录时的组编号

    我试着用调度器里的更改用户来获取,如图,但结果是,登录一个用户或用户间切换时,能正常获取,而注销了后,无法正确获取到未登录用户的组编号。请教怎么解决?我在PLC时定义了组编号为0时…

    2021年7月5日
  • wincc的语言切换问题

    在中文操作系统组态的中英文画面,在英文版的操作系统中可以显示吗? 最佳答案 1、在中文操作系统组态的中英文画面,如果在WinCC的文本库(Text Library)中有对…

    SIMATIC WinCC 2019年6月10日
  • 用户归档 上传 下载失败

    用户归档在点击下载时提示"执行Write Tags函数时出错"点击读上传时提示"执行Read Tags函数时出错"是怎么…

    SIMATIC WinCC 2019年6月11日
  • 怎样通过WINCC用DriveES访问6RA70装置

    怎样通过WINCC用DriveES访问6RA70装置:300CPU通过5611卡和上位机已经连接(MPI),CPU的DP接口和6RA70(PROFIBUS-DP)已连接。请问怎样通…

    SIMATIC WinCC 2019年6月11日
  • 画面窗口中画面切换

    现有四个画面分别是a.b.c.d.   画面a中有画面窗口1.画面b中有画面窗口2.     c.d…

    SIMATIC WinCC 2021年7月5日