CN108415858A - 一种通用的ups驱动模型及实现方法 - Google Patents

一种通用的ups驱动模型及实现方法 Download PDF

Info

Publication number
CN108415858A
CN108415858A CN201810201844.0A CN201810201844A CN108415858A CN 108415858 A CN108415858 A CN 108415858A CN 201810201844 A CN201810201844 A CN 201810201844A CN 108415858 A CN108415858 A CN 108415858A
Authority
CN
China
Prior art keywords
data
ups
scada
driving
softwares
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810201844.0A
Other languages
English (en)
Other versions
CN108415858B (zh
Inventor
吴超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHEJIANG DTCT DATA TECHNOLOGY Co.,Ltd.
Original Assignee
吴超
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 吴超 filed Critical 吴超
Priority to CN201810201844.0A priority Critical patent/CN108415858B/zh
Publication of CN108415858A publication Critical patent/CN108415858A/zh
Application granted granted Critical
Publication of CN108415858B publication Critical patent/CN108415858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Abstract

本发明实施例公开了一种通用的UPS驱动模型及实现方法,所述方法包括:在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。本发明实施例通过制定统一的UPS驱动接口,实现SCADA软件能够正确读取UPS中的实时数据信息,可以极大地规避底层硬件实现上的区别,提高驱动的复用性,方便SCADA软件统一管理驱动程序,提高系统的可维护性。

Description

一种通用的UPS驱动模型及实现方法
技术领域
本发明涉及UPS电源驱动模型技术,具体是一种通用的UPS驱动模型及实现方法。
背景技术
随着社会的不断进步,工业生产逐步实现高度自动化,电源故障已经成为工业生产中最大的安全隐患之一,极短时间的断电也可能造成极大的损失。在金融,工业等安全性要求比较高的领域,无间断供电电源(Uninterruptible Power Supply,UPS)为设备提供稳定和持续的电源;同时,为了实现信息化管理和整个监控系统的安全可靠性,对现场UPS设备进行实时监控是非常必要的。
随着工业4.0概念的提出,智能控制与智能监测是实现工业4.0目标的前提,为了实现软件对生产过程的统一管理、监控与控制,前提就必须实现对硬件驱动的管理。在工业生产和监控领域,数据采集与监视控制系统(Supervisory Control and DataAcquisition,SCADA)是行业普遍使用的软件控制系统。
现有技术中,为了实现SCADA软件能够正确读取UPS中的实时数据信息,就必须为UPS开发相应的设备驱动程序。在SCADA软件中支持很多硬件设备驱动,同时不同厂商的UPS设备繁复冗杂,虽然国家制定了YD/T 1363.3-2005通信标准,但是不同设备还是有所区别;因此现有技术为规避硬件实现上的区别,需要额外的软件开发时间,驱动监控过程复杂。
发明内容
为了解决上述技术问题,本发明实施例提供了一种通用的UPS驱动模型及实现方法,可以通过制定统一的UPS驱动接口,实现SCADA软件能够正确读取UPS中的实时数据信息,可以极大地规避底层硬件实现上的区别,提高驱动的复用性,方便SCADA软件统一管理驱动程序,提高系统的可维护性。
为了达到本发明目的,一方面,本发明实施例提供了一种通用的UPS驱动模型,包括:
软件接口层,用于在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;
逻辑封装层,用于对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;
硬件访问层,用于对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。
可选地,所述SCADA软件调用UPS驱动还包括:
使用COM组件的方式对驱动接口进行统一,所述SCADA软件按需加载驱动组件,所述驱动组件为COM组件,以DLL的方式加载到所述SCADA软件中,使用完毕卸载所述驱动组件。
可选地,所述SCADA软件调用UPS驱动还包括:
所述SCADA软件运行的时候加载预先配置的所述UPS驱动;
按照所述SCADA软件中配置的信息节点以及通信协议自动组装命令帧进行数据通信,对获取的数据包进行保存;
驱动对每一次命令帧发送返回的数据帧进行检测判断是否出现故障;
如果没有故障,对所述UPS驱动的寄存器数据从数据帧中进行提取和分离,并进行存储;
根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;
对所述SCADA软件中配置的通信节点进行赋值;
将数据上传给所述SCADA软件监控的系统;
关闭驱动与设备的连接,释放资源。
可选地,所述系统还包括:
AccessDevice接口,用于实现所述数据采集和数据处理。
可选地,所述AccessDevice接口还用于:
当所述SCADA软件的数据信息节点配置多个时,所述AccessDevice接口被调用次数对应增加,对所述AccessDevice接口进行不定时或定时的调用,实时获取所述UPS驱动的信息。
另一方面,本发明实施例还提供了一种通用的UPS驱动模型的实现方法,包括:
在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;
对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;
对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。
可选地,所述SCADA软件调用UPS驱动还包括:
使用COM组件的方式对驱动接口进行统一,所述SCADA软件按需加载驱动组件,所述驱动组件为COM组件,以DLL的方式加载到所述SCADA软件中,使用完毕卸载所述驱动组件。
可选地,所述SCADA软件调用UPS驱动还包括:
所述SCADA软件运行的时候加载预先配置的所述UPS驱动;
按照所述SCADA软件中配置的信息节点以及通信协议自动组装命令帧进行数据通信,对获取的数据包进行保存;
驱动对每一次命令帧发送返回的数据帧进行检测判断是否出现故障;
如果没有故障,对所述UPS驱动的寄存器数据从数据帧中进行提取和分离,并进行存储;
根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;
对所述SCADA软件中配置的通信节点进行赋值;
将数据上传给所述SCADA软件系统;
关闭驱动与设备的连接,释放资源。
可选地,所述方法还包括:
所述数据采集和数据处理由AccessDevice接口实现。
可选地,所述方法还包括:
当所述SCADA软件的数据信息节点配置多个时,所述AccessDevice接口被调用次数对应增加,对所述AccessDevice接口进行不定时或定时的调用,实时获取所述UPS驱动的信息。
本发明实施例通过开发UPS统一的通用驱动模型不仅可以提高驱动的复用性,缩短驱动开发周期,而且还可以方便SCADA软件统一管理驱动程序,提高系统的可维护性。通过使用所述UPS通用驱动模型,可以提高驱动开发效率,节约人力软件开发成本。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例通用的UPS驱动模型的结构示意图;
图2为本发明实施例通用的UPS驱动模型的实现方法中的AccessDevice接口实现流程示意图;
图3为本发明实施例通用的UPS驱动模型的实现方法中SCADA与UPS驱动模型交互流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。本申请中的实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现SCADA软件能够正确读取UPS中的实时数据信息,本发明实施例通过制定统一的UPS驱动接口,可以极大地规避底层硬件实现上的区别,节省额外的软件开发时间。
本发明实施例是基于COM组件技术的UPS驱动模型,通过定义统一的驱动接口,可以更好的屏蔽硬件特征,来实现一定程度的解耦的作用。同时不同的UPS驱动可以按需来加载不同的接口,可以实现不同的开发需求。
其中,组件对象模型(Component Object Model,COM)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。
COM规范与面向对象的核心思想是一样的。通过对事物的抽象,分离成具有公共特性的属性与接口,COM规范将抽象转化成实际的应用个体。使用COM规范来构造构件的最大优点就是实现可重用代码与结构,可以实现使用同样的方式来实现不同的行为个体;使用COM规范的组件可以很大程度上解离驱动与软件系统之间的耦合,从而能够更加方便的管理设备驱动。
敏捷开发(Agile Development)是当前软件开发的大趋势,是软件从手工业向产业化转化的明显标志,也是提高软件产品竞争力有效的途径之一。使用通用驱动模型可以打破系统的僵化性,使用统一的驱动模型可以解离驱动与系统之间的连带关系;同时降低开发的复杂性也是实施敏捷开发的优点。
驱动是所有软件系统的终端,软件系统最终要使用硬件设备去实现相应的功能,而驱动就充当了软件系统与硬件设备的媒介。驱动不仅可以让软件系统屏蔽硬件实现细节。而且能够更加有效的管理硬件设备。具有良好可靠性和易用性的驱动在很大程度上简化了软件系统的开发难度和可维护性能。使用统一的驱动模型和组件化的方法可以在很大程度上提高设备的可管理性和软件系统的可维护性。
本发明实施例主要是用于SCADA系统加载的统一驱动模型,SCADA系统主要对现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警等各项功能。本发明实施例实现了软件信息与硬件细节的屏蔽隔离的作用。
图1为本发明实施例通用的UPS驱动模型的结构示意图,如图1所示,本发明实施例提供了一种通用的UPS驱动模型,包括:
软件接口层,用于在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;
逻辑封装层,用于对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;
硬件访问层,用于对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。
可选地,所述SCADA软件调用UPS驱动还包括:
使用COM组件的方式对驱动接口进行统一,所述SCADA软件按需加载驱动组件,所述驱动组件为COM组件,以DLL的方式加载到所述SCADA软件中,使用完毕卸载所述驱动组件。
可选地,所述SCADA软件调用UPS驱动还包括:
所述SCADA软件运行的时候加载预先配置的所述UPS驱动;
按照所述SCADA软件中配置的信息节点以及通信协议自动组装命令帧进行数据通信,对获取的数据包进行保存;
驱动对每一次命令帧发送返回的数据帧进行检测判断是否出现故障;
如果没有故障,对所述UPS驱动的寄存器数据从数据帧中进行提取和分离,并进行存储;
根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;
对所述SCADA软件中配置的通信节点进行赋值;
将数据上传给所述SCADA软件监控的系统;
关闭驱动与设备的连接,释放资源。
可选地,所述系统还包括:
AccessDevice接口,用于实现所述数据采集和数据处理。
可选地,所述AccessDevice接口还用于:
当所述SCADA软件的数据信息节点配置多个时,所述AccessDevice接口被调用次数对应增加,对所述AccessDevice接口进行不定时或定时的调用,实时获取所述UPS驱动的信息。
具体地本发明实施例的系统由UPS驱动模型框架构建,本驱动模型框架一共分成3层,分别为软件接口层、逻辑封装层和硬件访问层。其中,软件接口层是驱动与上层软件交互,逻辑封装层主要是硬件与软件交互缓冲与处理的层次,硬件访问层是驱动与硬件交互的层次。
软件接口层主要实现的功能:类型安全检查101主要实现了在SCADA软件调用UPS驱动并进行配置的时候,可以对配置设备的信息相对应的设备寄存器的类型,地址以及定义是否符合规范;接口与数据接收102主要实现了UPS驱动对于SCADA软件请求的数据进行响应和回复的功能,即数据获取的功能。
逻辑封装层主要实现的功能:协议封装103主要实现了对不同厂家不同UPS设备支持的通讯协议的封装,如果支持标准的通信协议则可以直接使用标准的协议进行使用,如果不行则需要重新开发适配新的通信协议;数据处理104主要实现了对驱动与设备之间以及软件与驱动之间的数据通信与交互处理,以及对设备寄存器数据的二次处理,并将数据能够传递到SCADA软件定义的数据接口中;故障检测与修复105主要实现了对设备故障的检测与处理,如设备重连,故障汇报等,提高驱动组件的稳定性与可靠性。
硬件访问层主要实现的功能:设备初始化106主要实现了对设备物理端口的连接,如USB,RS232,RS485,RS422,AS400等接口,并通过指定的配置对设备进行初始化;数据采集107主要实现了对硬件寄存器或硬件信息块的直接读取,保存和信息提取。
本发明实施例使用COM组件的方式对驱动接口进行统一,使用COM组件最大的优势就是SCADA软件可以按需加载驱动组件,驱动组件实际上就是COM组件,以DLL的方式加载到SCADA软件中,使用完毕还可以按需卸载驱动组件。本发明实施例中所有UPS驱动都继承于IUniversialUPSIF抽象接口,即COM接口类型,具体的驱动实例是继承与抽象接口类对接口进行统一的管理,IUniversialUPSIF接口类里面接口细节都在表1中列了出来。
表1IUniversialUPSIF接口类
IUniversialUPSIF接口遵循COM接口规范,所以必须继承QueryInterface,AddRef和Release三个COM接口。
软件接口层声明了6个接口,为EnumItems接口主要为了实现遍历设备的寄存器类型,ValidateDevAddr接口主要为了实现检测地址定义是否正确,ValidateItem接口主要为了实现检测寄存器定义是否正确,CompileItem接口主要为了实现将用户定义的数据类型转换成程序应用数据结构的功能,GetItemName接口主要为了实现能够由由寄存器类型查询寄存器名称的功能。
逻辑封装层声明了4个接口,为OptimizeAccess接口主要为了实现优化采集过程,AccessDevice接口主要为了实现逻辑处理和二次数据处理的功能,Diagnose接口主要是为了实现故障侦测以及恢复尝试的功能,主要为了提高驱动模型的检错和纠错的能力,GetLastError接口主要为了实现返回最近一次的错误信息的功能。
硬件访问层声明了4个接口,为InitInterface接口主要为了实现初始化通讯设备接口的功能,InitialDevice接口主要是为了实现初始化设备信息的功能,CloseInterface接口主要是为了实现关闭通讯设备接口的功能,GetRegisterInfo接口主要为了实现获取硬件寄存器信息的功能。
对于类型安全检查,在系统中数据类型一般都是固定的,如布尔型,比特型,8位字符型,16位双字型,32为整数型,32位浮点型等数据。正是由于数据类型固定,在配置设备时进行检查时不同设备可以使用相同的类型安全检查模块来实现。
UPS设备硬件连接接口主要只有几类,如USB,RS232,RS485,RS422,AS400等接口,在预先实现好这些接口的实现功能与参数,在设备配置的时候就可以直接进行选择;即不同设备可以使用相同的设备初始化模块。
驱动与硬件设备收发数据基本上是可以使用相同的部分,根据上层软件配置的方式,使用接收和发送数据或者命令在不同的设备驱动中都是可以共用的。为了是上层软件屏蔽底层的实现细节,在COM组件接口中隐藏了驱动与硬件之间的数据交互过程。
对于各大厂家的UPS设备基本上都支持国家YD/T 1363.3-2005通信标准,即通用标准,但是即使支持标准,不同品牌的UPS设备收发命令信息也会有细微的一些差别。在UPS通用标准中,信息结构都是以统一的结构进行组织。每一个字段都代表了不同的含义,也有具体的信息组织方式,如表2所示为UPS通用协议数据头格式。
表2 UPS通用协议数据头格式
在驱动协议中最核心的命令码就是CID1与CID2命令,其在YD/T1363.3-2005通信标准每一个CID1与CID2命令含义都有定义,在本驱动模型中,专门使用功能函数用来封装不同UPS设备命令。封装的功能函数根据寄存器类型通信标准将CID1与CID2进行分类,比如CID1=40H,CID2=44H的时候,表示开关电源交流配电系统模拟量量化数据,所有支持通信标准的UPS都可以使用封装的功能函数来产生对应的命令。
对接收命令的解析和分离则是在AccessDevice接口中进行实现,由于不同品牌的UPS设备命令解析格式都会有细微的差别,所以这一部分是需要进行相应的适配。
对于故障检测与修复部分是驱动与硬件,以及SCADA软件与驱动之间交互出现问题时进行处理的部分。修复功能主要是驱动与硬件之间断线重连,故障检测是通信出故障了以后,驱动与SCADA软件进行信息的交互;由于UPS故障大致相同,故基本可以使用相同的部分。
另一方面,本发明实施例还提供了一种通用的UPS驱动模型的实现方法,包括:
在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;
对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;
对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。
可选地,所述SCADA软件调用UPS驱动还包括:
使用COM组件的方式对驱动接口进行统一,所述SCADA软件按需加载驱动组件,所述驱动组件为COM组件,以DLL的方式加载到所述SCADA软件中,使用完毕卸载所述驱动组件。
可选地,所述SCADA软件调用UPS驱动还包括:
所述SCADA软件运行的时候加载预先配置的所述UPS驱动;
按照所述SCADA软件中配置的信息节点以及通信协议自动组装命令帧进行数据通信,对获取的数据包进行保存;
驱动对每一次命令帧发送返回的数据帧进行检测判断是否出现故障;
如果没有故障,对所述UPS驱动的寄存器数据从数据帧中进行提取和分离,并进行存储;
根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;
对所述SCADA软件中配置的通信节点进行赋值;
将数据上传给所述SCADA软件系统;
关闭驱动与设备的连接,释放资源。
可选地,所述方法还包括:
所述数据采集和数据处理由AccessDevice接口实现。
可选地,所述方法还包括:
当所述SCADA软件的数据信息节点配置多个时,所述AccessDevice接口被调用次数对应增加,对所述AccessDevice接口进行不定时或定时的调用,实时获取所述UPS驱动的信息。
本发明实施例通过开发UPS统一的通用驱动模型不仅可以提高驱动的复用性,缩短驱动开发周期,而且还可以方便SCADA软件统一管理驱动程序,提高系统的可维护性。通过使用所述UPS通用驱动模型,可以提高驱动开发效率,节约人力软件开发成本。
具体地,图2为本发明实施例通用的UPS驱动模型的实现方法中的AccessDevice接口实现流程示意图,如图2所示,在驱动模型实现中,核心的部分应该是数据采集与数据处理部分,这部分是驱动实现核心功能的部分。实现数据采集和数据处理的部分是由AccessDevice接口实现的。图2是AccessDevice接口的实现流程,AccessDevice接口是实现驱动功能的核心接口。
优选地,如图2所示,AccessDevice接口实现的功能主要流程如下:首先在201步骤根据SCADA软件的配置或者驱动内部自定义的通用地址列表进行获取以及获取SCADA软件中信息节点的信息;在202步骤会根据封装好的通信协议和数据信息判定CID1,CID2以及其他信息,由此来形成命令帧的信息部分;在203步骤根据命令帧的信息部分计算出命令帧的校验和CheckSum,组合形成命令帧的完整部分;在204步骤UPS驱动会向硬件底层发送相关的命令帧以及收到相应的命令帧,进行数据通信;在205步骤,UPS驱动会检测数据帧是否完整,数据是否正常,如果正常则跳转至206步骤,否则跳往207步骤;在208步骤会将收到的数据帧进行提取,用相同的检验算法算出收到数据帧的校验和CheckSum,并和命令帧里面包含的校验和进行对比,相同则说明数据帧未发生数据异常,跳往209步骤,不同则说明数据传输中数据有异常,跳往210步骤;在209步骤会对数据帧进行解析和处理,提取需求的信息,最后调用结束;在207步骤,当数据帧不正常的时候,会根据数据帧不正常的情况返回错误码,最后调用结束;在210步骤,当数据帧校验值不一样的时候,说明数据帧损坏或者异常,此次数据帧不能使用,需重新处理,发送相应错误码结束。
当SCADA数据信息节点配置很多的时候,AccessDevice接口被调用次数是非常频繁的,通过AccessDevice接口的不定时与定时的调用可以实时的获取UPS的各项信息。
优选地,在SCADA软件开发系统中主要是使用EnumItems,ValidateDevAddr,ValidateItem等接口来获取需要配置的驱动寄存器等相关信息,同时检测配置的变量点的可用性。
具体地,图3为本发明实施例通用的UPS驱动模型的实现方法中SCADA与UPS驱动模型交互流程示意图。如图3所示,是组态软件运行系统使用UPS驱动大致过程。组态软件加载了UPS驱动以后首先会初始化设备和设备接口信息;接下来主要是使用AccessDevice,OptimizeAccess等接口与设备通信和获取数据;最后是对设备故障的检测与处理。
优选地,如图3所示,SCADA系统与UPS驱动模型交互的典型流程,流程如下:在SCADA系统中配置了相应的UPS驱动的时候,SCADA运行的时候会加载UPS驱动;在301步骤驱动启动后,UPS驱动会初始化设备连接接口,并获取连接状态码;在302步骤会根据SCADA中配置的UPS信息初始化设备,并获取连接状态码;在303步骤会根据连接状态码是否正常来判断接口和设备是否初始化好,如果初始化好则跳转至303,否则错误则跳转至304步骤;在304步骤,设备未连接成功或者设备未初始化好都会返回不同的错误码,最后结束;在305步骤驱动会按照SCADA中配置的信息节点以及通信协议自动组装命令帧进行数据通信,获取的数据包会进行保存;在306步骤,驱动会针对每一次命令帧发送返回的数据帧进行检测判断是否出现故障,是的话则跳往307步骤,否则继续进行308步骤;在308步骤会对UPS的寄存器数据从数据帧中进行提取和分离,并进行存储;在310步骤会根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;在312步骤会对SCADA中配置的通信节点进行赋值;在313步骤会通过一定的方式将数据上传给SCADA系统;在314步骤UPS驱动会判断是否收到终止消息,如果收到则跳往315步骤,否则继续跳往305步骤继续重复执行数据获取,处理,检验与上报的过程;在307步骤如果检测出现故障,会根据不同的故障号进行处理,如重传,设备重置等;在309步骤检测设备是否恢复,如果恢复工作则跳往305步骤正常工作,否则跳往311步骤;在311步骤根绝错误类型返回错误码跳往315步骤;在315步骤是对与SCADA的连接进行关闭;在316步骤是关闭驱动与设备的连接,释放资源,最后结束。
本发明实施例开发UPS统一的通用驱动模型不仅可以提高驱动的复用性,缩短驱动开发周期,而且还可以方便SCADA软件统一管理驱动程序,提高系统的可维护性。
通过使用本发明实施例的UPS通用驱动模型,可以提高驱动开发效率,节约人力软件开发成本。
驱动组件中对硬件设备通信协议的封装信息并没有暴露给SCADA软件,SCADA软件只需要根据驱动来获取设备有用的数据,并不需要知道设备具体的数据通讯细节,这样分离了系统与不同设备驱动的耦合性。
通过采用COM技术并使用DLL的封装,不仅可以确保系统对驱动程序加载方式的统一,同时也能确保驱动程序的体积尽量较小,提高执行的效率。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种通用的UPS驱动模型,其特征在于,包括:
软件接口层,用于在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;
逻辑封装层,用于对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;
硬件访问层,用于对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。
2.根据权利要求1所述的通用的UPS驱动模型,其特征在于,所述SCADA软件调用UPS驱动还包括:
使用COM组件的方式对驱动接口进行统一,所述SCADA软件按需加载驱动组件,所述驱动组件为COM组件,以DLL的方式加载到所述SCADA软件中,使用完毕卸载所述驱动组件。
3.根据权利要求2所述的通用的UPS驱动模型,其特征在于,所述SCADA软件调用UPS驱动还包括:
所述SCADA软件运行的时候加载预先配置的所述UPS驱动;
按照所述SCADA软件中配置的信息节点以及通信协议自动组装命令帧进行数据通信,对获取的数据包进行保存;
驱动对每一次命令帧发送返回的数据帧进行检测判断是否出现故障;
如果没有故障,对所述UPS驱动的寄存器数据从数据帧中进行提取和分离,并进行存储;
根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;
对所述SCADA软件中配置的通信节点进行赋值;
将数据上传给所述SCADA软件监控的系统;
关闭驱动与设备的连接,释放资源。
4.根据权利要求1所述的通用的UPS驱动模型,其特征在于,还包括:
AccessDevice接口,用于实现所述数据采集和数据处理。
5.根据权利要求4所述的通用的UPS驱动模型,其特征在于,所述AccessDevice接口还用于:
当所述SCADA软件的数据信息节点配置多个时,所述AccessDevice接口被调用次数对应增加,对所述AccessDevice接口进行不定时或定时的调用,实时获取所述UPS驱动的信息。
6.一种通用的UPS驱动模型的实现方法,其特征在于,包括:
在SCADA软件调用UPS驱动并进行配置的时候,所述UPS驱动对于所述SCADA软件请求的数据进行响应和回复;
对驱动与设备之间以及软件与驱动之间通信与交互的数据进行数据处理,并将所述数据传递到所述SCADA软件定义的数据接口中;
对设备物理端口进行连接,并通过所述物理端口对所述设备的信息进行数据采集。
7.根据权利要求6所述的通用的UPS驱动模型的实现方法,其特征在于,所述SCADA软件调用UPS驱动还包括:
使用COM组件的方式对驱动接口进行统一, 所述SCADA软件按需加载驱动组件,所述驱动组件为COM组件,以DLL的方式加载到所述SCADA软件中,使用完毕卸载所述驱动组件。
8.根据权利要求7所述的通用的UPS驱动模型的实现方法,其特征在于,所述SCADA软件调用UPS驱动还包括:
所述SCADA软件运行的时候加载预先配置的所述UPS驱动;
按照所述SCADA软件中配置的信息节点以及通信协议自动组装命令帧进行数据通信,对获取的数据包进行保存;
驱动对每一次命令帧发送返回的数据帧进行检测判断是否出现故障;
如果没有故障,对所述UPS驱动的寄存器数据从数据帧中进行提取和分离,并进行存储;
根据不同的数据结构以及不同的数据逻辑进行重新处理以及填充到运行内存中;
对所述SCADA软件中配置的通信节点进行赋值;
将数据上传给所述SCADA软件系统;
关闭驱动与设备的连接,释放资源。
9.根据权利要求6所述的通用的UPS驱动模型的实现方法,其特征在于,还包括:
所述数据采集和数据处理由AccessDevice接口实现。
10.根据权利要求9所述的通用的UPS驱动模型的实现方法,其特征在于,还包括:
当所述SCADA软件的数据信息节点配置多个时,所述AccessDevice接口被调用次数对应增加,对所述AccessDevice接口进行不定时或定时的调用,实时获取所述UPS驱动的信息。
CN201810201844.0A 2018-03-12 2018-03-12 一种通用的ups驱动模型结构及实现方法 Active CN108415858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810201844.0A CN108415858B (zh) 2018-03-12 2018-03-12 一种通用的ups驱动模型结构及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810201844.0A CN108415858B (zh) 2018-03-12 2018-03-12 一种通用的ups驱动模型结构及实现方法

Publications (2)

Publication Number Publication Date
CN108415858A true CN108415858A (zh) 2018-08-17
CN108415858B CN108415858B (zh) 2020-08-28

Family

ID=63131075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810201844.0A Active CN108415858B (zh) 2018-03-12 2018-03-12 一种通用的ups驱动模型结构及实现方法

Country Status (1)

Country Link
CN (1) CN108415858B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230377A1 (en) * 2003-05-16 2004-11-18 Seawest Holdings, Inc. Wind power management system and method
KR100616526B1 (ko) * 2004-12-10 2006-08-29 주식회사 맥스컴 Modbus호환 프로토콜과scada/hmi/mmi호환 툴을 이용한무정전전원장치의 원격감시통제 방법
CN102043389A (zh) * 2009-10-16 2011-05-04 北京市电力公司 多规约数据监控系统
CN103348328A (zh) * 2010-10-04 2013-10-09 阿沃森特亨茨维尔公司 用于实时地监视并管理数据中心资源的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230377A1 (en) * 2003-05-16 2004-11-18 Seawest Holdings, Inc. Wind power management system and method
KR100616526B1 (ko) * 2004-12-10 2006-08-29 주식회사 맥스컴 Modbus호환 프로토콜과scada/hmi/mmi호환 툴을 이용한무정전전원장치의 원격감시통제 방법
CN102043389A (zh) * 2009-10-16 2011-05-04 北京市电力公司 多规约数据监控系统
CN103348328A (zh) * 2010-10-04 2013-10-09 阿沃森特亨茨维尔公司 用于实时地监视并管理数据中心资源的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
文本颖: "基于COM组件技术的SCADA系统数据库研究", 《中国优秀硕士学位论文全文数据库》 *
潘国伟: "发布/订阅模式消息中间件在SCADA系统中的应用", 《电网技术》 *

Also Published As

Publication number Publication date
CN108415858B (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
US5276863A (en) Computer system console
CN103345414B (zh) 自助终端控制硬件设备的方法、设备管理器和处理器
CN102244669B (zh) 一种堆叠设备中软件升级的方法和堆叠设备
CN109510742A (zh) 一种服务器网卡远程测试方法、装置、终端及存储介质
CN105868149A (zh) 一种串口信息的传输方法和装置
CN109039829A (zh) 一种网卡性能测试方法、装置、终端及存储介质
CN105530220B (zh) 基于opc实现两种不同协议系统通信的接口方法
CN108170626B (zh) 一种1553b总线软件动态可配置方法
CN102185860A (zh) 用于集成电路制造设备的标准化底层控制驱动系统
CN102104531A (zh) 一种报文处理装置、方法及系统
CN110868278A (zh) 一种轨道交通综合监控系统通信前置机双机冗余的方法
CN102291274A (zh) 一种实现网络测试仪表自动适配的系统及方法
CN104202199A (zh) 检测接口状态并据接口状态处理接口故障的方法及系统
CN109683964A (zh) Bios软件调试控制方法、系统及服务器
CN108376110A (zh) 一种自动检测方法、系统及终端设备
US6381712B1 (en) Method and apparatus for providing an error messaging system
CN101800672A (zh) 设备检测方法和设备
CN106997313A (zh) 一种应用程序的信号处理方法、系统及终端设备
CN104836831B (zh) 一种用于物联网的物体服务方法
CN108089968A (zh) 一种宿主机监控虚拟机数据库状态的方法
CN108415858A (zh) 一种通用的ups驱动模型及实现方法
US10956269B2 (en) Electronic data-distribution control unit and method for operating such a control unit
CN104657240B (zh) 多内核操作系统的失效控制方法及装置
CN113722211B (zh) 一种bmc调试方法、装置、系统及嵌入式设备
CN108562805A (zh) 一种交互式通断电测试装置、系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200803

Address after: Buildings 4, 5 and 6, phase II, Jinghua chuangmeng space, No. 350, Jinghua Road, hi tech Zone, Ningbo, Zhejiang Province, 315000

Applicant after: ZHEJIANG DTCT DATA TECHNOLOGY Co.,Ltd.

Address before: 225217 7 Chiang Chuang formation, Binxi village, Zhenwu Town, Jiangdu District, Yangzhou, Jiangsu

Applicant before: Wu Chao

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant