基于多线程技术的离合器在线检测系统的设计
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 状态,该状态指示线程已完成执行并已退出。
相关文章
- 2023-03-22SolidWorks在管路补偿接头系列化设计中的应用
- 2023-04-04基于NX的FANUC系统四轴加工中心后置处理器构建
- 2023-05-28锁相红外热成像技术在无损检测领域的应用
- 2023-04-12全电子包装秤故障原因分析及策略
- 2021-12-20DSP和FPGA在大尺寸激光数控加工系统中的运用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。