三问“sleep(500)”

WinCC中启动按钮的组态程序如下:
#include "apdetap.h"
void OnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlays,intx,inty)
{

#pragma code("keme132.dll")
VOID Sleep(time);

SetTagBit("H_BC1A_MStart",1);
Sleep(500);
SetTagBit("H_BC1A_MStart",0);

}

操作人员按动启动按钮,WinCC将"H_BC1A_MStart"信号传给Step7项目,从而启动设备。但是,当操作人员连击或者多次击启动按钮后,"H_BC1A_MStart"信号就保持长导通,在后一级设备一启动,本级设备也跟着动起来,多次险些酿成事故。我在Step7中增加下面的程序以求解决问题:
A   M   103.0
=   L        0.0
A   L        0.0
AN    T    103
=   M    104.0
A   L        0.0
BLD     102
L    S5T#500MS
SD   T  103

用M104.0代替M103.0(M103.0就是WinCC里的"H_BC1A_MStart"),安全问题不会发生了,但是,根本性的"H_BC1A_MStart"问题还是存在,操作人员如果不对启动按钮进行再击的话,设备无法启动,请问大侠们,如果只是改动WinCC而不改动Step7项目,怎么改为好?谢谢!

最佳答案

同楼上,用MessageBox函数确认就可以取消掉长时间点住按钮或者多次点击按钮,让你不能连点鼠标..

另外时间要求不严格的话还可以把SetTagBit("H_BC1A_MStart",1)写到点击鼠标左键事件,把SetTagBit("H_BC1A_MStart",0)写到释放鼠标左键事件去. 这样的话点击鼠标左键发出动作信号,释放左键的时候切断动作信号,不管点多少次鼠标都能执行SetTagBit("H_BC1A_MStart",0).

提问者对于答案的评价:
谢谢!两种方案都可以,都能达到目的。为安全起见,在点击启动按钮后报警器响,要延时15S才能启动设备,操作工没等设备动起来就乱点而造成问题。再次谢谢指导。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年7月26日 上午2:26
下一篇 2017年7月26日 上午2:26

相关推荐

  • 用VB脚本做全局子程序打开数据库

    用VB脚本做全局子程序打开数据库打开数据库 后不关,本项目任何窗体任何地方不需在建立数据库连接和打开数据库,只需要根据需要打开数据表,进行数据查询,最后在程序结束时再调子…

    SIMATIC WinCC 2019年6月11日
  • 奖品兑换券怎么使用?

    中了这个手机卡套兑换券,可是奖池里没有啊,请问大家怎么兑换? 图片说明:       最佳答案 手机卡套应该试最上面的那个奖品吧,你图片里画…

    2021年7月5日
  • wincc 7.2 安装

    在XP SP3 32位系统里和WIN7 SP1 32位系统里安装WINCC7.2安装包出现以下图片的错误,两个系统都出现同样的错误,不知道是…

    2017年10月31日
  • 关于日报表

    在WINCC6.2中用VB编程实现每天生成一个以日期为标题的日报表EXECL表格,我已做好,只是第二天的表格还有第一天的数据,怎样第二天把一天前表格模板里的数清空,用VB怎么编 问…

    SIMATIC WinCC 2017年6月27日
  • WINCC 与S7

    如何实现通过S7编程实现在WINCC面板上模拟输入信号例如一个工件检测信号实际没有输入,但我在面板上按下他的显示按钮就可实现信号输入,进而实现模拟 最佳答案 在s7程序中调用工件检…

    SIMATIC WinCC 2019年6月11日
  • 求段小程序

    求段小程序,望高手们赐教!当阀门(F1)打开时,将一个变量记为当时的时间(年、月、日、时、分、秒),传入指定的EXCEL单元格中(例如R1C1);当阀门关闭时,将另一个变量记为当时…

    SIMATIC WinCC 2019年6月11日
  • 一台WINCC上位机如何连接两套不同品牌的PLC下位系统,并且画面点位可链接切换联动

    下位一套西门子200,一套罗克韦尔AB的PLC,上位都是wincc,是两台独立上位机,分期做的项目,目前两台上位没连在一起,现在想改造成一台上位机,用同一个wincc连接西门子20…

    SIMATIC WinCC 2020年11月1日
  • WinCC错误码7002、7006

    你好,请教一个问题,WinCC中使用过程中遇到一个情况。原来安装WinCC的系统是英文系统,运行正常,后安装汉化包,投用一段时间(2天)WinCC画面上就变暗了,ping一下是通的…

    SIMATIC WinCC 2019年6月11日
  • WinCC屏幕分辨率设定问题?

    在WinCC6.2中要在OS项目编辑器中把监视器1024*768的分辨率改为1280*1024,但是提示组态运行系统出错,改不了不知道是什么原因? 问题补充:经过重启,重新打开后还…

    SIMATIC WinCC 2019年6月11日
  • wincc启动不正常

    我用的是WINCC6.0,为什么启动的时候总是在等待状态呢?而且,即使进去了,图形编辑器也用不了,这是怎么回事呢?谢谢了 最佳答案 不会又是系统问题吧,WINCC6可是要winxp…

    SIMATIC WinCC 2019年6月11日