Local area network data transfer system4751648Abstract A data monitoring system includes a display unit for communicating with an operation that has characteristics which are to be monitored, a recording unit located remotely from the environment of the monitored operation, and a local area network interconnect circuit for connecting the display and recording units. The local area network circuit allows multiple display units to be connected to a single pair of electrical conductors. Each display unit has at least one dual microcomputer configuration interconnected by a shared dual port random access memory. A third microcomputer is located in the recording unit for communicating over the local area network circuit with one of the microcomputers in the display unit. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
______________________________________
0 Upper Display, First Digit (Leftmost)
1 Upper Display, Second Digit
2 Upper Display, Third Digit
3 Upper Display, Fourth Digit
4 Upper Display, Fifth Digit
5 Upper Display, Sixth Digit (Rightmost)
6 Lower Display, First Digit (Leftmost)
7 Lower Display, Second Digit
8 Lower Display, Third Digit
9 Lower Display, Fourth Digit
10 Lower Display, Fifth Digit
11 Lower Display, Sixth Digit (Rightmost)
12 Lower Display Decimal Point
13 Upper Display Decimal Point
14 Unused
15 Unused
The digits displayed are:
0 = `0` 8 = `8`
1 = `1` 9 = `9`
2 = `2` 10 = `L`
3 = `3` 11 = `H`
4 = `4` 12 = `P`
5 = `5` 13 = `A`
6 = `6` 14 = `--`
7 = `7` 15 = BLANK
______________________________________
This board is driven by the microprocessor 52 through the I/O port 60. The board requires +5 VDC for operation. Microcomputer Board 90 The control microcomputer board 90 is shown in FIGS. 7A-7B; its major components are an 80C85 CPU (the microprocessor 52), an 81C55 RAM/IO/Timer (the I/O means 60), an 82C53 triple counter (the counter means 46), a 27C256 EPROM (the program storage means 54), an 82C51 UART (part of the serial transmitter and receiver means 58), and two AD558 eight-bit DAC's (the digital to analog converter means 68): 80C85--CMOS version of the Intel 8085. Address range is 65,536 bytes. Word length is eight bits. Interrupts are RST7.5 and RST5.5 (used as the interrupt for a debugging program). All other interrupts are disabled. The crystal frequency is 3,579,545 Hz. The CPU clock frequency is 1/2 the crystal frequency. RST7.5 should occur ten times per second. RST5.5 should be always low. 81C55--CMOS version of the Intel 8155. It has two eight-bit ports, a 6-bit port, and a 14-bit timer. The timer divides the CPU clock down that is used by the 82C51 in determining a baud rate. The ports are divided into two eight-bit ports and one six-bit port as follows: Port A=8 bits Port B=8 bits Port C=6 bits Port A is used for controlling the display 64, and the upper half of Port B and the lower four bits of Port C get a key value from the keyboard 66 by a scanning of the rows and columns. The rest of Ports B and C are used for control functions on the input/output/power board 92 and the memory board 96. The lower four bits of Port B are latched by the two upper bits of Port C on the input/output/power board 92. Only bit 4 of Port C is used for latching and it only latches bits 1 and 0 of Port B. The Port Addresses are: Control=70H (160 OCTAL) Port A=71H (161) Port B=72H (162) Port C=73H (163) TIMERLO=74H (164) TIMERHI=75H (165) 82C53--CMOS version of the Intel 8253. This is a triple sixteen-bit counter. Counter 0 is used to generate the RST7.5 interrupts. The input to the Counter 0 is a frequency derived from a 4020 ripple counter running of the CPU clock. This 4020 also generates 60 Hz for the display board 88 backplane. The frequency going into the Counter 0 is the CPU clock divided by 32. Counter 2 is connected to the output of the density amp and square on the input/output/power board 92 or the VFC100 or regular amp and square (selectable through the 4052 analog switch 48 in FIG. 8A). Counter 1 is connected to the voltage to frequency converter for channel 1 or the amp and square (selectable through the 4052 analog switch 48 in FIG. 8A). Counter 1 was designed to work with the voltage to frequency converters to measure pressure on a 4-20 mA signal. While this chip has three sixteen-bit counters and one control register, it only takes up four port addresses. They are: Control Reg=63 hex (143 octal) Counter 2=62 hex (142 octal) Counter 1=61 hex (140 octal) Counter 0=60 hex (140 octal) Reading twice from the counter address obtains a sixteen-bit counter result. 27C256--CMOS 32768 X eight-bit EPROM. This EPROM occupies Memory Region 0-7FFF hex (77777 octal). It has interrupt jump instructions, the debug program, and a lookup table for the keyboard along with the main PASCAL operating program. 82C51--CMOS version of the Intel 8251. This chip is a programmable communication interface. It is used for serial communications to external devices. The input/output lines (3, 17, 19, 23) are buffered on the input/output/power board. The port address for the 82C51: Control Status Register=51 hex (121 octal) Data Register=50 hex (120 octal) AD558--These eight-bit DAC's provide a 0-2.55 volt output that is controlled by an eight-bit word from the CPU. The port addresses are: Channel 1=40 hex (100 octal) Channel 2=30 hex (60 octal) Three other chips are on this board along with several connectors. The 74HC138 chip 106 is a CMOS decoder similar to the 74LS138. It decodes the CPU port address space into eight blocks: the first three blocks are unused; the fourth is used by the channel 2, eight-bit DAC; the fifth block is for the channel 1, eight-bit DAC; the sixth is for the 82C51; the seventh is used for the 82C53; and the eighth block is used for the 82C55. The 74HC373 chip 107 is used for latching the lower eight bits of address. This is a requirement from the 80C85 bus structure. The 4020 chip 108 is used to divide the system clock for interrupt timer and LCD backplane. Input/Output/Power Board 92 The input/output/power board 92 shown in FIGS. 8A-8C has the functions required for conditioning of (a) external power, (b) 4-20 mA signals, (c) low level, low frequency pulses, (d) high level high, frequency pulses, (e) RS-422 buffering, and (f) analog output switching. It provides the path for signals to move into or out of the housing 78 of the module 43. The VFC100 (the voltage to frequency converter 42--FIG. 8A) is for the 4-20 mA conversion. The LM211's and LM219 (the amplify and square means 44--FIG. 8C) are for the frequency conditioning. The JB1, JB2, JB3 jumpers on the board select between a flowmeter signal or a digital p/m tube from the densometer. The 7805 device 110 (FIG. 8A) takes the raw battery voltage obtained through the connector 38 down to a regulated five volts. The DC-DC converter 112 changes the voltage to + and -15 volts. The power cube 114 changes the voltage to about 90 VAC. This is used to backlight the displays 100, 102. The DS1691 chip 116 (part of the serial transmitter and receiver means 58) buffers the RS-423 or RS-422 output. The 78C120 chip 118 (another part of the means 58) receives serial signals from external devices. Jumper JB4 selects RS-423 or RS-422 transmission. The 74HC75 chips 120, 122 are latches that are used to turn the analog switches 62 on and off. Random Access Memory Board 96 The random access memory board 96 has eight 8K.times.8-bit CMOS static RAM chips 124 as shown in FIGS. 9A-9B. The decoding of the chips 124 is done by a 74HC138 chip 126. The switches 127 on the board make it possible to be bank selected by the 81C55 on the CPU board 90. For battery backup to retain the contents of the chips 124 in the event of a primary power outage, the battery jumper should be in place and the LM393 dual comparators 128a, 128b should be in place. Local Area Network Board 94 The circuit of the this microprocessor-based local area network board 94 shown in FIGS. 10A-10B runs a program stored in an EPROM (the program storage means 72). This program transfers information from a dual port RAM (the random access memory 50) out RS-485 line drivers to the cable 16, and it receives data from the RS-485 line of the cable 16 and places it in the dual port RAM. The principal components of this board include: 7130--(dual port RAM 50) 1K of static RAM which can be accessed by both microprocessors 52, 70. It is decoded at location F800-FBFF in the data acquisition module 43 and E800-EBFF in the recording unit 14. Z80--(microprocessor 70) A CMOS 8-bit microprocessor which does all calculations and executes instructions to satisfy a part of SDLC LAN protocol to transmit data over an RS-485 balanced line (the twisted pair of conductors in the cable 16). 27C256--(program storage means 72) 32K EPROM for software storage. SIO--(chip 129, part of serial input/output means 76) Changes data from serial to parallel and vice versa and implements part of the hardware requirements for the SDLC protocol. 6264--(random access memory 74) 8K CMOS RAM at memory location 8000-9FFF for microprocessor stack, scratch pad, etc. DS3695--(devices 130, 131 part of serial input/output means 76) Data and clock conditioners to meet RS-485 hardware requirements for high speed serial transmission over a balanced line. Terminator Board 98 The receptacle member 80 of the housing 78 has a permanently connected printed circuit board (the terminator board 98) that connects the outside world with the internal circuitry of the data acquisition module 43 by pins ultrasonically welded through the back of the shell. These pins are then soldered to the terminator board 98. A 34-pin ribbon cable carries the signals up to the other boards in the module 43. Although the data acquisition module 43 forms an integral part of the overall data acquisition system described herein, the module 43 can be used in a stand-alone data acquisition mode. For example, the module 43 can be connected to a transducer and a power supply and allowed to collect data and retain the data in its internal memory. This same module can be used from job to job to collect and internally store data from the various jobs (making sure that the maximum internal storage capacity is not exceeded so that data from the earlier jobs are not overwritten and lost). At some suitable future time, this module can be connected to a suitable device, such as the recording unit 14, for transferring the data which have been collected and stored in the module. The data acquisition module 43 can also be used as a controller for outputting control signals to control the monitored process, for example. With respect to the illustrated preferred embodiment, control signals can be provided through the analog switches 62 or the digital to analog converters 68, for example. Recording Unit 14 The recording unit 14 is shown in FIG. 2B as including a local area network board 132 constructed similarly to the board 94 in the data acquisition module 43 of the display unit 2. The circuit 132 couples with the local area network cable 16. The recording unit 14 also includes a single board microcomputer system 134 utilizing two floppy disk drives. FIG. 2B shows that the microcomputer system 134 includes a Z80 microprocessor 136, a 4K EPROM 138 for program storage, and a dual floppy disk controller and drive means 140 for receiving a magnetic storage disk (particularly, a miniature floppy diskette in the preferred embodiment) on which at least part of the information received from the display unit 2 is to be stored. The microcomputer system 134 also includes a monitor interface circuit including another EPROM 142, a video random access memory 144, and a CRT controller 146. A parallel input/output circuit 148 communicates with a keyboard 150 and a printer 152. A serial input/output circuit 151 provides a communication path to external devices, such as a remote computer. A 128K random access memory 153, having a memory management chip (MMC), is also included in the recording unit 14. These elements are of types as known to the art. Particularly, the single board microcomputer system 134 of the preferred embodiment is the Model MSC-ICO single board computer from Mountain Side Computer. The aforementioned elements of the recording unit 14 are contained in a portable housing 154 as shown in FIGS. 11-14 (it is to be noted that in other specific implementations of the recording unit 14, the components can be positioned differently in the housing 154, such as by moving the keyboard 150 and the printer 152 to the left side and moving the disk drive to the right side, which left and right sides are as the housing 154 is oriented in FIG. 11, for example). The housing 154 is a suitable carrying case including a body 156, a removable lid 158 and two connectors 160, 162. The connector 160 couples with the local area network cable 16, and the connector 162 couples with the power cable 40, which as previously described runs to the display unit 2 or to a closer external power supply. The disk drives of the means 140, the keyboard 150 and the printer 152 of the recording unit 14 are mounted in the housing 154 as indicated by their identifying reference numerals shown in FIGS. 11, 13 and 14. The circuit boards containing the LAN connections and the single board computer are mounted below the illustrated components as indicated in FIGS. 13 and 14. The floppy disk drive is used in the preferred embodiment to record data every one second with respect to each data acquisition module 43 so that a complete history is obtained. A total of seven hours of storage can be placed on one of the floppy disks used in the preferred embodiment. In this preferred embodiment, the floppy disk drive is a Sony Model MP-F53W drive. The printer 150 is an Epson HS-80 printer controlled for creating strip chart-like printouts. The keyboard 152 is an Advanced Input Devices Model MK-059 alphanumeric encoded keyboard. Local Area Network Cable 16 The local area network means has been previously described as being embodied in the preferred embodiment as a single data transfer cable 16 including a single pair of wires (identified in FIGS. 2A-2B by the reference numeral 164) over which the monitored data are transferred. In the preferred embodiment the length of the cable 16 is up to 2,000 feet. More generally, the cable provides a single information transfer conduit which has a suitable length sufficient to allow the recording unit 14 to be located beyond the immediate environment of the oil or gas well operation (or other operation) when the display unit 2 is located within such immediate environment so that the ability of the recording unit 14 to operate is not adversely affected by the operation. Only this one long data transmission cable is required in the present invention because all other cabling is through shorter branch cables connected from one display unit to another in a daisy chain configuration. This reduces cabling costs and maintenance requirements as well as reducing cabling congestion across the area in which the present invention is used. Although only a single pair of wires is needed to transfer the monitored data in the broadest aspects of the data transfer system, in the preferred embodiment the cable 16 includes a second pair of conductors (identified by the reference numeral 166 in FIGS. 2A-2B) for transferring timing signals between the display unit 2 and the recording unit 14. These timing signals are used to synchronize the high speed data transfer occurring on the conductor pair 164. Although the preferred embodiment is specifically described as including "wires," which might imply a metallic composition, it is also contemplated that the transfer or conductor medium can be any suitable means, which might be of a material other than metallic wires, such as a fiber optic transmission medium. Software The software by which the two microcomputers in each of the data acquisition modules 43 of the display unit 2 and the microcomputer in the recording unit 14 operate can be of any suitable type; however, the preferred embodiment of such software is depicted by the flow charts in FIGS. 15-17 and as is otherwise described throughout the textual specification. The flow chart of FIG. 15 describes the control program for the microprocessor 52; the flow chart of FIG. 16 describes the control program for the microprocessor 70; the flow chart of FIG. 17 describes the control program for the microprocessor 136. Broadly, the program for the microprocessor 52 causes it to operate so that the data from each transducer monitored thereby is gathered six times per second. The program of FIG. 16 controls the microprocessor 70 so that it continually loops until the RAM 50 status word it is monitoring is changed by the microprocessor 52, thereby causing the microprocessor 70 to obtain the data from the random access memory 50 and store it in the random access memory 74 until a command is received from the microprocessor 136 of the recording unit 14. The control program for the microprocessor 136 operates so that data are retrieved from the display unit 2 and concurrently displayed through the printer 152 and stored on a floppy disk in the controller and drive means 140. The configurations of the memories in which these programs are stored and through which memories these programs operate are specifically represented by the memory and input/output maps shown along the right-hand edge of FIGS. 2A-2B. In a specific embodiment, the software for the display unit 2 implements a portion of the known SDLC protocol using the following parameters: (1) The dual port RAM 50 interfacing between the Z80 microprocessor 70 and the data collection system under control of the microprocessor 52 is memory mapped at F800-FBFF hex. (2) A data transmission is configured with the following header: ##STR1## The same header precedes all data transmission. Data length is currently limited to 79.sub.hex bytes unless a "block transfer" mode is used. Data from F800 in the RAM 56 is moved to F880 in the RAM 50 with the correct address. "Command ID" is a code to pass commands between units. "Data ID" tells how to decode the data block. Handshaking between the Z80 LAN board 94 and the control microcomputer board 90 is done in memory locations F900 and F980. On initialization the microprocessor 52 writes an AA.sub.h to F900 in the RAM 50. The microprocessor 70 writes an AA.sub.h back to F980.sub.h. Then to check for errors, the microprocessor 52 writes 55.sub.h to F900.sub.h and the microprocessor 70 echos it back to F980.sub.h. Once the microprocessor 52 sets up the data block at F800.sub.h it increments F900.sub.h and the microprocessor 70 retrieves the data block into its RAM 74 and awaits a command from the recording unit 14. After the transmission to the recorder unit 14 occurs, the microprocessor 70 increments F980.sub.h in the RAM 5 and the microprocessor 50 can look to F980.sub.h for the reply. In the recording unit 14 the EPROM 138 is used to get the single board computer of 134 started. The actual operating program for the computer 134 is, however, stored on a 3.5" floppy diskette loaded in the floppy disk controller and drive means 40. The actual CP/M3 operating system, which is a known system used in the preferred embodiment of the present invention, takes over when the boot from the EPROM loads the first sector of Track 0 on Disk Drive A. This is CPM.LDR. This loader continues to load the rest of Track 0. This in turn loads a file from the disk called CPM3.SYS which contains the Basic Disk Operating System (BDOS) and the Basic Input Output System (BIOS). The last thing BIOS does is load a file called CCP.COM. The Console Command Processor (CCP) looks for a file on the disk called PROFILE.SUB. It uses SUBMIT.COM to execute the PROFILE.SUB commands, which leads to the major operating program. Other files used in a specific implementation and known or readily ascertainable to those in the art for performing the indicated functions with the specific hardware identified herein are: LANMARC.COM--Main data acquisition and storage control SYSFMT.COM--HALDOS 320K disk format MDFMTI.COM--HALDOS 720K disk format INIT.COM--System initialization CONR.COM--Configure strip chart to determine which characteristics are charted PLABAK.COM--Strip chart playback PLABAKI.COM--Tabular chart playback DLTPB.COM--Data acquisition module dump tabular playback DOWNLOAD.COM--Read 64K RAM of data acquisition module into recording unit STRIP.COM--Data acquisition module dump strip chart playback RPLOT.COM--Real time printer drive (strip chart) Other files on the disk which are known and can be used by experienced CP/M3 programmers include: LIB.COM--Create library of compiled REC files. SID.COM--Assembly language debugger. GET.COM--Get console input from a disk file. DATE.COM--Display and set date and time. GENCOM.COM--Create special CP/M3. LINK.COM--Link REL files into executable. TYPE.COM--Display a text file on console. PUT.COM--Send console output to disk. HELP.COM--Additional help for new users. DEVICE.COM--Display/ARter peripheral assignments. DATESET.COM--MSC-ICO dateset program. GENCPM.COM--General new CP/M System Tracks PIP.COM--Peripheral interchange program. MAC.COM--Assembly language macro assembler. SETDEF.COM--Define disk search path. DIR.COM--Display list of file names/size/attribute. SCR.COM--Show disk characteristics. ED.COM--Edit a test file. SHOW.COM--Display ASCII file to computer console. RMAC.COM--Relocatable assembly language assembly. DUMP.COM--ASCII/Hex dump of disk file. COPYSYS.COM--Create a new SYSTEM disk. ERASE.COM--Erase a file. SET.COM--Change file attributes. XREF.COM--Crossreference for MAC, RMAC. RENAME.COM--Change a file Name. RESET.COM--Reset MSC-ICO SBC. SAVE.COM--Save memory to disk. IDU.COM--MSC-ICO Disk Initialize Program. HEXCOM.COM--Generate COM file from Hex file. INITDIR.COM--Set up directory for date/time. SERIAL.COM--Change baud rates on Serial Ports. FKEY.COM--Function Key definition program. FKEY.SYS--Store function key values. It is contemplated that other software and networking protocols can be used in implementing the data transfer system. Operation Overview In the preferred embodiment the method of the present invention acquires data from a flow process at a well site. This method, which is readily adaptable to other uses, comprises detecting from spatially separated locations of the flow process a plurality of characteristics (e.g., pressure, flow rate and density) occurring within the flow process; converting, at at least one location near the flow process, the detected characteristics into digital electrical signals representing the magnitudes of the detected characteristics; and transferring the digital electrical signals over the single pair of transmission conductors 164 to a single location remote from the flow process. The step of transferring includes, at each of the locations near the flow process, moving, with the respective control microprocessor 52 at that location, the digital electrical signals at that location into the respective digital random access memory 50; moving, with the respective transmission microprocessor 70, the digital electrical signals from the respective digital memory 50 onto the single pair of transmission conductors 164; and receiving, with the microprocessor 136 at the single location remote from the flow process, all the digital electrical signals moved onto the single pair of transmission conductors 164 from each of the one or more locations. The foregoing "moving" steps are performed within each of the data acquisition modules 43. These moving steps are performed by operating the two microcomputers contained within each respective data acquisition module 43. These operations are performed at respective locations near where the detected characteristics exist. That is, the data acquisition modules 43 (and their combination into display units 2) are used within the environment of the monitored operation, whereas the recording unit 14 is used outside of this environment. These operations of the two microcomputers within each of the data acquisition modules 43 are particularly performed by modifying a digital status word stored in the digital memory 50 linking the two microcomputers when one of the microcomputers transfers the digital electrical signals into the digital memory 50. In response to modifying such a digital status word, the other microcomputer detects this and transfers the digital electrical signal into its own independent random access memory (i.e., either the memory 56 or the memory 74). For example, the microprocessor 52 writes a data word into the random access memory 50 and increments a bit of a status word also contained within the random access memory 50. The microprocessor 70 monitors this status word and, thus, detects when the bit has been incremented. This causes the microprocessor 70 to read the stored data word through a second port of the random access memory 50 into its own random access memory 74. See the "Software" section above. The method of operation of the overall system including both the display unit 2 and the recording unit 14 further comprises recording the transferred digital electrical signals on a digital storage diskette at the single location which is remote from the operation being monitored. The system of the present invention can be further operated so that the recording unit 14 is controlled by signals generated in the display unit 2 and transferred through the cable 16. This includes entering, through the microprocessor 52 and from there into the random access memory 50, a control signal generated by depressing appropriate keys on the keyboard 66. This control signal is moved, by the microprocessor 70, from the random access memory 50 onto the single pair of transmission conductors 164 for conducting the monitored data through the cable 16. The microprocessor 136 of the single board computer within the recording unit 14 is then actuated in response to this control signal. Stated differently, digital control data are entered at the location of the data acquisition module 43, the control microcomputer thereof is operated to transfer the digital control data into the shared digital memory, and the transferring microcomputer is operated to transfer the digital control data from the shared digital memory to the monitored data output port of the data acquisition module for transmission over the communication conduit to control another device connected to the communication conduit. Just as the recording unit 14 can be controlled by signals generated at the display unit 2, the display unit 2 can be controlled by signals generated at the recording unit 14. This is done by reversing the aforementioned operation in that the transfer microcomputer, including the microprocessor 70, obtains data from the communication conduit and stores the control data in the random access memory 50. The microprocessor 70 causes a status word in the memory 50 to be incremented or otherwise changed so that the microprocessor 52 responds to the changed status word to retrieve the digital control data from the memory 50 and to provide a control output signal in response to the digital control data. For example, the microprocessor 52 would cause one of the analog switches 62 to open or close, thereby causing some external function to occur in response to the changed state of the switch. The microprocessor 52 could also cause an analog output signal to be provided through the digital to analog converter means 68 to similarly control an external device. Such external devices could be related to controlling the monitored operation so that the monitored characteristic is thereby changed. Calibration Still another operation of the present invention is the ability to enter multiple calibration points into each data acquisition module 43 so that each module responds accurately to an input received through the connector means to which the various transducers are connectible. Such a calibration control means includes means for defining within each apparatus more than two points of the predetermined response characteristic of the transducer detector means so that the data acquisition module is calibrated for nonlinear changes in the predetermined response characteristic. The method by which this is implemented includes: entering calibration factors, such as via the keyboard 66, through the microprocessor 52 into its random access memory 56; receiving a transducer signal from a transducer detecting the monitored characteristic and connected to an appropriate one of the inputs to which the voltage to frequency converter 42 and the amplify and square circuit 44 are connected; and creating the digital electrical signal to be transferred to the recording unit 14 in response to the transducer signal and the calibration factors. This further includes determining whether the response of the transducer is linear. To determine if the response of the transducer is linear, more than two known values of the monitored characteristic are applied to the transducer which is connected to the module 43. The responses of the transducer to the known values of the characteristic are displayed through one of the displays 100, 102 operated by the microprocessor 52, and the displayed responses are compared to determine if the changes between test values are linear or non-linear. Each of the more than two known values of the characteristic and the corresponding responses thereto are then loaded into the memory 56 when the comparison of the displayed responses indicates the response of the transducer is not linear. In the preferred embodiment of the present invention, up to fourteen calibration points can be entered. So that the calibration factors, and other stored data, are continuously retained within the data acquisition module 43 even when no external power is being applied thereto, the method of the present invention further comprises continuously energizing the random access memory 56. This is accomplished in the preferred embodiment by a battery 168 and its associated circuitry located on the random access memory board 96 shown in FIGS. 9A-9B. Thus, even when the overall system is deenergized, the battery 168 energizes the random access memory 56 so that the calibration factors are retained until other calibration factors are entered in their place. The multipoint calibration routine can be simulated by drawing a graph of the transducer output. The number on the X axis is the frequency generated by the transducer, and the number on the Y axis is the pressure value represented by the corresponding frequency. By way of example, assume a 4-20 mA pressure transducer generates 2796 Hz at 0 psi and 13982 Hz at 15000 psi. These frequency points are determined by applying the known pressure to the transducer and reading the display of the data acquisition module. Each reading is made by applying the pressure to the transducer, then pressing the following sequence of buttons on the module's keyboard 66: ##STR2## where 64 is the function code and 86 is the access code for the preferred embodiment. Once the points have been determined, the apparatus is recalibrated by pressing: ##STR3## To calibrate for a flow rate the function code is 65 and the access code is 86. In addition to entering frequencies and corresponding values, a meter factor and a barrel conversion factor are entered. For example, press: ##STR4## The apparatus is now calibrated for a flowmeter for meter factor of 55.7. In the preferred embodiment calibrations must be in psi, barrels/minute, and lbs/gal to use the recorder unit correctly. If units other than these are to be displayed, scale and offset factors described below can be used. A decimal point is entered using the ##STR5## key. The calibration of a data acquisition module 43 for use as a density monitor is different from calibrations for pressure and flow rate. About eight data points should be used for densometer and rate calibration: ##STR6## Besides multipoint calibration, the data acquisition module has other codes which can be used to change calibration: ##STR7## Engineering units can be changed for display purposes. The preferred embodiment of the system uses English units for communication and storage on diskette (i.e., psi, bpm, lb/gal, .degree.F., pH). If it is desired to display in some other units then SCALE and OFFSET routines can be used. It does not matter which one is entered first. Offset should be zero for everything except temperature. To change displayed scale, press: ##STR8## The current scale for Channel 1 or Channel 2 is now displayed; if it is correct, press ##STR9## otherwise enter a new six-digit scale and press ##STR10## For example, to change to Megapascals (MPa) enter ##STR11## where P is the decimal point (0.00689.times.psi=MPa). To change to liters min, enter ##STR12## Codes for engineering units are:
______________________________________
From To Multiply by
______________________________________
PSI MPa .00689
PSI Bar .06804
BPM Gal 42
BPM Liters/Min 158.97
BPM M.sup.3 /Min
.15877
LB/GAL KG/M.sup.3 119.94
LB/GAL Spec Gravity
.11984
.degree.F. .degree.C. .55556
______________________________________
In some cases, an offset is also required as in the conversion from .degree.F. to .degree.C. (.degree.C.=0.55556 *.degree.F. 17.778). Current software only allows for negative offsets, therefore, for the temperature conversion example, press: ##STR13## The units are configured so that a pressure data acquisition unit accepts two 4-20 mA units. A rate/total data acquisition unit accepts two frequency inputs which it combines and displays as a combined rate on Channel 1 and a combined total on Channel 2. To check a unit type, press ##STR14## A number will be displayed in the far left digit of the
______________________________________
Channel 04 = Pressure 05 = Combined Rate
display:
06 = Combined Total
08 = Single Rate
09 = Single Total
10 = U-Tube Densometer
______________________________________
If the channel is to be changed to another type, press a two-digit number 04, 05, 06, 08, 09, 10 corresponding to the codes above and ##STR15## If the type is okay, just press ##STR16## The modules 43 are initially configured so that the pressure unit address=1, rate/total unit address=2 and density unit address=3. To change this address, press ##STR17## The current address will be displayed. To change to another address, press a two-digit number less than 32. No two units may have the same address. Then press To use a data acquistion unit to measure sand concentratration, base fluid density and proppant coefficients must be entered. First, press ##STR18## to enter sand concentration. If the base fluid is in the densometer now and is displaying the correct value, press ##STR19## to use this number for base fluid density. If the base fluid density is known, it can be entered directly by pressing ##STR20## and four more digits xxxx where they represent the base fluid density to two decimal places. For example, if the base fluid is 8.75 lb/gal, press ##STR21## Make sure to press ##STR22## to complete any operation. Next, enter the correct proppant coefficient. Press ##STR23## to use sand (0.456) as the proppant. Press ##STR24## to use SUPER PROP.RTM. proppant (0.322). For any other coefficient press ##STR25## where the x's represent the coefficient to 4 decimal places (e.g., if your proppant coefficient is 0.1500, press ##STR26## For setting the internal clock, first check to see if the time is correct by pressing ##STR27## The module then displays ##STR28## To change: ##STR29## The following error codes are used in the data acquisition module:
______________________________________
CODE DESCRIPTION
______________________________________
H A L P 1 Divide by zero
H A L P 2 Heap Overflow
H A L P 3 String Overflow Check
H A L P 4 Array and Subrange Check
H A L P 5 Floating Point Overflow
H A L P 6 Floating Point Overflow
______________________________________
When any PASCAL error is found, one of these codes is displayed. Press ##STR30## for a COLD START of a data acquistion module. If an H appears as the most significant digit in a channel, then an overrange hs occurred on the display. Either reduce the input or recalibrate. An L is displayed in the lower left corner of Channel 2, if any unrecognizable codes are entered. The foregoing and other command, or function codes of the preferred embodiment include:
______________________________________
50 Display Time 64 Measure Input Frequency
51 Set Year 65 Multipoint Calibration
52 Set Month 70 Channel Type
53 Set Day 71 Box Address
54 Set Hour 90 Scale Factor
55 Set Minute 91 Offset Factor
56 Set Seconds 99 Cold Start
00 Density Mode 22 100 Sec Frequency
04 AUTOCAL Air 23 DAC Minimum
05 AUTOCAL Water 24 DAC Maximum
06 AUTOCAL Lo Cal 25 500 Sec Frequency avg
07 AUTOCAL KCL 36 Display Calibration Points
10 And Concentrate
37 New Lo Cal Data
14 Base Fluid
15 New Base Fluid
16 Sand
17 SUPER PROP .RTM.
18 New Proppant
20 1 Sec Frequency
21 10 Sec Frequency
______________________________________
(NOTE: Codes greater than 18 require 6771 access number after code. Then
RUN)
Operating the Display Unit 2 After turning the power switch "ON" (see switch 170 in FIG. 4), the three data acquisition modules 43 will automatically start running using information previously saved in the respective battery backed-up random access memories 56 during the calibration procedures. If any of the modules has flashing 8's in a display 100, 102, the RAM 56 is not working correctly and needs to be calibrated. The operator can perform five major functions on a data acquisition module: Zero a pressure channel; Zero a total volume channel; Enter setpoints to control analog switches; Press test button; and Enter event codes. A. Zero a pressure channel (NOTE: Pressure transducers must be connected to the display unit) This is done when a new transducer is used or if minor pressure changes have occurred. Press ZERO then select the desired channel, ##STR31## with zero pressure on the transducer. Any pressure offset on the channel selected (1 or 2) will be zeroed. B. Zero a total volume channel To zero the total volume counter, press ##STR32## for total volume display. C. Enter setpoints for pressure or rate to control analog switches. Setpoints can be used to control pumping functions. When an analog switch closes it can be used to trigger an alarm horn or even shift a transmission to neutral. When the displayed value in a channel exceeds the setpoint stored in memory for that channel, the relay closes. By pressing ##STR33## the current setpoint for switch 1 is displayed (e.g., if the setpoint is 10,000 psi you will see "1000P" where P represents the decimal point.) If the setpoint needs to be changed, press five zeros, then the new number then ##STR34## otherwise just press ##STR35## To control switch 2, press ##STR36## (change the number the same way as for switch 1). ##STR37## controls switch 3. D. Press test button. Pressing ##STR38## performs a routine test of the module's memory and displays. First an EPROM sumcheck will be performed. If the EPROM is okay, the number 24737 will be displayed on Channel 1. Then a RAM check will be done with the result displayed as a flashing number on Channel 2 (the number displayed at the end of a RAM check should be 63036). If the number is less than 63036, the RAM 56 is no longer 100% functional and the unit should be used only with caution. (NOTE: The RAM 56 is used to store calibration and job data. If it is not completely functional, this could result in loss of job data). If this test passes, a series of walking 8's will move across the displays and the test will be complete. The walking 8's check the segments of all display digits. E. Enter event codes: Event codes are used as landmarks in the sequence of monitored events. As measurements are being recorded, the event codes can be entered as they occur during the job. The following codes are available.
______________________________________
CODE EVENT CODE EVENT
______________________________________
41 JOB START 57 BOTTOM PLUG
DROPPED
42 JOB PAUSE 59 DISPLACEMENT
43 PRESSURE TEST 61 PLUG LANDED
45 CIRCULATE 63 USER 1
47 LEAD CEMENT 65 USER 2
49 SPACER 1 67 USER 3
51 TAIL CEMENT 68 JOB RESUME
53 SPACER 2 69 JOB END
55 TOP PLUG DROPPED
______________________________________
NOTE: Codes 63, 65, 67 can be used for any special event as needed. Code
69 will stop the recording system and print a job summary. Code 42 will
stop the recording process. Code 68 will restart the recording after a jo
pause from code 42.
To enter an event code, press ##STR39## then the two-digit code, and ##STR40## The current version of the data acquisition module adapted for monitoring density operates a little differently than the pressure and rate data acquisition units. To be sure the density unit is calibrated properly before running a job, one of the following auto calibration programs can be run (the densometer must have the correct fluids in it and be connected to the data acquisition module): ##STR41## After the ##STR42## button is pressed the densometer will take samples of the fluid for 200 seconds and will then return to normal operation with new calibration data. Operating the Recording Unit 14 Turn "ON" the power switch (switch 172, FIG. 12) for the recording unit 14. Insert a diskette into disk drive A and a data disk into disk drive C. To playback information recorded on previous jobs, insert the applicable job data disk into disk drive C. To perform a function with the recording unit 14, one of the following menu items is selected:
______________________________________
MAIN MENU
______________________________________
1 - Start Job 2 - Setup Strip Chart 3 - Tabular Playback
4 - Format Disk 5 - Print Title Page 6 - Return to DOS
7 - Help 8 - Data Acquisition Unit 9 - Playback Strip Chart
10 - Data Acquisition Playback
______________________________________
If you want to: A. Start Job--Press 1 and ##STR43## The recording system waits for job start (code 41). It will now start recording data and printing a strip chart of the selected channels. After pressing the "1" and the "RETURN" buttons, the printer will type "YOU HAVE SELECTED 1-START JOB ARE YOU SURE (Y/N)", type YES if this is the correct function. The only way to get back to the Main Menu is to press 69 which is the event code for job end. Any of the other event codes may also be entered from the keyboard 150 while a job is being recorded. All other keys are ignored. B. Setup Strip Chart--Press 2 and ##STR44## The strip chart can be calibrated by defining which of the monitored channels should be displayed on the three chart spaces available as the output of the printer 152. C. Tabular Playback--Press 3 and ##STR45## This displays data previously recorded on a job disk. The computer asks the nature of the data to be printed: 1. 1 sec data 2. 10 sec data 3. 30 sec data 4. 1 min data 5. 10 min data Select the number (1, 2, 3, 4 or 5) of the desired time interval, then press ##STR46## Then select the four channels to be displayed in tabular form. Next, select the engineering units to be displayed. At this point the program will automatically start printing a tabular chart. D. Format Disk--Press 4 and ##STR47## This will cause the disk in drive C to be formatted. E. Print Title Page--Press 5 and ##STR48## The printer will generate a title page. After it is done, it will wait for the job start code. Press 1 and ##STR49## F. Return to DOS--Press 6 and ##STR50## This enables the recording unit 14 to be used as a computer if a CP/M development system disk has been inserted in drive A. This allows the programs listed above to be run. G. Help--Press 7 and ##STR51## This displays basic operating instructions directly from the disk. H. Data Acquisition Unit Dump--PRESS 8 and ##STR52## This gets data stored in the RAM 56 in case it could not be stored on disk during a job. A set of data points is stored in the data acquisition module every 10 seconds which tells the high, low and 10 second average of each channel value and total. I. Playback Strip Chart--Press 9. The recording unit 14 will generate a stripchart identical to the real-time one made during the job unless the stored values are changed through operator control. J. Data Acquisition Playback--Press 10--This plays back the data acquired from the Data Acquisition Unit Dump in tabular or strip chart modes. Conclusion The foregoing describes a preferred embodiment of the present invention as presently developed; however, modifications have been contemplated. With respect to the display unit 2, it has been contemplated that an intrinsically safe display unit be developed to operate in hazardous environments. It has also been contemplated to implement a nitrogen flow analyzer system using one of the data acquisition modules, and to add self-test programs to the data acquisition module to simplify troubleshooting. With respect to the recording unit 14, a playback program could be modified to add strip charts which can be displayed using the whole width of the paper for one value (in the current embodiment, the chart is divided into three sections to make identification of different value lines easier) and to add plotting of all three values using the full width of the paper for better chart resolution. Self-test programs could be added to simplify troubleshooting; more detailed assistance instructions could be incorporated within the program; and the capability to enter customer data from the keyboard could be added. In summary, the computerized system of the present invention, specifically adapted for recording cementing data at an oil or gas well site, gathers signals from up to 32 sensors through interconnected display units and stores the information on a single miniature diskette located remotely from the site of the operation. The present invention simultaneously makes a chart of this data using a standard computer printer to generate a chart similar to ones produced by an analog pen recorder. This enables print times, dates, actual data value and other specific alphanumeric information to be printed along with the graphical representation. The use of this system will improve quality control of the monitored process and provide data needed for analysis of problems which occur within the operation. Particularly unique within the system is the implementation of a local area network design which in the preferred embodiment uses a portion of the SDLC industry standard to reliably move data from one location to another. This permits a number of ruggedized displays to be placed close to their transducers while allowing the more sensitive printer and diskette drive to be placed at a relatively far distance from the monitored operation environment. The flexibility of the local area network configuration allows, in the preferred embodiment, up to 32 display units to be connected to a network gathering data from units as far away as 2,000 feet. Another unique feature is the design of the data acquisition module which can be independently used as data monitoring and system control devices which can be both locally and remotely operated. Thus, the present invention is well adapted to carry out the objects and attain the ends and advantages mentioned above as well as those inherent therein. While a preferred embodiment of the invention has been described for the purpose of this disclosure, numerous changes in the construction and arrangement of parts and the performance of steps can be made by those skilled in the art, which changes are encompassed within the spirit of this invention as defined by the appended claims.
|
Same subclass Same class Consider this |
||||||||||
