当前位置:
工控论坛
> >
产品
>
自动化软件
>
力控(sunwayland)
我要发帖
如何才能提高组态软件的数据采集速度?
点击:
4675
| 回复:
9
canfly
关注
私信
精华:0帖
求助:0帖
帖子:12帖 | 195回
年度积分:0
历史总积分:321
注册:2005年5月12日
发表于:2006-08-29 21:43:00
楼主
我要采集一个变化较快的模拟量,采用研华数据采集卡。用组态软件采集数据的时,发现采集速度比较慢,20多毫秒,满足不了需要,不知通过什么方法能提高采集速度?
用VB编写程序时,不到1ms就可以采集9个通道的数据,不知可不可以通过DDE的方式将数据传给力控,不知DDE方式的通讯速度怎么样?
有人能回答吗?谢谢!
分享到:
收藏
邀请回答
回复楼主
举报
如火
关注
私信
精华:172帖
求助:0帖
帖子:803帖 | 5249回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2006-08-30 09:27:00
1楼
力控软件受整体架构的限制,肯定达到不了1ms,包括市面上多数组态软件也是达不到。
用dde的方式会有一定的改进,但是也达不到1ms。
不知道您需要的速度是多少?
回复
引用
举报
canfly
关注
私信
精华:0帖
求助:0帖
帖子:12帖 | 195回
年度积分:0
历史总积分:321
注册:2005年5月12日
发表于:2006-08-30 10:47:00
2楼
今天我试了一下用VB和DDE通讯,发现速度更慢,力控I/O驱动显示的为40多ms,而且只是一个点,比用数据采集卡直接采集还要慢。
我需要的采集速度应该在10ms以内采集一遍PCI-1713的数据,直接采集时I/O在力控I/O服务器显示的为20多毫秒,但从实时曲线中看,好像还没有达到这个速度。不知有什么方法可以解决?
回复
引用
举报
万有引力
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 40回
年度积分:0
历史总积分:243
注册:2005年9月26日
发表于:2006-09-15 13:06:00
3楼
曲线看肯定不会这么快,要设定的,在曲线组态时有个刷新周期的不知道你有没有设定,另外你要这么快的速度采,你送到卡里的数据是1ms变化一次?你能确定?这太牛B 了吧,有这样的采集卡吗?兄弟20ms采一次,但是下面的数据有没有攺变呢?如果下面的数据没有攺变你要这么快采做啥?首先看下面的是不是这么快变化,如果不是这么快,你上面再快有什么意思?
回复
引用
举报
bupianren
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 163回
年度积分:0
历史总积分:252
注册:2006年4月03日
发表于:2006-10-11 11:35:00
4楼
顶,楼上的!
采集速度,不光是由软件决定的,而且大部分因素是硬件决定
TO canfly:您用VB编的采集速度能达到1毫秒,能不能发过来,让我看看阿,haidongqing88@163.com
回复
引用
举报
bupianren
关注
私信
精华:0帖
求助:0帖
帖子:2帖 | 163回
年度积分:0
历史总积分:252
注册:2006年4月03日
发表于:2006-10-11 11:36:00
5楼
DDE本来速度就慢,呵呵
那还不如用OPC吧
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2006-10-20 15:38:00
6楼
不知此仁兄为什么要这么快的采集速度,但是我给你介绍一下为什么采集速度上不去的原因,板卡本身的采集是通过直接读写板卡完成的,它的读写速度相当快,1ms那就是太慢了,当然,这也要看具体板卡的性能了.假如你要1ms的采集速度的话,那么你就要单独写一个程序,使用While来循环采集,当然,你会发现你的cpu占用率高高在上了。计算机本身提供的Timer就是大约30-40ms,所以你发现力控采集速度大约是30-40了。所以对于高频采集的话,你要找力控单独给你订做驱动,当然对于显示来说这是太快了,100ms你就看不过来数字的变化了。
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2006-10-20 15:38:00
7楼
不知此仁兄为什么要这么快的采集速度,但是我给你介绍一下为什么采集速度上不去的原因,板卡本身的采集是通过直接读写板卡完成的,它的读写速度相当快,1ms那就是太慢了,当然,这也要看具体板卡的性能了.假如你要1ms的采集速度的话,那么你就要单独写一个程序,使用While来循环采集,当然,你会发现你的cpu占用率高高在上了。计算机本身提供的Timer就是大约30-40ms,所以你发现力控采集速度大约是30-40了。所以对于高频采集的话,你要找力控单独给你订做驱动,当然对于显示来说这是太快了,100ms你就看不过来数字的变化了。
回复
引用
举报
plink
关注
私信
精华:0帖
求助:0帖
帖子:5帖 | 24回
年度积分:0
历史总积分:40
注册:2002年2月26日
发表于:2006-10-22 22:28:00
8楼
unix、windows等非实时性操作系统下,时钟是无法精确到毫秒级的.
win32的timer相关的api,很难提供精确的时钟(仅仅是任务时间)
至于基于windows消息机制的ontimer方式(相信很多组态软件,也都是这么干的),更是如此。
因此质疑楼上所说的“计算机本身提供的Timer就是大约30-40ms,所以你发现力控采集速度大约是30-40了”。
下面的做法时间是不可控的,使进程更多的占用cpu软中断调度,没有任何实际意义
while(1){
clect();
}
如果目的仅仅是为了在单位时间内采集更多的点,而不是要求相对时间的适时性。可以的办法是采用外部高速缓存电路,将数据缓存,然后输入计算机,当然这样时间上滞后了,但是达到了采集更多点的目的。这种应用在类似开关冲击试验应用中已有成熟先例。
回复
引用
举报
万有引力
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 40回
年度积分:0
历史总积分:243
注册:2005年9月26日
发表于:2007-02-06 11:05:00
9楼
1ms采集上来了,下面会变化吗?质疑?
回复
引用
举报
热门招聘
相关主题
三菱软件大全
[11599]
vb编写的串口调试程序(源代码...
[3667]
比较全面的国际,国内实时数据...
[13465]
WINCC中怎么实现十六进制转换...
[3366]
sql 2005+wincc62 sp2 asia下...
[3381]
力控监控组态软件系列视频教...
[3052]
中科新控监控组态软件SIAVIE...
[2176]
WinCC控件的使用方法
[3439]
什么叫闭环的时间常数?
[5640]
西门子S7-300plc绝对寻址和符...
[5365]
官方公众号
智造工程师
客服
小程序
公众号