发明内容
本发明要解决的技术问题是提供一种风电控制系统的监控装置及其监控方法,能够增强安全性和可靠性,提高设备利用率,降低硬件成本。
为了解决上述问题,本发明提供了一种风电控制系统的监控装置,包括:
采集模块,用于采集风机数据及故障数据;
存储模块,用于保存所述风机数据、所述故障数据及风机参数;
用户接口模块,用于接收用户输入的风机控制指令;
传输模块,用于传输以下数据中的一种或几种:所述风机数据、所述故障数据、所述风机控制指令;
控制模块,用于从所述用户接口模块和/或所述传输模块接收所述风机控制指令;根据所述风机控制指令修改风机参数;
启动模块,用于设置本监控装置的运行模式,所述运行模式包括服务器模式和客户端模式;当运行模式为服务器模式时,至少启动所述控制模块、传输模块、用户接口模块和存储模块;当运行模式为客户端模式时,至少启动所述传输模块、用户接口模块和采集模块。
进一步地,所述采集模块将所述风机数据及故障数据以视觉呈现时的页面为单位进行封装,形成若干个可序列化和可持久化的数据对象。
进一步地,所述存储模块保存所述风机参数时按组进行保存,各组中为值会相应变化或值始终相同的风机参数;
所述控制模块当修改风机参数时,将所要修改的风机参数所在组的风机参数都相应修改。
进一步地,所述的监控装置还包括:
用户管理模块,用于管理使用所述监控装置的用户的使用权限;维护一用户状态列表;
所述启动模块无论所述监控装置运行在服务器模式还是客户端模式,都启动用户管理模块;
所述控制模块当收到用户输入的风机控制指令时,先根据所述用户状态列表判断该用户是否具备控制权限;如果不具备,则不进行处理;具备时才根据该控制指令控制风机或修改所述风机参数。
进一步地,所述用户接口模块还用于接收用户输入的控制权限请求;
所述传输模块还用于发送或接收所述控制权限请求;
控制模块,用于从所述用户接口模块和/或所述传输模块接收所述控制权限申请;当接收到所述控制权限申请时,查看所述用户状态列表,如果没有用户具备控制权限,则在所述用户状态列表中,将输入所述控制权限请求的用户的状态设置为具备控制权限;否则拒绝所述控制权限请求。
进一步地,所述控制模块当收到多个风机控制指令时,按照指令下发时间的先后次序处理控制指令;当低权限用户的控制指令与高权限用户的控制指令冲突时将忽略对低权限用户控制指令的处理;对于相同权限用户的控制指令,当下发时间靠后的控制指令与下发时间靠前的控制指令发生冲突时将忽略对下发时间靠后的控制指令的处理。
本发明还提供了一种风电控制系统的监控方法,包括:
连接多个监控装置,将其中一个的运行模式设置为服务器模式,将其它的运行模式设置为客户端模式;运行模式为客户端模式的监控装置至少与运行模式为服务器模式的监控装置相连;
所述多个监控装置中的部分或全部采集风机数据、故障数据,接收风机控制指令;运行模式为客户端模式的监控装置将所采集的风机数据、故障数据及接收的风机控制指令发送给运行模式为服务器模式的监控装置;
运行模式为服务器模式的监控装置保存所述风机数据、故障数据及风机参数;根据所述风机控制指令修改所述风机参数以控制风机。
进一步地,采集风机数据及故障数据时将所述风机数据及故障数据以视觉呈现时的页面为单位进行封装,形成若干个可序列化和可持久化的数据对象。
进一步地,所述风机参数按组进行保存,各组中为值会相应变化或值始终相同的风机参数;
当修改风机参数时,将所要修改的风机参数所在组的风机参数都相应修改。
进一步地,所述的监控方法还包括:
维护一用户状态列表,不同用户具有不同的权限;运行模式为服务器模式/客户端模式的监控装置同步与本监控装置相连的监控装置中的所述用户状态列表;
当收到用户输入的风机控制指令时,先根据所述用户状态列表判断该用户是否具备控制权限;如果不具备,则不进行处理;具备时才根据该控制指令控制风机或修改所述风机参数。
进一步地,所述的监控方法还包括:
所述监控装置接收用户输入的控制权限请求,当接收到所述控制权限申请时,查看所述用户状态列表,如果没有用户具备控制权限,则将输入所述控制权限请求的用户的状态设置为具备控制权限;否则拒绝所述控制权限请求。
进一步地,所述的监控方法还包括:
当多个用户实施控制时,控制指令、指令下发时间、以及实施控制用户的权限信息将汇总至运行模式为服务器模式的监控装置,监控装置按照指令下发时间的先后次序处理控制指令;当低权限用户的控制指令与高权限用户的控制指令冲突时将忽略对低权限用户控制指令的处理;对于相同权限用户的控制指令,当下发时间靠后的控制指令与下发时间靠前的控制指令发生冲突时将忽略对下发时间靠后的控制指令的处理。
本发明的技术方案在服务器与客户端之间灵活动态的分配所述监控系统的各项功能,允许服务器和客户端在同一硬件设备上并行运行,允许服务器和客户端在功能上快速切换,在提高系统安全性和可靠性的同时提升了监控系统的设备利用率。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一,一种风电控制系统的监控装置,如图1所示,包括:
采集模块,用于采集风机数据及故障数据;
存储模块,用于保存所述风机数据、所述故障数据及风机参数;
用户接口模块,用于接收用户输入的风机控制指令;
传输模块,用于传输(根据运行模式进行发送或接收)以下数据中的一种或几种:所述风机数据、所述故障数据、所述风机控制指令;
控制模块,用于从所述用户接口模块和/或所述传输模块接收所述风机控制指令;根据所述风机控制指令修改风机参数,从而对风机进行控制;
启动模块,用于根据本监控装置的运行模式启动上述模块中的一个或多个;所述运行模式包括服务器模式和客户端模式,预置在启动模块中或由用户更改。
本实施例中,所述启动模块可以根据不同的运行模式以不同程度启动不同的功能模块,实现所述服务器模式与所述客户端模式的并行运行和两者之间的快速切换;本实施例中的监控装置通过设置运行模式就可以选择作为服务器或客户端使用,更加方便灵活。所述运行模式可以预置在启动模块中,也可以在使用过程中进行更改,比如可以由用户直接修改,或通过用户接口模块或控制模块指示所述启动模块更改设置,也可以由其它监控装置的控制模块通过传输模块异地指示所述启动模块更改设置。
当所述监控装置运行在所述服务器模式下时,所述启动模块将启动所述控制模块、传输模块、存储模块及用户接口模块,其中,所述传输模块接收数据,包括客户端模式的监控装置发送的风机数据、故障数据和风机控制指令,有些情况下也可以发送风机数据、故障数据等给其它监控装置;可选的,还可以启动所述采集模块。
当所述监控装置运行在所述客户端模式下时,所述启动模块将启动所述传输模块、所述采集模块及用户接口模块;其中,所述传输模块发送数据,包括采集的风机数据、故障数据,和用户输入的风机控制指令,有些情况下也可以接收其它监控装置发送的风机数据、故障数据等;也可以启动所述存储模块。
模块的具体启动情况可由用户通过所述启动模块进行设置。
当采用多个所述监控装置构建监控系统时,如图2所示,将一个监控装置的运行模式设置为服务器模式,其它监控装置的运行模式设置为客户端模式,运行模式为客户端模式的监控装置至少与运行模式为服务器模式的监控装置相连;采用服务器模式和采用客户端模式的监控装置之间可以但不限于采用C/S模式构建监控系统。运行模式为服务器模式的监控装置可与一外部处理器相连。由于本实施例的监控装置可以采用服务器模式,因此该监控系统可以分散现有技术中采用单一服务器时安全性和可靠性上存在的风险;当原先运行模式为服务器模式的监控装置故障时,可以将监控系统中的其它运行模式为客户端模式的监控装置之一改为服务器模式。
本实施例中,所述监控装置还可以进一步包括:
处理模块,用于处理所述风机数据和所述故障数据。
本实施例中,所述处理模块利用预先储存在模块中的数学统计算法(如均值、方差、某个特定值出现的频率等)对所述风机数据和所述故障数据进行统计分析处理,得到数据处理结果。
所述启动模块无论所述监控装置运行在服务器模式还是客户端模式,都可以选择启动或不启动所述处理模块;当运行在客户端模式的监控装置启动了处理模块后,所述传输模块还用于发送所述数据处理结果,相应的,相连的运行在服务器模式的监控装置接收所述数据处理结果并保存。
本实施例中,所述用户接口模块还用于显示所述风机数据、所述故障数据,还可以进一步包括所述处理模块的数据处理结果;可以但不限于采用表格、图形或曲线等形式呈现给用户。客户端模式的监控装置中,用户接口模块所显示的风机数据、故障数据可以是采集的现场数据,也可以是通过传输模块从服务器模式的监控装置中的存储模块中读取的历史数据;同样,服务器模式的监控装置中,用户接口模块所显示的风机数据、故障数据可以是本监控装置采集或接收到的现场数据,也可以是存储模块中保存的历史数据。
本实施例中,所述采集模块将所述风机数据及故障数据以视觉呈现时的页面为单位进行封装,利用XML技术和ORM模型,形成若干个可序列化和可持久化的数据对象,并根据所述控制模块的控制,将数据对象交给其它模块进行处理。以数据对象为单位进行数据采集可以增加所采集数据的逻辑性,便于其它模块对所述风机数据及故障数据进行各种处理。
所述存储模块利用所述数据对象可持久化的特性进行数据存储。采用服务器模式运行的监控装置上的存储模块还将额外保存其它采用客户端模式运行的监控装置上存储模块的运行状态及存储状态信息。以数据对象为单位进行数据存储利于数据管理,如果运行在客户端模式的监控装置也启动了存储模块,则将数据存储于多个监控装置可以有效分散数据丢失的风险,提高监控系统的可靠性和安全性。
本实施例中,利用数据对象可序列化的特性实现以数据对象为单位的数据传输,在各个模块之间提供了安全、可靠、高速的逻辑数据通路。
本实施例中,考虑到风机参数互相之间具有相关性,所述存储模块保存所述风机参数时按组进行保存,各组中为值会相应变化(比如成比例变化,或同幅度变化等)或值始终相同的风机参数;所述控制模块当根据所述风机控制指令修改风机参数时,将所要修改的风机参数所在组的风机参数都相应修改(比如对值始终相同的一组风机参数,假设其中一个风机参数的值改为N,组中其它各风机参数的值都改为N),从而减少用户修改时的工作量。
本实施例中,所述监控装置还可以进一步包括:
用户管理模块,用于管理使用所述监控装置的用户的使用权限;维护一用户状态列表,利用密码机制对用户信息进行保护,不同用户具有不同的权限,不同权限的用户可以输入不同范围的控制指令。其中最高权限的用户具有设置或修改其他用户及其用户权限的能力。利用用户管理模块限制低权限用户的控制范围可以提高系统的安全性和可管理性。
所述启动模块无论所述监控装置运行在服务器模式还是客户端模式,都启动用户管理模块。
本实施例中,所述控制模块协同所述用户管理模块实现控制权限的管理,可以实现分布式的控制管理,即服务器与客户端同时具有实施控制的能力。
所述控制模块当收到所述风机控制指令时,先根据所述用户状态列表判断该用户是否具备控制权限;如果不具备,则不进行处理;具备时才根据该控制指令控制风机。
用户接口模块还用于接收用户输入的控制权限请求;所述传输模块还用于发送或接收所述控制权限请求;
控制模块,用于从所述用户接口模块和/或所述传输模块接收所述控制权限请求,查看所述用户状态列表,如果没有用户具备控制权限,则将控制权限分配给输入所述控制权限请求的用户,即:在所述用户状态列表中,将输入所述控制权限请求的用户的状态设置为具备控制权限;否则拒绝所述控制权限请求。
当本监控装置的运行模式为服务器模式/客户端模式时,所述用户管理模块还用于通过所述传输模块同步与本监控装置相连的,运行模式为客户端模式/服务器模式的监控装置中的所述用户状态列表。对于连接的多个监控装置,所述控制权限在同一时间只能有一个用户具备,这样可以避免冲突。
所述控制模块当同时收到两个或两个以上用户输入的控制权限请求,并且没有用户具备控制权限时,根据所述用户状态列表确定输入所述控制权限请求的用户中权限最高的用户,将该用户的状态设置为具备控制权限,拒绝其它用户的控制权限请求。
本实施例中,所述控制模块也可以当收到用户输入的控制权限请求,并且有用户具备控制权限时,根据所述用户状态列表判断,输入所述控制权限请求的用户的权限是否高于当前具备控制权限的用户(实际应用时也可以是其它条件,比如是否输入所述控制权限请求的用户的权限是最高权限,再比如是否权限比当前具备控制权限的用户高出几级,等等);如果是,则回收当前具备控制权限的用户控制权限,将控制权限改成分配给输入所述控制权限请求的用户,即:将当前具备控制权限的用户的状态改为不具备控制权限,将输入所述控制权限请求的用户的状态改为具备控制权限。
另外,所述控制模块当通过所述用户接口模块和/或所述传输模块接收到用户的控制权限释放请求时,回收当前具备控制权限的用户控制权限。
当多个用户轮流实施控制(即输入风机控制指令)时,风机控制指令、指令下发时间、以及实施控制用户的权限信息将汇总至运行在服务器模式下的监控装置的控制模块,该控制模块按照指令下发时间的先后次序处理控制指令。控制模块本身存有控制指令冲突关系信息,当低权限用户的控制指令与高权限用户的控制指令冲突时将忽略对低权限用户控制指令的处理。对于相同权限用户的控制指令,当下发时间靠后的控制指令与下发时间靠前的控制指令发生冲突时将忽略对下发时间靠后的控制指令的处理。
通过上述处理可以保证当有多个用户实施控制时,控制指令时序上的正确性,同时避免控制指令冲突。利用所述分布式的控制管理,可以使运行于所述客户端模式的监控装置扩展运行于所述服务器模式的监控装置的控制功能,提高监控设备的整体利用率。
本实施例中,采用静态全局的数据结构设计,即:在架构设计时,将软件所使用的全部资源都容纳于静态全局的数据结构之中,基于这些数据结构,利用引用计数及内存预分配技术设计资源回收算法,统一管理资源的生存周期。资源回收算法为各个模块提供了统一且唯一的资源申请接口,所有的资源和模块都进行了分级处理;所述启动模块还用于管理各个其他模块的资源申请,所述各个其他模块向所述启动模块申请资源,所述启动模块只有当所申请资源的级别与提出申请的模块级别相匹配的时候,才分配所申请的资源给提出申请的模块;任何被申请的资源当不再被任何模块使用时由所述启动模块主动回收。
通过上述资源分配回收机制,将面向对象的软件架构设计和所述静态全局的数据结构设计统一起来,使监控系统的各项功能基于高可靠性的基础之上。
实施例二,一种风电控制系统的监控方法,包括:
连接多个监控装置,将其中一个的运行模式设置为服务器模式,将其它的运行模式设置为客户端模式;运行模式为客户端模式的监控装置至少与运行模式为服务器模式的监控装置相连;采用服务器模式和采用客户端模式的监控装置之间可以但不限于采用C/S模式。
所述多个监控装置中的部分或全部采集风机数据、故障数据,接收风机控制指令;运行模式为客户端模式的监控装置将所采集的风机数据、故障数据及接收的风机控制指令发送给运行模式为服务器模式的监控装置;
运行模式为服务器模式的监控装置保存所述风机数据、故障数据及风机参数;根据所述风机控制指令修改所述风机参数以控制风机。
本实施例中,运行模式为服务器模式的监控装置和客户端模式的监控装置之间可以但不限于采用C/S模式构建监控系统;由于本实施例的监控装置可以采用服务器模式,因此该监控系统可以分散现有技术中采用单一服务器时安全性和可靠性上存在的风险。
本实施例中,运行模式为客户端模式的监控装置也可以保存风机数据和故障数据。
本实施例中,采集风机数据及故障数据时将所述风机数据及故障数据以视觉呈现时的页面为单位进行封装,形成若干个可序列化和可持久化的数据对象。以数据对象为单位进行数据采集可以增加所采集数据的逻辑性,便于对所述风机数据及故障数据进行各种处理。
本实施例中,所述方法还可以进一步包括:
当运行模式为服务器模式的监控装置故障时,将所述多个监控装置中运行模式为客户端模式的监控装置中的一个改为服务器模式。
实际应用中,有时为了方便控制,可以更改监控装置的运行模式;比如当风机塔上、地面各有一个监控装置时,当用户在地面工作时,可以将地面的监控装置的运行模式设置为服务器模式,而将风机塔上的监控装置的运行模式设置为客户端模式;当用户需要在风机塔上工作时,则对调两个监控装置的运行模式。
本实施例中,所述方法还可以包括:
利用预先储存的算法对所述风机数据和所述故障数据进行统计分析处理,得到数据处理结果。
本实施例中,所述方法还可以包括:
将所述风机数据、所述故障数据和所述处理模块的数据处理结果以表格、图形或曲线等形式呈现给用户。
本实施例中,考虑到风机参数互相之间具有相关性,所述风机参数按组进行保存,各组中为值会相应变化或值始终相同的风机参数;当修改风机参数时,将所要修改的风机参数所在组的风机参数都相应修改。从而减少用户修改时的工作量。
本实施例中,保存时利用所述数据对象可持久化的特性进行数据存储。采用服务器模式运行的监控装置上的存储模块还将额外保存其它采用客户端模式运行的监控装置上存储模块的运行状态及存储状态信息。以数据对象为单位进行数据存储利于数据管理,同时,将数据存储于多个监控装置可以有效分散数据丢失的风险,提高系统的可靠性和安全性。
本实施例中,所述方法还包括:
维护一用户状态列表,利用密码机制对用户信息进行保护,不同用户具有不同的权限,不同权限的用户可以输入不同范围的控制指令。其中最高权限的用户具有设置或修改其他用户及其用户权限的能力。
运行模式为服务器模式/客户端模式的监控装置同步与本监控装置相连的监控装置中的所述用户状态列表。
本实施例中,进行分布式的控制管理,即服务器与客户端同时具有实施控制的能力;所述方法还包括:
当收到用户输入的风机控制指令时,先根据所述用户状态列表判断该用户是否具备控制权限;如果不具备,则不进行处理;具备时才根据该控制指令控制风机或修改所述风机参数。
所述方法还包括:
所述监控装置接收用户输入的控制权限请求,当接收到所述控制权限申请时,查看所述用户状态列表,如果没有用户具备控制权限,则将控制权限分配给输入所述控制权限请求的用户,即:在所述用户状态列表中,将输入所述控制权限请求的用户的状态设置为具备控制权限;否则拒绝所述控制权限请求。
由于连接在一起的所述多个监控装置中用户状态列表是相同的,因此多个监控装置中,同一时间只能有一个用户具备控制权限,这样可以避免冲突。
当同时收到两个或两个以上用户输入的控制权限请求,并且没有用户具备控制权限时,根据所述用户状态列表确定输入所述控制权限请求的用户中权限最高的用户,将该用户的状态设置为具备控制权限,拒绝其它用户的控制权限请求。
本实施例中,也可以当收到用户输入的控制权限请求,并且有用户具备控制权限时,根据所述用户状态列表判断,输入所述控制权限请求的用户的权限是否高于当前具备控制权限的用户(实际应用时也可以是其它条件,比如是否输入所述控制权限请求的用户的权限是最高权限,再比如是否权限比当前具备控制权限的用户高出几级,等等);如果是,则将控制权限换给输入所述控制权限请求的用户,即:将当前具备控制权限的用户的状态改为不具备控制权限,将输入所述控制权限请求的用户的状态改为具备控制权限。
另外,当接收到用户的控制权限释放请求时,回收当前具备控制权限的用户控制权限。
当多个用户实施控制时,控制指令、指令下发时间、以及实施控制用户的权限信息将汇总至运行在服务器模式下的监控装置,监控装置按照指令下发时间的先后次序处理控制指令。监控装置本身存有控制指令冲突关系信息,当低权限用户的控制指令与高权限用户的控制指令冲突时将忽略对低权限用户控制指令的处理。对于相同权限用户的控制指令,当下发时间靠后的控制指令与下发时间靠前的控制指令发生冲突时将忽略对下发时间靠后的控制指令的处理。
通过上述处理可以保证当有多个用户实施控制时,控制指令时序上的正确性同时避免控制指令冲突。利用所述分布式的控制管理,可以使运行于所述客户端模式的监控装置扩展运行于所述服务器模式的监控装置的控制功能,提高监控设备的整体利用率。
本实施例中,采用静态全局的数据结构设计,即:在架构设计时,将软件所使用的全部资源都容纳于静态全局的数据结构之中,基于这些数据结构设计资源回收算法,统一管理资源的生存周期。资源回收算法为各个模块提供了统一且唯一的资源申请接口,只有当所申请资源的级别与提出申请的模块级别相匹配的时候,才分配所申请的资源给提出申请的模块;任何被申请的资源当不再被任何模块使用时回收。
通过上述资源分配回收机制,将面向对象的软件架构设计和所述静态全局的数据结构设计统一起来,使监控系统的各项功能基于高可靠性的基础之上。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。