|
Claims  |
|
|
We claim:
1. A method for providing delayed start-up of an activity monitor in a
distributed I/O system, the distributed I/O system comprising a computer,
at least one module bank coupled to the computer, and a network bus
coupled between the computer and the at least one module bank, the module
bank including a communication module, one or more I/O modules, and a
local bus, wherein the local bus couples the communication module with the
one or more I/O modules, the method comprising:
the computer sending a monitor enable command to enable activity timer
monitoring by the communication module;
the communication module receiving the monitor enable command, wherein the
communication module does not begin the timer in response to receiving the
monitor enable command;
the communication module detecting subsequent network traffic on the
network bus after said receiving the monitor enable command;
the communication module starting the activity timer in response to said
detecting subsequent network traffic on the network bus and in response to
having received the monitor enable command.
2. The method of claim 1, further comprising:
detecting a period of inactivity on the network bus which exceeds a
threshold after said starting the activity timer;
reading configuration values from a memory in response to detecting said
period of inactivity on the network bus which exceeds said threshold;
writing said configuration values to the one or more I/O modules after said
reading.
3. The method of claim 2, wherein said detecting a period of inactivity on
the network bus indicates a communication failure condition.
4. The method of claim 1, wherein each of said one or more I/O modules
includes one or more channels, wherein said memory stores a database
including configuration values for one or more channels of a selected one
or more I/O modules;
wherein said reading configuration values comprises reading said
configuration values for said one or more channels of said selected one or
more I/O modules.
5. The method of claim 1, wherein, in response to receiving the monitor
enable command, the communication module waits for said subsequent network
traffic before starting the activity timer.
6. The method of claim 1,
starting an application program in the computer after said sending a
monitor enable command to enable activity timer monitoring by the
communication module;
the application program loading;
the application program generating said subsequent bus activity on the
network bus after the application program loading.
7. The method of claim 6, wherein, in response to receiving the monitor
enable command, the communication module waits for said subsequent network
traffic before starting the activity timer;
wherein the communication module waits during the application program
loading.
8. A distributed I/O system which provides user-defined configuration
values to a module bank in case of a communication failure condition, the
distributed I/O system comprising:
a computer system, wherein the computer is configured to generate a monitor
enable command;
a network bus coupled to the computer system;
a module bank coupled to the network bus, wherein the module bank includes
a communication module coupled to the network bus, and one or more I/O
modules coupled to said communication module, wherein said communication
module includes:
non-volatile memory configured to store said user-defined configuration
values;
signal detection logic configured to detect a first occurrence of signal
activity on said network bus in response to said monitor enable command
received from said computer system;
an activity timer configured to measure the time duration of periods of
signal inactivity on said network bus, wherein said activity timer is
started in response to said first occurrence of signal activity detected
by said signal detection logic after receipt of said monitor enable
command from said computer system, wherein said activity timer is
configured to assert the communication failure condition in response to a
period of signal inactivity which persists for longer than a pre-defined
timeout value.
9. The distributed I/O system of claim 8, wherein said computer system is
configured to send said monitor enable command to said communication
module in response to first user input.
10. The distributed I/O system of claim 9, wherein said computer is
operable to set said timeout value by sending a timeout modification
command to said communication module in response to second user input.
11. The distributed I/O system of claim 8,
wherein said communication module is configured to read said user-defined
configuration values from said non-volatile memory in response to said
communication failure condition;
wherein said communication module is operable to configure said one or more
I/O modules with said user-defined configuration values in response to
reading said user-defined configuration values.
12. The distributed I/O system of claim 11, wherein each of said one or
more I/O modules includes one or more channels, wherein said user-defined
configuration values contains configuration settings for selected ones of
said one or more I/O modules, and selected ones of said one or more
channels of said selected I/O modules.
13. The monitor system of claim 12, wherein said non-volatile memory stores
a plurality of module enable flags and a plurality of channel enable flags
for selecting one or more I/O modules and one or more channels for
configuration updating in response to the communication failure condition.
14. A method for providing delayed start-up of an activity monitor in a
distributed I/O system, the distributed I/O system comprising a computer,
at least one module bank coupled to the computer, and a network bus
coupled between the computer and the at least one module bank, the module
bank including a communication module, one or more I/O modules, and a
local bus, wherein the local bus couples the communication module with the
one or more I/O modules, the method comprising:
the computer sending a monitor enable command to enable activity timer
monitoring by the communication module;
the communication module receiving the monitor enable command, wherein the
communication module does not begin the timer in response to receiving the
monitor enable command;
the communication module detecting network traffic on the network bus in
response to the communication module receiving the monitor enable command;
the communication module enabling the activity timer in response to said
detecting network traffic on the network bus;
detecting a period of inactivity on the network bus which exceeds a
threshold after said enabling the activity timer;
reading configuration values from a memory in response to detecting said
period of inactivity on the network bus which exceeds said threshold;
writing said configuration values to the one or more I/O modules after said
reading. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to the field of distributed I/O systems, and
more particularly, to a modular networked I/O system including a host
computer and one or more module banks coupled via a network bus.
DESCRIPTION OF THE RELATED ART
In order to more efficiently and effectively address the problems
associated with distributed sensing and control, providers of I/O devices
and systems have evolved toward solutions which adhere to a common set of
principles which include modularity, ease of configuration, and network
operability.
For example, the 1794 Flex I/O product line manufactured by Allen-Bradley,
a Rockwell Automation Business, comprises a modular I/O system for
distributed applications. For more information concerning the Flex I/O
product line refer to the Flex I/O Product Data Publication 1794-2.1 which
is hereby incorporated by reference.
Another example is offered by the OpenLine.TM. product line manufactured by
Grayhill, Inc. The OpenLine.TM. I/O system is a modular distributed
control and data acquisition system. For more information concerning the
OpenLine.TM. family of products refer to the OpenLine Product Data
Bulletin #738 which is hereby incorporated by reference.
Prior art modular distributed I/O systems typically include a host computer
coupled to one or more module banks through a network bus. The host
computer sends command and configuration information to the module banks,
and receives sensor data and status information from the module banks
through the network bus. Each module bank generally includes a
communication module, a plurality of terminal bases, and a plurality of
I/O modules. The terminal bases couple together to form a communications
backplane. The communication module generally couples to the first
terminal base of the succession of terminal bases. The I/O modules are
interchangably inserted into terminal bases. Each terminal base includes a
host of connectors which provide the corresponding I/O module with
connectivity to field devices. The communication module mediates
communications between the network bus and the I/O modules comprising a
module bank. The I/O modules occur in a variety of types for performing
analog and/or digital I/O operations.
As mentioned above, the host computer sends configuration information to an
I/O module in order to customize the functionality of the I/O module.
However, a fundamental problem associated with the prior art distributed
I/O systems is that this configuration information programmed into an I/O
module is lost when the I/O module is removed from its terminal base. The
time and effort expended in tuning the I/O module's configuration is
wasted. Thus, a need exists for a modular distributed I/O system with the
capacity to more adequately maintain I/O module configuration even during
the physical absence of the I/O module from its terminal base.
In addition to the physical removal of an I/O module, configuration
information may be lost in response to the loss of power to the I/O
module. Thus, it would be very desirable to provide a method for (a)
capturing the configuration state of an I/O module, and (b) restoring the
captured configuration state to the I/O module, or to another I/O module
of similar type, after a power-loss event.
Another issue of concern in modular distributed I/O systems, and in
networked systems in general, is to provide mechanisms for safely and
reliably responding to failures in network bus communications. To this
end, it is desirable to provide within each communication module an
activity monitor for sensing communication failure conditions on the
network bus. Furthermore, since the distributed I/O system is controlled
by a software application which runs on the host computer, there may be a
period of network bus inactivity during the initial start-up phase while
the host computer loads the software application. It is desirable that the
activity monitors within the communication modules not interpret this
initial period of network bus activity as a communication failure
condition.
The primary function of the communication module is to mediate
communications between the network bus and the local bus formed by the
adjoined terminal bases. In order to maximize the communication capacity
over the local bus, it is necessary for the local bus architecture to be
optimized. In particular, since an I/O module may be interchangably
inserted into any terminal base, a need exists for an automatic mechanism
of assigning addresses to terminal bases. Furthermore, since the I/O
modules, in the course of their operation, may send and receive different
types of data, a need exists for a partitioned local bus architecture
where distinct sections of the local bus are dedicated for different types
of data transfer.
In response to continuing improvements in CPU and memory technology,
communication modules are increasingly able to perform more sophisticated
types of processing under software control. In view of the fact that the
module bank may include multiple I/O modules of different types, a need
exists for a communication module with multi-threaded processing capacity,
In order to perform the sensing and/or control tasks for which it is
designed, an I/O module includes internal registers which may be
read/written by the communication module as well as the I/O module. Thus,
a mechanism for controlling read/write access to the internal registers is
needed, and especially such a mechanism as would be compatible with the
requirements of a communication module with multi-threaded processing
capability.
SUMMARY
The problems and needs discussed above in the context of prior art modular
distributed I/O systems are solved by the system and methods of the
present invention. In particular, the present invention contemplates a
method for maintaining the continuity of configuration information among
multiple I/O modules which successively occupy a common slot (i.e.
terminal base) in a distributed I/O system. The distributed I/O system
includes a computer system coupled to at least one module bank. The module
bank includes a communication module and one or more terminal bases which
are in electrical contact with the communication module. The module bank
also includes one or more I/O modules which are attached to corresponding
terminal bases.
The method for maintaining configuration continuity includes the following
steps. An I/O module is inserted into a terminal base of a module bank.
The communication module reads configuration information stored in the I/O
module. The stored configuration information comprises a data structure
which serves to describe the functional characteristics and factory
default settings for the I/O module. The communication module stores the
configuration information in non-volatile memory as a "virtual module
structure". Furthermore, the communication module monitors configuration
updates which are supplied to the I/O module and updates the stored
configuration information (i.e. virtual module structure) accordingly. The
virtual module structure is maintained as a continuous image of at least a
subset of the registers within the I/O module. When the I/O module is
removed and a subsequent I/O module is inserted into the same slot
(terminal base), the communication module determines if the subsequent I/O
module is compatible with the stored configuration information. If the
subsequent I/O module is determined to be compatible with the stored
configuration information, the configuration information is used to
configure the subsequent I/O module. Thus, configuration continuity is
maintained between the first I/O module and the second I/O module.
It is noted that the communication module continues to update the stored
configuration information after the first I/O module has been removed and
before the subsequent I/O module has been inserted. In other words, the
communication module detects messages targeted for the first I/O module
even in the physical absence of the first I/O module, and updates the
virtual module structure to correspond to the contents of the
configuration registers of the first I/O module which would have prevailed
if the first I/O module has not been removed.
The present invention further contemplates a method for providing a
user-defined configuration state to a module bank where the module bank is
comprised in an I/O system. The I/O system includes a computer and the
module bank coupled by a network bus. The module bank comprises a
communication module and one or more I/O modules coupled to the
communication module. The method includes the following steps. First, the
module bank is configured with a desired state. In the preferred
embodiment of the invention, the desired state is established by a series
of configuration messages sent by the computer to the communication module
and the I/O modules which comprise the module bank. After the desired
state of the module bank has been established, the computer sends a state
capture command to the communication module in response to user input. The
communication module captures the state of the communication module and
the one or more I/O modules which comprise the module bank in response to
the state capture commands. The captured state information is stored into
non-volatile memory within the communication module. Then the captured
state information is used to restore the state of the module bank in
response to an event. In particular, the communication module configured
the one or more I/O module with the captured state information in response
to the event. In the preferred embodiment of the invention, the event is
defined to be a loss of power to the module bank.
It is noted that the method also includes the step of configuring the
communication module to perform the state restoration. Thus, the
communication module performs the state restoration in response to the
event only if the communication module has been pre-configured to do so.
The present invention also contemplates a method for providing delayed
start-up of an activity monitor comprised with the distributed I/O system.
As described above, the distributed I/O system includes a computer coupled
to at least one module bank through a network bus. The module bank
includes a communication module coupled to one or more I/O modules through
a local bus. The method includes the following steps. The computer sends a
monitor enable command to the communication module which enables the
communication module to perform activity monitoring on network bus.
However, the activity timer associated with the activity monitoring
function is not actually started in response to the enable command. The
activity timer is started when the communication module detects subsequent
network traffic on the network bus, i.e. after having received the monitor
enable command.
The communication module uses the activity timer to measure the time
duration of period of network bus inactivity. When the communication
module determines a period of inactivity which exceed a threshold after
having started the activity timer, the communication module reads
configuration values from memory, and writes the configuration values to
the one or more I/O modules. The communication module assumes that a
communication failure conditions exists on the network bus when the
threshold-exceeding period of activity is determined. It is noted that
this method of delaying start-up of the activity monitor allows a software
application to be invoked or loaded into memory after the assertion of the
monitor enable command. Since the software application typically generates
the subsequent network traffic on the network bus, the method of the
present invention prevents the intervening network bus inactivity from
being interpreted as a communication failure condition.
Additionally, the present invention contemplates an I/O system with
improved communication capabilities including a communication module, one
or more I/O module, and a physical bus coupled between the communication
module and each of the one or more I/O modules. The physical bus includes
a parallel bus and a serial bus. The communication module is a master of
the physical bus. Each of the one or more I/O modules includes memory. The
memory of each I/O module is accessible to the communication module
through the parallel bus. In addition, each of the I/O module includes
non-volatile memory for storing a module information structure (MIS) which
describes the corresponding I/O module. The communication module is
operable to read the MIS of each of the I/O modules when the I/O module is
coupled to the physical bus. The reading of the MIS is performed through
the serial bus.
The system also includes one or more terminal bases which couple together
to form the physical bus. The I/O modules are coupled to respective ones
of the terminal bases. Each of the terminal bases includes a predecessor
connector and a successor connector. The predecessor connector is adapted
for coupling to a preceding terminal base or to the communication module,
and the successor connector is adapted for coupling to a succeeding
terminal base. The predecessor connector provides physical bus
connectivity to the preceding terminal base, and the successor connector
provides physical bus connectivity to the succeeding terminal base. The
terminal bases are coupled together into a linear succession, and the
predecessor connector of a first terminal base of the linear succession is
coupled to the communication module.
According to the present invention, the physical bus includes an address
assignment bus where the address assignment bus includes a plurality of
address assignment lines. Each terminal base of the linear succession is
operable: to receive an integer value asserted on the address assignment
lines of its predecessor connector, to increment the integer value, and to
assert the incremented integer value on the address assignment lines of
its successor connector. Since the communication module asserts a fixed
constant value on the address assignment lines coupling between said
communication module and said first terminal base, each terminal base of
the linear succession may be associated with a unique integer value based
on physical proximity to the communication module. In the preferred
embodiment of the invention, a terminal base uses the incremented integer
value asserted on its successor connector as it assigned address. Any I/O
module inserted into the terminal base inherits the address of its
terminal base. It is noted that in an alternate embodiment of the
invention, a terminal base uses the integer value receives on it
predecessor connector as it assigned address.
The present invention further contemplates a method for controlling
read/write access to the register space of an I/O module in a distributed
I/O system. The distributed I/O system includes a computer system coupled
to a module bank. The module bank includes a communication module coupled
to one or more I/O modules. The method includes the following steps. A
first process executing in the communication module requests access to the
register space of an I/O module. The access request comprises initiating a
read operation on a semaphore register associated with the I/O module. The
I/O module determines if any process executing on the communication module
already has access to the register space of the I/O module. The
communication module grants register space access to the first process
with information indicating whether any process previously executing in
the communication module already has access to the register space of the
I/O module. The first process may use the information to affect its
register access behavior.
When the information indicates that a previous process already has access
to the register space of the I/O module, the first process may force the
previous process to release access by performing a semaphore release write
operation to the I/O module. This strategy is preferred when the first
process is known to be a high priority process relative to the previous
process. When the first process is a lower priority process relative to
the previous process, the first process may assume the strategy of waiting
until the previous process releases access to the register space of the
I/O module. In particular, the first process may repeatedly request access
to the register space of the I/O module until the information indicates
that no other process executing in the communication module currently
controls access to the register space of I/O module.
In addition to the communication module, the I/O module itself may access
the register space of the I/O module. Thus, the I/O module grants register
space access to the communication module only when it does not currently
control the register space. If a process requests access to the register
space while the I/O module controls the register space, the I/O module
will (a) deny the access request, and (b) store an indication of the
access request asserted by the first process. When the I/O module
subsequently releases the register space, the I/O module will be unable to
regain access to the register space until a process executing on the
communication module has requested, gained, and released access to the
register space of the I/O module.
In order to provide an informed determinism to the access control
mechanism, the I/O module is configured to store a semaphore request time
parameter which specifies the maximum time duration the I/O module control
access to the register space after a request for access has been asserted
by the communication module. The communication module reads the semaphore
request time parameter from the I/O module preferably when the I/O module
is inserted into the module bank. Thus, a process which requests access to
the register space of an I/O module and is denied may optimally determine
the times of subsequent access requests. For example, a "least effort"
strategy dictates that having been denied an access request, a process
should perform a subsequent access request after the semaphore request
time elapses, since the I/O module will have released access to the
register space within this time.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the present invention can be obtained when the
following detailed description of the preferred embodiment is considered
in conjunction with the following drawings, in which:
FIG. 1A illustrates a first embodiment of the modular distributed I/O
system of the present invention;
FIG. 1B illustrates a second embodiment of the modular distributed I/O
system of the present invention;
FIG. 2 illustrates a typical module bank 110 according to the present
invention;
FIG. 3A illustrates network module 200 in isolation from the module bank
110;
FIG. 3B illustrates an alternate embodiment of network module 200 herein
referred to as network module 200B;
FIG. 4A provides a top view of an isolated terminal base 220;
FIG. 4B provides a left side view of the terminal base 220;
FIG. 4C provides a right side view of the terminal base 220;
FIG. 4D provides a perspective view of terminal base 220;
FIG. 5 illustrates network module 200 and several terminal bases 220
according to the present invention mounted onto a DIN Rail 230;
FIG. 6 is an abstracted block diagram of the modular distributed I/O system
according to the present invention showing the patterns of connectivity
within and surrounding a typical module bank 110;
FIG. 7 is an abstracted block diagram of the MDIO system of FIG. 1A
according to the present invention;
FIG. 8 presents a wiring diagram for an 8 channel analog input module;
FIG. 9 presents a wiring diagram for an 8 channel analog output module;
FIG. 10 illustrates an input isolation circuit for a 16 channel discrete
input module;
FIG. 11 illustrates an input isolation circuit for an 8 channel universal
discrete input module;
FIG. 12 is a table of the physical signal lines included in the local bus
of the present invention;
FIG. 13 is an abstracted diagram of the local bus architecture for an I/O
module bank 110 according to the present invention;
FIG. 14 is a state diagram of the semaphore mechanism of the present
invention;
FIG. 15 is a flowchart of the method by which the network module 200
accesses the register space(s) of an I/O module 210 according to the
present invention;
FIG. 16, collectively comprising FIGS. 16A and 16B, illustrates the
organization of the module information structure (MIS) according to the
present invention;
FIG. 17 is a flowchart of the watch dog feature according to the present
invention;
FIG. 18A illustrate the Snap Shot Capture and Enables feature according to
the present invention;
FIG. 18B illustrate the method of Snap Shot Restoration according to the
present invention;
FIG. 18C illustrates the default Power-Up Configuration Sequence according
to the present invention in the case the Snap Shot Feature is not enabled;
FIG. 19A illustrates the Hot Insertion, Auto-Configuration, and Hot-Swap
Features of the present invention; and
FIG. 19B illustrates the method by which the network module 200 maintains a
virtual module structure even in the absence of the corresponding physical
I/O module 210.
While the invention is susceptible to various modifications and alternative
forms specific embodiments are shown by way of example in the drawings and
will herein be described in detail. It should be understood however, that
drawings and detailed descriptions thereto are not intended to limit the
invention to the particular form disclosed. But on the contrary the
invention is to cover all modifications, equivalents and alternatives
following within the spirit and scope of the present invention as defined
by the appended claims.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
FIG. 1A illustrates a first embodiment of the modular distributed I/O
system of the present invention. The modular distributed I/O (MDIO) system
comprises a computer 100, and a plurality of module banks 110 for
performing field distributed I/O operations. The MDIO system can include
up to 25 module banks 110. FIG. 1A depicts three module banks labelled
110A through 110C. The computer 100 is coupled to the I/O module banks 110
through a network bus 120. In this first embodiment, the network bus 120
preferably comprises an RS-485 serial bus.
In the present embodiment, the total cable distance between the computer
100 and all module banks 110A to 110C can be up to 4000 feet (nominal).
FIG. 1B illustrates a second embodiment of the modular distributed I/O
system of the present invention. As with the first embodiment, the second
embodiment includes computer 100 and module banks 110. However, in the
second embodiment, network bus 120 is reserved for coupling the I/O
modules 210 together, while a short range bus is employed to couple
computer 100 with the first module bank 110. The short range bus
preferably comprises an RS232 bus.
FIG. 2 illustrates a typical module bank 110 according to the present
invention. The module bank 110 includes a network module 200 and a
plurality of I/O modules 210. FIG. 2 depicts three I/O modules labelled
210A through 210C. The I/O modules 210 are configured to perform basic I/O
operations such as analog current measurement, analog current sourcing,
thermocouple temperature measurement, discrete input sensing, discrete
output signal generation, and so forth. The I/O modules 210 are inserted
into terminal bases 220 as indicated by the exploded view of I/O module
210B and terminal base 220B. FIG. 2 depicts three terminal bases 220A,
220B, and 220C.
The I/O modules 210 and terminal bases 220 are physically universal in the
sense that any I/O module 210 can be inserted into any terminal base 220,
provided a keying mechanism on the terminal base 220 is set to the
universal position. Alternatively, the keying mechanism on a terminal base
220 may be set so that the terminal base 220 accepts only a certain type
of I/O module 210. Each terminal base 220 includes a host of convenient
external connectors for wiring to field devices. When an I/O module 210 is
inserted into a terminal base 220, the I/O module 210 is electrically
coupled to the external connectors of the terminal base 220. As the
terminal bases 220 are coupled together and coupled to the network module
200, altogether they form a high-speed local bus that efficiently
transfers data between the I/O modules 210 and the network module 200. The
module bank 110 can include up to nine I/O modules 210.
FIG. 3A illustrates network module 200 in isolation from the module bank
110. The network module 200 includes a network bus connector 201 for
coupling to the network bus 120, and a local bus connector 202 for
communication with I/O modules 210. The network module 200 mediates
communications between computer 100 and the I/O modules 210. Thus, the
network module 200 is also referred to as a communication module. In
addition, the network module 200 receives external power through power
connector 203, and supplies power to the I/O modules 210 through the local
bus which includes lines for power and ground. Since each network module
200 typically has its own power source, each module bank 110 may be
operated independently. In a typical scenario, one module bank may be
powered down for re-wiring of field devices, while the remaining module
banks are powered and fully operational.
FIG. 3B illustrates an alternate embodiment of network module 200 herein
referred to as network module 200B. In addition to network bus connector
201, local bus connector 202, and power connector 203, network module 200B
includes a short range bus connector 204. Network module 200B is employed
in the first module bank 110A of the second embodiment illustrated in FIG.
1B. The remaining module banks 110 in FIG. 1B employ network module 200
described above. In particular, the short range bus connector 204 of
module 200B couples directly to the short range bus 121 to achieve
connectivity with computer 100. Furthermore, the network bus connector 201
of network module 200B couples to network bus 120, thereby achieving
connectivity to the remaining network modules 200. The network modules 200
of the remaining module banks, e.g. 110B and 110C, couple to the network
bus 120 through their respective network bus connectors 201.
Network module 200B includes a bi-directional repeater to forward signals
from short range bus 121 to network bus 120, and vice versa. The
bi-directional repeater advantageously allows computer 100 to employ a low
power device to drive short range bus 121.
FIG. 4A provides a top view of an isolated terminal base 220. The terminal
base 220 includes a DIN Rail Clip 301. With the DIN rail clip 301 in its
unlocked position, the terminal base 220 may be mounted onto a standard
DIN rail (see FIG. 5). As long as the DIN Rail clip 301 is in the unlocked
position, the terminal base 220 may freely slide along the DIN rail.
However, when the DIN rail clip is set to its locked position, the
terminal base 220 is bound securely to the DIN rail.
The terminal base 220 also includes a module access connector 302, a latch
303, and ejector button 304. Each I/O module 210 has a slot for receiving
latch 303 and a connector which is complementary to the module access
connector 302. When an I/O module 210 is properly aligned with the
terminal base 220, the I/O module 210 is seated into the terminal base 220
by the application of pressure. Once an I/O module 210 is seated into a
terminal base 220, the module access connector 302 provides the I/O module
220 with access to the local bus, and to the external connectors (see FIG.
4D) of the terminal base 320.
FIG. 4B provides a left side view of the terminal base 220. In this view it
is apparent that the terminal base 220 includes a left local bus connector
320. The left local bus connector 320 is also referred to as a predecessor
connector 320.
FIG. 4C provides a right side view of the terminal base 220. In this view
it is apparent that the terminal base 220 includes a right local bus
connector 340. The right local bus connector 340 is also referred to as a
successor connector 340. The right local bus connector 340 and the left
local bus connector are complementary. Thus, the right local bus connector
340 of one terminal base naturally couples with the left local bus
connector 320 of a second terminal base as implied by the terminal bases
220A and 220B of FIG. 5.
FIG. 4D provides a perspective view of terminal base 220. In this view it
is apparent that the terminal base 220 is supplied with an external
connector bank 350 which comprises two rows of external connectors for
wiring to field devices. Each external connector includes a slot for
admitting an external wire and a screw for securing the wire to the slot.
For example, external connector 351 includes slot 351A and corresponding
screw 351B. An external wire is inserted in slot 351A, and fastened to the
slot by tightening screw 351B. In an alternative embodiment of the
terminal base 220, the screws of the external connectors 350 are replaced
with spring loaded locking devices. In this case, if the screw 351B is
reinterpreted as a spring loaded locking device 351B, one depresses the
spring loaded locking device 351B in order to allow admission of a wire
into the corresponding slot 351A. Once a wire is inserted into the slot
351A, it is locked into position within the slot simply by releasing
pressure from the spring loaded locking device 351A.
When an I/O module 210 is seated into the terminal base 220, the I/O module
210 is electrically coupled to the external connectors of the external
connector bank 350. As described above, this coupling occurs through
module access connector 302.
FIG. 5 illustrates network module 200 and several terminal bases 220
mounted onto a DIN Rail 230. The network module 200 and terminal bases
220A and 220B are shown coupled to each other, while terminal base 220C is
shown uncoupled. With the DIN rail clip of terminal base 220C in its
unlocked position, a user may slide terminal base 220C until its left
local bus connector 320 securely interfaces with the right local bus
connector 340 of terminal base 220B. Then the terminal base 220C is locked
into position by closing the DIN rail clip 301 of terminal base 220C. The
steps just described for connecting one terminal base 220 to another also
serve to describe the means for connecting a first terminal base 220 to
the network module 200.
As mentioned above, the high-speed local bus (not shown) is formed as the
terminal bases 220 are coupled to each other and to network module 200.
Each terminal base 220 contains internally a portion of the local bus. As
additional terminal bases 220 are connected to the existing complex of
connected terminal bases, the local bus automatically extends. I/O modules
210 connect to the local bus through the terminal bases 220.
FIG. 6 is an abstracted block diagram of the modular distributed I/O system
showing the patterns of connectivity within and surrounding a typical
module bank 110. The terminal bases 220 are not shown in order to more
clearly exhibit the local bus. The network module 200 is coupled to
computer 100 through the network bus 120. The I/O modules 210 and network
module 200 are connected by local bus 240. As mentioned above, local bus
240 is formed as the terminal bases 220 (not shown in FIG. 6) are coupled
together. Each I/O module 210 is coupled to the local bus 240 through the
terminal base 220 in which it is seated. It is noted that certain portions
of local bus 240 contain active elements which are resident in the
terminal bases 220, i.e. local bus 240 is not entirely comprised of pure
conductors. The architecture of local bus 240 will be explained in detail
below.
Furthermor | | |