WO2001022186A1 - Utilities communications architecture compliant power management control system - Google Patents

Utilities communications architecture compliant power management control system Download PDF

Info

Publication number
WO2001022186A1
WO2001022186A1 PCT/US2000/026311 US0026311W WO0122186A1 WO 2001022186 A1 WO2001022186 A1 WO 2001022186A1 US 0026311 W US0026311 W US 0026311W WO 0122186 A1 WO0122186 A1 WO 0122186A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
network
protocol
power management
modbus
Prior art date
Application number
PCT/US2000/026311
Other languages
French (fr)
Inventor
Geoff Butland
Patrick Meagher
Radoslaw Narel
James Petrizzi
Drew Baigent
Original Assignee
General Electric Company
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 General Electric Company filed Critical General Electric Company
Priority to CA002350522A priority Critical patent/CA2350522A1/en
Priority to EP00965408A priority patent/EP1137974A4/en
Publication of WO2001022186A1 publication Critical patent/WO2001022186A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23262DDE direct data exchange, DLL dynamic library linking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25014Fieldbus general name of bus connected to machines, detectors, actuators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25428Field device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31091One client handled by several servers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31145Ethernet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31186TCP-IP internet protocol
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31367MMS manufacturing message specification, rs511, iso9506
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/18Network protocols supporting networked applications, e.g. including control of end-device applications over a network

Definitions

  • the invention relates generally to a power management control system and in particular, to a power management control system that implements the Utility Communications Architecture (UCA).
  • UCA Utility Communications Architecture
  • the power management control system described therein comprises a computer having standard RS485 interface cards and adapters installed in its I/O slots defining multiple industry standard Modbus RTU networks.
  • Devices with a Modbus RTU interface can be connected directly to the Modbus and other devices which communicate on the Commnet protocol require a Modbus concentrator.
  • the Modbus concentrator provides an interface between the Modbus RTU protocol and the Commnet protocol, whereby these other devices can communicate through the Modbus concentrator over the Modbus.
  • standard Ethernet interface cards and adapters are installed in the computer's I/O slots defining multiple standard Ethernet TCP/IP networks.
  • Ethernet TCP/IP protocol is a well known standard, which would allow a user of the power management control system of the present invention to use its existing LAN.
  • Ethernet gateways are connected to the Ethernet TCP/IP networks to provide an interface between the Ethernet TCP/IP protocol and the Modbus RTU protocol.
  • the Utility Communications Architecture developed by the Electrical Power Research Institute (EPRI), provides a flexible and scaleable computer communications architecture for communication within and among control systems in the electric, gas, and water utilities.
  • the UCA currently under Version 2, is a suite of existing technologies and standards, which includes an Ethernet physical layer, a Transport Control Internet/Internet Protocol (TCP/IP) or International Organization for Standards Open Systems Interconnect (ISO-OSI) network layer, and a Manufacturing Message Specification (MMS) application layer.
  • MMS is an internationally standardized messaging system for exchanging real-time data and supervisory control information between networked devices and/or computer applications in a manner that is independent of the application that is being performed or the developer of the device or application.
  • UCA Version 2 provides many beneifits to a control system, including interoperability between different vendors over the same communication network, and rapid installation due to self-defining, object oriented data objects.
  • a power management system includes a computer with an interface defining a first network having a network layer protocol.
  • a gateway is connected to the first network for converting the network layer protocol to a first application layer protocol and defining a second network.
  • a first intelligent electronic device is connected to the second network, and a second intelligent electronic device is connected to the first network.
  • a first server associated with the computer communicates with the first intelligent electronic device using the first application layer protocol.
  • a second server associated with the computer communicates with the second intelligent electronic device using a second application layer protocol. The first and second servers processing data received from the first and second intelligent electronic devices to manage power use.
  • FIG. 1 is a block diagram of a UCA compliant power management control system, in accordance with the present invention
  • FIG. 2 is a block diagram of the computer software used in the power management and control system of FIG. 1;
  • FIG. 3 is a schematic block diagram the DDE server link between clients and devices of the power management and control system of the present invention
  • FIG. 4 is a schematic block diagram of the DDE server register mapping scheme of the power management and control system of the present invention.
  • FIG 5 is a schematic block diagram of the DDE server, register map and message polling of the power management and control system of the present invention
  • FIG. 6 is a schematic block diagram of the component subsystems of the DDE server, including a server module, a DDE handler module, a device module, a register group module and a communications module;
  • FIG 7 and 8 are diagrams of the device module of FIG. 6;
  • FIG. 9 is a diagram of the register group module of FIG. 6.
  • FIG. 10 and 11 are diagrams of the communication module of FIG. 6.
  • System 10 allows the monitoring and control of a plurality of intelligent electronic devices 26 of an electrical distribution system (not shown).
  • System 10 comprises a host computer 12, e.g., a PC based computer, having standard Ethernet interface cards 14 and a third-party interface card 16 installed in its I/O slots.
  • the computer 12 contains software for monitoring and controlling selected aspects of power usage/consumption, as described in more detail hereinafter.
  • Ethernet gateways 18 are connected to Ethernet TCP/IP networks 20 and 22 to provide an interface between the Ethernet TCP/IP protocol and the Modbus RTU protocol.
  • each Ethernet gateway 18 provides a connection between an Ethernet TCP/IP network 20 and 22 and four Modbus RTU networks 24.
  • Ethernet gateway 18 is commercially available, e.g. General Electric Co.'s Power Leader Ethernet Gateway.
  • the Ethernet TCP/IP protocol is a well-known standard (IEEE standard 802.3), which would allow a user of the power management control system of the present invention to use an existing LAN. The use of an existing LAN may significantly reduce installation cost of the system, since much of the system wiring may already be in place.
  • the Modbus RTU protocol is a well-known industry standard see, e.g., "Modicon Modbus Protocol-Reference Guide" Rev. E., Modicon, Inc.
  • Intelligent electronic devices 26 include a first group of intelligent electronic devices 28 that can be connected directly to Modbus networks 24, a second group of intelligent electronic devices 30 that can be connected to Commnet networks 32, and a third group of devices 34 that can be connected directly to Ethernet networks 20, 22.
  • Each device in first group 28 has a Modbus RTU interface, which can be connected directly to Modbus networks 24.
  • Devices in the first group 28 include control devices, such as Multilin models 269 and 565, power management EPM 3710 and EPM 3720, and General Electric Co.'s Universal Relay family of modular relay devices.
  • the second group of intelligent electronic devices 30 communicates using the Commnet protocol, and includes trip units, e.g., MicroVersa Trip, Enhanced MicroVersa Trip-D and Enhanced MicroVersa Trip-C Units, which are commercially available from General Electric Co., meters, e.g., Power Leader Meters commercially available from General Electric Co., and relays, e.g., General Electric Co.'s Spectra ECM and Power Leader MDP.
  • a Modbus concentrator 36 provides an interface between the Modbus RTU protocol and the Commnet protocol, whereby devices 30 can communicate through Modbus concentrator 36 to Modbus networks 24.
  • the third group of intelligent electronic devices 34 have an Ethernet interface and are connected directly to Ethernet networks 20, 22.
  • the third group of devices 34 includes, for example, General Electric Co.'s Universal Relay family of modular relay devices. Devices 34 are arranged to communicate using the MMS protocol. Third-party devices 38 (devices manufactured by a third-party that use a proprietary protocol) can be connected directly to the host computer 12, or can be connected to the Ethernet, Modbus, or Commnet networks 20, 22, 24, or 30 via a gateway or concentrator designed for the proprietary protocol.
  • Ethernet TCP/IP networks 20 and 22 also include view node computer 40 and Internet gateway 42.
  • view node computer 40 interacts with host computer 12 through OPC/DCOM or NetDDE links established via Ethernet TCP/IP network 20.
  • a remote view node computer 44 interacts with host computer 12 through OPC/DCOM or NetDDE links established via the Internet, Internet gateway 42, and Ethernet TCP/IP network 20.
  • FIG. 2 a block diagram of the software for monitoring and controlling selected aspects of power usage/consumption, discussed above is generally shown at 50.
  • Software 50 is loaded into the host computer 12 as described above and includes an Ethernet server 52, a Modbus (DDE) server 54, an MMS server 56, and a third-party proprietary protocol server 58.
  • DDE Modbus
  • Each of these servers 52, 54, 56, and 58 allows external programs (clients) 60 running on the host and view node computers to access power management data from the various devices 26 in the power management control system 10. Data interface to each of these servers is provided by the system through a Human-Machine Interface (HMI) utility 62.
  • HMI Human-Machine Interface
  • Modbus server 52 is a 16 bit application under Windows NT, which is described herein below. Modbus server 52 allows external programs 60 to access power management data from devices 26, which communicate using the Modbus protocol.
  • MMS server 56 is commercially available, for example, as Systems Integration Specialists Company Inc.'s AX-S4MMS MMS server.
  • MMS server 56 allows external programs 60 to access power management data from MMS/UCA2 compliant devices 34, which communicate using the MMS protocol.
  • Ethernet server is also commercially available, for example, as General Electric Co.'s DDE server - Ethernet Version.
  • Ethernet server 52 provides for network layer TCP/IP encapsulation for communications over Ethernet networks 20 and 22.
  • Third party server 58 allows communications between external programs 60 and device 38, which uses a proprietary protocol.
  • logical data tables 64, 66, 68, and 70 Associated with servers 52, 54, 56, and 58 are logical data tables 64, 66, 68, and 70, and related modules, i.e., an Excel or other DDE aware applications module 72, a waveform capture module 74, an event logger module 76, productivity modules 78, and HMI module 62.
  • Module 62 includes a tool kit for building screens and interfaces, and a graphical user interface 64 for monitoring and control of the electrical distribution system 10.
  • the graphical user interface 64 operates in a 32 bit Windows or Windows NT environment using HMI library functions.
  • Module 74 provides for viewing and analysis of waveforms (e.g., Fourier, frequency and/or harmonic analysis) captured by sophisticated metering devices.
  • Module 76 provides for viewing, organizing and analyzing unusual behavior in a power system.
  • Productivity modules 78 include, for example, a cost allocation module and a load management module.
  • the cost allocation module provides for tracking power consumption to the sub-unit level, developing internal billing methods and reports, thereby reducing cost.
  • the load management module provides for tracking power demand and automatically shedding non-critical loads to prevent peak demand penalties, and provides for timer-based control to reduce power consumption.
  • Host computer 12 receives Ethernet TCP/IP packets via Ethernet networks 20 and 22 and Ethernet cards 14.
  • Ethernet server 52 strips the packets of their network layer TCP/IP protocol data and provides the data to a Windows NT operating system 80.
  • the Windows NT operating system 80 routes the data to the appropriate server 54, 56, or 58, based on the application layer protocol.
  • the appropriate server receives the data, removes the application layer data, and establishes an OPC or DDE link to deliver the data to the module 72, 74, 76, or 78 to which the data was addressed. Delivery of a message to an intelligent electronic device 26 involves the same steps in reverse, with servers 52, 54, 56, and 58 adding application and network layer protocol data to properly format and address the data to the intelligent electronic device 26.
  • Serial data (no TCP/IP packaging) is sent to third-party card 16 using any proprietary protocol.
  • Windows NT operating system routes this data directly to third party server 58, which creates an OPC or DDE link to deliver the data to the module 72, 74, 76, or 78 that initiated the data request.
  • Delivery of a message to third party server involves the same step in reverse, with the third party server providing the application layer protocol data to properly format the data to the third party device 38.
  • Power management control system 10 implements the UCA Version 2 architecture, having an Ethernet physical layer, a Transport Control Protocol/Internet Protocol (TCP/IP) network layer, and a Manufacturing Message Specification (MMS) application layer. As can be seen, power management control system 10 provides configuration flexibility by allowing Commnet protocol devices, Modbus protocol devices, MMS protocol devices, and third party proprietary devices to be included in the same control network.
  • TCP/IP Transport Control Protocol/Internet Protocol
  • MMS Manufacturing Message Specification
  • Ethernet gateway 18 encapsulates a serial protocol in a LAN packet (TCP/IP).
  • the Ethernet network 20 or 22 sends and receives data packets to and from Ethernet gateway 18.
  • Packets of serial data, encapsulated in a TCP/IP packet, received from computer 12, are retransmitted by gateway 18 to remote data monitoring devices 28 and 30 on the appropriate serial port, and conversely, data packets received by gateway 18 on a serial port will be sent to computer 12 via the Ethernet network 20 or 22.
  • gateway 18 seeks to retransmit packets received from the LAN, it is very important to ensure that these packets did in fact come from the power management system and not other non-related devices such as view node computers 40 and 44 (i.e., authentication and security).
  • Modbus concentrator 36 is generally a multiple channel data converter/multiplexer, as described in aforementioned U.S. Patent Application 08/628,533.
  • Concentrator 36 translates data between two protocols for multiple metering and protective devices (i.e., between General Electric Co.s' Commnet peer to peer network protocol and the industry standard Modbus RTU protocol).
  • the concentrator 36 acts as a pseudo host for Commnet devices 30 and as pseudo slave for each device in the Modbus RTU network 24.
  • Concentrator 36 creates virtual Modbus devices for every physical Commnet device 30 attached to its multiple channels (networks) 32. Multiple channels 32 allow parallel processing for data conversion, improving the throughput of the network in which it is utilized.
  • concentrator 36 autoconfigures itself by seeking all the devices attached in the Commnet channels 32 and storing this information in a configuration database, which is used to determine address conflicts among the attached Commnet devices 30.
  • the concentrator 36 in the present example provides eight Commnet channels and allows connection of four Commnet devices 30 per channel.
  • the RS485 standard physical interface is preferably opto-isolated.
  • Modbus concentrator 36 communicates with host computer 12 through a command-response protocol in which the Modbus concentrator 36 (slave) responds to the computer 12 (master) requests.
  • the computer 12 initiates transactions using Modbus RS-485 request frames and the Modbus concentrator 36 responds by supplying the requested data to the computer in the appropriate response message, or by taking appropriate action requested by the computer 12.
  • Each Modbus concentrator 16 has a unique device address on the Ethernet network 24.
  • the Modbus RTU protocol defines the format of the frame for all requests by placing into it the receivers address (slave) a function code defining the requested action, any data to be sent and an error checking field.
  • the Modbus concentrator 36 response message is also constructed using the Modbus RTU protocol.
  • the Modbus concentrator 36 response frame contains its address, confirming the action taken, any data to be returned and an error checking field.
  • the Modbus concentrator 36 sends an exception message in response if an error occurred in receipt of a message, or if the Modbus concentrator is unable to perform the requested action.
  • the basic format of a Modbus request and response frames are illustrated in the following TABLE. TABLE
  • the device address field of the Modbus frame consists of one byte (i.e., 8 bits). In the present example, valid Modbus concentrator 36 addresses are in the range of 1-247 (decimal).
  • the computer addresses a virtual device 30 by placing its address in the address field of the frame. When the virtual device 30 sends its response, it places its own address in this address field to let the computer know which virtual device 30 is responding, if more than one are present. Address '0' is used for a broadcast address. No response from the slave devices is expected for a broadcast message.
  • the host computer downloads time to the virtual devices 30 connected to the concentrator 36. On receipt of this message, the Modbus concentrator's 36 main processor and segment processors update the time in their respective set point registers.
  • the function code field of a message is one byte.
  • the Modbus concentrator36 supports only a subset of Modbus RTU protocol function codes.
  • the data field of the Modbus frame is constructed using sets of two hexadecimal digits, in the range of 00 to FF hexadecimal, and represents additional information.
  • the data field of request frame contains information that the Modbus concentrator must use in performing the action defined by the function code.
  • the response frame contains information the computer requested from the Modbus concentrator.
  • the error checking field is two bytes wide and is based on a cyclical redundancy check (CRC) calculation performed on the message contents.
  • CRC cyclical redundancy check
  • the Modbus concentrator 36 has the capability to interface with up to eight Commnet segments 32. Each segment processor of the Modbus concentrator 36 interfaces with up to a maximum of four Commnet devices 30. The segment processors are responsible for scheduling the transmission of Commnet request messages, receiving scheduled response messages and unsolicited messages from the Commnet devices.
  • Commnet protocol is described in CommNet Device Functional Handbook (GE ED&C 331A3105P1) and CommNet Application Language Handbook (GE ED&C 331A2673P1), which are incorporated herein by reference.
  • Modbus (DDE) server 54 is described herein for a RS485 interface (serial) embodiment. However, it will be appreciated that the same is applicable to the Ethernet interface embodiment described herein, with the exception that the server is optimized for Ethernet protocol (instead of Modbus RTU protocol).
  • DDE server 54 provides a mnemonic cross-reference between Modbus RTU register items and standardized, alphanumeric parameter names. This mnemonic interface allows the user to retrieve data from a device without knowledge of the actual device register item number.
  • DDE server 54 further provides a consistent device event data item for dissimilar devices. Also, DDE server 54 automatically performs time synchronizing for all supported devices and provides a consistent waveform interface.
  • DDE server 54 for the RS485 interface, is optimized for Modbus RTU protocol by compensating for invalid ranges of registers in the device polling packets and it also provides superior protocol debugging capabilities by displaying the complete Modbus RTU input/output packet traffic.
  • the DDE server 54 performs automatic conversion between 16 bit and 32 bit device register modes.
  • a generic interface allows any Modbus RTU device to be used with the system.
  • the DDE server uses the Modbus RTU protocol standard for communication to metering, relaying and I/O devices using the RS-485 communication ports.
  • Every windows application is registered in a windows kernel with an application name.
  • the data item is identified by tuple (Application, Topic, Item).
  • Topic name provides a grouping and item name specifies the actual data point to be accessed under a topic.
  • the application name is the server's executable name.
  • Topic name can be the device identification name and item name can be the register identification of a field data point. For example, with a General Electric Co.
  • EPM meter the tuple can be GE16MODB, EPM1, AMP.sub.- A
  • GE16MODB is the Application name for a DDE Server
  • EPM1 is the meter identification name
  • AMP.sub.-- A is the current for phase A.
  • DDE messages mainly include requests to send data as identified by the Topic and Item name. They may also be for set point download to the data point as identified by the Topic and Item names.
  • Input parameter values are reported by field devices on the communication interface in response to a poll by the server. This value may be a float value, an integer value, a string or discrete status bits.
  • the DDE server includes toolkit functions that are used to maintain DDE or NetDDE communications. Registers can be classified into Fast Poll Registers, Slow Poll Registers and Poll Once Registers. Fast Poll Registers are polled at a rate defined by 'Scan Interval', which is entered during device/topic configuration. Slow Poll Registers are polled once in every n" fetches of Fast Poll Registers and the value of 'n' is read from an initialization file. Toll Once' registers are polled only once when an item in that group becomes active. Toll Once' registers are also polled when a device status changes from DEAD to ACTIVE.
  • Set points registers are to be downloaded based on request from a DDE client, i.e., a program, for example, such as an HMI package or MS-Excel, which request data items from the DDE server and accepts data through DDE or NetDDE.
  • a DDE client i.e., a program, for example, such as an HMI package or MS-Excel, which request data items from the DDE server and accepts data through DDE or NetDDE.
  • the DDE server acts as a link between a client requesting device data and a field device that can provide the data.
  • the DDE server communicates to the field device through communication ports and to the client via a DDE or NetDDE message link.
  • a client sends its requests to the server to read/write some device registers.
  • the server maps each request to suitable device read/write request packets and carries out the necessary transaction with the device. Then it relays the result back to the client after processing and, if necessary, casts the collected device data to the proper format.
  • the server can also collect special data like waveform capture/recording data from the device and pass it to a client.
  • the DDE server maps item names to their register addresses.
  • the name mapping database and functions are implemented in such a manner that underlying server does not get affected when new naming conventions for item are to be implemented.
  • an off-line utility builds a device mnemonic to register address map. The device mnemonic to register map can then be imported during off-line mode, as described hereinafter.
  • the DDE server supports the following data types; signed integer, unsigned integer, signed long, modulus 10000, floating points numbers in IEEE format, discrete bits, and an array of any of the above data types.
  • the DDE server interfaces through the RS485 interface, e.g., a multiport (4 port or 8 port) RS485 Stargate communication card or through a RS232/RS485 converter.
  • the RTS line may have to be activated/deactivated to ensure proper flow control. Hardware flow control for all the ports is enabled/disabled when the communication port is configured.
  • the DDE server supports a maximum of 8 communication ports, whereby a maximum of 247 Modbus RTU devices can be connected on each port and the Modbus concentrators cannot have an address greater than 32. Addresses of devices connected to any one port should be unique.
  • DDE server 54 can interface to client nodes on a network using NetDDE support for DDE communication.
  • the DDE server supports following data types: unsigned integer, a default for Rnnnrn item name; signed integer, specified is T with an Item name of Rnnnnl; long signed integer, specified is 1 with an Item name of PvunnnnL; floating point value, specified is ' with an Item name of RnnnnnF; discrete status bits, specified is J' with an Item name of Rnr nnDxxxxx; modulus 10000, specified as ⁇ ' with an Item name of RnnnnE; and array values, an array of either signed integer, unsigned integer, long signed integer and float values with array specified 'Axxx ⁇
  • the DDE server handles field device communication through timer call back functions.
  • the DDE server polls the devices which are in an active list and from each device it acquires registers (items) which are in the active list.
  • the DDE server may group various items while performing data acquisition to optimize polling required from field devices. Device register maps usually have some gaps for future use. While grouping various items in a single polling cycle, the DDE server accounts for invalid register addresses for a particular device. Fast and Slow Group Registers are not packed into the same packet.
  • the DDE server may have to limit grouping because of limitations on packet length of the response packet or the download packet. The maximum packet length is restricted to 125 registers (250 bytes) by Modbus RTU protocol standards.
  • the DDE server executes set point commands received from client applications and communicates all set point values to the devices. The DDE server periodically synchronizes time with connected devices and adjusts for the time formats of each of these devices.
  • the Modbus concentrator accepts time register write requests for all devices connected to it but does not change the time register value of any device in response to write requests.
  • the time registers for all the devices connected to a Modbus concentrator will be changed only when the server synchronizes time with the concentrator. Periodical time download to selected devices are performed even if it may not have any effect on that particular device. Time synchronization for other devices are performed as per the register format specified for the device register maps.
  • the DDE server maintains current status (DEAD/ ACTIVE) of all active topics (devices). This information does not have any direct register associated with the device topic name and hence a pseudo item called 'STATUS ' is maintained by the DDE server. If the DDE server does not get a response from any device during ' n' consecutive poll cycles then that particular device is declared DEAD. The value of 'n ' is read from an initialization file. The status of any device will be updated to a client only if a predefined item called ' STATUS ' is made active. DEAD devices would be polled with period equal to a dead device scan interval (available in initialization file) instead of the device scan interval. DEAD devices will become ACTIVE when they respond to a polling request.
  • the DDE server displays communication traffic in text format in its Window, if it is setup to do so.
  • a setup option is provided in the server main menu for this purpose.
  • Communication traffic is displayed in a 'scrollable' window for selected devices and selected options.
  • the DDE server logs communication errors which include, by way of example, time-out errors, CRC errors, wrong station ID responses, exception responses and extra bytes reported in the response to a query from the device.
  • the DDE server logs communication errors for ACTIVE devices only and logs the device status whenever a device becomes ACTIVE or DEAD.
  • Server configuration data is accepted through the interfaces and is stored in initialization files or other configuration files. Configuration is an off-line function and is disabled during run-time.
  • the configuration utility is provided for: communication port configuration, device/topic configuration, device type register map configuration, device type register group polling priority configuration, device type supported function codes configuration, device type register map invalid register addresses, item mnemonic to register mapping, and server operational parameters.
  • the configuration utility also allows the export and import of register groups and mnemonics.
  • up to 8 communication ports can be configured. It will be appreciated, that this is restricted by the number of ports that the 16 bit Windows or Windows NT communication driver will support. For each port the following parameters can be configured:
  • Baud Rate 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600
  • Modbus RTU protocol standards require eight bits.
  • the DDE server configures the communication ports, devices and timers as defined by user. Also, all device specific databases are initialized. From the main menu the user can start the server, stop the server, suspend protocol, and resume protocol during runtime. Configuration ranges in the present example are as follows; a device name can be up to 20 characters, a scan interval can be in the range of 1 -9999999 milliseconds, and a slave address can be in the range of 1-247. It will be appreciated, that multiple topics can be configured with the same slave address and communication port. The configuration utility will detect multiple topics before configured on the same slave address and will issue a warning message to this effect when user configures a topic on an already configured address. The communication port to which a device is connected must be previously defined.
  • a device type register map must be configured for each of the device topics connected thereto.
  • the system provides for configuration of a starting valid address, a last valid address, a set of invalid register blocks using this utility.
  • Valid registers in the present example, are ROXXXX; RIXXXX; R3XXXX; or R4XXXX.
  • DDE server 54 supports the following Modbus register types; ROXXXX-Discrete coils, RlXXX—Discrete status registers, R3XXXX-- Input registers, and R4XXXX— Set point registers.
  • a user can configure any number of register types. Each of these types will have poll rate attributes (i.e., Fast Poll, Slow Poll, or Poll Once).
  • Buffered events, read/write date/time registers for time synchronization, waveform capture data and waveform recording data are implemented differently in the devices which support them hence, no common configuration utility is provided for these functions.
  • the DDE server handles each of these functions specifically. Again a mnemonic name is associated with a register address. Further, a user can configure protocol timer tick and valid data time out value with this utility. Server time out tick is read from an initialization file.
  • the DDE server implements Modbus function codes, 01, 03, 04, 05, 06, 16, 56.
  • Various register groups i.e., dynamic values, set points, command registers, event registers, fixed value registers, and Commnet statistics can be configured by the user into either Slow Poll Register or Fast Poll Registers or Poll Once Registers.
  • the DDE server downloads time stamps to all these devices periodically.
  • Time download periodicity is available in an initialization file.
  • An event count register is polled at the Fast Poll rate. When the event count register is non-zero, an event fetch is performed by reading the start address from the event buffer. Each event is read and time stamped sequentially.
  • the event code is expanded with a description, additional data fields, and a date stamp of the events before sending to client.
  • the DDE server provides appropriate return values as specified for all clients, i.e., periodic polling packets for active topics and items, periodic polling packets for events and status, periodic update of time to all the devices, data value update to clients for acquired items, event/status report to the HMI package so that it becomes part of normal alarm log, and status update for active topics (devices).
  • Set point write requests are properly formatted set point download communication packets for the request. Execution and termination of the server are initiated on user request from the DDE server window menu.
  • Function Code 2 Read Input status
  • Function Code 3 Read holding registers
  • the component subsystems (i.e., modules) of the DDE server include; the server (application) 150, the device module 152; the register groups module 154; the communication module 156; and the DDE handler module 158. All these modules (except for the DDE handler) employ an object oriented approach. Each module comprises several classes.
  • the application module 150 handles all external inputs to the system viz., user interactions and client requests via the DDE or NetDDE link.
  • the server is configured for various devices when server is off-line.
  • the configuration parameters include register map configuration, mnemonic configuration, and configuration of the communication port to which the device is attached. While on-line, the server will expect requests from clients through the DDE handler and service those requests. It also receives any special command from user, e.g., to stop the protocol, and carries it out properly.
  • Class, CServer provides server communication with the toolkit through the DDE handler and synchronizes comport processing.
  • the device module 152 abstracts a field device and handles multiple register categories (or register groups).
  • Class, CCoilltem provides support for the special discrete register bit operations for RO and Rl reference register types.
  • Class, CDev contains all device information like device name, device ID, device type name and corn-port address.
  • Class, CDeviceType abstracts a field device type the server will talk to, has a variable number of register groups, contains a mnemonics list, and has function codes associated with it.
  • Class, CDiscreteltem extracts discrete bit array in a register, for a 16-bit register, all 16 bits can be programmed while for a 32-bit register only the lower 16 bits can be specified by user.
  • Class, CEventltem handles the event processing for a selected device, e.g., a General Electric Co. device, formats an event string and passes it to the client.
  • Class, CGEDeviceType supports event register group, by way of example, part nos. EPM, RMS6, RMS9B, RMS9C, RMS9D, ECM, PLMeter and MDP qualify as General Electric Co. device types.
  • Class, Cintltem takes care of unsigned and signed integer items.
  • Class, Cltem is a data point present in field device. Cltem comprises a plurality of registers in the device and can handle a single type or array of types.
  • Cltem is the base class for different types of items present in the application and include integer, long, real, coil, discrete bits and real time parameters.
  • An item has reference to the register group it belongs to. Whenever a new item is created or activated a dummy register block is created and polled immediately for the fast updating of the item.
  • Class, CLongltem handles a signed long data type.
  • Class, CMnemonic contains the mnemonic name and the corresponding register format.
  • Class, CModbusConcType automatically synchronizes time with all Modbus concentrator device which have only time download property.
  • CMultilin565Event ⁇ tem handles the special event processing present for Multilin 565 device.
  • Class, CMultilin565Type supports event register group and processing for Multilin meters, which are similar to that of General Electric Co. devices.
  • Class, COnLineDevice exist only when the server is running, whenever an on-line device is created, a copy of its device type is created and attached to the on-line device.
  • CPLMeterType is associated with the General Electric Co. Power Leader meter devices and supports CPLMeterWFCReg register group for waveform capture.
  • Class, CPLMeterWFDataltem is a text item associated with the PLMeter.
  • CPLMeterWFDataltem is a collection of 'n' samples read from the device, with the number of samples and sample's start address are read from the application's .INI file.
  • Class, CPML3710EventItem handles the event processing for a PML3710 Device and formats an event string and passes it to the client.
  • Class, CPML3710Type supports a PML3710 Device where the default register group CPML3710WFCRegGroup supports waveform capture.
  • Class, CPML3710WFCDataItem is a text item associated with the PML3710.
  • CPML3710WFCDataltem is a collection of 'n' samples read from the device. Each sample is 12 bits and two consecutive registers, giving three values. The number of samples and sample's start address are read from the application's .INI file. Normally for PML devices the WFC is 99 registers.
  • Class, CPML3720Availltem handles the PML.sub.- WFC.sub.- AVAIL special item in the PML3720 device.
  • Class, CPML3720EventItem handles the event processing for a PML3720 Device and formats an event string and passes it to the client.
  • Class, CPML3720Type supports a PML3720 device.
  • the default register groups that go with this device type are CPML3720WFCRegGroup and CPML3720WFRRegGroup for handling waveform capture and waveform recording respectively.
  • Class, CPML3720WFCDataltem is a text item associated with the PML3720.
  • CPML3720WFCDataltem is a collection of 'n' samples read from the device, where each sample is 12 bits and two consecutive registers, giving three values. The number of samples and sample's start address are read from the application's .INI file.
  • Class, CPML3720WFRDataItem collects required sample data and updates them to the client.
  • CPML3720WFRDataltem handles the PML.sub.- WFR.sub. ⁇ BFRS.sub.- AVAIL and PML.sub.- WFR.sub.- NEXT.sub.- BFR special items in the PML3720 device.
  • Class, CRealltem keeps data in an IEEE floating point format, in 16-bit mode, two registers are required while in 32-bit mode, only one register will give the value.
  • Class, CStatusltem is a text item which exists in every device. The status strings that are updated by this item to a device are ACTIVE and DEAD.
  • the register group module 154 supports an array of registers, a few registers in the array may be declared as invalid. Consecutive registers can be grouped together to define an item or a point. An item performs processing on these registers depending on the item type. Clients are interested in the item value after the processing has taken place.
  • the register group module is designed to handle multiple numbers of such items.
  • Class, CEventReg supports events handling for General Electric Co. devices.
  • Class, ClnvahdRegBlock maintains the invalid range where it contains invalid registers range in (Start, End) pairs. Class,
  • ClnvalidRegList list is an ObList containing ClnvahdRegBlock objects for a particular register group.
  • Class, CMultilin565EventReg supports the Multilin565 events.
  • Class, CPLMeterSplCoilReg manages two command coil items, i.e., TRIGGER.sub.- WF.sub.-- CAPTURE and CLR.sub.-- WF.sub.- CAPTURE for General Electric Co. Power Leader Meter.
  • Class, CPLMeterSplSPReg manages set point registers for the Power Leader Meter.
  • a DDE item present in this group is WF.sub.— SETPT.
  • Class, CPLMeterWFCReg supports waveform capture for General Electric Co. Power Leader Meter.
  • DDE items present in this group are WF.sub.— DATA, WF.sub.- AVAIL, WF.sub.- CHANNEL, WF.sub.- HOUR,
  • WF.sub.- MIN, WF.sub.- SEC, and WF.sub.- MSEC This register group supports waveform capture data retrieve.
  • Class, CPML3710EventReg supports the PML3710 events.
  • Class, PML3710WFCReg is a register group for PML3710 and has a DDE item referred to as PML.sub.- WFC. This register group supports the PML.sub.— WFC item in retrieving the WFC data from the device.
  • Class, CPML3720EventReg handles the PML 3720 events.
  • Class, CPML3720WFCReg is a register group for PML3720 and has only two DDE items which are referred to as PML.sub.— WFC and PML.sub.— WFC. sub.— AVAIL.
  • This register group supports the PML.sub.— WFC item in retrieving the WFC data from the device depending on the availability of the data (which is known by PML.sub.— WFC.sub.-- AVAIL).
  • Class, CPML3720WFRReg is a register group for PML3720 device and has several DDE items which are referred to as PML.sub.- WFR, PML.sub.- WFR.sub.-- BFRS.sub.- AVAIL, PML.sub.- WFR.sub. ⁇ NEXT. sub.- BFR, PML.sub.- VI. sub.- WFR, PML.sub.- V2.sub. ⁇ WFR, PML.sub.- V3.sub.- WFR, PML.sub.- VAUX.sub.- WFR, PML.sub.- 11.
  • Class, CRORegisterType supports function codes 01 (coil read), 05 (write single coil), 15 (write multiple coils). This is a generic register group type from which the user is allowed to dynamically instant many register groups for a device type.
  • Class, CRlRegisterType supports function code of 02 (for read discrete bits). All write commands on this type of registers are discarded.
  • Class, CR3RegisterType has a 04 (read input registers) function code.
  • Class, CR4RegisterType is a register group that has specific function codes that are 03 (read holding registers), 06 (write single register), and 16 (write multiple registers).
  • Class, CReadRegBlock contains a valid register range which can be used while sending read packet to the device.
  • a valid block may represent one or more than one item. It also contains start and stop positions of items in the register group's item list for register group's convenience while updating the item values to toolkit.
  • Class, CRegister Group handles a category of registers whose access will be similar by client. It has list of all active items of the group in a member called m-ItemList. Also it has a list of valid register blocks. It can acquire data for all active items in m-ItemList and download data for an item to the device. It maintains a list of valid blocks, which is sent to the field device one at a time. A valid block is polled on behalf of maximum possible items thus optimizing the polling.
  • Class, CStatusReg manages the STATUS item. This register group and the item are present for all the devices.
  • Class, CTimeDownloadReg downloads time to the Modbus concentrator and General Electric Co. devices and does not support any items.
  • Class, CTimeDownloadPML downloads time to the PML 3710 and PML 3720 devices, and does not support any items.
  • the communication module 156 enables the server to communicate with a device. All client requests are to be mapped to various Modbus packets and then these packets have to be transmitted to the device successfully. Also the replies from the devices are received here first and checked for CRC error. This module also is capable of declaring any device as DEAD if it cannot communicate with the device or ACTIVE when communication resumes with a previously DEAD device.
  • Class, CComPort supports the transaction of a Modbus packet between the server application and the device. The com port maintains a queue of packets and returns immediately after transmitting a packet and checks for the response only at the next scan cycle. This improves throughput of packet I/O with the device.
  • Class, CModbusRTUProtocol implements the specific Modbus RTU protocol functions. This improves class implements Modbus RTU protocol and the method of adding CRC to the data bytes before sending to device. Also, it checks CRC for response bytes and clears it for further processing.
  • Class, CPacket implements the common understanding between the server and the device with which both are able to talk to each other. The packet does not contain CRC. The CPacket contains both the request as well as the response and acts as a base class for Modbus function code implementation. The packet's interface with items is fixed as two bytes per register in 16-bit mode and four bytes per register in 32-bit mode.
  • Class, CProtocol is a generalized protocol base class.
  • a protocol is a set of rules governing the format and meaning of the messages (or packets) that are exchanged between the server and the device.
  • CProtocol is designed such that it can put any error-check on bytes before transmitting and also do any error checks on response bytes that are received.
  • Class, CReadBitsPkt reads discrete registers (Rl reference) and coil register (RO reference).
  • Class, CReadPkt is a base packet class that provides generalized methods for all those Modbus packets that are meant for reading register values.
  • Class, CReadRegPkt reads input registers (R3 reference) and holding registers (R4 reference).
  • Class, CWriteMultiBitsPkt writes into multiple coil registers (RO reference).
  • Class, CWriteMultiRegsPkt writes into multiple holding registers (R4 reference).
  • Class, CWritePkt is a base packet class which provides generalized methods for all those Modbus packets which are meant for writing single or multiple register values.
  • Class, CWriteSingleBitsPkt writes into single coil registers (Rl reference).
  • Class, CWriteSingleRegPkt writes into single holding registers (R4 reference).
  • the DDE handler module 158 implements the toolkit interface functionality for communicating to clients.
  • the DDE server utilizes the DDE handler to implement DDE or NetDDE communication links with clients. All client requests are suitably broken down to one or more of the following operations by DDE Handler: CreateTopic, the server becomes ready to poll the device indicated by topic name; Createltem, an item can be created only for an already created topic and the server becomes ready for polling the item; Activateltem, the server starts polling the field device corresponding to topic whose item has been activated and supplies the item value to requesting client periodically; Deactivateltem, polling of the active item is stopped; Deleteltem, the specified item is no more required and hence is deleted; and ExecuteCommand, the client performs a command on the device with the specified topic name, whereby if the device is present, and is able to understand the command, the command processing is carried out by server.
  • CreateTopic the server becomes ready to poll the device indicated by topic name
  • Createltem an item can be created only for an already created topic and the server becomes ready for polling the item
  • the DDE server uses the Modbus RTU protocol to communicate with a field device.
  • the server has to poll these devices continuously and get the required data for a client. Communication parameters are set up during configuration defining what communication is to be carried out. No initialization before communicating to the devices is necessary.
  • the server always assumes that all the devices are ready and polls them at its poll speed. All fast poll registers are polled continuously, slow poll registers are polled 'n' times slower than fast poll registers where 'n' is read from an INI file, all poll once registers are polled only once when the item becomes active. If some devices do not respond, the server declares them as DEAD and informs interested clients.
  • the server transmits a query packet and waits for response, i.e., the server is the master and the device is the slave. If a response from the specified device is received within a fixed time, the server checks the response for CRC error. If CRC available at the end of the response packet matches the CRC computed by server, then the response is accepted and is processed further. If CRC in above case does not match or the response has a CRC error, the server retransmits the packet.
  • a Modbus function code is used, for certain devices that are connected through the concentrator, to request field devices to retransmit the response packet where a CRC error has occurred previously. Otherwise, a query packet is retransmitted by server.
  • the server transmits the query packet to the device until it either gets an accepted response or a specified retransmit limit has been reached. If retransmit limit is reached, the server declares the corresponding device DEAD and stores the query packet in a slow poll queue. The same query packet will be tried again at a slower frequency. If during dead device poll, the server receives a good response packet from the device then server makes that device ACTIVE and will resume normal polling for the device.
  • the DDE server starts up, reads configuration data from disk and initializes all other objects.
  • the system is started in the on-line mode.
  • the application module is used for configuration of the system. Whenever the user confirms the change (e.g., by pressing OK button, accepting the change), all configuration data is stored into hard disk.
  • the DDE handler passes all client requests for any topic and any item to the application module.
  • the application module validates that the device exists and passes further request of item data to the device module.
  • the device module is in turn dependent on register groups for getting data in the correct format for any item in any device.
  • the register groups decide which registers are to be polled and with what Modbus function packets. Accordingly, the register groups create a suitable packet and passes it to the communication module.
  • the communication module carries out the actual transaction with the device.
  • the result of the transaction is returned to the register groups, which in turn passes it to the device module.
  • the device module updates it to the clients.

Abstract

Software (50) is loaded into the host computer (12) and includes an Ethernet server (52), a Modbus (DDE) server (54), an MMS server (56), and a third-party proprietary protocol server (58). Each of these servers (52, 54, 56 and 58) allows external programs (60) running on the host and view node computers (12, 40 and 44) to access power management data from the various devices (26) in the power management control system (10). Modbus server (52) allows external programs (60) to access power management data from devices (26), which communicate using the Modbus protocol. MMS server (56) allows external programs (60) to access power management data from MMS/UCA2 compliant devices (34), which communicate using the MMS protocol. Ethernet server (52) provides for network layer TCP/IP encapsulation for communications over Ethernet networks (20 and 22). Third party server (58) allows communications between external programs (60) and device (38), which uses any proprietary protocol. Power management control system (10) implements the UCA Version 2 architecture, having an Ethernet physical layer, a Transport Control Protocol/Internet Protocol (TCP/IP) network layer, and a Manufacturing Message Specification (MMS) application layer.

Description

UTILITIES COMMUNICATIONS ARCHITECTURE COMPLIANT POWER
MANAGEMENT CONTROL SYSTEM
BACKGROUND OF THE INVENTION
The invention relates generally to a power management control system and in particular, to a power management control system that implements the Utility Communications Architecture (UCA).
In today's power management control systems, a variety of power monitoring or control devices are connected to a common bus which allows the power monitoring or control devices to communicate with a server. One standard protocol used for communicating between the server and the power control and monitoring devices is the Modbus RTU standard. There are many Modbus RTU/DDE Servers commercially available for a wide variety of applications. All major electrical distribution companies have a similar product. The narrow scope of these servers are their major limitation. These systems expect the client applications (Man-Machine Interfaces) to handle the complexities of the actual power controlling and metering devices. Many of the servers are designed to communicate using a protocol designed for use with only certain devices, family of devices or specially designed devices. Also, not all the servers are able to support any generic Modbus RTU compliant device.
An improvement over such power management control systems is described in U.S. Patent No. 5,862,391 entitled "Power Management Control System." The power management control system described therein comprises a computer having standard RS485 interface cards and adapters installed in its I/O slots defining multiple industry standard Modbus RTU networks. Devices with a Modbus RTU interface can be connected directly to the Modbus and other devices which communicate on the Commnet protocol require a Modbus concentrator. The Modbus concentrator provides an interface between the Modbus RTU protocol and the Commnet protocol, whereby these other devices can communicate through the Modbus concentrator over the Modbus. Alternatively, standard Ethernet interface cards and adapters are installed in the computer's I/O slots defining multiple standard Ethernet TCP/IP networks. The Ethernet TCP/IP protocol is a well known standard, which would allow a user of the power management control system of the present invention to use its existing LAN. Ethernet gateways are connected to the Ethernet TCP/IP networks to provide an interface between the Ethernet TCP/IP protocol and the Modbus RTU protocol.
The Utility Communications Architecture (UCA), developed by the Electrical Power Research Institute (EPRI), provides a flexible and scaleable computer communications architecture for communication within and among control systems in the electric, gas, and water utilities. The UCA, currently under Version 2, is a suite of existing technologies and standards, which includes an Ethernet physical layer, a Transport Control Internet/Internet Protocol (TCP/IP) or International Organization for Standards Open Systems Interconnect (ISO-OSI) network layer, and a Manufacturing Message Specification (MMS) application layer. MMS is an internationally standardized messaging system for exchanging real-time data and supervisory control information between networked devices and/or computer applications in a manner that is independent of the application that is being performed or the developer of the device or application. UCA Version 2 provides many beneifits to a control system, including interoperability between different vendors over the same communication network, and rapid installation due to self-defining, object oriented data objects.
BRIEF SUMMARY OF THE INVENTION
In an exemplary embodiment of the invention, a power management system includes a computer with an interface defining a first network having a network layer protocol. A gateway is connected to the first network for converting the network layer protocol to a first application layer protocol and defining a second network. A first intelligent electronic device is connected to the second network, and a second intelligent electronic device is connected to the first network. A first server associated with the computer communicates with the first intelligent electronic device using the first application layer protocol. A second server associated with the computer communicates with the second intelligent electronic device using a second application layer protocol. The first and second servers processing data received from the first and second intelligent electronic devices to manage power use.
BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:
FIG. 1 is a block diagram of a UCA compliant power management control system, in accordance with the present invention;
FIG. 2 is a block diagram of the computer software used in the power management and control system of FIG. 1;
FIG. 3 is a schematic block diagram the DDE server link between clients and devices of the power management and control system of the present invention;
FIG. 4 is a schematic block diagram of the DDE server register mapping scheme of the power management and control system of the present invention;
FIG 5 is a schematic block diagram of the DDE server, register map and message polling of the power management and control system of the present invention; FIG. 6 is a schematic block diagram of the component subsystems of the DDE server, including a server module, a DDE handler module, a device module, a register group module and a communications module;
FIG 7 and 8 are diagrams of the device module of FIG. 6;
FIG. 9 is a diagram of the register group module of FIG. 6; and
FIG. 10 and 11 are diagrams of the communication module of FIG. 6.
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIG. 1 , a network diagram for a power management control system (PMCS), generally shown at 10, is in accordance with aforementioned U.S. Patent Application 08/628,533, which is incorporated by reference. System 10 allows the monitoring and control of a plurality of intelligent electronic devices 26 of an electrical distribution system (not shown). System 10 comprises a host computer 12, e.g., a PC based computer, having standard Ethernet interface cards 14 and a third-party interface card 16 installed in its I/O slots. The computer 12 contains software for monitoring and controlling selected aspects of power usage/consumption, as described in more detail hereinafter. Ethernet gateways 18 are connected to Ethernet TCP/IP networks 20 and 22 to provide an interface between the Ethernet TCP/IP protocol and the Modbus RTU protocol. In the present example, each Ethernet gateway 18 provides a connection between an Ethernet TCP/IP network 20 and 22 and four Modbus RTU networks 24. Ethernet gateway 18 is commercially available, e.g. General Electric Co.'s Power Leader Ethernet Gateway. The Ethernet TCP/IP protocol is a well-known standard (IEEE standard 802.3), which would allow a user of the power management control system of the present invention to use an existing LAN. The use of an existing LAN may significantly reduce installation cost of the system, since much of the system wiring may already be in place. The Modbus RTU protocol is a well-known industry standard see, e.g., "Modicon Modbus Protocol-Reference Guide" Rev. E., Modicon, Inc. Intelligent electronic devices 26 include a first group of intelligent electronic devices 28 that can be connected directly to Modbus networks 24, a second group of intelligent electronic devices 30 that can be connected to Commnet networks 32, and a third group of devices 34 that can be connected directly to Ethernet networks 20, 22. Each device in first group 28 has a Modbus RTU interface, which can be connected directly to Modbus networks 24. Devices in the first group 28 include control devices, such as Multilin models 269 and 565, power management EPM 3710 and EPM 3720, and General Electric Co.'s Universal Relay family of modular relay devices. The second group of intelligent electronic devices 30 communicates using the Commnet protocol, and includes trip units, e.g., MicroVersa Trip, Enhanced MicroVersa Trip-D and Enhanced MicroVersa Trip-C Units, which are commercially available from General Electric Co., meters, e.g., Power Leader Meters commercially available from General Electric Co., and relays, e.g., General Electric Co.'s Spectra ECM and Power Leader MDP. A Modbus concentrator 36 provides an interface between the Modbus RTU protocol and the Commnet protocol, whereby devices 30 can communicate through Modbus concentrator 36 to Modbus networks 24. The third group of intelligent electronic devices 34 have an Ethernet interface and are connected directly to Ethernet networks 20, 22. The third group of devices 34 includes, for example, General Electric Co.'s Universal Relay family of modular relay devices. Devices 34 are arranged to communicate using the MMS protocol. Third-party devices 38 (devices manufactured by a third-party that use a proprietary protocol) can be connected directly to the host computer 12, or can be connected to the Ethernet, Modbus, or Commnet networks 20, 22, 24, or 30 via a gateway or concentrator designed for the proprietary protocol.
Ethernet TCP/IP networks 20 and 22 also include view node computer 40 and Internet gateway 42. In the present example, view node computer 40 interacts with host computer 12 through OPC/DCOM or NetDDE links established via Ethernet TCP/IP network 20. Similarly, a remote view node computer 44 interacts with host computer 12 through OPC/DCOM or NetDDE links established via the Internet, Internet gateway 42, and Ethernet TCP/IP network 20. Referring now to FIG. 2, a block diagram of the software for monitoring and controlling selected aspects of power usage/consumption, discussed above is generally shown at 50. Software 50 is loaded into the host computer 12 as described above and includes an Ethernet server 52, a Modbus (DDE) server 54, an MMS server 56, and a third-party proprietary protocol server 58. Each of these servers 52, 54, 56, and 58 allows external programs (clients) 60 running on the host and view node computers to access power management data from the various devices 26 in the power management control system 10. Data interface to each of these servers is provided by the system through a Human-Machine Interface (HMI) utility 62. Modbus server 52 is a 16 bit application under Windows NT, which is described herein below. Modbus server 52 allows external programs 60 to access power management data from devices 26, which communicate using the Modbus protocol. MMS server 56 is commercially available, for example, as Systems Integration Specialists Company Inc.'s AX-S4MMS MMS server. MMS server 56 allows external programs 60 to access power management data from MMS/UCA2 compliant devices 34, which communicate using the MMS protocol. Ethernet server is also commercially available, for example, as General Electric Co.'s DDE server - Ethernet Version. Ethernet server 52 provides for network layer TCP/IP encapsulation for communications over Ethernet networks 20 and 22. Third party server 58 allows communications between external programs 60 and device 38, which uses a proprietary protocol.
Associated with servers 52, 54, 56, and 58 are logical data tables 64, 66, 68, and 70, and related modules, i.e., an Excel or other DDE aware applications module 72, a waveform capture module 74, an event logger module 76, productivity modules 78, and HMI module 62. Module 62 includes a tool kit for building screens and interfaces, and a graphical user interface 64 for monitoring and control of the electrical distribution system 10. The graphical user interface 64 operates in a 32 bit Windows or Windows NT environment using HMI library functions. Module 74 provides for viewing and analysis of waveforms (e.g., Fourier, frequency and/or harmonic analysis) captured by sophisticated metering devices. Module 76 provides for viewing, organizing and analyzing unusual behavior in a power system. Productivity modules 78 include, for example, a cost allocation module and a load management module. The cost allocation module provides for tracking power consumption to the sub-unit level, developing internal billing methods and reports, thereby reducing cost. The load management module provides for tracking power demand and automatically shedding non-critical loads to prevent peak demand penalties, and provides for timer-based control to reduce power consumption.
Host computer 12 receives Ethernet TCP/IP packets via Ethernet networks 20 and 22 and Ethernet cards 14. Ethernet server 52 strips the packets of their network layer TCP/IP protocol data and provides the data to a Windows NT operating system 80. The Windows NT operating system 80 routes the data to the appropriate server 54, 56, or 58, based on the application layer protocol. The appropriate server receives the data, removes the application layer data, and establishes an OPC or DDE link to deliver the data to the module 72, 74, 76, or 78 to which the data was addressed. Delivery of a message to an intelligent electronic device 26 involves the same steps in reverse, with servers 52, 54, 56, and 58 adding application and network layer protocol data to properly format and address the data to the intelligent electronic device 26.
Serial data (no TCP/IP packaging) is sent to third-party card 16 using any proprietary protocol. Windows NT operating system routes this data directly to third party server 58, which creates an OPC or DDE link to deliver the data to the module 72, 74, 76, or 78 that initiated the data request. Delivery of a message to third party server involves the same step in reverse, with the third party server providing the application layer protocol data to properly format the data to the third party device 38.
Power management control system 10 implements the UCA Version 2 architecture, having an Ethernet physical layer, a Transport Control Protocol/Internet Protocol (TCP/IP) network layer, and a Manufacturing Message Specification (MMS) application layer. As can be seen, power management control system 10 provides configuration flexibility by allowing Commnet protocol devices, Modbus protocol devices, MMS protocol devices, and third party proprietary devices to be included in the same control network.
Referring again to FIG. 1 , commercially available Ethernet gateway 18 encapsulates a serial protocol in a LAN packet (TCP/IP). The Ethernet network 20 or 22 sends and receives data packets to and from Ethernet gateway 18. Packets of serial data, encapsulated in a TCP/IP packet, received from computer 12, are retransmitted by gateway 18 to remote data monitoring devices 28 and 30 on the appropriate serial port, and conversely, data packets received by gateway 18 on a serial port will be sent to computer 12 via the Ethernet network 20 or 22. Since, gateway 18 seeks to retransmit packets received from the LAN, it is very important to ensure that these packets did in fact come from the power management system and not other non- related devices such as view node computers 40 and 44 (i.e., authentication and security).
Modbus concentrator 36 is generally a multiple channel data converter/multiplexer, as described in aforementioned U.S. Patent Application 08/628,533. Concentrator 36 translates data between two protocols for multiple metering and protective devices (i.e., between General Electric Co.s' Commnet peer to peer network protocol and the industry standard Modbus RTU protocol). The concentrator 36 acts as a pseudo host for Commnet devices 30 and as pseudo slave for each device in the Modbus RTU network 24. Concentrator 36 creates virtual Modbus devices for every physical Commnet device 30 attached to its multiple channels (networks) 32. Multiple channels 32 allow parallel processing for data conversion, improving the throughput of the network in which it is utilized. Further, concentrator 36 autoconfigures itself by seeking all the devices attached in the Commnet channels 32 and storing this information in a configuration database, which is used to determine address conflicts among the attached Commnet devices 30. The concentrator 36 in the present example provides eight Commnet channels and allows connection of four Commnet devices 30 per channel. The RS485 standard physical interface is preferably opto-isolated. Modbus concentrator 36 communicates with host computer 12 through a command-response protocol in which the Modbus concentrator 36 (slave) responds to the computer 12 (master) requests. In this architecture, the computer 12 initiates transactions using Modbus RS-485 request frames and the Modbus concentrator 36 responds by supplying the requested data to the computer in the appropriate response message, or by taking appropriate action requested by the computer 12. Each Modbus concentrator 16 has a unique device address on the Ethernet network 24.
The Modbus RTU protocol defines the format of the frame for all requests by placing into it the receivers address (slave) a function code defining the requested action, any data to be sent and an error checking field. The Modbus concentrator 36 response message is also constructed using the Modbus RTU protocol. The Modbus concentrator 36 response frame contains its address, confirming the action taken, any data to be returned and an error checking field. The Modbus concentrator 36 sends an exception message in response if an error occurred in receipt of a message, or if the Modbus concentrator is unable to perform the requested action. The basic format of a Modbus request and response frames are illustrated in the following TABLE. TABLE
Request Frame Response Frame
Device Address > Device Address
Function Code Function Code Data Bytes < Data Bytes
Error Check Error Check The device address field of the Modbus frame consists of one byte (i.e., 8 bits). In the present example, valid Modbus concentrator 36 addresses are in the range of 1-247 (decimal). The computer addresses a virtual device 30 by placing its address in the address field of the frame. When the virtual device 30 sends its response, it places its own address in this address field to let the computer know which virtual device 30 is responding, if more than one are present. Address '0' is used for a broadcast address. No response from the slave devices is expected for a broadcast message. The host computer downloads time to the virtual devices 30 connected to the concentrator 36. On receipt of this message, the Modbus concentrator's 36 main processor and segment processors update the time in their respective set point registers.
The function code field of a message is one byte. The Modbus concentrator36 supports only a subset of Modbus RTU protocol function codes. The data field of the Modbus frame is constructed using sets of two hexadecimal digits, in the range of 00 to FF hexadecimal, and represents additional information. The data field of request frame contains information that the Modbus concentrator must use in performing the action defined by the function code. The response frame contains information the computer requested from the Modbus concentrator. The error checking field is two bytes wide and is based on a cyclical redundancy check (CRC) calculation performed on the message contents.
The Modbus concentrator 36 has the capability to interface with up to eight Commnet segments 32. Each segment processor of the Modbus concentrator 36 interfaces with up to a maximum of four Commnet devices 30. The segment processors are responsible for scheduling the transmission of Commnet request messages, receiving scheduled response messages and unsolicited messages from the Commnet devices. The
Commnet protocol is described in CommNet Device Functional Handbook (GE ED&C 331A3105P1) and CommNet Application Language Handbook (GE ED&C 331A2673P1), which are incorporated herein by reference.
Modbus (DDE) server 54 is described herein for a RS485 interface (serial) embodiment. However, it will be appreciated that the same is applicable to the Ethernet interface embodiment described herein, with the exception that the server is optimized for Ethernet protocol (instead of Modbus RTU protocol). DDE server 54 provides a mnemonic cross-reference between Modbus RTU register items and standardized, alphanumeric parameter names. This mnemonic interface allows the user to retrieve data from a device without knowledge of the actual device register item number. DDE server 54 further provides a consistent device event data item for dissimilar devices. Also, DDE server 54 automatically performs time synchronizing for all supported devices and provides a consistent waveform interface. DDE server 54, for the RS485 interface, is optimized for Modbus RTU protocol by compensating for invalid ranges of registers in the device polling packets and it also provides superior protocol debugging capabilities by displaying the complete Modbus RTU input/output packet traffic. In addition, the DDE server 54 performs automatic conversion between 16 bit and 32 bit device register modes. A generic interface allows any Modbus RTU device to be used with the system. The DDE server uses the Modbus RTU protocol standard for communication to metering, relaying and I/O devices using the RS-485 communication ports.
Every windows application is registered in a windows kernel with an application name. To uniquely identify a data item for communication between two cooperating (process aware) windows applications, the data item is identified by tuple (Application, Topic, Item). Topic name provides a grouping and item name specifies the actual data point to be accessed under a topic. For the DDE server, the application name is the server's executable name. Topic name can be the device identification name and item name can be the register identification of a field data point. For example, with a General Electric Co. EPM meter, the tuple can be GE16MODB, EPM1, AMP.sub.- A where GE16MODB is the Application name for a DDE Server, EPM1 is the meter identification name, and AMP.sub.-- A is the current for phase A. DDE messages mainly include requests to send data as identified by the Topic and Item name. They may also be for set point download to the data point as identified by the Topic and Item names. Input parameter values are reported by field devices on the communication interface in response to a poll by the server. This value may be a float value, an integer value, a string or discrete status bits.
The DDE server includes toolkit functions that are used to maintain DDE or NetDDE communications. Registers can be classified into Fast Poll Registers, Slow Poll Registers and Poll Once Registers. Fast Poll Registers are polled at a rate defined by 'Scan Interval', which is entered during device/topic configuration. Slow Poll Registers are polled once in every n" fetches of Fast Poll Registers and the value of 'n' is read from an initialization file. Toll Once' registers are polled only once when an item in that group becomes active. Toll Once' registers are also polled when a device status changes from DEAD to ACTIVE. Set points registers are to be downloaded based on request from a DDE client, i.e., a program, for example, such as an HMI package or MS-Excel, which request data items from the DDE server and accepts data through DDE or NetDDE.
Referring to FIG 3, the DDE server acts as a link between a client requesting device data and a field device that can provide the data. The DDE server communicates to the field device through communication ports and to the client via a DDE or NetDDE message link. A client sends its requests to the server to read/write some device registers. The server maps each request to suitable device read/write request packets and carries out the necessary transaction with the device. Then it relays the result back to the client after processing and, if necessary, casts the collected device data to the proper format. Apart from reporting contents of normal device registers, the server can also collect special data like waveform capture/recording data from the device and pass it to a client.
To ease the configuration of field data points the user can access field data points on the DDE or NetDDE link using mnemonics which easily identify data points rather than using register addresses. At the same time, the register based item names are provided to maintain compatibility with Modbus RTU protocol conventions. Referring to FIG. 4, the DDE server maps item names to their register addresses. The name mapping database and functions are implemented in such a manner that underlying server does not get affected when new naming conventions for item are to be implemented. Preferably an off-line utility builds a device mnemonic to register address map. The device mnemonic to register map can then be imported during off-line mode, as described hereinafter. The DDE server supports the following data types; signed integer, unsigned integer, signed long, modulus 10000, floating points numbers in IEEE format, discrete bits, and an array of any of the above data types.
The DDE server interfaces through the RS485 interface, e.g., a multiport (4 port or 8 port) RS485 Stargate communication card or through a RS232/RS485 converter. The RTS line may have to be activated/deactivated to ensure proper flow control. Hardware flow control for all the ports is enabled/disabled when the communication port is configured. In the present example, the DDE server supports a maximum of 8 communication ports, whereby a maximum of 247 Modbus RTU devices can be connected on each port and the Modbus concentrators cannot have an address greater than 32. Addresses of devices connected to any one port should be unique. DDE server 54 can interface to client nodes on a network using NetDDE support for DDE communication.
The DDE server supports following data types: unsigned integer, a default for Rnnnrn item name; signed integer, specified is T with an Item name of Rnnnnnl; long signed integer, specified is 1 with an Item name of PvunnnnL; floating point value, specified is ' with an Item name of RnnnnnF; discrete status bits, specified is J' with an Item name of Rnr nnDxxxxx; modulus 10000, specified as Ε' with an Item name of RnnnnnE; and array values, an array of either signed integer, unsigned integer, long signed integer and float values with array specified 'Axxx\
Referring to FIG. 5, the DDE server handles field device communication through timer call back functions. The DDE server polls the devices which are in an active list and from each device it acquires registers (items) which are in the active list. The DDE server may group various items while performing data acquisition to optimize polling required from field devices. Device register maps usually have some gaps for future use. While grouping various items in a single polling cycle, the DDE server accounts for invalid register addresses for a particular device. Fast and Slow Group Registers are not packed into the same packet. The DDE server may have to limit grouping because of limitations on packet length of the response packet or the download packet. The maximum packet length is restricted to 125 registers (250 bytes) by Modbus RTU protocol standards. The DDE server executes set point commands received from client applications and communicates all set point values to the devices. The DDE server periodically synchronizes time with connected devices and adjusts for the time formats of each of these devices.
The Modbus concentrator accepts time register write requests for all devices connected to it but does not change the time register value of any device in response to write requests. The time registers for all the devices connected to a Modbus concentrator will be changed only when the server synchronizes time with the concentrator. Periodical time download to selected devices are performed even if it may not have any effect on that particular device. Time synchronization for other devices are performed as per the register format specified for the device register maps.
The DDE server maintains current status (DEAD/ ACTIVE) of all active topics (devices). This information does not have any direct register associated with the device topic name and hence a pseudo item called 'STATUS' is maintained by the DDE server. If the DDE server does not get a response from any device during 'n' consecutive poll cycles then that particular device is declared DEAD. The value of 'n' is read from an initialization file. The status of any device will be updated to a client only if a predefined item called 'STATUS' is made active. DEAD devices would be polled with period equal to a dead device scan interval (available in initialization file) instead of the device scan interval. DEAD devices will become ACTIVE when they respond to a polling request.
The DDE server displays communication traffic in text format in its Window, if it is setup to do so. A setup option is provided in the server main menu for this purpose. Communication traffic is displayed in a 'scrollable' window for selected devices and selected options.
Further, the DDE server logs communication errors which include, by way of example, time-out errors, CRC errors, wrong station ID responses, exception responses and extra bytes reported in the response to a query from the device. The DDE server logs communication errors for ACTIVE devices only and logs the device status whenever a device becomes ACTIVE or DEAD. Server configuration data is accepted through the interfaces and is stored in initialization files or other configuration files. Configuration is an off-line function and is disabled during run-time. The configuration utility is provided for: communication port configuration, device/topic configuration, device type register map configuration, device type register group polling priority configuration, device type supported function codes configuration, device type register map invalid register addresses, item mnemonic to register mapping, and server operational parameters. The configuration utility also allows the export and import of register groups and mnemonics.
In the present example, up to 8 communication ports can be configured. It will be appreciated, that this is restricted by the number of ports that the 16 bit Windows or Windows NT communication driver will support. For each port the following parameters can be configured:
Baud Rate: 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600
Parity: Even, Odd, None Stop Bits: 1, 2
Hardware flow control: Enable, Disable
Presently, Modbus RTU protocol standards require eight bits. At the time of initialization, the DDE server configures the communication ports, devices and timers as defined by user. Also, all device specific databases are initialized. From the main menu the user can start the server, stop the server, suspend protocol, and resume protocol during runtime. Configuration ranges in the present example are as follows; a device name can be up to 20 characters, a scan interval can be in the range of 1 -9999999 milliseconds, and a slave address can be in the range of 1-247. It will be appreciated, that multiple topics can be configured with the same slave address and communication port. The configuration utility will detect multiple topics before configured on the same slave address and will issue a warning message to this effect when user configures a topic on an already configured address. The communication port to which a device is connected must be previously defined.
A device type register map must be configured for each of the device topics connected thereto. The system provides for configuration of a starting valid address, a last valid address, a set of invalid register blocks using this utility. Valid registers, in the present example, are ROXXXX; RIXXXX; R3XXXX; or R4XXXX. Accordingly, DDE server 54 supports the following Modbus register types; ROXXXX-Discrete coils, RlXXXX—Discrete status registers, R3XXXX-- Input registers, and R4XXXX— Set point registers. With these generic types, a user can configure any number of register types. Each of these types will have poll rate attributes (i.e., Fast Poll, Slow Poll, or Poll Once). Buffered events, read/write date/time registers for time synchronization, waveform capture data and waveform recording data are implemented differently in the devices which support them hence, no common configuration utility is provided for these functions. The DDE server handles each of these functions specifically. Again a mnemonic name is associated with a register address. Further, a user can configure protocol timer tick and valid data time out value with this utility. Server time out tick is read from an initialization file.
By way of example, several of the devices discussed above, i.e., EPM, RMS6, RMS9B, RMS9C, RMS9D, ECM, MDP and the Modbus concentrator, include register types R3XXXX; R4XXXX; and ROXXXX. To acquire data from these devices and to download set points, the DDE server implements Modbus function codes, 01, 03, 04, 05, 06, 16, 56. Various register groups, i.e., dynamic values, set points, command registers, event registers, fixed value registers, and Commnet statistics can be configured by the user into either Slow Poll Register or Fast Poll Registers or Poll Once Registers. The DDE server downloads time stamps to all these devices periodically. Time download periodicity is available in an initialization file. An event count register is polled at the Fast Poll rate. When the event count register is non-zero, an event fetch is performed by reading the start address from the event buffer. Each event is read and time stamped sequentially. The event code is expanded with a description, additional data fields, and a date stamp of the events before sending to client.
In general, the DDE server provides appropriate return values as specified for all clients, i.e., periodic polling packets for active topics and items, periodic polling packets for events and status, periodic update of time to all the devices, data value update to clients for acquired items, event/status report to the HMI package so that it becomes part of normal alarm log, and status update for active topics (devices). Set point write requests are properly formatted set point download communication packets for the request. Execution and termination of the server are initiated on user request from the DDE server window menu.
The following Modbus function codes are supported by the DDE server of the present invention:
Function Code 1 : Read Coils,
Function Code 2: Read Input status, Function Code 3 : Read holding registers,
Function Code 4: Read input registers,
Function Code 5 : Write single coil,
Function Code 6: Write single holding register,
Function Code 15: Write multiple coils,
Function Code 16: Write multiple holding registers, and
Function Code 56: Retransmit last response.
Referring to FIG. 6, the component subsystems (i.e., modules) of the DDE server include; the server (application) 150, the device module 152; the register groups module 154; the communication module 156; and the DDE handler module 158. All these modules (except for the DDE handler) employ an object oriented approach. Each module comprises several classes.
The application module 150 handles all external inputs to the system viz., user interactions and client requests via the DDE or NetDDE link. As described above the server is configured for various devices when server is off-line. The configuration parameters include register map configuration, mnemonic configuration, and configuration of the communication port to which the device is attached. While on-line, the server will expect requests from clients through the DDE handler and service those requests. It also receives any special command from user, e.g., to stop the protocol, and carries it out properly. In the application module, Class, CServer, provides server communication with the toolkit through the DDE handler and synchronizes comport processing.
Referring to FIG. 7 and 8, the device module 152 abstracts a field device and handles multiple register categories (or register groups). Class, CCoilltem, provides support for the special discrete register bit operations for RO and Rl reference register types. Class, CDev, contains all device information like device name, device ID, device type name and corn-port address. Class, CDeviceType, abstracts a field device type the server will talk to, has a variable number of register groups, contains a mnemonics list, and has function codes associated with it. Class, CDiscreteltem, extracts discrete bit array in a register, for a 16-bit register, all 16 bits can be programmed while for a 32-bit register only the lower 16 bits can be specified by user. Class, CEventltem, handles the event processing for a selected device, e.g., a General Electric Co. device, formats an event string and passes it to the client. Class, CGEDeviceType, supports event register group, by way of example, part nos. EPM, RMS6, RMS9B, RMS9C, RMS9D, ECM, PLMeter and MDP qualify as General Electric Co. device types. Class, Cintltem, takes care of unsigned and signed integer items. Class, Cltem, is a data point present in field device. Cltem comprises a plurality of registers in the device and can handle a single type or array of types. Cltem is the base class for different types of items present in the application and include integer, long, real, coil, discrete bits and real time parameters. An item has reference to the register group it belongs to. Whenever a new item is created or activated a dummy register block is created and polled immediately for the fast updating of the item. Class, CLongltem, handles a signed long data type. Class, CMnemonic, contains the mnemonic name and the corresponding register format. Class, CModbusConcType, automatically synchronizes time with all Modbus concentrator device which have only time download property. Class,
CMultilin565Eventιtem, handles the special event processing present for Multilin 565 device. Class, CMultilin565Type, supports event register group and processing for Multilin meters, which are similar to that of General Electric Co. devices. Class, COnLineDevice, exist only when the server is running, whenever an on-line device is created, a copy of its device type is created and attached to the on-line device. Class,
CPLMeterType, is associated with the General Electric Co. Power Leader meter devices and supports CPLMeterWFCReg register group for waveform capture. Class, CPLMeterWFDataltem, is a text item associated with the PLMeter. CPLMeterWFDataltem is a collection of 'n' samples read from the device, with the number of samples and sample's start address are read from the application's .INI file. Class, CPML3710EventItem, handles the event processing for a PML3710 Device and formats an event string and passes it to the client. Class, CPML3710Type, supports a PML3710 Device where the default register group CPML3710WFCRegGroup supports waveform capture. The event processing is similar to other device types except that it doesn't contain an event count register. Class, CPML3710WFCDataItem, is a text item associated with the PML3710. CPML3710WFCDataltem is a collection of 'n' samples read from the device. Each sample is 12 bits and two consecutive registers, giving three values. The number of samples and sample's start address are read from the application's .INI file. Normally for PML devices the WFC is 99 registers. Class, CPML3720Availltem, handles the PML.sub.- WFC.sub.- AVAIL special item in the PML3720 device. Class, CPML3720EventItem, handles the event processing for a PML3720 Device and formats an event string and passes it to the client. Class, CPML3720Type, supports a PML3720 device. The default register groups that go with this device type are CPML3720WFCRegGroup and CPML3720WFRRegGroup for handling waveform capture and waveform recording respectively. Class, CPML3720WFCDataltem, is a text item associated with the PML3720. CPML3720WFCDataltem is a collection of 'n' samples read from the device, where each sample is 12 bits and two consecutive registers, giving three values. The number of samples and sample's start address are read from the application's .INI file. Class, CPML3720WFRDataItem, collects required sample data and updates them to the client. CPML3720WFRDataltem handles the PML.sub.- WFR.sub.~ BFRS.sub.- AVAIL and PML.sub.- WFR.sub.- NEXT.sub.- BFR special items in the PML3720 device. Class, CRealltem, keeps data in an IEEE floating point format, in 16-bit mode, two registers are required while in 32-bit mode, only one register will give the value. Class, CStatusltem, is a text item which exists in every device. The status strings that are updated by this item to a device are ACTIVE and DEAD.
Referring to FIG. 9, the register group module 154 supports an array of registers, a few registers in the array may be declared as invalid. Consecutive registers can be grouped together to define an item or a point. An item performs processing on these registers depending on the item type. Clients are interested in the item value after the processing has taken place. The register group module is designed to handle multiple numbers of such items. Class, CEventReg, supports events handling for General Electric Co. devices. Class, ClnvahdRegBlock, maintains the invalid range where it contains invalid registers range in (Start, End) pairs. Class,
ClnvalidRegList, list is an ObList containing ClnvahdRegBlock objects for a particular register group. Class, CMultilin565EventReg, supports the Multilin565 events. Class, CPLMeterSplCoilReg, manages two command coil items, i.e., TRIGGER.sub.- WF.sub.-- CAPTURE and CLR.sub.-- WF.sub.- CAPTURE for General Electric Co. Power Leader Meter. Class, CPLMeterSplSPReg, manages set point registers for the Power Leader Meter. A DDE item present in this group is WF.sub.— SETPT. Class, CPLMeterWFCReg, supports waveform capture for General Electric Co. Power Leader Meter. DDE items present in this group are WF.sub.— DATA, WF.sub.- AVAIL, WF.sub.- CHANNEL, WF.sub.- HOUR,
WF.sub.- MIN, WF.sub.- SEC, and WF.sub.- MSEC. This register group supports waveform capture data retrieve. Class, CPML3710EventReg, supports the PML3710 events. Class, PML3710WFCReg, is a register group for PML3710 and has a DDE item referred to as PML.sub.- WFC. This register group supports the PML.sub.— WFC item in retrieving the WFC data from the device. Class, CPML3720EventReg, handles the PML 3720 events. Class, CPML3720WFCReg, is a register group for PML3720 and has only two DDE items which are referred to as PML.sub.— WFC and PML.sub.— WFC. sub.— AVAIL. This register group supports the PML.sub.— WFC item in retrieving the WFC data from the device depending on the availability of the data (which is known by PML.sub.— WFC.sub.-- AVAIL). Class, CPML3720WFRReg, is a register group for PML3720 device and has several DDE items which are referred to as PML.sub.- WFR, PML.sub.- WFR.sub.-- BFRS.sub.- AVAIL, PML.sub.- WFR.sub.~ NEXT. sub.- BFR, PML.sub.- VI. sub.- WFR, PML.sub.- V2.sub.~ WFR, PML.sub.- V3.sub.- WFR, PML.sub.- VAUX.sub.- WFR, PML.sub.- 11. sub.- WFR, PML.sub.- 12.sub.~ WFR, PML.sub.-- 13.sub.~ WFR and PML.sub.- I sub.- WFR. Class, CRORegisterType, supports function codes 01 (coil read), 05 (write single coil), 15 (write multiple coils). This is a generic register group type from which the user is allowed to dynamically instant many register groups for a device type. Class, CRlRegisterType, supports function code of 02 (for read discrete bits). All write commands on this type of registers are discarded. This is a generic register group type from which the user is allowed to dynamically instant many register groups for a device type. Class, CR3RegisterType, has a 04 (read input registers) function code. All write commands on this type of registers are discarded. This is a generic register group type from which the user is allowed to dynamically instant many register groups for a device type. Class, CR4RegisterType, is a register group that has specific function codes that are 03 (read holding registers), 06 (write single register), and 16 (write multiple registers). This is a generic register group type from which the user is allowed to dynamically instantiate many register groups for a device type. Class, CReadRegBlock, contains a valid register range which can be used while sending read packet to the device. A valid block may represent one or more than one item. It also contains start and stop positions of items in the register group's item list for register group's convenience while updating the item values to toolkit. The valid blocks are recalculated whenever an item is added or deleted, hence the register blocks list is dynamically changing. Class, CRegister Group, handles a category of registers whose access will be similar by client. It has list of all active items of the group in a member called m-ItemList. Also it has a list of valid register blocks. It can acquire data for all active items in m-ItemList and download data for an item to the device. It maintains a list of valid blocks, which is sent to the field device one at a time. A valid block is polled on behalf of maximum possible items thus optimizing the polling. Class, CStatusReg, manages the STATUS item. This register group and the item are present for all the devices. Class, CTimeDownloadReg, downloads time to the Modbus concentrator and General Electric Co. devices and does not support any items. Class, CTimeDownload565, downloads time to the Multilin565 device and does not support any items. Class, CTimeDownloadPML, downloads time to the PML 3710 and PML 3720 devices, and does not support any items.
Referring to FIG. 10 and 11, the communication module 156 enables the server to communicate with a device. All client requests are to be mapped to various Modbus packets and then these packets have to be transmitted to the device successfully. Also the replies from the devices are received here first and checked for CRC error. This module also is capable of declaring any device as DEAD if it cannot communicate with the device or ACTIVE when communication resumes with a previously DEAD device. Class, CComPort, supports the transaction of a Modbus packet between the server application and the device. The com port maintains a queue of packets and returns immediately after transmitting a packet and checks for the response only at the next scan cycle. This improves throughput of packet I/O with the device. Class, CModbusRTUProtocol, implements the specific Modbus RTU protocol functions. This improves class implements Modbus RTU protocol and the method of adding CRC to the data bytes before sending to device. Also, it checks CRC for response bytes and clears it for further processing. Class, CPacket, implements the common understanding between the server and the device with which both are able to talk to each other. The packet does not contain CRC. The CPacket contains both the request as well as the response and acts as a base class for Modbus function code implementation. The packet's interface with items is fixed as two bytes per register in 16-bit mode and four bytes per register in 32-bit mode. For a discrete item or a coil item, the rightmost bit only is used, while all other bits are discarded. Class, CProtocol, is a generalized protocol base class. A protocol is a set of rules governing the format and meaning of the messages (or packets) that are exchanged between the server and the device. CProtocol is designed such that it can put any error-check on bytes before transmitting and also do any error checks on response bytes that are received. Class, CReadBitsPkt, reads discrete registers (Rl reference) and coil register (RO reference). Class, CReadPkt, is a base packet class that provides generalized methods for all those Modbus packets that are meant for reading register values. Class, CReadRegPkt, reads input registers (R3 reference) and holding registers (R4 reference). Class, CWriteMultiBitsPkt, writes into multiple coil registers (RO reference). Class, CWriteMultiRegsPkt, writes into multiple holding registers (R4 reference). Class, CWritePkt, is a base packet class which provides generalized methods for all those Modbus packets which are meant for writing single or multiple register values. Class, CWriteSingleBitsPkt, writes into single coil registers (Rl reference). Class, CWriteSingleRegPkt, writes into single holding registers (R4 reference). The DDE handler module 158 implements the toolkit interface functionality for communicating to clients. It handles various DDE communications with clients and uses HMI package support to interface server class with the HMI toolkit and supports the DDE or NetDDE message protocol. The DDE server utilizes the DDE handler to implement DDE or NetDDE communication links with clients. All client requests are suitably broken down to one or more of the following operations by DDE Handler: CreateTopic, the server becomes ready to poll the device indicated by topic name; Createltem, an item can be created only for an already created topic and the server becomes ready for polling the item; Activateltem, the server starts polling the field device corresponding to topic whose item has been activated and supplies the item value to requesting client periodically; Deactivateltem, polling of the active item is stopped; Deleteltem, the specified item is no more required and hence is deleted; and ExecuteCommand, the client performs a command on the device with the specified topic name, whereby if the device is present, and is able to understand the command, the command processing is carried out by server.
In summary, the DDE server uses the Modbus RTU protocol to communicate with a field device. The server has to poll these devices continuously and get the required data for a client. Communication parameters are set up during configuration defining what communication is to be carried out. No initialization before communicating to the devices is necessary. The server always assumes that all the devices are ready and polls them at its poll speed. All fast poll registers are polled continuously, slow poll registers are polled 'n' times slower than fast poll registers where 'n' is read from an INI file, all poll once registers are polled only once when the item becomes active. If some devices do not respond, the server declares them as DEAD and informs interested clients. More specifically, the server transmits a query packet and waits for response, i.e., the server is the master and the device is the slave. If a response from the specified device is received within a fixed time, the server checks the response for CRC error. If CRC available at the end of the response packet matches the CRC computed by server, then the response is accepted and is processed further. If CRC in above case does not match or the response has a CRC error, the server retransmits the packet. A Modbus function code is used, for certain devices that are connected through the concentrator, to request field devices to retransmit the response packet where a CRC error has occurred previously. Otherwise, a query packet is retransmitted by server. The server transmits the query packet to the device until it either gets an accepted response or a specified retransmit limit has been reached. If retransmit limit is reached, the server declares the corresponding device DEAD and stores the query packet in a slow poll queue. The same query packet will be tried again at a slower frequency. If during dead device poll, the server receives a good response packet from the device then server makes that device ACTIVE and will resume normal polling for the device.
The DDE server starts up, reads configuration data from disk and initializes all other objects. The system is started in the on-line mode. The application module is used for configuration of the system. Whenever the user confirms the change (e.g., by pressing OK button, accepting the change), all configuration data is stored into hard disk.
The DDE handler passes all client requests for any topic and any item to the application module. The application module validates that the device exists and passes further request of item data to the device module. The device module is in turn dependent on register groups for getting data in the correct format for any item in any device. The register groups decide which registers are to be polled and with what Modbus function packets. Accordingly, the register groups create a suitable packet and passes it to the communication module. The communication module carries out the actual transaction with the device. The result of the transaction is returned to the register groups, which in turn passes it to the device module. After getting the data, the device module updates it to the clients.
While the invention has been described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments fallings within the scope of the appended claims. What is claimed is:

Claims

1. A power management system comprising:
a computer;
an interface at said computer defining a first network having a network layer protocol;
a gateway connected to said first network, said gateway converting said network layer protocol to a first application layer protocol and defining a second network;
a first intelligent electronic device connected to said second network;
a second intelligent electronic device connected to said first network;
a first server associated with said computer for communicating with said first intelligent electronic device using said first application layer protocol, said first server processing data received from said first intelligent electronic device to manage power use; and
a second server associated with said computer for communicating with said second intelligent electronic device using a second application layer protocol, said second server processing data received from said second intelligent electronic device to manage power use.
2. The power management system of claim 1 wherein said network layer protocol is a TCP/IP protocol.
3. The power management system of claim 1 wherein said first application layer protocol is a Modbus protocol.
4. The power management system of claim 1 wherein said second application layer protocol is a Manufacturing Message Specification protocol.
5. The power management system of claim 1 further including: a concentrator connected to said second network, said concentrator converting said first application layer protocol to a third application layer protocol and defining a third network; and
a third intelligent electronic device connected to said third network.
6. The power management system of claim 5 wherein said third application layer protocol is a Commnet protocol.
7. The power management system of claim 1 wherein said first network has an Ethernet physical layer protocol.
8. The power management system of claim 1 wherein said second network has an RS-485 physical layer protocol.
9. The power management system of claim 1 wherein said third network has a Commnet physical layer protocol.
10. A power management system comprising:
a computer;
an interface at said computer defining a first network having a TCP/IP network layer protocol;
a gateway connected to said first network, said gateway converting said TCP/IP network layer protocol to a Modbus application layer protocol and defining a second network;
a first intelligent electronic device connected to said second network;
a second intelligent electronic device connected to said first network;
a first server associated with said computer for communicating with said first intelligent electronic device using said Modbus application layer protocol, said first server processing data received from said first intelligent electronic device to manage power use; and
a second server associated with said computer for communicating with said second intelligent electronic device using a Manufacturing Message Specification application layer protocol, said second server processing data received from said second intelligent electronic device to manage power use.
11. The power management system of claim 1 further including: a concentrator connected to said second network, said concentrator converting said Modbus application layer protocol to a Commnet application layer protocol and defining a third network; and
a third intelligent electronic device connected to said third network.
PCT/US2000/026311 1999-09-24 2000-09-25 Utilities communications architecture compliant power management control system WO2001022186A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002350522A CA2350522A1 (en) 1999-09-24 2000-09-25 Utilities communications architecture compliant power management control system
EP00965408A EP1137974A4 (en) 1999-09-24 2000-09-25 Utilities communications architecture compliant power management control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/405,346 1999-09-24
US09/405,346 US6301527B1 (en) 1996-04-03 1999-09-24 Utilities communications architecture compliant power management control system

Publications (1)

Publication Number Publication Date
WO2001022186A1 true WO2001022186A1 (en) 2001-03-29

Family

ID=23603323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/026311 WO2001022186A1 (en) 1999-09-24 2000-09-25 Utilities communications architecture compliant power management control system

Country Status (4)

Country Link
US (1) US6301527B1 (en)
EP (1) EP1137974A4 (en)
CA (1) CA2350522A1 (en)
WO (1) WO2001022186A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009149078A1 (en) * 2008-06-02 2009-12-10 Abb Technology Ag Method and apparatus for monitoring the performance of a power delivery control system
WO2009151540A2 (en) * 2008-05-27 2009-12-17 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US7783764B2 (en) 2008-05-27 2010-08-24 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US8935412B2 (en) 2008-05-27 2015-01-13 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
CN107528879A (en) * 2017-07-06 2017-12-29 积成电子股份有限公司 Intelligent concentrator and data interactive method based on IEC62056 agreements
CN112688844A (en) * 2020-12-11 2021-04-20 北京天融信网络安全技术有限公司 Communication control method, device, equipment and medium
US11303468B2 (en) * 2018-05-17 2022-04-12 Sagemcom Energy & Telecom Sas Equipment adapted for being connected to an AMM system

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944555B2 (en) * 1994-12-30 2005-09-13 Power Measurement Ltd. Communications architecture for intelligent electronic devices
US6751562B1 (en) 2000-11-28 2004-06-15 Power Measurement Ltd. Communications architecture for intelligent electronic devices
US6792337B2 (en) 1994-12-30 2004-09-14 Power Measurement Ltd. Method and system for master slave protocol communication in an intelligent electronic device
US7761910B2 (en) * 1994-12-30 2010-07-20 Power Measurement Ltd. System and method for assigning an identity to an intelligent electronic device
US7216043B2 (en) * 1997-02-12 2007-05-08 Power Measurement Ltd. Push communications architecture for intelligent electronic devices
WO1999053627A1 (en) 1998-04-10 1999-10-21 Chrimar Systems, Inc. Doing Business As Cms Technologies System for communicating with electronic equipment on a network
US6480510B1 (en) 1998-07-28 2002-11-12 Serconet Ltd. Local area network of serial intelligent cells
US6233626B1 (en) * 1998-10-06 2001-05-15 Schneider Automation Inc. System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer
US6643566B1 (en) * 1999-01-12 2003-11-04 Powerdsine Ltd. System for power delivery over data communication cabling infrastructure
US7046983B2 (en) * 1999-08-02 2006-05-16 Powerdsine, Ltd. Integral board and module for power over LAN
US7346785B2 (en) * 1999-01-12 2008-03-18 Microsemi Corp. - Analog Mixed Signal Group Ltd. Structure cabling system
US6473608B1 (en) 1999-01-12 2002-10-29 Powerdsine Ltd. Structure cabling system
US6463352B1 (en) * 1999-01-21 2002-10-08 Amada Cutting Technologies, Inc. System for management of cutting machines
US6956826B1 (en) 1999-07-07 2005-10-18 Serconet Ltd. Local area network for distributing data communication, sensing and control signals
US6871225B1 (en) * 1999-07-08 2005-03-22 General Electric Company Synthetic corn hybrid P67
DE59911450D1 (en) * 1999-11-01 2005-02-17 Abb Research Ltd Integration of a bay control unit into a plant control system
US6549616B1 (en) 2000-03-20 2003-04-15 Serconet Ltd. Telephone outlet for implementing a local area network over telephone lines and a local area network using such outlets
US20020010801A1 (en) * 2000-04-21 2002-01-24 Meagher Patrick S. Server to third party serial gateway in a power control management system
US6961303B1 (en) 2000-09-21 2005-11-01 Serconet Ltd. Telephone communication system and method over local area network wiring
US20020052940A1 (en) * 2000-10-27 2002-05-02 Jenny Myers Method and system for using wireless devices to control one or more generic systems
US7085824B2 (en) * 2001-02-23 2006-08-01 Power Measurement Ltd. Systems for in the field configuration of intelligent electronic devices
US6813571B2 (en) * 2001-02-23 2004-11-02 Power Measurement, Ltd. Apparatus and method for seamlessly upgrading the firmware of an intelligent electronic device
US6871150B2 (en) * 2001-02-23 2005-03-22 Power Measurement Ltd. Expandable intelligent electronic device
US7249265B2 (en) * 2001-02-23 2007-07-24 Power Measurement, Ltd. Multi-featured power meter with feature key
US6745138B2 (en) 2001-02-23 2004-06-01 Power Measurement, Ltd. Intelligent electronic device with assured data storage on powerdown
US7596459B2 (en) * 2001-02-28 2009-09-29 Quadlogic Controls Corporation Apparatus and methods for multi-channel electric metering
US7447762B2 (en) * 2001-04-02 2008-11-04 Curray Timothy G Ethernet communications for power monitoring system
US7051143B2 (en) * 2001-06-25 2006-05-23 Schneider Automation Inc. Method, system and program for the transmission of modbus messages between networks
US6901432B2 (en) * 2001-11-27 2005-05-31 Eaton Corporation Translator apparatus for two communication networks
US20030171851A1 (en) * 2002-03-08 2003-09-11 Peter J. Brickfield Automatic energy management and energy consumption reduction, especially in commercial and multi-building systems
US6711451B2 (en) * 2002-07-02 2004-03-23 3D Systems, Inc. Power management in selective deposition modeling
IL152824A (en) 2002-11-13 2012-05-31 Mosaid Technologies Inc Addressable outlet and a network using same
CA2511004C (en) * 2002-12-23 2015-07-21 Power Measurement Ltd. Power monitoring integrated circuit with communication interface
US7246193B2 (en) * 2003-01-30 2007-07-17 Rosemount, Inc. Interface module for use with a Modbus device network and a Fieldbus device network
US7246194B2 (en) * 2003-01-30 2007-07-17 Rosemount, Inc. Interface module for use with a fieldbus device network and with internet and non-internet based process control networks
US8587452B2 (en) * 2003-05-12 2013-11-19 Power Measurement Ltd. Time coordinated energy monitoring system utilizing communications links
US7424624B2 (en) * 2003-12-18 2008-09-09 Hewlett-Packard Development Company, L.P. Rack equipment power purchase plan supervision system and method
IL159838A0 (en) 2004-01-13 2004-06-20 Yehuda Binder Information device
US7460930B1 (en) 2004-05-14 2008-12-02 Admmicro Properties, Llc Energy management system and method to monitor and control multiple sub-loads
US7304586B2 (en) 2004-10-20 2007-12-04 Electro Industries / Gauge Tech On-line web accessed energy meter
US9080894B2 (en) 2004-10-20 2015-07-14 Electro Industries/Gauge Tech Intelligent electronic device for receiving and sending data at high speeds over a network
US7747733B2 (en) 2004-10-25 2010-06-29 Electro Industries/Gauge Tech Power meter having multiple ethernet ports
US7271996B2 (en) 2004-12-03 2007-09-18 Electro Industries/Gauge Tech Current inputs interface for an electrical device
US20060247911A1 (en) * 2005-04-28 2006-11-02 Schweitzer Engineering Labs., Inc. Systems and methods for learning and mimicking the communications of intelligent electronic devices
US7467311B2 (en) * 2005-06-09 2008-12-16 International Business Machines Corporation Distributed system and method for managing power usage among server data processing systems
US7664968B2 (en) * 2005-06-09 2010-02-16 International Business Machines Corporation System and method for managing power usage of a data processing system subsystem
US7509506B2 (en) * 2005-06-09 2009-03-24 International Business Machines Corporation Hierarchical system and method for managing power usage among server data processing systems
US7421599B2 (en) * 2005-06-09 2008-09-02 International Business Machines Corporation Power management server and method for managing power consumption
US7386743B2 (en) 2005-06-09 2008-06-10 International Business Machines Corporation Power-managed server and method for managing power consumption
US7706928B1 (en) 2005-09-07 2010-04-27 Admmicro Properties, Llc Energy management system with security system interface
US7554320B2 (en) 2005-10-28 2009-06-30 Electro Industries/Gauge Tech. Intelligent electronic device for providing broadband internet access
US7734359B2 (en) * 2005-11-14 2010-06-08 General Electric Company Systems and methods for capturing data within an intelligent electronic device
US8730834B2 (en) * 2005-12-23 2014-05-20 General Electric Company Intelligent electronic device with embedded multi-port data packet controller
WO2007082010A2 (en) * 2006-01-11 2007-07-19 Fisher-Rosemount Systems, Inc. Control of field device on low power wireless networks
US7571063B2 (en) 2006-04-28 2009-08-04 Admmicro Properties Llc Lighting performance power monitoring system and method with optional integrated light control
US7756134B2 (en) * 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20070258459A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Method and system for QOS by proxy
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US20070291767A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Systems and methods for a protocol transformation gateway for quality of service
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20100238801A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Method and system for stale data detection based quality of service
US8005020B2 (en) * 2006-09-29 2011-08-23 Rosemount Inc. Wireless mesh network with multisized timeslots for TDMA communication
US9167423B2 (en) * 2006-09-29 2015-10-20 Rosemount Inc. Wireless handheld configuration device for a securable wireless self-organizing mesh network
US7895456B2 (en) * 2006-11-12 2011-02-22 Microsemi Corp. - Analog Mixed Signal Group Ltd Reduced guard band for power over Ethernet
US10845399B2 (en) 2007-04-03 2020-11-24 Electro Industries/Gaugetech System and method for performing data transfers in an intelligent electronic device
US9501803B2 (en) * 2007-04-12 2016-11-22 Siemens Industry, Inc. Devices, systems, and methods for monitoring energy systems
US20090043415A1 (en) * 2007-08-06 2009-02-12 Chevron U.S.A. Inc. System and Method for Distributed Control of a Plant Process
US8160753B2 (en) * 2008-07-31 2012-04-17 Microsemi Corp.—Analog Mixed Signal Group Ltd. Time integrated guard band
JP2012502365A (en) * 2008-09-06 2012-01-26 ロード コーポレーション Motion control system with digital processing link
CA2733268A1 (en) 2008-09-25 2010-04-01 Fisher-Rosemount Systems, Inc. Wireless mesh network with pinch point and low battery alerts
CN101686238A (en) * 2008-09-25 2010-03-31 鸿富锦精密工业(深圳)有限公司 Communication protocol detection system and method
US20100082844A1 (en) * 2008-09-30 2010-04-01 Abb Research Ltd. Field device controller adapter
US8195965B2 (en) * 2008-11-04 2012-06-05 Microsemi Corp. - Analog Mixed Signal Group Ltd. Compensation for high powered midspan power sourcing equipment
US8805590B2 (en) * 2009-12-24 2014-08-12 International Business Machines Corporation Fan speed control of rack devices where sum of device airflows is greater than maximum airflow of rack
US10645628B2 (en) * 2010-03-04 2020-05-05 Rosemount Inc. Apparatus for interconnecting wireless networks separated by a barrier
US8737244B2 (en) 2010-11-29 2014-05-27 Rosemount Inc. Wireless sensor network access point and device RF spectrum analysis system and method
DE102011005062A1 (en) * 2011-03-03 2012-09-06 Endress + Hauser Process Solutions Ag Method for providing data from field device in automation system, arranged on network, involves instantiating an additional application-specific data, in automation/integration platform and making the data available to remote client
US20130005372A1 (en) 2011-06-29 2013-01-03 Rosemount Inc. Integral thermoelectric generator for wireless devices
US20130158972A1 (en) * 2011-12-14 2013-06-20 Southern Company Services, Inc. Automated Recovery System Verification
EP2618228A1 (en) * 2012-01-17 2013-07-24 ABB Technology AG Analysing data communication in a process control or substation automation system
CN105116757A (en) * 2015-07-23 2015-12-02 国网四川省电力公司电力科学研究院 IEC 61850/MMS simulation method of concurrent signals of multiple devices
US11605037B2 (en) 2016-07-20 2023-03-14 Fisher-Rosemount Systems, Inc. Fleet management system for portable maintenance tools
US10375162B2 (en) * 2016-07-22 2019-08-06 Fisher-Rosemount Systems, Inc. Process control communication architecture
US10270853B2 (en) * 2016-07-22 2019-04-23 Fisher-Rosemount Systems, Inc. Process control communication between a portable field maintenance tool and an asset management system
US10374873B2 (en) * 2016-07-22 2019-08-06 Fisher-Rosemount Systems, Inc. Process control communication between a portable field maintenance tool and a process control instrument
US10764083B2 (en) 2016-07-25 2020-09-01 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with resistor network for intrinsically safe operation
US11549684B2 (en) 2018-08-27 2023-01-10 Honeywell International Inc. Burner system control
CN110505136B (en) * 2019-10-15 2021-07-27 正星科技股份有限公司 Layered MODBUS communication system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768148A (en) * 1996-04-03 1998-06-16 General Electric Company Man machine interface for power management control systems
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768148A (en) * 1996-04-03 1998-06-16 General Electric Company Man machine interface for power management control systems
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1137974A4 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009151540A2 (en) * 2008-05-27 2009-12-17 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
WO2009151540A3 (en) * 2008-05-27 2010-05-27 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US7783764B2 (en) 2008-05-27 2010-08-24 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US8285862B2 (en) 2008-05-27 2012-10-09 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US8935412B2 (en) 2008-05-27 2015-01-13 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
WO2009149078A1 (en) * 2008-06-02 2009-12-10 Abb Technology Ag Method and apparatus for monitoring the performance of a power delivery control system
CN102112940A (en) * 2008-06-02 2011-06-29 Abb技术有限公司 Method and apparatus for monitoring performance of power delivery control system
CN107528879A (en) * 2017-07-06 2017-12-29 积成电子股份有限公司 Intelligent concentrator and data interactive method based on IEC62056 agreements
CN107528879B (en) * 2017-07-06 2020-09-25 积成电子股份有限公司 IEC62056 protocol-based data interaction method for intelligent concentrator
US11303468B2 (en) * 2018-05-17 2022-04-12 Sagemcom Energy & Telecom Sas Equipment adapted for being connected to an AMM system
CN112688844A (en) * 2020-12-11 2021-04-20 北京天融信网络安全技术有限公司 Communication control method, device, equipment and medium

Also Published As

Publication number Publication date
US6301527B1 (en) 2001-10-09
EP1137974A4 (en) 2005-11-30
CA2350522A1 (en) 2001-03-29
EP1137974A1 (en) 2001-10-04

Similar Documents

Publication Publication Date Title
US6301527B1 (en) Utilities communications architecture compliant power management control system
US6266713B1 (en) Field upgradeable dynamic data exchanger server
US6901299B1 (en) Man machine interface for power management control systems
US5862391A (en) Power management control system
US5768148A (en) Man machine interface for power management control systems
US5764155A (en) Dynamic data exchange server
US5897607A (en) Automatic meter reading system
Clarke et al. Practical modern SCADA protocols: DNP3, 60870.5 and related systems
US5579482A (en) Method and apparatus for storing interface information in a computer system
US6353861B1 (en) Method and apparatus for treating a logical programming expression as an event in an event-driven computer environment
US5978850A (en) System and method for accessing parameters in a fieldbus network using a tag parameters interface
US6112246A (en) System and method for accessing information from a remote device and providing the information to a client workstation
US6411987B1 (en) Industrial automation system and method having efficient network communication
US7262709B2 (en) System and method for efficient configuration in a fixed network automated meter reading system
US8769106B2 (en) Universal configurable device gateway
CA2354581C (en) Architecture layer interfacing devices and applications
US20020054096A1 (en) Man-machine interface for a custom tabular display
JP2003536131A (en) Service providers for providing data, applications and services to embedded devices and for easy control
GB2382439A (en) Internet-based communication system
US20030191793A1 (en) Task scheduling in an event driven environment
CN109445384B (en) Multi-device control system
US6493739B1 (en) Task scheduling in an event driven environment
Makhija et al. Comparison of protocols used in remote monitoring: DNP 3.0, IEC 870-5-101 & Modbus
MXPA01005210A (en) Utilities communications architecture compliant power management control system
MXPA01005211A (en) Field upgradeable dynamic data exchange server

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE BR CA GB KR MX

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

ENP Entry into the national phase

Ref document number: 2350522

Country of ref document: CA

Ref country code: CA

Ref document number: 2350522

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000965408

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 575797

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: PA/a/2001/005210

Country of ref document: MX

WWP Wipo information: published in national office

Ref document number: 2000965408

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000965408

Country of ref document: EP