WO1989001201A1 - A terminal and a method for use with programmable logic controllers - Google Patents

A terminal and a method for use with programmable logic controllers Download PDF

Info

Publication number
WO1989001201A1
WO1989001201A1 PCT/GB1988/000631 GB8800631W WO8901201A1 WO 1989001201 A1 WO1989001201 A1 WO 1989001201A1 GB 8800631 W GB8800631 W GB 8800631W WO 8901201 A1 WO8901201 A1 WO 8901201A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
terminal
user
function
keys
Prior art date
Application number
PCT/GB1988/000631
Other languages
French (fr)
Inventor
Simon John Richmond Pinder
Original Assignee
Simplicon Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Simplicon Limited filed Critical Simplicon Limited
Publication of WO1989001201A1 publication Critical patent/WO1989001201A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards

Definitions

  • This invention is concerned with providing a simple, easily configurable system to enhance the potential and performance of Programmable Logic Controllers (programmable controllers or PLC's) in industrial, agricultural, domestic and other applications and to make them 'user friendly 1 .
  • Programmable Logic Controllers programmable controllers or PLC's
  • PLC's were designed as solid state devices intended to replace conventional relay circuits (including timers and counters), together with all their associated and inflexible hard wiring, by a programmable and easily altered method of configuring industrial control schemes. They later incorporated many other control features including the ability to handle analogue inputs and outputs. This enabled them to replace other discrete control devices such as three term controllers for pressure, flow, level or temperature etc. and positioners for movement, amongst other devices. Data registers within such PLC's are used to store values of control parameters, trip and alarm points etc, and this gives rise to a requirement for accessing and altering the PLC data register values. They also gave rise to a requirement to monitor the status of various facilities and to provide indication of alarm or malfunction.
  • the PLC can be equipped with communications interface modules to connect to a printer, data logging device or 'network' but these tend to be expensive.
  • communications interface modules to connect to a printer, data logging device or 'network' but these tend to be expensive.
  • discrete devices to perform these functions can be used, but incur duplication of equipment capability, and additional costs.
  • a number of alphanumeric display units are available, but these are generally not interactive, and such interactive terminals as are available generally require legending.
  • the use of the message table is generally random, and requires a specific instruction to call up each message, using valuable PLC memory.
  • the original concept of a single line display and simple keypad to provide interactive communication provided a low cost solution but suffered from restrictions in its versatility, in that it only had a limited number of keys and these had to be engraved for each application.
  • the simple display units generally communicate with the PLC through parallel input/output lines, and the message updating is triggered by the PLC itself.
  • the intelligence connected with the display is generally resident in the colourgraphic unit or computer, and this then 'reaches in' to the PLC data register memory in order to read from, or write to it.
  • the present invention seeks to provide a terminal for use with a PLC, such that it is possible to carry out all of the requirements listed above at a relatively low cost.
  • the present invention also seeks to provide a terminal which can be adapted for use with different PLC's with a minimum of alterations, and which can be used with PLC's in a wide variety of applications.
  • a terminal for use with programmable controllers, the terminal comprising: data entry means, for inputting data supplied by a user of the terminal; function selection means, by means of which a user is able to select a specific function; data communication means, for communicating with the programmable controller and accessing data registers within the programmable controller on the basis of a function selected by the user; and output means, for supplying information to the user, wherein the information supplied to the user via the output means relating to a selected function, and the data register or data registers or the location or locations within the data register, which are accessed by the data communications means on the basis of the function selected, can be chosen in advance.
  • the data entry means and the function selection means each preferably comprises a plurality of keys.
  • the terminal includes a keyboard, the keys of which include a first group of keys for the input of numerical data and a second group of keys for the selection of functions.
  • the output means preferably comprises a means for displaying alphanumeric characters and, in the preferred embodiment, a part of the display means is divided into a plurality of regions, each region being associated with a respective one of the keys from the second group of keys and serving to indicate the present function of that key.
  • the data registers, or memory locations within data registers, which need to be accessed when particular functions are chosen, will also vary depending upon the system to be controlled. Thus this choice can also be made by the operator before use of the terminal.
  • the output means may alternatively or additionally comprise a printer for providing a permanent record or information supplied to the user.
  • the output means may alternatively provide an alarm, for indicating, for example, when a data element within a data register in the programmable controller exceeds a preset value.
  • the user may require, for example that: a data element present in a data register is supplied to the user via the data communications means and the output means; or a data element present in a data register is replaced by new data supplied by the user via the data entry means, and the data communications means.
  • the names of variable functions whose values are represented by stored data elements will of course vary from one controlled system to another, as will the data register which it is necessary to access to carry out a particular function.
  • a terminal according to the present invention allows an operator to choose these before the terminal is used with the controller.
  • the user may supply nu erical data via keys included in the first group of keys.
  • Data may be either read from, or replaced in: a single data register; a group of contiguous data registers; or a random group of data registers.
  • .data input means for receiving data supplied by a user of the system; output means; and a processor programmed to permit a desired one of a generally applicable series of operations to be carried out, selectively, on data stored in data registers of the programmable controller, such that the user of the system is able, by inputting suitable data via the data entry means, to select a desired one of the series of operations.
  • the series of operations may at least comprise some or all of the operations of: editing data in specified memory locations in data registers of the programmable controller; reading data from specified memory locations in data registers of the programmable controller, and supplying read data to the user via the output means; interlock alarm or test functions.
  • the data input means, the output means, the processor and a store for the programs may be provided in a single unit; alternatively, or additional, the system may utilise the processor and the store associated with the programmable controller being used.
  • the processor may be further programmed to supply to the user, via the output means, instructions relating to the data which the user must input to cause particular operations to be carried out.
  • system is to be used with a programmable controller used for controlling widely differing controlled systems
  • further programming specific to the controlled system, may be provided in a replaceable module, for example stored on an integrated circuit or on disk or tape, and may cause relevant message and instructions, relating to that controlled system to be supplied to the user via the output.
  • the input means may comprise a first group of keys for input of numerical data and a second group of keys for input of data relating to the selection of operations.
  • the desired operation may be selected by the user by selective operation, at successive stages, of keys in the second group of keys, and messages and information relating to the available options, and specific to the application for which the programmable controller is being used, may be supplied to the user via the output means.
  • the output means includes an alphanumeric display, which may be divided into two regions, a first region being used to display information to the user, and a second region being further sub-divided into sections, each section being associated with a key in the second group, and the second region being used selectively either to supply to the user information concerning the functions of the keys in the second group or to display data read from data registers of the programmable controllers.
  • a method of establishing performance characteristics of a program within a programmable controller for use by a user the programmable controller being connected to a terminal having means for input of data by the user and means for output of data to the user, the method comprising the steps of: causing the terminal to supply information to the user specific to the system to be controlled by the controller; and causing the terminal to access data in the registers of the controller on the basis of functions selected by the user and on the basis of the system to be controlled.
  • Figure 1 is a schematic layout of a simple keypad and display forming part of the terminal in accordance with the invention
  • Figure 2 is a list of messages assembled into groups relating to their function;
  • Figure 3 shows a sequence of stepping operations to set up a specific function or operation within the PLC;
  • Figure 4 shows a sequence of operations for entering data
  • Figure 5 shows groups of function indicators set up by use of the 'soft keys' pressed in sequence
  • Figure 6 shows the manner in which the message is updated on the display, and how the data values are included within the message, and also shows the auxiliary functions
  • Figure 7 shows the manner in which data is input into the data entry word from which registers are written to.
  • Figure 8 shows the setting of operation indicators by customer configurable keys.
  • the terminal might be laid out generally as shown in Figure 1 and it comprises a simple keypad with distinct groups of keys: a numeric group 1 containing the digits 0-9 plus [ENTER] and [DELETE]; a group 2 containing dedicated function keys, e.g. [QUIT], [NEXT]; a group 3 containing customer configurable keys (normally unlegended) ; a group 4 made up of 'soft' keys, which are software legended.
  • a numeric group 1 containing the digits 0-9 plus [ENTER] and [DELETE]
  • a group 2 containing dedicated function keys, e.g. [QUIT], [NEXT]
  • a group 3 containing customer configurable keys (normally unlegended)
  • a group 4 made up of 'soft' keys, which are software legended.
  • the terminal also includes an alphanumeric display 5, which preferably comprises two or more lines, and may for example be either a liquid crystal display or a vacuum fluorescent display. Any line may display messages combining text and data values. One line also serves to provide legends for the 'soft' keys when required.
  • the terminal further includes an electronic interface converting the key signals to pulses to data to send to the PLC, and for converting the pulses of data sent from the PLC to messages for display, and/or auxiliary functions.
  • an electronic interface converting the key signals to pulses to data to send to the PLC, and for converting the pulses of data sent from the PLC to messages for display, and/or auxiliary functions.
  • Such an interface is well-known to those skilled in the art.
  • the linking feature for the items with reference to Figures 1 to 8 is a suite of software modules which have been devised to enhance the potential of the PLC by replacing almost all external discrete control devices, yet providing the necessary data read and write facilities.
  • This software may be resident in the PLC user memory or in memory associated with the terminal itself.
  • the suite of software comprises a set of software modules or macro's each of which performs a dedicated function.
  • the function of the macro will be the same for every PLC, but as the programming language varies between various makes of PLC, the form of these macro's will vary from one PLC to another. To allow a single terminal to be used with PLC's using different programming languages it is necessary simply to replace these modules as required.
  • the macros are preferably provided stored on, for example, ROM chips located within the terminal which are easily replaceable.
  • the most important module however is a universal module which changes neither in form nor function from one PLC to another, and which links together the keying operations, the response, as indicated by the display, the message or messages to be displayed, and the PLC operation to be performed.
  • the remainder of the suite of software comprises, for example, the following:
  • Key Input Module for decoding the key pressings for use in the program
  • Key Sequences Module for using varied key or 'soft' key sequences to select the required Function Indicators
  • Step Counter Module for displaying messages in groups of varying lengths, and providing Step Indicators
  • Data Entry Module for making changes to any of the data, presets, trip, alarm, or set points in the program
  • Data Validation Module for preventing data values entered from the keypad being outside the limits defined by the programmer
  • Auxiliaries Module for initiating printing or logging functions, operating alarm relays etc;
  • Display Module for generating the message sequence communicating with the terminal.
  • the PLC software message display module is sensitive to a change in the message text or data to be output to the terminal thereby reducing the amount of information exchanged between PLC and terminal.
  • the system is operated as is described with reference to Figure 6 in which seven 16-bit storage words form the message group 31 through 37.
  • a value put in the top line text word 31 will represent the message to appear on the top line of the display.
  • a value put in the bottom line text word 32 will appear on the bottom line of the display.
  • a data value placed in data 1 word 33 will be transferred to either the top or bottom line and the binary coded decimal value (BCD) will replace the data markers abc in the message.
  • a data value put in the data 2 word 34 will appear in either the top or bottom line message where the data markers def will appear.
  • a value placed in the auxiliaries word 35 will initiate one or more of a number of alternative functions.
  • One function may include the validation of data which is to be entered from the terminal keypad, in which case values showing the maximum or equal to value required is put in the message word valid 1 36 and the minimum value will be put in the message word valid 2 37. These will allow for a comparison to be made in which the data entered must either fall within the preset limits or be equal to the valid 1 value.
  • This allows for codes to be validated by the terminal and is known as the validation function 42.
  • the information given in the message either as to text or to data values, may be logged or stacked within the memory of the terminal. In order to accomplish this it is often desirable but not essential to make the message 'invisible' to the display, so that no change occurs in the display but the message and/or data is stored within the terminal memory 40.
  • the message in either 'visible' or 'invisible' form to the terminal may be transmitted through an output interface either to a printer, computer or a network 41.
  • auxiliaries function can cause the energisation of relays included in the terminal electronics package, so that audible warnings 38 or visual warnings 39 may be given.
  • a message table is loaded into part of the memory of the terminal and each message may contain not only text and data values, but also instructions for the operation of auxiliary functions and the limiting values for data input validation. Having outlined the control function requirements of this process, the system designer lists the messages required to be displayed at all stages of the operation, and places them in groups, according to their function. With reference to Figure 2, showing the message table layout, the messages are laid out in three alternative formats: single messages 10 which may or may not contain data markers abc 11 or def 12, or standard legends 13. Alternatively they may be grouped in pairs for example 6, 7 and 17 with one message to appear on the top line and one on the bottom line, in this case the lower number message appears on the bottom line.
  • These pairs of messages may form labels at various levels of function selection, or they may form the pointer message and legend for a group to be stepped through.
  • the third form of messages is that of a group to be stepped through 14, 15, 16 in which the pointer message and legend is followed by a series of related messages.
  • Reference to Figure 5 defines the sequence of operations which cause the setting of individual bits which are defined as function indicators, by pressing the 'soft keys' 22 through 25 such that following the first pressing of a key, one bit is set in a group of four (indicated by reference numeral 27) at level 1. Following the second key pressing one bit is set in a group of 16 (indicated by reference numeral 28) at level 2. Following a further key pressing a bit is set in a group of 64 (indicated by reference numeral 5 29) at level 3. All bits in all groups are reset by pressing the 'QUIT' key 26.
  • Any one of the Function Indicators at any of the levels, or at further levels if required, may be used by the Functions and Responses module of software to
  • the Response may fall into one of a number of categories, for example:
  • the secondary categories may include, for example:
  • the purpose of the Functions and Response module is to accumulate all the response requirements into a single Response Indicator which will then be used by 35 the remaining software modules and by the customer program to determine the operation of the PLC, and therefore of the controlled system. This results not only in a simplified system, but also in a substantial saving in PLC program and memory requirement.
  • the Function and Response module works in the following manner; i) Following the pressing of the various keys to form a route, a Function Indicator is raised. ii) This Function Indicator then prevents further sequence selections, and raises a label to decide which message or group of messages will be displayed. iii) The Function Indicator together with any secondary Function Indicators will then be combined to form a Response Indicator.
  • the Response Indicator will determine whether or not the group of messages is related to data values, and whether these data values are randomly disposed throughout the PLC register, or whether they are in a contiguous block for example within a shift register. v) The Response Indicator will also determine whether the data to be examined is also to be edited, whether or not the full group of messages is to be stepped through, and whether or not the operator will be allowed to step forward and then step backward amongst the group of messages. vi) The Response Indicator will also determine if the response should be subject to a timeout, and returned to the default messages if the operator does not continue to make key pressings.
  • the Response Indicator will decide if the entry of data from the numeric keys is required, and will enable the validation module in order that the data values subsequently entered may be contained within specified limits. viii) When a group of messages are being accessed and stepped through. A Step Indicator is made available, each Step Indicator being unique to the message, and the Step Indicator combined with the Function Indicator, will form the Operations Indicator. ix) The Operations Indicator will determine to which portions of the PLC user program the terminal will have access, and what effect the operations of the terminal will have upon that section of user program.
  • the data contained within the data entry word is transferred to the register where it is desired that this information should be written. Should the entry be invalid then the data entry word 48 may be cleared by pressing the 'DELETE' key 45.
  • the setting of Operation Indicators by customer configurable keys allows for the group of 12 customer configurable keys 3 to set up one bit in two bit groups 52 and 53. Those in the first group 52 allow for a single scan operation and are used for triggering functions which are required within a single scan. One bit is also set in the sustained pulse group 53 in which the bit remains set for as long as the operator keeps his finger on the key. This is used for inching and test functions.
  • the first message in a group, or a single message if required, constitutes the 'pointer' message or label which is displayed normally on the top line of the message display.
  • This will generally be accompanied by an associated 'soft key' legend to be displayed on the bottom line of the display giving the operator a number of options.
  • the 'soft key' legend associated with a pointer is placed in the message table one address prior to the 'pointer' message and will be called up by the same PLC instruction rung as that used to call up the 'pointer'.
  • the message table is then loaded into the terminal.
  • the terminal having been connected to the PLC and powered up, default messages will appear on the display, and the soft key legend will give a set of options for function selection.
  • Pressing one of the 'soft keys' will result in the display of a 'pointer' label and a second 'soft key' legend giving a further set of options.
  • a second 'soft key' may then be pressed causing a new 'pointer' message to appear together with a further set of 'soft key' options.
  • the 'pointer' message ⁇ and its attendant 'soft key' legend will enable the operator to perform a function related to the plant or machine operation.
  • Step Indicators allow the designer to use the step number and its associated message number to relate to a specific output (e.g. motor to be started or inched) or a specific data register to be addressed (e.g. timer or counter preset to be edited, or trip point to be set) .
  • a single step indicator may be used as a form of interlock to show that all previous steps have been gone through prior to starting or stopping some portion of customer program within the PLC.
  • a single instruction will call up the Data Entry response, allowing for new values to be input using the Numeric keypad and the [ENTER] key.
  • the auxiliary responses can be called up from within the terminal by specified codes within the auxiliary word in the message group.
  • a portion of the message may be loaded with data values which will relate to maximum, minimum and 'equal to' values which may be accepted as 'valid data' entered from the numeric keypad whilst the particular message is displayed. If, when entering the values referred to in the message, the operator keys in a number which is outside the limiting values, a standard response message will appear indicating the maximum and minimum values which are acceptable.
  • the function selected may be used as one requiring a code access by an operator, and in this case the failure to give the correct code will result in a message to indicate the fact.
  • the designer wishes to allow for an alarm message to be displayed warning of plant malfunction, he can also elect to load instructions into a further portion of the message to cause the terminal: to log the message in the alarm log with data and time; to print out the message with date and time; to energise a flashing indicator at any of a number of different flashing rates; to sound an audible warning at any of a number of different rates; to put the message in a message stack within the terminal to serve as a reminder to the operator later; or to combine any of these functions.
  • the soft key legends will allow the operator to summon up a help list of diagnostics or procedures to be followed. Having discovered the cause of the fault the operator may enter the reason using soft keys, and the information may be logged as part of the alarms log.
  • the designer can also elect to put information from the PLC data registers into a system log by specifying that the message should be 'invisible' to the operator at the terminal and that it should be logged. He can similarly elect for messages, with or without data values embedded, to be 'invisible' to the operator, and to go straight to a printer. He can also allow for 'events' of which the operator is already aware (for example opening a guard, pressing the emergency stop button, or editing a value) to be logged in an events log, and these messages may also be invisible to the operator, but go to the printer.
  • Similar auxiliary instructions may be sent to the terminal instructing it to send data out of its serial communications port to a network or supervisory computer.
  • This data may come either from the PLC or from the logs held by the terminal.
  • the software also allows for the PLC to overwrite the current instruction held in the message table in relation to

Abstract

There is disclosed a terminal for use with programmable controllers, the terminal comprising: data entry means, for inputting data supplied by a user of the terminal; function selection means, by means of which a user is able to select a specific function; data communications means, for communicating with the programmable controller and accessing data registers within the programmable controller on the basis of a function selected by the user; and output means, for supplying information to the user, wherein the information supplied to the user via the output means relating to a selected function, and the data register or data registers or the location or locations within the data registers, which are accessed by the data communications means on the basis of the function selected, can be chosen in advance. The terminal can thus be adapted for use in particular applications by means of such choices.

Description

A TERMINAL AND A METHOD FOR USE WITH PROGRAMMABLE LOGIC CONTROLLERS
This invention is concerned with providing a simple, easily configurable system to enhance the potential and performance of Programmable Logic Controllers (programmable controllers or PLC's) in industrial, agricultural, domestic and other applications and to make them 'user friendly1.
Initially PLC's were designed as solid state devices intended to replace conventional relay circuits (including timers and counters), together with all their associated and inflexible hard wiring, by a programmable and easily altered method of configuring industrial control schemes. They later incorporated many other control features including the ability to handle analogue inputs and outputs. This enabled them to replace other discrete control devices such as three term controllers for pressure, flow, level or temperature etc. and positioners for movement, amongst other devices. Data registers within such PLC's are used to store values of control parameters, trip and alarm points etc, and this gives rise to a requirement for accessing and altering the PLC data register values. They also gave rise to a requirement to monitor the status of various facilities and to provide indication of alarm or malfunction. It is also necessary to be able to log or print out information which the PLC carries within its data registers. Initially communication with PLC's was of substantially the same type as was used in the relay based systems which preceded them, that is to say input 'instructions' to the PLC had to be given by way of pushbuttons, selector switches, thumbwheel (decade) switches and potentiometers. Output information has been given by way of indicator lights, seven segment LED displays, and dial indicators. Each of these requires, according to its type, a number of input or output channels, together with the work of fitting and wiring the components and the engraving of legends. Higher levels of communication are now available including computer interfaces and colourgraphic units giving displays of information oh VDU screens, but these tend to be relatively expensive.
To enable the requirements for printing or data logging to be satisfied, the PLC can be equipped with communications interface modules to connect to a printer, data logging device or 'network' but these tend to be expensive. Alternatively discrete devices to perform these functions can be used, but incur duplication of equipment capability, and additional costs.
A number of alphanumeric display units are available, but these are generally not interactive, and such interactive terminals as are available generally require legending. The use of the message table is generally random, and requires a specific instruction to call up each message, using valuable PLC memory. The original concept of a single line display and simple keypad to provide interactive communication provided a low cost solution but suffered from restrictions in its versatility, in that it only had a limited number of keys and these had to be engraved for each application.
The simple display units generally communicate with the PLC through parallel input/output lines, and the message updating is triggered by the PLC itself. In the more intelligent colourgraphic and computer devices, the intelligence connected with the display is generally resident in the colourgraphic unit or computer, and this then 'reaches in' to the PLC data register memory in order to read from, or write to it. The present invention seeks to provide a terminal for use with a PLC, such that it is possible to carry out all of the requirements listed above at a relatively low cost. The present invention also seeks to provide a terminal which can be adapted for use with different PLC's with a minimum of alterations, and which can be used with PLC's in a wide variety of applications. The invention also seeks to provide a high level language man-machine interface requiring only basic PLC programming skills to implement. According to a first aspect of the present invention, there is provided a terminal for use with programmable controllers, the terminal comprising: data entry means, for inputting data supplied by a user of the terminal; function selection means, by means of which a user is able to select a specific function; data communication means, for communicating with the programmable controller and accessing data registers within the programmable controller on the basis of a function selected by the user; and output means, for supplying information to the user, wherein the information supplied to the user via the output means relating to a selected function, and the data register or data registers or the location or locations within the data register, which are accessed by the data communications means on the basis of the function selected, can be chosen in advance.
The data entry means and the function selection means each preferably comprises a plurality of keys. In preferred embodiments, the terminal includes a keyboard, the keys of which include a first group of keys for the input of numerical data and a second group of keys for the selection of functions. The output means preferably comprises a means for displaying alphanumeric characters and, in the preferred embodiment, a part of the display means is divided into a plurality of regions, each region being associated with a respective one of the keys from the second group of keys and serving to indicate the present function of that key. The information supplied to the user, relating to the present functions of the keys in the second group, needs to be specific to the particular application of the programmable controller, and the terminal is adapted such that this information can be chosen by an operator before the terminal is used in connection with a controller. Similarly, the data registers, or memory locations within data registers, which need to be accessed when particular functions are chosen, will also vary depending upon the system to be controlled. Thus this choice can also be made by the operator before use of the terminal.
The output means may alternatively or additionally comprise a printer for providing a permanent record or information supplied to the user. The output means may alternatively provide an alarm, for indicating, for example, when a data element within a data register in the programmable controller exceeds a preset value.
When selecting a function, the user may require, for example that: a data element present in a data register is supplied to the user via the data communications means and the output means; or a data element present in a data register is replaced by new data supplied by the user via the data entry means, and the data communications means. The names of variable functions whose values are represented by stored data elements will of course vary from one controlled system to another, as will the data register which it is necessary to access to carry out a particular function. A terminal according to the present invention allows an operator to choose these before the terminal is used with the controller.
In the preferred embodiment, the user may supply nu erical data via keys included in the first group of keys. Data may be either read from, or replaced in: a single data register; a group of contiguous data registers; or a random group of data registers. According to a second aspect of the present invention, there is provided an operator system for use with programmable controllers, the operator system comprising:
.data input means, for receiving data supplied by a user of the system; output means; and a processor programmed to permit a desired one of a generally applicable series of operations to be carried out, selectively, on data stored in data registers of the programmable controller, such that the user of the system is able, by inputting suitable data via the data entry means, to select a desired one of the series of operations.
In preferred embodiments, the series of operations may at least comprise some or all of the operations of: editing data in specified memory locations in data registers of the programmable controller; reading data from specified memory locations in data registers of the programmable controller, and supplying read data to the user via the output means; interlock alarm or test functions. The data input means, the output means, the processor and a store for the programs may be provided in a single unit; alternatively, or additional, the system may utilise the processor and the store associated with the programmable controller being used. The processor may be further programmed to supply to the user, via the output means, instructions relating to the data which the user must input to cause particular operations to be carried out.
If the system is to be used with a programmable controller used for controlling widely differing controlled systems, further programming, specific to the controlled system, may be provided in a replaceable module, for example stored on an integrated circuit or on disk or tape, and may cause relevant message and instructions, relating to that controlled system to be supplied to the user via the output.
The input means may comprise a first group of keys for input of numerical data and a second group of keys for input of data relating to the selection of operations.
In the preferred embodiment, the desired operation may be selected by the user by selective operation, at successive stages, of keys in the second group of keys, and messages and information relating to the available options, and specific to the application for which the programmable controller is being used, may be supplied to the user via the output means. Preferably, the output means includes an alphanumeric display, which may be divided into two regions, a first region being used to display information to the user, and a second region being further sub-divided into sections, each section being associated with a key in the second group, and the second region being used selectively either to supply to the user information concerning the functions of the keys in the second group or to display data read from data registers of the programmable controllers.
According to a third aspect of the present invention, there is provided a method of establishing performance characteristics of a program within a programmable controller for use by a user, the programmable controller being connected to a terminal having means for input of data by the user and means for output of data to the user, the method comprising the steps of: causing the terminal to supply information to the user specific to the system to be controlled by the controller; and causing the terminal to access data in the registers of the controller on the basis of functions selected by the user and on the basis of the system to be controlled.
The invention will now be described with reference to the accompanying drawings in which: Figure 1 is a schematic layout of a simple keypad and display forming part of the terminal in accordance with the invention;
Figure 2 is a list of messages assembled into groups relating to their function; Figure 3 shows a sequence of stepping operations to set up a specific function or operation within the PLC;
Figure 4 shows a sequence of operations for entering data; Figure 5 shows groups of function indicators set up by use of the 'soft keys' pressed in sequence;
Figure 6 shows the manner in which the message is updated on the display, and how the data values are included within the message, and also shows the auxiliary functions;
Figure 7 shows the manner in which data is input into the data entry word from which registers are written to; and
Figure 8 shows the setting of operation indicators by customer configurable keys.
The terminal might be laid out generally as shown in Figure 1 and it comprises a simple keypad with distinct groups of keys: a numeric group 1 containing the digits 0-9 plus [ENTER] and [DELETE]; a group 2 containing dedicated function keys, e.g. [QUIT], [NEXT]; a group 3 containing customer configurable keys (normally unlegended) ; a group 4 made up of 'soft' keys, which are software legended.
The terminal also includes an alphanumeric display 5, which preferably comprises two or more lines, and may for example be either a liquid crystal display or a vacuum fluorescent display. Any line may display messages combining text and data values. One line also serves to provide legends for the 'soft' keys when required.
The terminal further includes an electronic interface converting the key signals to pulses to data to send to the PLC, and for converting the pulses of data sent from the PLC to messages for display, and/or auxiliary functions. Such an interface is well-known to those skilled in the art.
The linking feature for the items with reference to Figures 1 to 8 is a suite of software modules which have been devised to enhance the potential of the PLC by replacing almost all external discrete control devices, yet providing the necessary data read and write facilities. This software may be resident in the PLC user memory or in memory associated with the terminal itself.
The suite of software comprises a set of software modules or macro's each of which performs a dedicated function. The function of the macro will be the same for every PLC, but as the programming language varies between various makes of PLC, the form of these macro's will vary from one PLC to another. To allow a single terminal to be used with PLC's using different programming languages it is necessary simply to replace these modules as required. The macros are preferably provided stored on, for example, ROM chips located within the terminal which are easily replaceable.
The most important module however, and that which is a key component of the system according to the second aspect of this invention, is a universal module which changes neither in form nor function from one PLC to another, and which links together the keying operations, the response, as indicated by the display, the message or messages to be displayed, and the PLC operation to be performed.
The remainder of the suite of software comprises, for example, the following:
Key Input Module, for decoding the key pressings for use in the program; Key Sequences Module, for using varied key or 'soft' key sequences to select the required Function Indicators;
Message Label Module, for providing the Response Indicators; Step Counter Module, for displaying messages in groups of varying lengths, and providing Step Indicators;
Data Entry Module, for making changes to any of the data, presets, trip, alarm, or set points in the program;
Data Validation Module, for preventing data values entered from the keypad being outside the limits defined by the programmer;
Auxiliaries Module, for initiating printing or logging functions, operating alarm relays etc; Display Module, for generating the message sequence communicating with the terminal.
Such modules are of a form well-known to those skilled in the art. The PLC software message display module is sensitive to a change in the message text or data to be output to the terminal thereby reducing the amount of information exchanged between PLC and terminal. When it is required to update the data within a display, or to generate a different display, the system is operated as is described with reference to Figure 6 in which seven 16-bit storage words form the message group 31 through 37. A value put in the top line text word 31 will represent the message to appear on the top line of the display. A value put in the bottom line text word 32 will appear on the bottom line of the display. A data value placed in data 1 word 33 will be transferred to either the top or bottom line and the binary coded decimal value (BCD) will replace the data markers abc in the message. A data value put in the data 2 word 34 will appear in either the top or bottom line message where the data markers def will appear. A value placed in the auxiliaries word 35 will initiate one or more of a number of alternative functions.
One function may include the validation of data which is to be entered from the terminal keypad, in which case values showing the maximum or equal to value required is put in the message word valid 1 36 and the minimum value will be put in the message word valid 2 37. These will allow for a comparison to be made in which the data entered must either fall within the preset limits or be equal to the valid 1 value. This allows for codes to be validated by the terminal and is known as the validation function 42. Alternatively the information given in the message, either as to text or to data values, may be logged or stacked within the memory of the terminal. In order to accomplish this it is often desirable but not essential to make the message 'invisible' to the display, so that no change occurs in the display but the message and/or data is stored within the terminal memory 40. As a further alternative the message in either 'visible' or 'invisible' form to the terminal may be transmitted through an output interface either to a printer, computer or a network 41.
Alternatively the auxiliaries function can cause the energisation of relays included in the terminal electronics package, so that audible warnings 38 or visual warnings 39 may be given.
A message table is loaded into part of the memory of the terminal and each message may contain not only text and data values, but also instructions for the operation of auxiliary functions and the limiting values for data input validation. Having outlined the control function requirements of this process, the system designer lists the messages required to be displayed at all stages of the operation, and places them in groups, according to their function. With reference to Figure 2, showing the message table layout, the messages are laid out in three alternative formats: single messages 10 which may or may not contain data markers abc 11 or def 12, or standard legends 13. Alternatively they may be grouped in pairs for example 6, 7 and 17 with one message to appear on the top line and one on the bottom line, in this case the lower number message appears on the bottom line. These pairs of messages may form labels at various levels of function selection, or they may form the pointer message and legend for a group to be stepped through. The third form of messages is that of a group to be stepped through 14, 15, 16 in which the pointer message and legend is followed by a series of related messages. Reference to Figure 5 defines the sequence of operations which cause the setting of individual bits which are defined as function indicators, by pressing the 'soft keys' 22 through 25 such that following the first pressing of a key, one bit is set in a group of four (indicated by reference numeral 27) at level 1. Following the second key pressing one bit is set in a group of 16 (indicated by reference numeral 28) at level 2. Following a further key pressing a bit is set in a group of 64 (indicated by reference numeral 5 29) at level 3. All bits in all groups are reset by pressing the 'QUIT' key 26.
Any one of the Function Indicators at any of the levels, or at further levels if required, may be used by the Functions and Responses module of software to
10 generate the required PLC response. The Response may fall into one of a number of categories, for example:
- select stepping function only
- edit a single data value
- read a block of contiguous data values 15 - edit a block of contiguous data values
- read a block of random data values
- edit a block of random data values ' - interlock a mode change
- interlock an override condition 20 - interlock alarms functions
- interlock test function
The above are primary function responses, secondary responses may be used to further define the exact functional response requirements of each Function 25 selected.
The secondary categories may include, for example:
- full step count
- inhibit back stepping
- enable help page facility 30 - timeout key pressing
- random line message
The purpose of the Functions and Response module is to accumulate all the response requirements into a single Response Indicator which will then be used by 35 the remaining software modules and by the customer program to determine the operation of the PLC, and therefore of the controlled system. This results not only in a simplified system, but also in a substantial saving in PLC program and memory requirement. The Function and Response module works in the following manner; i) Following the pressing of the various keys to form a route, a Function Indicator is raised. ii) This Function Indicator then prevents further sequence selections, and raises a label to decide which message or group of messages will be displayed. iii) The Function Indicator together with any secondary Function Indicators will then be combined to form a Response Indicator. iv) The Response Indicator will determine whether or not the group of messages is related to data values, and whether these data values are randomly disposed throughout the PLC register, or whether they are in a contiguous block for example within a shift register. v) The Response Indicator will also determine whether the data to be examined is also to be edited, whether or not the full group of messages is to be stepped through, and whether or not the operator will be allowed to step forward and then step backward amongst the group of messages. vi) The Response Indicator will also determine if the response should be subject to a timeout, and returned to the default messages if the operator does not continue to make key pressings. vϋ) The Response Indicator will decide if the entry of data from the numeric keys is required, and will enable the validation module in order that the data values subsequently entered may be contained within specified limits. viii) When a group of messages are being accessed and stepped through. A Step Indicator is made available, each Step Indicator being unique to the message, and the Step Indicator combined with the Function Indicator, will form the Operations Indicator. ix) The Operations Indicator will determine to which portions of the PLC user program the terminal will have access, and what effect the operations of the terminal will have upon that section of user program.
With reference to Figure 7, which shows the manner by which data is input, the key pressings on the terminal are relayed in hexadecimal format into a group of 4 bits within the PLC 47 and each time a numerical key 42 etc is pressed a bit pattern is set up in a group of 4 bits 47 within the PLC and transferred to the least significant digit location within a 16 bit data entry word 48. Subsequent key pressings allow the least significant digit to shift by one digit place and the next digit to be inserted.
When the 'ENTER' key 46 is pressed the data contained within the data entry word is transferred to the register where it is desired that this information should be written. Should the entry be invalid then the data entry word 48 may be cleared by pressing the 'DELETE' key 45.
With reference to Figure 8, the setting of Operation Indicators by customer configurable keys allows for the group of 12 customer configurable keys 3 to set up one bit in two bit groups 52 and 53. Those in the first group 52 allow for a single scan operation and are used for triggering functions which are required within a single scan. One bit is also set in the sustained pulse group 53 in which the bit remains set for as long as the operator keeps his finger on the key. This is used for inching and test functions.
The first message in a group, or a single message if required, constitutes the 'pointer' message or label which is displayed normally on the top line of the message display. This will generally be accompanied by an associated 'soft key' legend to be displayed on the bottom line of the display giving the operator a number of options. The 'soft key' legend associated with a pointer is placed in the message table one address prior to the 'pointer' message and will be called up by the same PLC instruction rung as that used to call up the 'pointer'. The message table is then loaded into the terminal. The terminal having been connected to the PLC and powered up, default messages will appear on the display, and the soft key legend will give a set of options for function selection. Pressing one of the 'soft keys' will result in the display of a 'pointer' label and a second 'soft key' legend giving a further set of options. A second 'soft key' may then be pressed causing a new 'pointer' message to appear together with a further set of 'soft key' options. When the required route of options has been taken the 'pointer' message^ and its attendant 'soft key' legend will enable the operator to perform a function related to the plant or machine operation.
Where a group of messages is associated with a function, the software makes a standard 'soft key' [STEP +] [STEP -] legend appear allowing the group to be stepped through as required. When a stepping response has been selected a series of internal program Step Indicators allow the designer to use the step number and its associated message number to relate to a specific output (e.g. motor to be started or inched) or a specific data register to be addressed (e.g. timer or counter preset to be edited, or trip point to be set) . Alternatively a single step indicator may be used as a form of interlock to show that all previous steps have been gone through prior to starting or stopping some portion of customer program within the PLC. Having selected a function which involves editing values, a single instruction will call up the Data Entry response, allowing for new values to be input using the Numeric keypad and the [ENTER] key., The auxiliary responses can be called up from within the terminal by specified codes within the auxiliary word in the message group. When the message is loaded into the memory store, a portion of the message may be loaded with data values which will relate to maximum, minimum and 'equal to' values which may be accepted as 'valid data' entered from the numeric keypad whilst the particular message is displayed. If, when entering the values referred to in the message, the operator keys in a number which is outside the limiting values, a standard response message will appear indicating the maximum and minimum values which are acceptable.
By using the 'equal to' requirement for entering data the function selected may be used as one requiring a code access by an operator, and in this case the failure to give the correct code will result in a message to indicate the fact. When the designer wishes to allow for an alarm message to be displayed warning of plant malfunction, he can also elect to load instructions into a further portion of the message to cause the terminal: to log the message in the alarm log with data and time; to print out the message with date and time; to energise a flashing indicator at any of a number of different flashing rates; to sound an audible warning at any of a number of different rates; to put the message in a message stack within the terminal to serve as a reminder to the operator later; or to combine any of these functions. When an alarm occurs and a suitable message to that effect is displayed, the soft key legends will allow the operator to summon up a help list of diagnostics or procedures to be followed. Having discovered the cause of the fault the operator may enter the reason using soft keys, and the information may be logged as part of the alarms log.
The designer can also elect to put information from the PLC data registers into a system log by specifying that the message should be 'invisible' to the operator at the terminal and that it should be logged. He can similarly elect for messages, with or without data values embedded, to be 'invisible' to the operator, and to go straight to a printer. He can also allow for 'events' of which the operator is already aware (for example opening a guard, pressing the emergency stop button, or editing a value) to be logged in an events log, and these messages may also be invisible to the operator, but go to the printer.
Similar auxiliary instructions may be sent to the terminal instructing it to send data out of its serial communications port to a network or supervisory computer. This data may come either from the PLC or from the logs held by the terminal.
The software also allows for the PLC to overwrite the current instruction held in the message table in relation to
- validation - audible and visual alarms
- printing
- logging so that the system is made entirely flexible.

Claims

1. A terminal for use with programmable controllers, the terminal comprising: data entry means, for inputting data supplied by a user of the terminal; function selection means, by means of which a user is able to select a specific function; data communications means, for communicating with the programmable controller on the basis of a function selected by the user; and output means, for supplying information to the user, wherein the information supplied to the user via the output means relating to a selected function, and the data register or data registers or the location or locations within the data register, which are accessed by the data communications means on the basis of the function selected, can be chosen in advance.
2. A terminal as claimed in claim 1 , wherein the data entry means and the function selection means each comprises a plurality of keys.
3. A terminal as claimed in claim 2, wherein the terminal includes a keyboard, the keys of which include a first group of keys for the input of numerical data and a second group of keys for the selection of functions.
4. A terminal as claimed in claim 3, wherein the output means comprises a means for displaying alphanumeric characters, a part of the display means being divided into a plurality of regions, each region being associated with a respective one of the keys from the second group of keys and serving to indicate the present function of that key.
5. A terminal as claimed in claim 4, herei'i th terminal is adapted such that information supplied to the user, relating to the present function of each key used for function selection, may be chosen in advance by an operator.
6. An operator system for use with programmable controllers, the operator system comprising: data input means, for receiving data supplied by a user of the system; output means; and a processor programmed to permit a desired one of a generally applicable series of operations to be carried out, selectively, on data stored in data registers of the programmable controller, such that the user of the system is able, by inputting suitable data via the data entry means, to select a desired one of the series of operations.
7. A system as claimed in claim 6, wherein the series of operations comprises some or all of the operations of:. editing data in specified memory locations in data registers of the programmable controller; reading data from specified memory locations in data registers of the programmable controller, and supplying read data to the user via the output means; interlock alarm or test functions.
8. A system as claimed in claim 7, wherein the data input means, the output means, the processor and a store for the programs are provided in a single unit.
9. A method of establishing performance characteristics of a program within a programmable controller for use by a user, the programmable controller being connected to a terminal having means for input of data by the user and means for output of data to the user, the method comprising the steps of: causing the terminal to supply information to the user specific to the system to be controlled by the controller; and causing the terminal to access data in the registers of the controller on the basis of functions selected by the user and on the basis of the system to be controlled.
PCT/GB1988/000631 1987-07-29 1988-07-29 A terminal and a method for use with programmable logic controllers WO1989001201A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8717907 1987-07-29
GB878717907A GB8717907D0 (en) 1987-07-29 1987-07-29 Programmable logic controllers

Publications (1)

Publication Number Publication Date
WO1989001201A1 true WO1989001201A1 (en) 1989-02-09

Family

ID=10621450

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1988/000631 WO1989001201A1 (en) 1987-07-29 1988-07-29 A terminal and a method for use with programmable logic controllers

Country Status (3)

Country Link
AU (1) AU2132288A (en)
GB (1) GB8717907D0 (en)
WO (1) WO1989001201A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999028794A2 (en) * 1997-11-26 1999-06-10 Moeller Gmbh Mini controller
AU707321B2 (en) * 1995-03-10 1999-07-08 Orica Explosives Technology Pty Ltd Controller and process for explosives mixing and loading
WO2000008530A1 (en) * 1998-08-06 2000-02-17 Moeller Gmbh Intelligent control
EP1024418A2 (en) * 1999-01-26 2000-08-02 Keyence Corporation Programmable controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2431153A1 (en) * 1978-07-11 1980-02-08 Renault Machine data acquisition control terminal system - manipulates instructions using hierarchical structure and permits dialogue with user
EP0120287A1 (en) * 1983-02-28 1984-10-03 Measurex Corporation Operator interface system and process
DE3504578A1 (en) * 1985-02-11 1986-08-14 Siemens AG, 1000 Berlin und 8000 München Numerical machine tool control having a visual display unit for displaying operating and indicating functions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2431153A1 (en) * 1978-07-11 1980-02-08 Renault Machine data acquisition control terminal system - manipulates instructions using hierarchical structure and permits dialogue with user
EP0120287A1 (en) * 1983-02-28 1984-10-03 Measurex Corporation Operator interface system and process
DE3504578A1 (en) * 1985-02-11 1986-08-14 Siemens AG, 1000 Berlin und 8000 München Numerical machine tool control having a visual display unit for displaying operating and indicating functions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CONTROL ENGINEERING, Vol. 33, No. 11, November 1986, p. 71-73, "Smart Terminals: Moving Out of the Control Room Onto the Factory Floor". *
CONTROL ENGINEERING, Vol. 33, No. 4, April 1986, p. 89, "Low Cost Color Man-Machine Interface". *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU707321B2 (en) * 1995-03-10 1999-07-08 Orica Explosives Technology Pty Ltd Controller and process for explosives mixing and loading
WO1999028794A2 (en) * 1997-11-26 1999-06-10 Moeller Gmbh Mini controller
WO1999028794A3 (en) * 1997-11-26 1999-10-07 Kloeckner Moeller Gmbh Mini controller
US6633278B1 (en) 1997-11-26 2003-10-14 Moeller Gmbh Mini controller
WO2000008530A1 (en) * 1998-08-06 2000-02-17 Moeller Gmbh Intelligent control
EP1024418A2 (en) * 1999-01-26 2000-08-02 Keyence Corporation Programmable controller
EP1024418A3 (en) * 1999-01-26 2004-12-29 Keyence Corporation Programmable controller

Also Published As

Publication number Publication date
GB8717907D0 (en) 1987-09-03
AU2132288A (en) 1989-03-01

Similar Documents

Publication Publication Date Title
US11809697B2 (en) Procedure for configuring a modular safety switching device
US4646245A (en) Modular installation for assembling and/or machining parts, with work stations including keyboard-display devices
US4648028A (en) Color enhanced display for a numerical control system
US4006464A (en) Industrial process controller
US4704676A (en) Method and apparatus for configuring a controller
US4736340A (en) Processor generating control programs for a programmable controller
US4400699A (en) Program selection apparatus
US5969718A (en) Method and apparatus for providing a softkey prompted user interface
US7069106B2 (en) Sequence circuit display method of injection molding machine
JPH0120441B2 (en)
US6694195B1 (en) Diagnostic system for irrigation controllers
US4862401A (en) Apparatus, specifically a balance, having a display of results of successive function sequences
EP1193581B1 (en) Programmable controller system
EP0235178B1 (en) Method and apparatus for configuring a controller
WO1989001201A1 (en) A terminal and a method for use with programmable logic controllers
US4414545A (en) Memory circuit for generating liquid crystal display characters
EP0039233B1 (en) Data input device
EP0539594A1 (en) Control device for operating panel
EP0120287A1 (en) Operator interface system and process
JPH0452202B2 (en)
JPH0916215A (en) Programmable display unit
JP2529773B2 (en) Message sequencer
GB2163927A (en) Graphic display for a numerical control system
JPS60159909A (en) Setting panel of control device
JP3067166B2 (en) Digital controller

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU GB JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

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