有一个项目,PC界面用WINCC编制,PLC为S7-315-2DP,WINCC界面上复位按钮用鼠标按下后PLC中M0.2点闭合松开鼠标M0.2断开,Properties__Miscellaneous___Hotkey__Edit___F9(按钮---属性----其它----热键----(右键)编辑-----选中F9)配置,但按F9键PLC中M0.2没有任何动作,而用鼠标点复位按钮,PLC中M0.2闭合,松开M0.2断开,如何用F9实现按钮按下M0.2闭合,F9松开M0.2断开,我用了键盘连接后键盘上所有的键都可以对按钮操作,我需要的是特定的按钮F9,如果需要用C语言,请大侠给给实例 及步骤键位就用F9做例子 谢谢
最佳答案
首先要明确的是按钮中设置的热键必须在按钮为活动的时候才能触发(焦点在按钮上,相当于按钮被选中),如果不能保证你在按下F9的时候,按钮是被激活的,那么你对M0.2的置位就是无效的。
这样的话也说明,如果你的按钮没有在当前显示的画面上(在活动画面上)那么你的F9也必然是不好用的。
因此,想要实现按下F9就对M0.2置位,必须保证按钮显示在当前的屏幕上,且焦点在按钮上,还要在按钮属性的"事件"选项卡里的"键盘"中“按下”里写c脚本,就如楼上所说
if (nChar==120) SetTagBit("M0.2对应的变量名",1);
在“释放”里写
if (nChar==120) SetTagBit("M0.2对应的变量名",0);
但是个人建议你不要在按钮上写,在画面的属性中“事件”选项卡下的“键盘”里写按下和释放的动作,这样就能避免焦点不在按钮上只是当前画面为活动时就能保证对M0.2的置位。
如果想实现在全局都能够在按下F9就对其置位,全局脚本可以实现,但是需要循环监测键盘,可能导致其他脚本执行不全,一般为了保证可靠,不这么用。
总之建议你最好是只用鼠标左键按下时触发为最合理。
提问者对于答案的评价:
谢谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263174.html