如何用C脚本给一个对象的颜色属性编程

我想给一个圆对象的属性:背景颜色  编程,用一个wincc外部变量的变化改变圆的颜色,假定外部变量是mycolor1;我是如下写的,编译没有错,可是没有反应,不知道是不是要调用setbackcolor()之类的函数,请大家多多指教,不胜感激!
 #include "apdefap.h"
  long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
 {
 // WINCC:TAGNAME_SECTION_START
 // syntax: #define TagNameInAction "DMTagName"
 #define tag_0 "mycolor1"
 // next TagID : 1
 // WINCC:TAGNAME_SECTION_END

 // WINCC:PICNAME_SECTION_START
 // syntax: #define PicNameInAction "PictureName"
 // next PicID : 1
 // WINCC:PICNAME_SECTION_END
 long int mycolor,i;
 char* name;
 i=GetTagDWord("tag_0"); //Return-Type: DWORD 
 if(i==1)
     mycolor=0x000000FF;
 else  
     mycolor=0x0000FF00;
 name=lpszPropertyName;
 SetTagDWord(name,mycolor); //Return-Type: BOOL 
 return *name;
 }

最佳答案

在属性的脚本里直接返回值就可以了,return mycolor;
 #include "apdefap.h"
  long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
 {
 // WINCC:TAGNAME_SECTION_START
 // syntax: #define TagNameInAction "DMTagName"
 #define tag_0 "mycolor1"
 // next TagID : 1
 // WINCC:TAGNAME_SECTION_END

 // WINCC:PICNAME_SECTION_START
 // syntax: #define PicNameInAction "PictureName"
 // next PicID : 1
 // WINCC:PICNAME_SECTION_END
 long int mycolor,i;
 //char* name;
 i=GetTagDWord("tag_0"); //Return-Type: DWORD 
 if(i==1)
     mycolor=0x000000FF;
 else  
     mycolor=0x0000FF00;
 //name=lpszPropertyName;
 //SetTagDWord(name,mycolor); //Return-Type: BOOL 
 //return *name;

 return mycolor;
 } 
 

提问者对于答案的评价:
谢谢你仔细地看了我写的程序,指出了我不知道的关键点,万分感谢。同时也在这里谢谢KCN工程师写的程序,我调试了,是可以用的,在这里向您表示感谢。

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

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

相关推荐

  • WINCC 中的变量波形监控

    若要监控两个浮点型变量的变化曲线,并进行对比,要对此进行波形监控。问题1:wincc中有一个wincc onlineTrendControl控件,该控件怎样使用才可以监控…

    2017年6月3日
  • 英文操作系统下的wincc项目怎么在中文操作系统打开

    英文操作系统下的wincc项目怎么在中文操作系统下打开时候,很多字符无法显示?怎么解决 最佳答案 WinCC 画面编辑器>>视图>>语言>&…

    SIMATIC WinCC 2019年6月11日
  • 帮我写两个WinCC表达式

    1,对象是 标准对象中的圆,需要用不同颜色表示状态,参与的变量有4个:开到位(用a表示) 关到位(b表示) 运行中(c) 故障(d),这4个…

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible 2004 自动生成的错误报告

    我的是Wincc2008的老实报自动生成错误求高手解决下。我不想从新做系统,有没有什么好的办法呢 最佳答案 可以打开一个以前做好的项目看会不会出现这个故障,如果还会得话,那只有重新…

    SIMATIC WinCC 2019年6月11日
  • Wincc7.3 C脚本学习

    有关于WINCC7.3 C脚本学习的资料吗?看了帮助,感觉很模糊,有比较通俗易懂简洁明了的学习资料吗?最好有例程。 最佳答案 主要还是看帮助如果你英语不错的话,看这本手册…

    SIMATIC WinCC 2021年7月5日
  • 关于:WINCC6.0SP3 的安装问题

    安装WINCC6.0SP3 ,需要先安装SQL2000SP3a,我如此安装,但WINCC检测不到SQL的安装,提示SQL末安装。请问这是什么原因,如何解决?我的WINCC…

    SIMATIC WinCC 2019年6月11日
  • 西门子KTP1000触摸屏的画面的画面项数量

    如下图所示,显示画面项数量超过系统限制了,怎么办,我我还要加一些画面项,吧一些不带参数的画面项组合后,数量没有减少,应该怎么办 图片说明:    最佳答案 每个…

    2017年5月28日
  • 谁有中文版的WINCC V7.0使用手册

    我目前在学习WINCC V7.0,但没有中文版的使用手册,谁有中文版电子文档给俺一份,在下将不胜感激! 问题补充:下载中心的WinCC V7.0 使用…

    SIMATIC WinCC 2019年6月11日
  • wicc 创建脚本

    不知道怎么在WINCC中创建脚本 ,帮助里说在项目树里有,但是我找了又找还是没有找到,难道是我安装错误了? 图片说明:    最佳答案 根据屏的型号不…

    SIMATIC WinCC 2018年1月1日
  • wincc无法修改变量地址

    我用的是6.0的版本,在修改变量时有时候可以,有时候修改不了;错误信息:0x……指令出错,最后出现:wincc explorer.exe 发生错误。&n…

    SIMATIC WinCC 2019年6月11日