Promonitor2000一体化数据接入及采控平台软件设计总体方案第1页共8页Promonitor2000一体化数据接入及采控平台软件设计总体方案文档编号:P2000——01.01.003设计人员:唐卫隶属:总体设计完成日期:2001年1月4日一、概述Promonitor2000一体化数据接入及采控平台是深圳亚奥新实业有限公司南京研究所设计的新一代数据接入及采控设备。它采用平台化设计理念,对于硬件和软件的都引入了分层实现的设计。各个模块和对上接入采用统一、标准的接口和协议。实现各种智能、非智能设备的数据接入、控制和语音、图象的接入传输。二、软件概况Promonitor2000的软件分为三大部分:以8031为CPU的采控模块上的在板软件。以Motorola68860为CPU,运行在OSE实时操作系统上的平台主处理模块软件。运行在PC平台、MicrosoftWin9x/NT/2000操作系统上的上位机软件。下面,分别描述各个软件的基本功能1、采控模块软件采控模块软件为运行在智能设备协议转换器、通用模拟、数字采控板、专用模拟、数字采控板上的软件的总称。其包括以下主要功能:传感器数据的采集和可控元件的控制专用模拟、数字的采集和控制智能设备的数据采集、转换、控制在线测试部分采控板支持远端加载功能2、主处理模块软件主处理模块软件包括运行在主处理板上的软件和专用通讯板、图象语音板等上的软件。其中,主处理模块软件包括以下主要功能:采控模块的接入和数据转换采控数据的处理和存储用户定义的运算和执行逻辑的实现在线调试和加载通讯协议转换和音视频码流传输控制3、上位机软件上位机软件实现系统人机交互的所有功能。主要包括以下部分:运行时态的人机交互配置时态的系统在线配置、运行脚本编辑、在线调试系统的数据存储和查询三、软件接口采控模块与主处理模块使用《Promonitor2000一体化数据接入及采控平台采控模块接口协议规Promonitor2000一体化数据接入及采控平台软件设计总体方案第2页共8页范》(编号:P2000——02.01.001)所定义的接口协议。音视频模块与主处理模块使用《Promonitor2000一体化数据接入及采控平台音视频模块接口协议规范》(编号:P2000——02.01.002)所定义的接口协议。通讯模块与主处理模块使用《Promonitor2000一体化数据接入及采控平台通讯模块接口协议规范》(编号:P2000——02.01.003)所定义的接口协议。上位机之间与主处理模块使用《Promonitor2000一体化数据接入及采控平台内部接口协议规范》(编号:P2000——02.01.004)所定义的接口协议。四、采控模块软件的设计1、开发工具采控模块软件使用C-51开发,使用标准C语言工具。2、模块设计采控软件由以下几个模块构成:引导模块:系统的初始化引导和远端程序加载(根据不同的CPU可选)。源程序:BOOT.C。通讯模块:与主处理模块根据《采控模块接口协议》进行通讯的模块。源程序:RS485.C。数据模块:维护采控实时数据的模块。源程序:DATA.C。输入输出模块:采集控制实时数据或智能设备的模块。源程序:IO.C。主控模块:采控软件的主控制模块。源程序:MAIN.C。以上模块中,引导模块、通讯模块、数据模块为公用模块,各个采控板基本不变。输入输出模块、主控模块根据采控板的采控数据类型、方式和采控板的个别特征做局部修改。3、实现采控软件维护一个内部的采控数据表,该表记录采控板所有量的当前值。采控软件的主程序基本围绕该表进行,主要包括以下几个事件响应:根据主控模块的设定,定时触发输入输出模块采集采控板监测的数据量,并将数据提交给数据模块刷新采控数据表。根据串口中断,触发通讯模块的通讯处理。若形成一个完整合法的数据包,提交主控模块。主控模块根据数据包的类型进行命令分解,执行以下命令:刷新全部数据:从数据模块取得采控数据表所有当前数据,并提交通讯模块上传。刷新动态数据:从数据模块取得采控数据表所有标志为数据改变的数据,提交通讯模块上传。控制命令:交数据模块刷新采控数据表,同时交通讯模块回应。并以以下两种方式之一执行控制命令:在输入输出模块被定时触发时,执行控制命令。直接交输入输出模块执行控制命令。内部命令:执行复位、通讯测试、参数(如采样定时周期)调整等命令并回应。以上命令的最大响应周期(从接收到包的最后一个字节到发出响应的第一个字节)为5毫秒。引导模块在系统初启时执行系统的初始化和远端程序加载工作。以下为采控软件的框图Promonitor2000一体化数据接入及采控平台软件设计总体方案第3页共8页转移系统控制权命令回应命令接收控制回应返回信息定时触发或执行命令取当前数据取数据返回当前数据数据刷新通讯硬件采控数据表输入输出硬件采控软件模块框图4、采控数据表采控数据表建议使用以下格式数据单元数目(2字节)数据单元状态(2字节)保留(4字节)数据单元1数据单元2…数据单元格式节点号节点类型状态字当前数据参考数据参数1字节1字节2字节4字节4字节4字节5、系统信息采控软件存储必要的系统信息,并在主处理模块查询时返回。6、测试采控软件必须同步开发出两个运行于PCWINDOWS平台上的测试软件供系统测试。采控软件的测试器,用以测试采控软件的所有功能。采控软件的模拟器,用以模拟采控软件的所有功能供系统测试。五、主处理模块软件的设计1、开发工具主处理模块软件运行于Motorola68860CPU上,使用OSE实时操作系统,以C语言为开发工具。2、模块设计主处理模块软件由以下几个模块组成:引导模块:系统的初始化引导和远端程序加载。远程调试模块:支持对系统所有软件的远端调试的模块。引导模块主控模块通讯模块数据模块输入输出模块Promonitor2000一体化数据接入及采控平台软件设计总体方案第4页共8页上位机通讯模块:处理通过在板通讯接口或扩展通讯板根据《内部接口协议规范》与上位机通讯的模块。采控板通讯模块:与采控板根据《采控模块接口协议》进行通讯的模块。音视频板通讯模块:与音视频板根据《音视频模块接口协议》进行通讯的模块。实时数据库支持模块:维护实时数据库,提供其他模块访问实时数据库接口。数据巡视和执行模块:执行数据巡视、数据转换和数据存储并执行缺省逻辑的模块。用户例程支持模块:存储、执行、调试用户例程的模块。浏览器支持模块:支持用户直接用浏览器访问的模块。音视频控制模块:控制音视频数据的交互传输处理的模块。主控模块:主处理模块软件的主控模块。3、实现主处理模块软件内部主要维护一个实时数据库。该库记录了所有采控节点(物理节点及衍生节点)的配置、实时数据和衍生数据。软件主要围绕该数据库展开。系统的基本事件有二个:通讯事件和定时事件。系统除了引导模块、通讯模块、音视频控制模块和浏览器模块都是源代码级可移植的,可以在PCWINDOWS平台上实现。而各个模块的对外接口一律使用标准接口,这样可以在PCWINDOWS平台上调试大部分代码。系统初始化时首先执行引导模块的代码,进行系统的初始化、通讯端口配置和定时器设置等工作。随后控制权交主控循环等待。主控模块响应定时事件,唤醒数据巡视和执行模块的定时事件响应函数。数据巡视和执行模块的定时事件响应函数处理以下两个工作:执行采控模块的轮循(控制)和超时例程处理。唤醒缺省逻辑和用户例程中挂在定时事件响应队列上的事件处理例程。定时逻辑包括但不限于:定时数据存储;定时数据上报;浏览器的定时刷新。定时时长暂定为10毫秒。上位机通讯模块、采控板通讯模块、音视频板通讯模块响应来自于硬件或操作系统底层的通讯事件。根据通讯协议若形成一个合法数据包后向主控模块发出一个通讯事件。主控模块响应通讯事件,分析和分解命令。根据不同的命令执行以下操作:远程加载和调试命令:唤醒引导模块或远程调试模块配合远程主机进行远程加载或远程调试。采控数据:唤醒数据巡视和执行模块的的采控数据转换和处理函数,经处理后调用实时数据库支持模块进入实时数据库。随后唤醒缺省逻辑和用户例程中挂在通讯事件响应队列上的事件处理例程。采控数据响应逻辑包括但不限于:遥信量的变化;衍生节点的算术和逻辑运算;闭环控制逻辑;数据存储和上报;浏览器的刷新。Promonitor2000一体化数据接入及采控平台软件设计总体方案第5页共8页控制命令:唤醒数据巡视和执行模块的的命令数据转换和处理函数,经处理后调用实时数据库支持模块进入实时数据库。随后唤醒缺省逻辑和用户例程中挂在通讯事件响应队列上的事件处理例程。使用两种方式向采控模块发出控制命令:记录入实时数据库,待定时事件发生时经采控模块的轮循(控制)流程发出命令(推荐)。记录入实时数据库,同时即时发出命令。(用于要求响应时间短的场合)。控制响应逻辑包括但不限于:衍生节点命令分解为物理节点命令;配置命令:根据配置的修改调用实时数据库支持模块修改数据库的内容。实时数据库操作命令:调用实时数据库支持模块浏览实时数据或衍生数据。用户例程加载和远端调试命令:唤醒用户例程支持模块进行用户例程的存储、加载、运行、调试等。其他内部命令:执行复位、通讯测试、参数调整等命令。4、软件框图以下为主处理模块的软件框图转移系统控制权调试命令调用远端加载调试响应命令和定时唤醒缺省逻用户例数据库通数辑调用程调用修改和讯据浏览事发采控模块通讯件送命令交互数据交互唤醒执行数据数据例程结果入库检视数据交互用户例程库实时数据库通讯硬件和操作系统底层主处理模块的软件框图5、调试和测试如前所述,主处理模块软件应尽可能地做到源代码级可移植,从而利于调试。同时,应利用各个模块源代码形成在PCWINDOWS平台上的模拟软件,利于系统调试和大规模测试。主处理模块软件的各个模块应提供独立的在PCWINDOWS平台上测试软件进行功能测试。六、上位机软件的设计1、开发工具上位机软件运行于PC机,操作系统为WINDOWS9x/NT/2000。使用网络数据库技术和ActiveX技术构引导模块主控模块各通讯模块远端调试模块数据巡视和执行模块实时数据库支持模块用户例程支持模块浏览器支持模块音视频控制模块Promonitor2000一体化数据接入及采控平台软件设计总体方案第6页共8页建,开发工具为VisualC++6.0和FrontPage2000。2、关键技术和模块设计上位机软件的核心模块为ActiveX控件。其主程序为ActiveX容器程序或浏览器。其每个模块对应于一个或多个为ActiveX控件或WIN32DLL或MFC扩展DLL。包括以下模块:TCP通讯模块:基于WINSOCK2.0。支持TCP和UDP数据传输,支持的同时连接不低于256个。支持多址广播和多点通讯。支持流量控制和服务质量协商。支持WINDOWS拨号网络。最好支持RTP、RTCP传输和H.263协议(可以考虑基于TAPI3.0)。串口通讯模块:用以RS232、RS485、RS422方式的多端口通讯(64个端口)。支持WINDOWS拨号器。打印机支持模块:支持行式打印机的单行或多行打印。支持多行缓冲打印。支持对列表控件转换成表格的打印,同时支持简单的表格设计。支持图形曲线的绘制和打印。支持打印预览。设备支持模块:支持上位机访问和控制与之直接连接的设备。通讯协议支持模块:实现与通讯方式无关的面向数据包的通讯协议的交互,协议使用《内部接口协议规范》。数据库支持模块:实现与数据库表结构无关的数据库访问。数据库为基于SQL语言的网络或文件型数据库。访问形式使用DB-LIB,ODBC,ADO。内部实时数据库支持模块:支持对内部实时数据库的操作。用户例程支持模块:编辑、存储、执行、调试用户例程的模块。界面组态支持模块:支持界面组态的编辑和运行(基于用户例程)的模块。报表和数据分析模块:从数据库支持模块查询数据,形成报表、曲线,经打印机支持模块打印。配置、智能分析、用户策略支持模块:支持基于用户例程的智能分析、用户策略的配置。主控模块:系统的控制和调度的模块。图象语音模