WO1987007459A1 - Communication protocol for a network - Google Patents

Communication protocol for a network Download PDF

Info

Publication number
WO1987007459A1
WO1987007459A1 PCT/AU1987/000158 AU8700158W WO8707459A1 WO 1987007459 A1 WO1987007459 A1 WO 1987007459A1 AU 8700158 W AU8700158 W AU 8700158W WO 8707459 A1 WO8707459 A1 WO 8707459A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
network
modules
information
control
Prior art date
Application number
PCT/AU1987/000158
Other languages
French (fr)
Inventor
George Vaskovics
Steve Gallai
Istvan Rakoczy
Original Assignee
Laocon Control Technology Limited
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 Laocon Control Technology Limited filed Critical Laocon Control Technology Limited
Publication of WO1987007459A1 publication Critical patent/WO1987007459A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

A processing control network (11) comprising a plurality of processing modules (13) connected to a ring network has a communication protocol. Each module has an input port (21), an output port (23) and a computer controlled switch (25) which can be operated to route communications through the module in a number of different ways. The protocol involves one module (13) seizing control of the network (11) to become a transmitter module by opening its switch (25) and transmitting information to the other modules. The other modules close their switches (25) to become receiver modules for receiving this information in succession about the network. The transmitter module transmits information from its output port (23) and subsequently receives the same information eventually at its input port (21) after passing around the network and so can perform a verification check in the transmitted information. Subsequently the transmitter module relinquishes control of the network (11) by closing its switch (25) to become a receiver module and allows the next module (13) the opportunity to become the transmitter module.

Description

"Communication Protocol for a Network"
THIS INVENTION relates to a communication protocol for a processing control network and in particular a method of communicating between processing modules which comprise the network.
Moreover, the invention finds particular application with a processing control network which comprises a plurality of processing modules interconnected in a ring network, whereby the modules are connected to each other by a single line facilitating serial communication from one module to another. Each module is provided with a com¬ munications interface and a processing means. The com¬ munications interface has an input port to receive infor¬ mation transmitted along the line from a preceding module, an output port to transmit information along the line to a successive module, and a switching means which intercon¬ nects the input and output ports of a module to selec¬ tively enable or disable a direct information flow through the module from a preceding module to a succeeding module, whilst permitting receipt of the information by the module. One of the modules is a supervisory module which initiates and co-ordinates communications between the modules of the network. The other modules are slave modules which have processing means capable of performing local data acquisition and processing functions in accor¬ dance with a control program allocated to the module to perform a specific task.
Such a processing control network as described above is particularly suitable for the control of industrial pro¬ cesses in which integral aspects of the network are re¬ quired to be exposed to a harsh industrial environment. This arises due to the processing control network having distributed intelligence so as to perform complex parallel
^5» processing whilst maintaining the characteristics of a local area network.
To facilitate the communications between the modules which comprise the network, it has been necessary to devise a communication protocol which is extremely tolerant to operating in a relatively noisy electrical/electronic environment, normally prone to introducing errors in data transfer between modules.
Consequently, it is an object of the present invention to provide a communication protocol for a processing control network of the above kind which facilitates the error free exchange of information between modules. It is a prefer¬ red object of the invention to endeavour to maintain the communication link between modules in the event of a hardware error.
In accordance with one aspect of the present invention, there is provided in a processing control network com¬ prising a plurality of processing modules interconnected in a ring network by a single line enabling serial type communication between said modules, wherein each process¬ ing module has a communications interface means and a processing means, said interface means having an input port to receive transmitted information from a preceding module, an output port to transmit information to a suc¬ ceeding module and a switching means interconnecting said ports being operable to selectively enable or disable a direct line of communication between said ports through the module;
a method of communicating between modules comprising the steps of:- one module seizing control of the network to become a transmitter module by opening its switching means to transmit information to the other modules;
the other modules closing their switching means to become receiver modules to receive said information in succession about said network;
said transmitter module transmitting said data from an output port thereof sequentially to said receiver modules to eventually receive said information at the input port of said transmitter module; and
said transmitter module checking said information at said input port thereof to determine the validity of the transmission of said information.
Preferably, the method includes said transmitter module reliquinshing control of said network after completing said transmission of said information by:-
indicating to said receiver modules its intention to relinquish control of said network during the trans¬ mission of said information;
receiver modules requiring to attain control of said network opening their switching means to receive said control after the transmission of said information;
said transmitter module transmitting a renunciating signal at its output port to relinquish control of the network a prescribed time after said transmission of information;
the first module succeeding said transmitter module which has its switching means open accepting control of the network upon receipt of said renunciating signal at its input port to become the transmitter module; and
transmitting a confirmatory signal at its output port to the other module successively, indicating that it has control of said network, causing the other modu- les to become receiver modules.
Preferably, a supervisory module in the processing control network initiates and co-ordinates communication between said modules cyclically.
Preferably, the supervisory module initiates communica¬ tions by:-
becoming the transmitter module;
the other modules becoming receiver modules;
initiating transmission of information therefrom; and
relinquishing control of said network until it has regained the right to seize control of the network from the other modules.
Preferably, cycle of operation of the network involves the steps of:-
the supervisory module initiating communications;
each module requiring control of the network to transmit information attaining said control in sue- cession about the network until such time as the supervisory module has regained control of the net- work; the supervisory means initiating local processing by the processing means of each module in accordance with a prescribed local control program;
upon completion of said processing, the other modules indicating the termination of said processing succes¬ sively to said supervisory module; and
said supervisory module initiating another cycle of communications.
Preferably, transmission error checking is provided by a transmitter module by checking the validity of the trans¬ mission of each bit of information by comparing the trans¬ mitted bit at the output port thereof with the received bit at the input port thereof.
Preferably, said information comprises three parts, the first part indicating the start of the information, the second part comprising an information block of data or command, and the third part providing a parity check on the information block transmitted, whereby upon receipt of said information by a receiver module, said receiver module recalculating said parity check from the informa¬ tion block received and if invalid transmitting a repeat signal to said transmitter module indicating that said information requires to be retransmitted, said transmitter module consequently transmitting a null signal to or said receiver modules indicating that the previously transmit¬ ted information was void and that said information will be retransmitted.
Preferably, a transmitter module repeats the transmission of information in respect of which it previously receives a null signal from a receiver module a prescribed number of times in response to the receipt of a null signal, whereinafter it relinquishes control of the network to become a receiver module.
Preferably, a receiver module initiates an error checking routine if transmitted information is not received thereby within a prescribed time, said error checking protocol comprising the steps of:-
transmitting a predetermined error checking signal at its output port and checks the receipt of the same at its input port;
if said error checking signal is not received, said receiver module opening its switching means to seize control of the network and become a psuedo supervi¬ sory module;
indicating to the other modules that the preceding module is faulty;
overlooking checking of information transmitted thereby by disregarding information received at its input port;
relinquishing control of the network to a succeeding module requiring said control; and
whereinafter for the duration of said error, trans¬ mitter modules perform communications without said checking.
Preferably, said psuedo supervisory module initialises checking of the modules which are present in the network and initiates processing by the processing means of all modules. The invention will be better understood in the light of the following description of one specific embodiment thereof. The description is made with reference to the accompanying drawings, wherein : -
Fig. 1 is a simplified block diagram of the process¬ ing control network with which the communication protocol operates;
Fig. 2 is a block diagram showing a processing module in more detail;
Fig. 3 is a schematic representation of a block of information transmitted by a transmitter module; and Fig. 4 is a wave form diagram indicating the trans¬ mission of information from a transmitter module at a point in the line of the network with respect to time.
The embodiment is directed towards a communication proto¬ col used in a processing control network of the kind shown at Fig. 1 of the drawings.
The processing control network 11 consists of a plurality of interconnected processing modules 13. The modules 13 are interconnected by a transmission means in the form of a serial data transmission line 15 and are interconnected in a ring network formation. The transmission line utili¬ sed in the present embodiment is unidirectional, whereby communication between modules is effected in a clockwise direction.
Each module has a communications interface means 17 and a processing means 19. The communications interface means 17 includes an input port 21, an output port 23 and a switching means 25 serially interposed therebetween. The processing means 19 may include a microcomputing means (not shown) which provides intramodule processing and/or control of locally connected peripherally devices (not shown). The processing means 19 is connected in parallel with the switching means 25 and serially between the input port 21 and the output port 23. The processing means 19 interacts with the communications in the interface means 17 to effect selective operation of the switching means 25.
A module 13 by operation of the switching means 25 is capable of functioning in two different modes. The first mode enables the module to become a transmitter module by opening the switching means 25 and the second mode enables the module to function as a receiver module when the switching means 25 is closed. Thus, when a transmitter module, information is transmitted from the output port 23 thereof by the processing means 19 to a succeeding module in the network and incoming information transmitted to the module may simultaneously or subsequently be received at the input port. When the module is a receiver module, information received at the input port 21 thereof may be passed directly through to the output port 23 via the closed switching means 25 at the same time allowing the processing means 19 to receive the information transmitted through the module or intramodule processing.
One module 13 is capable of initiating and co-ordinating communications between the various modules of the network and is denoted a supervisory module 27, the other modules are denoted slave modules 29. The supervisory module is provided with a special processing means to facilitate the initiation and co-ordination of the communications proto¬ col of the network. The other slave modules, on the other hand, are provided with processing means to perform pro¬ cessing functions locally pertaining to the control and operation of an industrial system. Before describing the communications protocol in more detail, the basic unit of information transmitted along the line 15 of the network will be described with refe¬ rence to Fig. 3 of the drawings. This unit is known as a block of information and comprises a series of bits arran¬ ged into four different groups of bits which indicate four different types of information. As shown in the drawings, in all there are 26 bits of data which make up a block and this block may be one of two types as denoted by the bit value stored at group 4, or bit 25 of the block. In one type, the block is a data block which is used to convey data from one module to another, and in the other type the block is a command block which is used to convey a command from one module to another.
When the block is a data block, group 1 of the block con¬ veys a 16 bit data word and byte 2 of the block conveys an address for which the data is destined. When the block is a command block, group 2 of the block instead of conveying an address conveys an encoded word signifying the command type, and group 1 conveys the parameter, if any, which accompanies the command word.
The third group of the block, or bit 24, is provided to carry a renunciating signal which denotes whether the information block is the last block to be transmitted by a transmitter module.
For example, group 4 of the information block may be set to a high level indicating that it is a command block, or alternatively set to a low level indicating that it is a data block. Similarly, group 3 of the block may be set to a high level to denote that it is the last block of infor¬ mation to be transmitted by the transmitter module, or altneratively set to a low level signifying that the transmitter module intends to transmit further information blocks. With regard to the command type, which may be contained at group 2 of the information block when it is of the command block type, one of several different command words may be conveyed therein. For the present processing control network, ten such command words are used which shall be described in more detail later. The parameters for each command word are conveyed by group 1 of the command block.
An information block is transmitted by a transmitter module sequentially one bit at a time, wherein a high order bit precedes the transmission of a low order bit until all the bits of the information block have been transmitted. That is, bit 25 is transmitted first, follo¬ wed by bit 24 and so on. For satisfactory transmission, the appropriate level of each bit is transmitted by holding the signal level at the output port 23 connected to the line 15 to the appropriate level for the bit for a prescribed period of time 77.
Now describing the communications protocol of the network in more detail, the normal operation of the network will firstly be described.
The normal operation of the network involves two modes of operation which are performed sequentially to form a cycle of operation. This cycle of operation is performed periodically thereafter to effect control of the system to which the network is applied.
The first mode of half cycle involves the transmission of data and commands between modules and the second mode or half cycle involves local processing, acquisition and control of data in accordance with the control program of the module. These half cycles are co-ordinated by the supervisory module which initiates the first half cycle and after its completion initiates the second half cycle. When this is completed, the first half cycle is initiated again and so on. The communications protocol functions to repeat the execution of any half cycle upon the detection of an error condition during the particular half cycle.
In the first half cycle, with all modules functioning correctly, one module becomes the transmitter module (this will initially be the supervisory module) and all other modules are receiver modules. In this mode, the trans¬ mitter module has its switching in means open and the receiver modules have their switching means closed. As a precondition to operation of the network, at least one module has a switching means open at any one time to avoid the imposition of eroneous data on the line. Thus, at any one time, there will be only one transmitter module with all other modules acting as receiver modules. Consequent¬ ly, to allow a receiver module to transmit information, the right to transmit information on the network, i.e. control the network, is transferred sequentially around the ring network from one module to another. This will be continued in the half cycle until until all modules have had an opportunity to transmit data on the network. In the case of normal operation, the receiver module closest to the transmitter module in the direction of transmission about the line, will first obtain the right to control the network upon the transmitter module relinquishing the same. Subsequently, this right is passed sequentially around the network until the first transmitter module regains control of the network once more. For the purposes of the present processing control network, this first transmitter module is the supervisory module 27.
The actual manner in which an information block is trans¬ mitted by a transmitter module is performed in the follow¬ ing manner, and is shown at Fig. 4 of the drawings. Firstly, a transmitter module maintains a high level on its line output until the actual start of the transmission of the information block. Upon initiating transmission of the block, a start signal SI of a low level is transmitted for the said time period Tl at the output port 23 of the transmitter module. Following the transmission of this signal bit, each bit of the information block from a high order bit to a low order bit is transmitted one bit at a time. After the last bit of the block has been transmit¬ ted, a parity check sum CS of the block is transmitted. This parity check sum for the purposes of the present embodiment is the exclusive-or value of the four groups which comprise the information block and a predetermined constant. Consequently, a receiver module can check the validity of the information block received thereby by recalculating the parity check sum for the particular information block received. If the calculated check sum concords with the received check sum then it is concluded that the information block received is valid.
After the transmission of the parity check sum CS by the transmitter module, the output port 23 transmits a high level signal again signifying the end of the transmission. This high level is maintained at the output port for a second time period T2 whereinafter the transmitter module may perform a checking routine CR to ascertain the validity of the transmission of the information block to the receiver modules. This checking routine CR involves determining whether the high level signal transmitted by the output port after the transmission of the information block is received at the input port of the transmitter module. This feature can be used by the receiver modules to signal to the transmitter module that an invalid infor¬ mation block had been received, i.e. the calculated parity check sum does not match the transmitted parity check sum CS. upon such an event occurring a receiver module shall open its switching means 25 and transmit a low level repeat signal on the line on its output port. Consequent¬ ly, when the transmitter module checks the level of its input port during the checking routine CR, it will detect the low level repeat signal and not a high level as trans¬ mitted from its output port after the transmission of the information block. Hence, the transmitter module is advised of the occurrence of a faulty transmission of the information block and so can retransmit the information block a further time. In order to inform the receiver modules that the previously transmitted information block shall be retransmitted, a low level null signal is trans¬ mitted by the output port of the transmitter module for a time period T3 after the performance of the checking routine CR by the transmitter module. After the third time period T3, the transmitter module returns a high level signal to the output port and recommences the trans¬ mission of the information block in the manner previously described.
An additional error checking mechanism built into a trans¬ mitter module involves the checking of the signal received at the input port after the transmission of a signal at the output port. Thus, every bit of an information block can be checked immediately upon its transmission to see that it has indeed been transmitted around the entire network, by noting its receipt at the input port of the transmitter module. Obviously, the level of the bit transmitted by the output must concord with the level of the bit received at the input port throughout the trans¬ mission of the information block, following the assumption that all receiver modules would normally have their switching means closed. Consequently, if these levels do not concord, the transmitter module itself can conclude that an error has occurred in the transmission of the information block and initiate the transmission of a low -level signal during the third time period T3 after the completion of the transmission of the information block to signify to the receiver modules that this transmission was invalid and shall be repeated. All of the modules are programmed to allow for a maximum fourth time period T4 to elapse from the performance of the checking routine CR by the transmitter module, by which time the transmission of the next information block must be started. Such a fea¬ ture facilitates operation of the network in situations where a hardware error has occurred in the ring network, e.g. where the line has been broken or the communications interface of a module is operating incorrectly. The im¬ portance of this feature will become apparent later in the description.
i_s previously mentioned, an information block can either be a data block or a command block. The data blocks merely transfer data information from one module to ano¬ ther, whereas command blocks actually influence the manner of communication itself. An example of the latter occurs when the transmitter module wishes to relinquish control of the network and pass the right to transmit to a succeeding receiver module. In such an instance, the third group of the information block is set to a level indicating that the transmitter module wishes to relin¬ quish control of the network upon the conclusion of the transfer of this information block. Thus all receiver modules are notified of the impending renunciation of control of the network by the transmitter module and take appropriate action to seize control of the network upon completion of the transmission of the information block. The transmitter module upon relinquishing control of the network issues a renunciating signal RS in the form of a high level, followed by a low level, followed by a high level signal, i.e. 1-0-1, which is transmitted after a fifth time period T5 after the information block has been transmitted. During the time following the successful transmission of the information block and prior to the transmission of the renunciating signal RS by the trans¬ mitter module, all receiver modules which require to seize control of the network, i.e. wish to avail themselves of the right to transmit data to other modules, open their switching means. Consequently, when the renunciating signal RS is transmitted, the first receiver module suσ- ceedingly the transmitter module having its switching means open, will receive the renunciating signal at its input port, preventing other modules from receiving the same. Any module which does not want to acquire the right to transmit retains its switching means closed during the period T5 so that the renunciating signal RS may pass directly through the module to a succeeding module. A receiver module receiving the renunciating signal RS subsequently transmits a high level confirmatory signal from its output port to indicate to other modules that control of the network has been seized. Consequently, this receiver module becomes a transmitter module and the previous transmitter module becomes a receiver module. Accordingly, an information block may be transmitted by the newly asserted transmitter module in accordance with the communications protocol previously described.
As previously mentioned the communications protocol per¬ formed by the processing control network is cyclical and is initiated by the supervisory module 27. Thus, the supervisory module initially sends information blocks to the other modules in succession. These blocks would initially be data blocks wherein appropriate data may be transmitted to a specific module by stipulating the add¬ ress of the module at group 2 of the block, until all modules have obtained the relevant data therefor. Upon the supervisory module transmitting the last information block to a module in the network, it passes the right to transmission to the next module which has a need for transmitting information to another module in the manner previously described. Operation is continued in this way until the right to transmission has been passed right around the ring network and back to the supervisory module, upon the supervisory module regaining control of the network, i.e. becoming a transmitter module once more, the first half of operation is completed and the second half cycle is commenced. The second half commences with the processing means of the module initiating the trans¬ mission of a command block from the output port of its communications interface means. The command block in this instance includes the encoded command word EXEC to com¬ mence program execution of the processing means in each of the modules connected into the network. Each receiver module is preconditioned to function in a particular manner on receipt of this command word. In the present embodiment the command word, EXEC causes the network to operate in two ways. Firstly, it initialises an atten¬ dance check on the modules within the network to ascertain their presence and secondly initiates program execution of the processing means in each module. Upon receipt of the command word EXEC, each slave module 29 closes its switching means and enables a counter contained within the local processing means thereof which increments after a prescribed time period. The actual incrementation of the counter is started after an initiating signal is transmit¬ ted by the supervisory module to each of the slave modules. The signal preferably comprises a high level transmitted from the output port of the module, followed by a low level, followed by a high level, i.e. 1-0-1. The counter will then periodically increment until a binary value equivalent to the allocated address of the module is attained. The address allocation will be described in more detail later. Upon attaining this address value, the relevant slave module opens its switching means and issues an acknowledging signal at its output port which can subsequently be detected by the supervisory module. In this manner, upon the counter of each slave module attaining the value of its unique address, and the issue of an acknowledging signal therefrom, the supervisory module can count the slave modules within the network. Upon a slave module transmitting an acknowledging signal, the relevant slave module will maintain its switching means open and commence execution of the local control program for the processing means thereof.
This continues until all of the slave modules in the net¬ work have transmitted an acknowledging signal. In order to facilitate checking the attendance of the slave modules, each are allocated an address which consists of a binary number which is of a progressively increasing value from the first slave module in the ring to successive modules. Accordingly, to function correctly, the first slave module will be the first module to time out to its address, followed by the next module and so on. Thus when a slave module transmits its acknowledging signal, succes¬ sive modules in the ring should have their switching means closed, permitting the acknowledging signal to be received and be counted by the supervisory module.
Once the supervisory module counts the correct number of slave modules which should be connected into the network, it then determines when the program execution of the slave modules is complete. This action is performed by the supervisory module by simply transmitting a low level signal at its output port and awaiting for this same signal to be received at its input port. Consequently, each of the slave modules upon terminating their program execution close their switching means, enabling the low level signal issued by the supervisory module to pass therethrough to a succeeding module until all modules have completed program execution. In cases where the program execution of a particular module is not completed within a prescribed time, a slave module shall suspend program execution and close its switching means anyway. There¬ fore, it can be determined that program execution should be completed by the slave modules at least after the expiration of this prescribed time from the commencement of the program execution. Upon the supervisory module determining that program execution has been terminated in each of the slave modules the second half cycle of opera¬ tion is completed and the next cycle of operation can be commenced, with the transmission of further information blocks.
In the case where a program execution was required to be suspended in a particular slave module, the execution is allowed to be continued in the next cycle of operation. Moreover, upon this module obtaining control of the net¬ work in the next communication half cycle, i.e. the first half cycle, the module may transmit a command block in¬ cluding the encoded command word UFIN which indicates that previous program execution was not completed. This com¬ mand word is interpreted by the supervisory module to retransmit the information for this particular module which was forwarded to at the commencement of the present communication cycle, again on- the next communication cycle. In this manner, the module or modules which did not complete program execution do not lose information which was transmitted to them during a cycle in which the incompleted program execution is continued. Each module is preconditioned to complete a program execution which was suspended and only commence with the execution of a new program after a communication cycle has transpired without the UFIN command word being transmitted thereby. Thus, the supervisory module can take appropriate action to avoid slowing down of the processing of the various modules which have completed program execution at the expense of modules which have been required to suspend program execution. Thus the processing control network as a whole is not limited in speed by the slowest processing module but allows each module to process at its own pace without adversely affecting other modules, i.e. asyn¬ chronous operation.
The communications protocol includes several important features to combat destruction of the communication link as a result of an erronous condition in the operation of the hardware of the network. The principal object of the communications protocol in such instances is to maintain a communication link between modules for as long as possible so that where the erronous condition is transitory, the network may return to normal operation after the disappea¬ rance of the erronous condition. To facilitate this action, each module is preconditioned to endeavour to the best of its capabilities to close its switching means, by hardware or software operation, if it has detected that it is the source of the erronous condition or fault.
When a transmitter module detects an error in the trans¬ mission of an information block, either by performing the parity check sum CS or the checking routine CR, as pre¬ viously described, it repeats the transmission of the information block a prescribed number of times. If it cannot succeed in effecting a valid transmission of the information block, it relinquishes control of the network and becomes a receiver module. Insofar as the transmitter is concerned, it is assumed that the reason for the unsuc¬ cessful transmission is a break in the network ring or that another module was concurrently transmitting an information block.
Once the module becomes a receiver module it is in a posi¬ tion to check the transmission from a current transmitter module. If a transmitted signal is not received by a receiver module in a prescribed time, i.e. the fifth time period T5 as referred to previously, the receiver module assumes that there is a break in the ring. Consequently, the receiver module is preconditioned to initiate its own error check to establish whether it is the closest module to the supposed break in the ring. This error check involves the receiver module opening its switching means and transmitting a given error signal at its output port. This error signal, for example, may comprise a high low sequence of pulses, i.e. 0-1. Upon issuing this error signal, the relevant module checks its input port to determine whether it receives the same sequence back. If the sequence is received at the input port, it is con¬ cluded that this module is not the one closest to the break in the ring, because the break should have impeded the transmission of the sequence. Therefore, it is con¬ cluded that the error signal which was in fact received, was initiated by a preceding module instituting its own error check as a result of the error condition. On the other hand, if the error signal is not received at the input port of the module, it concludes that it is the module closest to the break in the ring and subseqently becomes a transmitter module which subsequently behaves as a pseudo supervisory module. Subsequently, the pseudo supervisory module transmits a command block to successive modules which includes an encoded command word. ERROR (K), denoting that the break has occurred in the module preceding it. The parameter K denotes the particular address of the pseudo supervisory module to the main supervisory module. The pseudo supervisory module then sends further information blocks if it has a necessity to transmit the same and upon completion of this transmission relinquishes the control of the network to allow a suc¬ ceeding receiver module the right to the network. The encoded command word ERROR (K) signifies to all modules in the network that a special communications protocol is required to be implemented from thereon. This special protocol simply alleviates the need to perform checking on the signal received at the input port in accordance with the checking routine CR performed by the transmitter module during time T2 and the parity check sums performed by the receiver modules. That is, it is only encumbent upon a transmitter module to transmit an information block once only and not repetitively as could arise with employing the checking routine.
In this manner, the pseudo supervisory module may insti¬ gate a communication half cycle in its own right as a result of a break in the network ring. Moreover, after the pseudo supervisory module has relinquished control of the network and passed this to a succeeding module, the processing means of the pseudo supervisory module waits a prescribed time and then regains control of the network at its own volition and subsequently transmits an execution command to initialise the attendance check of the modules in the network and program execution. Pursuant to this, the pseudo supervisory module will become a receiver module and initiate its normal program execution. Thus, processing of each module can be maintained to a certain extent, even in the event of a break in the ring, since the module closest to the break takes on the roll of the supervisory module and continues the function of the cycle of operation around the ring.
Now describing the attendance check normally performed by the supervisory module during the first part of the second half cycle of operation of the network in more detail, the command word EXEC is transmitted by the supervisory module. Subsequently the presence of modules in the ring is evaluated by the supervisory module. If any of the modules is missing, a command word MISS (I) is sent by the supervisory module in the next communication cycle to signal to the other modules the identity of the missed module. The parameter I in this instance denotes the address of the module which is missing. One feature of the operation of the attendance check is that in a com¬ munication cycle only one command word MISS is sent. If more than one module is missing, the address of these modules will be sent in successive communication cycle. This feature is necessary to facilitate operation of the slave modules during a special communications protocol.
Finally, the communications protocol includes a start-up routine which is initiated at power-up of the processing control network. This start-up routine involves the supervisory module seizing control of the network and counting the active modules within the ring network. If this number equates with the prescribed number of modules which are supposed to comprise the network, the latter being preprogrammed into the processing means of the supervisory module, the slave module addresses are distri¬ buted by the supervisory module. In the event that the check indicates that some modules are missing, the super¬ visory module waits for these modules to become active by restarting the count for active modules. During the start-up routine, the supervisory module may also initia¬ lise certain initial variables for the slave modules prior to commencing normal operation of the network.
Describing the start-up routine in more detail, after power-up each slave module is programmed to open its switching means and transmit a high level at its output port. Thus when all slave modules are active, the super¬ visory module will not be able to perform transmissions about the network until the switching means of the slave modules are closed. Consequently, the supervisory module can initialise the slave modules by commanding them to become receiver modules, i.e. close the ring network, and simultaneously count the slave modules in the network the supervisory module sending a pair of command blocks to the modules in a communication cycle sequentially.
Firstly, a command word CLOSE is transmitted to the next module in succession to the supervisory module. This word commands that a receiver module receiving the command closes its switching means. An important feature of the routine at this point in time is that the input port of the transmitter module is not checked in accordance with the checking routine CR. Thus a module receiving the command word close promptly closes its switching means and becomes a receiver module. The second command block contains a command word NOP, denoting no action. Thus, receipt of this command by a receiver module does not cause any actions to be taken by the module and thus is ignored. However, conversely to the transmission of the command word CLOSE, a checking routine is performed by the transmitter module upon the transmission of the command word NOP. In the event that an error is detected by the checking routine, the command word close will be sent in the next communication cycle by the supervisory module. In the event that no error is detected, the supervisory module concludes that it has succeeded in sending the command word. NOP around the ring network which signifies that the ring is closed. Concurrent with this, the super¬ visory module performs a check on the number of active modules detected within the ring by counting the number of command words CLOSE sent thereby. If this number equater with the predetermined number of modules which are re¬ quired to comprise the ring, the supervisory module will then proceed with issuing addresses to each of the modules in the ring. On the other hand, if these numbers do not equate, the supervisory module transmits another command block containing the command word RESET which signifies to all of the modules in the network that the entire start-up routine is going to be restarted, whereinafter the modules shall opon their respective switching means.
When the address allocation is commenced, the supervisory module transmits a further command block which includes the command word OPEN. This command word causes the slave modules to open their switching means upon receiving the same. Subsequently, the supervisory module transmits a further command block containing the command word LDID(I). This word is sent in successive communication cycles wherein the parameter I initially is designated the number 1 for the first communication cycle and on subsequent cycles increments in value until all modules in the ring have received a command word. Effectively, the parameter I is the address allocated to a slave module and neces¬ sarily increases in numerical value in successive modules. Thus, when a slave module receives the command word LDID(I) the processing means thereof stores the address I within its local memory and thereafter identifies the particular module with this address. The module subse¬ quently closes its switching means to become a receiver module. All further command blocks including the command LDID are ignored by this module and are transferred direc¬ tly to a succeeding module.
In order to initialise certain internal values within the slave modules, the supervisory module may send further command blocks incorporating the command word LDDT after the address allocation cycle has been completed. The command word LDDT can thus be utilised to load firmware into the processing means of any slave module.
It should be appreciated that the scope of the present invention is not limited to the scope of the particular embodiment herein described. In particular, minor changes to the format of the communications protocol described in the present embodiment are not intended to affect the scope of the invention.

Claims

THE CLAIMS defining the invention are as follows:-
1. In a processing control network comprising a plura¬ lity of processing modules interconnected in a ring net¬ work by a single line enabling serial type communication between said modules, wherein each processing module has a communications interface means and a processing means, said interface means having an input port to receive transmitted information from a preceding module, an output port to transmit information to a succeeding module and a switching means interconnecting said ports being operable to selectively enable or disable a direct line of communi¬ cation between said ports through the module;
a method of communicating between modules comprising the steps of:-
one module seizing control of the network to become a transmitter module by opening its switching means to transmit information to the other modules;
the other modules closing their switching means to become receiver modules to receive said information in succession about said network;
said transmitter module transmitting said data from an output port thereof sequentially to said receiver modules to eventually receive said information at the input port of said transmitter module; and
said transmitter module checking said information at said input port thereof to determine the validity of the transmission of said information.
2. A method as claimed at claim 1, including said trans¬ mitter module reliquinshing control of said network after completing said transmission of said information by:- indicating to said receiver modules its intention to relinquish control of said network during the trans¬ mission σf said information;
receiver modules requiring to attain control of said network opening their switching means to receive said control after the transmission of said information;
said transmitter module transmitting a renunciating signal at its output port to relinquish control of the network a prescribed time after said transmission of information;
the first module succeeding said transmitter module which has its switching means open accepting control of the network upon receipt of said renunciating signal at its input port to become the transmitter module; and
transmitting a confirmatory signal at its output port to the other module successively, indicating that it has control of said network, causing the other modu¬ les to become receiver modules.
3. A method as claimed at claim 1 or 2, wherein a super¬ visory module in the processing control network initiates and co-ordinates communication between said modules cycli¬ cally.
4. A method as claimed at claim 3, wherein the supervi¬ sory module initiates communications by:-
becoming the transmitter module; 23 the other modules becoming receiver modules;
initiating transmission of information therefrom; and
relinquishing control of said network until it has regained the right to seize control of the network from the other modules.
5. A method as claimed at any of the preceding claims, wherein a cycle of operation of the network involves the steps of:-
the supervisory module initiating communications;
each module requiring control of the network to transmit information attaining said control in suc¬ cession about the network until such time as the supervisory module has regained control of the net¬ work;
the supervisory means initiating local processing by the processing means of each module in accordance with a prescribed local control program;
upon completion of said processing, the other modules indicating the termination of said processing succes¬ sively to said supervisory module; and
said supervisory module initiating another cycle of communications.
6. A method as claimed at any of the preceding claims, wherein transmission error checking is provided by a transmitter module by checking the validity of the trans¬ mission of each bit of information by comparing the trans¬ mitted bit at the output port thereof with the received bit at the input port thereof.
7. A method as claimed at any of the preceding claims, wherein said information comprises three parts, the first part indicating the start of the information, the second part comprising an information block of data or command, and the third part providing a parity check on the infor¬ mation block transmitted, whereby upon receipt of said information by a receiver module, said receiver module recalculating said parity check from the information block received and if invalid transmitting a repeat signal to said transmitter module indicating that said information requires to be retransmitted, said transmitter module consequently transmitting a null signal to or said re¬ ceiver modules indicating that the previously transmitted information was void and that said information will be retransmitted.
8. A method as claimed at. any of the preceding claims, wherein a transmitter module repeats the transmission of information in respect of which it previously receives a null signal from a receiver module a prescribed number of times in response to the receipt of a null signal, where¬ inafter it relinquishes control of the network to become a receiver module.
9. A method as claimed at any of the preceding claims, wherein a receiver module initiates an error checking routine if transmitted information is not received thereby within a prescribed time, said error checking protocol comprising the steps of:-
transmitting a predetermined error checking signal at its output port and checks the receipt of the same at its input port;
if said error checking signal is not received, said receiver module opening its switching means to seize control of the network and become a psuedo supervi¬ sory module;
indicating to the other modules that the preceding module is faulty;
overlooking checking of information transmitted thereby by disregarding information received at its input port;
relinquishing control of the network to a succeeding module requiring said control; and
whereinafter for the duration of said error, trans¬ mitter modules perform communications without said checking.
10. A method as claimed at any of the preceding claims, wherein said psuedo supervisory module initialises checking of the modules which are present in the network and initiates processing by the processing means of all modules.
11. A processing control network comprising:
a plurality of processing modules interconnected in a ring network by a single line enabling serial type communication between said modules; each processing module having a communication interface means and a processing means; said interface means having an input port to receive transmitted information from a preceding module, an output port to transmit informa¬ tion to a succeeding module and a switching means interconnecting said ports being operable to selec¬ tively enable or disable a direct line of communica¬ tion between said ports through the module; wherein said processing control network communicates between modules in accordance with the method claimed at any of the preceding claims.
12. A method of communicating between modules of a processing control network substantially as herein des¬ cribed with reference to the accompanying drawings mutatis mutandis.
13. A processing control network substantially as herein described with reference to the accompanying drawings mutatis mutandis.
PCT/AU1987/000158 1986-05-30 1987-05-29 Communication protocol for a network WO1987007459A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPH6225 1986-05-30
AU622586 1986-05-30

Publications (1)

Publication Number Publication Date
WO1987007459A1 true WO1987007459A1 (en) 1987-12-03

Family

ID=3696749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU1987/000158 WO1987007459A1 (en) 1986-05-30 1987-05-29 Communication protocol for a network

Country Status (1)

Country Link
WO (1) WO1987007459A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0525319A2 (en) * 1991-07-25 1993-02-03 PETERS & ZABRANSKY INGENIEURGESELLSCHAFT mbH Data transmission system
EP0543126A1 (en) * 1991-10-08 1993-05-26 Mitsubishi Denki Kabushiki Kaisha Communication control apparatus

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3732543A (en) * 1971-06-30 1973-05-08 Ibm Loop switching teleprocessing method and system using switching interface
GB1327731A (en) * 1971-03-31 1973-08-22 Ibm Data processing systems
US4430700A (en) * 1981-07-31 1984-02-07 Norand Corporation System and method for communication between nodes of a closed loop local communication path
EP0109287A2 (en) * 1982-11-12 1984-05-23 The Babcock & Wilcox Company Communication systems
GB2133952A (en) * 1982-12-22 1984-08-01 Int Standard Electric Corp Multiple-ring communication system
DE3413473A1 (en) * 1983-04-11 1984-10-18 Hitachi, Ltd., Tokio/Tokyo LOOP-SHAPED DATA TRANSMISSION SYSTEM
DE3328834A1 (en) * 1983-08-10 1985-02-28 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Communication system having a ring-shaped transmission line
WO1985002078A1 (en) * 1983-10-31 1985-05-09 Beale Electronic Systems Limited Data transmission system and method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1327731A (en) * 1971-03-31 1973-08-22 Ibm Data processing systems
US3732543A (en) * 1971-06-30 1973-05-08 Ibm Loop switching teleprocessing method and system using switching interface
US4430700A (en) * 1981-07-31 1984-02-07 Norand Corporation System and method for communication between nodes of a closed loop local communication path
EP0109287A2 (en) * 1982-11-12 1984-05-23 The Babcock & Wilcox Company Communication systems
GB2133952A (en) * 1982-12-22 1984-08-01 Int Standard Electric Corp Multiple-ring communication system
DE3413473A1 (en) * 1983-04-11 1984-10-18 Hitachi, Ltd., Tokio/Tokyo LOOP-SHAPED DATA TRANSMISSION SYSTEM
DE3328834A1 (en) * 1983-08-10 1985-02-28 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Communication system having a ring-shaped transmission line
WO1985002078A1 (en) * 1983-10-31 1985-05-09 Beale Electronic Systems Limited Data transmission system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0525319A2 (en) * 1991-07-25 1993-02-03 PETERS & ZABRANSKY INGENIEURGESELLSCHAFT mbH Data transmission system
EP0525319A3 (en) * 1991-07-25 1993-05-19 Peters & Zabransky Ingenieurgesellschaft Mbh Data transmission system
EP0543126A1 (en) * 1991-10-08 1993-05-26 Mitsubishi Denki Kabushiki Kaisha Communication control apparatus

Similar Documents

Publication Publication Date Title
US4799052A (en) Method for communicating data on a communication network by token passing
US4792947A (en) Method of multi-address communication
EP0074864B1 (en) System and method for name-lookup in a local area network data communication system
US4491946A (en) Multi-station token pass communication system
US4430651A (en) Expandable and contractible local area network system
US4223380A (en) Distributed multiprocessor communication system
US4354267A (en) Data transmission system utilizing loop transmission lines between terminal units
US4556974A (en) Method for passing a token in a local-area network
US4410889A (en) System and method for synchronizing variable-length messages in a local area network data communication system
EP0076880A1 (en) A local area contention network data communication system
US4583089A (en) Distributed computer control system with variable monitor timers
US5012468A (en) Master slave industrial token passing network
JPH05244171A (en) Station device for variable and time-divisional communication system
EP0074672A2 (en) Asynchronous data bus system
US6574744B1 (en) Method of determining a uniform global view of the system status of a distributed computer network
US4947317A (en) Communication protocol for a three nodes system having dedicated connections and bit indicating function of exchanged message
US5021777A (en) Mode-selectable communications system
JPH0347786B2 (en)
JPH0654911B2 (en) Method and apparatus for transferring mastership
WO1987007459A1 (en) Communication protocol for a network
US4910732A (en) Onechip-computers as network-controller and computer
US3719930A (en) One-bit data transmission system
EP0589106A1 (en) Network and method for communicating data
JPH047620B2 (en)
JPS59200365A (en) Transfer system of control information

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE