自动切换画面的脚本问题

我用了一个按钮,按钮是On_Off_2(图库里面的:\全局库\Operation\Toggle Buttons\)
我想要达到的功能是,点击按钮,位变量取反一次,同时切换画面。
在按钮原有的脚本基础上做了修改,如下
{

BOOL value;
LINKINFO plink;

PDLRTGetPropEx(0,lpszPictureName,lpszObjectName,"Toggle",VT_BOOL,&value,NULL,NULL,0,NULL,NULL);

if(value) OpenPicture("MAN.PDL"),value =FALSE ; //Return-Type: void 

else OpenPicture("AUTO.PDL"),value = TRUE ;

PDLRTGetLink(0,lpszPictureName,lpszObjectName,"Toggle",&plink,NULL,NULL,NULL); //Rueckgabe-Typ :BOOL 

if (plink.LinkType >2) return;
else SetTagBit (plink.szLinkName,(short int) value);}
其中改动部分添加了OpenPicture("MAN.PDL"), 和OpenPicture("AUTO.PDL"),
运行时的问题,点击按钮,位变量取反,再点击一次,切换画面,如此反复。我两个画面放的按钮是同样的,是经过复制的。如果人为的通过其他按钮将位变量先取反,则直接切换画面。
如果在语句中将两个切换的画面互换位置,则除点击按钮的第一次可能会先将位变量取反外变为1外,后面点击按钮都只做画面切换,位变量始终为1。
请各位看一下是什么原因,谢谢!

最佳答案

你这个太复杂了,我看不懂耶,不如自己做个简单的c脚本
 在你的man.pdl画面上切换按钮的鼠标动作c脚本:
 SetTagBit("NewTag",!GetTagBit("NewTag"));
 OpenPicture("AUTO.PDL");

 在你的auto.pdl画面上切换按钮的鼠标动作c脚本:
 SetTagBit("NewTag",!GetTagBit("NewTag"));
 OpenPicture("MAN.PDL");

 NewTag就是你需要1-0变化的标签。

提问者对于答案的评价:
谢谢这位朋友,你的脚本可以在普通的按钮上使用,我使用的库里的按钮还是不行。打电话到西门子的热线,西门子热线的工程师告诉我要把打开画面的脚本放到后面,然后我做好了。谢谢西门子技术热线的工程师

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

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

相关推荐

  • wincc GfxRTS.exe停止,winccwebux不能使用

    运行在后台服务器,手机登录webux的时候发现不能登录,打开服务器后提示 GfxRTS.exe错误。取消激活项目再激活就正常了。系统是2012 server&n…

    SIMATIC WinCC 2020年11月1日
  • wincc 7.0 sp1安装

    在xp.sp3上安装wincc 7.0 sp1中文版时出现报错,错误提示为net.framework.3.0循环错误检查,请问大侠这是为何,如何解决.谢谢 最佳…

    SIMATIC WinCC 2019年6月11日
  • 新手急求wincc安装问题

    我在装wincc6.0时出现:在计算机上发现sql…. 请安装sql200 但是我已经安装好了  就差这一步老装不上 望高手指…

    SIMATIC WinCC 2019年6月11日
  • WINCC V6.2功能对应的授权

    我初学WINCC ,对WINCC授权上一头雾水,不知道必须要装哪些授权以及相关的授权,所以我想问大家一下:文本库运行系统[对应的授权名字叫什么呢?]全局脚本运行系统[对应…

    SIMATIC WinCC 2018年3月6日
  • wincc任务

    我想在wincc上传递给PLC任务,任务包括 日期时间  和其他内容,在WINCC上修改好了,在传递给PLC  DB数据区&nbs…

    SIMATIC WinCC 2019年6月10日
  • 线段绕一点旋转问题

    我用wincc画了一条直线,想让它绕着其中一个断点顺时针旋转,怎么做?帮帮忙,谢谢 最佳答案 供参考   (用的内部变量)线属性-旋转参考坐标设45(…

    SIMATIC WinCC 2019年6月11日
  • 求西门子KTP 700触摸屏编程软件

    求西门子KTP 700触摸屏编程软件 最佳答案 博图啊各版本官方下载地址:西门子官方资料大全 之 S7-1500 & TI…

    2021年7月5日
  • step7符号表中的变量如何打包成DB块?

    平时做STEP7与WINCC连接时只是在STEP7符号表中为需要传输的变量打上“传输标志”(绿色小旗),但是我在论谈里看见是这样的《“我在建立上位机和下位机的变量时习惯使用DB块,…

    SIMATIC WinCC 2019年6月11日
  • 删除历史数据

    设置一个按键,怎样通过脚本将归档变量的历史数据删除掉? 最佳答案 WINCC在激活的状态下(在计算机属性中的 变量记录运行系统 打钩了)无法删除历史数据。因为W…

    SIMATIC WinCC 2019年6月11日
  • 如何在WINCC中做控件或自制图片的动态动画?

    求文档或视频步骤 谢谢?? 问题补充:求管道内气体流动及管道内物料流动的动画 WINCC7.4的例程工程及视频说明 谢谢高人!求管道内气体流动及管道内…

    2021年7月5日