碧波液压网 欢迎你,游客。 登录 注册

基于多线程技术的离合器在线检测系统的设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  0 引言

  对数据采集量大,要对数据进行复杂算法处理的工业检测系统,须使用一定的技术,保证系统的可靠性、稳定性和实时性。具有并行处理多任务特性的多线程技术是解决该问题的重要方法。故利用多线程技术设计洗衣机减速离合器在线检测系统。

  1 系统的硬件体系结构

  系统的硬件部分主要由研华(ADVANTECH)PCI-1710L 数据采集卡、PCLD-8710LD 接线端子版、IPC-6710 工控机及力矩和振动传感器等构成。PCI-1710L 数据采集卡的主要功能包括:支持即插即用、具有一个自动通道/增益扫描电路、具有FIFO缓冲器、提供了可编程的计数器、提供16 路开关量输入和16 路开关量输出。系统的体系结构如图1。

  系统中的PCI-1710L 涉及到DI、DO、AI 信号处理。其中,AI 信号的处理最为复杂。

  传感器采集的现场信号经滤波器滤波后进入PCI-1710L 板卡,板卡内的A/D 转换器进行高速的模数转换。转换后的数据首先暂存在板卡的4K 板载FIFO 中,当FIFO 半满或全满时,向DMA 控制器发送DMA 请求,使用直接内存存取方式经PCI总线将数据从FIFO 输出到内部缓冲区中。在进行长时间的高速数据采集时,PCI-1710L 多采用循环方式。在此采集方式下,启动一次采集过程能启动无数次的A/D 转换。此时内部缓冲区分成前后对等的两个半区使用,当前半区填满后就将此半区数据向用户缓冲区传送,同时将新转换的数据放在内部缓冲区的后半部分。当后半区填满后将此半区数据向用户缓冲区传送。同时自动将新转换的数据放到早已传送完毕的前半个缓冲区。内部缓冲区和用户缓冲区的数据可在程序控制下存放到硬盘内,实现数据的永久保存,便于后期的数据分析。

  2 多线程技术

  线程作为进程的执行引擎(进程中的一条执行路径),无论是在经典进程还是现代进程中,都由线程数据和线程状态构成,如图2。进程为线程定义了执行环境,即二进制程序、数据和资源(包括文件)的集合。每个线程有自己的栈和状态,所以线程能并行执行二进制程序的不同部分。

  支持多任务处理的操作系统,在需要处理器时间的线程间分割可用处理器时间,并依据线程的优先级轮流为每个线程分配处理器时间片。

  线程被创建后成为一个执行代码的独立实体。有的线程生存周期很长,例如主线程,其生存期同进程的生存期。有的线程则在完成一项任务后退出。所有线程无论生命期长短需经历如图3 状态。

  刚创建的线程处于Initialized 状态,表示该线程所需的所有资源已准备完毕,可被调度执行。在下一个线程调度时,转入Ready 状态。如Ready 状态的线程被调度选中,进入Running 状态。该状态指示线程当前正在使用处理器执行代码。线程在执行过程中会因休眠(Sleep)而让出CPU,转入Ready状态。在使用完CPU 分配的时间片后转入Ready状态。在执行过程中可能因某些操作而阻塞,这时线程将由Running 状态转入Wait 状态。处于该状态的线程将一直等待,直到等待的资源准备就绪,才会被唤醒,唤醒后转入Ready 状态等待调度。线程在执行完代码后进入Terminated 状态,该状态指示线程已完成执行并已退出。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: 同步
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论