A bridge is disclosed for providing a connection between a modbus plus network and an ethernet network. The bridge includes a modbus circuit board, an ethernet circuit board, and a cpu. The modbus circuit board is operably coupled to the local area network for receiving a message from an originating node having a five-byte routing path field. The cpu is operably connected to the circuit board for extracting a table location in response to a third byte within the routing path field. The ethernet circuit board is operably connected to the cpu and the ethernet network for forwarding the message to an ip destination in response to the table location.

Patent
   6434157
Priority
Oct 06 1998
Filed
Oct 06 1998
Issued
Aug 13 2002
Expiry
Oct 06 2018
Assg.orig
Entity
Large
42
61
all paid
24. A dynamically configurable bridge operably connected between an ethernet network host and a local area network, the bridge comprising:
a configuration destination index; and, an application responsive to a message received at the configuration destination index from the host; and,
a dynamic destination index utilized by the application for configuring the bridge for dynamic routing.
16. A method for providing a connection between a local area network and an ethernet network comprising the steps of:
receiving a message from a originating node on the local area network having a five-byte routing path field;
opening a path between the local area network and the ethernet network in response to a second byte within the routing path field;
extracting a table location in response to a second byte within the routing path field;
forwarding the message to an ip destination on the ethernet network in response to the table location; and,
mapping the embedded destination index byte to correspond with the destination node.
17. A method for providing a connection between a local area network and an ethernet network comprising the steps of:
receiving a message from a originating node on the local area network having a five-byte routing path field;
opening a path between the local area network and the ethernet network in response to a second byte within the routing path field;
extracting a table location in response to a second byte within the routing path field;
forwarding the message to an ip destination on the ethernet network in response to the table location; and,
receiving the message from the ethernet network and delivering the message to a destination node in response to a fourth byte within the routing path field.
22. A bridge for providing a connection between a modbus plus network and an ethernet network comprising:
a modbus plus circuit board operably coupled to the modbus plus network for receiving a message from an originating node; a cpu operably connected to the modbus circuit board for extracting a table location in response to the routing path field; and,
an ethernet circuit board operably connected to the cpu and the ethernet network for forwarding the message to an ip destination in response to the table location wherein the routing path field has five bytes, and the cpu extracts the table location in response to a third byte with the routing path field, the third byte having an address range of from 1 to 255.
15. A method for providing a connection between a local area network and an ethernet network comprising the steps of:
receiving a message from a originating node on the local area network having a five-byte routing path field;
opening a path between the local area network and the ethernet network in response to a second byte within the routing path field;
extracting a table location in response to a second byte within the routing path field;
forwarding the message to an ip destination on the ethernet network in response to the table location; and
receiving another message from the ethernet network, the message having an ip address and an embedded destination index byte, and delivering the message received from the ethernet network to a destination node on the local area network in response to the destination index byte.
1. A bridge for providing a connection between a local area network and an ethernet network comprising:
a local area network circuit board operably coupled to the local area network for receiving a message from an originating node having a routing path field;
a cpu operably connected to the circuit board for extracting a table location in response to the routing path field; and,
an ethernet circuit board operably connected to the cpu and the ethernet network for forwarding the message to an ip destination in response to the table wherein the ethernet circuit board receives a message from the ethernet network, the message having an ip address and an embedded destination index byte, and the local area network board delivering the message received from the ethernet network to a destination node on the local area network in response to the destination index byte.
7. A method for providing a connection between a local area network and an ethernet network comprising the steps of:
receiving a message from an originating node on the local area network having a five-byte routing path field;
opening a path between the local area network and the ethernet network in response to a second byte within the routing path field;
extracting a table location in response to the second byte within the routing path field;
forwarding the message to an ip destination on the ethernet network in response to the table location and a one byte destination identification within a header transmitted on the ethernet network;
receiving another message from the ethernet network, the message having an ip address and an embedded destination index byte; and
delivering the message received from the ethernet network to a destination node on the local area network in response to the destination index byte.
2. The bridge of claim 1, wherein the cpu provides for mapping the embedded destination index byte to correspond with the destination node.
3. The bridge of claim 1, wherein the ethernet circuit board is operably connected to another bridge for receiving the message and delivering the message to a destination node in response the routing path field.
4. The bridge of claim 1, wherein the cpu maintains at least two internal mapping tables between ip addresses and addresses of the local area network.
5. The bridge of claim 4, wherein a keyboard is operably connected to the cpu for configuring the mapping tables from a local keyboard.
6. The bridge of claim 4, wherein the cpu downloads the mapping tables from an ethernet host.
8. The method of claim 7, further including the step of mapping the embedded destination index byte to correspond with the destination node.
9. The method of claim 7, further including the steps of receiving the message from the ethernet network and delivering the message to a destination node in response to a fourth byte within the routing path field.
10. The method of claim 7, further including the step of loading a program onto a personal computer for extracting the table location in response to the second byte within the routing path field.
11. The method of claim 7, further including the step of maintaining at least two internal mapping tables between ip addresses and addresses of the local area network.
12. The method of claim 11, further including the step of configuring the mapping tables from a local keyboard.
13. The method of claim 12, further including the step of downloading the mapping tables from an ethernet host.
14. The method of claim 7, further including the step of closing the path between the local area network and the ethernet network.
18. The method of claim 15, further including the step of loading a program onto a personal computer for extracting the table location in response to the second byte within the routing path field.
19. The method of claim 17, further including the step of maintaining at least two internal mapping tables between ip addresses and addresses of the local area network.
20. The method of claim 19, further including the step of configuring the mapping tables from a local keyboard.
21. The method of claim 19, further including the step of downloading the mapping tables from an ethernet host.
23. The bridge of claim 25, wherein the ethernet circuit board is operably connected to another bridge for receiving the message and delivering the message to a destination node in response to a fourth byte within the routing path field.
25. The bridge of claim 24 further comprising the dynamic routing being host-based wherein the bridge can be configured by the host for simple addressing to the local area network.
26. The bridge of claim 24 further comprising the dynamic routing being socket-based wherein the bridge is capable of handling concurrent sessions from one or more hosts utilizing independent routing assignments.

The present invention relates to bridges for providing a connection between local area networks, and in particular to a bridge that provides a connection between a MODBUS Plus network and an Ethernet network.

Local area networks are widely used for communicating between data processing systems and peripherals such as, for example, those disclosed by U.S. patent application Ser. No. 09/036,565, filed Mar. 9, 1998, now U.S. Pat. No. 6,016, 523 and incorporated herein by reference, and German Patent No. DE 196 15 093 A1, filed Apr. 17, 1996, and also incorporated herein by reference.

As is well known by those skilled in the art, local area networks use at least one of many network protocols for passing data along the network. Such widely used network protocols include the MODBUS Plus Protocol and the Ethernet Transport Control Protocol/Internet Protocol (TCP/IP).

The MODBUS Application Protocol used for sending MODBUS messages over TCP/IP. The MODBUS Application Protocol (MBAP), is a layer-7 protocol providing peer-to-peer communication between Programmable Logic Controllers and other host-based nodes on a local area network. Collectively, these nodes implement all or part of a control application widely used for industrial applications in the automotive, tire and rubber, food and beverage, and utilities industries to name a few.

MODBUS protocol transactions are typical request-response message pairs. MODBUS requests contain function codes representing several classes of service including data access, online programming, and program download and upload classes. MODBUS responses can be acknowledgments with and without data, or non-acknowledgments with error information. The MODBUS protocol is described in a reference manual entitled MODBUS Protocol Reference Guide, publication PI-MBUS-300, incorporated herein by reference.

Because of the widespread use of MODBUS Plus and TCP/IP Ethernet networks, there is a need to have these networks communicate with each other. To the knowledge of the inventors, no bridges are available for facilitating such communication path(s). Accordingly, the present invention satisfies this need.

The inventive bridge disclosed herein provides a transparent multipath connection between Ethernet host applications and a MODBUS Plus industrial network. The bridge functions as an addressable node on each network, managing the Ethernet and MODBUS Plus protocols and translating messages between the network applications in both directions.

Ethernet hosts can establish connections to the bridge and send messages intended for MODBUS Plus nodes. The bridge accepts the messages, creates internal paths for the MODBUS Plus transactions, waits for the MODBUS Plus token frame, and forwards the messages to the destination nodes. It receives the data responses from the MODBUS Plus nodes, returns them to the Ethernet hosts, and closes the paths.

Messages sent to the bridge on either Ethernet or MODBUS Plus contain an embedded MODBUS message, consisting of a function code and additional information such as register addresses and data. The bridge uses the MODBUS function code to determine the type of internal path required for the transaction, and opens a path if one is available. If a path is not available, a MODBUS error code (exception code) is returned by the bridge to the requesting node.

The bridge provides MODBUS Data Master, Data Slave, Program Master and Program Slave paths as defined by the MODBUS function codes in the messages. In one embodiment, the bridge supports up to eight concurrent Data paths and eight concurrent Program paths. Moreover, the bridge supports full five-byte MODBUS Plus routing, enabling transactions through MODICON BP85 MODBUS Plus bridges to MODBUS Plus nodes on up to three networks beyond the Ethernet bridge.

The bridge maintains two internal mapping tables that provide address mapping between Internet Protocol addresses (i.e., 255.255.255.255) and MODBUS Plus path addresses (i.e., 64.64.64.64.64). The user can define the mapping at a local keyboard and monitor connection, using a configuration utility that is stored in the bridge. Mapping tables can also be downloaded by Hypertext Transfer Protocol (HTTP) from the Ethernet host to the bridge. If neither method is used, the bridge provides default mapping tables.

The user can assign the bridge's Internet Protocol (IP) address through a Bootstrap Protocol (BOOTP) server using the bridge's Media Access Control (MAC) address, or locally by means of the bridge's configuration utility. The bridge's MODBUS Plus address is assigned in hardware switches on the bridge's MODBUS Plus circuit board.

The bridge can be mounted on a vertical panel or horizontal shelf. Its rear panel has connectors for the networks and for operating power. Also, light emitting diode (LED) indicators are provided for power, Ethernet communication, and MODBUS Plus communication status.

FIG. 1 is a table summarizing the four possible types of MODBUS Plus paths supported by the present invention;

FIG. 2 is a block diagram of a bridge in accordance with the present invention connected between an Ethernet network and a MODBUS Plus network;

FIG. 3 is a table summarizing the MODBUS function codes which open Data Master and Data Slave paths;

FIG. 4 is a table summarizing the MODBUS exception codes that may be returned by the present invention to a node originating a message;

FIG. 5 is a simplified block diagram of the bridge of FIG. 2;

FIG. 6 is an elevated rear view of a bridge in accordance with the block diagram of FIG. 5 having a connector panel;

FIG. 7 is an elevated view of the connectors provided by the connector panel of FIG. 6;

FIG. 8 is a simplified perspective side view of an Ethernet circuit board within the bridge of FIG. 6;

FIG. 9 depicts a menu provided by the bridge of FIG. 5 upon execution of a configuration program;

FIG. 10 illustrates, for the bridge of FIG. 5, default MODBUS Plus routing paths for Destination Indexes;

FIG. 11 depicts an example of the bridge's default mapping with one custom entry made by a user;

FIG. 12 depicts a five-byte routing path field within a message received by the bridge of FIG. 5 from a MODBUS Plus node;

FIG. 13 shows the mapping of a message between two MODBUS Plus nodes via a pair of Ethernet bridges depicted in FIG. 5;

FIG. 14 illustrates an example of a typical default TCP mapping, with one custom routing entry made by the user;

FIG. 15 depicts a MODBUS Application Protocol Header having four field comprising a transaction ID, protocol type, message length, and destination ID.

While this invention is susceptible of embodiments in many different forms, there is shown in the drawings and will herein be described in detail preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated.

As known by those having skill in the art, two types of messages can be initiated to MODBUS Plus nodes using MODBUS commands. Programming messages are used for logging into a node and controlling it, as in load/record/verify operations. Data access messages are used to read or write data at the node, or to get statistics from the node.

When a message transaction is initiated, a logical path is established between the originating node and the destination node. The path is maintained until the transaction is completed. The type of path that is set in each device is determined by the MODBUS command embedded in the message.

FIG. 1 summarizes the four possible types of MODBUS Plus paths, wherein the present invention supports each type comprising: Data Master (DM), Data Slave (DS), Program Master (PM), and Program Slave (PS).

An embodiment of the present invention shown in FIG. 2 has been built that supports up to eight paths for each type of path shown in FIG. 1. In this embodiment, the maximum amount of concurrent TCP/IP connections available is between 8 and 16, depending on the usage of paths in host applications. For example, up to 16 data connections can be active between TCP/IP hosts and MODBUS Plus nodes (a maximum of 8 active DM paths and 8 active DS paths). Up to 16 programming paths can be active (8 PM and 8 PS).

If MODSOFT software is being used, it sets both a PM and a DM path in the bridge for each active connection it maintains to a MODBUS Plus destination node. MODSOFT could be running on a single host, or simultaneously on multiple hosts. Thus, up to eight TCP/IP connections can be maintained with Modsoft running on one to eight hosts.

FIG. 3 summarizes the MODBUS function codes which open DM and DS paths in the respective nodes. Devices which use the MODBUS protocol accept incoming requests for data or statistics. They reply by returning either a normal or an exception response. The MODBUS function code in the request from an originating node always contains a most significant bit value of 0 (zero). In a normal MODBUS response, the function code of the originating request is echoed followed by any requested data or statistics. In an exception response, the most significant bit is set to 1 (one) to indicate an error, and the next byte contains an exception code showing the reason for the error.

FIG. 4 summarizes the MODBUS exception codes which may be returned by the bridge to the originating node.

Turning to FIGS. 5-8, bridge 10 includes a housing 12 enclosing a power supply 14 and a board set including a MODBUS circuit board 16, an Ethernet circuit board 18, a Central Processing Unit (CPU) circuit board 20 with memory, and a backplane 22.

The bridge housing 12 preferably consists of sheet metal and is wall mountable. The circuit boards are mounted within the bridge 10 in IBM style board guides (not shown). All connectors are mounted to the side of the housing. They include three Ethernet 10 BASE connectors, two MODBUS Plus connectors, a keyboard plug, a video plug, a mouse plug, and a power cord plug.

The above listed circuit boards for the bridge 10 preferably consist of off the shelf components. In an embodiment, the CPU circuit board 20 preferably contains a 486DX 100 Mhz CPU, or better, on board keyboard interface, and a local VGA display controller (MB display memory). In addition, the Ethernet circuit board 18 consists of a standard ISA bus Ethernet board with a 10 BASE T unshielded connector to provide Ethernet connectivity. Moreover, the Modbus Plus circuit board 16 consists of a SA85-002 board by Schneider Automation Incorporated. Further, power for the boards is supplied by an open frame 60 watt single output switching power supply 14.

In an alternative embodiment, the bridge 10 consists of a conventional personal computer having an Ethernet circuit board and a MODBUS Plus circuit board operably attached thereto.

The MODBUS Plus node address for the Modbus circuit board 16 preferably is set before installing the bridge 10 on the networks. The address is set by switches (not shown) on the MODBUS Plus circuit board 16. The MODBUS Plus node should have a unique address on the network with a default address of 1, but can be set from 1 to 64.

Likewise, the type of physical connection used to connect the bridge to the Ethernet should be set. The type of physical connection is set by internal Ethernet connector jumper JP2 on the Ethernet circuit board 18 to define the type of physical connection. Preferably, as stated above, the bridge 10 provides three connectors comprising: connector 22 for an IEEE 802.3 10Base-T unshielded twisted pair cable (UTP RJ45); connector 24 for an IEEE 802.3 10Base-5 thick cable (AI DB-155); and connector 26 for an IEEE 802.3 10Base-2 thin cable (BNC). Likewise, the jumper JP2 has two positions wherein the first position enables both the RJ-45 and the BNC connectors 22, 26 and the second position enables the AUI connector 24.

If the bridge 10 is being installed at a site that must meet CE requirements, and the 10Base-T (RJ-45) connector 22 is being used, a ferrite bead should be installed on the Ethernet cable at the RJ-45 connector. For example, ferrite bead part number 28A2029-0A0 from Steward in Livingston, Scotland, UK.

The bridge 10 can be physically installed on a vertical wall panel or a horizontal shelf using conventional mounting brackets. However, clearance should be provided for ventilation and access to the bridge's rear panel connectors and indicators.

The power supply 14 is connected to a power input providing either about 110 or 220 V ac. When the power supply 14 is enabled to supply power to the board set within the bridge housing 12 by toggling switch 30, light emitting diode 32 (LED) is illuminated to show that power is applied to the bridge 10.

Ethernet and MODBUS LEDs are also provided for verifying the operation of the bridge 10. In particular, the Ethernet board 18 has an indicator 34 for showing a valid connection between the board's RJ-45 (UTP) jack and the network. The Ethernet board also has another indicator 36 that flashes to show the bridge's communication activity on the Ethernet link.

Likewise, the MODBUS Plus board 16 has an indicator 38 that flashes a repetitive pattern to show its network communication status, plus two indicators 40, 42 which identify communication errors on the two MODBUS Plus cable paths. As such, one error indicator is lit normally in single-cable installations, showing that a second cable does not exist.

Loaded into the memory of the bridge CPU circuit board 20 is application software. Also, a host software storage media such as a diskette or compact disk (CD) can be provided containing files for managing the bridge application from a remote host Personal Computer.

The files loaded into the bridge 10 preferably include the following files: COMMAND.COM for DOS command interpretation; AUTOEXEC.BAT for bridge initialization at startup; CONFIG.SYS also for bridge initialization at startup; GATELOOP.BAT for running the bridge application; SGATE.EXE containing the bridge application program; BDREST.EXE for initializing the MODBUS Plus board; MBPHOST.SYS containing the driver for the MODBUS board; CFGUTIL.EXE for configuring the bridge IP setup, MODBUS Plus and TCP mapping; CFGUTIL.HLP for providing a help screen for CFGUTIL.EXE; MBPSTAT.EXE containing diagnostic tools for the MODBUS Plus network connection; PING.EXE containing diagnostic tools for the Ethernet network connection; TCPINFO.EXE containing diagnostic tools for Bootstrap sever communication; WATTCP.CFG containing the bridge's IP setup and network parameters; and PNPPD.COM containing the Ethernet packet driver.

Moreover, the host software media preferably contains: the above-mentioned CFGUTIL.EXE and CFGUTIL.HLP files in addition to a file entitled DWNLD.EXE comprising a download program for the host, and a README file containing text with current release information and application notes.

The CFGUTIL.EXE file configures and writes ASCII text files that records the bridge's current configuration and network mapping. The ASCII files are retained in the bridge memory and referenced for configuration on subsequent startups. These files also can be uploaded and stored in the host for restoring the bridge's configuration if needed.

On power-up of the bridge 10, the software is executed in a preferred sequence wherein: CONFIG.SYS loads the MODBUS Plus driver MBPHOST.SYS; AUTOEXEC.BAT calls GATELOOP.BAT; GATELOOP.BAT executes BDRESET.EXE, initializing the MODBUS Plus board; GATELOOP.BAT executes the Ethernet driver program PNPPD.COM; and GATELOOP.BAT executes the bridge application program SGATE.EXE.

Preferably, the bridge 10 is configured either by using a Bootstrap server or the CFGUTIL program. If a Bootstrap sever is used, the server should be configured to recognize the bridge 10 by using the Media Access Control (MAC) address of the bridge. As such, the Bootstrap server associates the bridge's MAC address with a unique IP address assigned to the bridge. When the bridge 10 is initially powered up, it preferably attempts for 30 seconds to connect to the Bootstrap server. If the server is found, the bridge 10 automatically configures for the Ethernet connection. However, mappings between Ethernet and MODBUS Plus devices must be manually entered as described in detail later herein, or a host file can be created and downloaded for centralized mapping.

As stated above, if a Bootstrap server is not used, preferably the CFGUTIL program is used to configure the bridge 10 along with the keyboard 46, mouse 48, and VGA monitor 50 operably attached thereto. The menu shown in FIG. 9 is provided on the display of the monitor 50 by execution of the CFGUTIL program. The menu 52 provides five fields preferably comprising: Internet Protocol (IP) Address 54; Net Mask 56; Name Server 58, Gateway 60, Domain 62, and Idle Timeout 64.

In the preferred embodiment, the IP address and the Net Mask fields 54,56 are required for the bridge 10 to function properly. Further, the Name Server 58, Gateway 60, Domain 62 and Idle Timeout 64 are either optional or required, according to the desired application.

The bridge 10 provides an Idle Timeout default value of 300 seconds (5 minutes). This value specifies the amount of time the bridge 10 maintains Data Master and Data Slave paths open without active data transfers. If this time elapses, all Data paths are closed. The default value can be retained or a new one entered.

The bridge 10 also uses the MODBUS Plus and Transport Control Protocol mappings 66 and 68 located in the center of the menu 52, to forward messages between the networks. In particular, the mappings 66,68 define the routing destinations for messages received by the bridge 10 on one network and passed through it to destinations on the other network.

The bridge 10 uses mapped routing for TCP/IP to MODBUS Plus transfers and dynamic message routing for messages initiated from TCP/IP hosts.

Each MODBUS Plus message destination is defined by a five-byte MODBUS Plus routing path. The use of the path is specific to each type of MODBUS Plus device. Messages received by the bridge 10 from Ethernet host nodes contain an embedded Destination Index byte in the range 1 . . . 255 decimal. This byte corresponds to the dest_idx field in messages constructed by MODICON panel software such as CONCEPT and MODSOFT.

In mapped routing, the bridge uses Destination Indexes 1 . . . 249 to map messages from the TCP/IP node to a MODBUS destination node. The bridge maps Destination Indexes in this range to one of 249 possible MODBUS Plus routing paths. Each Destination Index value maps to a location in a MODBUS Plus mapping table, which contains a five-byte MODBUS Plus routing path to the destination node. Accordingly, the bridge 10 configuration includes entries made into the bridge's mapping table to correlate the Destination Indexes with routing paths for MODBUS Plus nodes in a given application.

Destination Indexes 0 and 254 are used for dynamic routing of messages by the bridge. Dynamic routing preferably applies to messages initiated from TCP/IP hosts, and requires the host to configure the bridge (to destination Index 255). In an embodiment, Destination Index 0 applies to host-based routing and Destination Index 254 applies to socket-based routing.

In host-based routing, a MODBUS Plus routing path is available in the bridge at index location 0 for runtime use by TCP/IP. When the hosts configures a path in the bridge, any message from that host addressed to index 0 is routed to that MODBUS Plus path. The bridge maintains a cache of up to 10 associations between TCP/IP hosts and MODBUS Plus paths. This routing option allows the bridge to be configured for simple addressing to MODBUS Plus from TCP/IP nodes which do not support gateway routing.

In socket-based routing, a MODBUS Plus routing path is available in the bridge preferably at index location 254 for the current TCP/IP host connection only. The bridge maintains one socket connection at that index location for each of its eight Program and eight Data paths. This routing option allows the bridge to handle concurrent sessions from one TCP/IP host, or from multiple hosts, using independent routing assignments. It provides flexibility for an application to manage routing dynamically, in addition to the bridge's fixed mapping table.

Destination Index 255 relates to commanding the bridge 10. Messages received by the bridge 10 addressed to Destination Index 255 cause the bridge to execute an internal operation. This index is used to configure the bridge 10 for dynamic routing, or to invoke an upload or download operation between the host and bridge.

During the design of a user application, a Destination Index value (1 . . . 249) should be defined for each MODBUS Plus node that the Ethernet host originates messages to. This is accomplished by editing the bridge's mapping table to correlate each Destination Index value to the five-byte routing path of the intended MODBUS Plus node.

The MODBUS Plus Mapping table 66 contains 249 fields, labeled MBP_1 through MBP_249. These fields define MODBUS Plus routing paths for messages from TCP/IP hosts which contain Destination Indexes 1 through 249 decimal.

The default MODBUS Plus routing paths for Destination Indexes is shown in FIG. 10. For example, the default entry in field MBP_1 specifies that TCP/IP messages intended for dest_idx value 1 are routed to MODBUS Plus node 1 on the local MODBUS Plus network (the same network that contains the bridge).

FIG. 11 depicts an example of the bridge's default mapping, with one custom entry made by a user. In FIG. 11, entry MBP_3 shows an example of custom routing to the MODBUS Plus path 35.10.0.0.0. In this example, incoming TCP/IP messages containing dest_idx value 3 will cause the bridge to index into table location 3, and to use these contents for routing the message to MODBUS Plus. Messages will be routed through a Bridge Plus node at address 35 on the local MODBUS Plus network, and forwarded to a destination node at address 10 on a second network.

The bridge 10 also uses mapping for MODBUS Plus to TCP/IP transfers. The bridge contains an internal MODBUS Plus to TCP mapping table 68 with 255 entry fields, each containing an IP address. Each message received by the bridge 10 from a MODBUS Plus node contains a five-byte routing path field 70 as shown in FIG. 12.

The first byte 72 in a message 70 initiated from a MODBUS Plus node to the bridge 10 addresses the bridge. The second byte 74 opens a path within the bridge.

The third byte 76 corresponds to the dest_idx field in MODBUS commands. This byte indexes the bridge's Transport Control Protocol Mapping table 68. The bridge 10 extracts the IP address at that table location and forwards the message to the IP destination.

The fourth byte 78 allows the Ethernet network to operate as a link between two or more bridges and their respective MODBUS Plus networks. If the IP destination (from the byte 3 table index) is not another bridge, the fourth byte is not used.

If the IP destination is another bridge, that bridge uses the fourth byte to index into its MODBUS Plus Mapping table. It extracts a MODBUS Plus routing path from the table and forwards the message to a destination node on its own MODBUS Plus network. FIG. 13 shows an example of the mapping of a message between two MODBUS Plus nodes through a pair of Ethernet bridges.

First, with respect to FIG. 13, a message is originated. In particular, a MODBUS Plus node 76 originates the message with the five-byte MODBUS Plus path 25.8.17.33.0. The message is addressed to bridge 10 at node address twenty five ("25"), specified in the first routing byte 72. Bridge 10 (node "25") receives the message and opens its internal path eight ("8"), as specified in the second routing byte 74.

Next, bridge 10 (node "25") maps the message to TCP/IP. Bridge 10 (node "25") indexes into its TCP Mapping table 68 at location TCP_17, specified by the third routing byte 76. Location seventeen ("17") contains the IP address 205.167.8.10. The bridge 10 forwards the message to this IP address, a second bridge 110 that is identical in construction to bridge 10.

Bridge 110 maps the message to MODBUS Plus. Bridge 110 receives the message and indexes into its MODBUS Plus Mapping table 66 at location MBP_33, specified by the fourth byte 68 of routing in the original message which is transmitted by Bridge 10 across the Ethernet as the destination ID in the MODBUS Application Protocol Header. As shown in FIG. 15, the seven byte MODBUS Application Protocol Header 78 has four fields comprising, respectively, a two byte transaction ID 80, a two byte protocol type 82, a two byte message length 84, and a one byte destination ID 86.

Turning back to FIG. 13, location thirty-three ("33") contains the MODBUS Plus routing path 12.0.0.0.0 to a node on the MODBUS Plus network at Bridge 110.

Lastly, the message is delivered. The message is delivered to the destination, node "12," on the MODBUS Plus network. The node acts upon the MODBUS command embedded in the message.

As stated previously, each message from a MODBUS Plus node contains a five-byte routing path field 70. The bridge 10 uses the third byte 76 to index into its TCP Mapping table 68, extracting an IP address from that entry.

If desired, the table 68 to map the MODBUS Plus routing path's third byte 76 can be edited to specific IP addresses. The TCP Mapping table 68 contains 255 fields, labeled TCP_1 through TCP_255. These fields define IP addresses for messages (from MODBUS Plus nodes) which contain 1 through 255 decimal in the third byte 76 of the MODBUS Plus message routing path.

By default, the bridge 10 automatically sets the first three byes of each IP address to match the first three bytes of the bridge's Internet Protocol address. The bridge sets the fourth byte of the Internet Protocol address mapping to the range 1 . . . 255. For example, if the bridge's IP address 54 is user configured as 205.167.7.65, then the TCP Mapping table's 255 locations automatically default to: TCP_1:205.167.7.1, TCP_2:205. 167.7.2 . . . and,TCP_255: 205.167.7.255

FIG. 14 illustrates an example of typical default Transport Control Protocol mapping, with one custom routing entry made by the user at location TCP_10. Accordingly, the location TCP_10 is indexed by the bridge 10 when it receives a message from a MODBUS Plus node with contents 10 in the MODBUS Plus routing path third byte 76. The bridge 10 extracts the Internet Protocol address 205.167.99.99 at the table location, and routes the message to that IP address.

The present application is being filed contemporaneously with a U.S. patent application Ser. No. 09/166,870, both of which are, or will be, assigned to Schneider Automation, where the other application is incorporated herein by reference to the extent necessary for the understanding of the present invention.

While the specific embodiments have been illustrated and described, numerous modifications come to mind without significantly departing from the spirit of the invention and the scope of protection is only limited by the scope of the accompanying claims.

Swales, Andrew G., Dube', Denis W., Davies, Cynthia

Patent Priority Assignee Title
10271381, May 22 2017 Honeywell International Inc. Legacy Modbus communication devices
10855367, Oct 02 2017 Fisher Controls International LLC Methods and apparatus to bridge communications between devices using low-energy devices
11115927, Oct 02 2017 Fisher Controls International LLC Methods and apparatus to control communication data rates of low-energy devices
11750281, Oct 02 2017 Fisher Controls International LLC Methods and apparatus to bridge communications between devices using low-energy devices
6721275, May 03 1999 Hewlett Packard Enterprise Development LP Bridged network stations location revision
6842454, Mar 14 2001 Schneider Automation Inc. Method and system for device addressing on a computer network
6853867, Dec 30 1998 SCHNEIDER AUTOMATION INC Interface to a programmable logic controller
7023795, Nov 07 2000 SHNEIDER AUTOMATION INC Method and apparatus for an active standby control system on a network
7028204, Sep 06 2000 SCHNEIDER AUTOMATION, INC ; SCHNEIDER AUTOMATION, INC C O SQUARE D COMPANY Method and apparatus for ethernet prioritized device clock synchronization
7051143, Jun 25 2001 SCHNEIDER AUTOMATION, INC C O SQUARE D COMPANY Method, system and program for the transmission of modbus messages between networks
7146408, May 30 1996 SCHNEIDER AUTOMATION INC Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller
7162510, Mar 16 1998 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
7213061, Apr 29 1999 HARMAN PROFESSIONAL, INC Internet control system and method
7224366, Aug 28 2003 HARMAN PROFESSIONAL, INC Method and system for control system software
7246193, Jan 30 2003 ROSEMOUNT, INC Interface module for use with a Modbus device network and a Fieldbus device network
7246194, Jan 30 2003 ROSEMOUNT, INC Interface module for use with a fieldbus device network and with internet and non-internet based process control networks
7426702, Jun 08 1999 HARMAN PROFESSIONAL, INC System and method for multimedia display
7533311, Oct 29 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Programmable management IO pads for an integrated circuit
7574512, Apr 15 2004 Schneider Automation SAS MODBUS encapsulated transport interface
7590702, Oct 06 1998 Schneider Automation Inc. Messaging application layer over ethernet to transport layer (TCP) communications method and apparatus for a modular terminal input/output system
7664888, Oct 29 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Multipurpose and programmable pad ring for an integrated circuit
7673030, Apr 29 1999 HARMAN PROFESSIONAL, INC Internet control system communication protocol, method and computer program
7693581, May 31 2005 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
7706895, Feb 25 2005 Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC Reliable messaging instruction
7761460, Feb 04 2004 Rockwell Automation Technologies, Inc. Systems and methods that utilize a standard database interface to access data within an industrial device
7865251, Jan 28 2003 Fisher-Rosemount Systems, Inc Method for intercontroller communications in a safety instrumented system or a process control system
8001286, Oct 29 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Multipurpose and programmable pad for an integrated circuit
8086762, Oct 29 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Programmable management IO pads for an integrated circuit
8214532, Apr 27 2004 Rockwell Automation Technologies, Inc. Communication protocol bridge and controller method and system
8291121, Sep 10 1997 SCHNEIDER AUTOMATION, INC C O SQUARE D COMPANY System and method for interfacing with a controller
8402101, Feb 25 2005 Rockwell Automation Technologies, Inc. Reliable messaging instruction
8423695, Jan 19 2005 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Dual PCI-X/PCI-E card
8510402, Aug 20 2008 Schneider Automation Inc. Management of redundant addresses in standby systems
8572224, Apr 29 1999 HARMAN PROFESSIONAL, INC Internet control system communication protocol, method and computer program
8738748, Jun 03 2010 Microsoft Technology Licensing, LLC Metadata driven automatic deployment of distributed server systems
8761196, Sep 29 2006 Fisher-Rosemount Systems, Inc Flexible input/output devices for use in process control systems
8993943, Oct 20 2010 TRUMPF HUETTINGER GMBH + CO KG Systems for operating multiple plasma and/or induction heating systems and related methods
9063739, Sep 07 2005 Open Invention Network, LLC Method and computer program for device configuration
9411769, Sep 19 2006 Fisher-Rosemount Systems, Inc Apparatus and methods to communicatively couple field devices to controllers in a process control system
9495313, Sep 19 2006 Fisher-Rosemount Systems, Inc. Apparatus and methods to communicatively couple field devices to controllers in a process control system system
9503006, Oct 20 2010 TRUMPF HUETTINGER GMBH + CO KG Plasma and induction heating power supply systems and related methods
9973598, Sep 03 2015 LSIS CO., LTD. Communications device supporting dynamic modbus protocol mapping
Patent Priority Assignee Title
3971000, Feb 24 1972 The Foxboro Company Computer-directed process control system with interactive display functions
4319338, Dec 12 1979 Allen-Bradley Company Industrial communications network with mastership determined by need
4688167, Sep 27 1984 CHIPS & TECHNOLOGIES, INC Screen manager for data processing system
4845644, Jun 16 1986 INTERNATONAL BUSINESS MACHINES CORPORATION Data display system
4858152, Jan 23 1987 RARITAN COMPUTER, INC Operator access to monitoring applications
4897777, Apr 11 1988 SCHNEIDER AUTOMATION INC Peer-to-peer register exchange controller for PLCS
4912623, Apr 11 1988 SCHNEIDER AUTOMATION INC Multiple processor communications system
4937777, Oct 07 1987 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
4949274, May 22 1987 Omega Engineering, Inc. Test meters
4953074, Jul 08 1987 Hitachi, Ltd. Function-distributed control apparatus
4992926, Apr 11 1988 SCHNEIDER AUTOMATION INC Peer-to-peer register exchange controller for industrial programmable controllers
5012402, Dec 17 1987 Murata Kikai Kabushiki Kaisha System for modifying a machine's program at a remote location
5023770, Apr 11 1988 SQUARE D COMPANY, A MI CORP High-speed press control system
5047959, Sep 13 1988 SQUARE D COMPANY, A CORP OF MI Flexible data display
5072356, Apr 11 1988 Square D Company Ladder drum sequence controller
5072412, Mar 25 1987 Technology Licensing Corporation User interface with multiple workspaces for sharing display system objects
5109487, Oct 21 1987 Hitachi, Ltd.; Hitachi Computer Consultant Ltd. System and method for distributed data processing utilizing distributed display format
5122948, Jun 28 1990 Allen-Bradley Company, Inc. Remote terminal industrial control communication system
5131092, Sep 01 1989 SCHNEIDER AUTOMATION INC Communication system enabling programmable logic controllers access to host computer tasks and host computer access to programmable logic controllers without polling
5134574, Feb 27 1990 INVENSYS SYSTEMS INC FORMERLY KNOWN AS THE FOXBORO COMPANY ; Invensys Systems, Inc Performance control apparatus and method in a processing plant
5151896, Sep 21 1990 V Band Corporation Modular digital telephone system with fully distributed local switching and control
5151978, Mar 22 1990 SCHNEIDER AUTOMATION INC LAN interface which permits a host computer to obtain data without interrupting a ladder program executing in the interface
5157595, Jul 19 1985 El Paso Technologies, Company Distributed logic control system and method
5159673, Mar 22 1990 SCHNEIDER AUTOMATION INC Apparatus for networking programmable logic controllers to host computers
5161211, Oct 19 1988 Hitachi, Ltd. Method and system of specification processing
5165030, Mar 10 1989 International Business Machines Corporation Method and system for dynamic creation of data stream based upon system parameters and operator selections
5179700, Jul 19 1989 International Business Machines Corporation User interface customization apparatus
5225974, Oct 30 1990 Allen-Bradley Company, Inc. Programmable controller processor with an intelligent functional module interface
5245704, Mar 22 1990 SCHNEIDER AUTOMATION INC System for sharing data between microprocessor based devices
5251302, Apr 11 1988 SCHNEIDER AUTOMATION INC Network interface board having memory mapped mailbox registers including alarm registers for storing prioritized alarm messages from programmable logic controllers
5283861, Aug 31 1990 INTERNATIONAL BUSINESS MACHINES CORPORATION, A CORP OF NEW YORK Remote control of a local processor console
5297257, Apr 15 1991 Allen-Bradley Company, Inc. Distributing a real-time control program to a plurality of input/output nodes
5307463, Mar 08 1990 Allen-Bradley Company, Inc. Programmable controller communication module
5321829, Jul 20 1990 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
5349675, Sep 04 1990 International Business Machines Corporation System for directly displaying remote screen information and providing simulated keyboard input by exchanging high level commands
5398336, Oct 16 1990 Consilium, Inc. Object-oriented architecture for factory floor management
5406473, Mar 24 1990 Toyota Jidosha Kabushiki Kaisha Programmable controller
5420977, Oct 24 1990 Vanderbilt University; Osaka Gas Co., Ltd. Multiple aspect operator interface for displaying fault diagnostics results in intelligent process control systems
5440699, Jun 24 1991 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P System by which a remote computer receives screen images from and transmits commands to a host computer
5446868, Sep 11 1992 R. J. Reynolds Tobacco Company Network bridge method and apparatus
5528503, Apr 30 1993 Texas Instruments Incoporated; Texas Instruments Incorporated Integrated automation development system and method
5598536, Aug 09 1994 Dialogic Corporation Apparatus and method for providing remote users with the same unique IP address upon each network access
5613115, Dec 09 1991 Total Control Products, Inc. Method for using PLC programming information to generate secondary functions such as diagnostics and operator interface
5623652, Jul 25 1994 Apple Inc Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
5625781, Oct 31 1995 International Business Machines Corporation Itinerary list for interfaces
5699350, Oct 06 1995 Canon Kabushiki Kaisha Reconfiguration of protocol stacks and/or frame type assignments in a network interface device
5734831, Apr 26 1996 Sun Microsystems, Inc. System for configuring and remotely administering a unix computer over a network
5805442, May 30 1996 SCHNEIDER AUTOMATION INC Distributed interface architecture for programmable industrial control systems
5805816, May 12 1992 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Network packet switch using shared memory for repeating and bridging packets at media rate
5862391, Apr 03 1996 General Electric Company Power management control system
5950006, Nov 05 1997 Control Technology Corporation Object-oriented programmable controller
5975737, May 30 1996 SCHNEIDER AUTOMATION INC Distributed interface architecture for programmable industrial control systems
5982362, May 30 1996 SCHNEIDER AUTOMATION INC Video interface architecture for programmable industrial control systems
5997167, May 01 1997 Control Technology Corporation Programmable controller including diagnostic and simulation facilities
DE19615093,
DE29600609,
DE4410171,
EP542657,
EP814393,
WO9718636,
WO9853581,
////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 06 1998Schneider Automation, Inc.(assignment on the face of the patent)
Nov 03 1998DUBE , DENNISSCHNEIDER AUTOMATION, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0096690842 pdf
Nov 03 1998SWALES, ANDREW G SCHNEIDER AUTOMATION, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0096690842 pdf
Nov 03 1998DAVIES, CYNTHIASCHNEIDER AUTOMATION, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0096690842 pdf
Date Maintenance Fee Events
Feb 13 2006M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Feb 15 2010M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Feb 13 2014M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Aug 13 20054 years fee payment window open
Feb 13 20066 months grace period start (w surcharge)
Aug 13 2006patent expiry (for year 4)
Aug 13 20082 years to revive unintentionally abandoned end. (for year 4)
Aug 13 20098 years fee payment window open
Feb 13 20106 months grace period start (w surcharge)
Aug 13 2010patent expiry (for year 8)
Aug 13 20122 years to revive unintentionally abandoned end. (for year 8)
Aug 13 201312 years fee payment window open
Feb 13 20146 months grace period start (w surcharge)
Aug 13 2014patent expiry (for year 12)
Aug 13 20162 years to revive unintentionally abandoned end. (for year 12)