专利名称:用于电动汽车充电站监控系统中的通信方法及装置的制作方法
技术领域:
本发明属于新能源技术领域,尤其涉及一种用于电动汽车充电站监控系统中的通信方法及装置。
背景技术:
对电动汽车充电站监控系统的质量评判,在很大程度由其系统的稳定性来决定。目前普通的电动汽车充电站监控系统的稳定性比较差。
发明内容
本发明实施例的目的在于提供一种用于电动汽车充电站监控系统中的通信方法,旨在解决普通的电动汽车充电站监控系统的稳定性比较差的问题。 本发明实施例是这样实现的,一种用于电动汽车充电站监控系统中的通信方法,包括将所需实现的通信功能按照组件的方式进行分解;确定各组件之间的关系及各组件的边界接口 ;采用跨平台组件方式及面向对象的方式实现各组件的功能;根据配置信息动态加载组件,通过接口调用方式进行数据交互;按照预先制定的规约对充电桩进行数据采集和控制。本发明实施例还提供了一种用于电动汽车充电站监控系统中的通信装置,包括分解模块,用于将所需实现的通信功能按照组件的方式进行分解;关系模块,用于确定各组件之间的关系及各组件的边界接口 ;功能实现模块,用于采用跨平台组件方式及面向对象的方式实现各组件的功能;数据交互模块,用于根据配置信息动态加载组件,通过接口调用方式进行数据交互;采集控制模块,用于按照预先制定的规约对充电桩进行数据采集和控制。本发明实施例与现有技术相比,有益效果在于通过将所需实现的通信功能按照组件的方式进行分解,从而实现了系统中各功能之间的松耦合,提高了系统的稳定性。
图I是本发明实施例提供的一种用于电动汽车充电站监控系统中的通信方法的流程图;图2是本发明实施例的各组件间的关系图;图3是本发明实施例的数据流程图;图4是本发明实施例提供的一种用于电动汽车充电站监控系统中的通信装置的模块框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,通过将所需实现的通信功能按照组件的方式进行分解,从而实现了系统中各功能之间的松耦合,提高了系统的稳定性。请参阅图1,本发明实施例提供的一种用于电动汽车充电站监控系统中的通信方法,包括
步骤S101,将所需实现的通信功能按照组件的方式进行分解。通过将所需实现的通信功能按照组件的方式进行分解,从而实现了系统中各功能之间的松耦合,提高了系统的稳定性和实时性。在电动汽车充电站监控系统中,可将所需实现的对充电桩的实时数据进行采集和控制的功能按照组件化的设计模式,将其分解为管理组件、数据库组件、实时库组件、规约组件和通道组件。其中,管理组件,用于作为数据处理流程的控制中心。数据库组件,用于对数据库进行读参数的操作。实时库组件,用于存储充电桩的实时数据。规约组件,用于对某种规约进行解析。在本发明的一个实施例中,规约组件可包括充电桩规约组件、GPS规约组件。当然,实际应用中还可根据通信功能分为其它不同类型的规约组件,在此并不用于限制本发明。通道组件,用于完成与实际物理通道的通信,接收或下发遵照某种规约的数据报文。在本发明的一个实施例中,通道组件可包括网络通道组件和串口通道组件,分别对应实际的网络通道和串口通道。其中,网络通道组件用于完成TCP/IP网络通信的连接、收发数据、关闭。串口通道组件用于完成串口通信的打开、收发数据、关闭。由于各组件的功能单一,因此保证了系统具有良好的可重用性。步骤S102,确定各组件之间的关系及各组件的边界接口。本步骤S102包括以上述的管理组件作为数据处理流程的控制中心,分别引用数据库组件、实时库组件、规约组件和通道组件,且数据库组件、实时库组件、规约组件和通道组件相互之间不包含任何的引用关系。由于数据库组件、实时库组件、规约组件和通道组件相互之间的数据交换完全通过管理组件进行,从而实现了组件之间的松耦合,从而使得整个系统稳定可靠。各组件间的静态关系如图2所不。步骤S103,采用跨平台组件方式及面向对象的方式实现各组件的功能。本步骤S103包括采用跨平台组件对象模型的组件方式来建立组件,以面向对象的方式来实现组件,并以接口类的封装、继承和重载的方式来实现各组件的具体功能。由于组件是通过跨平台组件对象模型方式来创建的,因此保证了所产生的组件具有跨平台的可移植性。在本发明的实施例中,组件的创建可通过以下几个部分来完成A :创建全球唯一标识号⑶ID
B:定义组件接口C :定义组件契约IDD :定义组件IDE :注册组件使用面向对象的方式,通过组件接口类的封装、继承和重载来实现各组件的具体功能。为了更好的解释本发明,本发明实施例还提 供一个规约组件接口和继承的充电桩规约组件接口定义的伪代码样例,如下
class CProtocol : public nsISupports {
public:
NS_IMETHOD_(bool) Open(unsigned char* ps) = 0; NS_IMETHOD_(void) Close(unsigned char * ps) = 0; NS_IMETH〇D_(bool) Start(unsigned char * ps) = 0; NS_IMETHOD_(bool) Stop () = 0;
NS_IMETHOD_(void) (string* ps) = 0;
NS一IMETHOD—(void) ProtocolRun(string* ps) = 0 ;
};
class CCDZProtocolrpublic CProtocol
{
public:
CCDZProtocol();
CCDZProtocol();public:
NS—IMETH0D一(bool) Open(unsigned char* ps);
NS—IMETHOD—(void) Close(unsigned char * ps); NS_IMETH〇D_(bool) Start(unsigned char * ps); NS_IMETH〇D—(bool) Stop ();
NS—IMETHOD—(void) (string* ps);
NS_IMETH〇D_(void) ProtocolRun(string* ps);
};步骤S104,根据配置信息动态加载组件,通过接口调用方式进行数据交互。本步骤S104包括运行时,可根据组件契约ID动态加载组件,通过调用所加载的组件接口函数进行数据交互。
为了更好的解释本发明,本发明实施例还提供了一个动态加载充电桩规约组件和调用充电桩规约组件接口伪代码样例,如下
typedef nsC〇MPtr< CProtocol > CProtocolPtr;
CProtocolPtr pCDZProtocol;
unsigned char ps[128];
void LoadProtocol(char* protoclname)
{
char CID[128];· sprintf( CID, "0jhw /Runcode/%s;I", protoclname);
nsresult rv = nsCreateComponentByContractID()
(CID,
nsnull,
NS_GET_IID(nsIProtocol), getter—AddRefs(pCDZProtocol _));
pCDZProtocol->Open(ps);
}步骤S105,按照预先制定的规约对充电桩进行数据采集和控制。在本步骤中,通过TCP/IP网络,可建立与充电桩的网络连接,召唤、接收充电桩的实时电气量数据,依据预先制定的规约即预先制定的数据处理流程进行数据的解析处理后上传至电动汽车充电站监控系统的服务器,然后接收服务器下发的控制命令,依据预先制定的规约进行打包处理后下发至充电桩,从而实现对充电桩的数据进行采集监测和控制。在本发明实施例中,预先制定的规约即预先制定的数据处理流程包括(I)、程序启动。管理组件根据配置信息,动态加载通道组件和规约组件,调用其接口并开始程序的运行。加载组件时根据配置信息分别加载具体的网络通道组件或串口通道组件,以及具体的充电桩规约组件。(2)、数据交互。各个组件之间通过队列机制进行数据交互。在管理组件中建立两个数据队列,上收数据队列和下发数据队列。上收数据队列存放从通道组件收到的充电桩报文数据。下发队列存放由通道组件向充电桩发送的报文数据。(3)、流程控制。程序的数据流程控制主要由管理组件来完成。其它各个组件之间的耦合度相对松散。其具体的数据流程图如图3所示。为了更好的解释本发明,本发明实施例海提供了一个对遥测数据队列进行读写操作的伪代码样例,如下void CManager::InsertNewYcInfo(const CYcData& ycdata)
{
WRLOCK(m_YciLock);
m_YciRecQueue[m—YciWrpos] = ycdata;m_YciWrpos++;
if (m_YciWrpos >= YCI_QUEUE_LEN) m_YciWrpos = 0;
UNLOCK(m_YciLock); }
bool CManager::GetNextYcInfo(CYcInf〇& ycdata) const{
bool bResult = false;
static int m_YciRdpos = m_YciWrpos;
RDLOCK(m_YciLock); if (m_YciRdpos != m_YciWrpos)
{
ycdata = m—YciRecQueue[m_YciRdpos]; m_YciRdpos++;
if (m_YciRdpos >= YCI_QUEUE_LEN) m—YciRdpos = 0; bResult = true;
}
UNLOCK(m_YciLock); return bResult;
}请参阅图4,本发明实施例还提供了一种用于电动汽车充电站监控系统中的通信装置,包括分解模块401,用于将所需实现的通信功能按照组件的方式进行分解。在本发明的实施例中,分解模块401可以具体用于将所需实现的对充电桩的实时数据进行采集和控制的功能按照组件的方式分解为管理组件、数据库组件、实时库组件、规约组件和通道组件。关系模块402,用于确定各组件之间的关系及各组件的边界接口 ;
在本发明的实施例中,关系模块402可以具体用于以所述管理组件作为数据处理流程的控制中心,分别引用所述数据库组件、实时库组件、规约组件和通道组件,且所述数据库组件、实时库组件、规约组件和通道组件相互之间不包含任何的引用关系。功能实现模块403,用于采用跨平台组件方式及面向对象的方式实现各组件的功倉泛;在本发明的实施例中,功能实现模块403可以具体用于采用跨平台组件对象模型的组件方式来建立组件,以面向对象的方式来实现组件,并以接口类的封装、继承和重载的方式来实现各组件的具体功能。数据交互模块404,用于根据配置信息动态加载组件,通过接口调用方式进行数据交互; 在本发明的实施例中,数据交互模块404可以具体用于根据组件契约ID动态加载组件,通过调用所加载的组件接口函数进行数据交互。采集控制模块405,用于按照预先制定的规约对充电桩进行数据采集和控制。在本发明的实施例中,采集控制模块405可以具体用于通过TCP/IP网络,建立与充电桩的网络连接,召唤、接收充电桩的实时电气量数据,依据预先制定的规约即预先制定的数据处理流程进行数据的解析处理后上传至电动汽车充电站监控系统的服务器,然后接收服务器下发的控制命令,依据预先制定的规约进行打包处理后下发至充电桩,从而实现对充电桩的数据进行采集监测和控制。本发明实施例提供的用于电动汽车充电站监控系统中的通信方法及装置,能够提高系统的稳定性、实时性,并具有可重用性、可移植性和可扩展性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种用于电动汽车充电站监控系统中的通信方法,其特征在于,包括 将所需实现的通信功能按照组件的方式进行分解; 确定各组件之间的关系及各组件的边界接口; 采用跨平台组件方式及面向对象的方式实现各组件的功能; 根据配置信息动态加载组件,通过接口调用方式进行数据交互; 按照预先制定的规约对充电桩进行数据采集和控制。
2.如权利要求I所述的方法,其特征在于,所述将所需实现的通信功能按照组件的方式进行分解包括 将所需实现的对充电桩的实时数据进行采集和控制的功能按照组件的方式分解为管理组件、数据库组件、实时库组件、规约组件和通道组件。
3.如权利要求2所述的方法,其特征在于,所述确定各组件之间的关系及各组件的边界接口包括 以所述管理组件作为数据处理流程的控制中心,分别引用所述数据库组件、实时库组件、规约组件和通道组件,且所述数据库组件、实时库组件、规约组件和通道组件相互之间不包含任何的引用关系。
4.如权利要求I所述的方法,其特征在于,所述采用跨平台组件方式及面向对象的方式实现各组件的功能包括 采用跨平台组件对象模型的组件方式来建立组件,以面向对象的方式来实现组件,并以接口类的封装、继承和重载的方式来实现各组件的具体功能。
5.如权利要求I所述的方法,其特征在于,所述根据配置信息动态加载组件,通过接口调用方式进行数据交互包括 可根据组件契约ID动态加载组件,通过调用所加载的组件接口函数进行数据交互。
6.一种用于电动汽车充电站监控系统中的通信装置,其特征在于,包括 分解模块,用于将所需实现的通信功能按照组件的方式进行分解; 关系模块,用于确定各组件之间的关系及各组件的边界接口 ; 功能实现模块,用于采用跨平台组件方式及面向对象的方式实现各组件的功能; 数据交互模块,用于根据配置信息动态加载组件,通过接口调用方式进行数据交互; 采集控制模块,用于按照预先制定的规约对充电桩进行数据采集和控制。
7.如权利要求6所述的系统,其特征在于,所述分解模块具体用于将所需实现的对充电桩的实时数据进行采集和控制的功能按照组件的方式分解为管理组件、数据库组件、实时库组件、规约组件和通道组件。
8.如权利要求7所述的系统,其特征在于,所述关系模块具体用于以所述管理组件作为数据处理流程的控制中心,分别引用所述数据库组件、实时库组件、规约组件和通道组件,且所述数据库组件、实时库组件、规约组件和通道组件相互之间不包含任何的引用关系O
9.如权利要求6所述的系统,其特征在于,所述功能实现模块具体用于采用跨平台组件对象模型的组件方式来建立组件,以面向对象的方式来实现组件,并以接口类的封装、继承和重载的方式来实现各组件的具体功能。
10.如权利要求6所述的系统,其特征在于,所述数据交互模块具体用于根据组件契约ID动态加载组件, 通过调用所加载的组件接口函数进行数据交互。
全文摘要
本发明适用于新能源技术领域,提供了一种用于电动汽车充电站监控系统中的通信方法及装置,包括将所需实现的通信功能按照组件的方式进行分解;确定各组件之间的关系及各组件的边界接口;采用跨平台组件方式及面向对象的方式实现各组件的功能;根据配置信息动态加载组件,通过接口调用方式进行数据交互;按照预先制定的规约对充电桩进行数据采集和控制。本发明的用于电动汽车充电站监控系统中的通信方法及装置,能够提高系统的稳定性、实时性,并具有可重用性、可移植性和可扩展性。
文档编号H04L29/08GK102957739SQ20121002771
公开日2013年3月6日 申请日期2012年2月8日 优先权日2012年2月8日
发明者唐明, 何霄鹏, 江定稳 申请人:深圳市金宏威技术股份有限公司