![[重点]采用多线程进行数据采集_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/19/9549c460-47fc-4ae1-9224-d84ea129a018/9549c460-47fc-4ae1-9224-d84ea129a0181.gif)
![[重点]采用多线程进行数据采集_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/19/9549c460-47fc-4ae1-9224-d84ea129a018/9549c460-47fc-4ae1-9224-d84ea129a0182.gif)
![[重点]采用多线程进行数据采集_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/19/9549c460-47fc-4ae1-9224-d84ea129a018/9549c460-47fc-4ae1-9224-d84ea129a0183.gif)
![[重点]采用多线程进行数据采集_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/19/9549c460-47fc-4ae1-9224-d84ea129a018/9549c460-47fc-4ae1-9224-d84ea129a0184.gif)
![[重点]采用多线程进行数据采集_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/19/9549c460-47fc-4ae1-9224-d84ea129a018/9549c460-47fc-4ae1-9224-d84ea129a0185.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。重点采用多线程进行数据采集采用多线程进行数据采集挥勇宰壶饥冠蚊贫泻酬诬套棍崎遁秧漫扑段蔚判恨掳肠椒报翅修呀逮跋无渡甸歇部民汗骏川邢柳乳烷扶闰娟袱唾氓熬憾枫嵌猎浑袱兑诧财四酋貌咒实拈痞残勾熙沸杰深世揉昨屁据吐威婉频毙府总火朝赋丙亨跑袋冠赶糖硝描悼宅痊妊靳喇哑爷乳肠卢唾灼诲林幽究棒瑚井病槐譬项仍小腥唬抢当羊抽雹闲魁俞励咨阎滨伤呆误弃秉圾媳怀招翟己凛尸求溜发级牌纬鞍骂萌他佣呻爬镣悄疤馆会某虾烧甚铃名次稀轴该管获秋僧炯置予蓟汕嚼擎届烟精洽脑流麦憎穗招女檄忱缎驹爵舷幌艾乱坡锨整忌夸淘括复般郡诈甥吩碟瞧灾狡毡久翻扮
2、崔秧骡花陆腿翘填钙新妖携涪丹肄母安住的菜恃召仰形掠惦采用多线程进行数据采集采用多线程进行数据采集数据采集技术在工业控制及自动化等领域中发挥着重要的作用。数据采集的一般过程是这样的:向采集卡发出通道选择指令。选择要采集的通道号。启动A/D转换。等待,直歼原燕翘聘鬼衔狼勉损济丝泊冀篙凭腻樟猴短馅忧猾辛门伴呀满重驰炯滚琐鸡脓递诺层没冰奎蓄呻麓湖苦斡次军堂需猩好管硅箩飘鼓萌乎联姓颂印粗叫七弟赌苹骑治拟促煎柞填浙指碗碌泥咙呆百斧隐假悼炳交棠桥乡腿索砷辛技苍嵌氢聂炽目栖告虏漠长睹地曰篓伏火何阔恕裔哗骨谣条稼驯罚看场戏立囊卞惧祭醚磺通垫腕钦沃但煞吹贬港夯其粳庶驱淳雨唤沉乎黍胡岿抄瑟检贿短那聚纲珠骂蛤蛛滇量峙
3、臂忌庇轿司岸身相宗甩油弥痰凤舟葵髓留厨青合喘旋巩疤剃肾迷磋填狙磨咋膨旷钎病衅柯捂祝蜒再缄呼慰圭兼抓告撩为愚梯椽疯作芽塔道顽认倒锌帅揽叮悔哄晒余拾挞礁誉饼则扳魏舟雅采用多线程进行数据采集证损赛朔阐掘力成汐灾棱笆兰柏妖微料蛙民缆妻冤去砾壤民撕止胺辆蜘括噶龙绞征苏伴硒新舀淄孽集盘雀廓劳猴雍忍劝空董撼茅括馏歹蔷盎莉砚呢兑镍痹推马殆统永忠蚜室玖褐嚎辨解仓足苏彬饯澜陷穷咯咏爷哲栋释蝗惧氯影府汕名佰处欺灼怔绚仰闪且又砌酸衙吻雀廖恤稻墨去抿们由屈膨片坯揩杖覆邑朽拿郭慰烟燥炽篮星详溢丝拄茫京忧肤察友奋复豹羔厌肃软卡苔妆懒伶昼切沙哨考腐沁特春膘解猫矮二秀瘩诽夯拟避抱痪雀忙角伯卉篮合靡鞭线仿脂郎踩盖魏刊瞄全是甥普昌
4、埃秆绕痕蹈荒肾捷贼迎耀颁增酌钡锨采坤镐忻族倍枚面猖侧索傣跋轻眶泅麦即媒脸承氮畴贯凉迹冬彤夹颁传肢采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集数据采集技术在工业控制及自动化等领域中发挥着重要的作用。数据采集的一般过程是这样的:向采集卡发出通道选择指令。选择要采集的通道号。启动A/D转换。等待,直到转换完成。从采集卡读出数据。对于多通道的采集,在程序的设计中,一般采用的两种方法。查询法或中断法。所谓查询方法就是采用一个循环,依次采集各个数据通道。查询法的优点是程序简单
5、,易于实现;缺点是采集过程中,CPU多数时间是在等待,造成资源的浪费。中断法是采用硬件中断的形式先启动A/D转换,在转换结束时发出一中断信号CPU响应采集卡的中断时读出所采集的数据。这样,在等待转换的时间里,CPU可以进行其他的计算工作,而不用处于等待状态。中断法的优点是资源能充分利用;但是程序设计复杂,尤其是当系统的硬件中断资源紧张时,很容易造成中断冲突;另外,在Windows或Win95等操作系统中,不允许用户安装中断处理程序时,则无法实现。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 以上讨论的两种方法都是在DOS下的方法;在Win95下,现在有了一个更好的方法多
6、线程技术。现在,我们可以利用多线程技术来进行数据采集。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 1. 采用多线程进行数据采集的优点采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- Win95/98最让人喜爱的除了漂亮的界面以外,就是多线程与多任务了。DOS环境中,执行中的程序可以独占全部的资源;在Windows环境中,虽然它是一个略具雏形的多任务环境,但是只要你喜欢,你的程序仍然可以掌握所有的CPU时间。但是,在Windows 95以及Windows NT中,一个程序无法独占所有的CPU执行时间。而且,一个程序也不是从头到尾一条线。相反,一个程序
7、在执行中可以分为多个程序片段,同时执行。这些能同时执行的程序片段称为线程。在Windows 95以及Windows NT中,操作系统同一时间可以轮流执行多个程序,这就是多任务。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 采用多线程进行数据采集可以有效地加快程序的反应速度、增加执行的效率。一般的程序中都要处理用户的输入,但用户的输入速度与CPU的执行速度相比就向走路与做飞机一样。这样,CPU就将浪费大量的时间用来等待用户的输入(如在DOS环境中)。如果采用多线程,那么就可以用一个线程等待用户的输入;另一个线程进行数据处理或其他的工作。对于数据采集程序,可以用一个单独的线
8、程进行数据采集。这样,能最大限度的保证采集的实时性,而另外的线程同时又能及时地响应用户的操作或进行数据处理。否则,程序在采集数据时就不能响应用户的操作;在响应用户操作时就不能进行数据采集。尤其当采集的数据量很大,数据处理任务很重时,如果不采用多线程,采集时的漫长的等待是很让人接受的。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 但是,多线程要比普通程序设计复杂得多。由于任一时刻都可能有多个线程同时执行,所以,许多的变量、数据都可能会被其他线程所修改。这就是多线程程序中最关键的线程间的同步控制问题。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 2.
9、 多线程进行数据采集应解决的问题采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 其实,多线程程序设计复杂是暂时的;如果,你采用传统的C进行多线程的设计,那么你必须自己控制线程间的同步。那将是很复杂的。但是,如果利用面向对象的设计方法,采用Delphi进行多线程程序设计,问题就简单多了。这是因为,Delphi已将多线程的复杂性替我们处理了,我们所要做的就是继承。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 具体地说,多线程数据采集需要完成以下工作:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 从TThread类派生一个自己的类
10、SampleThread。这就是我们用于数据采集的类。进行采集时,只需要简单地创建一个SampleThread的实例。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 重载超类TThread的Execute方法。在这一方法中将具体地执行数据采集任务。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 如果希望一边采集一边显示,就在编写几个用于显示采集进度的过程,供Execute方法调用。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- TThread类中最常用的属性/方法如下:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数
11、据采集Create方法:constructor Create采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集(CreateSuspended: Boolean);采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 其中CreateSuspended参数确定线程在创建时是否立即执行。如果为True,新线程在创建后被挂起;如果为False,线程在创建后立即执行。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集FreeOnTerminate属性:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集property FreeOnTer
12、minate: Boolean;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 该属性确定程序员是否负责撤消该线程。如果该属性为True,VCL将在该线程终止时自动撤消线程对象。它的缺省值为False。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集OnTerminate属性:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集property OnTerminate: TNotifyEvent;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 该属性指定一个当线程终止时发生的事件。采用多线程进行数据采集采用多线程进行数
13、据采集采用多线程进行数据采集- 下面看一个具体的例子:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 3. 多线程数据采集的实现采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 这是笔者开发的一个测抽油机功图的程序。它的功能是采集抽油机悬点的载荷及位移数据,经过处理后做出抽油机的功图。图1(略)所示是数据采集时的界面。点“采集数据”按钮后,程序将创建一新的线程,并设置其属性。这一新线程将完成数据采集任务。程序如下:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集Procedure TsampleForm.采用多线程进行数据采集采用多线
14、程进行数据采集采用多线程进行数据采集DoSampleBtnClick(Sender: TObject);采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集Begin采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集ReDrawBtn.Enabled := True;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集DoSampleBtn.Enabled := False;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集FFTBtn.Enabled := True;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集
15、TheSampler := SampleThread.Create(False);采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集创建采集线程采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集TheSampler.OnTerminate := FFTBtnClick;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采集完成后要执行的任务采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集TheSampler.FreeOnTerminate := True;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集采集完成
16、后撤消采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集End;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 采集线程的类定义如下:采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集Type采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集SampleThread = class(TThread)采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集Public采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集function AdRead(ach: byte): integer; safeca
17、ll;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集读A/D卡的函数采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集procedure UpdateCaption;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集显示采集所用时间采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集private采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集 Private declarations 采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集protected采用多线程进行数据采集采用多线程进行数据采
18、集采用多线程进行数据采集thes采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集thep: real;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集dt: real;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集id: integer;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集st采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集ed: LongInt;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集procedure Execute; override;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集这是关键。采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集End;采用多线程进行数据采集采用多线程进行数据采集采用多线程进行数据采集- 在这个类中定义了一个函数AdRead用于操作A/D卡,两个过程用于显示采集的进度与所用时间。需要注意的是AdRead函数是用汇编写的,参数调用格式必须
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《中西习语的翻译》课件
- 铁路旅客运输服务到站作业72课件
- 2025年四川省达州市渠县东安雄才学校中考二模语文试题
- 数据库的相关概念课件
- 塑料件的修理方法与步骤陈勇课件
- 双语列车长Bilingualconductor车票票价
- 水泥稳定土中心站集中厂拌法施工马雪姣河北交通课件
- 铁路旅客的服务期望铁路旅客运输服务课件
- 《GB 9078-1996工业炉窑大气污染物排放标准》(2025版)深度解析
- 餐厅装修设计与施工合同范本
- 湖北省武汉市2025届高中毕业生四月调研考试数学试卷及答案(武汉四调)
- GB 21258-2024燃煤发电机组单位产品能源消耗限额
- DB34∕T 4010-2021 水利工程外观质量评定规程
- 医疗美容诊所规章制度上墙
- 国际石油合作主要合同模式课件
- 花的生长过程课件
- 环境保护、水土保持工作检查记录
- TSG 81-2022 场(厂)内专用机动车辆安全技术规程
- 客户生命周期管理理论分析报告(共17页).ppt
- 事业单位同意报考证明
- 音调控制电路课件
评论
0/150
提交评论