自动切换画面的脚本问题

我用了一个按钮,按钮是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日
下一篇 2019年6月11日

相关推荐

  • Wincc V7.3按钮显示的wincc样式问题

    在两幅图编辑里面,效果中“wincc 样式”选择窗口样式,一幅图里面显示正常另一幅图里面按钮轮廓显示,如下图 问题补充:属性的设置已经改成一致,但是这个情况还是出现 图片…

    2021年7月5日
  • wincc 如何给变量输入负值

    如图显示,wincc 对象选项板—智能对象—输入输出域,100的地方一个输入输出域,连接的变量个叫MW100的变量,想在想达到的要求是能够输入负值?(即在100的地方能够…

    2021年7月5日
  • 如何模拟KEPSERVER变量,利用WINCC变量模拟器模拟服务器变量没有成功,还有其他方法吗?

    我的KEP软件是5.0版本的,没有找到说明书。软件上面有测试模式不知道怎么用 问题补充:KEPSERVER是OPC软件不好模拟,最好是连上PLC.WINCC变量模拟器模拟服务器只能…

    SIMATIC WinCC 2021年7月5日
  • wincc项目管理器问题

    在编辑图形时,右键图形属性,在控件属性下,字体变成了乱码,其他项正常,比如几何项,其它项都正常,就唯独控件属性的字全乱了。我用的是中文WINCC6.0。急急急… 问题补充:我现…

    SIMATIC WinCC 2019年6月11日
  • C语言程序、窗口画面小问题

    窗口画面:现在我要在主画面里单击按钮或者阀门弹出一个窗口画面,不是一个全屏的画面,这个窗口画面我知道用窗口画面工具来做,可是怎么都不行,请指点!C语言:听说上面的弹出窗口画面要用C…

    SIMATIC WinCC 2019年6月11日
  • OPC DA WINCC

    2台PC:A、B在同一局域网,A、B都安装WINCC V6.2SP3,A做服务器B做客户机,客户机添加OPC通道,通过OPC条目管理器找到A服务器名称选择OPCSERVE…

    SIMATIC WinCC 2019年6月11日
  • WINCC6.0中怎么用键盘按键控制单个按钮动作

    如题,想知道怎么用键盘上单个键控制单个按钮动作  自动焦点怎么实现 问题补充:实现功能如下:按下键盘上W键,按钮1动作 最佳答案 按钮->属性->其…

    SIMATIC WinCC 2019年6月11日
  • wincc外网访问连接不到服务器

    wincc内网访问正常,通过公网IP路由器绑定后,外网访问时,页面能登录,但登录后显示连接不到服务器,有大侠知道什么原因吗,Windows或者WINCC有什么需要设置的吗 问题补充…

    2020年11月1日
  • WINcc与电脑连接不上

    请教各位大侠,今天由于厂部突然停电,电脑和程序都还在运行状态,但是送电之后再打开电脑运行Wincc的时候总是不能与PLC连接,WINCC画面的数据总是显示灰色,我用的是PROFIB…

    SIMATIC WinCC 2019年6月11日
  • Wincc变量归档使用问题

    请各位大侠帮忙解决个问题,我想用变量归档记录一些数据,只想周期循环变量置1时记录数据,循环周期变量为0时不记录数据,请问应该怎么样设置谢谢,非常着急 问题补充:请问我想用一个布尔量…

    SIMATIC WinCC 2017年12月2日