DESCRIPTION
METHOD AND SYSTEM FOR BI-DIRECTIONAL DATA CONVERSION BETWEEN IEC 61970 AND IEC 61850
FIELD OF THE INVENTION
The invention relates to utility control systems in substations and control centres, and, more particularly, relates to conversion of data between EEC 61970 standard and IEC 61850 standard, and vice versa.
BACKGROUND OF THE INVENTION
Utility control systems in Substation Automation Systems (SAS) and control centres in a power system network together serve to monitor, supervise, control, and protect the power network to economically provide high quality electricity in a reliable manner. The operation of the power system network can be improved by ensuring a higher degree of integration of control centre applications and SAS applications. The integration requires exchange of data between SAS and the control centre. This data exchange relates to both - the system configuration data used at the time of system/application engineering and integration, and the live data used at systems' runtime.
SAS and control centres use different standards, according to which the corresponding data is modelled. In particular, the two International Electrotechnical Commission (IEC) standards used are IEC 61850 at the SAS, and the Common Information Model (CLVI) of IEC 61970 at the control centres.
Exchange of data between such systems is essential if the systems are to be integrated or interoperated. However, the data modelled, based on a particular standard is not accessible to systems that use data modelled, based on another standard. This limits interoperability between systems that use data modelled, based on different standards. Data exchange between such systems requires data models to be mapped between the two standards.
Generally, the amount of data to be converted is large. This makes the mapping of data between the standards a tedious task. Further, the understanding and preservation of the involved semantics makes the task of data mapping complex. The mapping requires a syntactically and semantically accurate conversion. As a result, the conversion of data from IEC 61970 to IEC 61850, and vice versa, is difficult due to the complexity of the data models in the two standards.
DEC 61970 defines an Application Program Interface (API) for an Energy Management System (EMS). IEC 61970 defines, amongst others, a data model for control centre systems/applications. A Common Information Model (CIM) specifies the semantics of the API. The CIM is an abstract model that represents all the major elements in a control centre system, that are typically needed to model the operational aspects of the control centre system. The CIM can be used in a variety of applications to enable integration. In particular, the CIM is used wherever a common power system model is needed to facilitate interoperability and plug compatibility between. applications and systems independent of any particular implementation.
The IEC 61850 is a standard that defines, amongst others, a data model for Substation Automation systems (SAS), and is a standard for communications within a substation. IEC 61850 contains a device model, which describes the function allocation as well as the properties of each physical device. IEC 61850 provides a data model for Logical Nodes (LN). LNs are the atomic functional building blocks of an SAS and contain the data and attributes of the respective elements. EEC 61850 also defines the Substation Configuration Language (SCL), an extensible Markup Language (XML) Schema, to configure the substation and for file exchange of configuration data.
Efforts have been made to enable the conversion of data in one standard to another. US patent application numbered 'US2002059566', titled 'Uni -level description of computer information and transformation of computer information between representation schemes' provides a system and method for transforming selected computer information described by using one model of data representation to computer information described by using a second model of data representation. The transformation involves expressing the selected computer information in a uni-level description scheme. The uni-level description scheme uses basic structures that represent the selected computer information, with reference to a generic set of abstractions applicable to representation schemes with different model
structures. Following this, the selected computer information is transformed and expressed in the uni-level description to the second representation scheme.
However, currently there are no formal mapping rules available for the conversion of data in EEC 61970 to data in IEC 61850, and vice versa. Hence, a person who converts data based in IEC 61970 to IEC 61850, or vice versa is required to have a detailed knowledge of both the standards. Further, the person does not have any computerized aide to do the mapping accurately, and hence, has to do the mapping manually.
DESCRIPTION OF THE INVENTION It is therefore an objective of the invention to provide a method of converting a file that is based on a first standard to a file that is based on a second standard, and vice versa. The involved standards are IEC 61970 and IEC 61850. A file in IEC 61970 is coded according to Resource Description Framework (RDF) Schema and a file in IEC 61850 is coded according to XML Schema. The data in each file is modelled by using a UML model for the corresponding standard. The method includes automatically generating mapping rules that are based on the UML models of the two involved standards and the UML model for mappings between the two standards. Elements to be converted are identified. The identified elements are converted by using the generated mapping rules. Finally, post¬ processing rules are applied to the converted elements to generate the file, based on the second standard.
It is another objective of the invention to provide a semi-automatic converter for converting a file in the first standard to a file in the second standard, and vice versa. The standards are IEC 61970 and IEC 61850. The semi-automatic converter includes means for automatically generating the mapping rules, based on the UML models of the two standards and the UML model for mappings between the two standards, means for identifying the elements to be converted, means for converting the identified elements, and means for applying post-processing rules to the converted elements to generate the output file based on the second standard. The conversion is performed by using the generated mapping rules.
BRIEF DESCRIPTION OF THE DRAWINGS
The subject matter of the invention will be explained in more detail in the following text with reference to the preferred exemplary embodiments illustrated in the attached drawings, of which: Fig.l schematically depicts the basic elements of a utility control system, according to embodiments of the invention;
Fig.2 schematically depicts the interaction required for the process of the conversion of a file based on IEC 61970 to a file based on IEC 61850 and vice versa, according to an embodiment of the present invention; Fig.3 schematically depicts the blocks of a semi-automatic converter, according to an embodiment of the present invention;
Fig.4 is a flowchart depicting a method of converting a file in the first standard to a file in the second standard, according to an embodiment of the present invention;
Fig.5 is a flowchart depicting a method of identifying elements to be converted, according to an embodiment of the present invention; and
Fig.6 and Fig.7 are flowcharts depicting the conversion process, according to an embodiment of the present invention.
The reference symbols used in the drawings, and their meanings, are listed in summary form in the list of reference symbols. In principle, identical parts are provided with the same reference symbols in the figures.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Data exchange between systems and applications based on International Electrotechnical Commission standards, IEC 61970 and IEC 61850, is required for the interoperability and integration of such systems. The data exchange involves conversion of data based on EEC 61970 to IEC 61850, and vice versa. This involves a syntactically and semantically correct conversion and mapping of the data objects of EEC 61970 and EEC 61850. The invention provides a system, a method and a computer program product to semi-automatically perform the conversion. Fig.l schematically depicts the basic elements of a utility control system, according to the embodiments of the present invention. Utility control system 100 comprises a system 102 with data modelled, based upon IEC 61970, and at least one system 104 with data modelled, based upon the EEC 61850 standard. In an embodiment, system 102 is a control
centre system and system 104 is a Substation Automation System (SAS). A semi¬ automatic converter 106 enables the integration and interoperability of system 102 and system(s) 104. For the integration and interoperability of the two systems, data exchange between these systems is required. The data refers to, for example, system configuration data and live data used during system runtime exchange. The data comprises data related to various elements comprised in each of systems 102 and 104. Since the systems are based on different standards, the data exchange involves the conversion of files containing the data, and modelling the file data based on the first standard to a file based on a second standard, and vice versa. Semi-automatic converter 106 enables this conversion. Abstract models of system 102 and system 104 provide overviews of elements comprised within the corresponding systems. For example, the abstract model of system 102 may comprise elements such as '.Terminal', 'Substation', 'VoltageLevel', 'Bay', 'Base Voltage' and 'BasePower'. The abstract model of system 102 is based on CIM. The abstract models of system 102, as well as of system 104, are modelled by using a Unified Modelling Language (UML) model .
Semi-automatic converter 106 is described in detail with reference to Fig. 2 and Fig. 3. Fig. 2 schematically depicts the interaction required for the process of conversion of a file 202, based on IEC 61970, to a file 204 based on EEC 61850, and vice versa, according to an embodiment of the present invention. As described earlier, semi-automatic converter 106 performs the conversion of file 202 to file 204, and vice versa. For the purpose of conversion, assume that file 202 is to be converted.
The data, in the form of files such as configuration files, is provided to semi-automatic converter 106 for conversion. Configuration files, for example, contain data related to the various elements of the system, such as elements contained in the abstract model. File 202, corresponding to system 102, is coded according to CIMXML, an RDF Schema. For example, files created for CIM interoperability tests can be used for the purpose. File 204, corresponding to system 104, is coded according to SCL, an XML Schema (Part 6 of DSC 61850). File 202 or 204 is provided to semi-automatic converter 106 if a conversion from IEC 61970 to DEC 61850, or vice versa is to be performed, respectively. Hence, semi- automatic converter 106 converts a file coded according to CIMXML, that is based on IEC 61970, to a file coded according to SCL, that is based on IEC 61850, and vice versa.
Semi-automatic converter 106 uses UML model of mappings 206 and the abstract models of system 102 and system 104. UML model 208 and UML model 210 are the
abstract models based on system 102 and system 104, respectively. Two sets of mapping rules 212: one for mappings from IEC 61970 to EEC 61850 and one for mappings from IEC 61850 to EEC 61970, are then derived from UML model of mappings 206. Mapping rules 212 are coded according to the RDF schema and aid in converting a file based on EEC 61970 to a file based on EEC 61850, and vice versa.
Semi-automatic converter 106 then performs the conversion, based on mapping rules 212, and may require intervention by a user 214 in addition to the use of mapping rules 212, to perform the required conversion. The conversion, as described earlier, involves identifying applicable mapping rules 212 and applying the identified mapping rules to the elements to be converted, thereby generating converted elements. File 204 is generated after the application of post-processing rules.
Semi-automatic converter 106 has a Human Machine Interface (HMI) that is used by user 214 to input data or control the conversion wherever necessary. Mappings 206 in UML are modelled by a person having knowledge of both the standards. All the three UML models are stored in a file system, in the format determined by CASE tool. For example, CASE tool, Rational Rose™ 2003 (service release 12), a product of IBM, can be used. The CASE tool provides a way of representing systems, which are complex to comprehend in their source code or schema-based form, in a way that the design becomes apparent and easy to understand. Specifically, the CASE tool enables a source code to be parsed and represented within UML.
Fig.3 schematically depicts the modules of semi-automatic converter 106, according to an embodiment of the invention. A mapping rules generation module 302 generates the two sets of mapping rules. Mapping rules generation module 302 relies on the three UML models: UML model 208 of IEC 61970, UML model 210 of IEC 61850, and UML model of mappings 206 between them. For a given version of the three UML models, mapping rules generation module 302 generates two sets of mapping rules only once. Those rules are further used for conversion between instance files based on EEC 61970 and EEC 61850, and vice versa. The mapping rules are regenerated only if any of UML models 208, 210 and 206 changes. Mapping rules generation module 302 utilizes an open source UML-to- RDF translator Xpetal, published by LangDale Consultants. Xpetal is available under Lower General Public License (LGPL). Xpetal has been designed in the Java programming language for converting any abstract model expressed in UML to the corresponding
concrete model as an RDF Schema. The Xpetal tool helps to model files by mapping UML attributes and association roles to RDF properties.
The generated mapping rules are applied to the elements of the file to be converted. The elements to be converted comprise elements selected either with or without user intervention. The elements to be converted further comprise elements identified, based on the selected elements, by an element identification module 304.
The identified elements are then provided to a conversion module 306. Conversion module 306 converts the identified elements based on the first standard to elements based on the second standard, according to the generated mapping rules. The conversion involves identifying the applicable mapping rule for each element to be converted, and then proceeds by generating converted elements, based on the applicable mapping rules and the identified elements. The converted elements are subsequently processed by a post¬ processing module 308. Post-processing module 308 modifies the generated file by applying post-processing rules to the generated file. The post-processing rules help modify the converted elements or add elements to the converted elements to obtain a file that is in accordance with the second standard.
Fig.4 is a flow chart depicting a method of converting a file in the first standard to a file in the second standard, according to an embodiment of the present invention. At step 402, the mapping rules are generated based on the UML mappings model. The mapping rules are generated by semi-automatic converter 106 and are coded according to the RDF schema. The mapping rules are based on the two standards, EEC 61970 and EEC 61850, and are formed, based on the relationships between various elements of the UML models that are based on the two standards. The relationships may involve, for example, one-to-many mapping, many-to-one mapping, one-to-one mapping, or no mapping. For a given version of the three UML models, this mapping rules generation needs to be performed only once, as explained above.
At step 404, elements to be converted are identified. The identification of the elements to be converted can be carried out either with or without the aid of user intervention. This step is explained in detail with reference to Fig. 5. At step 406, the identified elements are converted, based upon the generated mapping rules. The conversion involves the generation of elements, based on the applicable mapping rules. The generated elements are called converted elements. This step is described in detail with reference to Fig. 6.
At step 408, post-processing rules are applied to the converted elements to create an output file. In an embodiment, the post-processing rules may be required, for example, to generate a new element based on the second standard. Such a scenario may occur in the case of optional elements. For example, element 'Bay' is optional in DEC 61970, and its corresponding element in IEC 61850, also called 'Bay', is mandatory. Therefore, to create an output file that conforms to the second standard, i.e., IEC 61850 for this example, element 'Bay' is deduced from other identified elements based on IEC 61970. For example, elements 'VoltageLevel' and 'Equipment' can be used to deduce element 'Bay'. It is to be noted that the post-processing rules may call for help from a user. The post-processing rules may also, for example, be used to modify the converted or the generated elements. This modification is based on either of the two standards. The modification can also be brought about by user intervention.
The application of the post-processing rules completes the conversion of a file based on the first standard to an output file based on the second standard. The output file is based on the converted elements, and the elements generated based on the post-processing rules.
Fig. 5 is a flowchart depicting a method of identifying the elements to be converted. At step 502, an element is selected, as described earlier, either with or without user intervention. User intervention for the identification of the elements to be converted may comprise, for example, the selection of a substation from a CIMXML file to be converted. Further, such a selection is required if there are several substations. To select the substation to be converted, the user first opens a CEvIXML instance file through the HMI, and then selects the substation to be converted from this file. However, if, for example, all the substations need to be converted, then user intervention is not required.
At step 504, all the elements referenced by the selected elements are identified. This means that at this step elements relevant to the conversion are extracted. The reference to or the association of the elements may, for example, be simple or cyclic. Simple reference relates to a uni-directional association between two elements with no cycles. A typical example of a simple reference includes XML Schema elements that represent a tree, where the child elements are contained by a parent element, and there is no reference from the child to the parent. SCL of IEC 61850 is an XML Schema involving such simple references. A typical example of cyclic reference includes CIMXML elements of IEC 61970. CIMXML is an RDF Schema, in which the association between two elements is bi¬ directional, i.e., references between ("parent and child") elements may be present. Thus a
cyclic graph is formed, which may have loops. Therefore, CIMXML elements may have both simple and cyclic references to other CIMXML elements.
The references are further explained by using the following examples. In the following examples, consider a conversion from IEC 61970 (CEvIXML) to IEC 61850 (SCL). The element to be converted is identified from a CIMXML instance file. Let it be denoted with A.
The algorithm for identifying simple reference searches for all non-processed elements from the CIMXML file, which are referenced by element A (top-down processing), or which reference A (bottom-up processing). An exemplary pseudo code for the simple association is as follows:
• Notation
Ei: an element
£,A'- Set of elements Ej previously processed ξA->c"- Set of all children C referenced by A ξo Set of all elements not processed yet (initially, this is the set of all elements in the CIMXML instance file)
• Algorithm
//Top-down processing for a given element A
{ set parent-child relation between A and C add Ci to ξ
A remove C from ξc } //Bottom-up processing for a given element A for each C in ξc do { if C has child A { set parent-child relation between A and C add Ci to ξ
A remove C from ξc
}
A cyclic reference arises for a situation such as for a 'Terminal' element. The simple association algorithm cannot be applied in this case, since a child C can be referenced twice, from parent A and parent B. This case is treated as a separate case and the following algorithm is applied for identifying cyclic references, as is the case for the 'Terminal' element.
• Notation
Ei: an element
Eπ> the unique identifier of an element ξA"- Set of elements Ej previously processed (Hash table key=Ero, value=Ei). ξ,A-»c"- Set of all children C1D referenced by A (Hash table key=Cro, value=Aro). ξβ-»c: Set of all children C1D referenced by B (Hash table key=CrD, value=Bio). ξc: Set of all elements not processed yet
• Initialisation (given a child of type C) add all child C1D of A to ξA->c add all child C10 of B to ξB-»c
• Algorithm
//Bottom-up processing for each C in ξc do { remove C from ξc if C has both child A and B { if child A e ξA { set parent-child relation between A and C if CiD e ξA-*c remove QD from ξA-»c
} else { set parent-child relation between A and C
} if child B e ξA {
set parent-child relation between B and C if CiD e ξβ-»c remove CID from ξβ->c } else { set parent-child relation between B and C }
} else if C has child A and A e ξA { set parent-child relation between A and C if Cm e £A->C remove CID from £A-»C if 3 B referencing C do { set parent-child relation between B and C remove CID from ξβ->c } } else if C has child B and B ε ξA { set parent-child relation between B and C if CID e ξβ→c remove CID from ξB→c if 3 A referencing C do { set parent-child relation between A and C remove CID from ξA->c
} //Top-down processing
} else if A has child C do { set parent-child relation between A and C remove CID from ξA→c if 3 B referencing C do { set parent-child relation between B and C remove C from ξB→c
} } else if B has child C do { set parent-child relation between B and C remove C from ξβ-»c
}
It is to be noted that the elements are identified recursively, i.e., the sub-elements that are identified when the step is first performed are considered the parent elements the second time the step is performed, and so on. This means that the step is performed till none of the selected elements reference any element that is not selected. At step 506, instances of all the identified elements are created and stored into the file to be converted. This file is provided to semi-automatic converter 106, and it is coded according to CIMXML (RDF Schema), if the elements to be converted are based on IEC 61970. It is coded according to SCL (XML Schema) if the elements to be converted are based on IEC 61850. Fig.6 and Fig.7 show a flowchart depicting the conversion process, with reference to step 406, in accordance with an embodiment of the invention. The conversion rule for each of the identified elements is checked and converted elements are accordingly generated from the identified elements. The described steps are performed for the identified elements. At step 602, it is checked if any mapping exists for the identified elements. At step 604, all the elements for which no mapping exists are ignored. No mapping exists, if for an, identified element a corresponding element in the second standard does not exist. For example, element 'Battery' in IEC 61850 has no equivalent element in EEC 61970 and is ignored during conversion from IEC 61850 to IEC 61970. The identified elements that are ignored are not considered for a further conversion process. At step 606, it is checked if a one-to-many mapping exists. This type of mapping is known as multiple mapping. In this case, a single element from the first standard maps onto multiple elements from the second standard. If a one-to-many mapping exists, then step 608 is performed. At step 608, the multiple elements in the second standard are generated as the converted elements. These generated elements map onto an element in the first standard for which the multiple mapping rule is applicable. An example of such a multiple mapping is the conversion from IEC 61970 'Measurement' and the generation of one 'VoltageTransformer' and two 'Terminal' elements in IEC 61850.
At step 610, it is checked if a many-to-one mapping exists. This type of mapping is known as combined mapping. In this case, multiple elements from the first standard map onto a single element from the second standard, i.e., multiple identified elements are combined to generate one converted element. If many-to-one mapping exists, step 612 is performed. At step 612, an element in the second standard corresponding to multiple elements in the first standard is generated. An example of such a combined mapping is the
conversion from IEC 61850 'CurrentTransformer' and two 'Terminal' elements into an IEC 61970 'Measurement' element.
At step 614, it is checked if a conditional mapping in the form of If -Then-Else rules needs to be applied. These rules may call for user intervention. If the check is true, the elements based on the second standard are generated at step 616 by using these rules. This conversion depends on certain attributes and the If-Then-Else rules are used to check these attributes. For example, either of elements 'Disconnector', 'LoadBreakSwitch' and 'GroundDisconnector' in EEC 61970 can be converted into a 'CircuitSwitch' element in IEC 61850, while appropriately setting the attribute value 'CircuitSwitch.SwTyp'. At step 618, it is checked if an exact mapping exists. According to this type of mapping, an element based on the first standard can be directly converted to an element based on the second standard. If an exact mapping exists, then step 620 is performed. At step 620, an element based on the second standard is generated by the direct conversion of an element based on the fist standard. For example, element 'Breaker' in IEC 61970 corresponds to the element 'Circuit Breaker' in IEC 61850, and hence, a direct conversion is possible.
If at step 618, it is found that exact mapping does not exist, step 622 is performed. At step 622, partial mapping rules are used for conversion. According to this type of mapping, only a part of an identified element can be converted into the other format. The relevant attributes are translated, while the others are ignored. Therefore, the converted elements generated according to this mapping rule describe only a part of the identified element to which the partial mapping rule is applied. For instance, protection devices from IEC 61850 (TED Section of SCL) are abbreviated in their DΞC 61970 counterparts, 'ProtectionEquipment' ; hence partial mapping may be required.
In summary, the invention provides a semi-automatic converter to convert files based on DEC 61970 to IEC 61850, and vice versa, and a method for performing the conversions. It facilitates the configuration for the inter-operability of systems based on DEC 61970 to IEC
61850. The semi-automatic converter has the functionality of interpreting the mapping of the abstract UML models of the two standards. Further, it automatically creates the mapping rules, based on the mapping. These mapping rules are used by the semi-automatic converter to convert a file based on the first standard to a file based on the second standard, and vice versa. The semi-automatic converter also has an HMI that facilitates user intervention. The user intervention may be used for the selection of the elements to be converted and in applying post-processing rules.
The system, as described in the present invention or any of its components, may be embodied in the form of a computer system. Typical examples of a computer system include a general-purpose computer, a programmed microprocessor, a micro-controller, a peripheral integrated circuit element, and other devices or arrangements of devices that are capable of implementing the steps that constitute the method of the present invention.
The computer system comprises a computer, an input device, and a display unit and may have access to the Internet. Computer comprises a microprocessor. Microprocessor is connected to a communication bus. Computer also includes a memory. Memory may include Random Access Memory (RAM) and Read Only Memory (ROM). Computer system further comprises storage device. It can be a hard disk drive or a removable storage drive such as a floppy disk drive, optical disk drive and the like. Storage device can also be other similar means for loading computer programs or other instructions into the computer system.
The computer system executes a set of instructions that are stored in one or more storage elements, in order to process input data. The storage elements may also hold data or other information as desired. The storage element may be in the form of an information source or a physical memory element present in the processing machine.
The set of instructions may include various commands that instruct the processing machine to perform specific tasks such as the steps that constitute the method of the present invention. The set of instructions may be in the form of a software program. The software may be in various forms such as system software or application software. Further, the software might be in the form of a collection of separate programs, a program module with a larger program or a portion of a program module. The software might also include modular programming in the form of object-oriented programming. In particular the modules of the semi-automatic converter may be coded in a high level language such as, for example, C, C++, C#, and Java. The processing of input data by the processing machine may be in response to user commands, or in response to results of previous processing or in response to a request made by another processing machine.
While the preferred embodiments of the present invention have been illustrated and described, it will be clear that the present invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the present invention as described in the claims.
LIST OF DESIGNATIOINS
100 Utility Control System
102 System based on IEC 61970 104 System based on IEC 61850
106 Semi-automatic Converter
202 File based on IEC 970
204 File based on IEC 61850
206 Mappings in UML 208 UML Model of IEC 61970
210 UML Model of IEC 61850
212 Mapping Rules
214 User
302 Mapping Rule Generation Module 304 Element Identification Module
306 Conversion Module
308 Post-processing Module
402 Step of Generating Mapping Rules
404 Step of Identifying Elements to be converted 406 Step of Converting Identified Elements
408 Step of Applying Post-Processing Rules
502 Step of Selecting an Element
504 Step of Identifying Elements Referenced by Selected Element
506 Step of Generating Set of Instances for Identified Elements 602 Step of Checking if any Mapping Exists
604 Step of Ignoring Elements
606 Step of Checking if a One-To-Many Mapping Exists
608 Step of Mapping Multiple Elements onto one
610 Step of Checking if a Many-To-One Mapping Exists
612 Step of Mapping one Element onto Multiple Elements 614 Step of Checking if If-Then-Else Rules Are To Be Applied 616 Step of Generating Element Based on If-Then-Else Rules 618 Step of Checking if Exact Mapping Exists 620 Step of Generating Element Based on Direct Mapping 622 Step of Generating Element Based on Partial Mapping