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日 上午3:49
下一篇 2019年6月11日 上午3:50

相关推荐

  • vbs如何使用for语句 如何建立局部变量

    hmi tp700 comfort vb脚本中如何使用for语句 格式是什么 怎么建立局部变量? 最佳答案 在脚本编辑界面,右侧“…

    SIMATIC WinCC 2017年6月1日
  • WinCC归档的问题

    我现在已经用过程值归档对一台直流电机的电流进行归档,并用趋势图进行输出.我想用该电机的起停变量作为过程值归档的起停事件.这个变量怎么连接?有图文解释或相关实例者将作为最佳答案.谢谢…

    SIMATIC WinCC 2019年6月11日
  • 【求助】wincc与plc的数据库

    我的导师让我建立一个plc与触摸屏的公用数据库,请问这个数据库是用什么做的。 最佳答案 你说的应该plc中的全局数据块,所有需要和hmi通讯的数据都放到这个数据块中。 提问者对于答…

    SIMATIC WinCC 2021年7月5日
  • WinCC中的MSFlexGrid控件如何作用?

    希望在WinCC中作用MSFlexGrid控制,自动地生成不确定的行数与列数,而后往相应表格中写入数据,这该怎么操作啊? 最佳答案 俱侠提供的地址很有参考价值,尤其对于习惯使用C脚…

    SIMATIC WinCC 2019年6月11日
  • VBS操作数据库与控件

    大家好,最近想做一个报表,大意是将归档的数据读取出来通过MSFlexGrid显示出来。(事件触发即显示出来),希望大家指点指点,资料越详细越好。有例程也行。谢谢! 最佳答案 要是你…

    SIMATIC WinCC 2019年6月11日
  • WINCC7.4开程序显示问号

    打开别人的程序后显示一堆的问号,有办法解决吗 问题补充:切换了语言还是没用,到底为什么呢 图片说明:    最佳答案 除了语言选择后,还要看WINCC版本是否一…

    2021年7月5日
  • wincc通过两个网卡与一个plc组成环网通讯

    wincc工作站通过两个网卡分别连两个交换机,两个交换机分别连同一个plc的两个网口(注:plc加了一个以太网模块,所以两个网口),这样的环网,wincc这边改怎么设置才能实现环网…

    SIMATIC WinCC 2021年7月5日
  • web Navigator 版本问题

    我机子上的WinCC是wincc6.0 sp2 asia,现在手上有WinCC WebNavigator V6.1欧洲版,安装时说版本不符合…

    SIMATIC WinCC 2019年6月11日
  • wincc数据查询问题

    请问wincc数据查询功能是怎样实现,即要实现以下功能: 用s7-300的PLC读取客户的用电量,在wincc上做一个查询窗口,输入查询时间段,即可以查出某一个时间段内的…

    SIMATIC WinCC 2019年6月11日
  • wincc OS编辑器生成的PCS7风格界面怎样取消?

    wincc7.4,手贱点了下OS编辑器,结果现在生成了Pcs7风格的界面,现在不想使用这种风格,想恢复到原来的怎样做? 最佳答案 把起始画面改回原来的就可以,如果编译自动生成的画面…

    SIMATIC WinCC 2020年11月1日