Computers ind. Engng Vol. 19, Nos 1-4, pp. 190-194, 1990 Printed in Great Britain. All rights reserved
0360-8352/90 $3.00 + 0.00 Copyright © 1990 Pergamon Press plc
A N E W S T A N D A R D FOR INDUSTRIAL C O N T R O L L A N G U A G E S
Sencer Yeralan David J. Ramcharan Department of Industrial University
and S y s t e m s E n g i n e e r i n g of
Florida
Terry A. Bauer
Department of Electrical Engineering University of Florida
ABSTRACT
There exists a need and an opportunity to develop industrial control languages that take advantage of the powerful facilities offered by modern microcontrollers. Developing a fundamental systems description is a prerequisite to writing such high-level control languages. Such a fundamental systems description requires building and experimenting with alternative hardware/software architectures, and gathering empirical data in actual manufacturing environments. A 3-year project is initiated in the Industrial Research Laboratory at the University of Florida to investigate the various aspects of controller architectures, operating systems and languages. This report summarizes our approach and outlines the progress to date. 1.
BACKGROUND
This paper describes a new hardware and software standard in industrial control, applicable to industrial embedded controllers and ladder-logicbased programmable logic controllers. I n the hierarchy of industrial control, the embedded controller occupies the lowest echelon of intelligence, controlling simple devices or components of complicated devices. For example, in the control of an automated manufacturing cell, a controller may be embedded into a conveyor system, responsible for switching material flow. Likewise, a robot may employ several embedded controllers to monitor and manipulate individual joints to achieve the coordinated motion of the end effector. Since many embedded controllers may be used within a single manufacturing cell, any improvements to embedded controller software development and maintenance methods will be amplified at the cell level.
Although the embedded controller is a ubiquitous component in industry, it has not received the attention that is given to its counterpart, the general-purpose microprocessor. Specifically, operating systems and highlevel programming languages that would improve applications software development are needed for embedded controllers. The development of operating systems and high-level control languages requires a systems approach, taking into account hardware architectures, man-computer interface issues, industrial control applications, and software engineering issues. 190
Yeralan et al.: Industrial Control Languages
191
Specialized single-chip microcomputers, or microcontrollers, that are used in embedded control applications have been around since the late 1970's. Microcontrollers, compared to microprocessors, are required to operate in real-time, to track and execute several simultaneous or quasi-simultaneous tasks, and to be tolerant of external disturbances and hardware or software degradations. The new generation of single-chip microcontrollers possesses the necessary computing power, on-chip facilities, and speed to implement highly sophisticated dedicated controllers for industrial use. The original and current industry-wide standard control language is relay 1oglc, implemented by programmable controllers. Early programmable controllers were electro-mechanical devices rather than electronic devices. Thus, relay logic does not take advantage of the facilities offered by new generation microcontrollers. Although there are expanded versions of relay logic languages offered by programmable controller manufacturers, it is the premise of this paper that there is a need for a language for industrial control. Microcontrollers are often programmed in their own machine language. Owing to its simplicity and popularity, BASIC has been forced to become the default language for many industrial applications ranging from robotics to industrial vision systems in spite of its inability to fully utilize the power and flexibility of microcontrollers. Ada, a general purpose language developed by the Department of Defence, was designed with practical programming in mind. However, because Ada has a large overhead when handling concurrent modules, its performance in realtime applications is severely limited. Also, Ada does not allow the addition of new software modules to an up and running system, thus making expanding distributed control systems very cumbersome. 2.
RESEARCH APPROACH
In addition to their inability to fully utilize the power and flexibility of microcontrollers, currently popular high-level languages for industrial control, such as the Boolean decision-based programmable controller languages, are still sequential in nature. However, control applications may require parallel (simultaneous) decision making. The new approach will result in the development of a programmable controller consisting of two cooperating microprocessors, one executing eventbased operations without polling, and the other executing procedural operations. This paper describes how the new language facilitates high-level user interaction, optimizes the machine code generated, and provides the user with handles on the important hardware control utilities, including the timers, interrupt control logic, and the analogue-to-digital and digital-to-analogue converters. This language is designed to greatly enhance the efficiency of the programmer, or field engineer, by providing a structured approach to writing control codes which will be designed to reflect the thought processes involved in human conceptualization of distributed control systems. Ultlmately, the developed language will help to define a new standard in industrial control. 2.1. System Design and Development In the past, computer systems were developed from the bottom-up as shown in Figure 1. This approach has a built-in need for training of the operator, as a minimum, to use the program. If the operator must gain full access to the power of the processor, further training is required to use the operating system and the to become knowledgeable about the processor. We propose a top-down approach in which the end-user gets to define the system to fit their needs, expectations, and level of understanding; see Figure 2. The defined system will then lead to a user-friendly language and ultimately to a new processor architecture. Although this will result in a system specifically designed to deal with industrial control tasks, the wide-spread existence of those tasks makes the effort for the development of such a system worthwhile.
192
Proceedings of the 12th Annual Conference on Computers & Industrial Engineering
Electrical Engineer designs and builds controller
1 l Industrial/Manufacturing Engineer programs l Operator uses the system
Computer Scientist develops operating system
Figure i.
the system
Typical Controller System Development
Operator defines system requirements
1
Human Factors Engineer develops interface and language definition to meet operator's needs
1
Computer Scientist develops compiler and operating system
1
Electrical Engineer recommends or designs controller architecture
Figure 2.
Suggested Approach to Controller System Development
The project requires a systems approach, combining issues of human factors, computer hardware architectures, industrial control, and high-level languages. The research component in human engineering will investigate human-computer interaction as well as the thought processes involved in the human conceptualization of distributed control systems. Many current systems force the programmer to think in the format of the particular language that is used. Thus, writing a high-level control program in accordance to how control operators view and comprehend control tasks will result in a friendlier and more natural programming environment, and thus, will improve software productivity and accuracy. At the Industrial Research Laboratories we have defined a 3 year project focussing on the definition and development of such a system. Building a prototype industrial controller which implements the newly developed hardware architecture as a single-board embedded controller constitutes the first phase of this project. The controller will serve as a test bed in developing high-level control languages. These languages will facilitate high-level user interaction, optimize the machine code generated, and provide the user with handles on the important hardware control utilities, including the timers, interrupt control logic, and the analogue-to-digital and digital-to-analogue converters. These languages will greatly enhance the efficiency of the programmer, or field engineer, by providing a structured approach to writing control codes. Ultimately, the developed languages will help to define a new standard in industrial control. The planning phase of the project comprises four major tasks. 1.
Research into human factors related to how operators conceptualize and formulate control problems. This knowledge will play a major role in specifying the structure of the natural high-level language.
Yeralan et al.: Industrial Control Languages
193
2.
Research into controller hardware architectures. Preliminary work already completed yields a candidate architecture. This will be implemented. Other hardware architectures as they are conceived will also be built in the departmental laboratories.
3.
Research into software system architectures. We have developed a preliminary software system architecture that will be implemented as soon as the project commences. Other software architectures will be developed and tested on the prototypes.
4.
Testinq and evaluation of the developed controller hardware/software in a manufacturing environment. The products of research will be used to drive and monitor industrial manufacturing equipment at the departmental Industrial Research Laboratories. Empirical knowledge obtained from such experiments will contribute to further developments of the products.
The initial phase of the project is the systems definition phase of the hardware and software. Work has already begun in developing a high-level language to meet the specific needs of slngle-board industrial embedded controllers. An initial prototype is planned to be built in Fall 1990. Refinements on the hardware architecture and software structure will be carried out in an iterative fashion. The language will be developed for off-the-shelf hardware. Thus, no research into processor architecture is envisioned. Rather, the contribution of the proposed research will be identifying the industrial requirements likely to be imposed upon such controllers, and developing a software systems definition. 2.2. C o g n i t i v e
Aspects
We now focus on human qualities of the programmer relating to the mental processing involved in the programming task. In program design and development, both long-term and short-term memory recall of the programmer are essential. Long-term memory affects the organization of perceived ideas and facilitates problem-solving in working memory. Short-term memory is involved in cognitive processes when people extract structures from programs or compose programs. In long-term memory there are three types of knowledge: semantic knowledge of the application domain, semantic knowledge of programming concepts, and syntactic knowledge. The application domain, in our case, is the control of an integrated electronic and/or electro-mechanlcal system. Thus semantic knowledge of this domain would involve the following : i.
Knowledge of all operations being controlled: the inputs, the process, and the outputs.
2.
Knowledge of the relationships between a particular control action and the process being controlled.
3.
Knowledge of the interaction of the processes.
4.
Knowledge of the exceptions.
5.
Knowledge of the priorities.
2.3.
Performance Analysis
Since we will eventually be dealing with more than one alternative control system design, there needs to be a standard method for the evaluation and comparison of those alternatives. We have developed initial mathematical models of such systems. Our models are queueing models with arriving interrupts having different priorities and the power of preempting the current task. To date we have analyzed the case for exponential arrivals and general service time distributions. The following performance measures are of interest.
194
Proceedings of the 12th Annual Conference on Computers & Industrial Engineering
1.
Average waiting time of an interrupt of a given priority.
2.
Throughput or average queue length.
3.
Congestion or how many interrupts can be handled without the busy time being 100%.
3.
SUMMARY
There exists a need and an opportunity to develop industrial control languages that take advantage of the powerful facilities offered by modern microcontrollers. Developing a fundamental systems description is a prerequisite to writing such high-level control languages. Such a fundamental systems description requires building and experimenting with alternative hardware/software architectures, and gathering empirical data in actual manufacturing environments. A 3-year project is initiated in the Industrial Research Laboratory at the University of Florida to investigate the various aspects of controller architectures, operating systems and languages.
BIBLIOGRAPHY
i.
Bastani, F. et al, "Efficient Abstract Data Type Components tributed and Parallel Systems," IEEE COMPUTER, October 1987.
2.
Boehm, H. W., September 1987.
3.
Buhr, R. J. A., STstem Desiqn with Ada, Prentice-Hall
4.
Dubois M., "Synchronization, Coherence, processors," IEEE, February 1988.
5.
Goldsack, S. J., Ada for Specification i tations, Cambridge University Press, 1985.
6.
Salvendy G., Editor, Handbook of Human Factors, Wiley, 1987.
7.
Hoare, C. A. R., "An Overview of Some Formal Methods sign," IEEE COMPUTER, September 1987.
8.
Kpoetz, H., et al, "Distributed Fault-Tolerant Real-Time Systems : The Mars Approach," IEEE MICRO, February 1989.
9.
Mange, D. A., "A High-Level-Language Programmable Controller Part I-A Controller for Structures Microprogramming," IEEE MICRO, February 1986.
10.
Mange, D. A., "A High-Level-Language Programmable Controller Part IIMicrocompilation of the High-Level Language Micropascal," IEEE MICRO, April 1986.
ii.
McKeithen, "Knowledge
"Improving
Software
Productivity,"
IEEE
for DisCOMPUTER,
Inc., 1984
and Event Ordering
in Multi-
Possibilities
and
Limi-
for Program De-
K. B., Reitman, J.S., Rueter, H.H., Hirtle, S.C., Organization and Skill Differences on Computer Program-
mers," Cognitive Psychology,
13, pp 307-325, 1981.
12.
Pennington, N., "Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs," Cognitive Psychology 19 pp. 295-341, 1987. ' '
13.
Ramabadran, T. V., and S. S. Galtonde, tations," IEEE MICRO, August 1988.
14.
Shatz, S. M., and J-p. Wang, "Introduction to Distributed-Software Engineering,,, IEEE COMPUTER, October 1987.
"A Tutorial
on
CRC
Compu-