基于组态技术的分布式海洋站观测数据采集系统软件开发
2014-06-18刘佳佳窦宇宏赵庚怡
刘佳佳 窦宇宏 赵庚怡
【摘 要】 针对基于CAN总线的分布式海洋站观测数据采集系统,以MCGS为例对组态软件的特点和开发流程进行了详细描述,并与传统上位机软件开发方式进行了比较。根据海洋站观测的特点和业务需求,对上位机软件进行组态化开发。结合CAN总线技术在分布式数据采集方面的特点,论证了基于组态技术的分布式海洋站观测数据采集系统在系统结构、开发周期、开发难度、升级维护等方面与传统方式相比所具有的显著优势。并对软件开发和系统升级维护制定了简单、易用的通用工作流程。
【关键词】 组态 分布式 海洋站观测系统 数据采集
【Abstract】 Characteristics and developing progress of MCGS as a configuration software is described in detail and it is compared to traditional PC software developing method for distributed station-based ocean observation data acquisition system. The software is developed with configuration platform according to the professional requirements and features of station-based ocean observation. Combined with the characteristics of distributed data acquisition based on CAN-bus, the remarkable advantage and superiority are illustrated in terms of system structure, developing period, developing difficulty, system upgrade and maintenance by being compared with traditional software developing method. A general and easy-to-use developing process is offered for software development, system upgrade and maintenance.
【Key words】 Configuration distributed station-based ocean observation system data acquisition
目前,我国海洋观测站所采用的观测系统为集中式结构。集中式数据采集方式由于结构封闭,导致传感器独立性不强,互换性差,当扩充观测功能,增加新的要素传感器时,不能直接进行升级,必须对数据采集器进行更换,从而造成重复建设和资源浪费。笔者曾将基于CAN总线的分布式数据采集技术应用到海洋站观测数据采集系统中,并验证了其应用可行性。以开放式的结构代替了传统封闭式的结构,实现了系统硬件结构的优化[1]。但在上位机软件开发还是采用原有的C++ Builder开发平台,采用虚拟CAN接口函数库,即VCI函数库,实现对CAN网络的控制。此种编程方法对熟悉高级程序语言开发的人员来说是一种较为便捷的开发方式,但后期进行系统升级时需要对程序代码和界面进行修改并重新进行测试后才能部署。而此项工作无法在海洋观测站现场由非专业软件开发人员在短时间内完成。因此即使能够在现场完成硬件设备的升级,也无法真正实现整个系统的现场快速升级。而对于业务化运行的海洋站观测系统,为了使分布式的系统在系统升级和组网的时候具有更高的灵活性,应当考虑使用组态软件进行系统软件开发。通过组态软件开发方式可以取代传统程序开发中漫长的代码编写过程,大大缩短软件开发流程并降低开发难度。当需要为观测系统增减观测要素时,只需增减软件界面上对应的可视化控件和相应的数据对象及相应脚本,在上位机上现场进行简单操作便可实现系统软件升级。
1 基于CAN总线的分布式海洋站观测数据采集系统
为了解决当前海洋站观测数据采集方式的局限性和由此带来的相关问题,本项目在对海滨观测业务需求和海洋环境进行分析的基础上,将目前在国际上广泛应用在汽车控制、工业现场的CAN总线技术引入到海洋站观测数据采集系统中来。CAN总线为多主结构网络,根据信息帧优先级进行总线访问,大大提高了系统的性能。总线采用短帧报文结构,实时性好,并具有完善的数据校验、错误处理以及检错机制。此外CAN总线节点在严重错误下会自动脱离总线,对总线通讯没有影响。CAN-bus网络中,数据收发、硬件检错均由CAN控制器硬件完成,大大增强了CAN-bus网络的抗电磁干扰能力。CAN总线适用于节点数目多,传输距离在10公里以内,对实时性和安全性要求较高的场合。因此,CAN总线的适用范围与海洋环境现场观测的需求较为相符。
CAN总线网络可以通过基于单片机的方式或基于PC机的方式进行主从节点开发。由于目前海洋观测站均配有工控PC,因此适于选用基于x86平台的方式进行系统开发[2]。本项目采用基于iCAN应用层协议的功能模块和CAN智能协议转换模块和传感器组成智能子节点。根据传感器的不同信号输出类型选择相对应的功能模块。对于距值班室较远的测点可以利用网关将总线信号转换为以太网信号通过网线进行传输。主节点采用在工控PC上安装CAN接口卡的方式实现。通过分布式数据采集方式替代集中式数据采集方式,使原有的封闭结构变为开放式,将系统需要升级扩容时,可直接将新传感器根据信号输出类型接入到对应的功能模块,即可在现场快速完成系统硬件升级。而无须像传统的集中式数据采集器一样需要重新设计并制造数据采集电路,经过调试和试运行等漫长周期才能完成系统升级。endprint
2 传统方式开发上位机软件
传统的集中式海洋站观测系统上位机软件是在C++ Builder平台上开发的。同时,C++ Builder也可以作为开发平台用于基于CAN总线的分布式观测系统上位机软件的开发。通过调用VCI(虚拟CAN接口)函数库的方式实现对接口的控制。VCI函数库是位于应用程序到驱动程序之间的中间层,有效地把调用程序的一些繁琐复杂的步骤隐藏起来,提供给用于一个统一、简单的应用接口。而对于基于应用层协议的接口程序开发则是要调用建立在PC-CAN接口卡和VCI函数库基础之上的主站函数DLL库,实现对网络的控制。
该种软件开发方式利用调用函数库的方式对接口进行控制比起直接操作接口函数去控制接口已经省去了很多复杂的开发步骤,但当观测系统需要升级扩容时,上位机软件也要重新修改代码重新编译和进行程序测试,其修改周期少则几周多则数月。如原先的软件开发人员已经离开,则整个软件可能要进行重新开发,可能会需要更长的时间,因此尽管系统硬件可以在现场完成快速升级,其上位机软件也无法在短时间内完成相应的升级,从而影响整个观测系统升级的进度。
3 组态方式开发上位机软件
3.1 什么是组态软件
简单地将,组态就是用应用软件中提供的工具、方法,完成工程中某一具体任务的过程。在组态的概念出现之前,要实现某一软件开发任务,都是通过编写程序(如使用VC,VB等)来实现的,不但工作量大、周期长,而且容易犯错误,不能保证工期。而组态软件的出现,解决了这个问题,对于过去需要几个月的工作,通过组态几天就可以完成。
3.2 系统软件设计需求
组态软件的专业性较强,本项目使用在工业计算机控制领域较为成熟的组态软件MCGS,结合海洋站自动观测系统的业务需求对系统软件进行开发。用MCGS软件设计出的海洋站观测系统软件要求具备以下主要功能:
(1)具有数据采集功能,使监控软件中心能实时接收现场气象传感器和水文传感器的采集数据,并保证数据传输的准确性。(2)具有数据分析处理功能,能对历史数据进行查询、统计以及按照日月年进行报表输出打印。(3)通过画面组态能直观的显示各个传感器采集的实时测量值。(4)具有测量值超限的报警功能,用户根据实际情况,可以修改上下限的值。以便对测量信息的有效分析和设备的安全运行。(5)通过MCGS变量,对数据库实现各种操作和数据处理。系统中需要将数据按照所设定时间存入数据库中,同时也能将数据库中的数据读入至MCGS中。
3.3 监控软件功能模块设计
按照对系统功能的需求分析,整个系统软件主要完成数据监测、数据处理、系统设置、报表输出、超限报警以及数据库链接。因此可以将总体系统规划为几个模块,主要分为参数设置,系统自检,数据采集,历史数据曲线,超限报警等。系统总体框架如图2所示。参数设置主要是报警值的设置以及存储周期的设置,即用户在此模块中可以根据实际情况改变水文气象观测值参数的上下限,这样报警范围就会发生变化。而存储周期的设置用于确定数据多长时间存入数据库中一次;系统自检为监测与硬件设备通讯是否正常;数据采集为各个要素的实时观测值。历史数据曲线可以查看过去一段时间内的气象水文要素测量值的变化趋势;报警模块与前面的参数设置模块相对应,用于显示报警信息。
3.4 开发步骤
利用MCGS组态软件进行项目开发,一般分为以下步骤:
(1)安装并运行ZOPC_Server服务器软件。ZOPC_SERVER作为CAN-bus数据接收/发送服务器,一方面将MCGS要发送的命令和数据写进CAN接口卡,另一方面将CAN接口卡从CAN总线上收集来的数据读取出来送给MCGS进行处理。通过软件菜单添加主站和从站并启动服务器。(2)建立MCGC工程,制作工程画面。从工具箱中向用户窗口插入元件、符号和标签搭建显示界面。包括实时数据标签、动画元件、历史数据曲线和报表等。(3)定义数据对象。实时数据库是整个工程的数据交换和数据处理中心,它把MCGS工程的各个部分连接成一个有机的整体。首先,根据海滨观测规范的要求制定各观测要素测量值(数据变量)的名称、类型、初始值和范围。然后,确定与数据变量存盘相关的参数(存盘周期、存盘时间范围和保存期限)。(4)动画连接。将第2步中建立的用户窗口中的图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性。在属性窗口的表达式选项中根据信号输出特性输入相应的表达式。在系统运行过程中,图形对象的外观和状态特征由数据对象的实时采集值驱动,从而实现了图形的动画效果。(5)设备连接。在设备窗口中添加OPC设备,并指定在第1步中启动的OPC服务器。即可对连接到OPC服务器的各通道进行设置和调试。(6)制定运行策略。通过对运行策略的定义,是系统能够按照设定的顺序和条件操作实时数据库,实现对外部设备工作过程的精确控制。当观测数据超过正常范围时,由用户策略控制系统进行报警。
3.5 升级维护
当观测系统进行扩容升级时,需要对上位机软件做出相应的改动。由于使用组态软件开发的是基于模块化的应用软件。所以只需在用户窗口中添加新增观测要素的显示图形对象,并在实时数据库中添加新增的数据对象并将其与用户窗口的图形对象进行关联,对设备通道进行简单的设置并适当调整策略,无需编写代码只要进行配置即可在现场完成软件升级。
4 组态软件开发方式与传统软件开发方式对比
和传统软件开发方式相比,组态软件的主要特点有:
(1)延续性和可扩充性。使用组态软件开发的应用程序,当现场(包括硬件设备或系统结构)或用户需求发生改变时,不需作很多修改而方便地完成软件的更新和升级。(2)封装性。组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户,不需掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能。(3)通用性。即使观测系统采用不同厂家生产的观测设备,组态软件利用其丰富的底层设备驱动程序、开放式的数据库和画面制作工具,就能完成一个具有实时数据显示及动画效果、实时数据处理、历史数据回放和数据曲线等功能的软件。endprint
5 组态软件在分布式海洋站观测数据采集系统中的应用
由于组态软件的通用性,使其广泛应用于各种工业控制领域,其可用性已经得到了充分验证。 和工业控制相比,海洋观测具有其特殊性。
由表2可以看到无论在系统结构、监控方式、网络规模还是业务需求方面,海洋站观测系统比大多数工业控制领域的系统结构简单且性能要求较低。因此,使用广泛应用在工控领域的组态软件能够进行海洋站观测数据采集系统软件的开发。
6 结语
通过为期三个月的测试,基于组态技术开发的海洋站观测系统软件运行正常。且可以在很短时间对系统的软硬件结构进行扩充或裁剪,实现了海洋站观测系统真正的快速升级。基于CAN总线技术的分布式海洋站观测系统的可用性已在该项目中得到验证,若将组态技术结合CAN总线技术广泛应用到全国海洋站观测系统当中,可以大幅缩短系统升级所需要的时间,可由海洋站工作人员在现场完成硬件升级并在台站上位机上直接完成软件升级,能够提高工作效率并大大节省人力物力。
参考文献
[1]刘佳佳,赵庚怡,窦宇宏.基于iCAN网络的海洋观测数据采集系统通用原型设计[J].海洋技术,2013,32(4):1-3.
[2]周立功.iCAN现场总线原理与应用[M].北京航空航天大学出版社,2007.
[3]国家海洋局北海分局,GB/T14914-2006,海滨观测规范[S].中华人民共和国国家质量监督检验检疫总局;中国国家标准化管理委员会,2006.
[4]许文竹.基于MCGS组态软件的水环境多因子监控系统[D].江苏大学,2006.
[5]杨兴果.基于MCGS与CAN-bus的石墨电极生产过程参数监测网设计[D].湖南大学,2007.
[6]冯江涛.基于MCGS和iCAN的分布式监控系统[J].工业控制计算,2008,21(2):1-2.
[7]韩立,尹爱军.基于组态技术的测控软件开发及测试[J].中国测试,2010,36(4):1-3.
[8]庞传和,王飞.应用MCGS 组态软件开发温度、湿热试验设备控制系统[J].飞航导弹,2004(5):1-2.
[9]周立功单片机发展有限公司,基于iCAN协议的CAN-bus分布式控制系统[J].单片机与嵌入式系统应用,2006(04).endprint
5 组态软件在分布式海洋站观测数据采集系统中的应用
由于组态软件的通用性,使其广泛应用于各种工业控制领域,其可用性已经得到了充分验证。 和工业控制相比,海洋观测具有其特殊性。
由表2可以看到无论在系统结构、监控方式、网络规模还是业务需求方面,海洋站观测系统比大多数工业控制领域的系统结构简单且性能要求较低。因此,使用广泛应用在工控领域的组态软件能够进行海洋站观测数据采集系统软件的开发。
6 结语
通过为期三个月的测试,基于组态技术开发的海洋站观测系统软件运行正常。且可以在很短时间对系统的软硬件结构进行扩充或裁剪,实现了海洋站观测系统真正的快速升级。基于CAN总线技术的分布式海洋站观测系统的可用性已在该项目中得到验证,若将组态技术结合CAN总线技术广泛应用到全国海洋站观测系统当中,可以大幅缩短系统升级所需要的时间,可由海洋站工作人员在现场完成硬件升级并在台站上位机上直接完成软件升级,能够提高工作效率并大大节省人力物力。
参考文献
[1]刘佳佳,赵庚怡,窦宇宏.基于iCAN网络的海洋观测数据采集系统通用原型设计[J].海洋技术,2013,32(4):1-3.
[2]周立功.iCAN现场总线原理与应用[M].北京航空航天大学出版社,2007.
[3]国家海洋局北海分局,GB/T14914-2006,海滨观测规范[S].中华人民共和国国家质量监督检验检疫总局;中国国家标准化管理委员会,2006.
[4]许文竹.基于MCGS组态软件的水环境多因子监控系统[D].江苏大学,2006.
[5]杨兴果.基于MCGS与CAN-bus的石墨电极生产过程参数监测网设计[D].湖南大学,2007.
[6]冯江涛.基于MCGS和iCAN的分布式监控系统[J].工业控制计算,2008,21(2):1-2.
[7]韩立,尹爱军.基于组态技术的测控软件开发及测试[J].中国测试,2010,36(4):1-3.
[8]庞传和,王飞.应用MCGS 组态软件开发温度、湿热试验设备控制系统[J].飞航导弹,2004(5):1-2.
[9]周立功单片机发展有限公司,基于iCAN协议的CAN-bus分布式控制系统[J].单片机与嵌入式系统应用,2006(04).endprint
5 组态软件在分布式海洋站观测数据采集系统中的应用
由于组态软件的通用性,使其广泛应用于各种工业控制领域,其可用性已经得到了充分验证。 和工业控制相比,海洋观测具有其特殊性。
由表2可以看到无论在系统结构、监控方式、网络规模还是业务需求方面,海洋站观测系统比大多数工业控制领域的系统结构简单且性能要求较低。因此,使用广泛应用在工控领域的组态软件能够进行海洋站观测数据采集系统软件的开发。
6 结语
通过为期三个月的测试,基于组态技术开发的海洋站观测系统软件运行正常。且可以在很短时间对系统的软硬件结构进行扩充或裁剪,实现了海洋站观测系统真正的快速升级。基于CAN总线技术的分布式海洋站观测系统的可用性已在该项目中得到验证,若将组态技术结合CAN总线技术广泛应用到全国海洋站观测系统当中,可以大幅缩短系统升级所需要的时间,可由海洋站工作人员在现场完成硬件升级并在台站上位机上直接完成软件升级,能够提高工作效率并大大节省人力物力。
参考文献
[1]刘佳佳,赵庚怡,窦宇宏.基于iCAN网络的海洋观测数据采集系统通用原型设计[J].海洋技术,2013,32(4):1-3.
[2]周立功.iCAN现场总线原理与应用[M].北京航空航天大学出版社,2007.
[3]国家海洋局北海分局,GB/T14914-2006,海滨观测规范[S].中华人民共和国国家质量监督检验检疫总局;中国国家标准化管理委员会,2006.
[4]许文竹.基于MCGS组态软件的水环境多因子监控系统[D].江苏大学,2006.
[5]杨兴果.基于MCGS与CAN-bus的石墨电极生产过程参数监测网设计[D].湖南大学,2007.
[6]冯江涛.基于MCGS和iCAN的分布式监控系统[J].工业控制计算,2008,21(2):1-2.
[7]韩立,尹爱军.基于组态技术的测控软件开发及测试[J].中国测试,2010,36(4):1-3.
[8]庞传和,王飞.应用MCGS 组态软件开发温度、湿热试验设备控制系统[J].飞航导弹,2004(5):1-2.
[9]周立功单片机发展有限公司,基于iCAN协议的CAN-bus分布式控制系统[J].单片机与嵌入式系统应用,2006(04).endprint