wincc中的C语言中没有delay函数

我想实现一个按钮按下后10s内不能操作该按钮,用C语言实现时发现不能识别delay();。我查了C库函数文件,没有发现delay函数需要头文件。那么如何在Wincc中实现delay效果呢?只能用空循环吗?

问题补充:
用上位机是因为下位机计时器不够用了。

最佳答案

在下位机(PLC)里做是很简单的,但是这个是一个操作逻辑上的处理,按道理说还是应该在上位机(PC)里做更合适。根据你的要求,C语言代码如下:

#pragma option(mbcs)
#pragma code("Kernel32.dll")
void Sleep(int Milliseconds);
#pragma code()
SetTagDWord("test1",GetTagDWord("test1")+1);
SetOperation(lpszPictureName,lpszObjectName,0);
Sleep(10000);
SetOperation(lpszPictureName,lpszObjectName,1);
/*注释:test1是一个内部变量用来做为测试使用,点一次把test1这个变量+1,这个可以实现你要的功能,不要使用Delay,它会一直占用CPU资源,并不会将 进程挂起!而且它的延时精度不唯一,因为它和CPU的时钟频率有关*/

提问者对于答案的评价:
大家的帮助我都很感谢,可惜最佳答案只能给一人, Ken.Carrey的回答很用心。我把最大的一份感谢给他。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • 操作日志

    我用wincc6.0记录下操作人员的所有操作,也就是操作日志,能不能做?应该怎么做,希望专家门说的详细点 最佳答案 版主的意思是记录下操作人员的所有操作吧?包括设置某个参数或者启动…

    SIMATIC WinCC 2019年6月11日
  • 用wincc的脚本进行二进制位变量的位操作和判断

    建立一个16位的wincc二进制位变量*,然后将S7的变量A,B,C。。。的值0/1按顺序放到*中,放完后了再和固定值比对,每个位数值不对都对应一个文字输出。用脚本怎么编了? 问题…

    SIMATIC WinCC 2019年6月11日
  • PC和M277怎样通讯

    我只有PC/PPI下载线传送时老出现等待直到关闭RT然后就是传送失败,请各位大侠指点一下,你们是怎么用PC/PPI先对MP277项目传送的,OS更新也是正常的,OP73和TP170…

    SIMATIC WinCC 2019年6月11日
  • wincc6.0项目如何交付安装调试并使用

    wincc6.0项目如何交付安装调试并使用? 一个wincc6.0项目在开发者的电脑上设计完成了,如何交付使用?wincc6.0项目有没有发布版?交付使用时,如何安装,是…

    SIMATIC WinCC 2019年6月11日
  • HMI安装运行问题

    请教各位高手,我们生产线有8台HMI客户机,两台HMI服务器,我想请问各位,如果客户硬盘机坏了,我是不是需要重新安装wicc呢,还需要做其他的什么配置吗?如果是服务器坏了,我又需要…

    SIMATIC WinCC 2019年6月11日
  • Wcc改变变量置1复位,这个方法可行吗

    假如DB620.DBW0,我做一按钮A,要使DB620.DBX0.0置位,这样做可以吗按钮-属性-事件-鼠标,按左键-动作选直接连接,来源:常数1,目标:变量DB620.DBW0,…

    SIMATIC WinCC 2019年6月11日
  • 如何用wincc v14 通过工控机的音箱实现声音报警

    如何用wincc v14 professional,通过工控机上的音箱实现声音报警。 最佳答案 WinCC实现声音报警的方法http://www.ad.siem…

    SIMATIC WinCC 2017年6月4日
  • VBS脚本获取某个画面的某个对象的属性

    我在画面上作了一个文本列表,分配了:0为甲班,1为乙班,2为丙班;我在脚本里面写了如下语句:Set S1=HMIRuntime.Screens(zhm).ScreenIt…

    SIMATIC WinCC 2019年6月11日
  • 博图

    博图有哪些版本 各版本有什么区别?基本安装环境条件?详细描叙 谢谢? 最佳答案 博途的版本比价,比如STEP7 PROFESSIONAL V…

    SIMATIC WinCC 2017年11月1日
  • 想增加一台操作员站需要哪些DD??

    现场有一套400的PLC(非冗余),和一台操作员站通过工业以太网直接连接.现想增加一台操作员站,请问需要哪些硬件,软件已及授权??除了SQL2000+WINCC6.0还需要什么?&…

    SIMATIC WinCC 2019年6月11日