我是靠谱客的博主 典雅小鸽子,这篇文章主要介绍pLC中延时用C语言,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

最后

以上就是典雅小鸽子最近收集整理的关于pLC中延时用C语言,wincc中的C语言中没有delay函数的全部内容,更多相关pLC中延时用C语言,wincc中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部