Microprocessor-based keyboard/display unit for configuring control instruments

Information

  • Patent Grant
  • 4431988
  • Patent Number
    4,431,988
  • Date Filed
    Friday, January 23, 1981
    43 years ago
  • Date Issued
    Tuesday, February 14, 1984
    40 years ago
Abstract
A microprocessor-based keyboard/display is described in which the function of the keys can be varied automatically depending on the instrument to which the keyboard/display is connected. The keyboard/display comprises a microprocessor, a read only memory in which is stored an operating program for the microprocessor, a keyboard having a plurality of keys, a display, and means for connecting said microprocessor to another instrument. In accordance with the invention, the program stored in said read only memory is responsive to a signal from the instrument to which said keyboard/display is connected whereby upon receipt of a signal from one type of instrument at said keyboard/display at least some of said keys of said keyboard are given first functions and upon receipt of a signal from a second type of instrument said keys are given different functions. Further in accordance with the invention, the keyboard/display comprises a random access memory in which may be stored data derived from one instrument to which said keyboard/display is connected and from which may be read data from said keyboard/display. Advantageously, the keyboard/display can be used with a recorder to provide for print out of the data stored in the random access memory of the keyboard/display.
Description

CROSS REFERENCE TO RELATED APPLICATION
A related application is "Single Loop Control System", Ser. No. 227,970, filed concurrently herewith and assigned to Bristol Babcock Inc. This application is incorporated herein by reference.
TECHNICAL FIELD
This relates to an intelligent keyboard/display especially useful in configuring a microprocessor-based single loop control (SLC) system used for process control.
BACKGROUND OF THE INVENTION
Process control systems are used in numerous applications to regulate one or more parameters of a process. Most control systems are closed loop control systems in which information about a controlled variable is fed back to a controller to serve as the basis for control of one or more process variables. A signal representative of the controlled variable is compared by the controller with a preset desired value, or set point, of the controlled variable. If there is a difference, the controller produces an output such as to reduce the difference by manipulating one or more of the process variables. For example, the controlled variable might be the temperature of an effluent stream from a mixing tank; and the process variables might be the temperature and flow rates of the streams emptying into the tank as well as the speed of a mixer in the tank. If the temperature of the effluent is too low, the controller might open a little more a valve regulating the flow of one of the streams emptying into the tank or adjust the speed of the mixer.
Many linear-feedback control systems can be represented by the input-output relationship: ##EQU1## where C is the output, R is the set point, KG is the forward-loop transfer function, H is the feedback loop transfer function, and KGH is the open-loop transfer function.
For many processes it can be shown that the best controller is one which provides proportional, integral and derivative (PID) control. Proportional control of a first order process reduces the time constant of the system and the apparent gain of the process. However, it also introduces a deviation, or offset, between the time average of the controlled variable and the set point. This offset can be compensated for by providing for integral, or reset, control in addition to proportional control. Although the use of integral control tends to slow the response of the system, derivative control counters this by tending to anticipate where a process is going so that it can correct for the change in error. Ideally, the PID transfer function is given by the following equation: ##EQU2## where M is the manipulated variable, E is the error, K.sub.c is the controller gain, T.sub.i is the reset time and T.sub.d is the rate or derivative time. Each manufacturer of PID controllers typically uses a somewhat different transfer function. Numerous techniques are available to design or tune PID controllers to practical application. Details concerning many of these techniques are set forth in Section 22 of Perry & Chilton, Chemical Engineer's Handbook (McGraw Hill, 5th Ed. 1973).
Until quite recently most process controllers were analog devices because analog circuitry was the only cost effective way to build a single-loop controller. Such devices, however, could not easily be modified and could not execute complex control algorithms. As a result, they tended to be expensive and/or had limited capability.
SUMMARY OF THE INVENTION
To facilitate the reconfiguring of single loop control instruments and the like, a microprocessor-based keyboard/display has been devised in which the function of the keys can be varied automatically depending on the instrument to which the keyboard/display is connected. The keyboard/display comprises a microprocesor, a read only memory in which is stored an operating program for the microprocessor, a keyboard having a plurality of keys, a display, and means for connecting said microprocessor to another instrument. In accordance with the invention, the program stored in said read only memory is responsive to a signal from the instrument to which said keyboard/display is connected whereby upon receipt of a signal from one type of instrument at said keyboard/display at least some of said keys of said keyboard are given first functions and upon receipt of a signal from a second type of instrument said keys are given different functions. Further in accordance with the invention, the keyboard/display comprises a random access memory in which may be stored data derived from one instrument to which said keyboard/display is connected and from which may be read data from said keyboard/display. Advantageously, the keyboard/display can be used with a recorder to provide for print-out of the data stored in the random access memory of the keyboard/display.





BRIEF DESCRIPTION OF DRAWING
These and other objects, features, elements and advantages of the invention will more readily be apparent from the following description of the best mode of practicing the invention in which:
FIG. 1 is a schematic diagram of an illustrative embodiment of a keyboard/display of the present invention;
FIG. 2 is a schematic diagram of an illustrative embodiment of a recorder which can be used with the keyboard/display of FIG. 1;
FIGS. 3 and 4 are schematic diagrams illustrating details of the records of FIG. 2.





BEST MODE OF PRACTICING THE INVENTION
A schematic diagram of an intelligent keyboard/display of the present invention is set forth in FIG. 1. As shown thereon, the keyboard display comprises a microprocessor 100, a latch 110, a random access memory (RAM) 120, a memory protection circuit 125, a read only memory (ROM) 130, I/O expanders 160, 180, a display 170 and a keyboard 190. In addition, the keyboard/display comprises a communication multiplexer 140 and a connector 155.
Illustratively, microprocessor 100 is an 8039/8049 Intel microprocessor with a six Mhz clock crystal 105. Latch 110 is a 373-type octal D-type flip-flop which controls an address bus 112 in response to a signal from microprocessor 100. Address bus 112 provides eight bits of address to RAM 120 and ROM 130. Data from these units is returned to microprocessor 100 on an eight bit parallel data bus 114. RAM 120 is a pair of 5101-type 256.times.4 bit CMOS memory chips connected together to provide 256 bytes of random access storage. Two control lines from microprocessor 100 control the operation of writing into and reading from these chips. RAM 120 permits data to be copied between the intelligent keyboard/display and an SLC instrument such as a controller or a recorder. The stored data is protected against power failure by a long-life battery in memory protection circuit 125. ROM 130 is four units of 2K.times.8 bit memory such as a 2716-type read only memory. Each ROM unit is addressed by the eight address lines of bus 112 and three additional address lines. Four additional lines select the individual ROM chip. The operating program for the intelligent keyboard/display is stored in ROM 130. This program scans keyboard 190, debounces the signal from a key and generates a code for the particular key depressed. Several look-up tables, one for each different type of SLC instrument, are stored in ROM for interpreting these codes in accordance with the instrument to which the keyboard/display is connected. It also provides for the display of one or more characters at specified positions on display 170. Further the program generates the timing signals and controls required to send and receive serial data through connector 155.
I/O expanders 160, 180 are 8243-type coder/decoders capable of producing an output signal on one of sixteen lines on the decoded side of the expander in accordance with a four bit signal received on the coded side and capable of producing a four bit coded output signal on the coded side of the expander in response to a signal received on one of sixteen lines on the uncoded side of the expander. I/O expander 160 provides an interface to display 170; and I/O expander 180 provides an interface to keyboard 190. Display 170 is an eight character alphanumeric display which illustratively is supplied by a pair of Litronics DL1414 display chips. Keyboard 190 is a nine row by five column Texas Instruments keyboard. Communications multiplexer 940 is a 75138-type multiplexer which controls the transmission of signals to and from microprocessor 100 and the device to which the keyboard/display is connected. Connector 155 is adapted to mate with connectors 255, 415 and 755 shown in FIGS. 2, 3 and 5 of the above-referenced "Single Loop Control System".
The intelligent keyboard/display of FIG. 1 provides a means of reading data from and entering data into any one of the controller board, the front panel board and the auxiliary board described in "Single Loop Control System" as well as other devices such as a recorder. Of particular interest, the keyboard/display provides a means for displaying many of the numerous variables which are generated by the microprocessors on those boards or are received as inputs at those boards. For example, the apparatus described in "Single Loop Control System" has up to six analog inputs and six digital inputs and produces up to eight outputs with options as to the number of analog and digital outputs. In addition, the keyboard/display provides a means for selecting many different operating options of the programs stored on these boards as well as a means for overriding certain input signals. Thus, the keyboard/display has the ability to alter the configuration of the particular controllers to which it is connected. The keyboard/display also has the capability of reading and storing the operating configuration of the controller. The configuration can then be read out from the keyboard/display and printed by a suitable recorder.
The keyboard used when the keyboard/display is connected to a controller is shown in Table 1.
TABLE 1______________________________________IN OP LIN OP FLTR DI AISP L/R SP LSP RSP TRK OPRAT MAX L/R RAT L RAT R RAT IN SPSRC OP FAIL OP SAFE SP RSP HL RSP LLPV1 OP PID OP PV ALM DEV DEV1 ALMPV K.sub.P K.sub.I K.sub.D TVTV OP P OP I OP D OP TV BKPTFF OP FF IN FF k FF OUT AO 3DB INHB OP OUT OP A03 OP OUT3 OPD03 OP VPFB OUT DO DDC OUTH OVR OP L OVR OP OUT HL OUT LL H/L SELH OVR L OVR 7 8 9ID .uparw. .uparw. COMM ALM ACK MODENEXT .uparw. 4 5 6ENTER .dwnarw. .dwnarw. EU 0% EU 100% EU IDREAD .dwnarw. 1 2 3 AUTH UNITS DIAGCLR SHIFT 0 . +/-______________________________________
To read data from or enter data into a unit, the keyboard/display is first initialized by plugging it into the unit. The keyboard/display will then query the instrument it has been plugged into for identification and upon receiving a reply will display some unique identifier such as LMR for an L-M-R controller, RECORDR for a recorder, etc. At the same time, it will select one of the look-up tables which interpret the function of the keys of the keyboard.
To examine any accessible variables, options, etc. the READ function is used. One, two or three keystrokes are used to identify the desired variable. A "lower case" key requires one keystroke. Examples are SP for setpoint and OUT for the output. "Upper case" keys require the SHIFT key to be pressed before the variable keystroke. An example is SHIFT DEV for deviation. Finally, some variables are subscripted; these require a number to be entered. Examples of these are DO 2 for the second digital output and SHIFT AI 6 for analog input number 6. When a subscripted key is pressed, an underline symbol .sub.- is displayed to prompt the user. If no number is entered, 1 is automatically used. Otherwise, the appropriate number key should be depressed. As the keys are pressed, the display will display the keystroke. This is called the ID or identifier hereinafter.
After the variable has been selected, the READ key is pressed. The intelligent keyboard then obtains the requested data from the SLC instrument and displays it as follows:
=n n n n n n I
The equal sign, =, means that the value displayed is the current value. The next 6 characters (nnnnnn) may be numeric or alphanumeric depending on the variable. If numeric, the first character is either blank or a minus sign. The next 5 characters are 4 digits plus a decimal point. Numeric values may range from 0.0001 to 9999. If alphabetic, up to 4 characters are displayed. Examples are G/M, PSIG, AMPS, V. If the item is an option, an alphanumeric string up to seven characters may be displayed. Examples are 0-5V, LINOP 1, V**1/2.
The last character, I, is a special identifier used with numeric values. The following table describes the various identifiers:
______________________________________Identifier Description______________________________________blank a unitless value (e.g., a ratio)V volts (e.g., an analog input)% percentage, most values are dis- played in %P identifies the proportional constant used in the controllerI identifies the integral constant used in the controllerD identifies the derivative constant used in the controller* engineering units used with a variable (e.g., PV)______________________________________
To display a dynamically changing value such as the process variable the READ key is held down. New values will then be displayed by the intelligent keyboard.
The final key associated with the read function is ID. This key will display the identifier of the currently displayed variable on the display. For example, if a local setpoint value is displayed and ID is pressed, the display will change to LSP.
The ENTER function is used to change various values, options, etc. in the SLC instruments. To enter a new value, the variable must first be read and displayed as above.
To change a numeric value the following procedure is used:
1. Press CLEAR. A zero is displayed.
2. Use the numeric keys (0 through 9, decimal point and +/-) to enter the new value. Up to 4 digits may be entered.
3. Press SHIFT ENTER. An equal sign = will be displayed to the left of the value (after a short delay) indicating that the new value was entered into the SLC instrument.
If a mistake is made in step 2 or 3, CLEAR is pressed and a new value is entered. The variable is not changed until ENTER is pressed and the equal sign is displayed. If verification is desired, CLEAR is pressed to clear the display, followed by READ to display the current value.
Some variables are read-only because they cannot be changed from the intelligent keyboard. Examples are analog inputs and calculated variables. The read-only items continue to be displayed if CLEAR is pressed. This informs the user that the variable is read-only.
Certain variables have been made more difficult to change in order to prevent the operators from inadvertently reconfiguring the SLC instrument. These variables are usually changed only by qualified personnel. To change a protected variable, it is necessary first to read it; then to press SHIFT AUTH. CLR, then to enter the value (or slew it), and finally to press SHIFT ENTER to enter it. The equal sign will again be displayed to indicate that the change was made. If this procedure is not followed, the variable will not be changed.
The intelligent keyboard also has a slewing feature which performs 2 distinct functions: changing numeric variables, and selecting non-numeric variables. Two keys, raise, .uparw., and lower, .dwnarw., are used for slewing:
For numeric slewing any changable numeric value may be slewed. The advantage of slewing over entry of a new value is that a large bump is prevented. The rate at which the variables is slewed depends on the type of variable, its current value and the activity on the system's communication bus. By pressing the SHIFT key along with raise, .uparw., or lower, .dwnarw., the variable will slew at 15 times the slow slew rate.
For analog output and stepper output slewing, the rate is approximately 1%/second for a slow slew, and 15%/second for fast. For variables represented in percent and for variables with engineering units, the slow slew is a fixed value approximately 1% of full scale per second. Finally, for unitless variables, a fixed increment is added to the value as a function of the value:
______________________________________current value increment______________________________________V< 1 0.00011<V< 10 0.00110<V< 100 0.01100<V< 1000 0.11000<V 1.0______________________________________
Again the fast slew is 15 times the slow slew increment.
All of the above slew rates assume no other communication is occurring. If there is other communication (such as updating the controller's bar graph display) the slew rates will slow down to approximately 1/2 or 5/8 of the stated rates.
Certain keys refer to features and options that can have several possible states. When the appropriate key is pressed to display such a feature or option, the display will be:
=a a a a a a x,
where a a a a a a is a 1 to 6 character identifier for the section and x is either a blank if the identifier refers to the currently active state of the feature or option or a question mark if the identifier refers to an alternative state. To change the setting, the slew keys are used to get the desired option into the display. Next, SHIFT and ENTER are pressed. After a short delay, the question mark will disappear to indicate that the setting has been selected.
For example, the Controller's analog output #3 may be used for output, setpoint (SP), process variable (PV) or be turned off. Suppose it is set for output but PV is desired. The user may press the following key sequence:
______________________________________Keystroke DisplaySequence Sequence Comments______________________________________SHIFT --AO3 OP AO3 OP keystroke is displayedREAD = OUT currently active variable is displayed.dwnarw. = OFF? another choice (note the ?) is displayed.dwnarw. = OFF? since the OFF option is at the end of the stored table of options, the display remains the same.uparw. = OUT current setting (note absence of the ?) is displayed as display moves in the other direction in the stored table of options.uparw. = SP? another choice is displayed.uparw. = PV? another choice is displayedSHIFTENTER = PV PV is selected for display and the question mark disappears indicating the change has been made.______________________________________
A key labelled NEXT is provided to allow stepping through all of the variables, constants and options in an SLC instrument's data base. This function will reduce the number of keystrokes necessary for the user to view all of the data. When NEXT is pressed, the identifier for the next item is displayed. Typically, the user will alternately press NEXT and READ to view all of the data. When the last item is reached, the NEXT function will stop operating.
Table 2 indicates the functions and operation of the individual keys of the keyboard when the keyboard/display is connected to a controller. Table 3 indicates the displays that can be generated by repeated use of the NEXT key.
TABLE 2______________________________________KEYBOARD DISPLAYSEQUENCE SEQUENCE COMMENTS______________________________________AI Read the 6 analog input values (in volts)AI k AI k k = 1-6READ = nnnnnn VIN OP Read/enter the input range option (0-5 or 1-5V) for each of the 6 analog inputsIN OP k IN OP k k = 1-6READ = 0-5V two options = 1-5V.uparw. . . . .dwnarw. = one of above? New option being selected by Raise and Lower keys;? appended to non-active optionENTER = one of above New Option selected;? disappearsLIN OP Read/enter the lineariza- tion option for each of the 6 analog inputs (5 choices)LIN OP k LIN OP k k = 1-6READ The 5 choices are: = OFF Not used = V Direct = V**1/2 Square-root = V**3/2 "Three halves" = V**5/2 "Five halves".uparw. . . . .dwnarw. = one of above? Question mark appended to all but the currently active option.ENTER = one of above New option selected (? disappears)FLTR Read/Enter the software filter (0.15 HZ) option for each analog inputFLTR k FLTR k k = 1-6READ = OFF One of 2 options, = ON OFF = 1.5 HZ ON = 0.15 HZ.uparw. . . . .dwnarw. = one of above? ? appended to non-active optionENTER = one of above other option selected; (? disappears)DI Read the current state of the 6 digital inputsDI k DI k k = 1-6READ = ON ON = HI = OFF OFF = LOSP Read the current setpoint value (subscripted for Cascade and Selector only)SP k SP k k = 1,2 (= 2 for selector and cascade models)READ = nnnnnn* Value in engineering unitsLSP Read/enter the value of the local setpoint (subscripted for Cascade and Selector only)LSP k LSP k K = 1,2 (= 2 for selector and cascade models)READ = nnnnnn* Value in engineering unitsm m . . . m mmmmmm* New value being entered in engineering unitsENTER = mmmmmm* Value entered (note equal sign)RSP Read the value of the remote setpoint (subscripted for Cascade and Selector only)RSP k RSP k k = 1,2 (= 2 for selector and cascade models)READ = nnnnnn* Value in engineering unitsL/R SP Read/enter the local/remote option for the current setpoint (for the DDC, and SELECTOR models only)L/R SP k L/R SP k K = 1,2 (= 2 for selector only)READ = L One of 2 options = R (local SP, remote SP.uparw. . . . .dwnarw. = one of above? ? appended to non-active optionENTER = one of above New option selected by users; (? disappears)TRK OP Read/enter the setpoint track optionTRK OP TRK OPREAD = ON One of two options = OFF (OFF = no tracking).uparw. . . . .dwnarw. = one of above? ? appended to non-active optionENTER = one of above New option selected (? disappears)L/R RAT Read/enter the ratio-value source being applied to the SP (RATIO model only)L/R RAT L/R RATREAD = L One of two options = R (Local ratio, remote radio).uparw. . . . .dwnarw. = one of above? ? appended to non-active optionENTER = one of above New option selected (? disappears)RAT MAXRAT MAX RAT MAX Read/enter the 100% value of the Ratio settingREAD = nnnnnn Current valuem.m.m mmmmmm New value being enteredENTER = mmmmmm New value entered (note equal sign)L RAT Read/enter the local ratio value applied to SP1 (Ratio model only)L RAT L RATREAD = nnnnnn% value (Read out in percent)m m . . . m mmmmmm% new value being entered by userENTER = mmmmmm% Value entered (note = sign)R RAT Read the remote ratio value being applied to SP1 (Ratio model only)R RAT R RATREAD = nnnnnn% value (Read out in percent)IN SP Read the value of the input SP (raw, unratioed) (Ratio model only)IN SP IN SPREAD = nnnnnn* Value in engineering unitsSRC OP Read the computer SP or DDC output option (Computer and DDC models only)SRC OP SRC OPREAD = AI AI = Positional algorithm = PULSE DI = Velocity algorithm = COMM COMM = Serial Com- municationFAIL OP Read/select the computer's fail option. (Computer and DDC models only)FAIL OP FAIL OP One of 4 options:READ = MANSwitch to manual = LASTSwitch to local with last SP = SAFESwitch to local with safe SP = HOLDStay in present mode, ignoring computer.uparw. . . . .dwnarw. = one of above? ? appended to all non-active optionsENTER = one of above New option selected (? disappears)SAFE SP READ/enter the value of the "Safe SP" for the fail option (Computer and DDC model's only)SAFE SP SAFE SPREAD = nnnnnn* SP's current value in engineering unitsm m . . . m mmmmmm* Value being enteredENTER = mmmmmm* Value entered (note equal sign)RSP HL Read/enter the upper limit on the remote setpoint (subscripted for cascade and selector)RSP HL (k) RSP HL k k = 1,2 (= 2 selector, cascade models)READ = nnnnnn* Value in engineering unitsm m . . . m mmmmmm* Value being enteredENTER = mmmmmm* Value entered (note equal sign)RSP LL Read/enter the lower limits(s) on the remote setpoint(s)Identical to RSP HLPV1 OP Read/select the process variable optionsPV1 OP PV1 OPREAD There are 6 choices: = AI AI1 only = AVG (AI1 + AI3)/2 = DIF AI1 - AI3 = PROD AI1*A13 = MAX the higher of AI1 and AI3 = MIN the lower of AI1 and AI3.uparw. . . . .dwnarw. = one of above? Question mark appended to all but the active optionsENTER = one of above New option selected (? disappears)PV Read the current value of the process variable (subscripted for Cascade and Selector only)PV k PV k k = 1,2 (= 2 for Selector, Cascade Models)READ = nnnnnn* Value in engineering unitsPV ALM Read/enter the upper and lower alarms on PV1PV ALM k PV ALM k k = 1 for low alarm k = 2 for high alarmREAD = nnnnnn* Alarm value in engineering unitsm m . . . m mmmmmm* New value being enteredENTER = mmmmmm* Value entered (note equal sign)DEV Read the current value of deviation (SP-PV) (subscripted for Cascade and Selector)DEV k DEV k k = 1,2 (= 2 for Selector, Cascade Models)READ = nnnnnn* Value in engineering unitsDEV1 ALM Read/enter the alarm limits on deviation (PID 1 only)DEV1 ALM DEV1 ALMREAD = nnnnnn* Current value in engineering unitsm m . . . m mmmmmmm* New value being enteredENTER = mmmmmmm* Value entered (note equal sign)ALM ACKALM ACK ALM ACK Read and acknowledge the current state of the alarms. Display remains the same. Flashing of bar graph or leds is stopped; ie. alarm acknowledged.READ CPREDLH H = PV high alarm L = PV low alarm D = deviation alarm E = DAC zero reference calibration R = RAM re-initialized C = computer fail DI for DDC or CMPTR P = Long power down NOTE: Only the active alarms will be indicated. If there are no alarms, only blanks are displayed.PID OP Read the PID algorithm typePID OP PID OPREAD = I/A "Interacting"KP Read/enter the PID proportional tuning constants Kp(1), Kp(2), Kp(3)KP k KP k The subscript is only used in the following cases: (a) If the advanced tuning option is installed, k = 1, 2, 3 (b) If selector or Cascade models, then Kp3 will be used for the second PID controllerREAD = nnnnnnP Valuem m . . . m mmmmmmP New value being enteredENTER = mmmmmmP Value entered (note equal sign)KI Read/enter the integral constant KIKI k KI k See notes for KP on subscriptsREAD = nnnnnnI Value either in repeats per minute, repeats per second, minutes or seconds. (Press SHIFT UNITS to read current units)m m . . . m nnnnnnI New value being enteredENTER = nnnnnnI Value entered (note equal sign)KD Read/enter the derivative constant KDKD k KD k See notes for KPREAD = nnnnnnD Value in minutes or seconds. (Press SHIFT UNITS to read current units)m m . . . m nnnnnnD New value being enteredENTER = nnnnnnD Value entered (note equal sign)TV OP Read/enter the tuning variable option (only if advanced tuning enabled)TV OP TV OPREAD = OFF = off = PV1 = primary PV = DEV = Deviation = [DEV] = "magnitude" of deviation (for error squared) = VPFB = Valve position feedback = AI5 = Linearized AI5 = DI's = TV determined by digital inputs.uparw. . . . .dwnarw. = one of above? New option being selectedENTER = one of above New option selected (? disappears)P OP, I OP, D OP Read/enter the breakpoint option for Kp, KI, KD (only if advanced tuning enabled)P OP P Op Each of these keys is similarI OP I OP in functionD OP D OPREAD = STEP 2 options = SLOPE.uparw. . . .dwnarw. = one of above? New option being selectedENTER = one of above New option selected; (? disappears)FF OP Read/enter the feedforward enable (subscripted for Cascade and Selector onlyFF OP k FF OP k k = 1,2 (for PID1, PID2 respectively)READ = OFF = No feedforward to PID k = ON = Feedforward enabled to PID K.uparw. . . . .dwnarw. = one of above? New option being selectedENTER = one of above New option selected (note equal sign)FF IN Read the input value to the FF BlockFF IN FF INREAD = nnnnnn% Value in %FF kFF k FF k k = 1 for FF gain k = 2 for FF lead K = 3 for FF lagREAD = nnnnnn The value in units; the units are: FF LEAD = Minutes or seconds FF LAG = Minutes or seconds FF GAIN = No units NOTE: Press SHIFT UNITS to read lead and lag units.m m . . . m mmmmmm New value being enteredENTER = mmmmmm Value enteredFF OUT Read the output value of FF blockFF OUT FF OUTREAD = nnnnnn% Value in %AO 3AO 3 AO 3 Read the current value of the auxiliary analog output #3.READ = nnnnnn% Value in percentOUT3 OPOUT3 OP OUT3 OP Read/enter the output range of AO3READ = 0-5V 0-5 volt range = 1-5V 1-5 volt range.uparw. . . . .dwnarw. = one of above? New value being selectedENTER = one of above New value selected (? disappears)A03 OP Read/enter the A03 (auxillary output) optionA03 OP A03 OPREAD = OUT = CONTROLLER Output = SP = SETPOINT = PV = PROCESS VARIABLE (calculated)D03 OP Read the D03 optionD03 OP D03 OPREAD = PV ALM = "PV Alarm" indication = MODE 4 = "Mode 4" indication.uparw. . . . .dwnarw. = one of above? New option being selectedENTER = one of above SelectedOUT OP Read the output optionOUT OP OUT OPREAD = 0-5V = 0-5V analog output = 1-5V = 1-5V analog output = STEP = stepper = PULSE = pulseINHB OP Read/select the "inhibit raise" and "inhibit lower" options for the controller outputINHB OP INHB OPREAD = OFF = not used = DI = determined by appropriate DI.uparw. . . . .dwnarw. = one of above?ENTER = one of above New option selectedH/L SEL Read the high/low selector option (selector model only)H/L SEL H/L SELREAD = HI Controller's output = MAX (PID1, PID2) = LO Controller's output = MIN (PID1, PID2).uparw. . . . .dwnarw. = one of above? New option being selectedENTER = one of above SelectedDB Read/enter the deadband value to be applied to the output.DB k DB kREAD = nnnnnn% Value in %mmmmmm = mmmmmm% New value being enteredENTER = mmmmmm% New value entered (? disappears)VPFB Read the controllers latest output value position (AI6)VPFB VPFBREAD = nnnnnn% Value in %OUT Read/Slew the value of the controller outputOUT OUTREAD = nnnnnn% Value in %DO Read the value of the 6 digital outputsDO k DO k k = 1-6READ = ON = HI = 24V = OFF = LO = OVDDC OUT Read the current DDC computer's output (DDC model only)DDC OUT DDC OUTREAD = nnnnnn% Value in %H OVR OP Read/select the high-override option for the outputH OVR OP H OVR OPREAD = ON = Linear input AI5 = OFF = Disabled.uparw. . . . .dwnarw. = one of above? New option being selectedENTER = one of above New option selected (? disappears)L OVR OP Read/select the low-override optionL OVR OP L OVR OPREAD = ON = Linear input AI4 = OFF = Disabled.uparw. . . . .dwnarw. = one of above? New option being selectedENTER = one of above New option selected (? disappears)H OVR Read the current value of the analog high-override (AI5.LIN)H OVR H OVRREAD = nnnnnn% Value in %L OVR Ride in the current value of the analog low-override (AI4.LIN)L OVR L OVRREAD = nnnnnn% Value in %OUT HL Read/enter the value of the output high limitOUT HL OUT HLREAD = nnnnnn% Value in %m m . . . m mmmmmm% New value being enteredENTER = mmmmmm% New value entered (note equal sign)OUT LL Read/enter the value of the output low limitOUT LL OUT LLREAD = nnnnnn% Value in %m m. . . m mmmmmm% New value being enteredENTER = mmmmmm% New value entered (note equal sign)MODE Read/select the controller mode. The modes are model dependent; see table belowREAD = LOC etc..uparw. . . . .dwnarw. = XXX? New mode being selectedENTER = XXX Mode selected______________________________________
__________________________________________________________________________The following table lists the modes displayed for each model.MODELMODE L-M L-M-R L-M-CMPTR A-M-DDC RATIO CASCADE SELECTOR__________________________________________________________________________1 LOC LOC LOC LOC LOC LOC LOC2 MAN MAN MAN MAN MAN MAN MAN3 -- RMT/1 RMT/1 RMT/1 RMT/1 RMT/1 RMT/14 -- -- -- -- -- SEC/2 SEC/2__________________________________________________________________________
______________________________________KEYBOARD DISPLAYSEQUENCE SEQUENCE COMMENTS______________________________________EU 0%EU 100% Read/enter the engineering unit "scaling" values, to enable conversion from the controller's internal 0-100% range, to any desired range of engineering units (linear conversion) Subscripted for Cascade and SelectorEU 0% k EU 0% k k = 1 for SP1/PV1 k = 2 for SP2/PV2EU 100% k EU 100% kREAD = nnnnnn Value (no units)m m . . . m mmmmmm New value being selectedENTER = mmmmmm Value entered (note equal sign)EU IDEU ID ALPHA Depressing CLR key causes Switch to the alphanumeric overlay.AUTH No change in display Enable (authorize the ability to enter protected configuration data).NEXT Go to the next operation/function/subscriptNEXT Next item The next function will displayed automatically be fetched as if that key(s) had been pressed. Normal key sequences may then be keyed in. The next key is the complete sequentially ordered list of functions accessible by the NEXT key..uparw. .dwnarw. Raise or lower (slew) the numerical value being currently displayed. (If changeable) Select options.DIAG Switch to the diagnostics overlay.DIAG DIAGCLRCLR Clear operationCOMM Function not finalized (configures the communication interface).ENTERENTER = Display Enters a new value or option.IDID current ID Display the identifier of the current selected variable.READREAD = XXXXXX Read the currently selected variable.UNITSUNITS units Display the Engineering units ID for this variableSHIFTSHIFT No Change Enable the upper case keys.______________________________________
TABLE 3__________________________________________________________________________ITEMS ID SUBSCRIPT COMMENTS__________________________________________________________________________MODEL Displayed on power up.IN OP 6LIN OP 6FLTR 6L/R SP (2) Only on for DDC and two for SELECTOR modelsTRK OPRAT MAX Only for RATIO modelL/R RAT Only for RATIO modelSRC OP Only for CMPTR and DDC modelsFAIL OP Only for CMPTR and DDC modelsSAFE SP Only for CMPTR and DDC modelsRSP HL (2) Not used for LM model Two for SELECTOR.RSP LL (2) Not used for LM. Two for SELECTOR.PV1 OPPV ALM 2DEV ALMPID OPKP (3) No subscript except with CASCADEKI (3) and SELECTOR models, or withKD (3) ADVANCED TUNING option enabled.T UNITSTV OP Only when Advanced Tuning enabledP Op Only when Advanced Tuning enabledI Op Only when Advanced Tuning enabledD OP Only when Advanced Tuning enabledTV BKPT Only when Advanced Tuning enabledFF OP (2) Subscript only CASCADE and SELECTORFF k 3INHB OPOUT OPA03 OPOUT3 OPDO3 OPHOVR OPOUT HLOUT LLH/L SEL Only for SELECTOR modelEU 0% (2) Subscripted for CASCADE and SELECTOREU 100% (2) Subscripted for CASCADE and SELECTOREU ID (2) Subscripted for CASCADE and SELECTOR__________________________________________________________________________
FIG. 2 is a block diagram of an illustrative embodiment of a recorder which may be used with the intelligent keyboard/display of the present invention to print alphanumeric or graphic displays. As shown therein, the recorder comprises a microprocessor 200, a latch 210, a random access memory (RAM) 220, a memory protection circuit 225, a read only memory (ROM) 230, a serial communication module 235, an input protection and filtering circuit 240, an analog multiplexer 250, I/O expanders 260, 270, 280, digital to analog converter 290, a comparator 295, a digital display 300, a chart motor driver 310, a thermal printing head 320, communications multiplexer 340 and connector 355.
Microprocessor 200 illustratively is an Intel 8039/8049 microprocessor. Latch 210 is a 373-type octal D-type flip-flop which controls an address bus 212 in response to a signal from microprocessor 200. Address bus 212 provides eight bits of address to RAM 220, ROM 230 and the communication module. Data from these units is returned to microprocessor 200 on an eight bit parallel data bus 214. RAM 220 is a pair of 5101-type 256.times.4 bit CMOS memory chips connected together to provide 256 bytes of random access storage. Two control lines from microprocessor 200 control the operation of writing into and reading from these chips. RAM 220 is used for both temporary storage of data that is to be printed by the recorder and configuration data. The stored data is protected against power failure by a long-life battery in memory protection circuit 225. ROM 230 is three units of 2K.times.8 bit memory such as a 2716-type read only memory. Each ROM unit is addressed by the eight address lines of bus 212 and three additional address lines. Two additional lines plus control logic (not shown) select the individual ROM chip. The operating program for the recorder is stored in ROM 230.
There are up to four analog and three digital inputs to the recorder. Protection against voltage excursions and high-frequency transients is provided by input protection and filtering circuit 240. The filtered analog and digital signals are applied to analog multiplexer 250. Multiplexer 250 illustratively is a 4051-type one-out-of-eight multiplexer whose output is selected by three of the lines from I/O expander 260. The analog output of multiplexer 250 is converted to a digital signal by means of twelve bit digital-to-analog converter 290, comparator 295 and a standard analog-to-digital programming routine which is executed by microprocessor 200. Digital signals may also be supplied to the recorder by the communication module which illustratively is the same as module 16 described in the above-referenced "Single Loop Control System".
I/O expanders 260, 270, 280 are connected to microprocessor 200 via data bus 216 and select lines 218. I/O expander 270 provides for signal outputs to digital display 300 and chart motor driver 310. I/O expander 280 provides for signal outputs to thermal printing head 320.
Communication multiplexer 340 is a 75138-type multiplexer which is used to multiplex incoming and outgoing clock and data signals. Connector 355 mates with connector 155 of the intelligent keyboard/display and provides for the transmission of clock and data signals to and from the intelligent keyboard/display.
Digital display 300 is illustrated in greater detail in FIG. 3. As shown therein, the digital display comprises a seven segment decoder 410, a decoder 420, drivers 430, 440 and a display 450 capable of displaying four groups of four digits each. As shown in FIG. 3, each digit is represented by a seven segment display; and a decimal point can be located to the left of any one of the four digits in a row. Decoder 420 has four signal input lines and sixteen signal output lines. In response to a four bit parallel input signal, it strobes one of the sixteen different digits of display 450 so as to illuminate the segments of that digit's seven segment display in accordance with the signals from seven segment decoder 410. The seven segment decoder 410 has four inputs which specify the 10 numeric digits plus special symbols. The seven outputs of decoder 410 specify which of the seven segments of the display of a given character are illuminated. The eighth line which is applied directly to driver 430 controls the display of the decimal point. In order to display a minus sign, the center horizontal bar of the seven segment display can be controlled from the microprocessor. Seven segment decoder 410 illustratively is a 47-type BCD-to-7-segment decoder and decoder 420 is a 4514 decoder. The seven segment drivers 430 are illustratively a pair of 2907-type drivers and the digit select drivers 440 are illustratively a pair of 2813-type drivers.
The thermal printing head is depicted in greater detail in FIG. 4. As shown therein, the printing head comprises a set of latch/drivers 510, a set of latch/drivers 520, a pulse width control 530, a thermal head temperature sensor 540 and a thermal printing head 550. The thermal printing head illustratively is a commercial device such as the DM 69414 printing head manufactured by Gulton Industries, Inc. of Metuchen, New Jersey. This printing head contains a single continuous row of printing elements spaced so as to print one hundred dots per inch on a strip that is slightly more than four inches wide. The printing head uses a total of sixty-nine address lines and nine strobe lines to deliver to the individual printing elements sufficient current to print visible indicia on a recording medium 560, such as a thermal paper. Latch/drivers 510 consist of an array of latches and drivers suitable for driving the sixty-nine address lines. Latch/predrivers 520 provide an array of latches and drivers suitable for driving the strobe lines.
Advantageously the intensity or gray scale of the print may be controlled by means of thermal head temperature sensor 540 and pulse width control 530. The intensity of the printed indicia will decrease with decreasing ambient temperature of the thermal head. To compensate for this, it has been found advantageous to adjust the length of the electrical pulse used for printing.
To read data from or enter data into the recorder of FIG. 2, the intelligent keyboard/display is plugged into the recorder by mating connectors 155 and 355. The keyboard/display will then determine that it has been connected to a recorder and will display RECORDR on display 170. At the same time the keyboard/display selects the recorder operating program which defines the keys of keyboard 190 as shown in Table 4. The keyboard sequence and display sequence in response thereto and explanatory comments relating to these keys are set forth in Table 5.
One particular application to which the combination of keyboard/display and recorder may be put is the hard copy printout of data stored in random access memory 120 of the keyboard/display. Data may be stored in RAM 120 from any single loop control instrument to which the keyboard/display is connected. The data may then be read from the keyboard display into RAM 220 of the recorder.
TABLE 4______________________________________RECORDER______________________________________INPUT INPUT INPUT INPUT INPUTOPTION SCALE BIAS SOURCE FILTRINPUT TRACE TEMP LOW HIGHVOLTS VALUE SCALE ALARM ALARMPRI SEC PAPERDIV DIV ADVCHART ACTIVE CHART DMDSPEED SPEED UNITS PRINTDAY MONTH YEAR HOUR MINSTATUS TRACEALARM ALARMACKN ACKN 7 8 9ID .uparw. .uparw. COMMNEXT .uparw. 4 5 6ENTER .dwnarw. .dwnarw. EU 0% EU 100% EU IDREAD/GO .dwnarw. 1 2 3 AUTH UNITS DIAGCLEAR SHIFT 0 . +/-______________________________________
TABLE 5______________________________________KEYBOARD DISPLAYSEQUENCE SEQUENCE COMMENTS______________________________________INPUT OPTION Read/Enter the linearization option for each of the 4 analog inputs (13 choices)INPUTOPTION k LINOP k k = 1-4READ = V**5/2 Five halves = V**3/2 Three halves = V**1/2 Square root = V Direct = OFF Off = PTNM Platinum RTD = NKL Nickel RTD = TCT Type T thermocouple = TCR Type R thermocouple = TCS Type S thermocouple = TCK Type K thermocouple = TCJ Type J thermocouple = TCE Type E thermocouple.uparw. . . . .dwnarw. = One of above? ? Appended to non- active optionENTER = One of above Other option selected - (? Disappears)INPUT SCALE Scale for DAC analog Input to Pre-conditioned Input conversionINPUTSCALE k INSCAL k k = 1-4READ = nnnn Unitlessmm . . . m mmmmm New scale factorENTER = mmmmm New scale factor entered (Note equal sign)INPUT BIAS Bias for DAC Analog Input to Pre-conditioned Input Conversion.INPUTBIAS k INBIAS k k = 1 to 4READ = nnnn Unitlessmm . . . m mmmmm New Bias FactorENTER = mmmm New Bias Factor Entered (Note Equal Sign)INPUT SOURCE Analog Input from MUX or from Serial Communications LineINPUTSOURCE k INSRC k k = 1 to 4READ = ANALOG Analog Input Mux = COMM Serial communications.uparw. . . . .dwnarw. = one of above? ? Appended to now active optionENTER = one of above Inactive Option selected (? disappears)INPUT FILTER READ/ENTER the Software filter (0.15HZ) option for each Analog InputINPUTFILTER k FLTR k k = 1 to 4 one of 2 optionsREAD = OFF 1.5 HZ filter = ON .15 HZ filter.uparw. . . . .dwnarw. = one of above? ? Appended to non- active optionENTER = one of above In Active option selected (? disappears)INPUT VOLTS Read the four analog input values (in volts)INPUTVOLTS k AI k K = 1 to 4READ = nnnnn VTRACE VALUES Read the Trace ValueTRACEVALUE k TRACE k k = 1 to 4READ = nnnnn* Trace Value in Engineering UnitsTEMP SCALE Read/Enter Temper- ature Scale desired for RTD and thermocouple LinearitationTEMPSCALE k Temp k k = 1 to 4READ = DEG C Celsius = DEG F Fahrenheit.uparw. . . . .dwnarw. = one of above? ? appended to non- active optionENTER = one of above Other option selected (? Disappears)CHART SPEED READ/ENTER Chart SpeedCHARTSPEED k CHSPD K k = 1 or 2READ = nnnn Chart Speed in chart unitsmm.m mmmmm New speed being enteredENTER = mmmmm New value entered (note equal sign)ACTIVE SPEED Read which chart speed is presently selectedACTIVESPEED SPDACTREAD = SPD1 Chart speed 1 selected = SPD2 Chart speed 2 selectedCHART UNITS READ/ENTER the units for the chart speed and timeCHARTUNITS UNITSREAD = CM = IN.uparw. . . . .dwnarw. = one of above? ? appended to non-active optionENTER = one of above new option selected (? disappearsDMD PRINT READ/ENTER Demand print conditionDMD PRINT DMDPRTREAD = OFF Demand print inactive = GO Demand print active.uparw. . . . .dwnarw. = one of above ? ? appended to non-active conditionENTER = one of above new condition selected (? disappears)DAY, YEAR, HOUR, MINALL SIMILAR READ/ENTER Time of Day andDESCRIBED DateTOGETHERDAY DAYYEAR YEARHOUR HOURMIN MINREAD = nnmm mm new valueENTER = mm new value enteredMONTH READ ENTER MonthMONTH MONTHREAD one of 12 choices = JAN JANUARY = FEB FEBRUARY = MAR MARCH = APR APRIL = MAY MAY = JUN JUNE = JUL JULY = AUG AUGUST = SEP SEPTEMBER = OCT OCTOBER = NOV NOVEMBER = DEC DECEMBER.uparw. . . . .dwnarw. = one of above? ? appended to non- selected monthENTER = one of above new month selected (? disappears)STATUS ALARM ACKN Read Status of Recorder Hardware Alarms/ Acknowledge the alarmsSTATUSALARM ACKN DACALMREAD = D DAC out of calibration C Computer/Async comm failure M Recorder in default config. P Paper out or chart offTRACE ALARM ACKN Read Trace Alarm Conditions/ Acknowledge LedTRACEALARM ACKN ALMSTSREAD 1x2x3x4x Trace numbers and alarm conditions shown x= H Trace in High Alarm x= L Trace in Low Alarm x= Blank Trace normalEU 0%EU 100% Read/Enter the engineering unit "scaling" values, to enable conversion from the Recorder's internal 0-100% range, to any desired range of engineering units (linear conversion)EU 0% k EU 0% k k = 1 k = 2EU 100% k EU 100% kREAD = nnnnnn value (no unit)mm . . . m mmmmmm New value being selectedENTER = mmmmmm Value entered (note equal sign)EU IDEU ID ALPHA Switch to the alphanumeric overlay, selected for engineering unit labels.NEXT Go to the next operation/function/ subscript.NEXT Next item The next function will displayed automatically be fetched as if that key(s) had been pressed in the complete sequentially ordered list of functions accessible by the NEXT key.uparw. . . . .dwnarw..uparw. .uparw. Raise or lower (slew).dwnarw. .dwnarw. the numerical value being currently displayed (If changeable Select optionsDIAG Switch to the diagostics overlay.DIAG DIAG Details not yet finalized.CLRCLR Clear operationCOMM Function not finalized (configures the communication interface)ENTERENTER = Display Enters a new value or option.IDID current ID Display the identifier of the currently selected variable.UNITS, SHIFTUNITS Units Display the Engineering units ID for this variable.SHIFT No Change Enable the upper case keys. Also performs a fast numeric slew.______________________________________
In accordance with programming routines stored in ROM 230 of the recorder, the contents of RAM 220 may then be printed by thermal printing head 320 on an appropriate recording medium 560. Advantageously, the keys of the keyboard/display can also be configured as an alphanumeric keyboard for entry of text onto the hard copy output of the recorder.
From the program description it will be apparent that the intelligent keyboard/display provides a versatile device for reading data from and entering data into different computer controlled instruments. Of particular interest, the keyboard/display provides a means for reconfiguring these instruments by selecting various options, a means for determining the particular options selected and a means for storing the configuration of a particular instrument. Finally, in connection with a recorder the keyboard/display provides for hard copy output.
As will be apparent to those skilled in the art, numerous modifications may be made in the above described apparatus without departing from the spirit and scope of the invention. Further, from the details concerning the function and operation of the various keys and displays, suitable software can be devised to implement any or all of the functions desired.
Claims
  • 1. A keyboard/display unit comprising:
  • a first microprocessor,
  • a keyboard having a plurality of keys through which data and/or commands may be supplied to said first microprocessor,
  • a display controlled by said first microprocessor
  • a read only memory in which is stored an operating program for said first microprocessor, said operating program defining the functions associated with at least some of said keys of said keyboard, and
  • means for connecting said keyboard/display unit to one of a plurality of other instruments for supplying data and/or commands to said instrument from said keyboard/display unit and for providing information from said instrument to said keyboard display unit, said keyboard/display unit being responsive to signals from the particular instruments to which said keyboard/display unit is connected to that upon receipt at said unit of a signal from a first type of instrument at least some of said keys of said keyboard are defined by said operating program to have first functions with respect to the input of data and/or commands to said first type of instrument and upon receipt at said unit of a signal from a second type of instrument said keys are defined by said operating program to have second functions with respect to the input of data and/or commands to said second type of instrument, whereby the same keys supply different data and/or commands to different types of instruments upon being connected thereto.
  • 2. In combination with the apparatus of claim 1, a plurality of process control instruments each of which comprises:
  • a second microprocessor,
  • means for connecting said process control instrument to said keyboard/display unit via the connecting means of said unit,
  • at least one input in addition to said connecting means,
  • at least one output, and
  • at least one option in the processing of said one input to form said one output, the particular option being selectable by operation of the keyboard of said keyboard/display unit.
  • 3. The keyboard/display unit of claim 1 further comprising a random access memory in which may be stored data derived from one instrument when said keyboard/display unit is connected thereto and from which may be read data for input to another instrument when said keyboard/display unit is connected thereto.
  • 4. In an industrial process control system in which process variables are measured and such measurements are used by control instruments in developing process control signals, a keyboard/display unit comprising:
  • a first microprocessor,
  • means for connecting said keyboard/display unit to one of a plurality of control instruments for supplying data and/or commands to said control instrument from said keyboard/display unit and for providing information from said control instrument to said keyboard/display unit,
  • a keyboard having a plurality of keys through which data and/or commands may be supplied to said microprocessor for input to a control instrument to which said keyboard/display unit is connected, said data and/or commands being used by said control instrument to determine the type of process control signals that are developed,
  • a display controlled by said first microprocessor, and
  • a read only memory in which is stored an operating program for said first microprocessor, said operating program defining the functions associated with at least some of said keys of said keyboard,
  • said keyboard/display unit being responsive to signals from the particular control instruments to which said keyboard/display unit is connected so that upon receipt at said unit of a signal from a first type of control instrument at least some of said keys of said keyboard are defined by said operating program to have first functions with respect to the input of data and/or commands to said first type of control instrument and upon receipt at said unit of a signal from a second type of control instrument said keys are defined by said operating program to have second functions with respect to the input of data and/or commands to said second type of control instrument, whereby the same keys supply different data and/or commands to different types of control instruments upon being connected thereto.
  • 5. In combination with the apparatus of claim 4, a plurality of process control instruments each of which comprises:
  • a second microprocessor,
  • means for connecting said process control instrument to said keyboard/display unit via the connecting means of said unit,
  • at least one input in addition to said connecting means,
  • at least one output, and
  • at least one option in the processing of said one input to form said one output, the particular option being selectable by operation of the keyboard of said keyboard/display unit.
  • 6. The keyboard/display unit of claim 4 further comprising a random access memory in which may be stored data derived from one control instrument when said keyboard/display unit is connected thereto and from which may be read data for input to another instrument when said keyboard/display unit is connected thereto.
US Referenced Citations (4)
Number Name Date Kind
3879722 Knowlton Apr 1975
4001807 Dallimonti Jan 1977
4107784 Van Bemmelin Aug 1978
4303973 Williamson, Jr. et al. Dec 1981
Non-Patent Literature Citations (1)
Entry
Programmable Keytop Employing Electrochromic Display, Jones IBM Tech. Discl. Bull., vol. 21, No. 4, 9/78, pp. 1671-1672.