掌桥专利:专业的专利平台
掌桥专利
首页

一种火电机组实时中文软光子牌报警和数显装置

文献发布时间:2023-06-19 09:49:27


一种火电机组实时中文软光子牌报警和数显装置

技术领域

本发明涉及工业应用软件技术领域,尤其涉及一种火电机组实时中文软光子牌报警和数显装置。

背景技术

semAPI(The Strategic Enterprise Management Application ProgrammingInterface)是用于实现客户端计算机与ICI模件组进行通讯的应用程序接口功能库。它主要包含两个部分,功能库和设备驱动器(DEVICE DRIVER),用户开发的应用程序在C语言的开发环境下,通过对相应的库函数的调用,可完成对C_NET环路数值的读写操作。

通常ABB SYMPHONY DCS控制系统提供给工程师的应用软件仅提供DCS逻辑、画面组态等功能,也就是DCS厂家仅提供满足于一般维护工作的应用层面软件,无法提供针对DCS数据实时读取、调用等开发层面的软件供用户使用,也就是高级(开发)应用方面厂家不提供(也没有),故ABB SYMPHONY DCS控制系统的开放性很差,用户想直接读取DCS内部数据难度非常大,用户想要获取DCS实时数据只能自行编程开发。

针对编程开发获取ABB SYMPHONY DCS六种最常用的数据类型来讲,我们将每种数据类型定义成数组结构的形式,而每个数组结构包含的数据多种多样,有布尔型、整型、浮点型(双精度)、字符型(串)等,采用这种数组结构能准确表征DCS的实际数据结构,但这些数组结构却给数据的传输带来较大困难,目前,工业控制应用领域还没有一种开放的协议可以适用这些数组结构来传输数据,因此,发明一种数据通信交换协议满足这种数组结构的传输变得意义重大。

随着社会的不断进步以及现代计算机技术及网络技术的迅猛发展,火电厂主控制室的设计越来越追求简洁、美观,同时,对火电机组运行期间报警的及时性、可靠性提出了更高的要求,而传统的硬光子牌报警窗口可靠性和稳定性较差以及维护量大的弊端越来越凸显,越来越不符合新技术发展的要求,开发一种新型的火电机组实时中文软光子牌报警和数显装置变得越来越重要。

发明内容

本发明要解决的技术问题是提供一种火电机组实时中文软光子牌报警和数显装置。

为解决上述技术问题,本发明的技术方案为:一种火电机组实时中文软光子牌报警和数显装置,其特征在于:包括CNET令牌环形网络、ICI03模件接口组件、SCSI端口、ALTHORN服务器和客户端,采用C/S结构,在CNET令牌环形网络中,采用INICI03模件接口组件作为CNET环路上的一个节点,通过SCSI端口与局域网或独立的网络内的ALTHORN服务器连接,采用ALTHORN通信协议技术,客户端的客户机或其它服务器则通过网络读取ALTHORN服务器内的实时生产过程数值,完成客户端软件所实现的功能。

进一步的,所述设备驱动器与ICI03模件组之间通过SCSI接口实现数值通讯,所述ICI03模件接口组件、semAPI协议由ABB SYMPHONY DCS系统提供。

一种火电机组实时中文软光子牌报警和数显装置,其特征在于:包括运行ALTHORN客户端软件的客户端、运行ALTHORN服务器软件的服务器和网络通道,所述服务器运行ALTHORN服务器软件,通过调用semAPI功能库和设备驱动器,实时从CNET环路上获取数值,实现与ICI03模件组进行数值交换、及与运行了ALTHORN客户端软件的客户端进行数据交换;

所述ALTHORN服务器软件与ALTHORN客户端软件间的数据通讯,采用基于TCP/IP协议的ALTHORN数据通信协议。

进一步的,所述ALTHORN数据通信协议流程:ALTHORN服务器读取ABB SYMPHONYDCS系统中的数据,并按ALTHORN数据通信交换协议将数据封装,发送给请求数据的客户端客户机,客户机接收到数据信息包后,按ALTHORN数据协议进行解码来读取数据。

一种火电机组实时中文软光子牌报警和数显装置,其特征在于:包括类模块和窗体模块;

所述窗体模块是VB应用程序的基础,包括主窗体、配置窗体、连接窗体、关于窗体、过程处理窗体、组态定义窗体与运行窗体,主窗体分别与配置窗体、连接窗体和关于窗体连接,配置窗体通过过程处理窗体与组态定义窗体连接,判断连接窗体是否连接主站:是则通过过程处理窗体连接至运行窗体,否则返回;

所述类模块在VB中是面向对象编程的基础,包括Mod_Althorn_Decode类模块、Mod_Althorn_SructDefine类模块、Mod_FunctionBlock类模块、Mod_RunTim类模块和Mod_WriteAlmconfig类模块;

所述Mod_Althorn_Decode类模块用于实现解码字符串流,对获取的字符串实行统一解码,统一存放等功能,模块中的Mod_Decode_Stream()函数将从服务器获取的用户组态数据信息包,按ALTHORN数据通信交换协议解码,并将解码后得到的当前数据参数,存入临时数组,按不同的数据类型分别调用数据类型解码函数,其中Float_Convert()函数为含有浮点数据类型的公共转换函数,按数据索引对应的值,分别存放至运行数组中,并正确处理可能一对N的现象;

所述Mod_Althorn_SructDefine类模块用于实现报警用户数据类型的定义、运行时实例化数据报警类型数组,定义的结构全部属于用户数据类型,其中包含必须的各种数据参数信息,在组态/运行时被引用,其中数据类型的定义以Symphony DCS 系统提供的数据类型为基础;

所述Mod_FunctionBlock类模块用于实现常用的RS触发器、与、或、非的逻辑运算功能,在运行时被RUNTIME()函数调用,属于公共函数;

所述Mod_RunTim类模块为核心模块,以Mod_RunTime()函数为主线程,运行时主要逻辑运算及实现报警信息记录;

所述Mod_WriteAlmconfig类模块用于实现用户配置信息初始化处理、本地数据库的操作、用户配置信息的添加、更改、删除,用户组态定义的数据类型暂存、组态模块化处理。

进一步的,一种火电机组实时中文软光子牌报警和数显装置还包括数据库模块,所述数据库模块包括通过ActiveX Data Objects对象处理的远程数据库和本地数据库;

所述远程数据库由ALTHORN服务器负责维护,用户在组态报警信息时,需远程访问数据库,对数据执行只读操作;

所述本地数据库采用客户机ACCESS数据库,以表格式存储用户组态的报警信息,同时,在组态时通过访问数据配置表来初始化组态界面,对数据配置表进行读写操作,在运行时,一次性的访问数据库来初始化各运行参数,本地数据库包括具体类型表和公共表,具体类型表包括存放各自数据类型报警参数的模拟量数据配置表、数字量数据配置表、Station数据配置表、Da模拟量数据配置表、RCM数据配置表、MSDD数据配置表,公共表包括存放用户组态的报警公共信息的报警窗口配置表和报警通道配置表。

进一步的,所述RUNTIME模块的实现逻辑:包括第一组通道信号,包括通道信号1、通道信号2、通道信号3、通道信号4、通道信号5、通道信号6、通道信号7和通道信号8,第一组通道信号通过逻辑或运算得到数值一;

第二组通道信号包括通道信号A、通道信号B、通道信号C、通道信号D、通道信号E、通道信号F、通道信号G和通道信号H,第二组通道信号通过逻辑上升沿触发,当逻辑上升沿触发值为False时初始化第二组通道信号并通过逻辑与运算得到数值二,将数值二通过逻辑非运算后形成报警记录;

报警确认信号:当报警确认输出为单脉冲信号时形成数值三;

闪烁信号信号:当闪烁信号输出为持续脉冲信号时形成数值四;

将数值一与数值二通过逻辑与运算得到数值五;

将数值五通过逻辑非运算后形成数值六;

将数值六进行复位、将数值三进行置位后通过逻辑RS运算得到数值七;

将数值四与数值七进行逻辑或运算得到数值八;

将数值五与数值八进行逻辑与运算得到数值九,当数值九为True时输出报警颜色、并于数值七进行逻辑与运算后输出声光报警,当数值九为False时输出背景颜色。

进一步的,所述ALTHORN服务器的存盘过程如下:

S1:录入数值,存盘过程开始;

S2:检查数值正确性:

S2.1:检查信号描述的正确性;

S2.2:检查通道选择的正确性;

S3:

S3.1:若S2里的两项检查都正确,则进行信号选项的选择,信号选项的值包括标签索引、报警类型和输入定值,并将选择的信号选项的值返回检查结果至信号选项;

S3.2:若S2里的两项检查有一个不正确或两个都不正确,则退出存盘过程并给出相应的信息提示;

S4:对S3.1的返回结果进行公共三项检查,若公共三项检查通过,进入选择数据类型,数据类型包括报警配置赋值、说明配置赋值和块号配置赋值,若公共三项检查没通过,则退出存盘过程并给出相应的信息提示;

S5:选择好数据类型后进入ModSaveAccessTable函数,并通过调用ModSQLString函数返回具体表名称;

S6:根据S5生成adodb.Recordset记录集对象m_ADOrst;

S7:通过调用ModconnectAccess函数的返回对象打开记录集对象;

S8:对S7的记录集对象进行ADD/EDIT判断,若需更改记录集对象,则需对记录集记录赋值,包括公共存储与各具体表信息的存储,其中公共存储包括:在Windows_CONFIG存储5个字段与在CH_CONFIG存储9个字段,若需新增记录集对象,则通过m_ADOrst.ADDNEW方法进行公共存储;

S9:对S8的数据更新过程的正常性进行判断,若数据更新过程不正常,则弹出相应的信息提示,若数据更新过程正常,则进行存盘操作:更新记录集记录、销毁对象并释放内存;

S10:

S10.1:若S9里的存盘过程不正常,则弹出相应的信息提示;

S10.2:若S9里的存盘过程正常,则弹出相应的信息提示;

S11:对S10.2进行判断组态是否继续,若决定继续组态,则调用Modfrminput_initi函数后弹出初始化报警窗口,并结束存盘过程,若不继续组态,则退出组态并弹出相应的信息提示。

本发明的优点在于:

本发明采用C/S架构,按照ALTHORN数据通信交换协议,服务器端能很好完成数据地封装,客户端能很好地完成数据解码,数据通信交换变得规范、透明,充分利用DCS的资源进行二次开发,为生产过程的实时监控、实时分析、实时决策、实时诊断,以及运行设备的状态正常与否提供数据支持,为数据挖掘技术提供数据资源。同样的,也能扩展DCS的实际应用范围,提高DCS的兼容性和友好性,为第三方数据应用开发提供必要的接口;实时中文软光子牌报警和数显装置,采用ALTHORN通信协议技术,保证了数据通信的可靠性、实时性强、稳定性高,ALTHORN服务器的存盘过程逻辑、RUNTIME模块实现实时生产过程数值以及客户端的软件窗体设计,可以减少维护量少、操作简单、界面友好,当有报警产生时,运行人员只要用点击报警窗口,就可查阅详细的报警内容,能快速了解、定位设备的故障原因,同时,该软件也提供了历史报警查阅等功能,为设备故障分析提供了方便。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明的一种火电机组实时中文软光子牌报警和数显装置的ALTHORN软件架构示意图。

图2为本发明的一种火电机组实时中文软光子牌报警和数显装置的窗体模块设计图。

图3为本发明的存盘过程图。

图4为本发明的RUNTIME模块逻辑框图。

图5为本发明的ALTHORN数据通信协议的通信流程图。

图6为本发明的数据信息包格式表。

具体实施方式

如图1至图4所示,一种火电机组实时中文软光子牌报警和数显装置,包括CNET令牌环形网络、ICI03模件接口组件、SCSI端口、ALTHORN服务器和客户端,采用C/S结构,在CNET令牌环形网络中,采用INICI03模件接口组件作为CNET环路上的一个节点,通过SCSI端口与局域网或独立的网络内的ALTHORN服务器连接,采用ALTHORN通信协议技术,客户端的客户机或其它服务器则通过网络读取ALTHORN服务器内的实时生产过程数值,完成客户端软件所实现的功能。

设备驱动器与ICI03模件组之间通过SCSI接口实现数值通讯,ICI03模件接口组件、semAPI协议由ABB SYMPHONY DCS系统提供。

一种火电机组实时中文软光子牌报警和数显装置,包括运行ALTHORN客户端软件的客户端、运行ALTHORN服务器软件的服务器和网络通道,服务器运行ALTHORN服务器软件,通过调用semAPI功能库和设备驱动器,实时从CNET环路上获取数值,实现与ICI03模件组进行数值交换、及与运行了ALTHORN客户端软件的客户端进行数据交换。

ALTHORN服务器软件与ALTHORN客户端软件间的数据通讯,采用基于TCP/IP协议的ALTHORN数据通信协议。

ALTHORN数据通信协议流程:ALTHORN服务器读取ABB SYMPHONY DCS系统中的数据,并按ALTHORN数据通信交换协议将数据封装,发送给请求数据的客户端客户机,客户机接收到数据信息包后,按ALTHORN数据协议进行解码来读取数据。

在ALTHORN数据通信交换协议中,数据信息包的格式为:[特征符]+[开始标志]+[数据类型]+[数据索引]+[数据体]+[结束标志],包括:

特征符:定义客户端数据请求的方式或服务器返回信息的方式。

开始标志:定义数据流中,读取数据类型的起始位。

数据类型:定义常用的六种数据类型格式。

数据索引:定义常用的六种数据索引格式。

数据体:定义常用的六种数据内容信息格式。

结束标志:定义数据流中,读取数据类型的结束位。

一种火电机组实时中文软光子牌报警和数显装置,包括类模块和窗体模块。

窗体模块是VB应用程序的基础,包括主窗体、配置窗体、连接窗体、关于窗体、过程处理窗体、组态定义窗体与运行窗体,主窗体分别与配置窗体、连接窗体和关于窗体连接,配置窗体通过过程处理窗体与组态定义窗体连接,判断连接窗体是否连接主站:是则通过过程处理窗体连接至运行窗体,否则返回。

类模块在VB中是面向对象编程的基础,包括Mod_Althorn_Decode类模块、Mod_Althorn_SructDefine类模块、Mod_FunctionBlock类模块、Mod_RunTim类模块和Mod_WriteAlmconfig类模块。

Mod_Althorn_Decode类模块用于实现解码字符串流,对获取的字符串实行统一解码,统一存放等功能,模块中的Mod_Decode_Stream()函数将从服务器获取的用户组态数据信息包,按ALTHORN数据通信交换协议解码,并将解码后得到的当前数据参数,存入临时数组,按不同的数据类型分别调用数据类型解码函数,其中Float_Convert()函数为含有浮点数据类型的公共转换函数,按数据索引对应的值,分别存放至运行数组中,并正确处理可能一对N的现象。

Mod_Althorn_Decode类模块结构的表示:

Class Mod_Althorn_Decode 模块

Mdcon_host(...) // 生成远程连接对象

Mod_Decode_Stream(...) // 解码数据信息包

Save_Analog(...) // 存放模拟量数据

Save_Digital(...) // 存放数字量数据

Save_Rcm(...) // 存放RCM数据

Save_Station(...) // 存放操作站数据

Save_Daang(...) // 存放Da模拟量数据

Save_Msdd(...) // 存放MSDD数据

Mod_Release_DecodeValue(...) // 释放解码数据

Float_Convert(...) // 浮点数转换

Mod_Althorn_SructDefine类模块用于实现报警用户数据类型的定义、运行时实例化数据报警类型数组,定义的结构全部属于用户数据类型,其中包含必须的各种数据参数信息,在组态/运行时被引用,其中数据类型的定义以Symphony DCS 系统提供的数据类型为基础。

Mod_FunctionBlock类模块用于实现常用的RS触发器、与、或、非的逻辑运算功能,在运行时被RUNTIME()函数调用,属于公共函数。

Mod_RunTim类模块为核心模块,以Mod_RunTime()函数为主线程,运行时主要逻辑运算及实现报警信息记录。

Mod_WriteAlmconfig类模块用于实现用户配置信息初始化处理、本地数据库的操作、用户配置信息的添加、更改、删除,用户组态定义的数据类型暂存、组态模块化处理。

一种火电机组实时中文软光子牌报警和数显装置还包括数据库模块,数据库模块包括通过ActiveX Data Objects对象处理的远程数据库和本地数据库。

远程数据库由ALTHORN服务器负责维护,用户在组态报警信息时,需远程访问数据库,对数据执行只读操作。

本地数据库采用客户机ACCESS数据库,以表格式存储用户组态的报警信息,同时,在组态时通过访问数据配置表来初始化组态界面,对数据配置表进行读写操作,在运行时,一次性的访问数据库来初始化各运行参数,本地数据库包括具体类型表和公共表,具体类型表包括存放各自数据类型报警参数的模拟量数据配置表、数字量数据配置表、Station数据配置表、Da模拟量数据配置表、RCM数据配置表、MSDD数据配置表,公共表包括存放用户组态的报警公共信息的报警窗口配置表和报警通道配置表。

RUNTIME模块的实现逻辑:包括第一组通道信号,包括通道信号1、通道信号2、通道信号3、通道信号4、通道信号5、通道信号6、通道信号7和通道信号8,第一组通道信号通过逻辑或运算得到数值一。

第二组通道信号包括通道信号A、通道信号B、通道信号C、通道信号D、通道信号E、通道信号F、通道信号G和通道信号H,第二组通道信号通过逻辑上升沿触发,当逻辑上升沿触发值为False时初始化第二组通道信号并通过逻辑与运算得到数值二,将数值二通过逻辑非运算后形成报警记录。

报警确认信号:当报警确认输出为单脉冲信号时形成数值三。

闪烁信号信号:当闪烁信号输出为持续脉冲信号时形成数值四。

将数值一与数值二通过逻辑与运算得到数值五。

将数值五通过逻辑非运算后形成数值六。

将数值六进行复位、将数值三进行置位后通过逻辑RS运算得到数值七。

将数值四与数值七进行逻辑或运算得到数值八。

将数值五与数值八进行逻辑与运算得到数值九,当数值九为True时输出报警颜色、并于数值七进行逻辑与运算后输出声光报警,当数值九为False时输出背景颜色。

ALTHORN服务器的存盘过程如下:

S1:录入数值,存盘过程开始。

S2:检查数值正确性:

S2.1:检查信号描述的正确性。

S2.2:检查通道选择的正确性。

S3:

S3.1:若S2里的两项检查都正确,则进行信号选项的选择,信号选项的值包括标签索引、报警类型和输入定值,并将选择的信号选项的值返回检查结果至信号选项。

S3.2:若S2里的两项检查有一个不正确或两个都不正确,则退出存盘过程并给出相应的信息提示。

S4:对S3.1的返回结果进行公共三项检查,若公共三项检查通过,进入选择数据类型,数据类型包括报警配置赋值、说明配置赋值和块号配置赋值,若公共三项检查没通过,则退出存盘过程并给出相应的信息提示。

S5:选择好数据类型后进入ModSaveAccessTable函数,并通过调用ModSQLString函数返回具体表名称。

S6:根据S5生成adodb.Recordset记录集对象m_ADOrst。

S7:通过调用ModconnectAccess函数的返回对象打开记录集对象。

S8:对S7的记录集对象进行ADD/EDIT判断,若需更改记录集对象,则需对记录集记录赋值,包括公共存储与各具体表信息的存储,其中公共存储包括:在Windows_CONFIG存储5个字段与在CH_CONFIG存储9个字段,若需新增记录集对象,则通过m_ADOrst.ADDNEW方法进行公共存储。

S9:对S8的数据更新过程的正常性进行判断,若数据更新过程不正常,则弹出相应的信息提示,若数据更新过程正常,则进行存盘操作:更新记录集记录、销毁对象并释放内存。

S10:

S10.1:若S9里的存盘过程不正常,则弹出相应的信息提示。

S10.2:若S9里的存盘过程正常,则弹出相应的信息提示。

S11:对S10.2进行判断组态是否继续,若决定继续组态,则调用Modfrminput_initi函数后弹出初始化报警窗口,并结束存盘过程,若不继续组态,则退出组态并弹出相应的信息提示。

本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种火电机组实时中文软光子牌报警和数显装置
  • 一种联合循环发电机组的软光字牌报警方法及系统
技术分类

06120112313834