A MINICOMPUTER - BASED REMOTE DATA ACQUISITION SYSTEM Thesis for the" Degree of M. S. - . MICHIGAN. STATE UNIVERSITY GARY S. KRAUSE ' 197.6 ' ' " . . _ . a . ----- ------- ..... nnnnnnn ' c r u .......... - . . . . ...... urn-2v: M‘W. tan- u. an. -umm'r'l ‘ .‘r ° D . ll 1 "J 1:.th Hi LIJXKA4\}' y ‘: BINDING BY “ IIIME E SENS BLIIOK BINDEIIY INC LIBRARY BINOEHS ABSTRACT A MINICOMPUTER - BASED REMOTE DATA ACQUISITION SYSTEM BY Gary S. Krause A minicomputer-based data acquisition system has been designed, con- structed, and tested for the purpose of acquiring data from remotely- located sensors. The data is stored at a central location and is punched on paper tape once a day. In addition, data summaries are available to the user in an interactive manner. The system has two modes of operation: display and acquisition. The operator may display portions of the data base at any time on a Tele- type. In addition, real-time sample-and-display operation is permitted. Limited control functions, such as placing sensors and/or stations "ON- LINE" or "OFF-LINE" and setting the time, are also possible. Data acquisition is automatic and requires no operator intervention. The system can support 1,024 sensors arranged as 64 sensors at each of 16 remote stations. The 64 inputs are partitioned as 32 analog inputs and 32 digital inputs. The analog inputs accept a O-to-lO V signal and present an input impedance of 109 ohms. The digital inputs are 12-bit TTL levels and present an input impedence of 1 unit load/bit. The opera— tor may declare any sensor and/or remote station "OFF-LINE" either by setting the appropriate switch at the remote station or by a command on the Teletype. The remote station is connected to the central site by a Gary S. Krause ZOmA current loop on a twisted-wire pair. The data base parameters, such as sampling interval, acceptable upper and lower bounds, and parameter identifiers, are user definable and easily changed. The minimum sample period is 15 minutes. The maxi— mum sample rate is 0.5 seconds/sensor. The data base maintains a run- ning 48-hour record of the data samples and every 24 hours punches the data base on paper tape. A MINICOMPUTER - BASED REMOTE DATA ACQUISITION SYSTEM By Gary S. Krause A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Department of Electrical Engineering and Systems Science 1976 ACKNOWLEDGMENTS I would like to extend my sincere thanks to the following people for their supportive efforts in the project: Mr. Sigurd Lillivek, for writing program SDB and his aid in the construction, Mr. Walter Nester III, for his work in installing and debugging the system, Mr. Gary Bauer, for providing subroutine MANPCH, Mrs. Cindy Beard for drawing the figures and flowcharts and typing and proofreading the manuscript, and finally a special thanks to Dr. P. D. Fisher, my advisor and major professor, whose knowledge, encouragement, and patience made this work both enjoy- able and educational. ii TABLE OF CONTENTS Chapter Page I. INTRODUCTION 1.1 Background . . . . . . . . . . . . . . . . . 1 1. 2 System Description . . . . . . . . . . . . , . . 4 1. 3 Thesis Organization 4 II. SYSTEM OPERATION 2.1 Introduction . . . . . . . . 6 2.2 Data Acquisition Mode . . . . . . . . . . . . 6 2.3 Display Mode . . . . . . . . . . . . . . . . . 8 III. HARDWARE ORGANIZATION AND IMPLEMENTATION Introduction . . 15 Organization of the Remote Station . . . . . . . 15 1 Data Input . . . . . . . . . . . . . . . . . . 17 .2 Data Communications . . . . . 20 . .3 Control . . . . . . . . . . . 20 . Organization of the Central Site . . . . . . 21 . .1 'CurrentéLoop Multiplexer . . . . . . 21 . .2 AMC Interface . . , , . . . 21 . .3 AMC . . . . . 21 . .4 RTC . . . . . . . . . . . . . . . 23 . .5 HSPTP Interface . , . , , . , , . , . . . . . 23 . .6 Terminal . . . . . . . . . . . . . 23 Implementation of the Remote Station . . . . . 23 ' ' ‘ 0 o o o o UIUIUIUIUIU1UIU:n~a~c~a~a~a~e~e~uauauauaCan:unnananahaha \lO‘U‘ibWNH .1 Analog Signal Multiplexer Board . , , . , , . , 23 2 Digital Signal Multiplexer Board . . . , , . , . 27 . .3 Transmitter Board . . . . . . . . . . . . . . . 27 . .4 Receiver Board . . . . . . . , , . , . , , , . , 29 .4.1 Input Channel Selection . . . . , . . , . . . . 29 . .4.2 Data Path Integrity Test . . . . . . , . . , 31 .5 Digital Control Multiplexer Board , , , , , , 32 Implementation of the Central Site , CurrenteLoop Multiplexer . . . . . . . . . . . 35 . . AMC Interface . . . . . . . . . . . . . . . . . 35 AMC . . . . . . . . . . . . . . . . . . . . . . 39 Computer . . . . . . . . . . . . . . . . . . . . 39 RTC . . . . . . . . . . . . . . . . 40 HSPTP Interface . . . . . . . . . . . . . . . . 40 Terminal . . . . . . . . . . . . . . . . . . . . 42 wuwwwwwwwwwwwuwwwuwuwuwwwwww iii Chapter IV. SOFTWARE 4.1 Introduction . . . . . . . . 4.2 Data Base . . . . . . . . . 4.3 Data Acquisition Mode . . . 4.4 Display Mode . . . . . . . . 4.5 Software Implementation . . 4.5.1 Subroutine A . . . . . 4.5.2 Subroutine D . . . . . 4.5.3 Subroutine BUFFUP . 4.5.4 Subroutine CLRBUF . 4.5.5 Subroutine CLRHIS . . 4.5.6 Subroutine CRLF . . . 4.5.7 Subroutine FPCVT . . . 4.5.8 Subroutine GETDTA . . 4.5.9 Subroutine H . . . . . 4.5.10 Subroutine IDEC . . . 4.5.11 Subroutine IDSRCH . 4.5.12 Subroutine IKB . . . . 4.5.13 Subroutine K . . . . . 4.5.14 Subroutine PASWRD . 4.5.15 Subroutine LABEL . . . 4.5.16 Subroutine MANPCH . 4.5.17 Subroutine ODECZ . 4.5.18 Subroutine OTL . . . 4.5.19 Subroutine OTT . . . 4.5.20 Subroutine P . . . 4.5.21 Subroutine PWRUP . . . 4.5.22 Subroutine REQSEN . . 4.5.23 Subroutine REQSTA . 4.5.24 Subroutine RTCLK . 4.5.25 Subroutine S . 4.5.26 Subroutine SAMPLE 4.5.27 Subroutine STODTA . . 4.5.28 Subroutine SYSMAN . 4.5.29 Subroutine T . . . . . 4.5.30 Subroutine Tl . . 4.5.31 Subroutine T2 . . . 4.5.32 Subroutine TDUMP . . . 4.5.33 Subroutine TTYMAN . 4.5.34 Subroutine UNITS . . . CONCLUSION 5.1 Installation and Performance . 5.2 Costs . . . . . . . . . . . 5.3 Future System Modifications iv Page 44 44 49 50 52 52 56 56 57 57 57 58 58 59 59 6O 6O 61 61 61 62 62 62 63 63 64 64 65 65 66 66 67 67 67 68 68 68 74 74 75 75 77 APPENDICES Program SDB . . . . . . . Input Paper-Tape Creation . STA Instruction . . Binary Paper-Tape Creation Program SDB Listings Page 85 86 87 9O 91 Figure 1.1 2.1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 LIST OF FIGURES WQMP Lake System . . . . . . . . . . . . Printout from H command . . . . . . Star Configuration . . . . . . . . Data Input Section - Block Diagram . Valid Data Aperature Timing , . , . . . Serial Character Format Central Site - Block Diagram , Remote Station Block Diagram Remote Station Interboard Connections Remote Station Board Schematic Analog Signal Multiplexer Remote Station - Transmitter Board SChematic O O C O O O O O O C O 0 Remote Station - Receiver Board Schematic . . . . . . . . . Switch Selectable Off-line — Block Diagram , Remote Station - Digital Control Multiplexer Board Schematic Current-Loop Multiplexer - Block Diagram , Central Site - Remote Station Multiplexer Schematic AMC Interface Central Site - Tape Punch Interface Schematic vi Page 11 16 18 19 19 22 24 25 26 28 30 33 34 36 37 38 41 Figure 4.1 4.2 4.3 4.4A 4.43 4.40 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Sensor Data Block Structure . . . . Identification WOrd Structure . . . Data Acquisition Mode Logic Flow . Tape Format - Leader . . . . . . . . Tape Format - Sensor Header . . Tape Format - Data . . . . . . . . . REQUEST Switch Circuit Mbdification Central Site . . . . . . . . . . . . Central Site I/O Board . . . . . . . Remote Station . . . . . . . . . . Analog Signal Multiplexer Board . Digital Control Multiplexer Board Receiver Board . . . . . . . . . . . Transmitter Board . . . . . . . . . . vii Page 45 47 51 70 71 73 76 81 82 82 83 83 84 84 LIST OF TABLES Table Page 3.1 Remote Station Input Characteristics . . . . . . . . . 17 4.1 Base Page Allocations . . . . . . . . . . . . . . . . 53 4.2 Common Variables . . . . . . . . . . . . . . . . . . . 54 5.1 Cost Breakdown . . . . . . . . . . . . . . . . . . . 78 viii CHAPTER I INTRODUCTION 1.1 Background Requisite to the understanding and subsequent modeling and manage- ment of a physical process is the assimilation of a data base from.which a model of the process can be constructed and evaluated and the informa- tion required for managing the process abstracted. However, many systems studied are of the large-scale, distributed type, such as a manufacturing process, transportation syscem or ecosystem. These systems are charact- erized by a relatively large number of parameters to be measured scattered over a wide area, anywhere from meters to kilometers. Thus, the basic problem exists of gathering data from the monitoring points and making it available to the user in at least quasi-real time. One method of collecting data in such systems is to place a monitor- ing device, mechanical, electrical, or human, at each monitoring point. The data gathered can then be manually transported to a central location for analysis and storage. This method is in widespread use despite the obvious inefficiencies. An alternative approach is a computer-based . network where the monitoring devices communicate directly with the com— puter. This allows the almost instantaneous acquisition and display of data at a great savings in manual labor. In addition, computations or reductions on the information may be automatically performed by the com- puter obtaining information that would not be logistically feasible or even possible otherwise; data such as simultaneous rates of change of variables. Economic considerations, however, do not permit the implementation of exactly such a computer-based system. The technical problems of transmitting data reliably over long distances, such as electrical noise and line losses, impel the use of special communications circuits to overcome these difficulties. It is economically impractical to install communications circuits for every monitoring point in the system. Fortu- nately, in many systems, the parameters to be monitored are clustered together (e.g. in a transportation system where the traffic flow through an intersection is of interest). Thus, in these cases, many sensors can share a single communications circuit. Each communications circuit then relays the data to the computer. This savings is at the expense simul- tanaity of sampling. Figure 3.1 illustrates this arrangement known as a "star" configuration. A large-scale, distributed system, such as described above, is ex- emplified by the Water Quality Management Project of the Institute of Water Research at Michigan State University. This project is studying the degradation of waste products and the restoration of water quality by natural processes of secondary effluent from the East Lansing sewage treatment facility. The work is being done at a four-lake system on the MSU campus and is shown in Figure 1.1. The effluent enters lake 1 and progresses se- quentially by gravity feeding through each lake to lake 4 where it is used to spray irrigate crops. Various physical and chemical properties at the output of each lake, i.e., pH, DO, DCl, conductivity, and tur- bidity, as well as environmental data such as wind speed, wind direction, temperature, humidity, solar radiation, and soil flux, are to be moni- tored. This thesis describes the organization, design, and 5398 .33 .203 HA BEE 22, :8 E at... I Do: 5.03 I ozmumd fi II...” fl 25.96 mg: I . implementation of a minicomputer-based monitoring and display system for use in this environment. 1.2 System Description The data acquisition system (DAS) consists of remote stations, one for each cluster of sensors, and a central site. The remote stations handle the acquisition and transmission of data from the sensors to the central site where it is stored. Located at the central site are a mini- computer, which supervises the DAS, a paper-tape punch, which provides hard copy permanent storage of the data base, and a terminal, which allows the user to display the data base and exercise DAS control. Since by using this arrangement, the data acquisition is done in a matter of seconds (approximately 0.5 seconds per sensor), the data is available to the user almost instantaneously. Thus, by interpreting the data, possibly using a mathematical model, making decisions, and taking appropriate actions, the management of the ecological system is easily accomplished. 1.3 Thesis Organization This thesis describes the hardware and software necessary to build a minicomputer-based remote data acquisition system. Chapter II is the operator's manual and explains the various com- mands used to display the data and control the DAS. Chapter III illus- trates the hardware organization and implementation, including schematics of both the remote stations and the central site. Chapter IV describes the software organization with descriptions of all the subroutines. (Shapter V is the summary of the results and suggests further improvements tc>the DAS. Appendix A describes a computer program used to define the characteristics of the data base peculiar to each installation. The flowcharts for each subroutine and the listings of the subroutines are in IWR report entitled, "Computer Software for the Institute of Water Research's Minicomputer-Based Remote Data Acquisition System", dated February 1976. CHAPTER II SYSTEM OPERATION 2.1 Introduction The computer system has two operational phases: display and data acquisition. The data acquisition mode acquires the data from the sensor network and builds the data base. This mode is automatic and normally requires no operator intervention. The display mode allows the operator access to certain portions of the data base and limited system control functions. 2.2 Data Acquisition Mode The data acquisition mode supervises the acquisition and storage of data from the sensor network thus establishing a data base. In addition, the data base is punched on a paper tape once a day. Every fifteen minutes on the hour, the computer starts the data acquisition mode providing it is not currently in the display mode. If it is, the Teletype bell rings, audibly warning the command in progress must be entered within two minutes or the message "WAIT FOR SYSTEM" will terminate the display mode. The operator is then locked out until data acquisition is completed. The light on the Teletype is lit during data acquisition. Any printouts in progress are completed before termination. During acquisition, the incoming data is checked against predefined upper and lower limits for each sensor. If the data is outside of those limits, the message ****SENSOR OUT OF TOLERANCE STATION XX STATION XX HH:MM MM/DD/YY identifies the offending sensor and the time and date If a station does not respond within a set time, the message ****NO RESPONSE STATION XX HH:MM. MM/DD/YY shows the problem. After the data acquisition finishes, the data base is punched on paper tape if it is noon. At this point, the display mode is unlocked. The messages: TAPE ERROR CORRECT AND PUSH EXT SWITCH and TAPE LOW REPLACE AND PUSH EXT SWITCH identify a tape error, such as tape broken, tape jammed, or chad box full, and low tape respectively. After clearing the problem, the EXT switch on the paper tape punch must be depressed to continue. If the problem exists at the end of fifteen minutes when it is time to enter the next data acquisition mode, the tape dump is aborted. If at any time, the power to the computer fails, it ceases opera- tions until the power has been restored. When power returns, the message: SYSTEM POWER FAILURE AT HH:MM MM/DD/YY PUNCH TAPE? shows the time of the power failure and asks if the data base is to be saved on paper tape. If so, the operator enters a space and the data base is punched on the paper tape while entering a period declines. The data base is now set to 'MD', the missing data flag and the message: NEW TIME= is printed. A time and date must now be entered and termi- nated by a space according to the following format: HH:MM MM/DD/YY. The time is entered in a twenty-four hour clock. If accepted, the time and date will be echoed back on the terminal. System operation is suspended until the time and date have been correctly entered. 2.3 Display Mode The operator, using the Teletype, may access certain portions of the data base and system control. Control access requires the use of a password which one must correctly enter before the computer permits access. The operator may change the password as often as necessary to maintain system integrity. To initiate the display mode, the operator depresses the red pushbutton on the Teletype labeled REQUEST. The computer, when free to service the request, responds with the prompt symbol '>'. Next the operator, using single letter commands, begins his inquiries. One must enter data with care and accuracy since mis- takes result in the message 'A STATION= 4 (Sensor 1 at station 4 is put on-line and SENSOR= l_ the command terminated.) SENSOR= _._ STATION= . >A STATION= 2_ (All sensors at station 2 are put on-line SENSOR= A and the command terminated.) STATION= _._ COMMAND 10 'MEANING A control command declaring a sensor(s) and/or a station(s) off-line. Operation is analogous to 'A'. The sequence may be repeated as often as desired. A data command to list the last forty-eight hours or forty-eight values of data, whichever is smaller, of from one to four sensors at a single station. The data is printed with appropriate headings and is time-scaled to the sampling period of the most frequently sampled sensor. The data is printed in the same order in which the sensors were entered and proceeds from the most recent data to the oldest. MD on the printout signifies missing data. A typical printout is illustrated in Figure 2.1. The operator's responses are underscored. Note that the time of the first line is backed up to the last time the most frequently sampled sensor was interrogated, in this case 25 minutes. Sensor 10, which measures the temperature in Degrees Fahrenheit, is sampled every four hours and sensor 2, which measures the dew point in Degrees Fahrenheit is sampled every twelve hours. Note that the second line (08:00 hours) shows that at this time sensor 2 was not sampled. Also, at the tenth line (00:00 hours, midnight), sensor 2 was to be sampled, but shows missing data. ll >E STATION= l_ SENSOR= IQ_ SENSOR= 3_ SENSOR= ;_ 12:25 1/17/76 TIME TEMP DEWPT DEG F DEG F 12:00 +5.000000E+00 -1.000000E+00 08:00 +4.751362E+00 04:00 +4.701100E+00 00:00 +4.629701E+00 +0.001796E+00 20:00 +4.503479E+00 16:00 +4.572804E+00 12:00 +1.001120E+01 +5.097621E+00 08:00 +9.437550E+00 04:00 +8.213759E+00 00:00 +9.535718E+00 MD 20:00 +1.511257E+01 16:00 +1.701882E+01 Figure 2.1 Printout from H command COMMAND 12 MEANING A control command to change the system password. After entering the correct password, the new password is entered as a numeric value from 0000 to 9999 and terminated by a carriage return. The computer verifies the acceptance of the new password with the message OK. If it is not accepted, the operator must enter it again. An example is shown below. The operator's responses are underscored. NEW PW= I I I I.. (wrong terminating character) NEW PW: I I I I 0K (password accepted) A data command requesting the computer to sample a specific sensor at a station and print the properly scaled and formatted value on the Teletype. A non-existent or an off-line sensor or station will be identified by a message. The sequence may be repeated as often as desired and terminates when a period is entered in response to STATION= . An example is given below. The operator's responses are underscored. >P STATION= l SENSOR= g TEMP= +3.416280+OO DEG c STATION= . COMMAND l3 MEANING A data command to list all stations that are on-line. After the stations are listed, the operator may request a listing of the on-line sensors at any station. This sequence may be repeated as often as desired and continues until STATION= is answered with a period. An example is given below. The operator's responses are underscored. >S STATIONS 0N-LINE= o, 1, 4, 7, 10 STATION= g SENSORS ONeLINE= 1, 15, 17, 33, 63 STATION=.L A control command and a data command to print the time and date possibly making modifications. The time and date are printed and the operator asked if an update is needed. A response of a period terminates the command, while the re- sponse of a space indicates changes are required. After the correct password has been entered, the operator is asked to save the current data base. A response of a period declines while the response of a space initiates the high-speed paper-tape punch saving the data base on paper tape. The data base is now set to 'MISSING DATA' and the new time and date entered. The update must follow the follow- ing format: HH:MM MM/DD/YY COMMAND (cont'd) 14 MEANING This time must be entered in the twenty—four hour format. The sequence is terminated by a space after which the up- date will be echoed on the Teletype. If the update is entered incorrectly, it must be re-entered. All data acquisition is suspended during the time and data changes. An example is given below. The operator's response are underscored. II 12:27 1/6/76 NEW TIME? _ PW' III I.. NEW TIME= 12:28 1/6/76_ 12:28 1/6/76 This character is entered if the REQUEST switch is inad- vertantly activated. It immediately terminates the dis- play mode. CHAPTER III HARDWARE ORGANIZATION AND IMPLEMENTATION 3.1 Introduction The data acquisition system (DAS) divides into two functionally distinct units: a central site and one or more remote stations. The central site, which houses the minicomputer, the paper-tape punch, and the terminal, controls and sequences the acquisition and storage of data from the remote stations. In turn, under command of the central site, the remote stations acquire, encode, and transmit the data from the sensors located at the remote stations to the central site. There the DAS stores the data and makes it accessable to the user. By means of dedicated lines, the central site polls, randomly or sequentially, the sensors in the system. Although the central site interacts with only one remote station at a time, it can support up to sixteen remote stations. Since each remote station may include up to sixty-four sen- sors, the DAS can respond to a maximum of 1,024 sensors. Figure 3.1 illustrates this organization, known as the "star" or "satellite" configuration. 3.2 Organization of the Remote Station Each remote station comprises three functional sections: Data Input, which selects one out of the sixty-four inputs for sampling, Data Communications, which encodes and transmits the selected input 15 16 cowumum ouoaom coauoum ouoEom sowumuomwwcoo umum H.m ouswfim aofiumum ouoaom H ¢ oufim Hmuuaou coaumum ouoaom coaumum ouoaom aowumum ouoaom coauMum ouoaom coaumum muoaom 17 signal to the central site, and the Control section, which controls and sequences operations of the remote station under command of the central site. 3.2.1 Data Input Figure 3.2 shows a block diagram of the Data Input section. Of the sixty-four possible inputs, thirty-two are analog inputs (channels 0-31) and thirty-two are 12-bit digital inputs (channels 32-63). A six-bit address from the Control section, applied five hits to both 32:1 multiplexers and one bit to the 2:1 multiplexer, selects which input passes to the Data Communications section. An analog-to-digital con- verter converts the analog signal to its equivalent 12-bit representa— tion before final multiplexing to the lZ-bit word sent to the Data Communications section. The input characteristics are summarized in Table 3.1. TABLE 3.1 Remote Station Input Characteristics Analog Input Digital Input Input Voltage 0-10 volts TTL voltage levels Logic "0" 0.0-0.4 volts Logic "1" 2.4-5.0 volts Input Impedence 109 ohms 1 standard TTL load/bit Aperature Time 50 us 50 us 8 .I. Emuwman xooam I coauoom usnnH mung N.m madman aofiuoom Houusoo scum K coauoom Houuaoo Junk cowuomm Hoxofia AIIIII mc0fiumo swuasz lacs—.300 AHHJ Hmufiwan mean 08 NH Hum z noxoaa I, Iguana «H Huum aowuoom Houucou coauoom 50H m Houuaou a k acne , ullJ. Hm quo>aoo Hmuawan gunman on // lauds: woama< H woamn< nannma Hu~m H333 ‘meflH f mumsOHqusoo Hmawam Hmuamfia v Bonn muosoauaoaoo Hmawam woama< some 19 INPUT DATA x DATA VALID >x<: —-Ilus r- -'| h—ious 7F 50us seq Figure 3.3 Valid Data Aperature Timing 20 mA— ——I' I I 1 I 2 3 4 5 6 7 8 0 mA"' Start LSB MSB Stop Stop bit bit bit r; 36 2/3 ms fl Figure 3.4 Serial Character Format 20 Channels 0 to 32 are reserved for internal test purposes. An external signal, (INSMPL), indicates when valid data must be presented to the input. Figure 3.3 shows the timing of the signal. 3.2.2 Data Communications As received from the Data Input section, the twelve-bit word is unsuitable for long-distance transmission. To hold down the number of lines required to communicate the data, it is transmitted in serial form as four ASCII-encoded octal digits over a single twisted-pair wire. After the input word is broken into four groups of three bits each, five biasing bits are added to each group converting it into the appropriate ASCII-encoded octal character. Three framing bits are then added and the four characters transmitted serially at 300 Baud (most significant character first) to the central site. Figure 3.4 illus- trates the character format. 3.2.3 Control The Control section sequences and controls the functions requested by the central site. By interpretation of certain ASCII characters re- ceived over the twisted-pair wire, the Control section implements three major functions: select input channel, acquire and transmit data, and data path integrity test. These functions are elaborated in sections 3.4.4.1, 3.4.3, and 3.4.4.2 respectively. For maintenance and system development purposes, any input channel or the entire remote station may be declared "OFF-LINE" by setting the appropriate switch on the front panel of the remote station. When a sensor or a station has been declared "OFF-LINE", any data transmitted to the central site is flagged as erroneous. 21 3.3 Organization of the Central Site The central site functions as the controller, sequencer, and data concentrator for the data acquisition system in addition to providing a convenient terminus for management of the system. The central site consists of seven major functional sections as shown in Figure 3.5: current loop multiplexer, AMC interface, AMC, computer, RTC, HSPTP interface, and the system terminal. 3.3.1 Current—Loop Multiplexer The current-loop multiplexer selects one out of the sixteen remote station current loops for communications with the computer. The half- duplex current loop carries both data and commands between the central site and the remote stations. Only one remote station is active at a time. 3.3.2 AMC Interface The AMC interface circuit performs current loop matching between the half-duplex current loop of the current-loop multiplexer and the full-duplex current loop of the AMC. 3.3.3 AMC The AMC (asynchronous modem controller) is a computer I/O card which interfaces the current loop from the AMC Interface to the I/O bus of the computer. The card provides all of the timing and status information to the computer and the current loop necessary for convert- ing between the 20 mA serial data of the current loop and the eight-bit parallel format of the computer I/O bus. 22 Emummfim xooam I ouHm Hmuuaoo m.m ousmwm moamemHZH seems mDm o\H mmhmmzoo mmWHmama UHm oz< EQZDm mm I o Hoecwno OH 4 Emuwmao xuoam I cowumum ouoaom c.m omowfim woamn< Iouuamuawan “Hana onmq< mHoGOfiqucoo Hmcwww apnea woamg on. wow Isowuaucoo Hmawwm uses“ Hmufiwaa on I umxofia Ignaz: nouuo>aoo Hmuawaa Ioquoamq< onmG< Humm Hoxoae Ifiuaoz ufinINH Nm Hosanna OH . P / I w muomooom mmouvmm Hoacmno OH /K" NH uoxoaa Ideas: Hmuawan Hum Hangman HSNm uo>aooum NH nouuwa Income I l I I I I I I P ARD SLOT Co-‘wuu'r 5”: ——O PE’JIJER .‘1‘1'35 Figure 3.7 Awuoo 7": r VLTG 'P’NL DR AygfflNifile AUACHNL IDES cum. .Irtv (NAIL OG/ISEA/ Remote Station 25 Q t w d D IVL/t'l‘”; 6Y5? 5‘47"»); ANALOG GRouub (‘5‘;kp) szs 3,) ‘7’" 1:10:74, Chad) . P24gxb) ,1“, '. 3' 5., 0° "5 NLI‘S I"!") .‘;u: ;J_'7: ’IS VuIYS (OISV) FI-S 7,10 ‘5 -°"> w‘" 3: 5 IhJu,.H,Ja Interboard Connections I!" AIIV UIIO ON APPLICATION 2 n (.1. I: an Ian". 10 ff“ ~21 _r. I\J 3‘ a 5 I 4 - I 3 I 2 I 1 REVISIONS LY‘II mocmnnon I nan I AM: I -— aunt-mo I I r) .3 7‘ r- A I'( \ ‘2 3 a .. 3 '2 z w . . - . > .. e = . ~ 5 . . . 3 - y \ 2 .2 > ‘ e E ‘ o 0 " “ . . 4 4 s r. -. q a V o ‘ z i 1 2 z ,z 3 . 3 s ; . 2 > i = s = § : ‘ - :I .5 -, o -, 24 . : K, :3 '3 r x ' 3 3 v r: x f, . 2 x ‘ I u 'I - J 3 {J U ‘1 'I I O U ‘ '5 ' ‘I I I 5 ‘l I so '0 .7 .‘ .- I —- ..- 3 .- : 5 e - z t 3 . a “J .‘. 5 : ‘ X x ‘ ‘ 2 “ é! a “ I I ‘ ‘4 4 1 , , 3 5 . - . a E § 1 3 3 § ‘5 3 i i ; E ‘3 i S * 3 ”~ 0 ~ _| 7 w r x . w ‘1' V V x V K x; q g 7 q a ‘ K 3 Q (3 g q 1- 7 , J .1 I l. 1 ,_ q _ 7 I0 I 1 «I 7 3‘ 9 II. I .. 1 ., 1» r n-IA “LID-II ‘ ' I— . d“ 7‘_ {VA-”VIADQI ,_.__ AVACNUln-‘II A~A‘1~L4IIII 1’ 45..) I: ((3‘) <— ”"1 I '5 ’gIII IVA ~u.’A)Q.‘) ~- ' L H" I AVALL'Jlflihl NH‘Y AvAC»I,14.".1 ”‘1 I A~4'~A"-f7l“ Mn I, —- .. .. 3"“ DAHL "’ ‘4" I h4.~' ‘1‘” ml: AIHCIWI 41"} I ' A ll 7 _ A...» ~vr vA‘fivLI) ? :Lt. - - - “’5‘ J 771—... A K ".3 vs'l 1.41)? M‘“ __ AchAvIAwH C . .. rt- 4- v... .‘4‘~.,,Ap,_~, H . .5. ’7 {-m ‘ _._— 3) n ‘ s f... 2.134.; ——.“ L _ u «L —. A :y .. 5.» n . ’I I, \J (I 7" AI/u‘Gb-Arfl 1U ’7‘137 AI'\ ",.". ' '_" _ r A . -< I 41' A;A.~..4!x.__(} ' J "‘ 'L‘L— , c B /— Li:.x-__'- 1% Ll} W\ —4 ,3. .,:I...._A:,I; ( , “Ll '5' /‘ _ —-4 ' A'l "DA —«' I ‘ /___ _ ____11“ , .— - — A~4.M.'-‘:n) fix "‘ My — ' uSt V ‘m I Nth; Y I) All Aux/.3. {'J-oAU I. k 7...,[44 ,1;- K _t) 2.10)."! 4- ; u 5: 11:9 '1 I'M/Oh ‘ GIN~9 a-Ly Av Poua- 3.//I,. A )3 rm mu, ya.” , cw- 7 ’57" /Ov ‘V I‘I L. D '“" 99 O L) f3 .c ' any ’IJ/u/ ‘ 1.5/41! -.;c , Jov A f... Hr-l ,;;_ [_1 1-6,, I), . " p———7 W ‘5 .. I I 5% . w SHEET REVISIM STATUS ‘S... O. C A . . — l 5 ‘ 3 I 2 1 9"“ "0' unr'o'rnoI‘va .7 ~ ~ A I o o a a ”HST BlA'YIIAl urn " 5. z: 2 s I I II I i» E 3 S ‘1 turns "no I _ 2 4 ;. e :1 t Q a ‘3 ‘ "In Ann ’I' " «l 1 ~ . " "I _ 1 mt con WHEY—o. or. Inn. '5 NUT AtlY UIID 0' DIIICIIACYIVIIVAP'IOVAL 7 l u re- -o mm”. 6 I [ APPLICATION "OW-l““‘mvnnmvn nc-u / [about in" 0! 5 4 f 3 I‘ 2 I I Figure 3.8 Remote Station - Analog Signal Multiplexer Board Schematic 27 the addresses in parallel except for the chip enables which are unique for each chip. The tri-state outputs allow wire or'd connection since only one output can be active at a time. IC-l (7437) buffers the address line to prevent loading. One board is needed per remote sta— tion. 3.4.2 Digital Signal Multiplexer Board This board is not implemented in the present system. 3.4.3 Transmitter Board The transmitter board schematic is shown in Figure 3.9. A 12-bit analog-to-digital converter (ANALOG DEVICES ADClZQZ-OZB) converts the analog input bus (ANALOGDATAIN) from the analog signal multiplexer board to a 12-bit digital representation. The output of the A/D, multi- plexed with the 12-bit digital input bus (DIGDATAIN) from the digital signal multiplexer boards by the 2:1 multiplexers, IC's 3, 4, 5 (74157), generates a single 12-bit bus (DICDATA) which is the input to the trans- mitter (ANALOG DEVICES STX1003). The receipt of an ASCII '?' from the central site initiates the data acquisition and transmission sequence. This character causes a 200 ns pulse, appearing on line SEC, to trigger one—shots ICl and IC2 (9602). IC2a provides a 50 us pulse which is buffered and sent to the digital input signal sources as signal m, indicating when valid data must be present on the digital input bus. The timing of this signal is shown in Figure 3.3. ICl and IC2b trigger the conversion cycle of the A/D. At the end of the timing cycle of IC2b, a pulse sent to the transmitter (EEC) causes the transmitter to sample its inputs, format the data, and begin transmission of the data. The transmitter takes I mm if. V ¢§V pfv REV'SIONS 9‘ ‘1 Ln unearned run I m J ”3 " : " ~ Inna-now I L A v 'M 17K JJr’ A‘ X .‘:Jr; /0( ' Y Y 3’ 1 r5 1 I 3 I b no: ~rvr m 3 e . . . v Bros». 0 N 1; E x o 2: 3 A: v A g 3 if (3' damrfuuq J «V cs c 413 m Ar 52 Du M AID Mac/am; . 1 u mm no, n.“ 2 L :1 Rs 45v [Ivy ”MU srmaerv (a LIfiu‘é'Aurl [K le I-‘IT £3 '. L . “ LU \ “-wzu-uu czn — [M17 7 8/ . rn ... I- «P. : 41,;216 wY'i'l o 7'/I57 ‘7 : \ g 5 g _.4 _, - av 9502 _ OSV Biz: .QJ ‘ I @___'»16047A1~10 _3 (.1. 4. i :0 __._. . ..., .fi 1 _Q in V I} ___ ‘5‘] “r S zwn _._. 7 41w £160 :r-M a I). Du "'11 5“ Z ; 3 l ‘1 n ,7 chcu) 7‘"! pun' - .1 >5V ( \ DIGU'IAILu‘, It). :51er AL) .7! ' \_,/ ° map/7412mm A ~ Rcv Ira.» Q) F__ A/omcswz-m , 1 47 N x n - I [J "L —‘_1_““" A). l T»; x! A ») I . 2 m . | ’ fl____ 21.3.5.9‘1. : “7 N K ’5 N “ § Dzsoob __ 1‘! 5’». .‘J . U .'\.IIV . 1 Q. LA C .ns ‘2 . z I}! ';6_4‘IL9 E‘ \EPI‘M -;_, MINI-A? .. " 1 hr . ‘3 DIGG~9___O 1., It i _q s m n J L."..,mn_~1_ E” ANM‘O ‘UI .:r l ‘ D 6‘ D16 04741-40) In : "4 / ' J “m" H _ Clouamo] A__ ' 5‘ ' fl J __-____ i. 4 mnmonnor " 4a f _1 . 55 J | 4‘1“le _sl‘ D163») ,1 _. a) 3" ‘ I?) m6v4Y/‘Xl07 m.) ‘ Mn.” U ' ‘ ' —-——— 75, -— — _ Distance .3 _ I [mun-.25.. \ _ AMI-3"”: ‘3C ”-791'023 unonaamu _ 7 *5” .4 -1 ‘ l _ — :u : v Lb «I 5 71,57 group,“- i A; I 4"— A'.l.o«‘ L-vrcr) "1») 3169171211116 ‘Jll 5 . \, : . —-< 11:. 5’ ‘«—/ I) 9 mun/"My CI 777:: ' pm ‘I r———-‘ _. l AIDDLC-ufl'i.) ,-_1 " J" I a so :1 . ‘2‘: " DXG’JUD _l WV , _— 'r 1 bxswru-o: 47, ! [.5 V . _. m J‘I \_/ -. Lam..- g Mount: 0 . I 1 4M.‘D¢hu ~r Y . ——- —— >---- _‘ Alb 16 n.» '- _ A4 (1 SJ 'I g“ . _.. prunvg ngoaAI-Ag 1 . I) 1. ' “0‘ I —_ B j“ v. ,S‘ ‘ 5 D.UDAV40I(LSJ DI ' - _ I“ \ lo” _‘ .1 -o 4" l A: Gh- :3. A? C: osv [:7 CI: — g f _._. E ‘84 E} z rC’S 16v —‘ "a "l (‘GUU _‘O [u I! I DY fl 65v I " \ Diagnqxtny 311, ‘L — if: * 2 ' ' — * tsv m , . umu Alb uni-uni o ’ 5’3 ' gr; __ z —I "" H v. n “ Q s ‘ l b g j” [’1 is 11.. it): I —Z a ‘ J- i - ._ .. g? 3: ‘3 a. :2 3 v.‘ in v: " 50/305 AuMOb lelfn'. star/M 115:5145! 'lv a D In 2 ) x 2 \ \9 v, r, o 7‘ 5 ‘ ‘ o '{I N Q -l" b? A ‘5 SCL/oob a _ Auk“ Mum; )0. 51 ~O 6 VJ I . . ? v c) - C! - o 0.7,} SHEET msm STATUS may ORvflifllL - ¢ 3 2 1 [SHEET no “new" _. . I I UTESY DIAIVIIAI ADM: '— 1 r V, - Q 3 l I: CIICIIU A,” ’ ' —J t 3 f 2: : 2 Ano AP'O — V X Ill? A!IY UllO ON Dlhl-ACVIVIVVADVIOVAL APPLICATION PIOCUOI-IACYIVI'V‘I'IOVAL , Y , JllRl o REVISIONS LY. DIKID'HOH — [nun-n mung curl-no L “-M‘I Figure 3.10 Remote Station - Receiver Board Schematic 2 31 =clc$ 2 where the ASCII character= starts the sequence; the symbols Cl and C2 are two ASCII-encoded octal characters (0-7), most significant digit first, indicating the desired input channel (0-77 octal), the ASCII character $ terminates the sequence. The two characters, Cl and CZ’ are stripped of the most significant five bits. The three remaining bits of character C1 are decoded by ICS (7442) providing a l-out-of- eight selector whose outputs are sent to the multiplexer boards as chip enables for the multiplexers. The bits of 02’ buffered by IC4 (7437), are sent to the multiplexer boards and used as address lines for the multiplexers. The six bits, three to select a chip and three to select a chip input, select one unique input from the 64 possible. 3.4.4.2 Data Path Integrity Test The data path integrity test verifies to the central site that a remote station is operational. A test pattern sent to the remote sta- tion wraps around to a signal input and is transmitted back to the central site where it may be checked against the outgoing pattern for correctness. Channel 0 is internally connected providing an analog path test and channel 32 is internally connected providing a digital path test. Other channels may be tested in a like manner; however, an exter- nal jumper cable is required. The test pattern derives from the follow- ing sequence of characters received by the receiver: = P1P2C1C2$ where the ASCII characters =, C C2, and $ are as before. The symbols 1’ Ple are two ASCII-encoded alphanumeric characters whose least signifi- cant four bits are concatenated, P supplies the most significant four 1 32 bits, generating an eight-bit digital test pattern. A digital-to- analog converter (DATEL DAC—l9—BB) converts the digital test pattern to a corresponding analog voltage for testing an analog channel. A clock module (ANALOG DEVICES SCL1006) provides the clock signal to both the receiver and the transmitter chips and contains a dc-to-dc converter supplying -15 volts to the receiver and transmitter. 3.4.5 Digital Control Multiplexer Board Figure 3.11 shows the implementation of the switch—selectable 'off- line' function. With the switch in the grounded position, the corre— sponding input is 'ON-LINE'. If an input is selected that has no switch, the input will float to a logic one thus, indicating 'OFF-LINE'. The board schematic is shown in Figure 3.12. The digital control multi- plexer uses four 8:1 tri-state multiplexers (74251). The operation of the board is analogous to and operates in parallel with the analog signal multiplexer board, with the exception of IC2 (74157). The select line of IC2, a 2:1 multiplexer, is tied to the 'STATION ON-LINE' switch. If the switch is in the +5 volt position, indicating that the station is off-line, the sensor multiplexers (IC2-1C5) are forced to the tri-state mode, thus indicating all sensors are off-line. Two digital-control multiplexer boards are required per remote station. 3.5 Implementation of the Central Site The central site hardware consists of a COMPUTER AUTOMATION LSI 2/20 computer, an ASR-33 Teletype, A FACIT 4070 paper-tape punch, a COMPUTER AUTOMATION AMC I/O card, and a custom I/O card, plugging into an I/O slot of the computer, containing the current-loop multiplexer and the paper-tape punch interface. 33 ampmmsn sooam n mafianwmo manmuomflmm nouusm HH.m musmfim fihmom HmuuHEm—umum. T OH manmam use wawaaauaaz Hangman Huqo mm vumom um>fiwomm scum cH nun mnaanno _ cowumum m a mcfifllmmo coaumum >m+ I" maniac possum m mafianwwo « Homswm >m+ J—\ I REVISIONS nal mun-"Ion on! I we —— [Dunno muuo w v . -'1 Si» -i F\-_ F‘ 'd n \ (\\ \ r‘ F I A\\ ,.~ \ In“ (_, r JV .. _‘ )3 _J‘ ‘. ’.> C‘ I /l\ Ir ( v! r, \y ‘1‘ / f \7 \_j \l/ ;’ ’7) " 7 ' ,7 (.',I ‘ I ' I T] ' I ! I N i I l I ' , . i3l “‘ 'fl‘ i: l“ [S I ‘i M. In K I V I ‘* 4A “ i V ‘ V k: ~1= i. In 7: w 3' ~ = 3. D i F o f~ ME 3 . . = ~» ~ g |. ~ I: “ l-a : . \ ~ -, N N N j. 5., la IH . N N N N I ‘ .‘ Q .: ‘~ 5. :1 = ~ ‘ 3 : : -. 3 ~ =~ 2' 2 u ~ ’* \ ~ “ - ' “ : ‘ x - x w . ‘- u If I f r. “I I; \ '1 a. a. 3 g 9 I“. N ‘ i :- Q ‘ g 2 -, .q _‘ I 5 ‘3‘ 4 1‘. .4 d :V ’ 3 ., : : Z 3 3 S I. \ ‘; : I {I Q 2 , |(‘ C, : ... . — 11!, 2 3‘ ‘3 2 I: e 2 Z 2 3 2 } - a q I; 2 3: 3 —4 ‘4 2 Is .. , __ VS! 5 L——— ] . , ‘ A z p 2 1 x i x i f: I 2 .2 II x 2 a , I\ 2 3 , 7, ‘ _ . i I , .I- I L ~ \ « . .2, I’ u .: , 5. 3‘ I: . | I V ‘ I ‘ l . Iv I‘ II; J v , J” IIS‘ 1 ‘2 I ‘Y I). ‘1, ,1 ll: {I L; 3 y ‘ , .“ 1' “ 1. 1y " . S ‘I ' J I 5 ~ _< o _ . ) ‘1 _._._ A'Mt-ILIIADRI ’ l ’ 5° AUACHNIALIRI L ‘- V ‘ ‘ ° V. .on . A ., virus) 1y LL39) ,I u ‘ 5, An,-»I.LILAu41 :1 4.,AchAgr.) " A.» I’IA.‘: 74‘s} 74.21 ' ~_“ ‘- .’ u .. ADA: ma.- ; [I'M/I 4,, M, /.., 4 - -< >2 _._... .. ~ ‘ » 2 _ I .....-I 7 r-. I \H L, . _ _ i -i. l v . . ,HuLvu/‘\L;,A JI( 1* J l k, r - I I- . - I» >———— --a ’V ~u,c - b .I _ . , A ’4 A! I, D 1' :“C / (I; L__ ,r___, _4 ____- V (.wol 7 , t. '7 S . C 5 . C r.— —1 E”1)UIIUE ' -—J ~——4 — ‘—‘.‘ _‘F 7%;7 _._. ._. A~AQAULAI‘~. ~ . VJ AuAtuuchwx ) “J ‘5' 1 —4 5?“wa -,,,..__-..-._ fun». 1 _ 4W4, ,..,;4L;; _+ _— | ‘ “HUI/0m!“ .4uA:~I.t,t:..; 11‘ 7", 2') ‘ ~ .511 _.4 S‘tLrnt l- - /_ 4:... ~\" 4_ \J _ "“ ' 4U4xflui43€3 ,, QR _. 8 I .5. - I ‘ $ _l B meow Q“ I) . ”db fl! _. - p54 .—_. I ‘ '; —4 3 _._.— __ L~u..‘~y/};r-4 / - -i (Hut “/th 7 "5 ’ I! L —« oSV——-—-4' .3 —_—— _ .ntuu/Jstvl -— 'Nulb/‘liu -.- u c v 1 7y“) — fl .1 1AM 'SV " I o / L0 ~I. :‘/lolu4 —— (tunnel/151A; 7 _ $5 ‘. ’2 J 45" ———< I n 0 J > ~\.L"-,’JII~I a Suture/rut Q xm—IU “t‘ ' 9 iv, GK. I ’2' a 6 I r {3 ID ‘51! M In A 15),; * ‘ /5/l’ .- II KM»: In.” Lviur ..I 1:) 4‘5 <9-,~'/'ro‘ A lo” ‘ — 50V , :99 A L4;)ll ‘5: :in‘ 1:1. Lyln u, will”, SHEET REVISION STATUS “=32? . I ., v. "-v .,, Lia-13 a.” y... .- 5 4 3 2 1 SHEET no. 93:33:35,, I _, 7.; I 3 .3 I '_ou'.tl : . u .:w' m is..hh N 3, g 3 i c. 35 LATEST nun-u:- A"O - 1 '0 LIN-t1.» ’v. ‘ltv \3 3 V3 5 ; «71‘1” rail"; - ‘> I '—‘ F: H 1 2 " culcuo Anna 1" 'Lv I A I; Inn -. 1.747;“... 1;..‘ ‘ C) '2 - . . — ' ' AP'O A'PO ‘ ' " " " - 1 "' ' I :MuY no. on no. !! leY Auv unit) 0" onto: ACTIVIIVAPPIOVAL I r v n APPLICATION Inoculmlac IVI 1A novAL ICALI / Inna-u 1""‘7 0' “II-AIm‘” Figure 3.12 2 I Remote Station — Digital Control Multiplexer Board Schematic 1 35 3.5.1 Current-Loop Multiplexer The 16:1 current loop multiplexer consists of three function blocks as shown in Figure 3.13. The board schematic is given in Figure 3.14. The multiplexer controller is an ANALOG DEVICES SMC1007. By interpretation of the character stream on the current loop from the AMC interface,it controlsthe channel selection of the current-loop multi- plexer. The current-loop multiplexer is built of two ANALOG DEVICES SMX1004 8:1 current-loop multiplexers, which, in addition to selecting one-out-of—eight inputs for transmission, regenerates the bi-directional current loop thus acting as a repeater station. An ANALOG DEVICES SCL1006 provides the 300 Baud clock to the SMC1007. A variable power supply adjusts to provide 20 mA thru each of the current loops. Any unused inputs of the SMX1004 must be tied to the positive terminal of the power supply, taking care not to exceed the breakdown voltage of the SMX1004. The selection of an input channel is by the reception of the following sequence of ASCII characters by the SMClOO7: #C 1 where '#' is the start of sequence character and C1 is an ASCII char- acter indicating the channel number according to the following table. INPUT CHANNEL C 1 0-7 0-7 8—15 P—W 3.5.2 AMC Interface The AMC interface provides compatability between the half-duplex current loop of the current-loop multiplexer and the full-duplex current loop of the AMC card. The schematic is reproduced in Figure 3.15. 36 amuwmfia Mooam I uwxmaafiuaaz aooqluomuuao ma.m wuswwm noumuocmu xuoau F. T L To mmxmamHHADZ . m m oommpoucH noau um 02... r L . OH pmxwaawuaaz ouoaom @004 09 lucmuuso . fined \\ ma fiumum muoamm Ham scum cusumm coaaoo kaansm nosom REVISIONS Inn—I ouclunIo- I “TIT m —vanuanuuu> I I 'SV '9 a." -‘V 6~o 6~0 [5].: lat] [AK 1A1: 1A1 [w .I‘./ v '7 pr 5747100/5 5! D stucco 6:: < > D AW“ bum-n w swan/g @ cum auuwu M 017 srATde/J 83 u u 4v: a; U. C) All gravity/J. @ tau-fl - SAX/00‘] ‘3‘? AL) AM“ DEVICLI SYI’J'QVII @ 8’5] cunwr lur A? Anna/Hum) HON” Aw “mum‘u‘ 1747.10qu 3‘ c¢~rlnuu «mu: A; 3 I —-4 C'*;" 4J,'n,h‘. 3 A" 50.73:”? ["7 _— 3 " : "Jr 5% I, A” sumo»! @ A01 60! 4°! g A1 *5" [m In; in: its]; 5:“: “V ' ' 2‘77}; W ,4»; INErnAM ('6 H rcv C as my on my boy ml DI: C (an. M I.) I.» is" _._. l. m 177 um um in c” 4.3 HJM'ML” _‘ ‘ RDIN 990 AHLCU’ 5,, a 1m...” fl no If \._/ Arc nzvnmnw “7/! ,p-nur A23 57"1‘W’ 59 E LO arm‘s: 8.2 — -l—————— ') O ' luau-An -, Ixunuu c-ounuou +5v - 5 4 3 2 1 SHEET '0. o'I'IOI'Ig. .2 -, :V” , g - UTBT nun-m am _ 'fi 0 ' xubxuvn ' K:"J§L ."- ‘. :_ ' CM”: 2“ 5g, Coy-r-rzh ”Ecu- ._ I. '— J . —4 Ann”? Po- u an 9““ f“ " JVHA- . .. .. : 3) n P ‘3 m Am "- . r3 71' LN, _ : .— 0"! In"! 0. mac. ‘l . "I? “'Y ”"0 o. nun-acnnnAmovu D 979 >2 1! APPLICATION "www.m“n'umout mu I "no" jun" I o! c Figure 3.14 Central Site — Remote Station Vultiplexer Schematic 38 BOOH DZm mummumucH 02¢ mH.m muawfim HOumHomH H~Ufiuao L/L, F\J H O t a moon 02¢. 05 09 OH T .zorr4 >m+ e mumo ufiamcmua Uz< Scum 39 An optical isolator (GE 11A3) couples the two current loops. The base of transistor Q1 and the LED in the optical isolator switch in response to the output of the AMC, the AMC TRANSMIT DATA line. The photo- transistor in the optical isolator regenerates this switching action which is amplified by the darlington connection of transistor Q2. The output of Q2 then modulates the current loop to the SMClOO7, which is also in series with the AMC RECEIVE DATA line. Thus, the AMC TRANSMIT DATA line keys the input of the current-loop multiplexer and the current-loop multiplexer can key the AMC RECEIVE DATA line. Resistor R1 current limits the LED. Diode D1 prevents a back bias across the LED. The power supply connected to Q2 provides the 20 mA for the current loop. The schematic is shown in Figure 3.14. 3.5.3 AMC The AMC (asynchronous modem controller) interfaces a 20 mA current loop to the computer I/O bus. The card plugs into the motherplate of the computer. The device address and the operational characteristics are jumper programmed by an edge card connector on the rear of the AMC card. The card has been strapped to device address A in hexadecimal, eight-bit-characters preceded by start bit and proceeded by two stop bits with parity disabled. The serial data rate is set to 300 Baud. A line from the AMC lights an LED on the Teletype whenever the card is active. The operator is thus given visual verification of the data acquisition mode. 3.5.4 Computer The computer is COMPUTER AUTOMATION LSI 2/20, a general purpose, 16-bit digital computer, equipped with 8K of core memory, power fail 40 detector, a Teletype interface, and an interval timer. 3.5.5 RTC An edge card connector on the rear apron of the computer programs the interval time. Its input ties to a 120 Hz signal derived from the power line. The use of the power line instead of a crystal oscillator provides better long term accuracy. The output of the interval timer connects to an interrupt line of the computer, thus giving an interrupt every 8.33 milliseconds. 3.5.6 HSPTP Interface The HSPTP interface interfaces 3 FACIT 4070 high-speed paper-tape punch to the computer I/O bus. The paper-tape interface, illustrated in Figure 3.16, consists of eight data lines and five control lines: PUNCH INITIATE, PUNCH READY, TAPE LOW, ERRl, and EXT. When an eight-bit byte is transferred from the computer to the punch, the PUNCH INITIATE line pulses punching the data. When the punch cycle is finished, PUNCH READY is indicated. TAPE LOW cautions there is approximately 100 feet of tape left. ERRl warns that an error condition exists such as punch jammed or tape broken, and EXT is a switch on the punch which is soft- ware testable. The I/O transfer begins when the device address appears on bits 3-7 of the address bus. 1C1 (7442) decodes these bits to detect device address A in hexadecimal, the address of the interface. The least significant three bits of the address bus (0-2) are the function code indicating the operation the interface is to perform. The function code is decoded by 102 (7442) only when the interface is addressed. The function codes assigned to the board are as follows: 1 s l 4 3 l 2 l I REVISION! no can In. -— Inn—.m- ’ 0'3— 45/ lb usv 'l'loy '0 lEoo Ada) RI 9“ I ' ‘I o q 0 ,{>C2 . ‘ 7 D",— c, 7“ C: i 7" D L 004 on . .2 I.., I“. ,. ~ 3 N 9 5 7w: ‘0 [ I110 meant! ‘ ‘ ‘° __ 5, n A“: .. ”m c v D— 7/ 7’ * s 5 1J4 3' 7904 7‘02 7“: RM. 3 FC 3 Par N y ‘704 _- J‘L. " ‘ (Pm 1,» .. “T" «w p n E... a Gun—_.a '3 D: "a 7 , I a 1 ' $3 l?" 9")"- ~ Abl"/ .Iv A M ' *7 _._4 II I la ‘ I I 3 F“ a" _— bl .- ’5' .. o p— Tco ' . TI) 4’ ‘I____ B C 4:0: 42 I ’3 I: ' 60. —1 ‘3 6 G?“— W— M ‘ , / J. (1,) Abe? _l>c .‘ffif ‘43 t5 ' vsv _._. 53 6- ‘ MI Au. Am C 3'; 2" III I 7 IX) ‘ _._. M .—4 u“ "it I I 5 -‘ " a 3 (: F—E—iyb R“ I ‘I 7 I J Orr an r H ‘V ‘ ‘9’ .— e— * —q @— ¢~D v 1.! “V _d .1 SH; nu I) ,, til—An D060 — (”I 707 J’Ol _‘ I j 2 I I CHI ,2...D —‘ on -’ 45v 1 4: -I ._ I~ CL 12:: new an _.‘104 _._ " . I, ’ c 37/ 1 J O” D 1 ch; w” a DA A _____7q u .. 7475 “‘ 5 .5. — _._ «Iur um M, 5» - _._... 7 _ Etc: but ?T 3». L a: ’3' . d 3. END .__@ ‘ '3' .— D503 36-! _cmr 3M4 «Qih "Lo? '70 '2 B CH‘I + “7 M ”T 7y/5/ ’ 5“ 7‘1”] _d _ 7 I 7 We: ! ' 67 "c ~ +.sv JV, 4 “I ‘5 -I " .u.u “‘ II 1' '5 I-'/ Am): hlvld W. r. ‘@ -I '3 . m: um ARM 0" ‘ 64. . it A,“ ’ a I 3 —‘ | Ant“ 74101 .— Au 7 71 7'1' 2 3 a. __@@ W . . _ u 1 RN I “ as“ 5 , —I v a I" <9 "ll;- —I . Tnuq 7M 7437 33,70 '4 ° 4 ”I" b 2‘ V cu: ‘ 1? I)——-—-—- 3 Q B 4 u I. 1 I '-‘3 o - C“ All 44v ‘ " " —— R “0 —- a VF. ._ IM Gil n“ 5 : Dub CH7 Q > A N l -' 2 5 n I: ‘J . _._. .517. - ~——-"A.¢ _L on . I 5v y “ m m 3mm =- . \ 3:” Cu) _<::> I 6 I 2 1 “Tm. U-/,_.;I- . {:3 ‘ ' >% “C7 D——— 55’-.. a W h ’ 3 ' , ’ I) ‘5 CH: ‘) (’71: v 4 I - I $3.; an _i I ‘ ‘/ unnu- Am ‘ ‘ g ' in! A". 3 ' - ,- " Gun ‘25 "I 66. f\_ > “mu" UMIOI uuummnmu 5 79 ’2' ‘P'LIC‘Y‘ON emu-nummnmu. “MI I "I“! I“! _ .1 .u”- i I s T 4 3 I z I Figure 3.16 Central Site — Tape Punch Interface Schematic I 42 SENSE 0 TTY REQUEST 1 PUNCH READY 2 TAPE LOW 3 ERRl 4 EXT OUTPUT 3 INITIATE PUNCH SELECT 2 CLEAR TTY REQUEST Upon receipt of device address A and function code 3, signal ETT- drops low triggering one shot IC71, which, after a 200 ns delay to allow the data to settle in latchs IC 62 and 68 (7475), applies the PUNCH INITIATE signal to the punch. The PUNCH READY line is blanked by IC64 (7400) to allow for tape movement before being sent to the sense multiplexer IC70 (74151). This multiplexer is addressed by the function code and its output, after buffering by ICS (7438), ties to the SENSE input of the computer where it may be software tested. IC 11, 12, 61, and 67 (7404) buffer the address and data busses to the HSPTP interface and IC63 and 69 (7437) buffer the data lines to the punch. 3.5.7 Terminal The operator's terminal is an ASR33 Teletype modified for on/off motor control. A connector on the rear apron of the computer connects the Teletype to the computer. A software testable REQUEST switch mounts on the Teletype. The operator requests attention from the computer by using this switch. This switch shares logic with the punch interface 43 and is given by Figure 3.14. R1, R2 and C2 debounce the output of the normally open switch, which is latched by the RS flop-flop formed by 1C3 (7400). The output of the latch is sent to the sense multiplexer IC70 where it can be tested by the software. The receipt of device address A and function code 2 in a select command from the computer clears the RS flip-flop. CHAPTER IV SOFTWARE 4.1 Introduction The system software has two major functions: the building of the data base, and information display, and consequently, the software divides into two functionally separate sections: data acquisition and data display. Execution is in a foreground-background style with the data acquisition being the foreground program. 4.2 Data Base The data base consists of forty-eight hours of data from every sensor in the network. It is constructed of elements called SENSOR DATA BLOCKS. There is a unique sensor data block for each sensor in the system and contains all pertinent information concerning the sensor, such as the quantity being measured, the units in which it is measured, how often it is to be sampled, and how often the data is to be averaged, as well as storing the data from the sensor. The data saved is the average value of the data acquired during the averaging period. When the system is installed or updated, the sensor data blocks are pro- grammed into the memory using the procedure described in Appendix A. The structure of the sensor data block is shown in Figure 4.1. The first entry of the sensor data block, the identification word, identifies the sensor, the station at which the sensor is located, and 44 10 ll 12 l3 14 15 l6 17 18 19 20 45 IDENTIFICATION WORD ADDRESS OF NEXT SENSOR DATA BLOCK SAMPLE INTERVAL (minutes) HISTORY BUFFER LENGTH SUMMING BUFFER (LSW) SUMMING BUFFER (MSW) SUMMING BUFFER COUNTER UPPER TOLERANCE LOWER TOLERANCE MULTIPLIER (MSW) MULTIPLIER (LSW) OFFSET (MSW) OFFSET (LSW) LABEL (MSW) LABEL LABEL (LSW) UNITS (MSW) UNITS UNITS UNITS (LSW) DATA Figure 4.1 Sensor Data Block Structure 46 two status flags. The two status flags, if set, indicate the sensor is OFF-LINE and if so, where the OFF-LINE command originated, either from the remote station or from the operator's terminal. The structure of the identification word is illustrated in Figure 4.2. The sensor data blocks, which may be located anywhere in memory, are grouped together by station. The second word of the sensor data block strings together each sensor of that station. A table, located in lower memory (locations :EE to :FD) lists the start of the sensor data block string for each station. Each sensor data block then indi- cates the address of the next sensor data block in the string by the second word of the sensor data block. The string continues in this manner until the address of the next sensor data block is :FFFF which terminates the string. An undefined station must have :FFFF in the corresponding table entry in lower memory. The sensor data block of a station may be strung together in any order but the stations must be sequential beginning with 0. The third entry in the sensor data block is the sampling interval in minutes. The smallest sampling interval allowed is 15 minutes and the largest is 2,880 minutes (48 hours). The sampling interval must be a multiple of 15 minutes. The fourth word is the history buffer length and determines how many data points per forty-eight hours are retained. With the require— ment that forty-eight hours of data must be resident in the system and using the sampling interval specified, the averaging period can be determined by the formula: 21880 history buffer length averaging interval = in minutes 47 mmou mOmZMm ousuosuum wuoz aowumofimauamcH ~.q muawfim AH u mzHAImmov O) when it is able to service the request. Using single-letter commands, the operator can then begin ones inquiries. Detectable mistakes are flag- ged on the Teletype and after each command has been terminated, the Teletype is turned off, the request switch remaining active. If it is time to begin the data acquisition, the operator is given an audible warning allowing him two minutes to complete the command in progress before automatic termination. Any printouts in progress will be allowed to finish. 51 START Update clock and calendar to sample sensor? Sample Sensor Print error message 1;: Store data V Averaging Yes time? No No All Yes l Compute average value J. Push down history data stack J sensors v one? Figure 4.3 Data Acquisition Mode Logic Flow Yes Punch data base on paper tape. L 52 4.5 Software Implementation The computer software is programmed in assembly language on a COM- PUTER AUTOMATION LSI 2/20 minicomputer and occupies the first 4,220 words of memory exclusive of sensor data blocks. The program listings and corresponding flowcharts and the memory load map are contained in an IWR report entitled "Computer Software for the Institute of Water Research's Minicomputer-Based Remote Data Acquisition System", dated February 1976. The entry point of each subroutine is printed in the appropriate box of the flowchart. There are three possible return methods from a subroutine which are shown by the words RETURN, EXIT and ABORT in the proper box. RETURN means a normal departure from a subroutine usually to the next instruction after the calling statement. EXIT indicates departing through the ENDTTY routine which ends the display mode and shuts off the termi- nal. ABORT is an error departure; enclose the corresponding ASCII characters that are punched. A man-readable leader identifying the project, the present time and date precedes the data. A leader is then punched giving the time and date information. Next the sensor leader for the first sensor is punched identifying the station and sensor in hexadecimal, what para- meter is being measured and what units it is measured in. The sample interval in minutes is punched next followed by the number of data values. The data is then punched, most recent first, four values sep- arated by a space and followed by a carriage return and line feed. Any missing data is indicated by 'MD' being punched. Then the sensor leader for the next sensor is punched and the cycle repeats. After the data for the last sensor has been punched, is added followed by about two foot of blank tape. Return is then made. The original contents of the A and X registers are lost. Note that since the tape is punched in ASCII, it may be listed on a standard Teletype paper-tape reader. 7O (RUBOUT> YEAR (MSB) YEAR (LSB) / MONTH (MSB) MONTH (LSB) / DAY (MSB) DAY (LSB) HOURS (MSB) HOURS (LSB) MINUTES (MSB) MINUTES (LSB) (RUBOUT) Figure 4.4A Tape Format - Leader 71 3 STATION (HEX MSB) STATION (HEX LSB) SENSOR (HEX MSB) SENSOR (HEX LSB) . LABEL (MSB) LABEL LABEL LABEL LABEL LABEL (LSB) UNITS (MSB) UNITS UNITS UNITS UNITS UNITS UNITS UNITS (LSB) Figure 4.4B Tape Format - Sensor Header 72 Figure 4.4B (cont'd.) SAMPLE INTERVAL (MINUTES MSB) SAMPLE INTERVAL SAMPLE INTERVAL SAMPLE INTERVAL (LSB) BUFFER LENGTH (MSB) BUFFER LENGTH BUFFER LENGTH (LSB) 73 DATA VALUE DATA VALUE DATA VALUE DATA VALUE DATA VALUE FORMAT :X.XXXXXXE:XX Floating point number, or MD Missing data flag Figure 4.4C Tape Format - Data 74 4.5.33 Subroutine TTYMAN Calling sequence: CALL *TTYMAN Calling statement External references: ARMDAS, A, CRLF, D, H, IKB, K, OTL, OTT, P, SRTDAS, S, T Description: This routine manages the display mode. Upon entry, the Teletype motor is turned on, a prompt '>' is printed and a response is awaited. Branching is then made to the appropriate subroutine. Valid commands are: A, D, H, K, P, S, T, and '.'. No terminating character is needed. Routine ENDTTY is a part of subroutine TTYMAN. ENDTTY turns off the teletype motor, resets the flag (TTYFLG) signaling the end of the dis— play mode and checks if a data acquisition is pending. If so, it begins: If not, return is made. Routine GOOF, a part of TTYMAN, prints the message 'm+ m H a mH.w lb Ne woes» 0H e H eoH meoa > + >m+ woes moqn awesome 77 station is given in Table 5.1. 5.3 Future System Modifications There are many possible directions to expand and improve the data acquisition system. A few of them are listed below. 1) Software Improvements In the present version, there is no error checking and cor- rection. This could be added as simply as parity checking all char— acters exchanged from the computer to the remote stations, the terminal, and the paper-tape punch or as complicated as cyclic re- dundancy checksum characters (CRCC). The command repertoire can be expanded and modified to include additional features and options. The software can be modified to permit simultaneous display mode and data acquisition mode operation, thus eliminating the user lockout that currently occurs. Also, multiple users could be ac— commodated if desired. 2) Data Base Improvements The sensor data blocks could be modified to allow for non- uniform sampling periods for the same sensor. This would be par- ticularly useful where changes in data are more important than the status quo. The data base can be stored on a floppy disc or similiar mass storage medium, thus allowing memory savings. Coupling this with automatic calling abilities and a modem, the paper-tape medium can be eliminated by dumping the data base directly from the floppy disc to a large host computer such as MSU's CDC 6500 for permanentstorage. 78 TABLE 5 .1 Cost Breakdown Remote Station A) Transmitter Board STX1003 Transmitter ADC12QZ-023 A to D Convertor Miscellaneous B) Receiver Board SRXlOOS Receiver DAC—l9-8B D to A Convertor SCL1006 Clock Miscellaneous C) Digital Control Multiplexer Board Miscellaneous D) Analog Signal Multiplexer Board MM-8 Multiplexers Miscellaneous E) Hardware Cabinet Connectors Switches Power supplies Miscellaneous TOTAL COST: $1,765 Central Site Computer w/8K core memory Paper-tape Punch Teletype Cabinet SMX 1004 Multiplexer SMC 1007 Controller SCL 1006 Clock Miscellaneous TOTAL COST: $7,070 $200.00 150.00 30.00 $380.00 $200.00 30.00 70.00 30.00 $330.00 $30.00 $320.00 30.00 $350.00 $100.00 175.00 100.00 200.00 100.00 $675.00 $3,900.00 2,400.00 1,000.00 200.00 170.00 150.00 70.00 180.00 $7,070.00 79 3) Remote Station Communications The 20mA current loops could be replaced by a modem system (perhaps based on the Motorola 6860 integrated circuit). This would allow the use of standard voice grade telephone lines between the central site and the remote station. The remote stations can now be placed virtually anywhere in the country, since, by connections to the telephone system,the computer could call up and interrogate each remote station. 4) 1192. Instead of basing the system clock on the AC power line, a clock can be built that receives the NBS time signals. This would permit automatic recovery from a power failure since the operator would no longer be required to enter the time upon power up. A clock such as the one described in Radio-Electronics, July 1972 issue, is suitable. 5) Digital Signal Multiplexer Board This board multiplexes the 32 12-bit signal input busses to a single lZ-bit buss for presentation to the transmitter board. The board can be based on a tri-state multiplexer such as a 74251 (8:1), a 74253 (4:1),or a 74257 (2:1) depending on the pinout limitations of the boards it is built on. The addresses could be determined by using the upper channel enable line (CHNL32/39EN, CHNL40/47EN, CHNL48/55EN, and CHNL56/63EN) as chip enables and the address lines ANACHNLADRl, ANACHNLADRZ, and ANACHNLADR3 as input select lines for the 74251 8:1 multiplexer. 80 Work in some of the above areas is currently in progress and should be operational in late 1976. 81 :9 . _ z m. .. .--- uni. “U... -A-..-.- urn-am Figure 5.2 Central Site 82 "v o. . O. ..‘3 O'Vt‘”‘h y“: '{::l".""‘ ,. wv ' - "~a.’ s -‘ol{}§ .. .. :3 “0.1.3".- '6 . _ c . \ a ‘.v - ”Hf,“ Figure 5.3 Central Site I/O Board _' .b“. I‘I ..- vk5~mwa .~I.-.'..‘fd-l.b. o‘u’ _ '1’ .. O '- .. . | . '._-'.‘_o"y¢-'A'. u. ,_ e C . 3.5-'1. 5’ - 9-, . 3"." t b r A: ..5 o; ‘I‘; -lu’~‘u’—J- VOID-1"}? 94 ‘ cpluyo- . 4.5.5“: '~ '3: 'd-‘o- s mifihwrf ... "...-3 ‘.’.? v _ . ‘ . 'o . o o Figure 5.4 Remote Station ‘v‘; 83 ml .1 D.‘.b~ - . .. O mama: IMHO; mu). Figure 5.5 Analog Signal Multiplexer Board I)! ‘5 £5.- 50".. r J s'lw'b‘. '.b ‘ .wosfiis «N 1° ( «.6 ,o '5" {OSes-)6 . \9 ' . ”IF?! 3- .3 v , . . ‘I’I A. . J. a . . . . 4.4 II 4.14 .‘fi-".-A-:D J’ I .- . . a. . l n. - n a q ‘ n u ' ‘ ;‘\S'.’.){’ u’ - ’ ' f ”1‘. ‘0‘!- ”"9" ( ""(”/7 MI "' r I . ,t.‘ .. "éiéfifi, ’.’.")? . {fill ‘ l-I‘~ . \/.‘~" A u C ‘J ~J 4 .. '. 0cm.“ éfivr a :f n - V. 'v do}. IL I ‘ I ' o '. A4A.M.4hnp Figure 5.6 Digital Control Multiplexer Board £34 \ c}??? 's ' ,{xéfi 4‘ ; “(“V'§‘?/ ‘, "g‘. S‘J \ ‘.9‘2‘3115‘r“ 0“ 4“ .1.qu ‘ :‘fi. :-'\\.’,'-'\. mPaHu‘n .9."u'o° ‘ ‘ .~ g- ,. ..-.'. o Wc‘O' ... I €;::Hr.. . -.".fi if'f "' 3 "f °" ‘- " . ' " u ANALOG DEVICES -..". .“' EDCiqrrgt - - . 515719.15 \V.‘ cm COM/tam 5N M PAN? , .. l.":“- , . éP' '41s a J ‘. I.. O . 3‘ m ‘0 7 _o ’9 3.1031 ret’, . ES}... 0 . '4. :5'. . .---2._., .fi'oipgaw' Ill"l O ‘ 3.351». :1' ' 2’: . ". . ... "',IO""O' . ..Ialv\'\V‘II‘\‘. |," ' n'v’_.a:“ ."" ‘."‘ ’.'|'.'.‘.7‘\' {u r'r‘ I; "I ‘.'. . ‘- R 4’ l I'm/"S J. :'|./"’ /I"" 't’f‘" 3'" ' '7' /"{‘.‘-'r'” ‘ . ‘4 (Pith-174159 \ \- .:-- ‘. '.'.. zu‘l ... 0‘ . ‘.0/4‘;.ID“Q d .IollIl/l”. . “,’. ‘.“'\, ,..'a¢))J.... ’ ' ' I ' I ‘ '1' a . rc.—I"ry:¢. ‘v'd “fr;g‘o'ops’.v ... ”fl _ _ p . ' (Wing: ' it) “6". " 'o ...?)74‘” k . “e.“ .. o ' .2. - t J ‘““W* 'Efiy-eh ~. in?! h:.'1'(.“§‘{? 4n... 9.3)? ’>'. r '. A n .‘"‘ . I'd, ‘ 9 . .5," N. «I . .0‘ 41".. . . I O ‘ U n .- u, .' DI, ' ... t , I ' '- 3“- . 7 v r . , I ‘r 1 aiéiiiiiiiin €133 ANALOG DEVICES SIXlflflli .gl - o. v. .413. I DIV’CES ft‘fllillilliba'EIED ‘t 5 AN!“ 'ix ii: . . o maul! ADEIZII ~9-uor .--...-...'Z_. 6.- éiiiiiiiéibii Figure 5.8 Transmitter Board APPENDICES APPENDIX A PROGRAM SDB 85 APPENDIX A Program SDB The definition of the data base is a two part process: the first creates an input paper tape which defines the sensor data blocks and their parameters (see section 4.2), the second uses this paper tape as input to program SDB. SDB produces a binary paper tape which is then loaded into the DAS computer's memory, thus defining the data base to the data acquisition system. A.1 Input Paper-Tape Creation The input paper tape, which defines the sensor data blocks and their parameters, is created using the source tape preparation features of either the OMEGA assembler or the STP program supplied by Computer Auto- mation. Refer to the appropriate documentation for detailed instructions for using these programs. In general, input paper tapes must follow a fixed format and use the following three instructions, each separated by a blank line: ORG, STA, END. ORG defines the first memory address where the sensor data blocks should reside; STA signals that a station exists with on-line sensors; and finally, END terminates the tape. An ORG instruction must be the first entry on the input paper tape.' A new ORG may be specified for each station, however, this is not normally needed. Unless otherwise specified, the sensor data blocks are assigned 86 87 contiguously upwards in memory. The END instruction must appear exactly once as the last entry on the input paper tape. The END instruction causes SDB to punch the record of base page station address pointers as its final task: SDB then halts. The three instructions ORG, STA, and END require the following fix- ed format: a "b" represents a blank. ORG=DDDD where D = decimal digit, or ORG=:HHHH where H = hexidecimal digit STA=DD where DD = ¢-15, or STA=:H where H = G-F END . Remember that each instruction begins in column 1 and you must fol- low each instruction with a blank line. CAUTION: The ORG address must not overlap the DAS program or the DAS will not operate. A.1.1 STA Instruction Among the three legal instructions only STA requires additional in- formation: the sensor data block information for the station being de— fined. The sensor data blocks each consist of a group of eight parameters which characterize the sensor. Note that each of the eight parameters begins in column 2, and also that a blank line terminates each group. The sensor data blocks are entered in any order. The first parameter identifies the sensor number: it can vary from 1—63. bSN=DD where DD 1-63. or bSN=:HH where HH 1-3F. 88 Next, the second parameter defines the sampling interval: it must be divisible by 15. bSI=DDDD where D = decimal digit, or bSI=:HHH where H = hexidecimal digit. The third and fourth parameters indicate the upper and lower tol— erance expected on the 12-bit binary data value. Note that an analog input signal is converted to a lZ-bit unsigned binary number. It is this value that is checked. bUT=DDDD where DDDD = ¢-4¢95, or bUT=:HHH where HHH = ¢-FFF bLT=DDDD where DDDD = ¢~4¢95, or bLT=:HHH where HHH = ¢-FFF NOTE: UT-LT>¢. The fifth and sixth parameters reveal the multiplier and offset the DAS uses in its y = MPx + OF linear translation. The x variable repre- sents the 12-bit binary data value, and y equals the value of the scaled parameter in scientific units. You must express both the multiplier and offset in scientific notation. bMPéiX.XXXXXXE:XY and bOFé:X.XXXXXXE:¥Y Finally, the seventh and eight parameters denote the label and units the system uses on all print-outs. Because OMEGA and STP removes trail- ing blanks on all lines, you must right justify these fields. bLB=LLLLLL where L = ASCII character or, bUN=UUUUUUUU where U = ASCII character. The following example illustrates the correct form for the input paper tapes using OMEGA. 89 OMEGAZ (£0) ?1 o 7C1! LI 01. 7A0 ORG-:OFGO sra-xaa SNafll 51‘15 UTfltFFF LT38000 MP=+2o441466E-03 OFI+000006005+00 LBI TEMP UN'DEG FRHT STA!!! SN-OA $1830 UT-xlflfl LTIOOO MPI+204414G6E-03 OFirloGOOOOGE+OI LBIDEV PT UNIDEG FRHT SNssA $18300 UT-aa95 LTsOlz MP=+l-000000E-01 DES-5.4321988+10 LB: TEMP UN:- DEG FRET END ?PLT I F. PUNCH ON: RUN. AT HALT OFF: RUN. Figure A.1 Input Paper-Tape Creation Example 90 A.2 Binary Paper-Tape Creation At this point the input paper tape must be converted to a binary paper tape. Program SDB performs the translation and produces an abso— lute binary paper tape that can be overlayed into the DAS's memory using AUTOLOAD. Program SDB is loaded into the LSI-2 memory along with the TELETYPE UTILITY PACKAGE and the FLOATING POINT ARITHMETIC PACKAGE supplied by Computer Automation and execution begun. SDB will print out a message and stop. Here the input paper tape is placed in the paper-tape reader of the Teletype and the reader and the paper-tape punch turned on. The RUN switch on the computer is depressed and SDB will read in the input paper tape and begin processing it. If SDB detects an invalid station or sensor number of if the samp— ling interval is not a multiple of 15, it prints a message identifying the type of error and listing the offending line: the program now halts. Now, you must correct the error, prepare a new input paper tape, and re- execute SDB. As SDB processes each sensor data block, it punches out the corre- sponding binary information. When the entire input paper tape has been processed and punched, the computer halts. And you may now remove the input paper tape from the reader and the binary tape from the punch: turn off the reader and punch. As the final step then, you may load this binary tape (using AUTO— LOAD) into the DAS's computer, and resume operation with the new data base. APPENDIX B PROGRAM SDB LISTINGS 91 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 000C 0000 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 001C 0010 0018 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 0028 002E 002F F898 F897 C683 F896 00A8 F893 F892 0800 FA79 FA7F 8396 13D7 COCF F20F COD3 F380 C005 F218 CODE F262 F884 F883 C683 F882 0009 F87F F882 F878 0800 E283 1328 C204 0800 8400 0F00 C08A F202 F878 F202 0128 F876 EA79 F86C F868 F622 0110 9A76 C6FF SDB CMD ORG ORG! ORG2 EXIT NAM JST JST LAP JST DATA JST JST HLT JST JST LDA LRA CAI JMP CAI JMP CAI JMP CAI JMP JST JST LAP JST DATA JST JST JST HLT LDX LLX AXI $8M LDAB SUM CAI JMP JST JMP IXR JST STX JST JST JMP ZAR STA LAP 92 SDBoCMDaP *CRLF *CRLF :83 *OTL Ml *CRLF *CRLF LDR BGNLN *LINE 8 Io! ORG '5' *STA IE. EXIT 0'0 PAUSE *CRLF *CRLF :83 *OTL ER! *CRLF *LSTLN *CRLF LINE ORG! *DECRD once *HEXRD p *RDLINE *RDLINE CMD CKSUM :FF TERM CHAR CC PRINT M1 PUNCH LEADER READ FIRST LINE ARSFIRST CHAR OF LINE EQ NE EQ NE EQ NE EQ NEaERRORaTERM CHAR CC PRINT ER! LIST LINE XR=LINE IN BYTE SET INDEX AR=FIFTH CHAR OF LINE EQ NE: XR=VALUE XR=VALUE P=STARTING ADR OF SDB SKIP A LINE GET NEW LINE GET NEW COMMAND PUNCH LAST REC: RESET CKSUM EOF: XFER ADR 0002 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 0038 0030 003D 003E 003F 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 0048 004C 0040 004E 004F 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 0058 005C 005D 0058 005F 0060 0061 0062 0063 0064 F86F 0110 FA45 C62C FA43 C601 FA41 0110 FA3F FA3E C604 FA3C 0110 FA3A C6EE FA38 C606 FA36 0110 FA34 C610 FA32 E258 1328 C720 9A5A 0E00 8400 0F00 FA2A 0128 DA54 F606 C602 FA25 C60! FA23 0110 FA21 0110 E24C 1807 F845 0110 1807 F842 C70C 9A44 0110 F83E DA41 F602 C6FF EXIT! EXIT2 JST ZAR JST LAP JST LAP JST ZAR JST JST LAP JST ZAR JST LAP JST LAP JST ZAR JST LAP JST LDX LLX LAM STA $8M LDAB SUM JST IXR IMS JMP LAP JST LAP JST ZAR JST ZAR LDX LLL JST ZAR LLL JST LAM STA ZAR JST IMS JMP LAP *OTT PCB :20 FOR :01 FOR PCH FOR :04 FOR PCH :EE PCH :06 FOB FOR :10 PER STATBL 1 32 CTR O0 PCH CTR EXIT! :02 FOR :01 PCH PCH CKSUM *OTT *OTT 12 CTR *OTT CTR EXIT2 :FF REC MARKER LNGTH'UB LNGTH-LB BEGIN PROG TYPE CODE :01 TWO NULLS ORG TYPE CODE :04 ADR-U8 ADR-L8 DATA TYPE CODE :06 NBR WRDS'UB NBR WRDS'LB XR=STAT8L IN BYTE RESET CTR T0 '32 AR=CHAR PUNCH IT FINISHED? NO YES: END TYPE CODE 802 TRANSFER ADR 8100 AR=0 TRANSFER ADR OK AR=0 AR=CKSUM-U8 PUNCH IT AR=0 AR=CKSUM-L8 PUNCH IT RESET CTR TO '12 AR=0 PUNCH 12 NULL SPACER FINISHED? NO YES: AR=:FF 0003 0065 0066 0067 0068 0069 006A 0068 006C 0068 006E 006F 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 0078 007C 0078 007E 007F 0080 008! 0082 0083 0084 0085 0086 0087 0088 0089 008A 0088 008C 0088 008E 008F 0090 0091 F83A FA18 0800 F830 F82F C683 F82E 00D0 8235 F829 F829 F828 C683 F827 0003 F824 F600 0800 F668 0800 F826 8A2A 11D0 3201 8A28 AA26 8227 8A24 F709 0800 0118 0128 F81A 0150 F705 F604 0800 F810 C080 F602 E213 1328 0800 9000 0F00 LDR LDR! BGNLN 81 JST JST HLT JST JST LAP JST DATA LDA JST JST JST LAP JST DATA JST WAIT HLT JMP ENT JST EMA RRA JOR ADD XOR AND EMA RTN ENT ZAX IXR JST CXI RTN JMP ENT JST CAI JMP LDX LLX SBM STAB SUM 94 *OTT LDR *CRLF *CRLF :83 *OTL M2 *OHEX *CRLF *CRLF :83 *OTL M3 *CRLF CMD-1 *OTT CKSUM 1 5+2 K:80 CKSUM K:FF CKSUM PCH *OTT 80 LDR LDR! *IPT :80 $-2 LINE G0 PUNCH EOF PUNCH TRAILER TERM CHAR PRINT M2 IS ETX AR=PROG CTR PRINT IT IN HEX TERM CHAR PRINT M3 15 ETX READ NEXT TAPE PUNCH CHAR FIND CKSUM CKSUM FOUND PUNCH NULL FINISHED? YES NO SHIPS LEADER AND READS FIRST L READ CHAR NULL? E0: SKIP NULL NE XR=LINE IN BYTE STORE CHAR 0004 0092 0093 0094 0095 0096 0097 0098 0099 009A 0098 0090 009D 009E 009F 00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00A0 00AD 00AE 00AF 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008A 0088 0080 008D 008E 008F 0000 0001 0128 F807 0080 F700 F607 0080 00FF D304 C2A0 8D8A D205 0104 D9A0 D205 0104 05D2 AEAO D4D5 D20E A080 0508 0308 AOCF CEAE 8D8A 01D4 A008 0100 D4A0 020F D408 AO0F * * RDLINE OHEX CRLF OTL IPT STA LSTLN DECRD HEXRD OTT LINE STATBL * * p CTR CKSUM K:80 K:FF M! IXR JST CAI RTN JMP REF REF REF REF REF REF REF REF REF REF REF REF RES RES RES DATA DATA TEXT RES TEXT TEXT DATA TEXT 95 SET INDEX *IPT READ CHAR :80 NULL? BGNLN EQ: RTN 81 NE: STORE IT 1 l l :80 :FF 'SDB' 2:88D8A 'READY READER.- 'TURN PUNCH ONo' :8D8A 'AT HALT BOTH OFF.' 0005 0002 0003 0004 0005 0005 0007 0008 0009 000A 0008 0000 0008 000E 000F 00D0 0001 0082 0003 00D4 00D5 0006 0087 0088 00D9 00DA 00D8 00D0 00DD 00DE 00DF 0080 ERRORS 0006 BGNLN CRLF EXIT IPT LDR! M2 ORG OTT RDLINE 0606 AEAO A000 0205 03D3 AOD2 DSCE A004 0FAO 030F CED4 090E D505 A883 D08D A08A 83A0 050E 04A0 060F DSCE 04AE 83A0 090E D601 0009 C4A0 030F CDCD 010E C483 0089 0099 002D 0098 0084 00D0 001D 00A0 0097 M4 M2 M3 ER! TEXT TEXT TEXT TEXT B! CTR EXIT! K:FF LINE M3 ORG! PAUSE SDB ' PRESS RUN TO CONTINUE.’ 'P= 'END FOUND. ' 'INVALID COMMAND' 008F 00A4 004A 00A7 00A1 00D3 0027 0076 0000 CKSUM DECRD EXIT2 K:80 LSTLN M4 ORGz PCH STATBL 00A5 009E 006! 00A6 009D 0004 0029 0078 00A2 CMD ER! HEXRD LDR M1 OHEX OTL STA 000A 00D9 009F 0082 00A8 0098 009A 00A3 009C 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 0000 000D 000E 000F 0010 001! 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 0018 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 0020 0020 0028 002F 0030 0031 0032 8235 1328 C204 0800 8400 0F00 008A F202 F82E F202 0128 F820 EA4E 0030 0240 0240 F218 0000 0048 8325 9000 0048 0010 9A48 0110 9A30 F830 F82F 831A 1307 00A0 F201 F208 0A3E F822 F818 F818 F818 F818 F818 F818 F818 F818 F611 0350 9A10 F816 F316 0683 F815 0060 F814 STA STA! STA2 NWSN LSTSN XSTNBR NAM LDX LLX AXI 58M LDAB SWM CAI JMP JST JMP IXR JST STX TXA CMS CMS JMP NOP TAX LDA STA ARM STA ZAR STA JST JST LDA LRA CAI JMP JMP IMS JST JST JST JST JST dST JST JST JST JMP ARP STA JST JMP LAP dST DATA JST 97 STA:STAN8R:STATBL:LINK LINE 1 4 DU 0:: STA! *DECRD STA2 *HEXRD STANBR K:F K:0 XSTNBR *P OSTATBL NBRSEN LINK *RDLINE *RDLINE *LINE 8 I 0 5+2 LSTSN NBRSEN tPUNCH *SN *5! *UT *LT *MP *OF *LB *UN NUSN LINK *PUNCH #CMD :83 *0TL ER2 #CRLF XRSLINE IN BYTE SET INDEX AR=FIFTH CHAR OF LINE so NE: XR= STA wan XR= STA NBR ARssrA NBR VALID NBR? NO: ERROR YES XR=STA NBR AR=P FIRST SEN LINK 0K RESET NBRSEN T0 ’1 AR=0 RESET LINK TO ZERO SKIP A LINE READ NEU LINE ARsFIRST CHAR OF LINE EQ:CONTINUE NE: MUST BE A COMMAND SKIP PUNCH FIRST TIME THRU PUNCH PAST SDB AS ONE RECORD SEN NBR SAMP INT UPPER TOL LOWERE TOL MULTIPLIER OFFSET LABEL UNIT TRY FOR NEW SENSOR AR=1 SET LINK TO! PUNCH PAST SDB AS ONE RECORD FIND COMMAND TERM CHAR CC PRINT ER2 0002 0033 0034 0035 0036 0037 0038 0039 003A 0038 0030 0030 0038 003F 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 0048 0058 0050 0050 0058 005F 0060 006! 0062 0063 0064 0065 0066 0067 0068 0069 006A 0068 ERRORS F814 F812 0800 FFFF 000F 0000 00EE C908 0601 0009 04A0 0304 0104 C9CF CEAO 0805 0002 0502 A883 * 1: LINE DECRD HEXRD p IPL SN 51 UT LT MP OF L8 UN PBUF PUNCH CMD OTL CRLF LSTLN LINK RDLINE * * STATBL STANBR K:F K:0 K:EE NBRSEN # * ER2 JST JST HLT REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF REF RES RES DATA DATA DATA RES TEXT 98 *LSTLN sCRLF LIST LINE 16::FFFF 1 :F :0 :EE 1 'INVALID STATION NUMBER.‘ 0003 CMD HEXRD K30 LSTLN NBRSEN PBUF SI STA UT 0045 0038 005D 0048 005F 0043 0030 0000 003D CRLF IPL LB LSTSN NWSN PUNCH SN STAI XSTNBR 0047 003A 0041 0028 0019 0044 0038 000A 002F 99 DECRD KzEE LINE LT or p STANBR STA2 0037 005E 0036 003E 0040 0039 0058 0000 ER2 Ks? LINK MP OTL RDLINE STATBL UN 0060 0050 0049 003F 0046 004A 0043 0042 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 000C 0000 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 001E 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 002D 0800 E21E 1328 C204 0E00 B400 0F00 C08A F202 F817 F202 0128 F815 0030 D21A D21A F207 0000 B310 132F 1807 980E F808 F717 C683 F80C 0028 F808 F808 F809 0800 0040 0001 C9CE D6C1 CCC9 SN SN1 5N2 XSENBR * * RDLINE LINE DECRD REXRD STANBR PBUF IPL OTL CRLF LSTLN * * K240 K201 2k * ER3 NAM ENT LDX LLX AXI SBM LDAB SWM CAI JMP JST JMP IXR JST TXA CMS CMS JMP NOP LDA LLX LLL STA JST RTN LAP JST DATA JST JST JST HLT REF REF REF REF REF REF REF REF REF REF DATA DATA TEXT 100 SN LINE 1 4 00 232 SN1 *DECRD 5N2 *HEXRD K240 K201 XSENBR *STANBR 8 8 *PBUF *RDLINE SM 283 *OTL ER3 *CRLF *LSTLN *CRLF 240 201 FINDS SEN NBR: CREATES ID WORD AR=LINE IN BYTE SET INDEX AR=FIFTH CHAR OF LINE EQ NE: XR= SEN NBR XR=SEN NBR AR=SEN NBR VALID SEN NBR? NO: YES AR=STA NBR XR=SEN NBR IN UPPER BYTE AR=STA NBR/ SEN NBR STORE ID WORD READ NEW LINE ERROR TERM CHAR ETX PRINT ER3 LIST LINE 'INVALID SENSOR NUMBER.’ ERRORS 0002 0023 002F 0030 0031 0032 0033 0034 0035 0036 0003 CRLF IPL LSTLN SN XSENBR C4A0 D305 CED3 CFD2 AOCE D50D 0205 D2AE 83A0 0027 0025 0028 0000 0018 DECRD K201 OTL SN1 0021 002A 0026 0008 101 ER3 K240 PBUF 5N2 0028 @029 0024 000D HEXRD LINE RDLINE STANBR 0022 0020 001F 0023 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 0000 000D 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 @019 001A 0018 0010 001D 001E 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 0020 002D 002E 002F 0030 0800 E227 1328 C204 0E00 8400 0F00 C08A F202 F820 F202 0128 F81E EA23 0030 E210 C202 9000 0048 0110 1328 3108 E210 1328 1970 0031 EA19 E210 0203 8216 9000 F808 F720 0683 F808 0035 F80A F80A F808 0800 SI SI! $12 XSI * RDLINE LINE DECRD HEXRD P8UF IPL OTL CRLF LSTLN :1: * NAM ENT LDX LLX AXI 58M LDAB SWM CAI JMP JST JMP IXR JST STX TXA LDX AXI STA TAX ZAR LLX JAN LDX LLX DVD STX LDX AXI LDA STA JST RTN LAP JST DATA JST JST JST RLT REF REF REF REF REF REF REF REF REF SI:R8L LINE 1 4 CD 2:. SII *DECRD 512 *HEXRD SMPINT P8UF 2 O0 1 XSI K2880 1 SMPINT HBL PBUF 3 HBL O0 *RDLINE 51 283 *OTL ER4 *CRLF *LSTLN *CRLF 102 FIND SAMPLE INTERVAL: HBL AR=LINE IN BYTE SET INDEX AR=FIFTH CHAR OF LINE EQ NE: XR= SAM INT XRBSAM INT STORE IT AR=SAM INT XRBADR OF P8UF SET INDEX STORE SAM INT IN PBUF*2 XRBSAM INT AR=0 SET UP FOR DVDBY IS DVD K15 AR JMP IF AR NOT ZERG: ERROR AR=0: XR=2880 SET UP FOR DVD BY SI AR=REMAINDERJXR=HBL STORE HBL XR=ADR OF P8UF SET INDEX STORE HBL IN P8UF+3 PRINT ER4 LIST LINE 103 0002 0031 SMPINT RES 1 0032 000F K15 DATA IS 0033 0840 K2880 DATA 2880 0034 RBL RES 1 * 31: 0035 D301 ER4 TEXT 'SAMPLE INTERVAL NOT ' 0036 CDDO 0037 0005 0038 A009 0039 CED4 003A CSD2 0038 D601 003C 00A0 003D CECF 003E D4A0 003F CIAO TEXT 'A MULTIPLE OF 15.’ 0040 0005 0041 00D4 0042 C9D0 0043 0005 0044 AOCF 0045 C6A0 0046 8185 0047 AE83 END ERRORS 0003 CRLF 002F DECRD 002A ERA 0035 X HBL 0034 HEXRD 0028 IPL 002D K15 0032 K2880 0033 LINE 0029 LSTLN 0030 OTL 002E P8UF 0020 RDLINE 0028 X SI 0000 SII 000B SI2 000D SMPINT 0031 XSI 0021 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 0000 000D 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 001D 001E 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 ERRORS 0800 E225 1328 C204 0E00 8400 0F00 C08A F202 F81E F202 0128 F810 0030 E218 C207 9000 F814 F712 0800 E212 1328 C204 0E00 8400 0F00 C08A F202 F808 F202 0128 F809 0030 E208 C208 9000 F801 F712 UT UTl UT2 LT LT1 LT2 * * RDLINE LINE DECRD REXRD P8UF IPL NAM ENT LDX LLX AXI $8M LDA8 SUM CAI JMP JST JMP IXR JST TXA LDX AXI STA JST RTN ENT LDX LLX AXI 58M LDA8 SUM CAI JMP JST JMP IXR JST TXA LDX AXI STA JST RTN REF REF REF REF REF REF END UT:LT LINE 1 4 00 2:2 UTI *DECRD UT2 *HEXRD P8UF 7 O0 *RDLINE UT LINE 1 a 00 0:0 LT1 *DECRD L72 *HEXRD P8UF 8 Q0 *RDLINE LT 104 FINDS UPPER TOL XR=LINE IN 8YT SET INDEX AR=FIFTH CHAR IN LINE E0 NE: XR=UPPER TOL XR=UPPER TOL AR=UPPER TOL XR= PBUF+7 STORE UPPER TOL IN P8UF*7 FINDS LOUERE TOL XR'LINE IN BYTE SET INDEX ARBFIFTH CHAR 0F LINE E0 NE: XR=LOUER TOL XRBLOUER TOL ARBLOUER TOL AR=P8UF+8 STORE LOUER TOL AT P8UF+8 READ NEU LINE 105 0002 DECRD 0028 HEXRD 0029 IPL 0028 LINE 0027 LT 0013 LT1 001E LT2 0020 P8UF 002A RDLINE 0026 X UT 0000 UT1 0008 UT2 000D 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 000C 0000 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 MP:0F PBUF 9 MP1 *FLTFIL ABUF *ASF A80? 2800 *RDLINE MP P80? 11 OF1 *FLTFIL ABUF *ASF ABUF 2800 #RDLINE OF 106 FINDS MULTIPLIER XR=P8UF+9 SET UP ASF CALL FILL FLT PT ABUF NORMAL RTN: CONVERT TO 2 URD FINDS OFFSET XR=P8UF+11 SET UP ASF CALL FILL FLT PT A8UF CONVERT TO 2 URD READ NEU LINE ERRORS 0002 ABUF LINE OF1 NAM 0800 MP ENT E219 LDX C209 AXI EA04 STX F814 JST 001D DATA F813 JST 0010 DATA 0800 MP1 DATA F800 JST F70A RTN 0800 OF ENT 820E LDX 0208 AXI EA04 STX F809 JST 0010 DATA F808 JST 001D DATA 0800 OF1 DATA F802 JST F70A RTN 0800 HLT * * RDLINE REF LINE REF FLTFIL REF ASF REF P8UF REF IPL REF ABUF RES END 0010 ASF 0018 X MP 0013 P8UF 001A 0000 0018 FLTFIL 0019 MP1 0008 X RDLINE 0017 IPL OF 0010 0008 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 0000 0000 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 0018 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 0020 002E 002F 0030 0031 0032 0033 0800 E237 1328 C204 EA36 C205 EA36 E232 1328 C21A EA31 E22F 0800 8400 0F00 E220 0800 9000 0F00 8227 0228 F202 0000 F203 DA22 DA22 F60F F810 F710 0800 E21A 1328 C204 EA19 0207 EA19 E215 1328 C220 EA14 E212 0800 B400 0F00 E20F 0E00 9000 0F00 820A 0208 F202 0000 L8 L81 L82 UN NAM ENT LDX LLX AXI STX AXI STX LDX LLX AXI STX LDX SBM LDAB SUM LDX SBM STAB SUM LDA CMS JMP NOP JMP IMS IMS JMP JST RTN ENT LDX LLX AXI STX AXI STX LDX LLX AXI STX LDX SBM LDAB SUM LDX $8M STAB SUM LDA CMS JMP NOP L8:UN LINE 1 4 LDCHR 5 LSTCHR P8UF 1 26 STCHR LDCHR 90 STCHR O0 LDCHR LSTCHR 5+3 L82 LDCHR STCHR L81 *RDLINE LB LINE 1 4 LDCHR 7 LSTCHR P8UF 1 32 STCHR LDCHR O0 STCHR C0 LDCHR LSTCHR 5+3 107 FINDS AND STORES LABEL AR=LINE IN BYTE SET INDEX TO FIRST CHAR SET INDEX TO LAST CHAR XRaPBUF IN BYTE SET P8UF INDEX TO FIRST CHAR GET LOAD BYTE ADR AR=CHAR GET STORE BYTE ADR STORE CHAR AR=8YTE ADR OF CURRENT CHAR FINISHED? LT: NO CONTINUE GT EQ:YES GET NEU LOAD BYTE ADR GET NEU STORE BYTE ADR GET NEU CHAR READ NEU LINE FINDS AND STORES UNITS XR=LINE IN BYTE SET INDEX TO FIRST CHAR SET INDEX TO LAST CHAR XRSPBUF IN BYTE SET P8UF INDEX TO FIRST CHAR GET LOAD BYTE ADR ARBCHAR GET STORE BYTE ADR STORE CHAR AR=8YTE ADR OF CURRENT CHAT FINISHED? LT: NO CONTINUE GT 108 0002 0034 F717 RTN UN 80: YES RETURN 0035 DA05 IMS LDCHR GET NEU LOAD BYTE ADR 0036 DA05 IMS STCHR GET NEU STORE BYTE ADR 0037 F60F JMP UNI GET NEU CHAR a: * 0038 RDLINE REF 0039 LINE REF 003A PBUF REF * :1: 0038 LDCHR RES 1 0030 STCHR RES 1 0030 LSTCHR RES 1 END ERRORS 0003 L8 0000 L81 0008 L82 0018 LDCHR 003B LINE 0039 LSTCHR 003D PBUF 003A RDLINE 0038 STCHR 0030 X UN 0010 UNI 0028 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 000C 0000 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 001E 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 0020 0028 002F 0030 0031 0032 0033 0800 EA47 0110 9A42 9A42 FA36 00AD. F603 F201 FA32 9A30 9238 308A 8A3D 2088 8A36 1050 9A36 1051 8A34 8A31 9A30 F600 E22E 822E 00A0 0508 8220 F710 0800 EA2A 0110 9A25 9A25 FA19 00AD F603 F201 FA15 9A20 9221 3088 8A20 3088 E219 B219 00AD 0508 8217 F714 9219 3007 DECRD 11 12 I3 HEXRD H1 H2 H3 H4 NAM ENT STX ZAR STA STA JST CAI JMP JMP JST STA SUB JAP ADD JAM EMA ALA STA ALA A00 A00 STA JMP LDX LDA CAI NXR LDA RTN ENT STX ZAR STA STA JST CAI JMP JMP JST STA SUB JAP ADD JAP LDX LDA CAI NXR LDA RTN SUB JAP DECRD:HEXRD PTR V S CHAR 2-0 11 5+2 CHAR KBA homo-a c.2502 om¢:a;<<:—1m-d-< DECRD PTR CHAR 2.. H1 5+2 CHAR XR=BEGIN ADR IN BYTE STORE IT CLEAR VALUE CLEAR SIGN GET FIRST CHAR SET SIGN IF MINUS ELSE SAVE CHAR GET A CHAR SAVE CHAR TEST IF DIGIT NO NO YES: GET VALUE TIMES 10 ADD DIGIT NEU VALUE GET VALUE GET SIGN NEGATE IF '-' GET TERM CHAR XR=VALUE: ARBTERM CHAR XR=BEGIN ADR IN BYTE STORE IT CLEAR VALUE SET SIGN GET FIRST CHAR SAVE SIGN ELSE SAVE CHAR GET A CHAR SAVE CHAR TEST IF HEX MAYBE YES GET VALUE GET SIGN IF MINUS NEGATE VALUE GET TERM CHAR XR=VALUE: AR=TERM CHAR TEST IF HEX NO:EXIT ERRORS 0002 0034 0035 0036 0037 0038 0039 003A 0038 003C 0030 0038 003F 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 0048 004C 0040 0003 CHAR H2 I1 KBA 8A18 20C9 8A14 BAOE 1353 8AOC 9A08 F615 0800 EA07 E20A 0E00 B400 0F00 DA06 E201 F708 008A 000A 0000 0006 0030 0026 0004 004A 0047 H5 O**** a: a: XRSAVE V S T P TR KBA KA K0 K6 ADD JAM ADD EMA LLA ADD STA JMP ENT STX LDX SBM LDAB SUM IMS LDX RTN RES RES RES RES RES DATA DATA DATA DATA END 110 DECRD H3 I2 K0 K6 K3 NO:EXIT KA V YES: GET VALUE 4 TIMES 16 V ADD DIGIT V SAVE VALUE H2 GET NEXT CHAR READS CHAR INTO AR XRSAVE SAVE XR PTR O0 AR=CHAR SUM PTR SET FOR NEW BYTE ADR XRSAVE RESTORE XR CHAR 1 1 1 I 1 28A 2A 20 0000 HEXRD 0010 H1 0020 H4 0032 HS 0009 I3 0017 KA 0040 K6 004D PTR 0048 V 0046 XRSAVE 0021 0037 0048 0049 0045 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 0000 ERRORS 0002 IPL RDLINE 0800 0680 F808 0000 F704 0800 0680 F802 0000 F704 000A 0005 LSTLN RDLINE IPL OTL LINE X NAM ENT LAP JST DATA RTN ENT LAP JST DATA RTN REF REF RES END LINE 111 LSTLN:LINE:RDLINE LIST LINE 880 TERM CHAR IS NULL *OTL PRINT LINE LINE LSTLN 880 TERM CHAR NULL *IPL READ A LINE LINE RDLINE 25 0000 X LSTLN 0000 OTL 0008 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 000C 0000 0008 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 001E 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 0020 002E 002F 0030 0031 0800 0110 9A74 C6FF F859 0110 FA46 C639 FA44 C601 FA42 0110 FA40 FA3F C604 FA30 0110 E348 1807 FA39 0110 1807 FA36 C606 FA34 0110 FA32 C614 FA30 8342 8A59 8841 983F 0008 B33F 3101 E338 EA3E 0108 8500 0063 1307 FA23 8500 0063 824E FA20 0128 0114 F201 F609 0608 PUNCH PNCH1 PNOH2 NAM ENT ZAR STA LAP JST ZAR JST LAP JST LAP JST ZAR JST JST LAP JST ZAR LDX LLL JST ZAR LLL JST LAP JST ZAR JST LAP JST LDA A00 A00 STA XRM LDA JAN LDX STX ZXR LDA LRA JST LDA AND JST IXR 0X1 JMP JMP LAP PUNCH:PBUF CKSUM 2FF *OTT PCH 239 PCH 201 PCH PCH PCH 204 PCH *P 8 PCR 8 PCH 206 PCH PCH 214 PCH *P 1(214 *HBL *P *LINK 5+2 *P PBUF+1 GPBUF 8 PCH OPBUF K2FF PCH 20 PNCH2 PNCH1 208 PUNCHES SDB AS ONE RECORD RESET CKSUM RECOD MARKER REC LNGTH FIRST BYTE ZERO REC LNGTH SECOND BYTE 239 BEGIN PROG TYPE CODE :01 TWO NULLS ORG TYPE CODE :04 AR=0 XR=P AR=UPPER BYTE OF P ORG FIRST BYTE AR=0 ARBLOUER BYTE OF P ORG SECOND BYTE DATA TYPE CODE :06 AR=0 FIRST BYTE OF LNGTH ZERO SECOND BYTE OF LNGTH 214 CORRECT P COUNTER AR=P+214 AR=P+214+HBL P COUNTER OK XR=2FFFF TERM LINK IF LINK=0 NORMAL: JMP AR NOT ZERO USE P FOR LINK LINK Now SET XR=0 IF LINK NOT AR=UPPER BYT PUNCH IT AR=LOUER BYTE PUNCH IT DONE? EQ: YES NE: N0 CONTINUE 0002 0032 0033 0034 0035 0036 0037 0038 0039 003A 0038 0030 0030 0038 003F 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 0048 004C 0040 004E 004F 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 0058 0050 0050 005E 005F 0060 FA1A 0110 E320 1807 FA16 0110 1807 FA13 C600 FA11 0110 FAOF C602 FAOD C6FF FA08 FAOA 0110 E232 1807 F817 0110 1807 F814 FAOC F813 F740 0800 F80F 8A27 1100 3201 8A26 AA23 8225 BA21 F709 0800 0118 0128 0100 F704 F801 F604 PCH SPR SPR1 OTT CRLF JST ZAR LDX LLL JST ZAR LLL JST LAP JST ZAR JST LAP JST LAP JST JST ZAR LDX LLL JST ZAR LLL JST JST JST RTN ENT JST EMA RRA JOR ADD XOR AND EMA RTN ENT ZAX IXR CXI RTN JST JMP REF REF REF PCH *HBL PCH PCH 280 PCH PCH 202 PCH 2FF PCH PCH CKSUM *OTT *OTT SPR *CRLF PUNCH *OTT CKSUM 5+2 K280 CKSUM K2FF CKSUM PCH 13 SPR *OTT SPR1 113 RES TYPE CODE :08 AR=0 XR=HBL ARBHBL UPPER BYTE PUNCH IT AR=0 ARBHBL LOUER BYTE PUNCH IT PUNCH FIRST BYTE OF CONSTANT AR=0 PUNCH SECOND BYTE OF CONSTANT END TYPE CODE :02 PUNCH IT NO TRANSFER ADRESS AR=0 AR=CKSUM UPPER BYTE PUNCH IT AR=0KSUM LOWER BYTE PUNCH IT PUNCH 12 NULL SPACER PUT CARRIAGE BACK TO LEFT PUNCHES AR AND FINDS CKSUM PUNCH AR FIND CKSUM CKSUM FOUND PUNCHES 12 NULL SPACER FINISHED? EQ: YES EXIT NE: N0 PUNCH NULL CONTINUE 0003 0061 0062 0063 0077 0078 0079 007A ERRORS 0004 CKSUM K214 PBUF PUNCH 0000 0014 0080 00FF 0077 0078 0063 0000 114 HBL REF LINK REF * * PBUF RES CKSUM RES K214 DATA K280 DATA K2FF DATA END CRLF K280 PCH 9 20:0 1 214 280 2FF 005F HBL 0079 LINK 0040 PNCH1 0060 SPR 0061 0062 0027 0057 K2FF OTT PNCH2 SPR1 007A 0058 0031 0059 0001 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 0008 000C 0000 0008 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 0018 0010 0010 0018 001F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 0028 002C 0020 0028 002F 0030 0031 0032 0033 0800 FA37 8702 DE03 1350 9A70 9A70 FA40 DA6D FA37 00AD F206 FA61 DA68 FA58 DA66 DA64 F205 FA54 E262 C301 EA60 F600 FA29 0005 F203 FA53 FA48 F605 8259 C20A 080A 9A55 C605 FA44 FAlD 00AD F205 FA47 DA4E DA4D FA30 F204 FA38 FA14 FA40 F606 FA11 FA30 E244 00A8 0E00 FLTFIL LOOPl NEGI NXTCHR FNDEXP LOOP2 NEG2 RSTEXP NAM ENT JST LDA IMS LLA STA STA JST IMS JST CAI JMP JST IMS JST IMS IMS JMP JST LDX SXI STX JMP JST CAI JMP JST JST JMP LDA AXI AAI STA LAP JST JST CAI JMP JST IMS IMS JST JMP JST JST JST JMP JST JST LDX DXR SBM 115 FLTFIL INCHR *FLTFIL FLTFIL 1 BYTE BYTE1 INIT BYTE CHAR 2-0 N801 VALID BYTE STORE BYTE PTR NXTCHR STORE BYTE 1 BYTE LOOPI CHAR IE! FNDEXP VALID STORE NXTCHR BYTE1 10 10 BYTE 'E' STORE CHAR 2-0 NEG2 VALID BYTE BYTE STORE RSTEXP STORE CHAR VALID LOOP2 CHAR VALID BYTE INITIALIZE CHAR SET RETURN ADR AR=ABUF IN BYTE INITIALIZE ABUF SKIP BLANK AR=CHAR E0: NEG NBR FOUND NE: VALID DIGIT? YES: SKIP SIGN STORE CHAR SKIP PERIOD GET REST OF NBR SET BYTE BACK 1 CONTINUE AR=NEXT CHAR E0: FIND EXP NE:VALID DIGIT? YES: STORE DIGIT SET BYTE ADR FOR EXP SET BYTE ADR FOR EXP RESTORE 'E' AR=CHAR IN ABUF EA: NEG EXP FOUND NE: VALID DIGIT? SKIP SIGN SKIP FIRST DIGIT OF EXP RIGHT JUSTIFY CHAR IN EXP GET REST OF EXP STORE '-' GET EXP VALID DIGIT? AR=CHAR VALID DIGIT? YES SET INDEX FOR 13TH CHAR 0002 0034 0035 0036 0037 0038 0039 003A 0038 0030 0030 0038 003F 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 0048 004C 0040 0048 004F 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 0058 0050 0050 0658 005F 0060 0061 0062 0063 0064 0065 0066 0067 0068 8000 00A8 9000 0F00 F738 0800 8239 1350 C404 EA37 8A36 9A35 F707 0800 E232 0E00 8400 0F00 DA2E F706 0800 E220 C6A0 FA15 C6A8 FA13 C680 FA11 C6AE FAOF C680 FAOD FAOC FA08 FAOA FA09 FA08 C605 FA06 C6AB FA04 C680 FA02 FA01 F718 0800 0E00 9000 0F00 0128 F705 0800 E200 INCHR CHAR INIT STR STORE EMAB DXR STAB SUM RTN ENT LDA LLA LXP STX ADD STA RTN ENT LDX SBM LDAB SUM IMS RTN ENT LDX LAP JST LAP JST LAP JST LAP JST LAP JST JST JST JST JST JST LAP JST LAP JST LAP JST JST RTN ENT SBM STAB SUM IXR RTN ENT LDX O0 O0 FLTFIL LINE 1 4 PTR PTR PTR INCHR PTR .0 PTR CHAR BYTE1 O O STR 0+. STR 0g. STR 0 O STR .0. STR STR STR STR STR STR IE. STR 0*. STR 060 STR STR INIT STR BYTE SUITCH EXP DIGITS EXP NOU OK AR=LINE IN BYTE PTR=BEGIN BYTE ADR OF LINE SET INDEX AR=CHAR SET FOR NEXT LOAD SET INDEX GGQQQQ 1"‘1 STORE CHAR SET INDEX SET INDEX 0003 0069 006A 0068 006C 0060 0068 006F 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 ERRORS 0004 ASCIIO CHAR INIT NEGI RSTEXP 0800 9000 0F00 DA09 F706 0800 D208 0208 F771 0000 F705 0089 0080 0079 0041 0048 0012 002F SBM STAB SUM IMS RTN VALID ENT CMS CMS RTN NOP RTN a: :1: LINE REF PTR RES BYTE RES BYTE1 RES ASCII9 DATA ASCIIO DATA END ASCII9 X FLTFIL LINE NEG2 STORE 00 BYTE STORE ASCII9 ASCIIO FLTFIL VALID 0...— '9' '6. 0078 0000 0074 0028 0067 117 STORE CHAR 0oLToDIGIToGT-9 NO YES BYTE 0076 FNDEXP 0010 LOOP! 0009 NXTCHR 0017 STR 0061 BYTE1 INCHR LOOP2 PTR VALID 0077 0039 0028 0075 006E I I I I I I I