新闻中心

EEPW首页>嵌入式系统>设计应用> 基于嵌入式WinCE的远程数据采集系统

基于嵌入式WinCE的远程数据采集系统

作者: 时间:2009-12-30 来源:网络 收藏

4模块设计

模块是整个器软件设计的核心部分,可以采用与设备连接的PLC、 单片机、工控机以及人机交互界面等,完成生产设备信息、环境信息及生产操作人员信息的 采集。在本文开发的中,主要是通过PLC 采集设备信息,通过单片机采集温度、湿度、 压力传感器的环境信息,通过采集器的人机交互界面直接采集生产现场 人员信息。

通过 PLC 采集设备信息时,数据采集器通过RS-232 接口以Host Link 通信协议与PLC 通讯。Host Link 通信协议采用“主从总线”方式通信,根据主动权的不同有两种实现形式, 一种是通信主动权在上位机(的采集器)一方,即方式一;另一种是主动权在 下位机(PLC),即方式二。根据传输信号的性质不同,两种方式可以结合使用。针对本系 统的特点,对需要用户动态配置的信号,如设备当日产量、运行时间等,采用方式一;对于 经常需要监控的信号,如机器的运行温度、转速等,采用方式二。方式二的优点在于,仅当 下位机的数据发生变化时,PLC 才发起通信并上传数据。这种通信方式可以大幅度减少上 位机的监视时间,提高的实时响应能力。本文仅以方式一为例说明动态信号的采集过程。

采集器主动向 PLC 发出Host Link 命令帧到PLC,PLC 接收到命令帧后自动向上位机 发送应答信号,完成一次信号的采集过程。在Host Link 协议中,“@”为起始符号;节点号 为PLC 的编号(00-31);识别码说明Host Link 命令帧的功能;FCS 包含2 个字符,是帧的校 验码,即从帧起始到报文结束之前数据的异或运算结果,用来检查帧的传送结果是否正确; “*”和“CR”为终止符,表明帧结束[3]。在本中,WinCE 中提供了操作文件IO 函数 和通信函数来操作串口,进行串口通信。为了避免读线程调用WaitCommEvent()函数时造成 程序阻塞,提高CPU 的利用率和通信程序的实时性,改善系统的整体性能,采用多线程技 术实现异步串口读写的模拟[4,5]。串口通信的主要步骤如图3 所示,(1) 调用函数CreateFile() 打开串口,函数SetCommState()配置串口参数;(2)调用函数CreateThread()创建读写线程, 模拟异步读写串口(WriteFile()将命令写入串口缓冲区,WaitCommEvent()等待串口*事件 集发生,ReadFile()读取串口数据);(3) 关闭串口,将采集的数据进行处理和存储。

采集环境信息时,用AT89C51 单片机、A/D 转换模块、加外围电路构成的小型单片机 系统,通过串口与采集器根据自定义通信协议进行通信,完成温度、湿度等数据的采 集。生产操作人员信息由嵌入式采集器的人机交互界面直接采集。

5 基于嵌入式WinCE 数据通讯模块设计

数据通信模块用于完成采集器与上层服务器之间的通信,其主要功能包括,接受控 制终端的命令,控制程序的运行状态,为程序的调试和监控提供方便;传输采集数据; 同步更新采集器配置文件。数据通信模块采用基于WinCE 的TCP/IP 协议,能够保证在传输 过程中数据的准确性和可靠性;嵌入式系统硬件抗干扰能力强,能够保证系统长期稳定运行。

在基于 WinCE 的TCP/IP 协议中,当接收到控制终端命令时,采集器处于TCP 服 务器角色,以便多个控制终端向采集器发送命令。其通信实现流程为:TCP 服务器首先调 用socket()函数建立流式套接字,然后调用bind()绑定本地地址,调用listen()函数进行* 客户终端连接,一旦*到客户终端连接后,服务器就调用accept()函数接收终端的连接请 求,并建立连接,同时服务器端启动一个新线程,建立单独的套接字实例与客户终端进行通 讯。通信协议格式为:命令名称,参数表。例如在通信格式“PATHR1, 0”中,PATHR1 命令表示暂停数据采集线程,参数0 表示立即执行。服务器收到此 命令后会立即暂停数据采集模块,并传回命令的执行结果。

采集器与服务器进行数据传输和配置文件(主要关于采集信号的类型,名称以及其它系 统配置信息)更新时,采集器处于TCP 客户端角色。其通信实现流程为:采集器调用socket() 函数建立流式套接字,然后调用connect()函数,请求与Linux 服务器建立TCP 连接,成功 建立连接后,同服务器进行数据传输和配置文件更新。数据传输和配置文件更新需要自定义 TCP 通信协议,采集器向服务器传输采集数据的通信协议格式为:数据类型,采集 时间,数据名称,数据值…;校验值;服务器向采集器更新配置文件的通信协议格式 为:数据类型,名称,区域,采集点数…;校验值。

6. 结束语

在微软提供的 PB(Platform. Builder)集成开发环境中,根据分层技术定制了基于WinCE 的开发平台,分别采用Host Link 协议和自定义协议设计了采集器与PLC 和单片机的数据采 集模块,并实现了采集器与Linux 服务器的数据通讯模块。作为一种新型的数据采集系统, 以嵌入式WinCE 为核心的远程数据采集系统充分发挥了嵌入式硬件设备的特点,系统实时 性强、稳定性好,功耗小,成本低,与传统的数据采集方案相比,特别适合于多点、多参数 的远程数据采集,具有广泛的应用前景。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭