自动切换画面的脚本问题

我用了一个按钮,按钮是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 7.4非周期记录数据

    尊敬的老师:我需要做一个按钮置1时记录一次数据,按钮回零。在控件记录显示无法连接数 据。见图。周期记录正常!请求老师指导。谢谢! 图片说明:    &…

    2021年7月5日
  • 如何查看wincc还需要什么授权

    我安装了wincc6.2,而且也安装了授权,可是还是提示为演示版,激活的时候显示许可证已过期。我打开许可证管理器之后,检查所安装的许可证,都为正常,但是在“已使用”许可证一栏却为零…

    SIMATIC WinCC 2019年6月11日
  • 触摸屏没有了速度显示可能的原因有那些?

    我们的TP270触摸屏没有了速度显示,速度显示值在程序中直接赋给PIW342,PIW342接频率隔离变送器,型号WBF122U01,输入IN+线号A1,IN-线号PS51+,端子下…

    SIMATIC WinCC 2019年6月11日
  • wincc 数值显示问题

    我在db1.dbw1设为整数值,wincc中对应字变量sj,wincc画面中显示这个除以10后的值,比如45,wincc中应该显示4.5,我在wincc输出域中设置格式999.9,…

    SIMATIC WinCC 2019年6月11日
  • wicc flexcible 2008无法另存和另存为其他版本?

    如题!另外还想问下,wicc flexcible SP1升级到SP2,除了重新安装SP2的版本,有没有直接的补丁啊!求个连接!多谢各位了! 问题补充:首先谢谢两…

    SIMATIC WinCC 2018年12月5日
  • wincc fiexible 2007的使用”

    高工你们好!   我在安装好wincc fiexible 2007软件后,新建了一项目,打开初始画面,没有编任何图案,马上编译,此…

    SIMATIC WinCC 2019年6月11日
  • WINCC V7.4SP1 的OPC UA服务器

    OPC UA客户端可以访问WINCC的OPC UA 服务器,能够读取到实时数据,历史数据,事件与报警,那么历史事件和报警可以读取到吗? 最佳答案 从帮…

    SIMATIC WinCC 2020年11月1日
  • wincc flexible 2008 sp5的安装问题

    为啥安装wincc flexible 2008 sp5时,一直要求重新启动电脑,且没有自动重新启动。**作重新启动后也不起作用? 问题补充:删除注册表…

    SIMATIC WinCC 2021年7月5日
  • 软件区别

    请问 protool   ,winccflexble ,wincc 三种软件的区别和相同点是什么?分别应用在哪里? 最佳…

    SIMATIC WinCC 2019年6月11日
  • wincc报表打印PDF

    产品的出厂试验检测设备,检测报告要打印出来,并在工控机上留PDF文件。想请教的是如何实现?安装虚拟打印机的话,文件名是要自己填写的,如何实现文件名通过变量控制的PDF打印。我自己看…

    SIMATIC WinCC 2021年7月5日