赵文涛,丁 益
(中国电器科学研究院有限公司 试验装备分公司,广州 510300)
C-S架构模式的数据采集在双系统阀件容量检测中的应用
赵文涛,丁 益
(中国电器科学研究院有限公司 试验装备分公司,广州 510300)
针C-S(客户-服务器)结构是一种大家都熟知的软件体系结构,通过将不同的任务合理分配到Client端和Server端,可以降低系统的通讯开销,充分利用系统的硬件优势。就C-S架构模式的数据采集在双系统阀件容量检测系统中的应用的情况进行简单总结。
双系统阀件容量检测系统;C-S架构;数据采集
当前的试验检测设备正朝着高度集成、高度自动的方向发展。本着开源节流,降本增效的宗旨,双系统阀件容量检测设备在设计之初,就使用大系统和小系统两套检测设备共用一套电气控制及数据采集设备的方案。为了解决两套阀件容量检测系统能够相互独立、稳定地进行试验检测,因此采用了C-S架构模式的数据采集方式。即就是将硬件数据采集部分作为独立的一套的程序,用作采样数据服务端(Server),将大系统阀件容量检测程序和小系统阀件容量检测程序两套程序分别作为客户端(Client),然后通过C-S模式进行数据交互,进行试验检测。
双系统阀件容量检测系统是按照Q/ZSH 012-2010《家用和类似用途电磁四通换向阀》,JB/T 7230《热泵用四通电磁换向阀》,JB/T 8592-1997《家用和类似用途电磁四通换向阀》,鹭宫、中国兰柯四通阀容量标准,JISB 8619《热力膨胀阀试验方法》,JB/T 10212《制冷空调用直动式电子膨胀阀》[1,2,3,4,5]等各种标准的规定为设计依据的测试热力膨胀阀、电子膨胀阀和四通换向阀标称容量(能力)的检测系统。该设备分为大系统(设计容量为4~24日本冷吨)和小系统(设计容量为0.75~4日本冷吨)两套测试系统。
传统的设备检测试验软件,是一个将硬件通讯,数据采集,数据处理集成在一体的单机测量程序。虽然此类程序,针对测量目标比较单一,结构比较集成的检测设备,具有安装简单,使用方便的优点,但是随着检测设备的集成性不断提高,复杂度不断增大,单系统向多系统发展等检测技术的发展,单机程序的缺点便慢慢显露出来。
1)单机程序将硬件数据采集和试验检测过程集中在一起,大大增加了测试电脑硬件负担,对测试电脑的配置要求比较高;
2)单机程序无法针对多系统的检测设备作出灵活的设计更改。要同时满足多台检测设备的检测要求,单机程序容易出现逻辑混乱,测试困难的情况;
3)单机程序将硬件数据采集和试验过程集成在一起,如果硬件采集部分出错,进而会导致整个程序崩溃退出,不利于设备整体测试的安全、稳定。
引入的C-S架构模式数据采集方式的检测系统,可以轻松地将硬件采集和测试系统分离出来。并且该模式具有以下单机程序所不能比拟的优点。
1)C-S架构模式的数据采集方式,将硬件采集系统与大、小两套检测系统独立的分离开来,形成一套服务器端(Server)的硬件数据采集系统和两套客户端(Client)的大小检测系统,共三套程序,独立并行的运行于Windows操作系统,大大减轻了测试电脑的硬件负担,降低了测试电脑的硬件配置;
2)C-S架构模式数据采集的检测系统,可自由扩展检测系统的功能,并且检测系统独立运行,不相互影响,逻辑清晰,操作简便;
3)检测系统和硬件数据采集系统分离,各自独立运行,不会出现因检测系统出错或者硬件采集系统出错而导致整个程序崩溃的情形,程序运行安全稳定;
4)C-S架构模式数据采集的检测系统,可方便地共同运行于同一台测试电脑,也可独自运行在不同的测试电脑之上,可移植性比较强。
C-S架构模式数据采集的检测系统的示意图如图1所示。
图1 C-S架构模式数据采集的检测系统的示意图
图2 硬件数据采集程序的运行界面
3.1 硬件数据采集程序
在C-S架构模式的数据采集方式的阀件容量检测系统中,硬件数据采集程序是其中最核心的一部分,也就是C-S架构模式中的服务器端(Server),所有的电气设备测量数据的采样全部都由此部分完成。
硬件采集程序从逻辑层面分为两部分功能,一部分为硬件数据采样功能,另一部分是作为C-S架构模式中的服务器部分的功能。
3.1.1 硬件数据采样功能
硬件数据采集程序的运行界面如图2所示。
界面上有记录仪状态和连接状态两种,记录仪状态指的是数据采集程序与电气控制柜上的数据记录仪的连接状态,如连接正常,则MW-1~MW-3的指示状态点亮。连接状态指示的是数据采集程序的通讯状态(Comm.)和客户端(阀件容量测试程序)与服务器的连接指示状态。如客户端与服务器端连接正常,则Small和Big指示状态点亮。
硬件数据采样功能是通过构建上位机与检测设备电气控制仪表之间的通讯连接,如RS-232/485串口通讯连接,或者TCP/ IP网络连接等,从设备的测量仪表上获取实时的测量采样数据。
3.1.2 硬件数据服务功能
数据服务器程序将从设备测量仪表上采样获取的实时数据,通过自建的网络通讯协议,发送给连接到服务器的客户端,供客户端程序计算、分析和处理。
自建网络通讯协议,就是开发者自行规定在服务器与客户端之间进行数据交互的一些关键字或者规则。服务器和客户端进行数据交互时,就是依靠这些关键字和规则进行数据的打包,分发和解析。
3.1.3 硬件数据服务端的实现
数据服务器程序使用TCP/IP网络协议,引入3个Winsock控件,一个负责与客户机建立连接的服务,一个负责侦听的服务,最后一个负责服务端的总体响应[6]。
程序初始化之初,根据客户端的数量,加载相应数量的客户服务端Winsock控件。本程序加载两个客户服务端控件,即大系统和小系统客户服务控件。然后负责侦听的Winsock控件负责实时侦听服务端口,如有客户端访问服务器端,则建立客户端与服务器端的连接。
当客户端与服务器成功建立连接后,硬件采集程序界面上的Small(小系统状态)或者Big(大系统状态)就会高亮显示,表示相应的测试系统已经成功与数据采集服务器程序建立了网络连接。此时,硬件数据服务器程序会将从电气控制设备仪表上获取的实时测量数据通过该网络连接下发给相应的测试系统(Client),供测试系统试验检测使用。
3.2 阀件容量检测程序
阀件容量检测系统分为小系统阀件容量检测系统和大系统阀件容量检测系统两套系统,统称为双系统阀件容量检测系统。阀件容量检测程序就是根据系统所测量的实时压力值、温度值及各种电参数值,依据相应的标准来进行相关的分析、计算,检测系统中所安装的热力膨胀阀或者四通换向阀的标称容量(能力,单位为W)。
大、小系统的阀件容量检测程序在C-S架构中,是作为整个架构的客户端(Client)。程序启动时,首先启动硬件数据采集程序,用以进行设备硬件数据采集和服务。阀件容量检测程序启动时,就向服务端(Server)发送连接的请求,当服务端侦听到客户端的连接请求时,就分配一个Winsock与其进行连接。当连接建立成功后,服务端与客户端即可实现数据的交换了。其工作原理如图3所示。
阀件容量检测程序的运行界面如图4所示。
本文基于在双系统阀件容量检测系统中实际碰到的数据采集和交互的问题,对如何采用C-S架构模式的数据采集方式予以解决进行了详细地阐述。
图3 工作原理
图4 阀件容量检测程序的运行界面
C-S架构模式的数据采集及交互方式,相较于传统的单机集成硬件采集和数据管理的方式,系统硬件成本更低,逻辑性、扩展性更强,测试程序运行的稳定性和安全性也更高,值得在后面的项目中推广使用。
[1]Q/ZSH 012-2010,家用和类似用途电磁四通换向阀 [S].
[2]JB/T 7230,热泵用四通电磁换向阀 [S].
[3]JB/T 8592-1997,家用和类似用途电磁四通换向阀 [S].
[4]JIS B 8619,热力膨胀阀试验方法 [S].
[5]JB/T 10212,制冷空调用直动式电子膨胀阀 [S].
[6]求是科技.Visual Basic 6.0 程序设计与开发技术 [M].北京:人民邮电出版社,2004,09.
The Application of C-S Architecture Pattern for Data Acquisition in the Testing for Dual System Values Capacity
ZHAO Wen-tao,DING Yi
(China Electric Apparatus Research Institute Co.,Ltd.,Guangzhou 510300)
CS (client - server) structure is a well-known software architecture.Through the rational allocation of different tasks to Client-side and Server-side,the users can reduce the communication overhead of the system,the full advantage of the hardware system.In this paper,the case of the application architecture pattern of data collection in C-S dual system valves capacity detection system will be briefly summarized.
dual system valves capacity test system;C-S architecture;data acquisition
TP399
B
1004-7204(2015)06-0058-04
赵文涛(1981-),男,中国电器科学研究院有限公司试验装备公司,工学学士,工程师,从事软件设计开发工作。
丁 益(1988-),男,中国电器科学研究院有限公司试验装备分公司,工学学士,助理工程师,从事电气自动化设计工作。