系统需要在不同计算机之间进行参数传输,因此网络通信是必不可少的条件。本系统采用的是客户/服务器结构的应用程序,这种结构非常适用于分布式处理的计算机网络环境。由于系统是面向PC机平台的应用,因此采用基于TCP/IP协议的Winsock接口实现网络间的数据传输。
2、虚拟仪表面板对象
2.1面向对象的设计方法
在虚拟仪表的可视化设计过程中,采用了面向对象方法。一个虚拟仪表系统由许多仪表组成,每个虚拟仪表均由面板控制,因此按照面向对象的设计思想将面板分解为具有继承关系的面板对象(Panel Object),每个面板对象都有各自的独立属性和行为。
对于虚拟仪表系统,可以将其仪表面板对象划分为基本的图形元素和专用面板对象两类,如图2所示。基本的图形元素即图元包括直线、矩形、椭圆、多边形和文本等;专用面板对象包括按钮、开关、旋钮、动态调节器等面板控制控件和指示灯、数字仪表、指针仪表、图像显示器、示波器等面板显示控件以及其它特殊显示控件。2.2面板对象数据结构
在虚拟仪表系统中,面板对象是以图形的方式显示的,系统允许用户通过人机交互的方式对仪表对象的属性参数进行修改。对象的描述包括了定义面板对象各组成部分形状的几何坐标数据,对象的属性如线型、颜色等,还有非几何的文字或数值,如对象名称和可见信息等,它对于后处理程序或交互作用的使用是非常有用的。
各种面板对象都具有共同的属性,因此基于各种面板对象的数据类型和结构,可抽象出通用的基类数据结构。综上所述,可以如下定义面板对象的基类数据结构:
class base{
m_csObjectName;? 面板对象名称
m_bVisible;? 可视信息,0——不可见;1—— 可见
m_crPosition;? 面板对象的位置信息及其包围框大小信息
m_logbrush;? 绘制该面板对象时采用的画刷,决定填充属性
m_logpen; ? 绘制该面板对象时采用的画笔,决定线属性
};
具体的面板对象的数据结构均继承基类的数据结构,并在基类的基础上,根据不同的面板对象的属性和参数,添加相应的数据类型就可以确定特定的面板对象数据结构。