WO1995008225A1 - Two-wire monitoring system - Google Patents

Two-wire monitoring system Download PDF

Info

Publication number
WO1995008225A1
WO1995008225A1 PCT/AU1994/000552 AU9400552W WO9508225A1 WO 1995008225 A1 WO1995008225 A1 WO 1995008225A1 AU 9400552 W AU9400552 W AU 9400552W WO 9508225 A1 WO9508225 A1 WO 9508225A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
unit
port
processors
input
Prior art date
Application number
PCT/AU1994/000552
Other languages
French (fr)
Inventor
Kevin Walker
Original Assignee
Ampcontrol Csm Pty. Ltd.
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 Ampcontrol Csm Pty. Ltd. filed Critical Ampcontrol Csm Pty. Ltd.
Priority to AU76894/94A priority Critical patent/AU7689494A/en
Publication of WO1995008225A1 publication Critical patent/WO1995008225A1/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
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0245Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a qualitative model, e.g. rule based; if-then decisions
    • G05B23/0248Causal models, e.g. fault tree; digraphs; qualitative physics

Definitions

  • the present invention relates to monitoring systems and, in particular, to a two-wire monitoring system in which multiple versions of a database are updated over a two-wire line.
  • Distributed monitoring systems are often used for gathering and storing information relating to spatially separated processes or devices.
  • such monitoring systems would use multiple local versions of a database, one local database being kept in each one of a number of processors, and the processors would be interconnected by two-wire lines because such lines are inexpensive, reliable, and allow for simple communication systems.
  • a requirement of a distributed monitoring system is that the local databases should be updated as any information relating to the distributed processes or devices changes. However, it can be difficult to maintain all local databases supplied with current information.
  • Prior art distributed monitoring systems are generally capable of communicating information quickly and efficiently from a data gathering point to a central database. However, they have generally not been so successful at communicating the stored information to all other data gathering points.
  • unit and “module” are used to refer primarily to input and output devices or data gathering devices, and the terms “repeater” and
  • processors are used to refer primarily to equipment to which the input or output devices are connected. However, communication on a line between units, modules, repeaters and processors is independent of the type of device connected to the line and so, where appropriate, the terms “unit”, “module”, “repeater”, and “processor” will all be used interchangeably.
  • the present invention relates to a distributed two-wire monitoring system in which multiple processors and data gathering devices are arranged in a tree structure.
  • a local version of a database is stored within each processor.
  • the local database within any particular processor contains addresses of all data gathering devices, and associated with each address is the latest-known value of corresponding data, display messages, and scaling factors, together with an information item which indicates the position in the tree structure of the data gathering device relative to the particular processor.
  • traffic throughout the system is reduced. Only data changes need to be communicated.
  • Information is passed around the tree structure both upwards and downwards. However, by virtue of the information item, each processor ensures that any data flows only away from that data's originating data gathering device to all branches of the hierarchy.
  • an apparatus and a method are provided for keeping all local databases apprized of data changes.
  • information processing equipment associated with each local database can use the raw data, together with the stored messages, conversion factors, and other information to display meaningful information.
  • a user can interrogate the entire monitoring system, and obtain a rapid response, from any one of the multiple local databases; and the databases are kept updated with a minimal amount of data passing around the system.
  • messages stored include "motor running" or "earth leakage tripped".
  • Configuration parameters can include such data as whether a particular switch is normally open or normally closed, or whether an input is a logically inverting or non-inverting input.
  • Scaling factors can be used, for example, to convert analog values to voltages, temperature readings, or motor speed readings.
  • the raw data is passed around in blocks, with the data's position within the block being related to the address of the data gathering unit from which the data originated.
  • the system preferably includes at least one hand-held terminal which can communicate via an infrared communications channel with any one of the multiple local databases or input/output modules connected to the tree structure.
  • a hand-held terminal With such a hand-held terminal, the user can easily display information from the system, and pass information to the system, quickly and easily from any module in the tree structure.
  • the hand held terminal acts like any other processor in the tree structure.
  • the present invention consists in a monitoring system comprising: a plurality of input units, each one of the plurality of input units having a unique input address, an internal port, and an external port, the external port of each one of the plurality of input units being capable of receiving an input having an input value, each unique input address thereby being associated with a corresponding one of the input values; and a plurality of processors, the plurality of processors including a master processor, each one of the plurality of processors having a parent port and a daughter port, the parent port of each one of the plurality of processors being coupled to the daughter port of at most one other processor, the internal port of each one of the plurality of input units being coupled to the daughter port of a corresponding one of the plurality of processors, the daughter port of the master processor being coupled to the internal port of every input unit either directly or indirectly through one or more intermediate processors, each one of the plurality of processors including a database containing storage locations associated with each unique input address, wherein, in any particular one of the plurality of
  • the monitoring system further comprises a plurality of output units, each one of the plurality of output units having an output address, an internal port, and an external port, the external port of each one of the plurality of output units being capable of transmitting an output having an output value, each output address thereby being associated with at least one corresponding output, the internal port of each one of the plurality of output units being coupled to the daughter port of a corresponding one of the plurality of processors, the daughter port of the master processor being coupled to the internal port of every output unit either directly or indirectly through one or more intermediate processors, the database in each one of the plurality of processors containing storage locations associated with each unique output address, wherein, in any particular one of the plurality of processors, the storage locations corresponding to a particular unique output address contain an information item which indicates whether or not the daughter port of the particular one of the plurality of processors is coupled, either directly or indirectly through one or more intermediate processors, to the output
  • the present invention further consists in the method for providing or updating the line address of the particular unit as described above, wherein, if the particular unit is not coupled directly to the master repeater, the step of causing the master repeater to allocate the new line number to the particular unit proceeds through one or more intermediate stages, each stage involving a request for an on-line scan at a progressively higher level of the tree structure, and the line address is passed from the master repeater to the particular unit through one or more ensuing intermediate stages.
  • Figure 1 is a schematic block diagram of a two-wire monitoring system in accordance with the present invention
  • Figure 2 is a schematic block diagram of a repeater as used in the two-wire monitoring system of Figure 1;
  • Figure 3 is a schematic block diagram of a hand-held terminal as used to program and read repeaters in the two-wire monitoring system of Figure 1;
  • Figure 4 is a schematic block diagram of an input/output unit for connection to a repeater in the two-wire monitoring system of Figure 1;
  • Figure 5 is a typical voltage waveform which may appear on any interconnecting two-wire line in the monitoring system of Figure 1;
  • Figure 6 is a set of voltage waveforms which illustrate commands and data which may appear in any interconnecting two-wire line in the monitoring system of Figure 1;
  • FIG. 7 is a schematic block diagram of another typical monitoring system in accordance with the present invention.
  • Figure 1 illustrates a preferred embodiment of the present invention showing a communication network in which repeaters 100, 102, 104, 106, and 108 are connected in a hierarchical structure.
  • Line 110 couples a daughter port of repeater 100 to parent ports of each of repeaters 102, 104, and 106.
  • other lines can connect daughter ports of repeaters 102, 104, and 106 to parent ports of other repeaters.
  • line 112 couples the daughter port of repeater 102 to the parent port of repeater 108.
  • I/O units can be connected to any line to provide analog and digital inputs to, and outputs from, the communication network.
  • I/O unit 116 is coupled to line 112 and provides digital input and output on bus 118, analog input on line 120, and analog output on line 122.
  • the lines coupling the repeaters and I/O units are preferably two-wire lines.
  • the repeater parent ports are preferably connected to the two-wire lines via opto-couplers so that all lines within the network are electrically isolated from one another. Thus, short circuits on any one line will not affect other lines. This makes the network robust and allows it to degrade gracefully as line faults occur.
  • FIG. 2 illustrates a block diagram of a preferred embodiment of repeater 200 according to the present invention.
  • Repeater 200 includes first central processing unit (CPU) 202 and second CPU 204, both coupled to dual-port random access memory (RAM) 206.
  • the CPUs may be parts of microprocessors or microcontrollers.
  • Second CPU 204 is coupled to first line driver 208 with parent port 210, and second CPU 204 is coupled to second line driver 212 with daughter port 214.
  • First CPU 202 is further coupled to memory means which may include read-only memory (ROM) 216 and random-access memory (RAM) 218 which may be non-volatile.
  • Keyboard 220 and display 222 are coupled to first CPU 202 to enable a user to communicate directly with repeater 200.
  • interface device 224 allows other devices, such as personal computers, to communicate with repeater 200.
  • Interface device 224 is preferably a serial interface device such as one which complies with the RS 232 standard.
  • Second CPU 204 can communicate with hand-held devices using infrared communication link 226.
  • First line driver 210 serves to isolate repeater 200 electrically from parent line 228. Power for the components of repeater 200 is derived from a power supply which is not shown. Preferably, the power supply utilizes ac mains.
  • First CPU 202 controls keyboard 220, display 222, interface device 224, as well as a host link protocol, a database, and a communication protocol which are described below.
  • Second CPU 204 controls parent line 228 and daughter line 230, and also measures currents, voltages, and transition times associated with the daughter line. In addition, second CPU 204 controls operation of infrared communication link 226.
  • Figure 3 illustrates a preferred embodiment of hand-held terminal 300 in accordance with the present invention for communicating with repeater 200 over infrared communication link 226.
  • the hand-held terminal may be used for remote retrieval and temporary storage of data. In addition, it may be used to upload information to the system, or to program repeaters and I/O modules.
  • the hand-held terminal can further be used to display information rapidly from anywhere within the system because it has access to the updated local databases .
  • Hand-held terminal 300 is similar to repeater 300, but does not include line drivers.
  • hand-held terminal 300 includes two CPUs 302 and 304, each coupled to dual-port RAM 306.
  • hand-held terminal 300 further includes ROM 316, RAM 318 which may be non-volatile, keyboard 320, display 322, and interface device 324.
  • Infrared link 326 which is coupled to second CPU 304, enables hand-held terminal 300 to communicate with infrared link 226 of repeater 200 or infrared links on I/O module 426.
  • Power for the components of hand-held terminal 300 is derived from a power supply which is not shown. Preferably, the power supply utilizes batteries .
  • FIG. 4 illustrates a preferred embodiment of an input/output (I/O) unit 400 in accordance with the present invention.
  • I/O unit 400 includes CPU 402 coupled to ROM 404, RAM 406 which may be non-volatile, interface device 408, line driver 410, and I/O device 412. Both analog and digital inputs may be supplied to I/O device 412. Similarly, both analog and digital outputs may be obtained from I/O device 412.
  • Line driver 410 serves to isolate I/O unit 400 electrically from line 414.
  • Power for the components of I/O unit 400 is derived from a power supply which is not shown. Preferably, the power supply obtains power from the line.
  • Each I/O unit can be personalised to suit a particular situation.
  • the analog outputs may be voltages in the range of 0 to 5 volts, or they may be currents in the range of 4 to 20 milliamps.
  • the outputs may simply consist of an open or closed circuit derived from relay contacts .
  • the outputs may be connected to a silicon controlled rectifier which is fired by the I/O unit.
  • Digital inputs and outputs can also be provided with any desired number of bits. The number of inputs and outputs can also be personalised.
  • the network comprises a single system master repeater and multiple other repeaters connected in a hierarchical structure using parent lines and daughter lines.
  • a single line coupling two repeaters at different levels in the hierarchy is termed a daughter line with reference to the higher repeater and is termed a parent line with reference to the lower repeater.
  • Each repeater can drive a single daughter line which may become the parent line of multiple repeaters at a lower level .
  • Each repeater acts as a slave in response to commands which it receives on its parent line, and acts as a master to control other repeaters coupled to its daughter line.
  • a data point is defined to be a signal which is to be accessed in some way by the network. Examples of such signals are analog input signals, analog output signals, digital input signals, digital output signals, information read from keyboards, and information to be displayed on displays. Every data point in the network is provided with an identification code, or address. Each data point forms an input to, or an output from, (or both an input to and an output from) an I/O unit or a repeater. A physical address of the data point is programmed into the I/O unit or repeater using a hand-held terminal. Every data point corresponding to an input must have a unique address. However, multiple output data points may have the same address .
  • All I/O units are scanned at a minimum scan rate by the repeater to which they are connected to determine unit status and to transfer data. This ensures that any faults or irregularities are detected in a timely manner.
  • the I/O units communicate with the repeater to which they are connected to indicate whether a data point requires accessing (for example if an input value has changed) . If such an access is required, the repeater scans a block which includes the appropriate data point and passes changes on to other repeaters. In this way, only data points with rapidly changing signals are accessed frequently; yet all data points are accessed at an acceptable minimum rate.
  • the system master repeater allocates the line address of the data points.
  • the system master repeater can group data points together into blocks according, for example, to the rate at which their information changes or according to certain unifying features.
  • Information is preferably transmitted digitally throughout the network on two-wire lines using a bipolar signal. Bipolar voltage pulses are supplied to daughter lines by repeaters; not to parent lines. This ensures that only one voltage source is connected to any individual line. Pulses of a first polarity can be used to provide power to I/O units or other devices, and information can be transmitted on the pulses having a second polarity.
  • a logical "one" can, for example, be represented by a pulse of the second polarity with an amplitude which exceeds a predetermined value at a certain time.
  • a logical "zero" can be represented by the absence of a pulse of the second polarity at the certain time, or a pulse of the second polarity which does not exceed the predetermined polarity at the certain time.
  • the information transmitted on the two-wire lines is represented by a waveform consisting of a series of information pulses corresponding to control, address, and data bits . These are interspersed with synchronisation pulses.
  • Figure 5 illustrates a typical waveform 500 of pulse amplitude A on the two-wire lines against time t.
  • Pulses 502 are negative-going power pulses and are used by I/O units and other devices to provide power.
  • Pulses 504-508 are information pulses which represent addresses, control information, or data transmitted on the two-wire line.
  • Pulses 504 and 506 represent logical "ones", and pulse (or absence of pulse) 508 represents a logical "zero". Most pulses have a duration indicated by reference numeral 510. However, synchronisation pulse 512 is distinguished from the other pulses by its longer duration. Preferably, the duration of the synchronisation pulse is 4 milliseconds .
  • any one repeater to measure voltage and current in its daughter line provides a method for units connected to that daughter line to communicate with the repeater.
  • the unit can place a short-circuit or low impedance across the line (i.e., pull down the line) at certain predetermined times. This reduces the overall line impedance at those certain predetermined times, and the repeater senses the reduction from its measured line voltage and current.
  • a short-circuit on the line could be defined to represent a logical "zero"
  • the absence of a short-circuit could be defined to represent a logical "one".
  • a repeater when a repeater seeks to receive data from a unit connected to its daughter line, it instructs the unit to send information, and then transmits a sequence of "ones". During the transmission of this sequence, the unit can send a "zero" to the repeater by short-circuiting the line or it can send a "one" by not short-circuiting the line.
  • the information bits following the synchronisation pulse are arranged into a train, and the bits within the train have a specific order. Furthermore, depending on the particular command transmitted, other bits can be added.
  • the bits within the train are separated into fields which may include a system bit field, a command bit field, a data bit field, and an error control bit field.
  • the system bit field contains three bits.
  • the first bit following the synchronisation pulse is usually set to a logical "one" to indicate that a normal sequence of events will follow. In this normal situation, the second bit is designated as an error bit, or E bit. Any unit can indicate that the previous information should be ignored by pulling down the E bit.
  • the processor pulls down the first bit after the synchronisation pulse, thereby inviting units to initiate an interrupt. Any unit may then pull down the second bit after the synchronisation pulse to interrupt the normal sequence. The unit may then proceed to place its information on the line. After the unit completes its procedure, it issues a continue command.
  • any appropriate word length can be used for the data bit field.
  • the state of a switch can be represented by a single bit.
  • information from an analog input unit may require many bits to give adequate resolution and dynamic range.
  • an error detection mechanism is provided by including a parity check code or checksum field.
  • the command bit field contains four bits, and a number of commands using these four bits are discussed below.
  • each repeater initiates a sequence of scans. These scans include: a request scan, a data scan, a system identification scan, and an on-line scan.
  • a waveform of a request scan is illustrated in Figure 6a.
  • the request scan indicates to all units connected to a repeater's daughter line that the repeater is prepared to accept a request.
  • the request scan is initiated when the repeater transmits a request command in the command bit field. Arbitrarily, as shown by pulses 611, this command consists of four consecutive "zeros".
  • the repeater transmits an S bit 612 which units may pull down to request a system identification scan, and a B bit 613 which units may pull down to request a block scan.
  • the repeater then transmits a stream of
  • a waveform of a data scan is illustrated in Figure 6b.
  • the data scan indicates to all units connected to a repeater that the repeater is prepared to accept and relay data.
  • the data scan is initiated when the repeater transmits a data scan command in the command field.
  • the data scan command consists of three consecutive "zeros" followed by a "one".
  • the repeater transmits a block number field 622 which consists of a stream of six bits.
  • the repeater transmits a data field consisting of an appropriate number of "ones" which units may pull down in order to send information.
  • the repeater rather than the units, will place data appropriately within the field.
  • Each unit in the block transmits its data in an appropriate data sub-field.
  • a first unit places its data in sub-field 623.
  • subsequent units place their respective data in the appropriate data sub-fields, until finally the last unit in the block places its data into final data sub-field 624.
  • the repeater transmits a train of bits comprising a checksum.
  • Each unit also computes the checksum from the entire data field and checks to ensure that its checksum matches that transmitted by the repeater. If any unit finds that its checksum does not match, it will pull down the E bit following the next synchronisation pulse. Thus, all units must agree unanimously for data to be accepted. Without unanimous agreement, the data scan block is repeated.
  • An additional error detection mechanism is provided as follows: As each unit transmits each data bit in its data sub-field, it checks that the information is reproduced correctly on the line. After each data sub-field, the repeater transmits a trailing "one". If the unit which transmitted the data sub-field determines that all of its bits were reproduced correctly, it causes the trailing "one" to be an inverted version of the last data bit in the sub-field. The repeater then checks to ensure that the last bit was repeated and inverted, and detects an error if this is not the case. Specifically, the presence of two "ones” indicates the error condition that the unit is off-line. The presence of two "zeros" indicates that an error has occurred, for example, by two units having the same address, or if there is a short-circuit on the line.
  • a waveform of a system identification (ID) scan is illustrated in Figure 6c .
  • the system ID scan indicates to all units that the master repeater is prepared to identify changes to the monitoring system.
  • the system ID scan is initiated when the master repeater transmits a command system ID command in the command field.
  • the system ID command consists of two consecutive "zeros" followed by two consecutive "ones”.
  • the master repeater transmits a system identification number or line address count 632 followed by a "one" which represents a request bit 633.
  • All units read the system identification number 632 and, if any unit finds that the number does not correspond to one which it has stored locally, it goes into an "off-scan" state in which it relinquishes its line address and then pulls down request bit 633 to indicate that it needs to have a new line address allocated using a line address scan.
  • a waveform of a line address scan is illustrated in Figure 6d.
  • the line address scan indicates that the master repeater has received a request to provide a unit with a line address.
  • the line address scan is initiated when the repeater transmits a line address command in the command field.
  • the line address command consists of a "zero”, followed by a "one”, followed by two “zeros".
  • the repeater transmits an F bit 642 (described later) followed by a stream of ten "ones" onto which all off-scan units attempt to place their address 643 by pulling down appropriate bits.
  • each off-scan unit attempts to place its corresponding address bit on the line and checks to ensure that the bit was correctly placed. As soon as any unit detects that a "zero" was placed on the line when it intended to place a "one" on the line, it discontinues attempting to put its own address on the line. In this way, if multiple units are attempting to place their addresses on the line, all but the unit with the lowest address will discontinue in the current line address scan. This procedure is termed "arbitrating onto the line". The unit which was successful in placing its address onto the line is termed the arbitrated-on unit, and the unsuccessful units are termed arbitrated-off units.
  • An M bit (more bit) 644 is provided after the ten address bits, and any arbitrated-off units can pull this M bit down to indicate that other units wish to initiate a line address scan.
  • the repeater detects that the M bit is pulled down, and will initiate another line address scan later.
  • a T bit (type bit) 654 is provided which the arbitrated-on unit can pull down to indicate that it is an input unit, or leave high to indicate that it is an output unit.
  • a second F bit 646 is provided following the T bit.
  • the repeater transmits a size field 647 consisting of a stream of eight "ones" which the arbitrated-on unit can pull down appropriately to indicate to the repeater how many data bits the arbitrated-on unit needs .
  • a line address field 648 of sixteen bits follows the size field.
  • the information in this field contains the line address of the arbitrated-on unit and is provided by the repeater.
  • the arbitrated-on unit reads and stores this address.
  • the first six bits of the line address correspond to the block number, and the remaining ten bits correspond to the position of the arbitrated-on unit's data sub-field within the data field for the data block.
  • a further bit 649 is provided after the line address field which bit can be pulled low to cause the system ID number to be incremented when a line address is allocated for the first time.
  • a checksum field 650 is then provided as the last field in the line address scan.
  • the F bits 642 and 646 are bits provided in the line address scan so that the repeater can force addresses or sizes onto the line. If the repeater pulls these F bits down, units do not attempt to place their information on the line, but accept information from the repeater.
  • a new unit may be added to the network at any time and, when it is first added, it must bring itself on-line as follows. Initially, the new unit is in an "off-scan" state in which it does not have a line address allocated. As discussed above, the repeater initiates request scans occasionally. After the new unit detects a request scan, it pulls down the system ID bit, and when it detects a system ID scan, it pulls down the request bit. In response, a line address scan is initiated as described above and the new unit attempts to arbitrate its address onto the line. If it is arbitrated-out, it pulls down the M bit and waits until another line address scan is initiated. The new unit continues the above procedure until it is arbitrated-on and is allocated a line address .
  • all data points are allocated line addresses.
  • the physical addresses may be chosen arbitrarily by the user, and are possibly not sequential.
  • the line addresses are allocated by the master repeater, and are allocated sequentially because the line address determines the time slot in the data scan which is occupied by the data point. Thus, if there are un-allocated line addresses, information with no significance will be passed around the system. Line addresses are further allocated because, in this way, data points sharing a common feature may be grouped together advantageously, for example, to optimise data throughput.
  • Each data point should have a unique line address. That is, no two data points, with the exception of certain output units, should be given the same or overlapping line addresses.
  • this repeater is the master repeater.
  • the master repeater may be identical to any other repeater. The need for only a single repeater to allocate line numbers is the primary motivation for the provision of the master repeater.
  • Line addresses are allocated with the use of an on-line scan as follows:
  • the data point requests an identification scan.
  • a system identification scan is provided, and a global system identification number from the master repeater is included in the scan.
  • the data point compares its locally stored system identification number to the global system identification number and, if they are different, it requests an on-line scan and includes its physical address in the on-line scan.
  • the repeater to which the data point is coupled determines if the physical address is known and, if it is, transmits the corresponding line address to the data point. However, if the physical address is not known to the system, the appropriate messages are passed to the master repeater to cause the master repeater to allocate a new line address to the physical address.
  • all repeaters in the tree structure store the new unit's address as read from the line address scan. All repeaters which are in the same branch as the new unit and are higher in the tree structure set a daughter-owned bit corresponding to the unit's address. Conversely, all repeaters which are in the same branch as the new unit and are lower in the tree structure, or alternatively are not in the same branch, set a parent-owned bit corresponding to the unit's address .
  • the daughter-owned and parent-owned bits comprise one arrangement in which an information item can be provided to indicate the position of the unit relative to each processor.
  • repeaters can decide which direction data should be passed. Thus, if a repeater is informed by one of its daughter-owned units that the unit's data has changed, the repeater relays the changed data upwards (i.e., to the repeater's parent). Conversely, if a repeater is informed by one of its parent-owned units that the unit's data has changed, the repeater relays the changed data downwards.
  • This procedure coupled with the hierarchical structure ensures that data flows away from originating units, and flows through all branches to all repeaters.
  • Figure 7 gives a schematic illustration of the data flow in a typical monitoring system 70.
  • input unit 71 reads a changed input value and therefore has new data to transmit.
  • Unit 71 requests a data scan and during the subsequent data scan passes the new data to its parent, repeater 72.
  • unit 71 is daughter-owned. Therefore, repeater 72 stores the new data and passes it upwards during an appropriate data scan to repeater 73.
  • repeater 73 regards unit 71 as being daughter-owned, and therefore stores the new data and passes it upwards to repeater 74.
  • Repeater 75 reads the new data on the same line and during the same data scan as repeater 73. However, repeater 75 regards unit 71 as being parent-owned.
  • repeater 77 reads the new data from the same line and during the same data scan as repeater 72. However, repeater 77 regards unit 71 as being parent-owned. It therefore stores the new data and passes it downwards to repeater 78.
  • the block command can be used, for example, for configuring the system, or for loading new messages.
  • Each repeater processes information which it receives both on its parent line and on its daughter line, and relays information appropriately.
  • the line addresses can be allocated sequentially by the master repeater, independently of a unit's physical location or address. This can be used to ensure that no addresses are left unused, so that data can be transmitted in contiguous streams .
  • Each unit requests a data scan only when it has changed data to transmit. Thus, unnecessary scanning is avoided; although routine periodic scanning can be used to detect faults.
  • Units are arranged into blocks according to their line addresses.
  • the master repeater can re-allocate the line address at any time.
  • units which share some unifying quality can be grouped together in a block, regardless of the units' locations or physical addresses.
  • One relevant unifying quality is the rate at which the units' data change.
  • Units may also be grouped together advantageously if the data streams which they record or transmit change substantially simultaneously.
  • the master repeater can allocate the line addresses such that the blocks have uniform sizes.

Abstract

A distributed two-wire monitoring system in which multiple processors (100, 102, 104, 106, 108) and data gathering devices (116) are arranged in a tree structure. A local version of a database is stored within each processor. The local database within any particular processor (e.g. 102) contains addresses of all data gathering devices (116), and associated with each address is the latest-known value of corresponding data, display messages, and scaling factors, together with an information item which indicates the position in the tree structure of the data gathering device (116) relative to the particular processor (102). By storing such information locally, traffic throughout the system is reduced. Only data changes need to be communicated.

Description

TWO-WIRE MONITORING SYSTEM Field of the Invention
The present invention relates to monitoring systems and, in particular, to a two-wire monitoring system in which multiple versions of a database are updated over a two-wire line.
Background of the Invention
Distributed monitoring systems are often used for gathering and storing information relating to spatially separated processes or devices. Preferably, such monitoring systems would use multiple local versions of a database, one local database being kept in each one of a number of processors, and the processors would be interconnected by two-wire lines because such lines are inexpensive, reliable, and allow for simple communication systems.
A requirement of a distributed monitoring system is that the local databases should be updated as any information relating to the distributed processes or devices changes. However, it can be difficult to maintain all local databases supplied with current information.
One way to overcome this difficulty is to cause each database to keep a record of the latest time at which each information item was updated, to regularly cause each information item and its associated recorded time to be transmitted to every processor, and for every processor to update its local version of the information item if the received time is later than the recorded time. Unfortunately, this method is very inefficient because it requires a large amount of redundant information to be stored and, more importantly, it requires a large amount of redundant information to be transmitted from processor to processor. This method, therefore, has the disadvantage, among other disadvantages, that it results in the local databases being updated very slowly.
The disadvantage of slow updating is aggravated if the distributed monitoring system utilises two-wire lines to interconnect the processors because such lines have a fairly narrow bandwidth and can only be used to transmit information in a serial fashion. Prior art distributed monitoring systems are generally capable of communicating information quickly and efficiently from a data gathering point to a central database. However, they have generally not been so successful at communicating the stored information to all other data gathering points.
Thus, there is a need for a distributed monitoring system having multiple information gathering devices and multiple processors, with each processor containing a local version of a database, wherein the local versions of the database are updated quickly and efficiently after a change in the information gathered by one or more of the information gathering devices.
There is further a need for a distributed monitoring system which enables data to be moved quickly and efficiently from any data gathering point to multiple distributed databases. Summary of the Invention
In the following, the terms "unit" and "module" are used to refer primarily to input and output devices or data gathering devices, and the terms "repeater" and
"processor" are used to refer primarily to equipment to which the input or output devices are connected. However, communication on a line between units, modules, repeaters and processors is independent of the type of device connected to the line and so, where appropriate, the terms "unit", "module", "repeater", and "processor" will all be used interchangeably.
The present invention relates to a distributed two-wire monitoring system in which multiple processors and data gathering devices are arranged in a tree structure. A local version of a database is stored within each processor. The local database within any particular processor contains addresses of all data gathering devices, and associated with each address is the latest-known value of corresponding data, display messages, and scaling factors, together with an information item which indicates the position in the tree structure of the data gathering device relative to the particular processor. By storing such information locally, traffic throughout the system is reduced. Only data changes need to be communicated. Information is passed around the tree structure both upwards and downwards. However, by virtue of the information item, each processor ensures that any data flows only away from that data's originating data gathering device to all branches of the hierarchy. Thus, an apparatus and a method are provided for keeping all local databases apprized of data changes.
In the preferred embodiment of the invention information processing equipment associated with each local database can use the raw data, together with the stored messages, conversion factors, and other information to display meaningful information. Thus, a user can interrogate the entire monitoring system, and obtain a rapid response, from any one of the multiple local databases; and the databases are kept updated with a minimal amount of data passing around the system. Examples of messages stored include "motor running" or "earth leakage tripped". Thus, the transmission of a single bit of information in a specified time slot can be accorded a meaningful interpretation by the user. Configuration parameters can include such data as whether a particular switch is normally open or normally closed, or whether an input is a logically inverting or non-inverting input. Scaling factors can be used, for example, to convert analog values to voltages, temperature readings, or motor speed readings.
Preferably, the raw data is passed around in blocks, with the data's position within the block being related to the address of the data gathering unit from which the data originated.
The system preferably includes at least one hand-held terminal which can communicate via an infrared communications channel with any one of the multiple local databases or input/output modules connected to the tree structure. With such a hand-held terminal, the user can easily display information from the system, and pass information to the system, quickly and easily from any module in the tree structure. The hand held terminal acts like any other processor in the tree structure.
Thus, the present invention consists in a monitoring system comprising: a plurality of input units, each one of the plurality of input units having a unique input address, an internal port, and an external port, the external port of each one of the plurality of input units being capable of receiving an input having an input value, each unique input address thereby being associated with a corresponding one of the input values; and a plurality of processors, the plurality of processors including a master processor, each one of the plurality of processors having a parent port and a daughter port, the parent port of each one of the plurality of processors being coupled to the daughter port of at most one other processor, the internal port of each one of the plurality of input units being coupled to the daughter port of a corresponding one of the plurality of processors, the daughter port of the master processor being coupled to the internal port of every input unit either directly or indirectly through one or more intermediate processors, each one of the plurality of processors including a database containing storage locations associated with each unique input address, wherein, in any particular one of the plurality of processors, the storage locations corresponding to a particular unique input address contain a locally latest-known value of the input value associated with the particular unique input address, and an information item which indicates whether or not the daughter port of the particular one of the plurality of processors is coupled, either directly or indirectly through one or more intermediate processors, to the input unit having the particular unique input address .
Preferably, the monitoring system further comprises a plurality of output units, each one of the plurality of output units having an output address, an internal port, and an external port, the external port of each one of the plurality of output units being capable of transmitting an output having an output value, each output address thereby being associated with at least one corresponding output, the internal port of each one of the plurality of output units being coupled to the daughter port of a corresponding one of the plurality of processors, the daughter port of the master processor being coupled to the internal port of every output unit either directly or indirectly through one or more intermediate processors, the database in each one of the plurality of processors containing storage locations associated with each unique output address, wherein, in any particular one of the plurality of processors, the storage locations corresponding to a particular unique output address contain an information item which indicates whether or not the daughter port of the particular one of the plurality of processors is coupled, either directly or indirectly through one or more intermediate processors, to the output
Figure imgf000008_0001
global system identification number;
(c) comparing the local system identification number to the global system identification number;
(d) if the local system identification number is equal to the global system identification number, then the method terminates, and if the local system identification number is not equal to the global system identification number, then the method continues;
(e) requesting an on-line scan; (f) providing, in the online scan, the physical address of the particular unit; (g) determining whether or not the physical address of the unit is known to the monitoring system; (h) if the physical address of the particular unit is known to the monitoring system, allocating the line address to the particular unit; and (i) if the physical address of the particular unit is not known to the monitoring system, causing the master processor to allocate a new line address to the particular unit.
The present invention further consists in the method for providing or updating the line address of the particular unit as described above, wherein, if the particular unit is not coupled directly to the master repeater, the step of causing the master repeater to allocate the new line number to the particular unit proceeds through one or more intermediate stages, each stage involving a request for an on-line scan at a progressively higher level of the tree structure, and the line address is passed from the master repeater to the particular unit through one or more ensuing intermediate stages. Brief Description of the Drawings
The invention will now be described with reference to the accompanying drawings in which: Figure 1 is a schematic block diagram of a two-wire monitoring system in accordance with the present invention;
Figure 2 is a schematic block diagram of a repeater as used in the two-wire monitoring system of Figure 1; Figure 3 is a schematic block diagram of a hand-held terminal as used to program and read repeaters in the two-wire monitoring system of Figure 1;
Figure 4 is a schematic block diagram of an input/output unit for connection to a repeater in the two-wire monitoring system of Figure 1;
Figure 5 is a typical voltage waveform which may appear on any interconnecting two-wire line in the monitoring system of Figure 1;
Figure 6 is a set of voltage waveforms which illustrate commands and data which may appear in any interconnecting two-wire line in the monitoring system of Figure 1; and
Figure 7 is a schematic block diagram of another typical monitoring system in accordance with the present invention.
Detailed Description of the Preferred Embodiments
Figure 1 illustrates a preferred embodiment of the present invention showing a communication network in which repeaters 100, 102, 104, 106, and 108 are connected in a hierarchical structure. Line 110 couples a daughter port of repeater 100 to parent ports of each of repeaters 102, 104, and 106. Similarly, other lines can connect daughter ports of repeaters 102, 104, and 106 to parent ports of other repeaters. For example, line 112 couples the daughter port of repeater 102 to the parent port of repeater 108.
Input/output (I/O) units can be connected to any line to provide analog and digital inputs to, and outputs from, the communication network. For example, I/O unit 116 is coupled to line 112 and provides digital input and output on bus 118, analog input on line 120, and analog output on line 122. The lines coupling the repeaters and I/O units are preferably two-wire lines. The repeater parent ports are preferably connected to the two-wire lines via opto-couplers so that all lines within the network are electrically isolated from one another. Thus, short circuits on any one line will not affect other lines. This makes the network robust and allows it to degrade gracefully as line faults occur.
Figure 2 illustrates a block diagram of a preferred embodiment of repeater 200 according to the present invention. Repeater 200 includes first central processing unit (CPU) 202 and second CPU 204, both coupled to dual-port random access memory (RAM) 206. The CPUs may be parts of microprocessors or microcontrollers. Second CPU 204 is coupled to first line driver 208 with parent port 210, and second CPU 204 is coupled to second line driver 212 with daughter port 214. First CPU 202 is further coupled to memory means which may include read-only memory (ROM) 216 and random-access memory (RAM) 218 which may be non-volatile. Keyboard 220 and display 222 are coupled to first CPU 202 to enable a user to communicate directly with repeater 200. Further, interface device 224 allows other devices, such as personal computers, to communicate with repeater 200. Interface device 224 is preferably a serial interface device such as one which complies with the RS 232 standard. Second CPU 204 can communicate with hand-held devices using infrared communication link 226. First line driver 210 serves to isolate repeater 200 electrically from parent line 228. Power for the components of repeater 200 is derived from a power supply which is not shown. Preferably, the power supply utilizes ac mains. First CPU 202 controls keyboard 220, display 222, interface device 224, as well as a host link protocol, a database, and a communication protocol which are described below. Second CPU 204 controls parent line 228 and daughter line 230, and also measures currents, voltages, and transition times associated with the daughter line. In addition, second CPU 204 controls operation of infrared communication link 226.
Figure 3 illustrates a preferred embodiment of hand-held terminal 300 in accordance with the present invention for communicating with repeater 200 over infrared communication link 226. The hand-held terminal may be used for remote retrieval and temporary storage of data. In addition, it may be used to upload information to the system, or to program repeaters and I/O modules. The hand-held terminal can further be used to display information rapidly from anywhere within the system because it has access to the updated local databases . Hand-held terminal 300 is similar to repeater 300, but does not include line drivers. As with repeater 200, hand-held terminal 300 includes two CPUs 302 and 304, each coupled to dual-port RAM 306. In addition, like repeater 200, hand-held terminal 300 further includes ROM 316, RAM 318 which may be non-volatile, keyboard 320, display 322, and interface device 324. Infrared link 326, which is coupled to second CPU 304, enables hand-held terminal 300 to communicate with infrared link 226 of repeater 200 or infrared links on I/O module 426. Power for the components of hand-held terminal 300 is derived from a power supply which is not shown. Preferably, the power supply utilizes batteries .
Figure 4 illustrates a preferred embodiment of an input/output (I/O) unit 400 in accordance with the present invention. I/O unit 400 includes CPU 402 coupled to ROM 404, RAM 406 which may be non-volatile, interface device 408, line driver 410, and I/O device 412. Both analog and digital inputs may be supplied to I/O device 412. Similarly, both analog and digital outputs may be obtained from I/O device 412. Line driver 410 serves to isolate I/O unit 400 electrically from line 414. Power for the components of I/O unit 400 is derived from a power supply which is not shown. Preferably, the power supply obtains power from the line.
Each I/O unit can be personalised to suit a particular situation. For example, the analog outputs may be voltages in the range of 0 to 5 volts, or they may be currents in the range of 4 to 20 milliamps. Alternatively, the outputs may simply consist of an open or closed circuit derived from relay contacts . Yet further, the outputs may be connected to a silicon controlled rectifier which is fired by the I/O unit. Digital inputs and outputs can also be provided with any desired number of bits. The number of inputs and outputs can also be personalised. In operation, the network comprises a single system master repeater and multiple other repeaters connected in a hierarchical structure using parent lines and daughter lines. A single line coupling two repeaters at different levels in the hierarchy is termed a daughter line with reference to the higher repeater and is termed a parent line with reference to the lower repeater. Each repeater can drive a single daughter line which may become the parent line of multiple repeaters at a lower level . Each repeater acts as a slave in response to commands which it receives on its parent line, and acts as a master to control other repeaters coupled to its daughter line.
The network utilises the concept of data points . In the present context, a data point is defined to be a signal which is to be accessed in some way by the network. Examples of such signals are analog input signals, analog output signals, digital input signals, digital output signals, information read from keyboards, and information to be displayed on displays. Every data point in the network is provided with an identification code, or address. Each data point forms an input to, or an output from, (or both an input to and an output from) an I/O unit or a repeater. A physical address of the data point is programmed into the I/O unit or repeater using a hand-held terminal. Every data point corresponding to an input must have a unique address. However, multiple output data points may have the same address . In this way, the same data can be sent to multiple locations. This also allows for messages to be broadcast and displayed on repeater displays. All I/O units are scanned at a minimum scan rate by the repeater to which they are connected to determine unit status and to transfer data. This ensures that any faults or irregularities are detected in a timely manner. In addition, the I/O units communicate with the repeater to which they are connected to indicate whether a data point requires accessing (for example if an input value has changed) . If such an access is required, the repeater scans a block which includes the appropriate data point and passes changes on to other repeaters. In this way, only data points with rapidly changing signals are accessed frequently; yet all data points are accessed at an acceptable minimum rate.
All data points are given a line address as well as the physical address. The system master repeater allocates the line address of the data points. The system master repeater can group data points together into blocks according, for example, to the rate at which their information changes or according to certain unifying features. Information is preferably transmitted digitally throughout the network on two-wire lines using a bipolar signal. Bipolar voltage pulses are supplied to daughter lines by repeaters; not to parent lines. This ensures that only one voltage source is connected to any individual line. Pulses of a first polarity can be used to provide power to I/O units or other devices, and information can be transmitted on the pulses having a second polarity. A logical "one" can, for example, be represented by a pulse of the second polarity with an amplitude which exceeds a predetermined value at a certain time. A logical "zero" can be represented by the absence of a pulse of the second polarity at the certain time, or a pulse of the second polarity which does not exceed the predetermined polarity at the certain time. The information transmitted on the two-wire lines is represented by a waveform consisting of a series of information pulses corresponding to control, address, and data bits . These are interspersed with synchronisation pulses. Figure 5 illustrates a typical waveform 500 of pulse amplitude A on the two-wire lines against time t. Pulses 502 are negative-going power pulses and are used by I/O units and other devices to provide power. Pulses 504-508 are information pulses which represent addresses, control information, or data transmitted on the two-wire line.
Pulses 504 and 506 represent logical "ones", and pulse (or absence of pulse) 508 represents a logical "zero". Most pulses have a duration indicated by reference numeral 510. However, synchronisation pulse 512 is distinguished from the other pulses by its longer duration. Preferably, the duration of the synchronisation pulse is 4 milliseconds .
The ability of any one repeater to measure voltage and current in its daughter line provides a method for units connected to that daughter line to communicate with the repeater. To communicate, the unit can place a short-circuit or low impedance across the line (i.e., pull down the line) at certain predetermined times. This reduces the overall line impedance at those certain predetermined times, and the repeater senses the reduction from its measured line voltage and current. Arbitrarily, a short-circuit on the line could be defined to represent a logical "zero", and the absence of a short-circuit could be defined to represent a logical "one". With this arbitrary definition, when a repeater seeks to receive data from a unit connected to its daughter line, it instructs the unit to send information, and then transmits a sequence of "ones". During the transmission of this sequence, the unit can send a "zero" to the repeater by short-circuiting the line or it can send a "one" by not short-circuiting the line.
In the preferred embodiment, the information bits following the synchronisation pulse are arranged into a train, and the bits within the train have a specific order. Furthermore, depending on the particular command transmitted, other bits can be added. Preferably, the bits within the train are separated into fields which may include a system bit field, a command bit field, a data bit field, and an error control bit field. Preferably, the system bit field contains three bits. The first bit following the synchronisation pulse is usually set to a logical "one" to indicate that a normal sequence of events will follow. In this normal situation, the second bit is designated as an error bit, or E bit. Any unit can indicate that the previous information should be ignored by pulling down the E bit. It is possible to allow more rapid communication by enabling interrupt procedures at regular intervals, such as at every tenth of a second. In this case, the processor pulls down the first bit after the synchronisation pulse, thereby inviting units to initiate an interrupt. Any unit may then pull down the second bit after the synchronisation pulse to interrupt the normal sequence. The unit may then proceed to place its information on the line. After the unit completes its procedure, it issues a continue command.
Any appropriate word length can be used for the data bit field. For example, the state of a switch can be represented by a single bit. Alternatively, information from an analog input unit may require many bits to give adequate resolution and dynamic range.
Preferably, an error detection mechanism is provided by including a parity check code or checksum field.
Preferably, the command bit field contains four bits, and a number of commands using these four bits are discussed below. Periodically, each repeater initiates a sequence of scans. These scans include: a request scan, a data scan, a system identification scan, and an on-line scan. A waveform of a request scan is illustrated in Figure 6a. The request scan indicates to all units connected to a repeater's daughter line that the repeater is prepared to accept a request. The request scan is initiated when the repeater transmits a request command in the command bit field. Arbitrarily, as shown by pulses 611, this command consists of four consecutive "zeros". Following this command, the repeater transmits an S bit 612 which units may pull down to request a system identification scan, and a B bit 613 which units may pull down to request a block scan. The repeater then transmits a stream of
"ones" 614 which the units may pull down to supply a block address to the repeater. The result of a system identification or a block request is discussed below. Following data block request bits 614, the repeater transmits a further train of eight bits 615 which it pulls down to indicate a checksum.
A waveform of a data scan is illustrated in Figure 6b. The data scan indicates to all units connected to a repeater that the repeater is prepared to accept and relay data. The data scan is initiated when the repeater transmits a data scan command in the command field. Arbitrarily, as shown by pulses 621, the data scan command consists of three consecutive "zeros" followed by a "one". Following this command, the repeater transmits a block number field 622 which consists of a stream of six bits. Following the block number field, the repeater transmits a data field consisting of an appropriate number of "ones" which units may pull down in order to send information. Alternatively, if the repeater is passing on data (for example, for a parent-owned data point) the repeater, rather than the units, will place data appropriately within the field. Each unit in the block transmits its data in an appropriate data sub-field. As shown in Figure 6b, a first unit places its data in sub-field 623. Thereafter, subsequent units place their respective data in the appropriate data sub-fields, until finally the last unit in the block places its data into final data sub-field 624. Following this, the repeater transmits a train of bits comprising a checksum. Each unit also computes the checksum from the entire data field and checks to ensure that its checksum matches that transmitted by the repeater. If any unit finds that its checksum does not match, it will pull down the E bit following the next synchronisation pulse. Thus, all units must agree unanimously for data to be accepted. Without unanimous agreement, the data scan block is repeated.
An additional error detection mechanism is provided as follows: As each unit transmits each data bit in its data sub-field, it checks that the information is reproduced correctly on the line. After each data sub-field, the repeater transmits a trailing "one". If the unit which transmitted the data sub-field determines that all of its bits were reproduced correctly, it causes the trailing "one" to be an inverted version of the last data bit in the sub-field. The repeater then checks to ensure that the last bit was repeated and inverted, and detects an error if this is not the case. Specifically, the presence of two "ones" indicates the error condition that the unit is off-line. The presence of two "zeros" indicates that an error has occurred, for example, by two units having the same address, or if there is a short-circuit on the line.
A waveform of a system identification (ID) scan is illustrated in Figure 6c . The system ID scan indicates to all units that the master repeater is prepared to identify changes to the monitoring system. The system ID scan is initiated when the master repeater transmits a command system ID command in the command field. Arbitrarily, as shown by pulses 631, the system ID command consists of two consecutive "zeros" followed by two consecutive "ones". Following the system ID command, the master repeater transmits a system identification number or line address count 632 followed by a "one" which represents a request bit 633. All units read the system identification number 632 and, if any unit finds that the number does not correspond to one which it has stored locally, it goes into an "off-scan" state in which it relinquishes its line address and then pulls down request bit 633 to indicate that it needs to have a new line address allocated using a line address scan.
A waveform of a line address scan is illustrated in Figure 6d. The line address scan indicates that the master repeater has received a request to provide a unit with a line address. The line address scan is initiated when the repeater transmits a line address command in the command field. Arbitrarily, as shown by pulses 641, the line address command consists of a "zero", followed by a "one", followed by two "zeros". After this, the repeater transmits an F bit 642 (described later) followed by a stream of ten "ones" onto which all off-scan units attempt to place their address 643 by pulling down appropriate bits.
As each bit in the address field 643 is transmitted, each off-scan unit attempts to place its corresponding address bit on the line and checks to ensure that the bit was correctly placed. As soon as any unit detects that a "zero" was placed on the line when it intended to place a "one" on the line, it discontinues attempting to put its own address on the line. In this way, if multiple units are attempting to place their addresses on the line, all but the unit with the lowest address will discontinue in the current line address scan. This procedure is termed "arbitrating onto the line". The unit which was successful in placing its address onto the line is termed the arbitrated-on unit, and the unsuccessful units are termed arbitrated-off units.
An M bit (more bit) 644 is provided after the ten address bits, and any arbitrated-off units can pull this M bit down to indicate that other units wish to initiate a line address scan. The repeater detects that the M bit is pulled down, and will initiate another line address scan later.
Following the M bit, a T bit (type bit) 654 is provided which the arbitrated-on unit can pull down to indicate that it is an input unit, or leave high to indicate that it is an output unit. Following the T bit, a second F bit 646 is provided.
Following the second F bit, the repeater transmits a size field 647 consisting of a stream of eight "ones" which the arbitrated-on unit can pull down appropriately to indicate to the repeater how many data bits the arbitrated-on unit needs .
A line address field 648 of sixteen bits follows the size field. The information in this field contains the line address of the arbitrated-on unit and is provided by the repeater. The arbitrated-on unit reads and stores this address. The first six bits of the line address correspond to the block number, and the remaining ten bits correspond to the position of the arbitrated-on unit's data sub-field within the data field for the data block. A further bit 649 is provided after the line address field which bit can be pulled low to cause the system ID number to be incremented when a line address is allocated for the first time. A checksum field 650 is then provided as the last field in the line address scan.
The F bits 642 and 646 are bits provided in the line address scan so that the repeater can force addresses or sizes onto the line. If the repeater pulls these F bits down, units do not attempt to place their information on the line, but accept information from the repeater.
A new unit may be added to the network at any time and, when it is first added, it must bring itself on-line as follows. Initially, the new unit is in an "off-scan" state in which it does not have a line address allocated. As discussed above, the repeater initiates request scans occasionally. After the new unit detects a request scan, it pulls down the system ID bit, and when it detects a system ID scan, it pulls down the request bit. In response, a line address scan is initiated as described above and the new unit attempts to arbitrate its address onto the line. If it is arbitrated-out, it pulls down the M bit and waits until another line address scan is initiated. The new unit continues the above procedure until it is arbitrated-on and is allocated a line address . In addition to their physical addresses, all data points are allocated line addresses. The physical addresses may be chosen arbitrarily by the user, and are possibly not sequential. Conversely, the line addresses are allocated by the master repeater, and are allocated sequentially because the line address determines the time slot in the data scan which is occupied by the data point. Thus, if there are un-allocated line addresses, information with no significance will be passed around the system. Line addresses are further allocated because, in this way, data points sharing a common feature may be grouped together advantageously, for example, to optimise data throughput.
Each data point should have a unique line address. That is, no two data points, with the exception of certain output units, should be given the same or overlapping line addresses. Thus, only one repeater is given the task of allocating line numbers, and this repeater is the master repeater. In all other respects, the master repeater may be identical to any other repeater. The need for only a single repeater to allocate line numbers is the primary motivation for the provision of the master repeater.
It is necessary that all data points should keep an accurate record of their line addresses, and these addresses should be confirmed occasionally. However, it is undesirable for each data point to check its address too often because this can slow down the system. In particular, when power is connected to the system, it will be slowed down significantly if all data points request allocation or verification of their line addresses. To overcome these conflicting requirements, a system identification number is produced and maintained by the master repeater, and the system identification number is incremented each time a new line address is allocated. Occasionally, all data points check a locally stored version of the system identification number against the one transmitted by the master repeater. If the numbers are not equal, then the data point requests a line address scan by pulling down a system request bit. In this case, all line addresses are downloaded from the repeater above. Once line addresses are allocated, all repeaters act independently. They service requests on their daughter lines, and issue requests on their parent lines.
Line addresses are allocated with the use of an on-line scan as follows: The data point requests an identification scan. Subsequently, a system identification scan is provided, and a global system identification number from the master repeater is included in the scan. The data point compares its locally stored system identification number to the global system identification number and, if they are different, it requests an on-line scan and includes its physical address in the on-line scan. The repeater to which the data point is coupled determines if the physical address is known and, if it is, transmits the corresponding line address to the data point. However, if the physical address is not known to the system, the appropriate messages are passed to the master repeater to cause the master repeater to allocate a new line address to the physical address.
When the new unit comes on-line, all repeaters in the tree structure store the new unit's address as read from the line address scan. All repeaters which are in the same branch as the new unit and are higher in the tree structure set a daughter-owned bit corresponding to the unit's address. Conversely, all repeaters which are in the same branch as the new unit and are lower in the tree structure, or alternatively are not in the same branch, set a parent-owned bit corresponding to the unit's address . The daughter-owned and parent-owned bits comprise one arrangement in which an information item can be provided to indicate the position of the unit relative to each processor.
With this information item, repeaters can decide which direction data should be passed. Thus, if a repeater is informed by one of its daughter-owned units that the unit's data has changed, the repeater relays the changed data upwards (i.e., to the repeater's parent). Conversely, if a repeater is informed by one of its parent-owned units that the unit's data has changed, the repeater relays the changed data downwards. This procedure coupled with the hierarchical structure ensures that data flows away from originating units, and flows through all branches to all repeaters.
As an example, Figure 7 gives a schematic illustration of the data flow in a typical monitoring system 70. Assume that input unit 71 reads a changed input value and therefore has new data to transmit. Unit 71 requests a data scan and during the subsequent data scan passes the new data to its parent, repeater 72. To repeater 72, unit 71 is daughter-owned. Therefore, repeater 72 stores the new data and passes it upwards during an appropriate data scan to repeater 73. Similarly, repeater 73 regards unit 71 as being daughter-owned, and therefore stores the new data and passes it upwards to repeater 74. Repeater 75 reads the new data on the same line and during the same data scan as repeater 73. However, repeater 75 regards unit 71 as being parent-owned. Therefore, it stores the new data and passes it downwards to repeater 76. Similarly, repeater 77 reads the new data from the same line and during the same data scan as repeater 72. However, repeater 77 regards unit 71 as being parent-owned. It therefore stores the new data and passes it downwards to repeater 78.
Further flexibility is added to the system by the inclusion of a block command in which control and other information can be transmitted. The block command can be used, for example, for configuring the system, or for loading new messages.
It should be appreciated that information flows both upwards and downwards in the tree structure. Each repeater processes information which it receives both on its parent line and on its daughter line, and relays information appropriately.
The above combination of hierarchically connected hardware together with an operating protocol yields a monitoring system with a number of useful independent features as follows .
The line addresses can be allocated sequentially by the master repeater, independently of a unit's physical location or address. This can be used to ensure that no addresses are left unused, so that data can be transmitted in contiguous streams .
Each unit requests a data scan only when it has changed data to transmit. Thus, unnecessary scanning is avoided; although routine periodic scanning can be used to detect faults.
Units are arranged into blocks according to their line addresses. The master repeater can re-allocate the line address at any time. Thus, units which share some unifying quality can be grouped together in a block, regardless of the units' locations or physical addresses. One relevant unifying quality is the rate at which the units' data change. Thus, it is useful to group together units whose data changes at similar rates. In this way, blocks with rapidly changing data are scanned frequently, and blocks with slowly changing data are scanned less frequently. This prevents redundant information being passed around the monitoring system. Units may also be grouped together advantageously if the data streams which they record or transmit change substantially simultaneously.
The master repeater can allocate the line addresses such that the blocks have uniform sizes.
Thus, there has been described a distributed two-wire monitoring system having multiple information gathering devices and multiple processors, with each processor containing a local version of a database, wherein the local versions of the database are updated quickly and efficiently after a change in the information gathered by one or more of the information gathering devices. Those skilled in the art will appreciate that many modifications can be made to the invention as broadly disclosed without departing from the spirit or scope of the particular embodiment described. The described embodiment should therefore be taken to be illustrative and not restrictive. It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Claims

CLAIMS :
1. A monitoring system having: a plurality of input units, each one of the plurality of input units having a unique input address, an internal port, and an external port, the external port of each one of the plurality of input units being capable of receiving an input having an input value, each unique input address thereby being associated with a corresponding one of the input values; and a plurality of processors, the plurality of processors including a master processor, each one of the plurality of processors having a parent port and a daughter port, the parent port of each one of the plurality of processors being coupled to the daughter port of at most one other processor, the internal port of each one of the plurality of input units being coupled to the daughter port of a corresponding one of the plurality of processors, the daughter port of the master processor being coupled to the internal port of every input unit either directly or indirectly through one or more intermediate processors, each one of the plurality of processors including a database containing storage locations associated with each unique input address, wherein, in any particular one of the plurality of processors, the storage locations corresponding to a particular unique input address contain a locally latest-known value of the input value associated with the particular unique input address, and an information item which indicates whether or not the daughter port of the particular one of the plurality of processors is coupled, either directly or indirectly through one or more intermediate processors, to the input unit having the particular unique input address.
2. The monitoring system of claim 1, further including plurality of output units, each one of the plurality of output units having an output address, an internal port, and an external port, the external port of each one of the plurality of output units being capable of transmitting an output having an output value, each output address thereby being associated with at least one corresponding output, the internal port of each one of the plurality of output units being coupled to the daughter port of a corresponding one of the plurality of processors, the daughter port of the master processor being coupled to the internal port of every output unit either directly or indirectly through one or more intermediate processors,the database in each one of the plurality of processors containing storage locations associated with each unique output address, wherein, in any particular one of the plurality of processors, the storage locations corresponding to a particular unique output address contain an information item which indicates whether or not the daughter port of the particular one of the plurality of processors is coupled, either directly or indirectly through one or more intermediate processors, to the output unit having the particular unique output address.
3. The monitoring system of claim 1 or 2 wherein each one of the plurality of processors relays signals from its parent port to its daughter port thereby establishing a tree structure having a plurality of branches comprising processors wherein a flow of data is established in the branches from parent ports to daughter ports, the flow of data being reversed in a particular branch after a requesting input unit coupled to the particular branch requests a data scan.
4. A method for updating multiple versions of a database using the monitoring system as claimed in any one of claims 1-3 when a specific unit value changes, the specific value being associated with a specific input unit having a specific input address, the specific input unit being coupled to a specific processor, the method comprising the steps of: sensing in the specific input unit that the specific input value has changed; sending a request for a data scan from the specific input unit to the specific processor; and placing the data indicative of the specific input value onto the internal port of the specific input unit in a time slot corresponding to the specific address; passing the data indicative of the specific input value onto all branches of the tree structure and enabling all databases to update their latest-known value of the specific input value associated with the specific input address.
5. A method for providing or updating a line address for a particular unit of the monitoring system as claimed in any one of claims 1-3, the particular unit being provided with a local system identification number, the method comprising the steps of: (a) the particular unit requesting an identification scan;
(b) providing a system identification scan containing a global system identification number;
(c) comparing the local system identification number to the global system identification number; (d) if the local system identification number is equal to the global system identification number, then the method terminates, and if the local system identification number is not equal to the global system identification number, then the method continues;
(e) requesting an on-line scan;
(f) providing, in the online scan, the physical address of the particular unit;
(g) determining whether or not the physical address of the unit is known to the monitoring system; (h) if the physical address of the particular unit is known to the monitoring system, allocating the line address to the particular unit; and (i) if the physical address of the particular unit is not known to the monitoring system, causing the master processor to allocate a new line address to the particular unit.
6. The method as claimed in claim 5 for providing or updating the line address of the particular unit wherein, if the particular unit is not coupled directly to the master repeater, the step of causing the master repeater to allocate the new line number to the particular unit proceeds through one or more intermediate stages, each stage involving a request for an on-line scan at a progressively higher level of the tree structure, the line address being passed from the master repeater to the particular unit through one or more ensuing intermediate stages.
PCT/AU1994/000552 1993-09-16 1994-09-15 Two-wire monitoring system WO1995008225A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU76894/94A AU7689494A (en) 1993-09-16 1994-09-15 Two-wire monitoring system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPM1271 1993-09-16
AUPM127193 1993-09-16

Publications (1)

Publication Number Publication Date
WO1995008225A1 true WO1995008225A1 (en) 1995-03-23

Family

ID=3777207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU1994/000552 WO1995008225A1 (en) 1993-09-16 1994-09-15 Two-wire monitoring system

Country Status (2)

Country Link
WO (1) WO1995008225A1 (en)
ZA (1) ZA947080B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5184121A (en) * 1989-03-03 1993-02-02 Hitachi, Ltd. Field sensor communication method and system
US5307058A (en) * 1987-10-27 1994-04-26 Matsushita Electric Works Ltd. Remote supervisory and controlling system
AU6466494A (en) * 1990-05-25 1994-08-25 Schlumberger Industries, Inc. Two and three wire utility data communications system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307058A (en) * 1987-10-27 1994-04-26 Matsushita Electric Works Ltd. Remote supervisory and controlling system
US5184121A (en) * 1989-03-03 1993-02-02 Hitachi, Ltd. Field sensor communication method and system
AU6466494A (en) * 1990-05-25 1994-08-25 Schlumberger Industries, Inc. Two and three wire utility data communications system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FLIGHT INTERNATIONAL, Volume 140, Number 4296, 4-10 December 1991, GRAHAM WARWICK, "Virtual Battlefield", pages 28 and 219. *

Also Published As

Publication number Publication date
ZA947080B (en) 1995-05-10

Similar Documents

Publication Publication Date Title
EP0404414B1 (en) Apparatus and method for assigning addresses to SCSI supported peripheral devices
AU626880B2 (en) Peer-to-peer register exchange controller for plcs
US5629685A (en) Segmentable addressable modular communication network hubs
US5708680A (en) Network utilizing a controller and base transceivers to route voice packets
JP2510080B2 (en) System device and method for connecting multiple protocol terminals
US5664101A (en) Intelligent industrial local area network module for use in a distributed control system
EP0435037B1 (en) Master slave industrial token passing network
US6430636B1 (en) Method and system for a physical bus selector
EP0193980A1 (en) Local area network operating on the multiple bus system
EP0230549B1 (en) Linear-space signalling for a circuit-switched network
US5680113A (en) Dynamic address assignments to serially connected devices
JPH0210622B2 (en)
EP0253381A2 (en) Data transfer apparatus
JPS58502027A (en) Peripherals adapted to monitor low data rate serial input/output interfaces
JPH0817394B2 (en) Interrupt processing method of time division multiplex transmission system
WO1995008225A1 (en) Two-wire monitoring system
JPH04337805A (en) Multiple adaptor response detection circuit
EP0945807A1 (en) Adress remapping for a bus
US5323145A (en) Alarm collection architecture with redundant bus
EP0286235B1 (en) Automatic determination of the number of processor modules for multiprocessor systems
EP0080369B1 (en) Peripheral unit adapted to monitor a low data rate serial input/output interface
JP2698733B2 (en) AV equipment control system
JPH09181752A (en) Polling method data collection system
EP0076494A2 (en) Data transmission bus system for a plurality of processors
CA1196978A (en) Asynchronous interface

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CN US VN

AL Designated countries for regional patents

Kind code of ref document: A1

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

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase