中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

嵌入式系统

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 嵌入式系统 → 浏览主题: 用delphi编写工控软件,定时器无法达到10毫秒
发表新帖 回复该主题
回帖:9个,阅读:6988 [上一页] [1] [下一页]
* 帖子主题:

用delphi编写工控软件,定时器无法达到10毫秒

分享到
875
12345678
文章数:6
年度积分:50
历史总积分:875
注册时间:2001/7/12
发站内信
发表于:2002/9/10 23:00:00
#0楼
用delphi编写工控软件,定时器无法达到10毫秒的精度,请问各位是如何解决的?
plc中有几十个10毫秒的定时器,几百个100毫秒的定时器,它是如何实现的?
在windows如果用这么多资源,会不会死机?
我试过如果有5,6个设定为10毫秒间隔的定时器一起运行,至少有一两个根本就不走.
即使走的也根本没有一个准的.
还望各位帮忙解答.

另外,这里有使用过实时操作系统的人么?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
1017
713lzy
文章数:11
年度积分:50
历史总积分:1017
注册时间:2001/10/5
发站内信
发表于:2002/9/21 18:41:00
#1楼
VxWorks是个不错的事实操作系统
VxWorks是个不错的事实操作系统                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
807
用户名
文章数:1
年度积分:50
历史总积分:807
注册时间:2002/9/26
发站内信
发表于:2002/9/26 22:46:00
#2楼
我也关心这个问题
我也关心这个问题                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
5581
心情 版主
文章数:1633
年度积分:50
历史总积分:5581
注册时间:2001/6/6
发站内信
09工控人生征文
发表于:2002/9/27 20:30:00
#3楼
PLC多用中断功能来实现高精度的定时器
PLC多用中断功能来实现高精度的定时器                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
822
gusu
文章数:1
年度积分:50
历史总积分:822
注册时间:2002/10/23
发站内信
发表于:2002/11/15 21:28:00
#4楼
WinCE也许不错,我也用Delphi,愿意一起讨
WinCE也许不错,我也用Delphi,愿意一起讨论,my QQ number is 39161700                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
811
moshi
文章数:1
年度积分:50
历史总积分:811
注册时间:2001/3/24
发站内信
发表于:2003/3/3 9:41:00
#5楼
用汇编,在delphi中可以嵌入汇编
asm
rdtsc
eax  //时钟低32位
edx  //时钟高32位
end;

delphi 6以上版本可用,不过首先要知道cpu主频,然后换算成时间
804
320120
文章数:1
年度积分:50
历史总积分:804
注册时间:2002/12/6
发站内信
发表于:2003/3/4 14:55:00
#6楼
都是假的吧,WINDOWS的CPU是50ms切换工作,所以编程里的定时器太短没用,PLC是物理上的实现
805
qsn
文章数:1
年度积分:50
历史总积分:805
注册时间:2002/10/8
发站内信
发表于:2003/3/4 21:41:00
#7楼
这是别人提供的。
对于精确度要求更高的定时操作,则应该使用QueryPerformanceFrequency()和QueryPerformanceCounter()函数。
这两个函数是VC++提供的仅供Windows 95及其后续版本使用的精确时间函数,并要求计算机从硬件上支持精确定时器。QueryPerformanceFrequency()函数和QueryPerformanceCounter()函数的原型如下:

  BOOL QueryPerformanceFrequency (LARGE_INTEGER *lpFrequency);

  BOOL QueryPerformanceCounter (LARGE_INTEGER *lpCount);

数据类型LARGE_INTEGER既可以是一个8字节长的整型数,也可以是两个4字节长的整型数的联合结构,其具体用法根据编译器是否支持64位而定。该类型的定义如下:

  typedef union _LARGE_INTEGER

{

   struct

   {

// 4字节整型数

DWORD LowPart ;

// 4字节整型数

LONG HighPart ;

   };

// 8字节整型数

   LONGLONG QuadPart ;

} LARGE_INTEGER ;

  在进行定时之前,先调用QueryPerformanceFrequency()函数获得机器内部定时器的时钟频率,然后在需要严格定时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数,利用两次获得的计数之差及时钟频率,计算出事件经历的精确时间。下面的程序用来测试函数Sleep(100)的精确持续时间:

  LARGE_INTEGER litmp;

  LONGLONG QPart1,QPart2;

  double dfMinus, dfFreq, dfTim;

  QueryPerformanceFrequency(&litmp);

  // 获得计数器的时钟频率

  dfFreq = (double)litmp.QuadPart;

  QueryPerformanceCounter(&litmp);

  // 获得初始值

  QPart1 = litmp.QuadPart;

  Sleep(100);

  QueryPerformanceCounter(&litmp);

  // 获得中止值

  QPart2 = litmp.QuadPart;

  dfMinus = (double)(QPart2 - QPart1);

  // 获得对应的时间值

  dfTim = dfMinus / dfFreq;
810
wym1000
文章数:2
年度积分:50
历史总积分:810
注册时间:2003/1/9
发站内信
发表于:2003/3/5 13:49:00
#8楼
了解delphi的定时器原理吗?如果使用控件,其时间精度为50ms,(我用bcb!),其控件为消息触发方式。建议自己编写调用api的类!
1087
lsssxs
文章数:58
年度积分:50
历史总积分:1087
注册时间:2001/3/31
发站内信
发表于:2003/3/6 17:03:00
#9楼
去大富翁骚一下,我看到过这个,如果没有,suxiongsheng@zs165.com
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

187.2012