企业资质

厦门仲鑫达自动化设备有限公司

普通会员8
|
企业等级:普通会员
经营模式:
所在地区:福建 厦门
联系卖家:
手机号码:
公司官网:
企业地址:
企业概况

DCS集散式控制系统:FOXBORO(福克斯波罗):I/ASeries系统:FBM(现场输入/输出模块)顺序控制、梯形逻辑控制、事故追忆处理、数模转换、输入/输出信号处理、数据通信及处理等。TRICONEX:冗余容错控制系统、基于三重模件冗余(TMR)结构的最现代化的容错控制器。Westinghou......

ABB 3HAC17282-1/07A

产品编号:176744964                    更新时间:2018-10-25
价格: ¥569.00

厦门仲鑫达自动化设备有限公司

  • 主营业务:AB ABB GE 施耐德本特利
  • 公司官网:
  • 公司地址:

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情

ABB 3HAC17282-1/07A

ABB 3HAC17282-1/07A

多线程技术及在VC++串口通信程序中的实现

在Windows的一个进程内,包含一个或多个线程,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。

一个进程内的所有线程使用同一个32位地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行和什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完任务后再执行。在多处理器的机器上,调度程序可以把多个线程放到不同的处理器上运行,这样可以使处理器的任务平衡,也提高系统的运行效率。

Windows内部的抢先调度程序在活动的线程之间分配CPU时间,Windows区分两种不同类型的线程,一种是用户界面线程(UserInterfaceThread),它包含消息循环或消息泵,用于处理接收到的消息;另一种是工作线程(WorkThread)它没有消息循环,用于执行后台任务、监视串口事件的线程即为工作线程。

本系统采用MFC编程方法,MFC是把串口作为文件设备来处理的,它用CreateFile()打开串口,并获得一个串口句柄,用SetCommState()进行端口配置,包括缓冲区设置,超时设置和数据格式等。然后调用函数ReadFile()和WriteFile()进行数据的读写,用WaitForSingleObject()监视通信事件。在用ReadFile()和WriteFile()读写串口时,一般采用重叠方式。因为同步I/O方式是当程序执行完毕才返回,这样会阻塞其他线程,降低程序执行效率。而重叠方式能使调用的函数立即返回,I/O操作在后台进行,这样线程就可以处理其他事务,同时也实现了线程在同一串口句柄上实现读写操作。

使用重叠I/O方式时,线程要创建OVERLAPPED结构供读写函数使用,该结构***重要的成员是hEvent事件句柄。它将作为线程的同步对象使用,读写函数完成时hEvent处于有信号状态,表示可进行读写操作;读写函数未完成时,hEvent被置为无信号。

利用Windows的多线程技术,在辅助线程中监视串口,有数据到达时依靠事件驱动,读入数据并向主线程报告;并且,依靠重叠读写操作,让串口读写操作在后台运行。

厦门仲鑫达自动化设备有限公司电话:传真:联系人:

地址:主营产品:AB ABB GE 施耐德本特利

Copyright © 2025 版权所有: 产品网店铺主体:厦门仲鑫达自动化设备有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。