电能计量设备的自动采集系统的专用语言实现方法技术方案

技术编号:2863023 阅读:153 留言:0更新日期:2012-04-11 18:40
一种自动采集系统,其特征是针对多种电能计量设备进行采集。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

电通讯
一种自动采集系统,对多种电能计量设备进行采集,在系统实现时采用了专用编程语言。
技术介绍
随着电力系统规模的不断扩大,电网管理自动化水平的不断提高,自动化系统在各省供电局得到越来越广泛的应用,系统基本能够实现各项功能但也存在一些问题,主要有1)各系统间数据资源不能很好地共享不同软件开发商开发的产品由于存在所用数据库不同、数据结构不同或数据类型不同等各种差异而不能实现不同系统之间的数据资源共享。2)各厂家开发的各种系统兼容性不理想由于不同软件开发厂家开发的产品没有很好的可移植性和互换性,导致系统间的兼容性不高。
技术实现思路
专利技术的目的为解决系统之间的兼容性问题提供一种解决方案,实现提高电力自动化系统开发的速度。专利技术的技术方案根据电力系统的特点,制定出了电力系统编程语言的规范。该语言在Win32下提供了该语言编译工具,可以方便开发者进行实际的Win32应用程序开发。使用该语言开发一种自动采集系统,能对多种电能计量设备进行采集。该语言程序开发的过程编写代码→解释成标准语言代码→编译成目标文件→连接成可执行程序→执行→生成该语言接口文件→提供给其它应用程序→调用语言代码为用户编写的一系列的文本文件,其中可以嵌入各种各样的语言和系统接口;通过该语言的解释程序,将语言代码解释成标准的代码;编译工具做了两件事情,第一是生成可执行程序,第二是生成了外部调用接口文件,前者用于单一功能应用程序的开发,后者可以用来作为某一特定功能模块的开发。就这两点具体介绍如下一、该语言的几种特殊变量1.电能量数据系列Energy/Energyd该语言定义了针对电力行业的电能量数据类型Energy/Energyd。Energy数据类型用于记录线路或测点上的电能表底值;由于表底值必然和某一个时刻相互关联,因而Energy内部还包含一个时间计数器;根据表底值类型的不同,Energy内部提供3个标志quaternion、tern、bool,用于记录该电能值的象限,类型等。Energyd数据类型用于记录线路或测点上的电能增量值;由于增量值必然和某一个时间段相互关联,因而Energy内部还包含两个时间计数器;Energyd内部同样提供3个标志quaternion、tern、bool,用于记录该电能值的象限,类型等。Energy数据类型定义的变量可进行减法运算,运算结果为Energyd。Energy变量不可以进行加法运算。Energy和Energyd相加得到Energy。Energyd本身支持加法和减法,支持数乘和数除运算。Energy/Energyd变量组实质上定义了标准的电能量数据类型。无论是从数据库读取数据和电能数据管理系统中的数据共享和传输都采用统一的数据格式,从而保证了不同的数据库结构下的数据共享。如果在不同的采集终端采集数据,因为通信规约的不同还会导致用户在进行数据存取时的混乱,通过该数据类型获得电能量数据就可以保证电能数据的一致性。2.特殊标志变量在Energy变量中有两个特殊的标志quaternion、tern,正是该语言中专门定义的4布尔型和3布尔型。这两个标志为电能数据的标识提供了更为简洁的支持。quaternion、tern数据类型定义的标志标量具有其鲜明的电力特色,主要表现在◆quaternion定义了电能数据的象限序号,解决了电能数据的正反向有无功的分歧。◆tern定义了电能数据操作状态的标识,能够很好地为电能数据不可更改提供代码级的支持。◆上述两种变量都支持特殊的性质,比如tern的自动变值和不可逆性,quaternion的只能在初始的时候赋值,赋值之后不许改变。3.超长整数类型电力自动化系统的安全性非常重要。对数据进行校验和审核、数据的加密和解密都需要用到特殊的长整型数据类型。而通常的程序设计语言最多只支持到64位的整数类型,这远远不能够满足当下流行的长数据加密算法的要求。而语言支持的int10数据类型,对每个变量支持512位容量,可采用直接的加密解密算法。现代芯片技术将支持数据量更大的系统总线、存储媒质的存储量海量增加,都预示着需要有一种更为宽泛的数据类型。语言的长整数类型正好满足了这一趋势,并且具有良好的扩展定义。二、该语言与外部的接口该语言的一个很大的优点是可以嵌入其它语言的程序,所以该语言的接口是其最大的特点之一。该语言语法中提供了三类主要接入方式,支持对其它程序设计语言的调用、其它应用程序和模块的调用、各种数据库的接入。在该语言的伪指令中,提供了2类主要接入方式的标识E_LOAD_LANGUAGE/END_LOAD_LANGUAGE和E_LOAD_COMPONENT/END_LOAD_COMPONENT;并支持ODBC对象的声明和连接E_LOCKODBC。1.该语言程序的接口该语言的源代码编写中支持对其它语言的源代码的嵌入。该嵌入遵循以下约束◆以伪指令来开始和终止一段嵌入。E_LOAD_LANGUAGEEND_LOAD_LANGUAGE◆需要初始化伪指令变量。指定环境变量LANGUAGE=“”;LANGUAGE等同于一个常量,只能在E_LOAD_LANGUAGE语句后赋值初始化,但可以在其它位置调用。COMPILER=”\root\dev\c\”;COMPILER等同于一个变量,在预定义文件中有默认定义,但是可以在LANGUAGE语句后进行修改。跳出END_LOAD_LANGUAGE后自动恢复默认定义。3.该语言程序和其它程序的接口该语言的源代码编写中支持对其它应用系统的嵌入。该嵌入遵循以下约束◆伪指令来开始和终止一段嵌入。E_LOAD_COMPONENTEND_LOAD_COMPONENT◆要初始化伪指令变量。指定环境变量COMPONENT_SOURCE=”\root\comp\”;COMPONENT_SOURCE等同于一个常量,只能在E_LOAD_COMPONENT语句后赋值初始化,但可以在其它位置调用。COMPONENT=“d11”;COMPONENT等同于一个变量,在预定义文件中有默认定义,但是可以在COMPONENT_SOURCE语句后进行修改。跳出END_LOAD_COMPONENT后自动恢复默认定义。◆可以使用非嵌入模块中修饰为general的变量。◆特别地,可以通过←→操作进行数据传输◆特别地,可以将内部的对象修饰成general变量让外部调用。4.语言程序和数据库的接口该语言支持数据库的标准ODBC调用。该语言还可以通过伪指令实现数据库的直接增删改查操作。该接口方式类似于部件变量的嵌入。事实上,该语言中就是把数据库对象看成了一个应用程序部件;为了操作的方便性,该语言对这个数据库应用程序部件提供了更强大的支持。该嵌入遵循以下约束◆伪指令来开始和终止一段嵌入。E_LOAD_COMPONENT_DBEND_LOAD_COMPONENT_DB◆需要初始化伪指令变量。指定环境变量COMPONENT_SOURCE=”\root\db\”;COMPONENT_SOURCE等同于一个常量,只能在E_LOAD_COMPONENT语句后赋值初始化,但可以在其它位置调用。◆使用非嵌入模块中修饰为general的变量。◆特别地,支持Add/Del/Update/Query(ADUQ)四本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:章柏幸刘静芳王俊华韩劲松
申请(专利权)人:北京津诚信业技术有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利