CA1157122A - Automatic meter reading and control system - Google Patents

Automatic meter reading and control system

Info

Publication number
CA1157122A
CA1157122A CA000372726A CA372726A CA1157122A CA 1157122 A CA1157122 A CA 1157122A CA 000372726 A CA000372726 A CA 000372726A CA 372726 A CA372726 A CA 372726A CA 1157122 A CA1157122 A CA 1157122A
Authority
CA
Canada
Prior art keywords
command
address
function code
scu
mtu
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
CA000372726A
Other languages
French (fr)
Inventor
Paul B. Robinson
Maurice J. Ouellette
Larry A. Schmidt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Application granted granted Critical
Publication of CA1157122A publication Critical patent/CA1157122A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • H04Q9/14Calling by using pulses

Abstract

ABSTRACT OF THE DISCLOSURE

An automatic meter reading and control system for communicating with remote terminal points includes a reading control center which selectively communicates with a meter terminal unit at each terminal point by way of a section control unit, each section control unit serving several meter terminal units. The section control unit is responsive to various commands issued by the reading control center to selectively route the commands to specified meter terminal units or groups of meter terminal units to direct the meter terminal units to selectively carry out a meter reading operation, a load control operation, a user alter operation or transfer of previously stored meter data or switch status data from the meter terminal units to the reading control center in accordance with functions specified by the various commands.

Description

1~7122 ~VTO~l~TIC ~IETER REA~I~G ~ CO~TROL SYSTE~
-'.~ack~round of the Invention I. Field of the Invent _ This invention relates generally to remote automatic communication systems and more particularly to a reading and control system for reading the measurement of commodities and status switches at remote terminal points along a utility power transmission network, and controlling loads and alerts at the terminal points.

II Description of the Prior ~rt , Utilit~ Companies have long llsed meter reading personnel for reading the consumed commodity information provided by utility meters (i.e., gas, water, electricity and the like). However, in recent years significant strides have been made in the development of fully automatic meter reading systems.
Most remote meter reading systems have similarities in their deslgns. Generally, they comprise some type of encoder device attached to a meter to give an indication o~ the meter reading, means for storing the meter reading indicated and a trans-ponder for transmitting meter data over a communication link to a central station when interrogated by a signal from the central station. Various types of communication links have been used in transferring the meter data from the individual meters to the ~, ~ 71 ~2 5ME-58 central station. One svstem utilized a mobile van carrying a trans-mitter for interrogating meter equipment transponders. The inter-rogated transponders would then return messages to the van, which messa~es included meter identification and reading. Various other types of systems have been developed which utilize the telephone lines of the subscribers as the communication link to the central station. Also, there are arran~ements in which the power lines of the subscriber and the utility company are used as the link between the customer's meter and the central station. One such arrangement is described in U.S. Patent No. 4,135,181, issued on Janua,ry 16, 1979 to Bogacki, et al and which is assigned to the assi~nee of the present invention.
The Bogacki, et al arrangement comprises a central station which includes a computer with input-output equipment for the multiplex generation of commands and the multiplex receipt of data over a plurality of communication lines. A control unit is connected to a communicati,on line and provides signal transmission and coupling of commands and data between the central station and a utility power line. The control unit includes means for recognizing addresses as well as means to decode a function code contained in commands received from the central station. I~hen a control unit recognizes an allowable address in a command, it transfers that command to its connected power line. If the command function code specifies that the control unit is to receive a data message from the power line, the control uni,t will go into ; a receive mode after it has transferred the command.

~7~ '2 5ME-58 The system also includes a meter terminal unit located at each customer residence. Each meter terminal unit is connected to the power line, and receives commands from and transmits messages to the control unit over the connecting power line. Each meter terminal unit is capable of selectively communicating with a plurality of utility meter encoders for reading a plurality of meters and for selectively driving a plurality of loads at a customer residence.
Each meter terminal unit responds to specific commands to either selectively read and store data into one of several storage means from a plurality meters as specified by the command function code;
selectively transmit the previously stored meter data from the several storage means to its associated control unit; or selec-tively control the operation of the residence's loads as specified by the function code.
Although the system of Bogacki, et al was a significant improvement over other prior art systems, it suffered from several disadvantages. These disadvantages include the relatively slow data through-put rate due to the slow bit rate, as well as the wait by the control unit for return messages after transmitting the message request commands. Another disadvantage is related to the number of meter terminal units which can communicate with a control unit. In a geographically widespread area, a meter termInal unit would have difficulty returning messages to the control unit unless a relatively high power, relatively expensive transmitter was included within that particular meter terminal unit. This ` 5ME-58 ~7~2 would not only increase the e~pense of the system, it could also create the necessity to build more than one model meter terminal unit, depending on the remoteness of the meter terminal unit from its respective control unit.
A further disadvantage concerns the relative insecurity of the system regarding customer load control. This concern is manifested in that assurance must be provided that a load will be restored after being turned off by the system. IT1 addition, assurance must also be provided that premium rate billing for customer consumption during certain predetermined peak periods is performed only during those periods and not at other times.
Consequently, it can be seen that a faster, more reliable system, having relatively few different models of components, which can be tailored in the field to accommodate future changes by the using utility company, is highly desirable.

Summary of the Invention The aforementioned advantages are provided by the present invention whlch provides a remote automatic meter reading, control and alert system, for reading the measurement of a commodity, controlling loads at a consumer or customer residence, and providing predetermined customer alert signals over a network of power lines.
A Reading/Control Center (RCC), includes a computer which is connected to at least one Communicatiors Interface Unit (CIU) for the multiplex generation of commands and the receipt ' SME-58 ~ 122 of data over communication lines. The commands generated ~v the RCC contain at least an address portion and a command message portion.
At least one control unit is connected to each of the RCC communication lines and provides signal transmission as well as, coupling of commands and data between the ~CC and a power line. Control units may be grouped into sets, the individual control units being positioned in different geographical locations dependin~
upon the needs of the using utility, as well as the exparse c,f the power llne network. Each individual control unit can he moc~ified or commancl controlled to receive messages fro~i the power line only, and transmit those messages to the RCC, or both transnit commands onto the power line and receive messages from the power line. The system of the present invention permits simultaneeus communication of commands and messages between the'RCC, the control units and the power line in order to increase message data throu~h-put.
There is a meter terminal unit located at each customer residence. Each meter terminal unit is capable of selectively communicating with a plurality of utility meter encoders for reading a plurality of meters, for selectively driving a plurality of loads at a customer residence, for monitGrirg the statu-; c)f 2 plurality of e~ternal contacts, and for select'~ely provid-'r a plurality of alert signals to the customer. Each meter termlnal unit includes a receiver for receiv.nt, c:omnlands from the control unit over the powerline, as well as a transnitter for transmitting 5~E-58 7~22 return messages to the control unit over the same power line.
In order to increase the throu~h-put capabiljty, the meter terminal units can be placed nto groups, with each meter terminal unit within a group having a different transmitting frequency thereby enabling all meter terminal units within a group to transmit return messages simultaneously over the power line.
If required by the geo~raphic distribution of the meter terminal units, a control unit can be provided at a power line : location which ls relati.vely close to the remotely located meter terminal units in order to receive messages from those terminal units for retransmission of the messages to the P~CC. When cortrol units are connected to the RCC as a set, a trarlsrit~cr ..n each control unit transmits at a different frequency such that all control units wi.thin the same set can transmit back to t~.e RCC
simultaneously in order to increase the return message data throu~h-put. In order to further increase data through-put, each contro' unit can simultaneously receive from the RCC, transmi.t to the terminal units, receive a plurality of messages simultanecusly from the terminal units withi.n a grou~, and transmit to the RCC.
The terminal Ullits of the present invention can also receive commands to be e.~ecuted at a specific time in the future.
This causes a significant increase in the assurance tha~ system controlled customer loads will be turned on after being ccn-.m~nded off since the terminal unit will only accept a con~,mand to turn off if in fact it has previo~lsly received a command to turn on at a specifi.ecl future time. In aclditicr, tkls feature .:lsc ~rcat]~

' - 5~E-58 ~1~712~

enhances the performance of, as well as confidence in, the system with respect to accurate gathering of demand period commodity consumption, since the system will initiate a demand-on period only if it has previously received a command to terminate the demahd period at a specified future time. This insures that the consumer is not charged the premium demand rate for erroneously extended periods.
It is therefore an overall object of the present invention to provide a remote automatic meter reading, control and customer 1~ alert system having enhanced operating capabilities.
It is another object of the present invention to provide an automatic utility reading system, with enhanced data through-put capability, for reading the measurement of a consumed commodity over utility power lines.
1~5 A still further object of the present invention is to provide a remote automatic meter reading, control and customer alert system incorporating controls for improving the reliability of the méasurement of customer peak demand usage and billing, as well as assuring that loads which have been commanded off by 20~ the system will once again be turned on.
It is yet another object of the present invention to provide an automatic meter reading, control and alert system having improved command and message interlacing whereby the data through-put of the system is enhanced.
: ~ ~
Still a further object of the present invention is to provide an automatic meter reading, control and alert system incor-porating simplified multi-interpretable command formats in order to enhance the integrity of customer billing information, system operation and increase the speed and consequently the data through-put 30 of the system.

7~ 22 These and other objects of the present invention will become apparent from the followin~ more detailed description.

Brief Description of the Dra _ n~

The present invention may be more readily understood by reference to the accompanyi.ng drawing in which:
Fig. 1 is a n-ajor block diagram of the system of the present invention;
Fig. 2 is a block di.agram illustrating the concept of control unit sets of the present invention;
Fi'. 3 i.s a major block diagram of a meter terminal unit of the present invention;
Fig. 4 is a diagrammatic representation of the relationship between a start of message sequence and an idle pilot modulation of a power line carrier;
Fig. 5 is a diagrammatic representation of the preferred pattern of an outbound command from a control unit to a meter termi.nal unit;
Fig. 6 is a dia~rammatic representation of a preferred pattern of an inbound message from a meter terminal unlt to a control unit;
Fig. 7 is a diagrammatic representation of the preferred pattern of an outbound command from a reading/control center to a control unit;
Fig. 8 is a diagrammatic representatlon of the preferred pattern of an inbound message from a control unit to a readi.ng/control center;
Fi~. 9 is a matrix chart sho~ing the relationship o.t commands to be implemented by an MTII to bit patterns Or a runction code field in an outbound command;

5ME-5~
7~22 Fig. 10 is a block diagram of a preferred embodiment of the informati.on processor portion of a meter terminal unit;
Fi.~. 11 is a block diagram depicting the relatlonship hetween a meter terminal un;t and its associated encoding meters, alerts, controlled loads and status switches;
Fig. 12 depicts memory maps of a microprocessor internal random access memory, an address programmable read only memory, and a meter encoder data random access memory, all of which infor-mation storage devices are part of a preferred embodiment meter terminal unlt;
Fig. 13 deplcts expanded portions of the microprocessor internal RA~1 and the meter encoder data ~AM as shown in Fig. 10;
Figs. 14 through 28 are flow charts describing the operation of various subroutines performed by the microcomputer of the meter terminal unit to effect performance of the functions to be carried out by the meter terminal unit;
Fig. 29 is a major block diagram of a section control unit of the present invention;
Figs. 30 and 31 comprise an elementary lo~ic schematic block dia~ram of the section control unit of Fig. 29;
Fig. 32 is a timing diagram showing the phase relationship of various timing signals generate~ in the section control unit;
Figs. 33a and 33b depict memory maps of a microcomputer random access memory and an addressable electrically programmable read only memory, hoth of which are part of a preferred embodiment section control unit;

~ 7~2Z 5ME-58 Figs. 34 throu~h 38 and 40 through 44 are flow charts describing the operation of various subroutines performed by the microcomputer of the section control unit to effect performance of the steps and functions to be carried out by the section control unit;
Figs. 39 and 49 and 50 are system interlace timing dia~rams useful in understanding the flow of commands and messages between the reading control center and meter terminal units via the section control units of the system of the invention;
10` Fig. 45 is an orthongonally arrayed illustration showing how the section control unit organizes received meter terminal unit messages and section control unit commands for .ransfer to the reading control center; and Figs. 46 through 48 illustrating some possible system arrangements utilizing addressable sets of section control units for transmission and reception of commands and messages between the various units of the system as an aspect of preferred embodiments of the invention.

Description of the Preferred F,mbodiment System Description Referring to Fig. 1 of the drawing, there is shown an overall block diagram of the preferred embodiment of the system of the present invention, generally designated 10. The svstem 10 comprises a reading/control center (RCC) 12 whic~h communicates with a section control unit (SCU) 14 over a first communication -9a-~ 5ME-58 link 16. The SCU communicates with one or more meter terminal units (MTU) 18 as required by the system user, which requirements will be adduceable by those skilled in the art upon further reading of the detailed description herein, over a second communication link 24. Each MTU 18 has the capability of reading a plurality of meter encoders 54; control a plurality of external loads 58 and alerts 56; and reporting the status of plurality of external contacts (not shown). In the preferred embodiment, one MTU
18 can read three meter encoders 54; control three external loads 58 and two alerts 56; and report the status of six external contacts.
Although there are many meters presently available which can be used in t~e system of the present invention, in the preferrea embodiment, the meters employed should have encoders for transferring consumed commodities such as power, water or gas to the MTU's for storage for subsequent transmission to the RCC. Several types of encoder type meters are known such as contact switch closure types, parallel switch closure types, optical read out types, etc. The present system preferably employs a mechanical non-destructive storage encoder which provides a meter serial data read out as disclosed in U.S. Patent No.
3,846,789, issued November 5, 1974,entitled, "Remote Reading Register With Error Detecting Capability", to Germer, et al and assigned to the assignee of the present invention.
System control is directed by the RCC which includes a data processor or digital computer 26 which communicates with the rest of the system throush one or more communications interface units (CIU) 28. The computer is of a general purpose type havin~

,"~

~57122 5ME-58 sufficient memory capacity to store data pertaining to the entire system and is programmed to transmit messages or commands throughout the system and to collect data from the system as described herein-below. Many such digital computers are commercially available, and the computer selected for the preferred embodiment system is a Hewlett Packard Model 211~E minicomputer.
Each CIU 28 issues commands and receives data, preferably in a multiplex mode, over the first communication link 16, which in the preferred embodiment is a voice grade telephone circuit, the use of which is preferably dedicated to the system. It will be noted that each telephone line used in the first communication link 16 is preferably terminated by a modulator/demodulator circuit (modem) 30 on each end thereof.
It is normally desirable that the SCU 14 be installed in a substation of the using uti.lity and that the SCU communicate with that substation's entire complement of MTU's. However, it is possible that satisfactory operation in some cases can only be obtained wi.th addi.tional SCU's. Although these ad~itlonal SCU's may be complete SCU's, it might be more economically desirable that they be "receive-onlv" SCU's slnce the inbound communica-tion path from the MTU's is less powerful than the outbound communica-tion path from the SCIJ to the MTU's. Consequently, the system of the present invention includes the concept of SCU sets i.n whicn a transmltting SCU acts in concert with a receiving SCU. This concept will be more fully described herei.nafter.

, 5ME-58 ~15~22 The data rate between the CIU 23 and any one SCU set is preferably 300 baud full duplex, therefore enabling the use of, in the preferred emhodiment, one subchannel (fl) for permitting the transmission of outbound commands from the RCC to the SCU
and three subchannels (f2, f3, f4) for permitting the transmission of inbound messa~es from the SCU set to the RCC, see Fig. 2. In ; a system confi~uration in which there are relatively few MTU's per SCU set, all SCU sets can share a single inbound subchannel since the amount of inbound data is relatively smali. In a system l~ configuration having more MTU's and SCIJ sets, but still with relatively ~ few MTU's per set, the system can be expanded to utilize two or ,~ more of the inbound SCU to RCC subchannels (f2, f3 or f4) as is depicted in the block diagram of Fig. 2. Transmission of data between the modems 30 is preferably of the frequency shift keying 5~ (FSK) type; however, other types of transmission may also be employed.
Fach of the modems 30 are preferably of the voice freguency type ; of a commercially available transmitter/receiver. Typical transmitters and receivers of the type which may be employed in the present system as modems are models G8AT-2F and ~8R-2F/3F manufactured I ,~ ;
l 20 by RFL Industries, Inc.
l-~ As previously stated, each SCU is connected to a second f communlcations link 24 which, in the preferred embodiment electrical utility application, is an electrical power transmission line.
The power transmission line has at least one MTU 18 connected i~2~5~ thereto, as shown in Fi~. 1. As represented by the dotted line in~Fig. 1, the electrical power transmission line 24 may have a~pIurality of MTU's connected thereto. In the preferred embodiment ~ 1 ~ -12-5~E-58 ~iS7122 the transfer of commands and data between the RC~ 12 and the SCU's 14 over the voice ~rade lines 16 is performed in the format of ASCII asynchronous characters. Commands or messages issued by the RCC 12 are transferred by the SCU's 14 to their corresponding power lines 24 by means of carrier signals which are binary phase modulated at 30 bps.
As previously stated and diagrammatically depicted in Fig. 2, the preferred embodiment outbound commands from the RCC
12 to the SCU's 14 are transmitted over the phone lines 16 using a single tone or carrier frequency fl. In the preferred embodiment fl equals 660 Hz. As also stated above, the SCU's 14 can transmlt inbound data messa~es to the RCC 12 usin~ one of three preassigned sub-channel frequencies f2, f3 or f4. In the preferred embodiment, '~ f2 equals 1260 Hz (sub-channel 1), f3 equals 1860 Hz (sub-channel
2) and f4 equals 2460 Hz (sub-channel 3). Also depicted in Fig.
2~ outbound commands are transmitted at a frequency fO over each SCU's respective power line 24 to a plurality of meter terminal mits 18 (MTU's) connected to each of those power lines. In response to certain commands, the MTU's 18 will respond with data representative of a measured commodity at a specific frequency (fIl - fI8). Table 1 illustrates representative power line transmission or carrier frequencies which are employed in the preferred embodiment of the system of the present invention.

`i ~
.~

.~

, ~ .

~1~712Z

CARRIER EREQUENCY (H~) f0 (SCU Outbound) 5010 (Inbound) fIl 6630 fI3 7350 f 7710 fI4 8130 ffI6 8550 fI8 9510 As noted in Table 1 and depicted on Fig. 2, f0 specifies the frequency of the carrier carrying outbound commands from the SCU 14 to the MTU(s) 18. fIl - fI8 specifies the power line carrier frequencies transmitted by a group 8 MTU's connected by the power line to the SCU 14 transmittin~ the f0 carrier whether that SCU be a single SCU or the transmitting SCU in a set.
Referring again to Fig. 1, each of the MTIJ's 18 is located at metering locations such as household residences, business resi-dences, factories or the like. Each ~TU 18 responds to an outbound command originally generated by the RCC 12. Although each command, which is acted upon by the MT~ 18, will be discussed in detail subsequently, generally the MTU can be commanded to read and store meter data, perform demand read and calculation on the meter data, transmit previously stored meter or demand data, turn loads off and on, turn customer alerts on and off, and provide the status of external contacts.

~ 57122 5ME-58 An outbound command from the RCC 12 to the MTU's 18 by way of an SCU 14 contains an MTU address portion and a command function code which specifies the particular function to be carried out by the addressed MTU 18, as will be described in detail subse-quently. It should be noted that MTU's are individually addressable, ~roup addressable, or block addressable, as will be subsequently described. One MTU 18 ls generally addressed when it is desirable to interrogate only one particular resldence, for example, during meter survey operations or individual load switchir.g. During normal meter readin~ operations, however, ~roups of 8 MTU's are generally addressed for reasons which will become more clear in the ensuing description.
There are situations in a large power system when it is either desirable, or necessary, to quickly remove all loads from the entire system. This would occur, for exa~ple, under condi-tions of a catastrophic power failure which necessitates a mass ., .
~; scramblé to shut down an entire system to prevent damage to the '~ power transmission equipment. In this latter situation, the MTU's ~ 18 can be addressed in large blocks or, if desired, all MTU's - 20 in an entire system can be simultaneously addressed. The unique addressing scheme of the system of the present invention permlts calling on small concentrated ~roups of MTU's 18 for the transmission of meter data, or for the performance of various functions in large geographically dispersed blocks of MTU's for simultaneous ~25~ ~ action such as read and store data and load control.

¢~ ~

; --1 5--~, ~
;;' -` - ~iS7122 5ME-58 Message ~atfl Format_ Prior to proceeding with the further description of the system, it is considered advantageous at this time to provide a description of the various messa~es and data formats of the information transferred between the ~CC 12 and the SCU's 14 and MTIJ's 18 of the system. Reference is now made to Fi~,. 7 which illustrates the format of outbound commands transferred from the . RCC 12 to the SCU's 14. It should be noted that the command is ' in ASCII format, although ASCII codes are not used. Each character ; includes a start and stop bits (not shown) at the be~,inning and end respectively of a character. In the preferred embodiment, '~ a parity bit is also set for odd parity. Seven information bits plus the parity hit are included between the start and stop bits of each character. The first two characters received by an SCU
from the RCC is the transmitting SCU address field. This field ~" 15 can address all SCU's simultaneously (all zeros contained ln the 14 information bits) or can address one of 16,3,32lo individual ' SCU's. A field containing all ones is not used. The next two characters~' comprise a receiving SCU address ield, having a format which , is the same as the transmitting SCU address field described previously.
1~ 2Q Character 5 includes a seven bit function code field which determines a particular action to be taken by the receivin~ unit (SCU or MTU) which function shall be subsequentlv described in detail.

, ~
`, ' ~ 5ME-58 :~g~i`712Z

The sixth, seventh, eighth and ninth characters comprise an MTU action field containing 25 bits. The contents of the MTU
action field will be subsequently described in detail in coniunction with the detailed description of the MTU itself. Note that character nine contains three fill bits in order to meet formatting require-ments. Character ten contains seven bits which establish odd parity with respect to bits one through seven of each of the characters five through nine. The eighth bit of character ten establishes odd parity within that character in the same manner as the parity bits within the other characters. The longitudinal parity character is added to increase the transmission security of that portion of the command that is retransmitted over the power line. Since characters one through four are not retransmittedS as will be i~ subsequently described, longitudinal parity is established only , 15 with respect to characters five through nine. It should be noted ;i that when the RCC is not transmitting outbound command characters, 'fl' ~' it sends idle characters consisting of the usual start and stop ~ bits with eight ones in each idle character. Note that the parity 'l bit is even for the seven one bit fill characters. The SCU's reject l 20 these fill characters as information hecause of the invalid (even) ,~ parity, but u,ses them to maintain synchronism with the RCC.
`',; Reference is now made to Fi~. 5 which illustrates the format of outbound commands transmitted from the SCU 14 to its associated MTU's 18 over the power line network. It can been seen that the command format is the same as characters five through ten of the RCC to SCU command but has in addition a start of message (SOM) field comprising six bits. As shown diagrammatically in ` ~S~122 5ME-58 Fi~. 4, the flrst three bits of the start of message field have the same phase as the bit preceeding, while the last three bits have opposite phase from the first three. The first three bits are defined as logic zero and serve as the phase reference for all subsequent bits in the command word. When not sending outbound commands, the SCU continually modulates its power line carrier at the character rate (30 bps in the preferred embodiment) received from the RCC. This idle modulation (idle pilot) comprises continuous phase reversals at the bit rate as shown in Fig. 4. Upon generation f an outbound command, the carrier is modulated by the start of message bit sequence which is then followed by the command.
As seen in Fig. 4, the start of message sequence thus represents a clear break in the alternating phases of the idle pilot. Note that 0 and pi represent relatlve character phases in radians.
The diagram depicted in Fig. 4 would be equally valid if the zeros and pis were interchanged.
Reference is now made to Fig. ~ which shows the format I

of i.nbound messages transmitted from an MTU(s) 18 to an SCU(s) 14. This inbound message comprises a total of 54 bits including parity. The message starts out with a start of message (SOM) sequence ; which comprises six bits of one carrier phase defined as logic zero. The start of message sequence is followed by a message field comprising five characters. Included in the message field is a flag field comprising three bits, and a fill field comprising two bits. The flag code contained in the flag field is a function of tile activities at the MTU 18 as will be subsequently described.
i The final character in the message pattern is used to establish lon~itudinal parity in the manner as was previously described with respect to the outbound command patterns.

~7~2Z 5ME-58 Referring to Fig. 8, there is shown the format of inbound messa~es transmitted from an SCU to the RCC. As indica.ed in Fig.
8, each inbound message comprises 52 characters. As previously stàted, the data transmitted from the MTU's 18 to an SCU 14 is preferably frequency multiplexed and received from a group of eight MTU's at a time. In other words, it is preferred that eight MTU's respond to a transmit command and consequently the receiving SCU must accept all eight simultaneously in ei~ht receivers. The SCU 19 transmits to the CIU 28 in asynchronous ASCII character format, though the ASCII codes and parity are not used. The usual start and stop bits are included, with exactly one stop bit per character required. The characters for the messages from the SCU
14 to the RCC 12 are formed in real time as the eight MTU data streams are received by the SCU. The first bit from frequency fIl becomes the first bit in the first character; the first bit from fI2 becomes the second bit in the first character and so on with the first bit from fI8 becoming the eighth bit in the first character (see Fig. 45). Similarly, as indicated in Figs.
8 and 45, the second bits from all eight receivers form the second ; 20 character and so forth through the 48th character which is formed ~; by the 48th bits from all eight receivers. It should be noted that there is no character parity in the usual sense.
The SCU then adds information generated internally in the form of four additional characters, 49 through 52. Character 49 is not used. Character 50 includes carrier and status condition information. Character 51 comprises the seven LSB's of the SCU's address plus odd parity while character 52 comprises the seven ~ z 5~E-58 MSB's of the SCU's address plus odd parity~ Note that in the system of the present invention, it is possible that an outbound command from an SCU 14 to the MTU's 18 requires no concomitant inbound message, as will be subsequently described with respect to the detailed description of the MTU. In this case, the SCU still returns the same 52 characters as described above and with the same timing.
Also in this case, the SCU sends an image of its 48 bit receive command onto the MTU's as previously described for Fig. 5. Similarly, if the outbound command received by the SCU requires action to be performed by the SCU itself or a command to the MTUs with no response expected, the SCU will again return an image of its received commands as described above.

Meter Terminal Unit (MTU) As previously stated, the meter terminal unit (MTU) 18 is intended primarily for location on a residence where it will perform the load management functions of meter reading, ~oth durin~ re~ular periods as well as specialized peak periods which will be subsequently explained, load control, consumer alerting and status monitoring. The MTU 18 communicates with the section control unit (SCU) 14 over the utility's power distribution network 24. The MTU 18 communlcates with the metering, control and al~rt devices over local hard wire circuits.
Referring now to Fig. 3 there is shown an overall block diagram of a meter terminal unit (MTU) generally designed l8.
The MTU 18 comprises a receiver 40, which is electrically connected to the power line 24. Signals are output from the receiver ~ 71~Z 5ME-58 40 to an information processor 44 over a plurality of lines 46.
The information content of signals transferred over the plurality of output lines 46 will be subsequently described in conJunction with the description of the information processor 44. The receiver 40 receives an input clock signal from the information processor 44 over an input line 48. The information processor 44 outputs ~ signals to a transmitter 50 over a plurality of output lines 52.
; The content of the signals output from the information processor 44 to the transmitter 50 over lines 52 will be described in detail in conjunction with the description of the information processor 44. The transmitter 50 is electrically connected to the power line 24.
The information processor 44 outputs signals to a plurality of encoders 54, alerts 56 and loads 58 over a plurality of output ~lines 60. The information processor receives signals from the encoders 54 and a plurality of status switches 62 over a plurality of input lines 64. As previously stated, there are thr~e encoding meters 54 in the preferred embodiment, each encoding meter 54 ~; being preferably of the type shown and described in U.S. Patent No. 3,846,789. In the preferred embodiment, there are two alerts 56 which may be, for example, lights to alert the customer of peak power and/or demand periods. Also in the preferred embodiment, there are three loads-58 each of which comprises an output contact ! ~ suitable for operating an external power-handling device. In addition, it is preferable that the MTU be able to report status of six external contacts 62 which are monitored by means of a voltage .generated within the MTU 18 and applied across each of the six external contacts 62.

~::

~L' ~SL )'' In the preferred embodiment, the receiver 40 is a receiver for phase shift modulated carrier signals as shown and described in U.S. Patent No. 4,298,986 dated November 3, 1981, inventor W.C. Hughes, which receiver preferably incorporates a phase-locked loop stabilized by a crystal oscillator as shown and described in Canadian patent application Serial No.
365,757 inventors W.P.Hackert et al, filed November 28, 1980 both of which applications are assigned to the assignee of the present invention. The transmitter 50 is preferably of the type shown and described in U.S. Patent No. 4,307,464 dated December 22, 1981 which patent is assigned to the assignee of the present invention.
~ eferring to Fig. 10 there is shown a more detailed block diagram of the information processor 44. The information processor 44 comprises a microcomputer 66 which, in the preferred embodiment, is an Intel Corporation Model 8049 Microcomputer.
_ The microcomputer 66 incorporates a first, 68, eight bit quasi-bi-directional port (Pl); a second, 70, eight bit quasi-bidirectional port (P2); an eight bit bidirectional port (BUS) 72; an internal random access memory (RAM) 74; as well as various clock, enable and strobe signals, all of which are shown and described in the Intel Corporation Publication entitled, "MCS - 48TM Family of ., ~Yf~

~1~71, 2 Single Chip Microcomputers User's Manual", published July 1978 by the Intel Corporation, 3065 ~owers Avenue, Santa Clara, California 95051. This publication describes the architecture and operation of the type 8048 microcomputer.
A phase locked loop circuit 76, of the type shown and described in Canadian patent application Serial No. 365,757 filed November 28, 1980, receives a 60 Hz input signal from the power feeder line 42. The output of the phase lock loop circuit 76 is a 60 Hz square wave which is synchronized to }0 the 60 Hz signal present on the power feeder line. ~he 60 Hz square wave signal is input to the Tl input pin which is designated an event counter input for the microcomputer and described in the previously referenced "User's Manual". Input pin (TO) receives a receive clock (RC) strobe from the receiver, which is used by the microprocessor when receiving data from the receiver 40 as will be subsequently described. Note that the phase locked loop circuit 76 also supplies a 61,440 Hz signal to the transmitter 50, as well as a 983,040 Hz signal to the receiver 40.
A first terminal of Pl, 68, is electrically connected to an encoding meter enabling input whereby a first encoder message select signal (EMSl), generated by the microcomputer 66, enables the drive motor and lamp of the preferred embodiment first meter encoder 54a as disclosed in previously referenced U.S.
Patent No. 3,846,789 to Germer et al dated November 5, 1974.
Likewise, a second terminal of Pl is electrically connected to the second meter encoder 54b for pro~iding a second enabling signal ~.

11~7~22 5~E-58 EMS2 and a third terminal of Pl is electrically connected to a third meter encoder 54c for providing a third enabling signal E~S3, see also Fig. 11. As shown in Fig. 11, each encoder message select signal (EMSl - EMS3) is electrically connected to a respective encoder relay driver 78 which in turn activates a respective encoder relay 80 which then completes a power on circuit to a respective encoder motor and lamp.
The fourth and fifth terminals of P1 are electrically connected to respective alert relay drlvers 82 which in turn are ; 10 electrically connected to respective alert relays 84 (see Fig.
11). The fourth and fifth terminals of Pl output alert signals (ASl and AS2) which turn on the respective alert relay drivers 82. Each relay driver 82 then actlvates its respective alert relay 84 for providing a closed circuit path through which the respective alert indicator 56a or 56b is turned on. The sixth, seventh, and eighth termlnals of Pl are electrically connected to respective load control relay drivers 88 which in turn are electrically connected to respective load control relays 90 (see Fig. 11). An appropriate load signal (LS1 - LS3) appearing at a particular terminal will turn on a respective load control relay driver 88 which in turn will activate a respective load control relay 90. The load control relay 90 causes a respective load 58a, 58b or 58c to turn off or on.
Referring again to Fig. 10, two terminals of P2 are electrically connected to the receiver 40 for enabling the micro-computer 66 to receive an outbound recelve data (OBRD) signal and a transmit clock (TC) signal from the receiver 40. Two other ~ 71Z2 5ME-58 terminals of P2 are electrically connected to the transmitter 50 thereby enabling the microcomputer 66 to provide an inbound transmit data (IBTD) signal and an inbound transmit gate (IBTG) signal to the transmitter. The eight terminals of the bidirectional port (BUS) 72, are electrically connected to an address latch circuit 94 which receives and stores address information which is output from the microcomputer 66. The address latch circuit 94 preferably comprises eight flip/flops such as included in a pa;r of Intel Corp. LS 175's. An address latch enable (ALE) terminal of the microcomputer 66 is electrically connected to a clock input (CK) of the address latch circuit 94 to enable the computer to control the latching of the address latch circuit 94 as will be subsequently described. A read (~) terminal of the microcomputer 66 is electrically connected to a DIS input of a multiplexer 96, one input of an and gate 98 and an output data (OD) terminal of an encoder data random access memory (RAM) 100. The multiplexer 96 is preferably an Intel Corp. Model No. 4512 and the encoder RAM 100 is preferably an Intel Corp. Model No. 5101L. The signal appearing on this line (~n is an output strobe which is activated durin~ a BUS read and is~described in the microcomputer "User's Manual".
The multiplexer 96 recelves an encoder strobe signal (ESl, ES2 or ES3) as well as an encoder data signal (EDl, ED2 or ED3) from each of the three meter encoders 54. The multiplexer 96 also receives signals (STl -ST6) from the six status contacts 102 (see Fig. 11) in the form of switch closures. The multiplexer is addressed by bits zero through two (ADO - AD2) of the address output by the address latch circuit 94. Data is output from the multiplexer 92 into the microcomputer 66 by way of bit 7 (BUS7) of the bidirectional BUS port 72. The encoder data RA~l 100 stores data preferably in the locations diagrammatically shown in the ~1~71ZZ 5Mæ-58 memory map depicted in Fig. 12. The data stored in thc RAM 100 is addressed by bits zero through seven (AD0 - AD7) of the address output by the address latch circuit 94. The encoder data RAM 100 receives a read (~) and write (W~) output strobe from the microcom-puter 66 during a respective BUS read or write as described in the microcomputer "User's Manual" previously referenced. The data is read from or written into the encoder data RAM 100 by way of the bidirectioinal BIJS port 72 of the microcomputer 66. An address programmable read only memory (PROM) 104 stores da'ta in locations preferably indicated by the memory map of Fig. 12. The address PROM 104 is preferably an Intel Corp. Model No. 5331. The address PROM 104 receives an enable signal (~) from the and gate 98 upon ; coincidence of the read strobe (~) and a memory strobe (MS), at which time the contents of the addressed location of the address PROM 104 is read into the microcomputer 66 through the BUS port 72. The address PROM 104 is addressed by bits zero through four (AD0 - AD4) .of the address output by the address latch circuit 94.
As described above, each MTU 18 has the capability of reading three meter encoders 54, of controllin~ three external loads 58 as well as, two external alerts 56, and of reporting the status of six external contacts 62. The MTU 18 exercises its functions in response to commands received from the SCU 14. Althou~h previously described, it is appropriate that the commands received from the SCU 14 be discussed again at this time. As previously stated, the power line carrier transmitted by the SCU 14 is normallv ~157122 5ME-58 constantly modulated at the bit rate, which is 30 bits per second in the preferred embodiment, allowing the MTU 18 to synchronize to it. The start of a command is denoted by the lack of phase reversal characterizing the first start of message (SOM) bit, as shown in Fig. 4.
" In the pattern of the outbound command from the SCU
14 to the MTU 18, as shown in Fig. 5, a function code field, comprising seven bits, follows the start of message (SOM) sequence. The function code field deter~ines what type of function an addressed MTU 18 ~10 will perform. The different types of functions performable by ~il the MTU of the preferred embodiment will be discussed subsequently.
The function code field is followed by an MTU action field comprising 25 bits. The MTU action field is interpreted as an MTU address for all function codes except "action at SCU", in which case the , ~15 outbound command will be ignored by the MTU. The MTU action field ~; lS followed by a fill field comprising three bits which are required for correct formating of the command. These fill bits have no informational content. At the end of each command is a longitudinal parity (LP) field comprising eight bits. The eight bits comprising longitudinal parity are generated by the CIU on the five characters (35 bits) which comprise the MTU message field as shown in Fig.
S. Bits one through seven of the longitudinal parity character ~ establish odd parity with the blts one through seven, respectively, ;~ of the five characters contained in the message field. Bit eight of the longitudinal parity character is set to establish odd parity wlthin tbe LP character itself. The longitudinal parity character ' ' -. 5ME-58 ~1~7122 is added to increase the transmission security of the command that is transmitted over the power line. Note that this level of securitv is not needed over the phone line which provides the communication link between the RCC and the SCU.
As previously stated, the MTU will normally receive a continuously modulated carrier to which it synchronizes its internal bit clock. A change in the modulation pattern, which 'i~ ls provided by the start of message sequence, denotes the start . of the 54 bit outbound command as shown in Fig. 5, which the MTU
then takes in and decodes. Each command must pass four tests before the MTU will act on it. First, the MTU tests for odd transverse parity on each of the five groups of eight bits (or five characters) i after the first start of message (SOM) bit sequence. The MTU then tests for odd lon~itudinal parity as contained in the sixth group ` of eight bits (or si.xth character) as previously described.
Each MTU in the system of the present invention has its own unique 24 bit pro~rammable read-only memory set (PROM-set) main address (lHISMTUAD) plus three PROM-set auxiliary addresses (AUXAD 1, 2 and 3, see Fig. 12b). Consequently, the MTU will test the bits in the MTU action field and respond to any of the following five types of addresses. These addresses can be characterized ~., as block addresses, group addresses, or a single MTU address.
The block addresses comprise, in the preferred embodiment, three di~fferent types of addresses. First, all MTU's having a "1" in 25~ the most slgnificant bit of its PROM (MSB) auxiliary address one (AUXAD 1) will be addressed if bits 12 through 25 of the MTU action ;~ field in the receive command are all zeros. Second, those ~TU's :::

~ -28-::

~1571~2 5ME-58 having a "1" in the most significant bit (MSB) location of auxiliary address two (AU~AD 2) and whereln the four least significant bits (LSBs) of AUXAD 2 match bits 13 through 16 of the ~TU action field, wili respond if bits 17 through 25 of the MTU action field are all zeros. This will be referred to as a 1/16 level block address hereinafter. Third, if bits 17 through 24 of the MTU action field in the receive command are all zeros, bit 25 is a one, those MTtJ's in which the most significant bit (MSB) of AUXAD 3 is a one and the five least significant bits of AUXAD 3 match bits 12 through 16 of the MTIJ action field of the receive command will respond to that command. This will be referred to as a 1/32 level block hereinafter.
Groups of eight MTU's are addressed if bit 2~ of the MTU action field of the receive command is a zero and bits four through 24 match the main address of the MTU's. Finally, a single MTU is addressed if bit 25 of the received address is a one and bits one through 24 of the MTU action field match the MTU's main address. It should be noted that the block addresses also include an 11 bit time fleld which will be discussed hereinafter.
Assuming that the MTU has successfully tested paritv, longitudinal parity and has received a recognizable address, the MTU must then find an executable seven bit function code. In the system of the present invention, there are a plurality of functions which are executable by the MTU. Referring now to Fig. 9 there is shown a matrix dia~ram of the command f-lnctions possible in the preferred embodiment of the present invention. The particular function to be performed is specified by the information contained ~ ~iS7122 5~E-58 in the function code field of the outbound command message (see Fig. 5). The column headings across the top of the matrix 0 through F, represent the four least significant bits one through four of the function code field in hexadecimal code notation. The row headings at the left of the matrix represent the three most significant bits, five - seven of the function code field in hexadecimal code notation. X~;IT A - H, J - L represents a command to the MTU to transmit the contents of a particular register A - H, J - L. XMIT
STATUS ADDR represents a transmit address and status command which causes the MTU to read its own 24 bit PROM-set address plus the six external status contacts and to transmit this information to the SCU. RESET, A - H signifies that the MTU is commanded to initialize the designated register A - H.
DEM 1-2, A - C, E - G signifies a demand command for ~15 a particular meter and a designated register. In the preferred embodiment, this function applies to one of two meters (1, 2) and to one of six registers (A - C, E - G). For a given meter, this function can represent a new demand-on command, if demand was previously o~f; a transfer-demand command if demand had previously ~20 been on for the same meter but a different register; or a demand-off command. Note that before the MIU executes a demand command affecting a partlcular meter, the following condiEions must exist. First, at least one demand command affecting the same meter must already be stored for execution hence. Second, the next commmand code `25 to be executed (that is, the shortest time remaining) among those identlfied in the second condition, must ~lS71~Z
5~E-58 .
have opposite parity from the one about to be executed. That is, even and odd commands must alternate. This is wh~, in ~he preferred embodiment, there are locations in the matrix for two demand on for meter X in register Y functlons. Note that meeting the three conditions described above will assure that demand will not be started without the command to end it already in place. If the condltions are not met, the MTU will not execute the demand on command and will terminate demand currently in process, as will be subsequently described. When the MTU meets the conditions above, it turns on its demand feature, then immediately for every demand period thereafter follows the sequence for automatic demand as wi11 be subseguentLy described.
DEM 1, 2 OFF indicates demand off for meter 1 or 2.
This command terminates demand for the specified meter. ALERT
1, 2 ON, OFF represents a command to turn the designated alert on cr off. In the preferred embodiment, there are two external alerts and an ON command closes the corresponding alert contact while an OFF command opens the contact. LOA~ 1-3, ON-OFF represents ; a command to turn the designated load on or off. In the preferred embodiment, there are three loads (l - 3) and an ON command opens the designated output contact while an OFF command closes the designared output contact. R&S 1-3; A-H, J-L represents a command to read a specified meter encoder (1-3) and store the reading in a particular register (A-H, J-L).

.
.

~15'-~12Z

Fig. 12b is a memory map depicting the reserved areas in the MTU address progammable read only memory (PROM) 104. The area designated DEMID, contains the demand time interval specified for the MTU. Above that is an area designated THIS MTU ADR, which area contains the address of the particular MTU. Above that is an area designated L FLAGS which contains certain preprogrammed load control flags, the use of which will be subsequently described.
Above that is an area designated L 1, 2, 3, TIME OUT, which area contains time out information for loads 1, 2 and 3.as will be subsequently described. Above that are auxiliary addresses designated AUXAD 1, (ALL); AUXAD 2, (1/16); and AUXAD 3, (1/32), the contents of which addresses determines whether or not the particular MTU
; will be included in one of the three block addresses as was previously described. Note that the information contained in the MTU address PROM 104 is tailored by the user for each individual MTU. The programming is done by methods well known in the computer art to user requirements.
Fig. 12c depicts areas reserved in the MTU meter encoder data random access memory (RAM) 100. The area designated DCW 1 (Ml) is reserved for a demand control word - meter 1, as will be subsequently described. Above that is an area designated DCW
2 (M2) which is for a demand control word - meter 2. Above that, the area designated Ml PREV, contains a pointer address for a file which is designated PREVIOUS READING FOR DEMA~D METER 1.
Above that is a pointer address, M2 PREV, for a file which is designated PREVIOUS READING FOR DEMAND METER 2. Above that is a pointer addre$s, DATFIL, for a data file area which contains registers designated A through L (REGISTER A - REGISTER L) for storing readings from meters 1, 2, and 3, as well as registers for demand readings from meters 1 and 2 (DEMREG).

.

~i~71ZZ 5ME-58 Referring now to Fig. 13, there is shown three selected expanded memory maps. The first Fi~. 13a is an expanded memory map of the EXECUTE HENCE COMMAND FILE. As shown in Fig. 13a, the bottom of the EXECUTE HENCE CQMMANn FILE ls a pointer address CMDFIL which is used for ease in referencing the file. Above that - are three blocks designated COMMANn 1, TIME 2 & TIME 3. These three blocks comprise one full execute hence command, with the COMMAND block containing the function code portion of the command.
The most significant bit F of the command block is an active flag ~10 which indicates the existance in memory of an active command (F=l), or an empty slot (F=0). The two TIME blocks contain the bits which are included in the ti.me field of the command.
The PRESENT READ AREA of the microprocessor internal '~ RAM 74 has been expanded in Fi.g. 13b to show that above the pointer ^~ 15~ address, PRESRD, are areas reserved for readings from dials 1 through 5 of the designated meter encoder. Above these areas is an area reserved for status bits M2, Ml, F3, F2, and Fl. The status .1:
l~ of the bits contalned in this area signify the following: when ,~ Fl, F2, and F3 equal all "ones", there is no encoder present (no ~` 20 ESl,2,3,). When Fl, F2, F3 = 001, this signifies there is new ~; demand data to Ml or M2, DEMREG at DATFI~ plus M, as will be subse-quently described. The Ml, M2 bits signify which meter the data pertains to, with Ml = O and M2 = O signifying meter l; Ml = 0 and M2 = 1 signifying meter 2; Ml = 1 and M2 = 0 signifying meter 25 ~ ~ 3; and Ml = 1 and M2 = 1 code not used. Note also from Fig. 13c ~,i that all ones in register DCW2 or DCWl indicate that the demand is off. Any other bit pattern signifies the demand re~ister (DEM~EG) number or meter readin~ register number for the selected meter encoder.
,~ .

, .

.--2 ~iS7122 The following description pertaining to the operation of the MTU is made referencina the various flow charts shown in Figs. 14 throu~h 28. After the MTU has been installed and power ; is applied, the initializing sequence illustrated by the flow chart of Fig. 14 commences. All internal computer controls are initialized in accordance with standard initializing procedures which are well known in the computer art. A status flag bit Fl, which is available for use within the microprocessor, is cleared.
In the preferred embodiment, Fl is used as a minute flag as will be subsequently described in conjunction with Fig. 28. Next, computer ports 1 and 2 (Pl and P2) are initialized. Memory locations DCWl and DCW2 are then initialized by settin~ all bits in each equal to "one" to indicate demand off, as previously described. Next, the EXECUTE HENCE COMMAND FILE area of the microprocess internal RAM 74 is cleared. The contents of L FLAG in the address P~OM
is then tested. A one in the L FLAG field signifies that all three loads should be turned on immediately. If the field contains a , ` zero, this indicates that the process will start with all loads off, and a "load on" command is to be placed in the EXECUTE HENCE
~20 COMMAND FILE with the particular time out data which is contained , ~ .
in the L123 TIME OUT location of the MTU address PROM. Note that ~; ~ the contents of L FLAG and L123 TIME OUT are specified by the user in accordance with user's requirements as to whi.ch loads are to be turned on immediately and which are to be turned on 25~ after a specified delay period.

''~

~ -34-,~ .

, . .

~1~7~22 Next, the SOMWD register is initialized. Following this, the seconds counter register (SECNT), is set equal to 60. The contents of the demand time interval register (DEMID) are then loaded into the MlDT and M2DT registers to preset the demand interval timers. Note that these timed intervals are also specified by the user and they dicate the length of the demand interval, as previoiusly explained. Normally, each register contains a binary number which is usuallv about 15 minutes, with each bit representing a minute. Notice that since DEMID is an ei~ht bit register, the lQ demand interval can assume any length from zero minutes throu~,h 27 - 1 minutes.
Next, the one second interrupt timer is initialized and then started. The function of this timer will be described below in conjunction with the flow chart depicted in Fig. 28.
Following the initialization and start of the timer, the MTU enters an idle loop (IDLOOP) which is indicated by the rectangle in Fig.
14. In IDLOOP, the receive clock (RC) si~nal from the receiver 40 (see Fig. 10) ls tested. If RC is hi~h (that is, if the receive - clock has made a positive transition), the MTU will exit the decision`
block at Y and ~o to the receive (RECV) subroutine, the steps of which will be subsequently described in conjunction with Fig.
15. If RC is low, the mlnute flag Fl is tested. If Fl is equal to one, the MTU e~its to the rouSting (ROUTNG) subroutine, the steps of which will be subsequently described in conjunction with Fig. 1~. If the minute fla~ Fl equals zero, RC is a~ain tested and the subsequent steps are performed as described above. This forms the idle loop which is entered after completion of other functions at the point designated "A". The MTU rèmains in IDLOOP
while awaiting commands as will be subsequently described.

~ -35-. 5ME-58 ~15712Z

Fig. 15 depicts the steps of the method, designated RECV, by which the MT~ obtains and stores the six characters, including parity, of the outbound command. As previously stated, if the receive clock (RC) is high, this indicates that an outbound ~essage is being received; consequently, the MTU will receive the first input bit from the line carrying the outbound receive data (OBRD), at port 2 (P2) of the microprocessor 66 (see Fig.
lO). RC is again tested to determine its state. Since the OBRD
bits are received serially, the microprocessor 66 uses the RC
clock to clock in the bits. Consequently, it will wait until RC
returns low at which time it will place the received bit in the SOMWD register. The contents of SOMWD are tested against a pre-stored constant to see if they constitute a valid SOM. If not, the next step is to return to point A of IDLOOP to await RC high in order to clock in the next bit. This process is continued until all six bits of the start of message sequence are stored in SOMWD.
Again the contents of SOMWD are tested to determine whether or not a valid start of message sequence was received. Assuming a valid SOM (O00111 in the preferred embodiment), the contents of a character counter register are then set equal to six and the contents of a bit counter register are set equal to eight. The accumulator storage register (ACCSTR) is then cleared (the contents are set to all zeros) so that it is ready to accept the receip.
of a data word. RC is then tested, to determine whether it is high or low. If low, wait until high at which time, the data bit in the OBRD signal from the receiver 40 (see Fig. 10) is placed into ACCSTR. The microprocessor then waits for RC to go low at .

` ~57~2~ 5~-58 which time it decrements the contents of the bit counter register by one. It then tests the bit counter to see if it is equal to zero. If it is not equal to zero, it continues to clock in data bits from OBRD into ACCSTR. When the bit counter is decremented to zero, one entire character of the receive command has been stored in ACCSTR. At this time, the data characters stored in ACCSTR is read into the WO~K SPACE file at WRKSPS + N, for example WRKSPS ~ 1 (see Fig. 12). At this time, the microprocessor decrements the contents of the character counter register by one then tests the character counter to see whether or not it equals zero. If the character counter is not equal to zero, the bit counter is reset at eight and the microprocessor inputs bits of the next character into ACCSTR which character is then transferred to WKSPS
+ 2. These steps are repeated until all six characters of the inbound message (see Fig. 6) have been received and stored in locations WRKSPS + 1 through WRKSPS + 6. At this time, when the character count is tes~ed, it will equal zero and the microprocessor will then perform the steps of address type (ADDTYPE) in order to determine the type of address received.
Fig. 16 depicts the steps of the method (ADDTYPE) of determing whether the command is one of the three block types, a group type or a single type, as previously described, and whether the received command is intended for this particular MTU. The microprocessor first tests bits 17 through 24 of the MTU Action ; Field of the received outbound command (see Fig. 5) which are stored in the (WORKSPACE) file to determine whether or not they ~1571~Z 5~ 58 are zero. If bits 17 through 24 are zero, this indicates that the received command is a single or group type command. At which time the microprocessor tests bit 25 to determine whether or not it is a "one". If bit 25 is not a "one", bits 1 through 3 are masked, that is, they are ignored, and bits 4 through 24 are compared with the contents of THIS MTU ADR location in the address PROM
104. If there is no match,-this particular MTIJ has not received a valid group address and will return to point A of IDLOOP (see Fig. 14) to await further commands. If there is a match, the command contained in the function code field of the outbound command message (see Fig. 5) will be placed in the EXREG location (see Fig. 12) of the microprocessor internal RAM . The MTU will then execute the command, as will be subsequently described in conjunction with Fig. 22, after which it will return to point A of IDLOOP
to await further commands.
Assuming that bit 25 was equal to one, this indicates that the address pertains to a single MTU. Consequently, the micro-processor will test received bits 1 through 24 agalnst the contents of THIS MTU ADR in the address PROM whlch contains the address of this particular MTU. If bits 1 through 24 of the MTU Action Field match the contents of THIS MTU ADR, the function code portion of the recelved command will be placed in EXREG for execution as previously described. If there is no match, the microprocessor will return to point A of IDLOOP to await further commands.

' ' " 5ME-58
3~S71 ~2 Now assuming that bits 17 through 24 of the MTU action field of the received command are equal to zero, this indicates that the received command is a block-type. The microprocessor then tests to see if the received outbound command is legal by comparing the function code portion of the received outbound command with a prestored constant in the PROM representative of all legal function codes. If the received command is illegal, the microprocessor returns to point'A of IDLOOP to await further commands.
Assumlng a legal command has been receiv'ed, bit 25 is tested to see if it is a "one". As previously stated, if bit 25 ls a one, while bits 17 through 24 are zeros, this indicates a 1/32 level block address. On ~he other hand, if bits 17 through 24 are zeros and bit 25 is also a zero, this signifies either a 1/16 level MTU address or an all MTU address. Assuming that lS bit 25 is a zero, the microprocessor then tests to see if bits 12 through 16 are zeros. If bits 12 through 16 are zeros, the microprocessor then re,ads the information contalned in AUXADl, the contents of which pertain to an all MTU command, as previously described. The microproc,essor then tests the contents of AUXA~l, a single bit in the preferred embodiment. If the AUXADl bit is ~:~S~lZ~

zero, the microprocessor returns to point A of IDLOOP, si~nifving that this command was not meant for this particular MTU. If the AUXADl bit is a one, this command is to be exectued by this particular MTU and the microprocessor then tests bits 1 through 11 of the MTU Action Field of the received command, which now represents a time as previously explained. If bits 1 through 11 are all zeros, this signifies that the command should be executed now; therefore, the command contained in the function code portion of the received command is placed in EXREG for subsequent execution as previously described. If bits 1 through 11 are not equal to zero, this indicates a command which should be executed at some time in the future (an execute hence command) whereupon the microprocessor will perform the steps of the stacker (STACKR) subroutine. The STACKP~ subroutine will be subsequently described in conjunction with ~ig. 17.
If bits 12 through 16 of the MTU Action Field are not all zeros, the microprocessor will then read the contents of AUXAD2 since this condition is indicative of a 1/16 level MTU address.
Bits 13 through 16 are then compared with the contents of AUXAD2 to determlne whether or not the received command was intended for this particular MTU. If not, the microprocessor will return to point A of IDLOOP to await another command. If so, it will test the time bits 1-11 and proceed as previously described. If bit 25 was equal to one, this is indicative of a 1/32 level block address and therefore, the microprocessor will read the contents of AUXA~3 and compare it with bits 12 throu~h 16 of the .~lTU Action ~157~2Z

Field of the received command to determine whether or not the received command was intended for this particular MTU. If not, the microprocessor will return to point A of IDLOOP to await a further command. If so, this means that this command was designated for this particular MTU whereupon the microprocessor will test time bits 1 through ll and continue as previously described.
- As previously stated, assume that the time bits 1 through 11 of the MTU Action Field of the received command are not equal to zero. This is indicative of an execute hence command and the microprocessor will thereupon carry out the steps of the STACKR
method. These steps are shown in Fig. 17. The STACKR method is used to place the received command in the EXECUTE HENCE COMMAND
FILE portion of the microprocessor internal RAM while being certain that it does not write over something that is already contained therein. Consequently, this method is used to search the EXECUTE
HENCE COMMAND FILE stack to see if a command of the same type S already there. If the command is already on the stack, the new tlme is substituted for the old. In carrying out this method, ~20 the microprocessor will read the first command Location up from the bottom of the EXECUTE HENCE COMMAND FILE stack (CMDFIL + 1).
!` -It;~then tests the bit pattern contained in the function code field of~the received command which has temporarily been placed in a ~ , WORKSPACE file register against the bit pattern of the contents `~25 ~ of CMDFIL + 1 to determine if there is a match. If they match, the active flag F of that particular register is set (see Fig.
13)~ and the command as well as the time bits 1 through 11 will be copied into the relevant locations of the execute hence command '~

. ~

file (in this e~ample CMDFIL + 1,2 & 3). This step is performed in order to write over old e~ecute hence commands where you want to chan~e the time of execution. Note, as previously stated, the status of the active flag bit F indicates whether or not the associated command ls an active one. If it is active (F = 1), it will be executed at the proper time out, whereupon the active flag will be set to zero, as will be subsequently described. After the active flag bit F has been set = 1 and the command has been copied into the appropriate location in the EXECUTE HENCE COMMAND FILE, the microprocessor will return to point A of IDLOOP to await further commands.
If there was no bit pattern match, CMDFIL is incremented and the next command is read. The microprocessor will test CMDFIL
+ N to see if it equals TOPMEM. If not, it will again perform a bit pattern match and continue as previously described. If CMDFIL
~ N equals TOPMEM, CMDFIL will be initialized to i,ts previous ,~ contents which indicate the bott,om of the EXECUTE HENCE COMMAND
FILE stack. The ~icroprocessor then again reads the contents of of CMDFIL + 1 to determine whether or not this location ls empty.
To do this, the microprocessor tests to see whether the active ' flag bit is zero. If the active flag bi~ is a one, indicatin~
, that an active command has been stored therein, CMDFIL will be '' incremented by one and tested to see whether or not it equals TOPMEM. If CMDFIL ~ N = TOPMEM, this indicates that the microprocessor has searched the entire EXECUTE HENCE COMMAND FILE stack whereupon it returns to point A of IDLOOP to await a further command. If .
~ ' .

,:

~15~

-CMDFIL ~ N does not equal TOPMEM, the microprocessor will read the next higher location in the E~ECUTE HENCE COMMAND FILE stack and check for an empty slot as ~reviously described. If an empty slot ls found, the microprocessor will set the active flag bit equal to one and copy the command into the empty slot then return to point A of IDLOOP to wait for the next command.
Referrin~ to Fig. 28, there is shown a flow chart depicting the steps of a timer interrupt subroutine (TIMER INTERRUPT) which issues an internal -interrupt every second. When this interrupt occurs, the microprocessor ceases wha~ it was doin~, goes immediately to the TIMER INTERRUPT subroutine, executes it, then returns to what it was previously doing. The contents of the seconds counter register (SECNT), which was initially set to sixty as previously described, will be decremented by one. The contents will then be tested to see whether or not they are equal to zero. If not equal to zero, the one second interrupt timer will be initialized and started whereupon the microprocessor will return to the method step it had been carring out previouslv. Assuming that the contents of SECNT have been decremented 60 times, then SECNT will equal zero (this happens once a minute since SECNT is decremented once every second). At this time, the minute flag Fl will be set equal one. The contents of MlDT (meter ] demand interval timer) will be read, decremented by one and tested to see if the resu]tant equals zero. If so, the microprocessor will read the contents of DEMID (the preprogrammed demand interval time placed in the address PROM) and place the contents in MlDT. This in effect replaces the zero contents of MlDT by the preprogrammed demand interval -~3-_~ . .. . . .

115712Z 5~-58 .

time, thereby effectively initializing MlDT for future use. ~ext, the meter 1 demand flag bit Ml in the DEMFLG register of the internal RAM is set to one (see Fig. 12). Note that when Ml of DEMFLG is set equal to one, this indicates that the end of the demand interval for that meter has occurred.
Next, the contents of M2DT (meter 2 demand interval timer) is decremented by one. The contents of M2DT are then tested to determine whether or not they equal zero. If they equal zero, the demand interval time contained in DEMID is read and placed in M2DT in a manner similar to that described for MlDT. The meter 2 demand flag bit M2 in DEMFLG is then set equal to one. Next, the contents of SECNT is set equal sixty, the one second interrupt timer is initialized and started whereupon the microprocessor , .
returns to its previous duties.
~15 As apparent from the preceeding description, the timer Ij~ interrupt subroutine causes MlDT and M2DT, which locations contain ~ the remaining time for execute hence commands, to be decremented J once a minute. When the contents of these registers equal zero, this means that the time interval has elasped and the associated command is to be executed as will be subsequent]y described. At this time, this program causes whlchever of these registers which has been decremented to zero to be updated by the demand interval time information which is permanently contained in DEMID of the address PROM. Note also that the minute flag Fl is set equal to ; 25 one at least once a minute by this subroutine. This indicates, referring to Fig. 14, that you must have at least one time interrupt (Fl = 1) in order to get out of the idle loop and execute a program instruction. Consequently, if RC is not high, and Fl equa]s one, indicating a timer interrupt has occurred, the microprocessor ~30 can then go to the routing (ROUTNG) subroutine.

;

1~7~22 Referring to Fig. 18, it can be seen that upon enterin~
the ROUT~G subroutine, the microprocessor will reset the minute flag Fl equal to zero. Next, the DEMF~G register of the internal RAM will be tested to see whether or not the Ml bit equals one.
In the preferred embodiment, bit 0 in the Ml bit and bit 1 is the ~2 bit. If Ml equals 1, this indicates the end of a demand interval, as previously stated. Consequently, Ml will be reset to zero, and the microprocessor will read the demand control word ~1 located in DCWl and thereafter test to see whether or not meter - 10 1 is in a demand mode. If DCWl contains all ones, the demand is off. If the contents are not all ones, then DCWl contains the address of the demand re~ister (DEMP~EG3 where a previous meter reading has been stored. In other words, if a previous demand reading was performed, DCWl would contain the address of the DEMREG
located in the meter encoder data RAM containing the previous demand reading. If meter 1 is in the demand mode, the meter number flags Ml, M2 in the PRESENT READ AREA file (PRESRD + 6, in the preferred embodiment as shown in Fig. 13) to meter 1 (that is, Ml = 0, M2 = 0). Whereafter, the demand read (DEMRED) subroutine will be performed as will be subsequently described in conjunction with Fig. 18. After performing DEMRED, the microprocessor will then perform the same functions with respect to meter 2 as were described above with respect ~o meter 1. If both Ml and M2 of ~ DEMREG are not equal to one, this is indicative that the demand '~ 25 interval has not yet expired for either meter 1 or meter 2, since, as previously described, Ml equal one or M2 equal one signifies the end of the demand interval for that particular meter. At this point, the microprocessor is ready to perform the file check (FILCHK
subroutine.

, ` . 115712Z

Referring now to Fig. l9, there is shown the steps compris-in~ the FILCHK subroutine. It should be noted that every time FILCHK is entered, the microprocessor executes all active commands (that is, those commands having associated time bits equal to zero);
otherwise, the time bit field is decremented by one and the micro-processor returns to point A of IDLOOP. Note that since FILCHK
is entered from ROUTNG which in turn is entered when the receive clock (RC) is low and Fl eguals one (approximately once a minute), the microprocessor searches for active commands approximately once a minute. To perform this search and execute method, commands are read from the bottom up of the EXECUTE HENCE COMMAND FILE
stack on the CMDFIL address pointer. This is performed in a manner similar to that described with respect to the STACKR subroutine.
At each command location, the active flag bit F the most significant bit of the particular COM~AND register, in the EXECUTE HENCE COMMAND
FILE stack (see Fig. 13), will be tested to see if it is equal `~ to one. If the active flag bit F equals one, the contents of the time field -;egisters (TIME) associated with that command will be decremented by one. At this time, the 11 time bits in these time field registers will be tested to see if they are all zeros.
If all are equal to zero, the command is ready for execution. Con-sequently, the contents of the associated COMMAND register, which contains the previously stored function code portion of properly received outbound command, will be placed in the execution register (EXREG), afterwhich the execute subroutine (XECUTE) will be performed.Upon completion of the XECUTE subroutine, CMDFIL will be incremented by one in order to read the next command. CMDFIL + N will be tested ~.

v . .

`- ~157122 5ME-58 to see if it equals TOPMEM. If so, the entire EXECUTE HENCE COMMAND
FILE stack has been read and the microprocessor will return to point A of IDLOOP to await a further command. If not, the micro-processor will then read the next higher command in the EXECUTE
HENCE COMMAND FILE stack, test for the active flag bit F status and repeat the steps previously described. Note that in addition to searching for and executing active commands having time bits equal to zero every minute, this subroutine wil] cause the existing ; time fields to be decremented by one once a minute, thereby effecting a time field countdown, one minute at a time.
Returning now to Fig. 18, it should be noted that if either DCWl or DCW2 has been determined to be in a demand mode, it is time to perform the steps of a demand read (DEMRED) subroutine.
Referring now to Fig. 20, and assuming, for purposes of simplified explanation, that DCWl is in a demand mode, and the meter number flags Ml, M2 in PRESRD + 6 have been set to zeros to indicate meter 1, the steps of DEMRED will be performed for meter 1. Note that under similar circumstances, this would also be performed for meter 2 and if both are indicated, DEMRED will be performed twice, one for each meter.
To perform DEMRED, the meter number (Ml, M2 flags) is retrievecl from PRESRD + 6 (see Fig. 13). A test is made to see if this is meter 1 (Ml + M2 = 0). If not, it is meter 2 and the microprocessor will select port 1 (Pl) and turn on the meter 2 2~ encoder by raising a signal on EMS2, as previously described with respect to Figs 10 and 11. If meter 1, then the microprocessor will select Pl and turn on the meter 1 encoder by way of a signal --`

7~2Z

on E~ISl lsee Figs. 10 and 11). At this point, the microprocessor would then perform the steps of a meter read (METRED) subroutine, which essentially comprise reading the meter which was selected and storing that meter reading in the present read area of the internal RAM as will be subsequently described in conjunction with Fig. 21. After completing the steps of METRED, the previous reading (if any) is read from Ml PREV + N (or M2 PREV + N in the case of meter 2) in the PREVIOUS READINGS FOR DEMAND METER (1 or 2) stack (see Fig. 12) to WRKSPS + N in the WORKSPACE file of the internal RAM. Next, the present reading is read from PRESRD
+ N into Ml PREV + N (or M2 PREV + N in the case of meter 2).
Next, the previous reading (now contained in WRKSPS + N) is subtracted from the present reading (PRESRD + N) and the difference is stored in PRESRD + N. Next the difference will be tested to see whether or not it equals -1. If the difference is equal to -1, this indicates that there has been no increase in demand (that is, the present reading is smaller than the previous reading), at which time the microprocessor will return to the appropriate point in the ROUTNG
subroutine which was previously described.
If the difference is not equa] to -1, this indicates that a new demand must be determined because the present reading is greater than the previous reading. Consequently, the contents of the appropriate demand register (DEMREG for meter 1 or meter which contains the old demand value) located at DATFIL + N is read then written into WRKSPS + N. Next, the old demand, which is in WRKSPS ~ ~, is subtracted from the difference, which is in PRESRD + N. The result is ~hen tested to see if it is greater
-4~-"

~S71~2 5ME-58 than zero, if it is not greater than zero, the old demand is greater than the new de~and; therefore, nothing more need be done and the microprocessor will return to the appropriate location in the ROUTNG subroutine. If the resu]t is greater than zero, the old demand must be updated. Therefore, the flags Fl, F2 and F3 in PRÆSRD + 6 (see memory map 2) are set to indicate new demand data (in the preferred embodiment, a bit pattern of 001 for flags Fl, F2, and F3 indicates new demand data. As previously stated, a bit pattern of 00 for Ml and M2 indicates meter 1. Next, the new demand, which was located in PRESRD + N will be written into the demand register (`DEMREG) for meter 1 (or meter 2 as the case may be) at DATFIL ~ N. The DEMREG may be any one of registers A - C or E - G of the set of registers A - L. The processor will then return to the appropriate point in the ROUTNG subroutine.
~- 15~ As previously stated, a selected meter encoder is read in accordance with steps of a meter reading (METRED) subroutine, as shown in Fig. 21. First the multiplexer 96 is addressed to read the selected encoder strobe (ES 1, 2, or 3). Next, there is a built in program time delay (~ second in the preferred embodiment) ~20 to allow the encoder motor to get up to speed. The selected encoder~ strobe (ESl, 2 or 3) is then read and stored in the accumulator.
; If the program time delay (~ second) is not up, the encoder strobe is read and stored until the ~ second delay is up at which time the accumulator ls tested to determine whether or not one encoder ' strobe was found. If not, the flags (Fl, ~2, and F3) in PRESRD
+ 6 are set equal to one which, as previously indicated, designates that there is no encoder present. The present read area is then cleared and port l (Pl) is selected to turn off the encoder by way of the proper line (EMSl - EMS3). At this time, the microprocessor returns to the program at the point which it was when it was instructed to read the meters.
Assuming one encoder strobe was found, the strobe (ESl, 2 or 3) will be read and continuation of the method will be delayed until the strobe goes from positive to negatlve. At this time, the multiplexer is addressed to read the encoder data (EDl, 2 or 3). Since the data is coming into the microprocessor serially over the multiplexer data line BlJS 7, the bits must be read one at a time; consequently, the encoder data bit is read, and tested to see if it is zero. If it is zero, the microprocessor then waits for the encoder strobe to go from positive to negative again, as shown in Fig. 21. If the encoder data bit is a one, the multiplexer is addressed to read the encoder strobe again and the microprocessor waits until the encoder strobe goes from high to low at which time the multiplexer is addressed to read the next data bit on the appropriate line EDl, 2, or 3. The microprocessor reads that line and tests to see if it is zero. If it is not zero, the encoder strobe is read again and the microprocessor again waits for the strobe to go to zero before addressing the multiplexer as Previousiy stated. If the encoder data bit is a zero, a determination is made as to whether or not the received data bits include nine ; "l's". If not, the microprocessor will return to read the appropriate il5712Z

strobe and continue searching as previously described. Note that in the preferred embodment, a sequence of a "0" and nine "l's"
signifies the start of meter data. Consequently, if nine ones have been received, the multiplexer is addressed in order to again read the strobe. The strobe is then read and the microprocessor waits for the strobe to go from high to low at which time the multiplexer is addressed to acquire the dial bits from the appropriate encoder data line, EDl, 2, or 3. The multiplexer places the first bit in the serial bit stream on BUS 7 which is then read and tem-porarily stored in ACCSTR. At this time, the microprocessor will - test to see if there are six bits in ACCSTR. If not, the multiplexer will again be addressed to read th-e encoder strobe in preparation for reading the next dial bit. If all six bits have been read and are in ACCSTR, all the data bits relating to one dial have been acquired and stored in ACCSTR. At this time, the contents of ACCSTR is then read and stored in PRESRD + N. PRESRD is then incremented in order to point to the next dial data storage location.
At this time, the microprocessor tests whether or not the last dial has been read, if not, the microprocessor will return to addressing the multiplexer in order to read ESl, 2 or 3 and bring in the next six serial bits relating to the next dial using the steps described above with respect to the flrst dial. If the last dial has been read, Pl is selected and the encoder is turned off via the appropriate line EMSl - EMS3 afterwhich the microprocessor returns to the point in the processing where it was before it was instru~ted to read the meter ';~

ilS7122 Referring to Fig. 22, there is shown the block diagram comprising the steps ~o be followed in the preferred embodiment for performing the execute (XECUTE) subroutine. Note that XECUTE
can be entered from the ADDTYPE subroutine, if the address type is an execute immediate command which would include execute hence commands having all zeros in the time bit field. XECUTE can also be entered from FILCHK, which would call for the execution of an execute hence command after the time bits relating to that command have been decremented to zero. Note that in both ADDTYPE
and FILCHK, the command is-placed in EXREG prior to entering XECUTE.
As shown in Fig. 22, after entering XECUTE, the microprocessor will jump to the proper subroutine as directed by the four least significant bits of the command function code field ln the outbound command received by the MTU. (See Fig. 5). If the microprocessor detects four zeros in the function code field, it will return to the pro,gram it was previously executing since, as shown in the function code matrix depicted in Fig. 9, this is not a command which is executable by the MTU. If the microprocessor decodes a one or a two (hexadecimal), it reco~nlzes this as a transmit command and will then proceed to the transmit (XMIT) subroutine.
This is also in accord with the matrix as shown in Fig. 9. The steps of XMIT will be subsequently described in conjunction with Fig. 23. If the microprocessor decodes a three (hexadecimal) in ,~ the function code field, it will proceed to carry out the steps 25 of the reset subroutine (RESET) which is again in agreement with the matrix shown in Fig. 9. The steps of RESET will be subsequently ~'~ described in conjunction with Fig. 24. `' . .

11~7122 If the microprocessor decodes a four, five, six or seven (hexadecimal), it will proceed to carry out the steps of the demand subroutine (DEMAND), again in agreement with the matrix shown in Fig. 9. The steps of DEMAND will be subsequently described in conjunction with Fig. 25. If the microprocessor decodes an eight- (hexadecimal), it will proceed to the alert (A~ERT) subroutine.
If the microprocessor decodes a nine (hexadecimal) in the function code field, it will proceed to the load (LOAD) subroutine. The steps of ALERT and LOAD will subsequently be descri-bed in conJunction with Fig. 26.
If the microprocesor decodes an A or B (hexadecimal) in the function code field, it will recognize this as a read and store command for meter 3 and flS a result will proceed to carrv out the steps of the read and store (RAS) subroutine for meter 3. If the microprocessor decodes a C or D (hexadecimal) in the function code field, it will proceed to carry out the steps of the RAS subroutine for meter 2. Finally, if the microprocessor decodes an E or F in the function code field, it will carry out the steps of the RAS subroutine for meter 1. The steps of RAS
will subsequently be described in conjunction with Fig. 27.
Proceeding now to Fig. 23, there is shown the steps of the transmit (XMIT) subroutine. The first step is to test to see whether the function code bits five through seven signify transmit status (this would be a decoded seven (hexadecimal) in the preferred embodiment as shown in the matrix of Fig. 9). If bits five to seven equal the transmit status code the MTU has ; been commanded to transmit the status of the six external contacts li~71f_2 as previously described in conjunction with Figs. 10 and 11. The MTU address contained in ~TUADR is then read into WRKSPS l ~.
Next, the multiplexer is addressed to read status, afterwhich the status appearing on the first status line of the six lines (STl - ST6) is read from BUS 7 and placed in ACCSTR. The multiplexer address will then be decremented by one and tested to see whether or not all of the status lines have been read. If not, the new multiplexer address will be input to the multiplexer to read the next status line. If al] status lines (STl - ST6) have been read, the stored status bits will be read from ACCSTR into WRKSPS +
N.
If, as described above, functlon code bits five through seven did not signify transmit status, then the command is interpreted as transmit the contents of a designated register at DATFIL +
N, determined by bits five through seven of the function code field, to retrieve the reading stored therein. Thïs reading is then stored in WRKSPS + N. Note that in accordance with the steps shown in Fig. 23, WRKSPS + N now contains either a meter reading or status. At this time, the receive clock (RC) will be tested to determine its level. If not high, the microprocessor will wait until RC becomes high at which time it will then enable port 2 (P2) and drive the inbound transmit data line (I~TD) to "zero".
Waiting for RC to go high is necessary in order to synchronize the transmission with respect to the first transmit clock (TC) following RC since, as previously described, the SCU e~pects an immediate receipt of message upon sending to the MTU an e~ecute immediate transmit command.

gl~712Z

After driving IBTD to zero, the microprocessor will wait until TC makes a transition from high to low. When TC goes low~ the microprocessor then selects port 2 (P2) and turns on the inbound transmit gate (IBTG) in order to shift out the first start of message (SOM) bit. In the preferred embodiment, the inbound SOM sequence comprises six bits, all of which are zero. The micro-processor then tests to see whether or not all six SOM bits have been shifted out. If not, it will continue to shift out bits until all six are out. After all six SOM bits have been shifted out, 1~ the microprocessor will retrieve the meter readin~ or status now contained in WRKSPS + N and will wait for TC to make the transition from high to low. After TC has gone from high to low, the first data bit will be shifted out. The microprocessor will then test to see whether an entire word has been shifted out. If not, it will go back and wait for TC to go from high to low at which time it will shift out the next data bit. This wi]l continue until the entire word has been shifted out at which time P2 is selected and IBTG is turned off. The transmit function has now been completed and the microprocessor will return to IDLOOP.
Upon receiving a reset execute command, the microprocessor will perform the reset (RESET) function as shown in Fig. 24. First, the PRESENT READ AREA of the internal RA~I (see Figs. 12 and 13) is c]eared. The microprocessor will then address the register DAT~IL + N specified by bits five through seven of the command contained in EXREG. The addressed register is then cleared and the microprocessor returns to point A of IDLOOP to await further commands.

~1~712Z

Referring to Fig. 25, there is shown the steps of the DEMA~D function. Note that DF,MA~D is executed when it is desired to either turn the demand feature of the present invention on or off. If demand is turned on, there must be a command in the stack to turn the demand off at some future time as previously stated. The first step is to read and store the contents of DCWl or DC~2 (depending upon which meter the demand is associated with) in a general purpose register for future use. Next, the EXECUTE
HENCE COMMAND FILE stack is searched starting with CMDFIL + 1 and continuing in order to find out whether or not a counter command is contained within the file. In other words, the microprocessor is testing to see if a demand off command is in the file or if any other demand for the particular meter under consideration is in the file. If no countercommand is found at the first location, CMDFIL is incremented to read the next command. If CMDFIL + ~T
is not equal to TOPMEM, the microprocessor reads the next command up as shown in Fig. 25. If CMDFIL + N equals TOPMEM, this indicates that the top of the memory has been reached at which time bit 1 of the function code is tested to see if it equals one. This fùnction code bit indicates whether or not the command deals with meter 1 (FC bit 1 = 1) or meter 2 (FC bit 1 = 0). If FC bit 1 = 1, the previous contents of DCWl will be read, if FC bit-l =
O, the previous contents of DCW2 will be read. ~ext, the previous content-s of DCW(l or 2) is tested to see if it is a demand off.
, If yes, then the m croprocessor returns to point A of IDLOOP to await further commands. If no (meanin~ that the previous DCW is ,7 li57122 not a demand off thereby signifying that this particular meter is in a demand interval), the proper DCW is set to demand off by placing all ones in either DCWl or DCW2 as appropriate. (See Fig. 13~.
The read register (RDREG) is set to the previous demand register address (DATFI~ + N) specified by the previously stored DCWl or DCW2 in order to get a final demand calculation for this demand interval. At this point, the contents of DEMID (which is the time interval specified by the customer and programmed into the address PROM) is read into MlDT or M2DT as appropriate. This is performed in order to start a new demand interval for the selected , meter. After this, the microprocessor will then perform the function DEMRD as previously described in conjunction with Fig. 20.
Returning to the test for whether or not a countercommand was found, assume a countercommand has been found. The microprocessor s then tests to see if the command in EXREG is a demand off command.
If it is, the microprocessor then tests to see whether bit 1 of ~he function code (FC) is equal to l as previous]y described.
If the command in EXRF.G is not a demand off, the microprocessor follows the demand on path. Next, after testing to see lf it is I deallng with meter l or meter 2 by testing FC bit l to see if j~ it is equal to 1, the microprocessor s~ores the new demand register l~ number in DCW1 (if dealing with meter l) or DCW2 (if dealing with i meter 2). Note that DCW (1 or 2) now stores the new demand register ;~ 25 number which was in the command just received. The microprocessor ,' now tests to see whether or not the old demand control word (DCW) ~ -S7-'~ -_
5~-58 r ~ 2 is a demand off (contents of DCW = all "l's"). If not, RDREG is set to the old demand register address DATFIL + N specified by the previously stored DCWl or DCW2 in order to preserve this infor-mation for a demand read calculation. After this, the microprocessor then reads DEMID into MlDT or M2DT as previously described before going to the DEMRED subroutine. If the old command is a demand off, this indicates that a new command interval should be started by turning demand on. Consequently, RDREG is set to the new demand register address DATFIL + N as specified by the cQmmand. This in effect is specifying a specific one of the demand registers (DEMREG) as shown in the memory map of Fig. 12. Next the previous reading stored in MlPREV + N or M2PREV + N is cleared since the demand has not been on. The microprocessor then reads DEMID into MlDT or M2DT as previously stated before going into the DEMRED
subroutine. At this point, the correct contents of DCW (1 or 2) have been established.
Referring now to Fig. 26a there is shown the alert (ALERT) function which comprises selecting port 1 (Pl) and turning on or off the alert signal lines (ASl or AS2) in accordance with the contents of the function code field in EXREG. The preferred decoding is shown ln the matrix of Fig. 9.
Referring to Fig. 26b, there is also shown the steps of the load-(LOAD) function. This function causes the ~TU 18 to turn the loads 58 on or off. First, bits 17 through 24 of the ~, .
MTU Action Field received outbound command (see Fig. 5) are tested , ~ .

s -5~-7 ~ 2 ~

to see if they are equal to zero. This specifies whether or not the received command contains a block address (bits 17 through 24 equals 0) as previously described. If the received command contains a block address, it is an execute hence command; if not a block address, then it is an execute immediate command, as previously described. Assuming that the received command is an execute immediate command (bits 17 through 24 not equal to 0) Pl is selected and the loads are switched in accordance with signals placed on the load signal lines (LSl - LS3) per the function code bits one through seven contained in EXREG. Refer to the matrix shown in Fig. 9 to determine the particular command associated with bits one through seven in the function code field. Note that a command such as this might be used in a situation where it is desired that the loads connected with a particular MTU be turned off indefinitely.
After performing the commanded load switching, the microprocessor will then return to point A of IDLOOP and wait for the next command.
If bits 17 through 24 are equal to zero, this indicates a block address, whereupon the microprocessor will search the ~' EXECUTE HENCE COMMAND FILE stack from the bottom up to see if there is a "load on" command in file for the load or loads which have been commanded to be turned off. This is accomplished as previously described with respect to the DEMAND function, by reading CMDFIL + 1 to determine whether or not there is a command match and load on. That is, the microprocessor will test to see if the command that was Just read is matched by a command already in the file and also to see whether or not it is a command on. If ~ there is a match, this indicates that there is a command present :

. 11571Z2 5ME-58 to turn the load on at some further point in time. Consequently, the microprocessor will then execute the load off command by selecting port l and switching the loads as previously described. If there is no command match and load on command, CMDFIL + 1 will be incre-mented in order to read the next command. At this time, CMDFIL
+ N will be tested to see if it equals the top of memory. If so, the microprocessor will return to point A of IDLOOP and await the next command. If not, it will continue to search the command file to see whether or not there is a command match and load on.
Note that if the microprocessor does not find a matching load on command, then it will be unable to execute a load off and will simply return to point A of IDLOOP to await a further command.
I Referring now to Fig. 27 there is shown the steps for , performing the read and store functions (RAS) for meters 1, 2 . 15 or 3. As stated previously, in connection with the XECUTE function, the four least significant bits of the function code field are decoded in order to determine whether meter 1, 2 or 3 is to be read (see Fig. 9). Keeping this in mind, the meter number is retrieved from location PRESRD + 6, as shown in Fig. 13. The Ml, M2 locations ` 20 are decoded in order to find which meter is concerned. For example:
00 indicates meter 1; Ml = 0, M2 = 1 indicates meter 2; and Ml = l, M2 = 0 indicates meter 3. Port 1 (Pl) is then selec~ed and the relevant meter encoder motor is turned on by way of the appropriate line LMSl, EMS2 or EMS3 (see Fig. 11). Next, RDREG is set to the register address of DATFIL + N in order to receive meter data.
~.
Note, Ml, ~2 of PR~SRD + 6 is used to indicate which meter is ~ . being dealt with. Bits 5-7 of the function code determine which 11~7122 register the meter data will go into. Next the METRED function will be performed whereupon the microprocessor will read the meter data from PRESRD + N. This meter data will then be stored in the appropriate register at DATFIL + N which was specified by the contents of RDREG (which specifies to the microprocessor which register, (A - H, J - L) the data will be placed into). After this, the microprocessor returns to point A of IDLOOP to await the next command.

. SECTION CONTROL UNIT (SCU) The SCU 14 has been briefly described in the system description of the invention in connection with Fig. 1. In that description it was pointed out that the SCU communicates with the RCC over a conventional telephone line connecting the RCC
to the SCU through two matching telephone modem transmitter receivers.
Reference is now made to Fig. 29, which is a major block diagram of a typical SCU 14 showing its modem 30 which communicates with the RCC or the CIU and its modem as shown in Fig. 1. In essence, there are two lines connecting the SCU modem with the CIU modem wherei.n the SCU modem receiver 200 senses the tone or carrier signal transmitted by a matching transmitter in the modem at the RCC. In a similar fashion, the SCU modem transmitter 202 transmits a carrier signal back to a matching modem receiver in the RCC.
Still referring to Fig. 29,the SCU modem 30 communicates in serial form with a conventional universal synchronous asynchrouous receiver transmitter circuit shown as a USART 204. The USART is 5Mæ-58 ~1~7122 a conventional integrated circuit chip such as an 8251 A manufactured by Intel Corporation. The primary purpose of the URSART is to receive outbound commands from the modem receiver 200 in serial form and assemble those commands into parallel format for transmission or transfer to an information processor 206. The USART also receives message information from the information processor in parallel form and converts that information to serial form for subsequent tra~sfer to the RCC via the SCU modem transmitter 202. As will subsequently be described, the USART IS program controlled from the information processor which may comprise, for example, a conven-tional microcomputer such as in Intel 8035.
The information processor, in response to outbound commands from the RCC, is designed to react to those commands to transmit information or commands via a transmitter modulator (XMITR/MOD) 208 onto the powerline feeder 34 and out to the MTU's 18. The information processor 206 also responds to outbound commands from the RCC 12 to receive information from the MTU's 18 via receivers 209 when an outbound command requests the MTIJ's to transmit informa-ti.on. Additionally, as will subsenuently be described, the SCU
14 is also capable of providing status information back to the RCC when the information processor decodes such a command for status transfer.
Reference is now made to Figs. 30 and 31 whlch show the SCU 14 in more detailed block dia&ram form. The information processor is shown in Fig. 30 as a microcomputer 210 Intel 8035 including an electrically programmable READ only memory 212 (EPROM) such as an Intel 2716, an address latch circuit 214 such as an Intel 8212 and an SCU Address Buffer 216 also an Intel 8212. The transmitter modulator 208 of Fig. 29 is also shown as a bloclc -~2-~1~712Z 5ME-58 in Fig. 31 and in the preferred em~odiment is of the type disclosed in U.S. Patent No. 4,307,464 dated December 22, 1981 of Hughes, entitled, "Method And Apparatus For Synthesizing A Modulated Carrier To Reduce Interchannel Interference In A Digital Communication Sys'em" and assigned to the assignee of the present invention. That application also discloses a line coupler 218 such as that shown in block diagram form in Fig. 31. The receivers 209 shown in Fig. 29 are also shown as blocks in Fig. 31 as receivers #1 through #8. These receivers in the preferred embodiment are the type disclosed in a U.S. Patent No. 4,298,986 dated November 3, 1981 to Hughes, entitled, "Receiver For Phase Shift Modulated Carrier Signals" assigned to the assignee of the present invention.
An AGC circuit 220, also shown as a block in Fig. 31, is disclosed in the aforementioned U.S. Patent No. 4,298,986.
Also shown in Fig. 31, is a phase locked loop and frequency ~ cenerator 222 which provides a 240 hertz signal to a TX/~V
clock generator 224. These two blocks 222 and 224 generate output signals in a manner to subsequently be described for 20 controlling the operation of the SCU 14 and the circuits contained within those blocks are disclosed in Canadian patent application Serial No. 365,757 filed November 28, 1980 entitled ~Phase Locked Loop Stabilized By A Crystal Oscillator~
to Hackert and Hughes and assigned to the assignee of the present invention .
Reerence is now made back to Fig. 30 to the SCU
MODEN 30,wherein the MODEN receiver 200 senses a continuously on tone or carrier signal having a frequency fl which as previously-described has a frequency of 660 hertz. The tone fl is always modulated by FSK, thus conveying a continuous steam of asynchronous ~r~

`' ~` 5ME-58 11~7122 ASCII characters at 30 characters per second or 300 band.~~s long as the carrier is on, the MODEM receivers 200 generates a carrier detect IN signal to a ~ input terminal of the USART. Also, the modulated carrier is applied on a Data In line to an RXD input terminal of the USART. As each character, such as characters 1 through 10 of Fig. 7, is received, the USART generates a C READY
or character ready signal at an RXRDY output terminal. As shown in Fig. 30, the C READY signal is inverted and applied to an lNl input terminal of the microcomputer 20 to cause an external interrupt to the computer to effect program execution by the latter. It .. . .
is also significant to note that the C READY signal is utilized as the system clock shown as a si~nal SYSCL at 30 hertz on a conductor 226 provided to a reset R input terminal of the TX/RX clock generator 224. As will subsequently be described, all SCU operators are ~15 slaved to the SYSCL signal. By so slaving all operations in the SCU to this signal, the SCU is thus held in synch~onism with the RCC and the MTU's.
As shown in Figs. 31 and 32, various clock signals such as TC, ~C, RC2 and RC3 are generated by the clock generator 224.
These signals have the phase relationships as shown in Fig. 32 ' and they are asynchronous with SYSCL.
As previously mentioned, the RCC always modulates the tone fl by sending ASCII characters. As shown in Fig. 7, if a ,~ command is not being transmitted from the RCC to the SCU, these ~;25 characters will be idle characters merely serving to synchronize the SCU and the MTU's with the RCC. When a command is transmitted by the RCC, ten characters will be taken in by the USART and trans-ferred to the microcomputer. As each of the ten characters is ` 5ME-58 ~'7122 received, the C READY signal will cause an interrupt (ClRDY) to the microcomputer, which in turn will execute a command placing a specific bit configuration on its BUS output on lines DB0 through DB7. This bit configuration is applied as an address to an address latch 214 having output lines D05 and D06 connected as control/data and select lines D5 and D6 to the C~ input terminals of the USART.
To latch the address into the address latch 214 an enable EN signal is also applied to the latch from the microcomputer output terminal AL~. In the particular instance being described, the input signal to the C/~ input of the USART will be a binary 0 for data as shown and the ~ input terminal will be a binary 0 to select the USART.
To now read the information or character from the USART into the microcomputer, the computer will execute a read instruction causing a negative going pulse to be applied to the K~ input terminal of the USART from a like output terminal ( K~ ) of the computer.
The read pulse will then cause the character to be transferred from the USART via its output terminals D0 through D7 on an I/0 ~, data BUS into the computer bus input port on lines DB0 through DB7. For each character to be transferred into the microcomputer, the above menti.oned process will be repeated.
The IJSART can also be controlled from the computer to transfer data from the computer back to the RCC. This is accomplished by the computer first executing a command to select the USART
in the manner just described, while causing the c~Drinput terminal to go to a binary 1 for control. With the USART now selected the computer can transfer, via the BUS DB0 through DB7, a control word into the USART at terminals D0 through D7 with the application 71~2 of a I~RITE pulse at the output of the ~ terminal of the computer to a like input terminal (WR) of the USART. This control word will now allow the USART to receive subsequent data words from the computer with the generation of each WRITE pulse.
When the USART is commanded to transfer information from the SCU to the RCC, the USART will turn on the Modem transmitter carrier by applying a binary 1 output signal (carrier control out) from its RTS terminal to the MOnEM transmitter 202. The informa-tion is then shifted out of the USART from its TXD output terminal as data OUT to the transmitter by the TXC/RXC 300 Hertz signal on line 228 from the frequency generator 222.
As shown in Fig. 3 and as briefly described under the system description, the output carrier from the MODEM transmitter 202 can be one of three frequencies f2, f3 or f4. These frequencies represent separate subchannel frequencies to allow more than one SCU to simultaneously communicate with a single CIU channel in the RCC. As previously described, frequency f2 equals 1260 hertz, f3 equals 1860 hertz, and f4 equals 2460 hertz. The purpose and use of these three subchannel frequencies will be described in more detail later. However, for clarification at this time, as can be seen in Fig. 30, more than one SCU 14 can be connected to a single CIU telephone channel as shown by two additional SCU's 14 connected to the phone line. ~epending upon the system configura-i tion, as will be described, each of the SCU's can generate one of the frequencies f2, f3 or f4.
.

~ ~ 5ME-58 7~2 Still referring to Fig. 30, the entire program for the computer is contained in the EPROM 212. The EPROM is addressed from the address latch 214 via its output lines D00 - D07 applied to the EPROM input terminals A0 - A7~ When it is desirable to select a particular address location in the EPROM during program-execution, an address is placed on the computer BUS DB0 - DB7 and latched into the address latch 214 via the ALE output terminal applying the EN-signal on terminal ~S~ of the address latch. To now read the addressed location out or the EPROM, the computer can execute an instruction which causes its P~5F~ output terminal to provide a binary 0 select signal to a C~ input terminal of the EPROM. This causes the addressed word in the EPROM 212 to be read out and transferred via the BUS DB0 through DB7 into the computer for execution of the retrieved instruction. While not significant to the operation of the invention, an output port P2 is also shown connecting lines P0 through P2 to address input lines A8 through A10 of the EPROM for pa~e addressing of that ' memory as required by the system. It should also be noted that the port 2 P7 output line is provided to a reset RS input terminal of the USART. By the execution of a proper instruction by the microcomputer the USART can be reset at a system start up in prepara-tion to receiving and transmitting information between the SCU
and the RCC.
`~ Once a command has been received from the RCC to the SCU, that command must be examined to see if it contains the proper address for the SCU receiving that command. The SCU accomplishes this testing by comparing its own address which is set by a plurality :

, ~iL~7 1 2 ~

of SCU address switches 230 as shown in Fig. 30. These switcnes are set to a specific address for the desired SCU, which settings provide input signals via lines 232 to the SCU address buffer 216. When the computer executes an instruction to read the SCU
address buffer into its internal memory, it first selects line D03 to enable terminal DS2 of the SCU address buffer via the address latch in the manner as previously described. The computer then generates a read pulse on its K~ output terminal to enable the ~l input of the SCU address buffer. This causes the SCU address buffer to thus provide the SCU address as bits SCAUOO through SCAU15 over the I/O data BUS as bits DB0 through DB7 into the microcomputer.
This retrieved address can then be compared by the computer with the received address in the command as shown in Fig. 7. If the compared addresses match, the computer will then continue on to carry out its operations as specified by the function code bits in character 5 of the outbound command as shown in Fig. 7.
Under normal conditions, the SCU will transmit the command onto the power line in the format as shown in the outbound command of Fig. 5. To accomplish this, the microcom?uter executes instructions which first turn on an outbound transmit gate OBTG on line 234 and then proceeds to sequentially execute instructions to transmit the outbound command out, in serial fashion, via its port 2 on outbound transmit data (OBTD) line 236. The outbound transmit data which will be either a binary 0 or binary 1 depending upon the polarity of the bit at the time it is transmitted by the computer.

~.
-6~-'E-2 5ME-58 As shown in Fig. 31, the OBTG and OBTD lines 234 and 236 are applied to the transmitter modulator 208. The outbound transmit gate OBTG enables the transmitter modulator to transmit an RF data output signal in accordance with the OBTD transmit data which modulates a transmit carrier signal TXCAR applied to the transmitter/modulator from the phase-locked loop and frequency generator 222.
As previously mentioned, the SCU output carrier signal is a 5010 hertz shown at the output of the line coupler 218 as fO. The actual data bit rate of transmission is controlled by a transmit clock TC of 30 hertz applied to the modulator 208 from the TX/RX clock generator 224. When the entire command has been transmitted out to the MTU's as shown in Fig. 5, the computer turns off the outbound transmit gate OBTG disabling the trans-mitter/modulator.
If the functlon code bits of the outbound command, as shown in Fig. 7 are decoded by the microcomputer to expect a response from an addressed MTU, the computer will generate an IBRG ON signal on lines 238 via its output port to enable the receivers 209 and the AGC circuit 220 shown in Fig. 31. The MTU message, at frequencies fl through fl8 is simultaneously applied to the receivers 209 as RF data IN via the AGC circuit 220 and the line coupler 218.
The receivers will respond to their individually tuned frequency by combinlng corresponding frequencies fIl - fI8 from the phase-locked loop and frequency generator 222.
It should also be noted tnat the phase-lock loop and frequency generator generates a 60 Hz output signal which is applied to the AGC circuit for gain control purposes. The 60 Hz signal 71~Z

is also divided by two to provide a 30 Hz gating signal for gating the received bits from the receivers into port 1 of the computer via inbound receive data signal lines IBRDl - IDRD8 on conductors 240.
,5 Three additional timing signals are also applied to ¦ the receivers 209 from the TX/RX clock generator 224. These signals ~;~ are all 30 Hz and have the timing relationships as shown in Fig.
32. The BC signal is a baud clock, whereas, signals RC2 and RC3 are receive clocks utilized by the receivers to enable the receivers iO to clock the inbound read data IBRDl - IBRD8 into the computer .
at the proper time. As can be seen, the four signals TC, BC, RC3 and RC2 are all generated durin~ one clock period of SYSCL. As shown in Fig. 32, the TX/RX clock generator 224 is reset on the falling edge of the SYSCL pulse to enable the clock generator to~count the 240 Hz input signal from the phase-locked loop 222.
As the clock generator 224 is-counted up by the 240 Hz pulse, it will generate these four pulses and apply those pulses to the . ~ ~
receivers to thus clock out the information to the microcomputer at the proper time. At the end of the SYSCL cycle, SYSCL will ~2~0 ~ g positive to thus reset the TX/RX clock generator 224 as shown in Fig. 32.
During operation of the SCU, when the RC2 signal goes high the inbound received data IBRDl - IBRD8 is actually available at port 1 of the computer. During that time, the RC2 signal, which 25~ if applied to the Tl input of the computer for sampling, will cause the inbound received data to be transferred and stored into the microcomputer memory.

:~

~1~712Z 5ME-58 SCU Operational Description Prior to proceeding with the operational description of the SCU, reference is first made to Figs. 33a and 33b. Fig.
33a is a memory map of the random access memory (RAM) contained within the microcomputer 210 of the present invention. As shown in that memory map, certain locations are designated as flags F0 - F33. These flags are described in Table 2 having four columns, from left to right, the first column designated the flag, the . second column a description of that flag, and the third and fourth columns showing a subroutine in which each flag is either set or reset. During the execution of the program by the SCU microcomputer these various flags are set and reset and then tested by the program to control subroutine program execution. As the ensuing description ~lS proceeds, each of these flags will be described at the time it i5 necessary to do so.
. .

~ .

.~ ' ~
\
: ~ \

: ' 11~7122 5ME-58 SCU FLAGS
SET IN RESET IN
FLAG DESCRIPTION SUBROUTINE SUBROUTINE
FO Counting ON CNTO IN SCUTA SCUTA SCUTA
: Fl Receive outbound message in progress ROBMG ROBMG
: F2 Receive outbound message ready to examine ROBMG EXOBM
ROBMG
F3 ROBWC is between 5 - 10 ROBMG ROBMG
F4 Next pilot tone = l OBXR OBISR
OBISR
F5 Ready for new receive outbound message PUIR ROBMG
ROBMG
EXOBM
; OBXR
: SCUTA
PREIB
F7 Inbound response to be read next receive clock PREIB IBREC
Fl0 Inbound transmit (any type) SCUTA IBXR
IBREC
Fll Outbound message to be transmitted - EXOBM EXOBM
OBXR
, Fl2 Inbound response expected after i outbound transmit EXOBM OBISR
EXOBM
Fl4 Counting in SCUTA on CNTl EXOBM SCUTA
Fl5 Counting from SCUTA or STAT EXOBM SCUTA
Fl6 Counting in SCUTA on CNTO EXOBM SCUTA
F17 Inbound response after SOM OBISR RREIB
F20 Read inbound data on receive clock IBREC WAIT
PP~EIB
F21 Counting on CNTO in IBREC PREIB PREIB
F23 Transmit inbound message from : SCUTA on CNTO SCUTA SCUTA
F24 Transmit inbound message from SCUTA on CNTl SCUTA SCUTA
F25 Transmit inbound message characters 49 - 52 IBXR IBXR
F27 CNT0 CNTl EXOBM EXOBM
F30 Counting on CNT0 PREIB PREIB
F31 Counting on CNTl ~ PREIB PREIB
F32 Pilot OFF at CNT0 = 64 EXOBM SCUTA
F33 Pilot OFF at CNTl = 64 EXOBM SCUTA

11~'71ZZ

Other locations used in the RAM comprise various counters which are used during program e~ecution and also locations for the storage of outbound words or commands and inbound data words or message received from the MTU's. Furthcr, as shown in Fig.
33a, certain working registers designated Rl, R2 etc. are utilized during program execution for the temporary storage of various required information.
Fig. 33b is a memory map of the EPROM 212 containing the actual program utilized by the SCU microcomputer. A portion of this memory contains constants which are used to set and reset the aforementioned flag F0 - F33. Also, certain constant information such as control words for the USART are contained within this portion. Additionally, commands are contained within this portion for reading the SCU least significant bits (LSB's) and the most si~nificant bits (MSB's) from the SCU address switches 230 of Fig. 30 for comparison with the transmittinO and receiving SCU
address bits as shown in Fig. 7. The remainder of the EPROM 212 contains the varlous program subroutines for controlling the method of operation of the SCU and the system. These various subroutines are tabulated in the memory map and each of those subroutines will subsequently be described.
While it is not necessary to a thorough understanding of the operation of the SCU of the present invention, for those interested in how the microcomputer actually executes instructions to carry out the various functions to be described, reference is made to the MCS-48 Microcomputer User's Manual, Copyright 1978 by Intel Corporation. That manual contains a complete description of the 8G35 microcomputer as well as the 2716 EPROM and the latches 8212. The USART 8251A is also shown in that same manual. A complete ~30 operational description is provided in that manual interconnectin~
all of the various inte~rated circuits as shown in Fig. 30.

~1~71Z2 5ME-58 Reference is now made to Fig. 34, which is a method flow chart showing the power on start up sequence of the SCU.
Let is first be assumed that power has just been appl;ed to the SCU. The computer will first retrieve an instruction from the EPROM to select port 2 which resets the USART via port 2 outpout line P7 as shown in Fig. 30 by applying a reset signal to the RS input terminal of the USART. It will then proceed to set two counters CNT0 and CNTl equal to 112 in the RAM as shown in Fig.
33a.
Next, the computer will retrieve a constant from the EPROM of Fig. 33b to set a flag F5 = 1. Flag F5, as described in Table 2, is a flag indicating that the SCU is ready for a new receive outbound message from the RCC. Also, in this same step, all other flags F0 - F33 except F5, will be reset or cleared to ~15 zero. The computer will then proceed to retrieve from the EPROM
instructions to write a mode instruction and a command to the USART Via its BUS DB0 - DB7 to command the USART to prepare to receive an outbound message from the RCC (see the "User's Manual"
for how to operate the USART). For security purposes, the computer ;20 will again set F5 and clear all the other flags in the RAM.
The computer will then test to see if the receive clock RC2 at its Tl input terminal has gone from a binary O to a binary 1 as shown by the transitional arrow in the RC2 decision block.
As previously described, RC2 is a 30 Hz clock and as long as that clock is low, the computer will loop out of the N branch continuing to disable its lnterrupt input INT and loop back to continue to set F5 and clear the memory flags. As soon as the computer detects ` 5ME-58 that RC2 has ~,one high, it will exit through the Y branch and enable the interrupt (n~r) input from the USART allowing the computer to now read the CRDY input signal out of amplifier inverter 242.
It should also be noted that CRDY is the 30 baud clock SYSCL utilized to clock the entire SCIJ for synchronization purposes as previously described. Thus, it can be seen that the CRDY signal applied to the INT input of the mcirocomputer has a 30 baud rate. The computer will now go into a wait subroutine as shown in Fig. 35.
While the computer is in this subroutine,. the USART
will, of itself, now begin to take in bits to form characters from the RCC via MODEM 30 as shown in Fig. 30. As prevlously described in connection with Fig. 7, these input characters may be either idle characters or the beginning of an outbound command. Since this is the first time the computer has entered into the WAIT
subroutine, all flags in the computer RAM are reset, thus the computer will continue to loop through the N branches of F2 =
l? and F20 = 1? decision block back to the lnput of the F2 = 1?
decision block until a character has been assembled by the USART.
Once a complete character has been taken in by the USART, it will generate the C RDY signal at its RXRDY output terminal. When this occurs, an external interrupt will be applied to the INT input - terminal of the computer causing the computer to now enter into an outbound interrupt subroutine OBISR as shown in Fig. 36.
It should be pointed out that the OBISR subroutine is entered from the WAIT loop each time that the USART generates an interrupt to the processor via the character READY signal.
Let it now be assumed that the first character of an outbound message or command has heen received by the USART, thus generating Z

an interrupt causing the computer to enter into the OBISR subroutine of Fig. 36. In this subroutine, the computer first stores its accumulator in a store accumulator location calle~ SACC of the RAM (Fig. 33a) in order to be able to return back to the point in the program where it leaves off. The computer will now proceed to check to see if the two counters CNT0 and CNTl are equal to 112. In the present instance, since this is the first time into O~ISR, these two counters will be at 112 as originally initialized, thus the computer will drop through the Y branches and test to 10 see if a flag Fll is equal to 1. Flag Fll at this time will likewise be reset, thus it will exit through the N branch where the computer will test to see if a flag F4 is equal to 1.
Flag F4 is a flag which is either set or reset to determine the bit pattern of the pilot code or idle carrier being transmitted ~ 15 from the SCU to the MTU over the powerline. It will be recalled ,; from the earlier system descript;on that when a command is not ,~
~ being transmitted from the SCU to an MTU that the SCU continu-,~ ously transmits a 01010 etc. phase modulated pattern. In this instance, since it's the first time into OBISR, F4 is reset the f 20 computer will exit through an N branch wherein the flag F4 will ~ be set and the computer will select port 2 of Fig. 30 and load 1~
~; a 0 to the transmitter/modulator 208 of Fig. 31 via the outbound transmit data line OBTD. Fig. 4 is set at this time so that the next time entry is made into OBISR a 1 will be transmitted out `:
-; 25 on OBTD.

11~7122 The program will now enter into a F12 = 1 decision block, which is also reset at this time. Thus exit is through an N branch via an OBTl connector entering into a flag F17 = 1? decision block.
At this time all flags are still reset, thus the program will continue on through the N branches of the Fl7 = 1? and F7 = 1?
steps of an OBRT2 connector into an Fl0 = l? decision block. From there, exit is into an OBRT3 connector to an Fl5 = l? decision block through an OBRT4 connector to an Fl = l? decision block and into an F5 = l? decision block.
It will be recalled during the initialization or power up routine, that the flag F5 was set to a binary l. Since flag F5 is now set, it indicated that the SCU is ready to receive a new outbound command or message from the RCC. Thus, the computer will exit the F5 = 1? decision block through the Y branch and enter into a subroutine to receive the command.
Reference is now made to Fig. 37, which is a flow chart of the ROB2 subroutine in combination with an ROBMG subroutine, the latter to subsequently be described. As noted in Fig. 37, subroutine ROB2 is entered when the flag F5 = l, thus the program now comes into an actlon block wherein the computer selects the BUS output lines DB0 - DB7 and reads in parallel the presently assembled data character from the USART Via the O data BUS lines DB0 - DB7. The computer now tests to see if the character just received is a fill or idle character (see Fig. 7). If that character is a fill character, the program will exit through the Y branch entering back into OBISR of Fig. 36 at OB~T5. Upon entering into .~

~ S7122 5ME-58 O~RT5, the computer now resets the interrupt enable INT to the computer and restored the accumulator by storing SACC back into the accumulator for return back into the program and exits back to the WAIT subroutine of Fig. 35.
Reference is now made back to Fig. 37. Let it be assumed in ROB2 that the character just received by the computer is not a fill character, but rather the first character of an outbound command. In this case, the program will exit through the N branch of the fill char? decision block and reset F5 to prevent receiving a new outbound command until this entire command has been received.
It will also set a receive outbound word counter (ROBEC) equal to 1 (Fig. 33a) of the computer RAM and also set a flag Fl to indicate than an oubound word (OBWD) or message is in progress.
The program will now enter into an F3=1? decision block where it will test to see if the receive outbound word counter ROBWC is equal to 5 through 10. In this instance, since it is not, the program will now exit through the N branch testing to see if ROBWC is equal to 5. Again, in this instance since it is not, exit is through the N branch where the first received character (See Fig. 7) of the outbound command is stored at location OBWl of the RAM (See Fig. 33A) based on the address or contents of ROBWC.
With the first character now stored, the program will enter lnto another decision block to determine if ROBWC is equal to 10. Assuming at this time that the entire 10 character outbound command has not been received, the program will e~it through the N branch returning back to OBRT5 of the OBISR subroutine in Fig.
36, wherein the interrpt rr~ll will again be reset, the accumulator restored and exit is back to the WAIT subroutine.

11~7122 The program will now continue to loop in the WAIT subroutine of Fig. 35 until another character is assembled by the USART.
When the character is again received, another interrupt will be applied to the computer at the INT input causing the program to again enter into the OBISR subroutine of Fig. 36. The program in OBISR will now continue down the path in the manner as just described to the F4=1 decision block. In this instance, since F4 is now set, exit is through the Y branch where F4 is reset and port 2 (P2) is selected to load a 1 to the transmit modulator via the computer output OBTD. In this manner, a 1 is now written to the MTU from the transmitter modulator. Program will now continue in the manner as just described finally entering lnto the Fl=l?
decision block. It will be recalled that flag Fl was set in ROB2 to indicate that an outbound word or command was in progress.
In this instance, since Fl is set, exit is through the Y branch entering into a subroutine ROBMG of Fig. 37.
Referring to Fig. 37 at ROBMG, the program will not increment ROBWC and the computer will select the BUS to read the second assembled word from the USART into the computer memory.
The computer will then again check to see if a fill character is present. I a fill character is present, it will exit to the Y branch, thus resetting Fl, F2, and F3 and setting F5 in preparation to receive a new outbound command. The program will now exit back to OBRT5 of the OBISR subroutine as previously described.
Let it be assumed, however, in ROBMG, a fill character is not present, but rather the second character of the outbound command is present (See Fig. 7). In this instance, the program `- 5ME-58 1~5712Z

will exit through the N branch of the fill character test block enterin~ into an F3=l? decision block. As previously described, if F3 set, it indicates that ROBWC is between 5 and l0. Assuming it is not, the program will again enter into ROB~C = 5?. It should be noted that so long as ROBWC is less than 5, that the characters received by the USART are assembled sequentially into outbound word locations OBWl through OBW3 upon each entry into ROBMG. This is what is meant in the action block for sequentially storing characters l through 4 of all outbound words or commands in OBWl through OBW3. Referring to Fig. 7, it can be seen that these first four characters are representative of the transmit and receive SCU address bits. Until ROBWC equals 5, the computer will continue to store each of the received characters in the manner as just described by looping back to ORBT5 of OBISR and then back to WAIT
wherein an interrupt will be entered and, at which time the program ; will re-enter ROBMG via OBISR.
Let it now be assumed that four characters have iust been assembled into O~WL through OBW3. Upon entering the RO~G
(Fig. 37), ROBI~C will again be incremented and when the program enters into the ROBWC = 5? declsion block ROBWC will be equal to 5. Thus, the program will exit through the Y branch, wherein, Flag F3 will be set to indicate that the next time through ~OB~G
that ROXr~C will be equal to 5 through 10.
The pro~ram will now enter into a decision block F27 = 1. The purpose of F27 will subsequently be described, ho~ever, in the present instance it is not set, therefore the program will ^ exit throu~h the N branch wherein character 5 through 10 o~ the outbound word or command will be sequentially stored in locations liS7122 OBW5 through OBW10 on the contents of RO~WC as shown in Fig. 33a.
This sequential storing of those characters is done in the manner flS just described for characters 1 through 4. That is, each time ROBMG is entered the previously received character will be stored away in its proper location in accordance with the count or address of ROAWC. Referring to Fig. 7, it can be seen that chracters 5 through 10 of the outbound command represent the function code, the MTU action field, plus 3 field fill bits and the longitudinal parity which is 8 bits. After each of the characters is stored, the program will enter into the ~OBWC = 10? decision block as before. Let is now be assumed that ROBWC is equal to 10, indicating that the last character of the outbound command has been stored in the RAM of Fig. 33a. With the entire outbound command now stored, the program will exit through the Y branch wherein flags Fl and F3 will be reset and flag F2 will be set in preparation to examine the present received outbound command. The program will now exlt back to OBRT5 of OBISR, wherein the interrupt (T~T) will be reset, the accumulator will be restored and the program will enter bac~
to the WAIT subroutine.
Reference is now made back to Fig. 35 to the WAIT sub-routine. As can be seen, upon entry back into the WAIT subroutine to the F2 = 1? decision block, F2 is now set as previouslv described in ROBMG of Fig. 37. Since F2 is now set, the program will exit through the Y branch and enter into a subroutine EXOBM to examine the outbound message or command.

~' .

11~7~Z2 5ME-58 The EXOBM subroutine is shown in Figs. 38a and 38b.
The pro~ram will enter into EXOBM, wherein the computer will first select the BUS lines DB0 through BD7 and read the SCU transmit address (switches 230 of Fig. 30) via the SCU address buffer 216.
Also at this time, the computer will reset flag F2 so that this message will not be re-examined a8ain. The pro~ram will now enter into a decision block to test to see if this SCU is to transmit.
This test is performed by the SCU comparing the received SCU transmit address as stored in RAM locations OBWl and OBW2 with the SCU's address as read from the SCU switches 230. If the two addresses are the same, exit will be via the Y branch wherein Fll will be set flagging the computer that an outbound message is to be transmit-ted to an MTU. However, if this SCU is not to transmit, the program will exit through an N branch, wherein a test of the SCU address code field will again be tested against a constant to see if all SCU's connected to the RCC on this CIU channel are to transmit.
If all SCU's are to transmit, the program will exit the Y branch and again set Fll for the outbound message to be transmitted.
However, if this SCU is not to transmit, the program wil-l exit throu~h the N branch entering into a decision block. This SCU
to Receive?. If the address code bits of the outbound command, when compared with this SUC's address specify that this SCU is to receive a message from an MTU, the program will exit through ~ a Y branch entering into an action block wherein a fla~ F12 is `~ 25 set, indicating to the computer that an inbound response message ; is expected after the outbound command has been transmitted to the MTU. However, if this SCU is not to receive, an Fll = l? decision .

li~7122 5ME-58 hlock is entered, wherein Fll is tested to see if this outbound - message is to be transmitted. If Fll was not previously set in this subroutine, the program will exit through the N branch-, wherein F5 will be set to get ready to receive a new outbound command by the USART. The program will then exit back to the ~TAIT subroutine having determined that this message was not addressed to this SCU .
However, assume at this time that Fll is set, indicating that this message is to be transmitted, the program will exit through a Y branch entering into F27 = 1? decision block. F27 is a flag which is tested in this subroutine and either set or reset in accordance with its state to specify to the computer upon the receipt of a subsequent outbound command where to store characters 5 through lO of that command in the memory of 33a.
Referrin~ to Fig. 33a, it can be seen that there are two series of locations designated OBW5 through OBW10 and OB~5 through OBDlO.
As previ.ously described in connection with Fig. 37, characters 5 - 10 of the first received outbound command were stored ln locations OB1~5 through OBWlO because at that tlme F27 was not set. In order that the SCU be able to successively or rapidly transmit one outhound command after another, it is necessary for it to be able to buffer more than one command. Thus, one message which is received is stored in OBW5 through OBWlO and subsequent or next message that follows that ls stored in OBD5 through OBDlO. Flag F27 determines which of these ~emory locations OBW3 through OBWlO or OBD5 throu~h OBDlO is to receive characters 5 through lO of the received outbound commands. Referring to Fig. 37, it can now be seen in the F27 = l? decision block, if F27 is not set that characters 5 through lO of the present outbound word or command will be stored in OR~5 through OBD10 based on the contents of ROBWC upon entry into ROBMG.

~lS7122 Reference is now made back to Fig. 38a. Let it be assumed at this time that only the first outbound message has been received from the RCC, thus F27 will be reset upon entry into the F27 =
l? decision block. In this case, the program will exit through the N branch entering into ~n action block wherein the counter CNTO will be set egual to zero and F27 will be set. With F27 now set, it will flag the program upon the next entry into ROBMG to store the characters 5 through lO of the immediately next received outbound command into location OBDS through OBDlO.
; lO Prior to proceeding with a further discussion of the operation of the SCU, it is considered advantageous to now explain the purpose of the two counters C~TO and CNTl in the ~AM of Fig.
33a and how those counters function to control the proper storage ;~ of outbound commands in locations OBW5 through OBWlO and OR~5 through 08DlO, and further how those commands from those locations to the MTU's. The operation of CNTO and CNTl can best be understood by reference to the interlace timing diagram of Fig. 39. This .
timing diagram illustrates how eight sequentially issued outbound commands from the CIU to the SCU are transm;tted to the MTU's while ei.ght messages, in response to those eight commands, are all transferred simultaneously in an interlacing timing technique, whereby the commands and messages are simultaneously being transmitted ; and received between the RCC and the MTU's via the SCU. This inter-lacing, or overlapping of commands and messages is accomplished ~25~ in part in the SClJ by the use of the two counters CNTO and CNTl.
It will be recalled in the very beginning of this discussi.on during the Power ON Start subroutine, that the counters CNTO and CNTl -' -~4-~57~z 5 ME-58 were set equal to 112. Referrin~ to Fig. 39 to the CIU to the SCU line, showing command 1 comin~ into the SCU, CNT0 and CNTl will both be at a count of 112 at that time. It will further be recalled, that the first outbound command was stored in the memory of Fig. 33a in locations OBWl - OBW10. Each of these locations OBWl throu~h OBW10 corresponds to one of the characters 1 through 10, as shown in command 1.
Reference is now made to Fig. 36 in conjunction with Fi~. 39. It will also be recalled tha~ the OBISR subroutine is 1~ entered each time a character is received by the USART. Qbservin~
the two decision blocks in Fig. 36 CNT0 = 112 and CNTl = 112, it will be noted that neither of those co~mters will be incremented via their N branches if they are equal to 112. If either of these counters is equal to any number other than 112, they will be in-~ 15 cremented each time the program ~oes through OBISR. Thus, it can ',~; be seen that counters CNT0 and CNTl cannot be incremented until at least the first command from the RCC has been received by the SCU. It will also be recalled, after the command is received, , that the computer~branches from WAIT (Fig 35)-to the EXO~ subroutine '~ 20 of Fig. 38 based on flag F2 being set.
~i Reference is now made back to Fig. 38a along with Fig.
39. It will be noted i.n Fig. 38a in the F27 = 1 decision block, that CNT0 or CNTl will be set to zero depending upon the state of F27 when the program enters the F27 = 1? decision block. Referrin~
25 ~ to Fl-~. 39, when the verY first com~and is completely stored into the computer RAM and EXO~M is entered, F27 will be a binary 0 since it was reset during Power On start. Thus, CNT0 will be set to 0 and F27 will be set to 1 so that CNTl can be set to 0 when the second command is received. It is significant to note that F27 is always set or reset when the last character of an outbound command is received in the SCU. CNT0 and CNTl are also set to 0 at the end of a command based on the previous state of F27.
In Fig. 38a, after CNT0 or CNTl is set to 0 and F27 is either set or reset, the program will then exit through Fll = l? decision block N branch back to the WAIT subroutine, if the command is not to be transmitted to the MUT's or to connector A if this is a transmit command.
It is now possible to understand how CNT0 and CNTl get incremented. It will be recalled that the SCU will idle in the WAIT loop of Fig. 35 until a character has been assembled into the USART. When the character is assembled, OBISR will be entered 15~ on a pro~ram interrupt. Referring now to Fig. 36 to the O~ISR
, subroutine, it will be noted that as soon as the last character of command 1 (Fig. 39) is loaded into RAM, EXOBM (Fig. 38a) is j entered wherein CNT0 will be set to zero (Fig. 38A). Further, it is significant to note that the character following the first command received by the SCU from the CIU is a fill character which does not get stored in the computer RAM. As a matter of fact, as.shown in Fig. 39, the spacing between commands, for example between commands I and 2 is made up of fill characters transmitted by the CIU to the SCU. Thus, it can seen that an interrupt to the computer will occur each time a fill character is assembled by the USART. It lS this assembling of characters by the USA~T
` which causes CNT0 and CNTl to be incremented by 1 with each time ' ~' ~71~2 5ME-58 OBISR is entered on an interrupt from the USART. Thus, it can be seen that C~TO will begin to count from O up to some predetermined count as will subsequently be described with each interrupt to the computer from the USART CNTl will also count from 0 after command 2 is received.
As shown in Fig. 39, two character times or delays exist between the termination of a command such as COMMAND 1 from the CIU to SCU and the beginning of the transmission of that same command from the SCU to the MTU. It ;s signlficant to note that lQ the commands coming over from the CIU to the SCU are transmitted at 30 characters per second, whereas, the commands transmitted from the SCU to the MTU are transmitted at 30 bits per second.
It is also significant to note that the spacing between the beginning of one command from the CIU to the SCU to the beginning of the next command is 56 bits at 30 bits per second. This coincides with the length of the entire command going to the MTU from the SCU. In this context, it.will be noted that the command from the SCU to the MTU is 54 bits in len~,th, plus the two delay bits, which make up bits 55 and 56. It ;s now possible to see how the count in CNTO and CNTl can be utilized to direct the computer as to which characters to store in locations OBW5 through OBWlO
and OBD5 and OBD10 respectively and which characters in those locations are to be retrieved for transmittal to the MTU from the SCU.
The computer in essence, continuously interrogates the counts in CNTO and CNTl to make a determination as to what actions are to be performed at any given instant in time in order to carry ~71~2 5ME-58 out the message interlacing technique of the present invention.
For example, when CNTO equals 46, a flag can be set in the computer telling the computer that it is now time to receive a new outbound command from the CIU. This, for example, would occur at the beginning of COMMAND 2 from the CIU to the SCU. It should be noted that while COMMAND 2 is being received from the CIU, that the previous COMMAND 1 is being transferred from the SCU to the MTU based on the character or bit count of CNTO. While, of course, the COMMAND
; 2 would be seguentially stored in locations OBD5 th`rough OBD10 based on the count of CNTl. At the termination of COMMAND 2, then CNTl would then be set to zero as shown in Fig. 38A to thus allow COMMAND 2 to be transferred out to the SCU based on the count of CNTl. This procedure would thus alternate with COMMAND 3 being placed into RAM and transmitted based on CNTO, COMMAND 4 being ~ 15 placed into RAM and transmitted based on CNTl, etc.
'~ Still referring to Fig. 39, it will also be noted that there is an overlapping or interlacing of the messages and commands flowing between the CIU and the MTU's via the SCU. The time of transfer of the messages from the MTU's to the SCU and rom the SCU to the CIU is also controlled by CNTO and CNTl. For examplc, let it be assumed that messages 1 from the MTU's to the SCU and as a result of COMMAND 1 directing the MTU's to transmit. Since CNTO was used to transmit COMMA~ID 1 out to the MTU's, CNTO is also utilized to clock the message bits fro~ the MTU's into the '~25 SCU and on to the CIU. In a similar fashion, messages 2 from the MTU's, as a result of OMMANE 2, would be under control of CNTl.
The manner of usage of the counters CNTO and CNTl will become more readily understandable as the description proceeds.

-~8-. .

i~57122 5ME-58 Reference is now made back to Fig. 38A to the Fll =
1 decision block. Let it now be assumed that Fll is set, indicating - that the command just received by the SCU is to be outbound transmit command to the MTU. In this case, the program will exit the Y
branch through connector A entering into Fig. 38B into a function = action at SCU decision block. In this decision block the computer tests the function code bits (See Fig. 7) of the command and since it is assumed that this is a transmit command and not a function at SCU command the pro~ram will exit the N branch entering into an F12 = 1 decision block. F12 is a flag which is set back in Fig. 3~B of the EXOBM subroutine, if the function code field is identified as expecting an inbound message response after the outbound message has been transmitted to the MTU. If an inbound message is not expected, the pro~ram will exit through the N branch back to WAIT for subsequent action in a manner to be described.
However, if F12 is set, indicating that a message response is expected back from the MTU's, the program will exit the Y branch entering into a function = MTU transmit code? dec;sion block.
The SCU tests in that latter block, the MTU action field bits ; 20 (See Fig. 7) to see if the MTU action field specifies that an MTU is to transmit information from the MTU into the SCU. If this is an MTU transmit code, the program will exit through the Y branch returning back to the WAIT subroutine in preparation for receiving the information from the MTU.
If however, the function does not specify an MTU transmit function, the program will exit the N branch entering an action block wherein flag F12 will be reset, indicating to the program that no inbound response message is expected after the outbound ~ S~ SME-58 command has been transmitted. Also, F15 is set in preparation to sending the outbound command from the CIU back to the CIU in an SCU turnaround (SCIJTA) subroutine to subsequently be described.
The program then enters into an F27 = 1 decision block to test to see if CNTO is equal to O. If it is, the program exits through a Y branch, wherein flag F16 is set to indicate that status inform-ation is to be sent back to the CIU during the SCUTA subroutine based on counter CNTO. If F27 is not set, then F14 is set to send the status back to the CIU from the locations specified by the counter C~Tl. The program will then go back to the WAIT subroutine pending another interrupt from the USART.
~eference is made back to Fig. 38A to the connector point A. When the program enters into the function = actlon at SCU decision block, if the function code bits of the outbound command specify an action to take place at the SCU, the computer will branch through the Y branch into an action block, wherein flag F15 is set for use in the SCUTA subroutine to be subsequently described.
Flags Fll and F12 are also reset indicating that not outbound message is to be transmitted and that no inbound response is expected.
F27 is then tested to see if CNT0 is equal to 0. If F27 is set, then the program exits through the Y branch wherein Fl6 is set, to use CNTO in the SCUTA subroutine to transmit the outbound command from OBW5 through OBW10 back to the CIU. On the other hand, if F27 is not set, the program will exit the N branch wherein ~lag F14 will be set to use counter CNTl to tansfer the outbound command from locations OBD5 through OBD10 back to the CIU. The computer ~ ~ ~7 ~2Z 5ME 58 now enters an SCU control field = pilot ON? decision block. Referring to Fig. 7, the SCIJ tests the code bits in the MTU action field of the outbound command to determine if the bit confi~uration of that command specifies that the pilot or power line carrier from the SCU is to be turned OFF. If the pilot is to be ON, the program exits the Y branch going bac~ to the WAIT subroutine.
; However, if the SCU control field specifies that the pilot is to be turned OFF, it exits throu~h the N branch and enters into an F27 = 1 decision block. A~ain the program tests to see if CNT0 lQ = 0. If it does, then the program exits through the Y branch, ; wherein the flag F32 is set to turn off the pilot at the proper time durin~, the SCUTA subroutine when CNT0 = 64. In a similar manner, if F27 is not set, the program exits through the N branch wherein F33 is set to turn off the pilot in the SCUTA subroutine when CNTl = 64. The program will now go back to the WAIT subroutine.
Let it now be assumed that COMMAND 1, as shown in Fig.
39, has just been received and stored in locations OBWl through OBWl0 of Fig. 33A. Further, let it be assumed that that command has been decoded as an outbound transmit command in Fig. 38a when Fll was set to transmit the outbound command to the MTU's. Upon the next pro~ram interrupt from the WAIT subroutine, the OBISR
subroutine of Fi~. 36 wlll be entered. Referring to Fig. 36, the program now test CNT0 to see if it is equal to ll2. Since CNT0 is not equal to 112, it will be incremented. CNTl will also be tested in a manner as previously described. Let it be assumed at this time, that a second command such as COMMAND 2 has not :

~ 12Z 5ME-58 been received by the SCU, thus CNTl will still be equal to 112.
As a resùlt, the pro~ram will exit throu~h the Y branch of CNTl = 112? decision block entering into the aforementioned Fll = l?
decision block. In this instance, Fll is now equal to a 1 indicating that the COMMAND 1 now located in memory locations OBW5 - OBW10 of Fig. 33A is to be transmitted to the MTU. Thus, the pro~ram ; now exits the Y branch entering into the outbound transmit subroutine OBXR shown in Fi~. 40.
Referring now to Fig. 40, it will be noted that OBXR
1~ is entered when Fll = 1. Upon entry into OBXR,the first test performedis to see if F27 is equal to 1. If F27 is set, the program exits through the Y branch into a decision block wherein CNT0 is tsted to see if it is equal to 55. The reason for testing CNTO = 55 can best-be understood by reference to Fig. 39. Referring tothe end of COM~AND 2 from the CIU to the SCU, it will be noted that ,~ counter CNTO will have counted to 55. If CNT0 is equal to 55, it indicates that the entire COMMAND 1 has been transmitted from ~he SCU to the MTU, thus the program would exit through the Y
branch and reset-the Fll flag indicatin~ that the outbound command has been transmitted. The program will then proceed to set F4 as "1" pilot tone to be transmitted out to the MTU via OBTD output of the computer the next time the subroutine OBXR is entered This will occur when bit 56 of the SCU MTU command is to be transmitted ~ at the time that CNTO = 56. The program will now select P2 at.~
' 25 the output of the computer and set OBTD to a "0" to thus transmit - a binary O in bits 55 of the SCU-MTU command. The program will now exit back to OBRTl of Fig. 36 where it will ultimately return to the WAIT subroutine, pending another ;nterrupt.

.
~ -92-' ~ ~7~ SME-58 Reference is now made back to Fig. 36 to OBISR. Let it be assumed now that another jnterrupt has occurred, at which time CNT0 will be incremented and the pro~ram will continue on down into the F4 = 1? decision block. It will be recalled that F4 was just set in the O~XR subroutine of Fig. 40. Since F4 is set, it will exit through the Y branch resetting F4 and selecting port 2 at the output of the computer to load a binary 1 to the transmitter/ modulator via the OBTD output line. It can now be seen that the entire output message or command 1 from the SCU
to the MTU as shown in Fig. 39 has been transmitted with the 54 bits being transmitted followed by O and a 1 idle characters between commands 1 and 2.
Reference is now madeback to the OBXR subroutine in Fig. 40. Referring to the CNTO = 55? declsion, let it be assumed that CNTO is not = to 55. This indicates that the COMMAND 1 has not yet been fully transmitted from the SCU to the MTU, thus the . program will exit the N branch entering into a CNTO = 46? decision block. Referrin~ to Fi~. 39, it can be seen that if CNTO is equal to 46, it is time to receive a new command, such as COMMAN~ 2 from the CIU. If CNTO is equal to 46, the program will exit throu~h the Y branch and set F5 ready to receive a new outbound command.
However, it CNTO if not equal to 46, the pro~ram will exit through the N branch in preparation to transmittin~ the COMMAND
1 out to the ~ITU's from the SCU.
To accomplish this transmission, the computer first temporarily stores CNT0 in one of the working registers of Fig.
33A in the computer RAM and increments CNTO to use it as a word :.

~71~2 5ME-58 and bit counter (l~D/BITCT) for the transfer of COMMAN~ 1 from the SCU to the MTU's. In this case, WDCT will be equal to 0, thus the program will go into a decision block to test the least sign-ificant bits of the WD/BITCT to see if they are between 1 and 3. The bit count is tested to see if the SOM (start of message) character has to be transmitted to the MTU. Since at the beginning of the message, the bit count will be equal to 1-3, the program will exit through the Y branch and select P2 at the output of the computer to send an SOM "0" bit on the outbound transmit date 1~ (OBTD) line and return back to OBRTl of Fig. 36.
Let it now be assumed that another interrupt has occurred causing subroutine OBISR to again be entered in Fig. 36. CNTO
will again be incremented, and the program will continue back into OBXR of Fig. 40. Since CNT0 is not equal to 55 or 46, the program will a~,ain temporarily store CNT0 and increment CNT0 as the WD/BITCT in the manner as just described. WDCT will then a~,ain be tested. Let it be assumed that the word count is still equal to zero, thus the bit count will again be tested to transfer out another SOM bit. The program will continue through the loop just described, re-entering back into OBXR whereby CNT0 is incremented each time it comes through OBISR until the bit count is not equal to 1 - 3. When the bit count is not equal to 1 - 3, it indicates that 3 SOM 0's have been shifted out to the MTU from the SCU, thus the program will e~it through the N branch and select P2 to now send out the first start of message "1" bit on OBTD. The i program will now return hack to OBRTl in the manner asjust described whereby, upon the next interrupt, OBISR will be 2 entered and CNT0 again incremented. Upon entry at this time into OBX~ of Fig~

.

~ -94-~1~71~Z

40, the word count WDCT will not be equal to 0, thus the program will exit through the N branch and enter into a decision block WDCT = 4? where the word count is tested to see if it is equal to 4. Upon the first entry in the WDCT = 4? decision block, the word count will not be equal to 4, thus the program will then exit through the N branch where P2 is selected to send the first data bit out on OBTD to the MTU. This first data bit, as shown in Fig. 5, is the first bit of the function code of the outbound command going to the MTU's from the SCU. The program will now l~ exit back to OBRTl where CNT0 will again be incremented and the program will exit back into OBXR in the manner just described.
The process of transmitting out the MTU outbound command will continue until the word count WDCT = 4. When WDCT does equal 4, exit will be through the Y branch entering into a bit count eguals 7 (BITCT = 7?) decision block. Until the blt is equal to
7, the program will continue to exit through the N branch back to OBRTl re-entering back into OBXR in the manner just described.
When the bit count is equal to 7, it exits the Y branch and returns , back to OBRTl. When the entire outbound command 1 (through WDCT
= 4 and BITCT = 7) has been transmitted to the MTU, the next entry into OBXR will find CNT0 will be equal to 55, thus exit is through the Y branch wherein Fll is reset and F4 is set to a l for the pilot tone and P2 i's selected to transmit out a binary 0 in a manner as previously descrlbed. The program will now return back to OBRTl in Fig. 36 of the subroutine.
~ 1 ;
.
,. .
~ 95 ~ ~7~2~ 5ME-58 Reference is now made back to Fig. 39. Let it now be assumed that while COMMAND 1 is being transmitted to the MTU from the SCU in the manner as just described, that a second command, COMMAND 2 is transferred from the CIU to the SCU. It will be recalled in the discussion of Fig. 38, during the EXOBM subroutine, that flag F27 was set to allow CNT0 to be used as the counter to transmit the outbound COMMAND 1 to the MTU. In Fig. 37, when the ROB2 and ROBMG subroutines are entered on F5 = 1 and Fl = 1,.F27 will be equal to 1, thus the exit will be made through the F27 = 1? Y
branch, wherein characters 5 - 10 of COMMAND 2 will now be stored in locations OBDS through OBD10 of the RAM.
Referrin~ to Fig. 39, it can be seen that the beginning ~ of COMMAND 2 starts when CNT0 equals 46. After COMMAND 2 is stored in locations OBD5 through OBD10 in the manner as described in lS connection with Fig. 37, the program will then exit back to OBRT5 (Fig. 37) where the interrupt INT is reset in the computer, the accumulator is restored and the process returns back to the WAIT
subroutine. If COMMAND 2 is a transmlt command, the same as was previously assumed for COMMAND l, OBXR of Fig. 40 will again be entered, however at this time F27 will be reset, thus the program will exit through the N branch and utilize CNTl as the counter to control transmission of COMMAND 2 out to the MTU's. The operation of transmitting the information based on the count of CNTl from locations OBD5 through OBD10 is done in the same manner as described utilizing CNT0. Therefore, the manner of transmission of COMMA~D
2 will not be described in detail.

` ~1~7122 5ME-58 Reference is now made back to Fig. 38A. Let it now be assumed that COMMAND 1 received from the CIU by the SCU was previously decoded in subroutine EXOBM in the This SCU to Receive? decision block as a command expecting a response message back from the MTU's. In this instance, the program exits the Y branch of that decision block and set flag F12 to indicate to the program that an inbound response message is expected from the MTU's after outbound COMMAND 1 has been transmitted to the MTU's. With F12 now set, reference is made back to the OBISR subroutine in Fig. 36. Upon entry into OBISR, CNT0 and CNTl are incremented in the manner as previously descrlbed. Flag Fll is not set at this time because it was reset in the OBXR subroutine when COMMAND 1 was transmitted : to the MTU's. After a "1" or "0" pilot signal is sent to the MTU's in the manner as previously described in connection with the state of flag F4, the program will now enter into the decision block F12 = 1?. Since F12 is equal to "1", the program will exit through a Y branch whereln F12 will be reset and a flag F17 is set at this time to be used in the program to indicate that an inbound response message is expected from the MTU's (See Fig. 6.).
The program will now enter into point OBRTl where a flag F17 is tested for a "1". Since F17 was just set to a "1"
. the program will exit through the Y branch and enter into a pre-~: examine inbound (PREIB) message subroutine.
~ The PREIB subroutine is shown in Fig. 41, and as indicated .;25 there is entered when F17 = 1. Upon the first entry into PREB, two flags F30 and F31 will both be-in reset state, therefore the program will exit the N branches of these ~ecision blocks and ;

~ -97-` 5ME-58 enter into the F27 = 1? decision block. At the present time, it is assumed that the computer is ccunting on CNT0, therefore F27 will be equal to a "1" and the program will exit that decision block through the ~ branch. Flag F30 wil now be set to indicate to subroutine PREIB that the program is counting on CNT0. The program will now enter into a CNT0 = 58? decision block.
To understand the timing of the system at this point, reference is made to Fig. 39 in conjunction with Fig. 41. It will be noted that Fig. 39, at the beginning of the MTU to SCU message, CNT0 will be egual to 57 and this first bit will be received by the SCU one bit time later when CNT0 is equal to 58. If CNT0 is equal to 58, the program will exit through the Y branch and the computer will select its P2 and turn on the inbound receive gate IBRG to allow the message bits or characters from the MTU's to be transferred through the receivers into Pl of the computer.
The program will then exit back to OBRT~. of the OBISR subroutine of Fig. 36.
Assuming that no other fla~s are set in Flag 36, the program will now exit back to the WAIT routine pendin~ another interrupt causing re-entry back into OBISR. It should be kept in mind that counter CNT0 is incremented each time OBISR is entered, that is CNT0 is incremented each MTU message bit time (same as a CIT to SCU character time). Let it now be assumed that PREIB
is entered a second time in Fig. 41. Upon the second entry, flag ; 25 F30 will be equal to 1, therefore the program will exit through the Y branch and enter into the same decision block CNT0 = 58?.
At this time; CNT~ will be equal to 59, thus the program will ` ~1~7~ 5ME-58 now exit through the N branch entering into a decision block CNT0=46?.
The reason for testing the contents of CNT0 at this time is not evident now but for another use of this subroutine where it is necessary to make the determination as to whether it is time to receive a new outbound command from the CIU. Referring to Fig.
39, it can be seen, if CNT0 is egual to 46, it is time to receive a new command from the CIU such as COMMAND 2. Therefore, the pro~ram will exit throu~h the Y branch and set fla~ F5 in preparation to receive the new outbound command in the manner as previously described. The program will now exit back to OBRR2 of the OBISR
subroutine of Fig. 36.
Let it now be assumed that the program has issued another interrupt and PREIB has just been re-entered. Since F30 is still set, the program will take the route as just described entering into the CNT0 = 46? decision block. Since CNT0 is not equal to 46 at this time, the program will exit through the N branch and enter into a CNT0 = 62? decision block. The reason for using the count of 62 at this point in the program is to test to see if it is time to turn on the MODEM carrier to allow the message data from the MTU to be transferred to the CIU via the SCU. It is also significant to note that the six SOM bits, as shown in the-inbound message pattern format of Fig. 6 are ignored by the SCU. Thus, referring to Fig. 39 at the MTU to SCU message line, it can be i~ seen that when CNT0 is equal to 62, the six start of message bits have already been presented to the SCU receivers from the power line.

:, .
, _99_ ~S~12~ - 5ME-58 Assuming now that CNT0 is equal to 62, so that as shown in Fig. 41 the program will exit the Y branch entering into an action block wherein the computer will write the command over the BUS on lines DBO - DB7 to turn on the MODEM carrier via the carrier control output from the USART RTS terminal. The program will now return hack to OBRT2 and then to the WAIT subroutine in the manner as previously described.
Let it now be assumed that another interrupt has occurred and PREIR is again entered from the O~ISR subroutine. The program will take the last path as just described down to the C~T0 = 62?
decision block. At this time, CNT0 will not be equal to 62, therefore the program will exit the N branch entering into the CNT0 - 64?
decision block. Let it now be assumed that CNT0 is eqùal to 64, ;~ indicating that it is time to read the first MTU messages data bits into the computer. As a result the program will exit through the Y branch into an action block, wherein flag F20 will be set ~ in order to be able to read the inbound data from the MTU's during j the WAIT subroutine in Fig. 35 in a manner to be described. Theprogram will then exit back to OBRT2 and return to the I~AIT subroutine.
2P Reference is now made back to Fig. 35 to the WAIT subroutineAs shown there, flag F20 is now equal to a "l". Thus, as the program enters the WAIT subroutine, when F20 is tested the program will exit into an RC2 negative to positive transitional arrow decision ~, ~
; block. The program will loop as shown out of the N branch of RC2 ~25 back to the input of the F2 = 1? decision block until the receive clock RC2 goes from negative to positive at the lnput Tl of the computer (Fig. 30). When RC2 goes from negative to positive, the program will first reset F20 and then select Pl of the computer to parallel the first inbound received data messages bits on lines IBRDl through IBRD8.

These data bits, are stored in the inbound data word location IBDW of Fig. 33A. Since F20 is now reset, the program will loop back to the input of the F2-1? decision block and wait until another interrupt occurs causing re-entry back into the OBISR subroutine of Fig. 36.
Let is now be assumed.that the next interrupt has occurred and that the counter CNT0 has been incremented to 65 in OBISR.
Assume also, that PREIB is again entered. The progr.am will continue down to the right hand branches of Fig. 41 in the manner as previously described entering into the CNT0 = 65 decision block.
Let is now be assumed that the next interrupt has occurred and that the counter CNTO has been incremented to 65 in OBIS~.
Assume also that PREIB is again entered. The program will continue down to the right hand branches of Fig. 41 in the manner as previously described entering into the CNTO = 65 decision block. Since CNTO
i.s equal to 65, the program will exit the Y branch enterin~ into ~-~ an action block wherein flage F30 will be reset so that the computer i will not count on CNTO the next time into PREIB. Flag 17 is also ! reset to prevent re-entry into this subroutine on the next cycle.
Also at this time, the flag F21 is set to indicate to the program ~;~ in the inbound receive subroutine IBRED to be described, that ;~ the computer is to count on CNTO. F7 is also set at this time to indicate to the pro~ram that the IBREC subroutine is to be entered next, to read the next inbound messa~,e bits on the RC2 clock ln the manner as just described. The program will now return J
~ back to OBRT2 and into the WAIT subroutine pending another interrupt.

. ~
~.:

~ .
.~.' .

~57~2 Reference is now made back to the OBISR subroutine of Fig. 36. Let it now be assumed that another interrupt has occurred and that OBISR has been re-entered. The program will then continue on down to a decision block F7 = 1?. Since F7 is now set, as just described in PREIB of Fig. 41, the program will exit through a Y branch entering into subroutine IBREC as shown in Fig. 42.
As shown in Fig. 42, IBREC is entered when F7 = 1. The first action to take place is the computer will set flag F10 in preparation to allowing the first inbound message bïts from the MTU6 to be trnasferred from the inbound data word iocation IBDW
of Fig. 33a over to the CIU. The progra~l will now enter ;nto the deci.sion block F21 = 1? to make a determination as to whether the computer is counting on CNT0 or CNTl. In the present instance, ~ it is assumed that the computer is counting on CNT0, therefore ~. 15 the program will exit through the Y branch enteri.n~ into a decision block CNT0 = 112. To understand the purpose for testing CNT0 =
112, reference is now made back to Fig. 39 to the MTU to SCU message i~: line at the end of messages 1 and also to the end of COMMAND 3.
When the last messages from the MTU's, that is all 54 character hits, have been rece~ved, CNl`0 will be e~ual to 111, however it will be recal].ed that there is a two bit ~ap where t~le ~CU always ., .
i ~ transmits a "01" pilot tone at tl~e end o~ its outbound message.
,~ Thus these two bits must be taken into account to determine the ~,; absolute end of an ~TU message. Then at the end of COM~AND 3 (or ..
absolute end of message 1) the counter CNT0 will ~e at 112.
, ~

: -102-Referring back to Fig. 42, let it be assumed however that the entire MTU's message has not been received. Therefore, CNT0 will not be equal to 112. The program will thus exit the N branch entering an action block where F20 will again be set in preparation to reading the next inbound message bits from the MTU's on the positive rising edge of RC2 as previously described for Fig. 35 in the WAIT subroutlne. The program will now exit back to OBRT2 of Fig. 36.
Reference is now made back to Fi~. 36 to the OBRT2 entry.
It will be noted that the first test performed from OBRT2 is in a decision block F10 = 1?. Since F10 is now set as described in IBREC of Fig. 42, the program will exit through the Y branch to an inbound transmit subroutine IBXR as shown in Fig. 43.
Reference is now made to Fig. 43a to the IBXR subroutine.
In th1s subroutine, the previously stored message bits from the j MTU's, which now reside in location IBDW of Fig. 33a, will be ! transmitted from the SCU to the CIU. This is accomplished as follows.
Upon first entry into IBXR, F25 will be in a reset state. Therefore, ~ the program will exit the N branch entering into a decision block ; 20 F23 = 1?. Also, upon the first entry into IBXR, flags F23 and the following flag F24 will be in a reset state, therefore the program will exit the N branches of these two decision blocks entering into an F7 = 1? decision block. F7 was set in PREIB, therefore the program will exit the Y branch entering into an action block wherein the last received character presently residing in IBDW of Fig. 33a is trnasferred from the computer over the BUS lines DB0 through DB7 to the USART for transfer to the CIU
from the SCU in a bit serial character fashion as shown in Fig.
~` 39 on the SCU data to CIU line.

llS71Z2 .

The pro~ram will now return back to ORRT3 of the OBISR
subroutine of Fig. 36. In OBISR, it is assumed at this time, that no other flags are set on the right hand side of that flow chart.
The program will thus return back to the ~AIT subroutine of Fig.
35, wherein the next inbound receive message bits are again stored in IBr)W of Fig. 33a.
After storing the next data bits, and when the next interrupt occurs, OBISR will be re-entered to direct re-entry into IBREC because F7 is equal to a 1. Referring to Fig. 42, the IBREC subroutine, the program will proceed through the subroutine in the manner just described returning back to OBRT2 of the OBISR
subroutine, at which time F10 will be tested again. F10 will thus cause re-entry back into IXBR of Fig. 43, wherein the characters received from the MTU's will continuously be transferred to the CIU in the sequential fashion as just described until the counter CNT0 = 112 in IBREC (Fig. 42).
Reference is now made to Fig. 42 to the CNT0 = 112?
decision block. Let it be~assumed that the last message bits or characters have been received from the MTU's. Thus, CNT0 is equal to 112 and the program will exit through the Y branch entering into an action block wherein the fla~ F7 will be reset indicating that the inbound response message has been received. The computer ~ now selects P2 and turns off the inbound receive gate IBRG to - the SCU receivers, thus preventing further reception of information from the MTU's. The program will now return back to OBRT2 of Fig.
36 of the OBISR subroutine. Since F10 is still set, the IBXR sub-routine of Fig. 43 will again be entered.

11~7122 5ME-58 Referring to Fig. 43A, the program will now progress down to the F7 = 1? decision block. It will be recalled that F7 is now in the reset state, as that flag was reset in the IBREC
subroutine after completion of the receipt of the MTU messages.
THus, the program will exit through the N branch entering into an action block wherein flag F25 will be set in preparation to transmitting characters 49 through 52 of the inbound message from the SCU to the CIU (see Fig. 8~. Also at this time, inbound transmit counter IBXC shown in Fig. 33A is set to 0. The computer will now transfer the character last received in WAIT from IBDW over its BUS to the USART, wherein the last MTU message bits or characters are transferred to the CIU via the USART. The program will now return back to the OBISR subroutine of Fig. 36 to OBRT3.
The program will return back to the WAIT subroutine ~15 pending another interrupt. When the next interrupt occurs OBISR
i will again be entered, at which time the program will progress into IBXR again because F10 is still set. Reference is now made , back to Fig. 43A to the IBXR subroutine. It will be noted that ¦ F25 is now set due to the last pass through IBXR. Therefore, upon the entry into IBXR, the pro~ram will exit the Y branch of the F25 = 1? decision block entering into connector H of Fig. 43B.
!: .
' The first test performed in Fig. 43B is in an IBXC =
0? decision block. The inbound transmit counter IBSC is utilized to sequence the transmission of characters 49 through 52 (see Fig. 39) from the SCU to the CIU. Upon first entry into connector H, IBXC will be equal to 0, therefore the program will exit through the Y branch entering into an action block where a fill character 49, as shown in the inbound message pattern of Fi~. 8, will be ~ ~ ~712 2 5ME 58 transferred over the BUS lines DBO through DB7 from the computer to the CIU via the USART. The program will then enter into an action block where IBXC is incremented by l and return back to OBRT3.
In OBRT of the OBISR subroutine of Fig. 36, assuming that none of the other flags in that subroutine are set, the program will then return back to the WAIT subroutine. Upon the next interrupt, IBXR will again be entered and the program will again exit through ' the Y branch of the F25 = 1? decision block to connector H. Uponthis entry into the H connector of Fig. 43B, IBXC will be equal i to a 1, therefore the program will exit from the N branch of theIBXC = O? decision block and proceed to the IBXC = l? decision block. Since IBXC is equal to a l, the program wili exit through ~a Y branch into an OBTG = ON? decision block. ~n this decision block, the computer is testing to see if the OBTG signal line from the computer on P2 is turned on. If OBTG is On, it indicates that a carrier is being transmitted from the SCU to the MTU's.
~ However, if OBTG is OFF, it indicates that the carrier from the i SCU to the MTU's is OFF and no command or data are being transmitted to the MT~'s. The purpose of making this test of the outbound transmit gate OBTG is to provide status information back to the CIU's for use by the computer program of the RCC. Let is be assumed that OBTG is not in the ON condition, therefore the program will exit an N branch into an action block where the program will transfer .
~25 a second fill character to the USART as character 50 of the inbound .
messages shown in Fig. 8. However, assuming that OBTG ls ON, the program will exit through the Y branch whereln the computer will .:

\ -- ~
~1~712Z 5ME-58 transfer a special code known as a pilot character to the USART
and on to the CIU as bits 50 or character 50 of Fig. 8. The program will then increment IBXC for the next re-entry into the IBXR sub-routine and return back to OBRT3 of Fig. 36 of the OBISR subroutine.

Let it now be assumed that another interrupt has occurred and IBXR has again been entered. Again the program will enter into connector H of Fig. 43B, continuing on down to the test block IBXC = 2. At this time, since the first two characters, (characters 49 and 50 of Fig. 8) have been transferred to the CIU, IBXC will be equal to the 2. Therefore, the program will exit through the Y branch into an action block in which the program will read the SCU address least significant bits (LSB's) from the SCU address switches of Fig. 30A and transfer those bits as character 51, as shown in Fig. 8, to the CIU via the USART. The program will ~;151 now increment IBXC and return back to OBRT3 as previously described.
Upon the next interrupt, and entry into connector H
of Fig. 43B, IBXC will be equal to 3. Therefore, in the IBXC =
3? decision block the program will pro~ress through the Y branch at which time the computer will read the most significant bits (MSB's) of the SCU address switches and transfer those bits to the CIU via the USART. The IBXC will now ben incremented to 4 and the program will return back to OBRT3.
The entire 52 character messages has now been transferred from the SCU to the RCC. Upon the next interrupt, the IBXR sub-routine will again be entered and coming through connector H of 43B, the program will progress on down the left hand side of the ; page to the N branch of the IBXC - 3? decision hlock~ Since IBXC
~ .

~1~71~2 5ME-58 is not equal to 3, the program will exit through the N branch entering into an actlon block wherein the flag F25 will be reset indicating that the inbound characters 49 through 52 of the message have been transmitted to the CIU. Also, F10 is reset at this time to prevent the further transfer of any inbound messages to the CIU. Upon the conclusion of this action block, the computer now proceeds to transfer an OFF command to the USART to turn off the MODEM transmitter carrier via the USART RTS line as shown in Fig.
', 30.
' 10 As previously mentioned,,the SCU, upon receipt of an outbound command from the CIU specifying an action at the SCU
only, has the capability of controlling the carrier or pilot tone going from the SCU to the MTU's. The purpose for this control is to allow one or more SCU's to selectively turn ON and OFF their carriers going to their respective MTU's in the event several SCU's are connected to one power line feeder. This is to prevent , ad,jacent SCU's from interfering with each other. The significance of this feature will become more apparent as the description proceeds in re~ard to the inventions capability to provide set addressing of SCU's. Also, the execution of an action at the SCU command by the SCU will cause the SCU to turn that command around and send it back to the CIU as status information. This type of command is executed by the SCU-in a subroutine SCUTA (SCU TURN AROUND) as shown in the flow charts of Figs. 44A, 44B, and 44C. However, prior to explaining the operation of the SCUTA subroutine, it is first considered advantageous to explain how the computer gets into that subroutine. In this respect, reference is made to Figs.
38A and B of the EXOBM subroutine.

.

~ -108-.

~ 5ME-58 ~ ~ S71~Z

It will be recalled that the EXOBM subroutine has been entered from the WAIT subroutine when flag F2 is set. This is after the outboundm essage has been received from the CIU by the SCU. During the execution of the EXOBM subroutine, a flag F15 is set as shown in Fig. 38B at the top of that figure coming out of the Y branch of the function equal action at SCU decision block.
Flag F15 is set during this time because the SCU action control field of the outbound command specifies that the command is to be executed internal to the SCU. That is, no infor~ation is to be transmitted to MTU's or received from MTU's by the SCU. Still referring to Fig. 38B, it will be recalled from the previous descrip-tion and as shown in the second F27 = 1? decision block on the , right side of Fig. 38B, that either flag F32 or flag F33 is set in order to turn the pilot or carrier OFF going from the SCu to the MTU's during subroutine SCUTA when the counter CNT0 or CNTl is equal to 64.
Let is now be assumed that F15 has been set and that one of the flags F32 or F33 have been set and that the program has now gone back to the WAIT subroutine. As previously described, when a program interrupt occurs in the WAIT subroutine, OBISR
of Fig. 36 will again be entered. Upon this entry into OBISR, - and assuming that none of the flags are set to cause branching into some other subroutine, when the program tests the state of F15, the program will branch out of the-F15 _ 1? decision block through the Y branch entering to subroutine SCUTA.

:

-109_ ~ 5ME-58 11~712Z

Reference is now made to Figs. 44A through 44C of the SCUTA subroutine. As shown, SCUTA is entered when F15 is equal to l. Upon entry in the SCUTA, the first test performed is in an F16 = 1? decision block. Flag F16 is either set or reset in the EXOBM subroutine depending upon whether the SCU is counting on CNT0 or CNTl. In the instant case, we are assuming that F16 ; is set, therefore CNT0 is the counter being utilized. Thus, the program wlll exit the F16 = 1? decision block through the Y branch entering into an action block wherein a flag F0 i.s set. F0 is a flag which will subsequently be used to also indicate that the `; SCU is counting on CNT0 in subroutine SCUTA.
The program will now enter into connector B of Fig.
, 44B into an action block CNT0 = 112. This is the block where the SCU tests to see if the entire command has been transferred back to the CIU. Upon the first time into connector B, CNT0 will not , - be 112, thus the program will exit through the N branch entering another decision block wherein CNT0 is tested to see if it is equal to 64. If CNT0 is equal to 64, it indicates that it is time to transmit the SCU turnaround command back to the CIU. In which ~20 case, the program will exit through the Y branch entering into ~ an action block wherein flag F10 will be set to tell the computer ,;~ to transmit the command back to the CIU. Also, F23 is set to direct the.SCU to transmit the inbound command from the SCU back to the ~ CIU on CNT0 during the SCUTA subroutine. The program will now `~25~ enter into an F32 = 1? decision block to determine whether the pilot or carrier going from the SCU's to the MTU's is to be turned , ON or OFF. If flag 32 is set, the program will exit through the ~ .
~`

5~E-58 11;~7122 Y branch entering into an action block wherein F32 is reset and P2 of the computer is selected to turn off the outbound transmit gate OBTG by writing a binary 0 to that line. On the other hand, if F32 is not set, it indicates that the pilot is to be turned ON. Thus, the program will exit through the N branch, P2 will be selected, and the pilot will be turned on by driving OBTG to a binary 1. The program will now return through connector C back to Fig. 44A entering into an action block wherein flag F0 is reset.
A flag F14 is now tested to see if the SC.U is counting on CNTl. If CNTl is being utilized as a counter ast the present time, the program would exit through the Y branch entering into connector F of Fig. 44C. However, let it be assumed that F14 is J, reset, thus the program will exit the N branch. A test is now performed to see if F16 is equal to a 1 indicating that the SCU
is counting on CNT0 in the SCUTA subroutine. If F16 is not set, the program will thus reset F15 and exit to OBRT4 of the OBISR
subroutine in Fig. 36. If F16 = 1, however, the Y exit will be taken leaving F15 set. The program wiill now go back to the WAIT
loop pend;ng another interrupt has occurred and the program is just re-entered OBISR In Fig. 36. Upon progressing through OBISR, F10 will again be found to be set, at which time the IBXP~ subroutine will be re-entered.
Reference is again made to Fig. 43A of the IEXR subroutine.
As will be noted in that flow chart, F23 is now equal to a 1.
Thus, as IBXR is entered- and F23 is tested, an exit will be made ; through the Y branch of the F23 = 1? decision block into an action block wherein a count CNT is set equal to CNT0 as the base address to start the retrieval of outbound words O~W5 - OB~10 for transfer back to the CIU. CNT is a counter located in one of the working registers. The program now proceeds into another action block . _ _ 11~71~2 wherein register Rl in the working registers is set equal to 65 designating the beginning of the count for transmission of the command from the SCU back to the CIIJ and R2 is set equal to 0.
The computer now tests to see if CNT is equal to Rl.
On the first time in, CNT is equal to Rl because upon entry into the IBXR subroutine CNTO was equal to 65. Therefore, the program will exit through the Y branch and load the first outbound word OBX5 (designated OBWX) from memory at base address + R2 into the inbound data word loction IBDW of Fig. 33A. Referring to Fig.
7, OBW5 contains the function code bits shown as character 5.
The program now goes into an action block wherein bits 1 through 7 ln location IBDW are masked and the contents of that word in IBDW are transferred to the USART whereiby bit 0 is the only bit having significance in that character. Bit O in this instance, indicates channel 1 representative of that data normally coming back from the MTU on frequency FI. Also in this action block, the inbound data word IBDW, is right ring shifted 1 bit and stored back into the IBDW location.
The program will now exit to OBRT3 of Fig. 36, wherein F15 is again tested. Since F15 is still set, the SCUTA subroutine will again be entered in Fig. 44A. With F16 still set in SCUTA, exit will be taken through the Y branch wherein FO will again be set and an entry made into connector B of Fig. 44B. Since CNTO
is not equal to 112, meaning that the complete command has not been transmitted to the CIU, the branch will be taken and a test will again be performed to see if CNT0 is equal to 64. Since CNTO
is not equal to 64, the branch will be taken and a test performed to see if CNT0 = 46. If CNT0 is equal to 46, it is time to set 115712~z 5ME-58 F5 to allow a new outbound command to be received by the SCU.
However, if CNT0 is not 46, which will not be at this ,ime, the N branch will be taken and CNT0 will be tested as ~NTX to see if it is equal to 62. Since CNT0 will not be egual to 62 at this time, the N branch will be taken and a test will then be performed to see if F0 is equal to a 1. Since F0 was set upon entry into this subroutine, entry will be made from the F0 = 1? decision block to connector C of Fi~. 44A.
At this time, F0 is reset and a test perfprmed to see if F14 is set. Since at this time it is assumed that the SCU is counting on CNT0, F14 will not be set, therefore the N branch will be taken and F16 will be tested. F16 is also set at this time, therefore, the program will exit through the Y branch returning back to OBRT4. Assuming that none of the other flags in O~ISR
of Fig. 36 are set, the computer will now return back to the WAIT
sub-routine pendin~ another interrupt.
When the next interrupt occurs, OBISR wlll again be entered and the program will proceed down to the point of testing F10 = 1. Since F10 is still set, the IBXR subroutine of Fig. 43A
will again be entered. Upon entry into IBXR, F25 at this time will still be reset and F23 will be set as previously described.
~; Therefore, the Y branch will be taken into the action block wherein the count CNT in again set equal to CNT0. It should be noted at this time, since the program has gone through the 0BISR count ~25 in CNT on the second pass into IBXR will be equal to 66. The program now proceeds to set Rl equal to 65 again and to set R2 equal to 0. At this time, since CNT is not equal to Rl, the program will take the N branch into an action block where Rl is set equal to Rl + 8, thus incrementing Rl from 65 to 73. Also R2 is incremented by 1.
.~
.

~ -113-ilS7122 A test is now made to see if Rl is equal to 113. Since Rl is not equal to 113, the program will take the N branch and loop back to the input of the CNT = Rl? decision block. The program will now continue in this loop incrementing Rl by 8 until Rl is equaI to 113. At which time the YES branch will be taken and a test will be made to see if the counter is equal to 112. Since it is not, the program will exit to the N branch and again mask bits 1-7 of the IBDW location to thus ship out the second bit of the data word is OBW5. The contents of IBDW will then be ring shifted to right 1 position again putting the next data bit in the first position (bitO). The program will now exit back to OBRT3 in the manner as previously descrihed.
Upon the next entry into IBXR, the same process JUSt ; described will be repeated until all of the data bits in OBW5 have been shipped out to the CIU. On the ninth entry into IBXR, CNT0 will be equal to 73. Therefore, CNT is equal to 73. Rl is again set to 65 and R2 is set to 0. Upon this entry into the CNT
= Rl? decision block, since CNT is equal to 73, the base address of OBhl6, there will not be a comparison and the program will exit through the N branch whereby Rl will be incremented by 8 to 73,~
and R2 by 1 in the manner as previously described. Rl is not equal to 113, therefore, the pro~ram will branch back through the N
branch into the CNT = Rl? decision block. Now that Rl is equal to CNT, that is they,both equal 73, the YES branch will be taken and the next word OBW6 will then be loaded from the base address + R2 which was incremented by 1 in the first pass through the loop. O~W6 is then retrieved, bits 1 through 7 are masked in IBDW

~ 712`2 5ME-58 and that character with bit 0 being the only significant bit is shipped out to the CIU as a data bit in channel 1 position. IBXR
will be entered 48 times to ship out the entire six characters of the previously received SCU outbound command. When the last bit in character OBW10 of Fig. 33A has shifted out, the program will exit through the Rl = 113 Y branch in Fig. 43A where the test is made to see if the counter CNT is equal to 112. At this time, CNT is equal to 112 (CNT0 counter from 65 - 112). Thus, the program will exit through the Y branch, indicating that it is time to append the SCU address bits to the command heing transmitted back to the CIU. Therefore, F25 is set and the inbound transmit counter IBXC is set equal to 0. The program will now return back to OBRT 3 after it has shipped out the last data bit of the last character previously described loaded into the IBDW work.
Upon the next entry into IBXR, it will be noted that ; F25 is equal to a 1. Therefore, the program will take the Y branch and enter into the Fig. 43B at connector H. The operation at Fig.
43B is exactly as previously described for adding the SCU address to the end of the inbound message coming from the MTU's going to the CIU. Upon exiting to OBRT3 from Fig. 43B, the program will then go back to Fig. 36 where F15 will again be tested. Since F15 is still set, the SCUTA subroutine will again be entered.
Since F16 is still set, exit will be through the Y branch where `~ F0 will again be set and the program will go into connector B
of Fig. 44B. At this time, since C~T0 is equal to 112, it indicates the end of the command, therefore, the computer will take the Y branch and enter into an action block where F16 and F23 are reset. F16 and F23 are reset to indicate that the SCU is no lon~er counting on CNT0.
. ' ` 5ME-58 ~:~S~ 2 The program will now continue to connector C of Fig.
44A where FO is reset and a test is performed to see if Fl4 is equal to 1. If Fl4 is not set, the program will exit through the N branch wherein Fl6 is tested. F16 is now reset, therefore, the N branch will be taken and flag F15 is reset to prevent re-entry into the SCIJTA subroutine. The program now returns back to OBRT4, where assuming that no other flags are set, the program will go back into the WAIT subroutine.
When another interrupt occurs in the WAIT subroutine, OBISR will be entered and the appropriate subroutine will be entered in accordance with the various flags which are set upon entry into OBISR in the manner as previously described.
In the preceding discussion, those portions of the flow charts dealing with counter CNTl have not been described in detail ~15 as it is believed unnecessary to do so as it would be a duplication of that just described for operation of the SCU when using CNTO.
The basic difference between CNT0 and CNTl is that CNTl has its own flags which are set or reset in accordance with that defined in Table 2.
The significance of the invention lies in the utllization of CNTO and CNTl to control the interlace timing as shown in Fig.
39, whereby the two counters operating in a synchronous mode allow two commands to be continuously buffered into the SCU for transmission of a continuous data stream of outbound commands of MTU's and ~25 also using the same counters for the receiving of the messages from the MTUIs into the SCU's and forwarding those messages from the SCU's on to the CIU.

Fig. 45 has been included in the present embodiment to give further clarification of how the MTU to SCU messages are received and how those messages are transmitted from the SCU to the CIU. It will be noted that the drawin~ of Fig. 45 corresponds basically to the inbound message format shown in Fig. 8. That is, where a message going from the SCU to the CIU is comprised of 52 characters. As shown in Fig. 45, each of the bits at frequencies F~l through F+8, coming from eight simultaneously addressed MTU's are presented as an 8 bit character to the 8 receivers in the SCU. As previously described, these 8 bits from each of the eight MTU's is transferred in parallel from the receivers as a character into the computer for transfer from the IBDW location of Fig.
33 to the CIU via the SCU USA~T. After the entire message has been received from the MTU's, the SCU address is then attached to that message as characters 49 through 52 as shown in Fig. 45 and in Fig. 8.
It is also significant to note from the previous des-cription, by referring to Fig. 45, that the information of a SCU
turn around command i.s transmitted back in the exact same format as the information coming from the MTU to the SCIJ. That is, bits 2 through 8 of each character transmitted back to the CIU during the execution of SCUTA are masked to zero's, with blt 1 being transmitted to the CIU in each of the 52 characters as if the ~ command actually came in from an MTU on channel 1, the channel ;25 associated with the frequency FIl. By so transmitting a turn-~ - around command, total uniformity is provided in the system in .

12~

that all commands and/or messages received back at the CIIJ from the SCU are of the exact same format. This feature makes it easier for the RCC to analyze and seperate out the messages returning from the SCU's and the MTU's.
The flexibility of the SCU utilized in the present invention ; makes many system arrangements possible to increase the data through-put of the entire system. While normally it is possible that an SCU can communicate with its entire complement of MTU's as shown in Fig. l, where the SCU serves to perform both transmit and receive ld functions, it is sometimes desirable to have more than one SCU
, on a CIU channel to communicate with several MTU's.
Recognizing that the MTU transmitter is of a much lesser ' power output than the SCU tr,ansmitter, there are situations on '~ ~ a power line where the MTU's may be located so far away from the SCU receivers that the SCU cannot receive the information from ~' 'th,e MTU's. When this condition exists, it is sometimes desirable to designate certain SCU's as receive only SCU's and locat them , .
along the power line close to the MTU's from which they are to i receive data. Such a system arrangement is shown in Fi~. 47, where a CIU channel communicates over a single telephone line with a ; set of SCU's comprised of a transmit SCU and several receive SCU's ,~ all connected to the same power line. To operate,such a system ~ as that shown in Fig. 47, it will be noted that each SCU in the .
SCU set receives its outbound commands at fre~uency FIl from its ~25 corresponding CIU channel. It should also be noted that each of 'the receive SCU's transmit their inbound messages which, they ,~

, ~ z 5ME-58 receive from the MTU's or those which they turn around and send back to the CIU, at the same subchannel frequency F2 as previously defined. In this arrangement, an outbound command transmitted from the RCC to the SCU set, will specify in its transmit address field that the transmit SCU is to send out the command but not to receive messages. That same command would specify in its received address filed that one of the RECEI~E SCU's is to receive messages only and not to transmit. Since each of the RECEIVE SCU's transmit back on the same subchannel frequency (f2) as shown in Fig. 47, only one of those receive SCU's at a time can be addressed to receive messages from the MTU's addressed by the outbound command from the transmit SCU.
By definition, an SCU set may comprise one or more SCU's in the system. The only criterion is that all SCU's in a set be connected to the same CIU via the same subchannel. Thus, if a single SCU comprises a set, then that SCU performs the functions of both transmit and receive. As a result, the transmit and receive addresses which are sent to a transmit/receive SCU are identical if it is the main or only SCU of a set, because that SCU is to perform both transmit and receive functions. Fig. 46 illustrates another system arrangement whereby a number of SCU sets are connected to a common power line and to a common CIU subchannel. Each of the SCU sets communicates with the CIU at subchannel fre~uency f2. In this arrangement, one or more SCU's in any one of the sets may be designated as a transmit SCU and other ones of the SCU's in any of the sets may be designated as receive only SCU's. The only criterion in this arrangement is that only one SCU at a time in any given set can transmit its inbound data back to the CIU.

~ 2 5ME-58 Fig. 48 illustrates another system arrangement whereby many sets of SCU's communicate with a single CIU channel, with each of the sets connected to separate power lines, with each group of connected SCU sets communicating back to the CIU on a different subchannel frequency f2, f3, and f4. In this arrangement, any SCU from a given CIU set, may be transmitting inbound messages to the CIU at its subchannel frequency, while, simultaneously, the SCU from a different set is transmitting at its subchannel frequency.
For example, SCU set 1 may have an SCU transmitting information back to the CIU at its subchannel frequency f2, while simultaneously an SCU in SCU set 11 may be transmitting its messages back to the CIU on its subchannel frequency F3, etc. Fig. 48 also illustrates that it is possible to connect several SCU sets to a single power line with each SCU set communicating back over a single CIU channel at its own given subchannel frequency.
It is understood, that each CIU input channel will have matching receivers tuned to receive the respective subchannel frequencies f2, f3, f4 from the SCU's.
Fig. 49 illustrates the subchannel command and message interlacing technique for one subchannel in a system of the type ; described in connection with Fig. 1. Fig. 49 illustrates by arrows starting from the left to the right, that the CIU sequentially transmits five outbound commands to the SCU. As soon as the first command is received by the SCU and decoded, the SCU then transmits that command on to the MTU's. A first group of eight MTU's is .

-120~

addressed to simultaneously transmit their messages back to the SCU in response to the first command. The SCU will transfer these messages from the eight MTU's to the CIU while transmitting a second command to a different group of MTU's, which in turn respond with their messages while a third command is being transmitted, etc.
Fig. 50 illustrates the command and message interlacing for three subchannels where information is simultaneously transmitted between the CIU's and the MTU's via the SCU's. The CIU is shown generating three (1, 2, 3) sequential commands addressed to each of three SCU's designated SCUl, SCU2, and SCIJ3. As shown, when the first command is addressed to SCUl, that command is transmitted out by SCUl, the eight MTU's communicating with SCUl. Immediately, following command 1, commands two and three are sent out to address SCU2 and SCU3 respectively. As shown in Fig. 50, while the CIU
is sending out its second command, the 8 MTU's previously addressed ~ by the first command sent out by the SCUl are transmitting their `~ messages back to the CIU via SCUl. As can be seen, this interlacing of commands and messages continues for SCU2 and SCU3 in response to commands two and three from the CIU. When three subchannel are being used, the messages being transmitted from SCUl to the CIU would be at subchannel frequency f2, the subchannel frequency of SCU2 would be f3 and that frequency from SCU3 would be f4.
Thus, it can be seen, that one CIU can operate simultaneously on one single telephone line with three subchannel frequencies from three distinct SCU's.

11~7~ Z
5Mæ-58 In summary, the concept of the utilization of SCU sets can include many combinations, a few of which have been described.
Such combinations are 1) a single CIU, normally located at a sub station or anywhere else, may be used for load control only to control loads at MTU's. This single SCU would only transmit. 2) a single transmit SCU, located at a substation plus one or more receive only SCU's located out along the power iine feeder or feeders. 3) a single transmit/receive SCU at a sub station, plus one or more transmit and receive SCU's or receive only SCU's outalong the power line feeder or feeders. 4) any combination of the above.
The feature that the SCU has of being able to control its own transmit power line carrier or pilot as previously discussed enables any number of SCU's connected to a common power line to communicate between their MTU's and CIU's without interference by merely switching off their own power line carriers under command control from the CIU. This is a distinct advantage of the system in that it provides the capability of being able to control the connection of large sets of SCU's to the power line.
While the principles of the invention have now been made clear in an illustrative embodiment, there will be immediately obvious to those skilled in the art, many modifications of structure, arrangement, the elements, material, and components used in the practice of the invention and otherwise, which are particularly adapted for specific environments and operating requirements without departing from those principles. The appended claims are, therefore, intended to cover and embrace any such modifications within the limits only of the true spirit and scope of the invention.

Claims (22)

The emdodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A remote automatic utility monitoring and control system including a terminal unit connected to a power line, said terminal unit comprising:
(a) means for receiving a command over said power line, said command including an action field portion and a function code portion; and (b) decode means responsive to said received command to effect the immediate execution of the function as specified by said function code portion when said decode means recognizes a first address type contained in said action field portion and further recognizes an address assigned to said terminal unit as specified by at least a portion of the contents of the first address type; and to effect the execution of the functions as specified by said function code portion at a specified time when said decode means recognizes a second address type contained in said action field portion, said time of execution being specified by a time field portion of the contents of said second address type, and further recognizes an address assigned to said terminal unit as specified by an address portion of the contents of said second address type.
2. A terminal unit in accordance with claim 1 additionally comprising:
(c) at least one meter including an encoder, said encoder generating data signals representative of a commodity reading measured by said meter;
(d) a plurality of function code identifiable storage means; and (e) wherein said decode means, in response to a first function code type contained in the function code portion of a received command, selectively effects the storage data signals from said encoder, as measurement data information, into an identified one of said storage means;
and, in response to a second function code type contained in the function code portion of a received command, selectively effects the transfer of information contained in a specified one of said storage means, as identified by the second function code type, to transmitter means for transmitting said information over said power line.
3. A terminal unit in accordance with claim 2, wherein said assigned address comprises:
(a) a main address uniquely assigned to a particular terminal unit of said system; and (b) at least one auxiliary address, the contents of which are common to at least two terminal units of said system which are to respond simultaneously to a received command which contains said second address type having a predetermined information pattern in the address portion thereof.
4. A terminal unit in accordance with claim 3 including at least two auxiliary addresses comprising :
(a) a first auxiliary address, the contents of which are common to all terminal units which are to respond simultaneously to a received command which contains the second address type having a first bit pattern in the address portion thereof; and (b) at least one additional auxiliary address, the contents of which are common to a block of terminal units, each block including a predetermined number of terminal units which are to respond simultaneously to a received command which contains the second address type having a bit pattern which is different from said first pattern in the address portion thereof.
5. A terminal unit in accordance with claim 4 including, in addition to said first auxiliary address:
(a) a second auxiliary address, the contents of which are common to a first block of terminal units, said first block including 1/16 of all terminal units in the system, which are to respond simultaneously to a received command which contains the second address type having a second bit pattern in the address portion thereof; and (b) a third auxiliary address, the contents of which are common to a second block of terminal units, said second block including 1/32 of all terminal units in the system which are to respond simultaneously to a received command which contains the second address type having a third bit pattern in the address portion thereon.
6. A terminal unit in accordance with claim 3, wherein said decode means, in response to a third function code type contained in the function code portion of a received command having a recognized address, selectively effects the initiation of a demand on for a predetermined time period, said demand on period including at least one demand interval having a predetermined duration, wherein during said demand on period the difference of measurement data obtained at the beginning and end of each demand interval is compared to the largest difference obtained during a preceeding time interval of said demand on period, the larger of the two compared difference values being stored in an identified one of said storage means.
7. A terminal unit in accordance with claim 6, wherein the initiation of said demand on will take place only if a command containing a recognizable second address type has been previously received, said command containing a fourth function code type in the function code portion; and wherein said decode means, in response to said fourth function code type, effects the termination of the demand at a predetermined specified future time.
8. A terminal unit in accordance with claim 7, wherein said decode means, in response to said fourth function code type contained in the function code portion of a received command containing said second address type having a recognizable bit pattern in the adddress portion thereof, selectively effects termination of demand at a predetermined time, as specified by the time field portion thereof, after receipt of said command.
9. A terminal unit in accordance with claim 7, wherein said decode means, in response to said fourth function code type contained in the function code portion of a received command containing said second address type having a bit pattern in a predetermined portion of said address portion thereof which matches a predetermined portion of a bit pattern contained in an auxiliary address, selectively effects termination of demand at a predetermined time, as specified by the time field portion of said second address type, after receipt of said command.
10. A terminal unit in accordance with claim 3 additionally comprising :
(f) at least one load control means for controlling a load associated therewith; and (g) wherein said decode means, in response to a fifth function code type contained in the function code portion of a received command, selectively activates an identified one of said load control means to effect the turning off of the load associated therewith; and, in response to a sixth function code type contained in the function code portion of a received command, selectively activates an identified one of said load control means to effect the turning on of the load associated therewith.
11. A terminal unit in accordance with claim 10, wherein said decode means, in response to said fifth function code portion of a received command containing said first address type having a bit pattern which matches a predeter-mined portion of a bit pattern contained in the main address,selectively activates a specified one of said load control means, as identified by the fifth function code type, to effect the turning off of the load associated therewith.
12. A terminal unit in accordance with claim 10, wherein the initiation of the burning off of an associated load will take place only if a command containing a recog-nizable second address type has been previously received, said command containing a seventh function code type in the function code portion; and wherein said decode means, in response to said seventh function code type effects the turning on of the associated load at a predetermined specified future time.
13. A terminal unit in accordance with claim 10, wherein said decode means, in response to said sixth function code type contained in the function code portion of a received command containing said second address type having a recognizable bit pattern in the address portion thereof, activates , at a predetermined time after recipt of said command as specified by the contents of the time field portion of said second address type, as identified one of said load control means to effect the turning on of the load associated therewith .
14. A terminal unit in accordance with claim 10, wherein said decode means, in response to said sixth function code type contained in the function code portion of a received command containing said second address type having a bit pattern in a predetermined portion of said address portion thereof which matches a predetermined portion of a bit pattern contained in an auxiliary address, activates, at a predetermined time after receipt of said command as specified by the contents of the time field portion of said second address type, an identified one of said load control means to effect the turning on of the load associated therewith.
15. A terminal unit in accordance with claim 10 additionally comprising:
(h) at least one alert control means for controlling an alert device associated therewith; and (i) wherein said decode means, in response to an eight function code type contained in the function code portion of a received command, selectively activates an identified one of said alert control means to effect the turning on of the alert device associated therewith; and , in response to a ninth function code type contained in the function code portion of a received command, selectively activates an identified one of said alert control means to effect the turning off of the alert device associated therewith.
16. A terminal unit in accordance with claim 15 additionally comprising:
(j) at least one status means for monitoring the status of a switch associated therewith; and , (k) wherein said decode means, in response to a tenth function code type contained in the function code portion of a received command, selectively effects the storage of a signal from said status means, as an indication of switch status, into an identified one of said storage means, and effects the transfer of the switch status from said one of said storage means to transmitter means for transmitting said measurement data over said power line.
17. A terminal unit in accordance with claim 3, wherein said decode means, in response to said first function code type contained in the function code portion of a received command containing said first address type having a bit pattern which matches a predetermined portion of a bit pattern contained in the main address, selectively effects the storage of data signals from said encoder, as measurement data information, into an identified one of said storage means.
18. A terminal unit in accordance with claim 3, wherein said decode means , in response to said second function code type contained in the function code portion of a received command containing said first address type having a bit pattern which matches a predetermined portion of a bit pattern contained in the main address, selectively effects the transfer of information contained in a specified one of said storage means, as identified by the second function code type, to said transmitter means for transmitting said information over said power line.
19. A method of delaying execution of a command by a terminal unit of a remote automatic utility monitoring and control system said method comprising the steps of:
(a) receiving a command having a function code portion and and action field portion, said function code portion containing a specified function to be performed, and said action field portion containing an execute hence type address including an address portion containing specified terminal unit address information and a time field portion containing a specified value of time;
(b) storing the contents of said function code and said time field portions of a command having a recognizable address portion;

(c) decrementing the stored contents of said time field portion at predetermined equal intervals ;
and (d) performing the function specified by the stored contents of said function code portion when the contents of said stored time field portion has been decremented to zero.
20. A method of enhancing the security of a remote automatic utility monitoring and control system including a terminal unit for performing specified functions, said method comprising the steps of:
(a) transmitting to said terminal unit a first command having a function code portion and an action field portion, said function code portion containing a specified function to be performed, and said action field portion containing an execute hence type address including an address portion containing specified terminal unit address information and a time field portion containing a specified time interval for delaying the performance of said specified function;
(b) storing the contents of said function code and said time field portions of a first command having a recognizable address portion;
(c) transmitting to said terminal unit a second command having a function code portion and an action field portion, said function code portion containing a specified function to be performed which is an opposite of the function specified in said first command , and said action field portion containing an execute immediate type address including an address portion containing address information identifying the same terminal unit addressed by the first command; and (d) performing the function specified in the function code portion of the second command only if the opposite function specified in the first command has been received and stored by the terminal unit for execution thereby at the expiration of said specified time interval.
21. A method in accordance with claim 20, wherein step (a) includes transmitting to said terminal unit a first command, the function code portion of which contains a demand off function and step (c) includes transmitting to said terminal unit a second command, the function code portion of which contains a demand on function.
22. A method in accordance with claim 20, wherein step (a) including transmitting to said terminal unit a first command, the function code portion of which contains a load on function and step (c) includes transmitting to said terminal unit a second command, the function code portion of which contains a load off function.
CA000372726A 1980-03-31 1981-03-11 Automatic meter reading and control system Expired CA1157122A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US135,860 1980-03-31
US06/135,860 US4315251A (en) 1980-03-31 1980-03-31 Automatic meter reading and control system

Publications (1)

Publication Number Publication Date
CA1157122A true CA1157122A (en) 1983-11-15

Family

ID=22470050

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000372726A Expired CA1157122A (en) 1980-03-31 1981-03-11 Automatic meter reading and control system

Country Status (8)

Country Link
US (1) US4315251A (en)
EP (1) EP0049276B1 (en)
JP (1) JPH0155518B2 (en)
BR (1) BR8101950A (en)
CA (1) CA1157122A (en)
DE (1) DE3163838D1 (en)
NZ (1) NZ196685A (en)
WO (1) WO1981002958A1 (en)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4504831A (en) * 1981-10-09 1985-03-12 Systems And Support, Incorporated Utility usage data and event data acquisition system
US4707852A (en) * 1981-10-09 1987-11-17 Systems And Support, Incorporated Utility usage data and event data acquisition system
US4446462A (en) * 1982-03-01 1984-05-01 General Electric Company Method and apparatus for multiple frequency transmission of information in a digital communication system
US4881070A (en) * 1985-06-21 1989-11-14 Energy Innovations, Inc. Meter reading methods and apparatus
US4720851A (en) * 1985-07-25 1988-01-19 Lectrolarm Custom Systems, Inc. Meter reader
US4856054A (en) * 1985-07-25 1989-08-08 Lectrolarm Custom Systems, Inc. Meter reader
GB2203920B (en) * 1987-04-23 1990-05-16 Iberduero Sa Telemetering system for electrical power consumed by various users
US5179376A (en) * 1991-02-28 1993-01-12 Systems Analysis And Integration, Inc. Substation load distribution monitor system
US5301122A (en) * 1992-02-12 1994-04-05 Measuring And Monitoring, Inc. Measuring and monitoring system
JPH0579854U (en) * 1992-03-30 1993-10-29 三菱電機株式会社 Circuit breaker
US5448230A (en) * 1993-06-25 1995-09-05 Metscan, Incorporated Remote data acquisition and communication system
US5517423A (en) * 1994-01-11 1996-05-14 Systems Analysis And Integration, Inc. Power distribution system control network
US5805856A (en) * 1996-05-03 1998-09-08 Jeffrey H. Hanson Supplemental heating system
US5856791A (en) * 1996-06-04 1999-01-05 M&Fc Holding Company, Inc. Port expander for utility meter reading
US6043642A (en) * 1996-08-01 2000-03-28 Siemens Power Transmission & Distribution, Inc. Watt-hour meter with communication on diagnostic error detection
US6014089A (en) * 1996-10-28 2000-01-11 Tracy Corporation Ii Method for transmitting data using a digital control channel of a wireless network
US6150955A (en) * 1996-10-28 2000-11-21 Tracy Corporation Ii Apparatus and method for transmitting data via a digital control channel of a digital wireless network
US6018449A (en) 1996-12-04 2000-01-25 Energyline Systems, L.P. Method for automated reconfiguration of a distribution system using distributed control logic and communications
AUPO918697A0 (en) 1997-09-15 1997-10-09 Canon Information Systems Research Australia Pty Ltd Enhanced information gathering apparatus and method
AU729521B2 (en) * 1997-09-15 2001-02-01 Canon Kabushiki Kaisha Content information gathering apparatus, system and method
US7486782B1 (en) 1997-09-17 2009-02-03 Roos Charles E Multifunction data port providing an interface between a digital network and electronics in residential or commercial structures
US20020120569A1 (en) * 1997-10-16 2002-08-29 Day Mark E. System and method for communication between remote locations
US5986574A (en) * 1997-10-16 1999-11-16 Peco Energy Company System and method for communication between remote locations
US6347027B1 (en) 1997-11-26 2002-02-12 Energyline Systems, Inc. Method and apparatus for automated reconfiguration of an electric power distribution system with enhanced protection
US6202000B1 (en) * 1997-12-30 2001-03-13 Samsung Electronics Co., Ltd. Monitoring system for semiconductor device fabrication facility
WO1999045510A2 (en) 1998-03-03 1999-09-10 Itron, Inc. Method and system for reading intelligent utility meters
EP1050974A3 (en) * 1999-05-03 2002-02-06 DDL Design N.V. A data communication device
US8472942B2 (en) * 2000-06-12 2013-06-25 I/O Controls Corporation System and method for facilitating diagnosis and maintenance of a mobile conveyance
US7734287B2 (en) * 2000-04-10 2010-06-08 I/O Controls Corporation System for providing remote access to diagnostic information over a wide area network
US6847916B1 (en) * 2000-06-12 2005-01-25 I/O Controls Corporation Method and system for monitoring, controlling, and locating portable devices performing remote diagnostic analysis of control network
US6757521B1 (en) 2000-06-12 2004-06-29 I/O Controls Corporation Method and system for locating and assisting portable devices performing remote diagnostic analysis of a control network
US6671636B2 (en) 2000-11-20 2003-12-30 Utility Collection Systems, Llc Apparatus, method and article of manufacture for utility monitoring
US6832135B2 (en) 2001-07-10 2004-12-14 Yingco Electronic Inc. System for remotely controlling energy distribution at local sites
US7324876B2 (en) * 2001-07-10 2008-01-29 Yingco Electronic Inc. System for remotely controlling energy distribution at local sites
US6861956B2 (en) 2001-07-10 2005-03-01 Yingco Electronic Inc. Remotely controllable wireless energy control unit
US7265652B2 (en) 2001-07-10 2007-09-04 Yingco Electronic Inc. Controllable electronic switch
AU2001100537B4 (en) * 2001-08-13 2002-03-21 Access Wireless and Cable Pty Ltd Method and apparatus for monitoring the usage of a utility
US7227350B2 (en) * 2004-03-18 2007-06-05 Elster Electricity, Llc Bias technique for electric utility meter
US20050237959A1 (en) * 2004-04-26 2005-10-27 Christopher Osterloh Mobile automatic meter reading system and method
US7535378B2 (en) * 2005-09-09 2009-05-19 Itron, Inc. RF meter reading system
US7460931B2 (en) * 2005-10-07 2008-12-02 Jay Jacobson Method and system for improving the efficiency and reliability of a power grid
US20070112694A1 (en) * 2005-11-14 2007-05-17 Sempa Power Systems Ltd. Facility energy management system
US20070282993A1 (en) * 2006-06-02 2007-12-06 Teletrol Systems Inc. Distribution of system status information using a web feed
WO2008086231A2 (en) * 2007-01-04 2008-07-17 Itron, Inc. Utility data collection and reconfigurations in a utility metering system
US20100026517A1 (en) * 2008-01-04 2010-02-04 Itron, Inc. Utility data collection and reconfigurations in a utility metering system
CN101540096B (en) * 2008-03-17 2013-08-21 吴明星 Method for managing power supply of passive meter reading system
US8269650B2 (en) 2010-04-14 2012-09-18 Itron, Inc. Meter right sizing
WO2012092509A1 (en) 2010-12-29 2012-07-05 Information Data Technologies, Llc Satellite-based low power resource meter reading systems and methods
US8810414B2 (en) * 2011-09-21 2014-08-19 Honeywell International Inc. Situational awareness system and method for disconnect switches in electrical substations
WO2017117030A1 (en) 2015-12-28 2017-07-06 Nudge Systems, LLC Fluid flow sensing systems and methods of use
US10608778B2 (en) * 2016-11-24 2020-03-31 Tendyron Corporation Data transmission method and terminal
US11041738B1 (en) * 2019-05-17 2021-06-22 James E. Mimlitz Signal activated switch for meters equipped with automatic meter reading output capability

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3622994A (en) * 1970-02-11 1971-11-23 Honeywell Inc Control and supervision system having data storage
US4012734A (en) * 1974-12-23 1977-03-15 American Science & Engineering, Inc. Synchronous power communicating
US4008458A (en) * 1975-09-05 1977-02-15 Darco Telemetering Systems Remote automatic reading system
US4135181A (en) * 1976-01-30 1979-01-16 General Electric Company Automatic remote meter reading and control system
US4161720A (en) * 1977-05-23 1979-07-17 General Electric Company Meter terminal unit for use in automatic remote meter reading and control system
US4131881A (en) * 1977-09-12 1978-12-26 Robinson Paul B Communication system including addressing apparatus for use in remotely controllable devices

Also Published As

Publication number Publication date
BR8101950A (en) 1981-10-06
EP0049276B1 (en) 1984-05-30
EP0049276A4 (en) 1982-07-19
NZ196685A (en) 1984-03-16
JPH0155518B2 (en) 1989-11-24
US4315251A (en) 1982-02-09
JPS57500447A (en) 1982-03-11
WO1981002958A1 (en) 1981-10-15
EP0049276A1 (en) 1982-04-14
DE3163838D1 (en) 1984-07-05

Similar Documents

Publication Publication Date Title
CA1157122A (en) Automatic meter reading and control system
CA1157123A (en) Automatic meter reading and control system
US4135181A (en) Automatic remote meter reading and control system
US4204195A (en) Meter terminal unit for use in automatic remote meter reading and control system
US4012734A (en) Synchronous power communicating
US4161720A (en) Meter terminal unit for use in automatic remote meter reading and control system
US4446462A (en) Method and apparatus for multiple frequency transmission of information in a digital communication system
US4204194A (en) Meter terminal unit for use in automatic remote meter reading and control system
CA1244947A (en) Control system
US4114141A (en) Digital communication system for transmitting digital information between a central station and a number of remote stations
US3445815A (en) Central to remote station signalling system
US4447872A (en) Alarm data concentration and gathering system
US3760362A (en) Oil field production automation method and apparatus
US4107656A (en) Data communication receiver and transfer apparatus
CA1286410C (en) Remote monitoring system receiver with dual baud rate selector
US4589106A (en) Data line card printed board assembly
US4181909A (en) Method and appratus for initializing remote data communication equipment
US4815119A (en) Testing transmission links
CA1123962A (en) Computer communication network adapter
JPS5922999B2 (en) Conveyance control method using phase pulse signals
US3404233A (en) Telegraph line termination means with switching from high sampling rate to low sampling rate on detection of an incoming signal
GB2110055A (en) Cordless telephone systems
US4491913A (en) Address generating device for a communication line scanning device
US4290135A (en) Circuit arrangement for receiving digital intelligence signals in a digital switching center for PCM-time-division multiplex communication networks
CA1194172A (en) Method and apparatus for multiple frequency transmission of information in a digital communication system

Legal Events

Date Code Title Description
MKEX Expiry