自动切换画面的脚本问题

我用了一个按钮,按钮是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

相关推荐

  • 请问WICNCC可以在xp下安装吗

    公司里有一套wincc的软件,说是安装环境是我windows NT 和 2000, 请问有什么办法在xp下安装使用吗? 问题补充:5.1版的…

    SIMATIC WinCC 2019年6月11日
  • 博途之WinCC RT Professional

    在工程师站上组态了WinCC RT Professional,只能模拟运行看看吗?不能直接运行检查看看吗?非要下载到组态的目标PC上才能运行起来吗??不能像PC…

    SIMATIC WinCC 2018年12月2日
  • wincc通过以太网连接64台S7-200 Smart

    项目描述:1.上位机WinCC V7.3 RC2048,普通网卡2.下位64台S7-200 Smart请问:1.上位机除WinCC外尚需配置什么软件?…

    SIMATIC WinCC 2021年7月5日
  • wincc 如何与CP342-5组态

    wincc与CP-342-5如何设置系统参数?例如:INCC与PLC组态时,在WINCC中有一参数是设定PLC的站号和PLC在那一个机架那一槽的,如换成是CP342-5,那应该如何…

    SIMATIC WinCC 2019年6月11日
  • Wincc6 怎么实现历史报警的查询??

    wincc6里的那个报警控件好像只反应最近的报警,怎么查询1周前,或时间更长的报警。报警条的颜色有没有已经确认或未确认这些标志,我是初学者,多多学习。 最佳答案 首先在报警记录中创…

    SIMATIC WinCC 2019年6月11日
  • WINCC 运行报错

    项目激活时每次编译到图形运行系统就停止,换过新的项目也如此。 求同行朋友指教!谢谢~坐等 最佳答案 新建一个项目试试,如果还是同样的问题,那就是软件安装问题,否则就是项目…

    SIMATIC WinCC 2021年7月5日
  • 按钮不可用问题

    怎样使按钮在可用与不可用之间切换,用C script怎么写? 最佳答案 在  “属性/其他/允许操作员控制”的“动态”处,用一开关量来控制 提问者对于…

    SIMATIC WinCC 2019年6月11日
  • 有wincc与VB编程方面的资料么

    大神们,有WINCC与VB编程方面的资料么 钻石用户推荐最佳答案 RENHQ大侠分享的《西门子官方资料大全分享之WINCC-180529更新》资料贴子中的《4、脚本 数据…

    2021年7月5日
  • Windows10系统

    可以安装wincc7.4版本的Windows10系统 钻石用户推荐最佳答案 兼容性如图。从下面下载,多版本x64′ target=’_blank’ style=’text-deco…

    2021年7月5日
  • 单独安装的wincc有faceplate 功能吗?

    今天装了step7 5.4和WINCC 6.2(不是PCS7里的),但是在WINCC里面看不到faceplate功能?   &nb…

    SIMATIC WinCC 2019年6月11日