ISO/TR 12186:1993
(Main)Manufacturing automation programming language environment overview (MAPLE)
Manufacturing automation programming language environment overview (MAPLE)
Aperçu d'un environnement pour un langage de programmation pour les industries manufacturières (MAPLE)
General Information
Standards Content (Sample)
TECHNICAL
IS0
REPORT
TR 12186
First edition
1993-08-O 1
Corrected and reprinted
1994-05-I 5
Manufacturing automation programming
language environment overview (MAPLE)
AperCu d’un environnement pour un langage de programmation pour /es
industries manufacturibes (MAPLE)
Reference number
&O/-T-R 12186:1993(E)
---------------------- Page: 1 ----------------------
ISO/TR 12186:1993(E)
CONTENTS
1
1 Introduction
3
2 MAPLE Scope
3
21 . Scope
3
22 . Types of Objects
4
23 . Functions to be Supported
5
24 . Activities to be Supported
Requirements for a MAPLE 6
3
. 6
31 General Requirements
32 . Key Requirements 9
14
4 Architecture
14
41 . General Architecture
14
42 . Tools and Tool Integration
17
43 . Standard Libraries
0 IS0 1993
All rights reserved. No part of this publication may be reproduced or utilized in any form or
by any means electronic or mechanical, including photocopying and microfilm, without per-
mission in writing from the publisher.
International Organization for Standardization
Case Postale 56 l CH-1211 Geneve 20 l Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
ISO/TR 12186:1993(E)
5 Recommended Work 19
51 . Refinement of MAPLE Architecture 19
52 . User Interface Service Specification 19
53 . Tool integration Service Specification 19
54 . Data Handling Services Specification 19
Data Specification Libraries Specification 20
55 .
Program Libraries Specification 20
56 .
21
Figures and Tables
---------------------- Page: 3 ----------------------
ISO/TR 12186:1993(E)
The International Organization for Standardization (ISO) is a worldwide federation of
national standards bodies (IS0 member bodies). The work of preparing International
Standards is normally carried out through IS0 technical committees. Each member body
interested in a subject for which a technical committee has been established has the right
to be represented on that committee. International organizations, governmental and non-
governmental, in liaison with ISO, also take part in the work. IS0 collaborates closely with
the International Electrotechnical Commission (IEC) on all matters of electrotechnical
standardization.
The main task of IS0 technical committees is to prepare International Standards. In
exceptional circumstances a technical committee may propose the publication of a
Technical Report of one of the following types:
- type 1, when the required support cannot be obtained for the
publication of an International Standard, despite repeated
efforts;
- type 2, when the subject is still under technical development
or where for any other reason there is the future but not
immediate possibility of an agreement on an International Standard;
- type 3, when a technical committee has collected data of a
different kind from that which is normally published as an
International Standard (“state of the art”, for example).
Technical Reports of types 1 and 2 are subject to review within three years of publication,
to decide whether they can be transformed into International Standards. Technical
Reports of type 3 do not necessarily have to be reviewed until the data they provide are
considered no longer to be valid or useful.
ISO/TR 12186, which is a Technical Report of type 3, was prepared by Working Group
4 (Manufacturing Programming Environment) of Subcommittee 5 (Communications and
Architecture) of Technical Committee 184 (Industrial Automation Systems and Integration).
This document is being published in the form of a Technical Report because it is intended
to provide an informative (rather than normative) overview of the Manufacturing
Automation Programming Language Environment (MAPLE). Subsequent parts of this
document will detail the specific elements (such as architecture, services, and libraries)
that will fulfill the general MAPLE requirements.
iv
---------------------- Page: 4 ----------------------
TECHNICAL REPORT ISO/TR 12186:1993(E)
Manufacturing automation programming language
environment overview (MAPLE)
1 INTRODUCTION
This Technical Report describes the requirements for a Manufacturing Automation Programming
Language Environment (MAPLE). This environment will provide a common support facility for multiple,
independent programming languages for manufacturing devices and controls and as such is intended to
increase the productivity of its various users. This report is intended for the technical committees,
subcommittees, and working groups of those standardization bodies whose scope includes items that
are required by the MAPLE, and who are interested in contributing towards the development of such a
MAPLE.
This MAPLE has been specified to address the following problems that have been recognized in the
domain of manufacturing application programming languages for automated production:
- Manufacturing presents a diversity of tasks with widely varying requirements and constraints. Often,
addressing these tasks requires programming. Because of the diversity of requirements and constraints,
a variety of manufacturing application programming languages has been found necessary.
- Typically, each manufacturing application programming language has its own unique environment of
development methodologies, development, debug and simulation tools, and run-time services.
- As a result, it is only with difficulty that an application developer or designer may coordinate the use of
differing manufacturing languages for the individual tasks of a complete project, though this is a
common need.
- Similarly, it is with great difficulty that systems engineers and integrators combine programs developed
using different manufacturing languages, because they use or require different run-time services.
To address these problems, a manufacturing application programming language environment (MAPLE) is
specified. This MAPLE is a structured set of capabilities that connects the objects such as data used in
CIM to the required user oriented tools.
The Objects consist mainly of such items as part machining
Figure 1 illustrates this connection.
programs, parts lists, geometric descriptions of parts, manufacturing schedules or such complex objects
as virtual manufacturing devices. A major requirement on these objects is that they conform with certain
data interface specifications, which allow the MAPLE to access these objects. User Oriented Tools
typically consist of Application Programs such as manufacturing language editors and schedulers for
manufacturing resources, or programs for the display of data, or the simulation of manufacturing
sequences as specified by a machining or material handling program. Again, all User Oriented Tools are
required to conform with User Interface Service specifications to MAPLE. Some of the User Oriented
Tools, such as language editors, use the MAPLE without being part of it, while a number of routing
services for such tasks as display of data or data conversion are so universally used and sufficiently
generic that they are included in standard libraries of the MAPLE and, as such, form an integral part of
MAPLE.
---------------------- Page: 5 ----------------------
ISO/TR 12186:1993(E)
In a manner totally
The MAPLE user usually communicates with one of the User Oriented Tools.
transparent to him, the User Oriented Tools avail themselves of the sewices that the MAPLE can provide,
by issuing specific MAPLE commands, such as Fetch Data, Display Data or Simulate operations
specified by machine program commands.
In its simplest form, MAPLE responds to these commands by performing compatibility checks between
data formats and User Oriented Tools’ requirements on data formats. In a more complex case, MAPLE
responds by first selecting an appropriate secondary User Oriented Tool, such as a display service,
checking data compatibility, and then sending the data from the primary User Oriented Tool to the
secondary User Oriented Tool.
This MAPLE will support:
- design and development of programs written in application programming languages;
- operation and management of manufacturing production software.
The following are examples of the types of users considered:
a) users of MAPLE standards such as:
1) developers of MAPLE tools;
2) developers of CAE systems;
3) developers of manufacturing application languages;
who will provide tools for:
b) users of MAPLE tools such as:
1) product designers;
2) process planners;
3) manufacturing plant designers;
4) station level device programmers;
5) system engineers and integrators;
6) installation engineers;
7) production engineers;
who, in turn, will provide key information, tasks and resources to:
c) end-users of MAPLE such as:
1) machine tool operators;
2) material handler operators;
3) cell and shop supervisors;
4) maintenance personnel;
5) production schedulers;
for operating the production process.
---------------------- Page: 6 ----------------------
ISO/TR 12186:1993(E)
2 MAPLE SCOPE
The need exists for the programming of several types of functions at the Station, Cell and Section level
(Levels 2, 3, and 4) of the IS0 10314 Shop Floor Production Model. These functions include managing
and controlling the equipment in the work Station, coordinating work Stations in a Cell, and supervising
the activities of Cells in a Section as well as the communication between entities at the Station and
higher levels.
The general requirements for the MAPLE are that it provides a structured environment for application
programs to control, command, co-ordinate and supervise any type of automated manufacturing
equipment. MAPLE will not monitor or control manufacturing activities, but will provide the tools for the
programming of different types of equipment, and conform to existing and foreseeable manufacturing
practice.
2.1 Scope
The scope of the MAPLE covers the areas of Product Design, Product Production, and Management and
Control for discrete parts manufacturing.
This covers a wide variety of manufacturing data and languages such as, for example, STEP (Express) in
the product design area, the ANSI Input Language, CLData, IRData and Communication Protocols in the
product manufacturing area and Function Blocks and Ladder Diagrams in the control area.
Many programs like CAD/CAM compilers, interpreters, data conversion and/or manipulation programs
will be used. While the MAPLE will support the use and execution of such programs, the development,
test and maintenance of such programs are to be outside of the current scope of MAPLE.
installation, integration and use of
Within this domain the MAPLE should support the economic
manufacturing automation software packages by providing:
- logical positioning of major manufacturing related software functions within the architecture developed
in IS0 10314-l (the reference model for shop floor production standards);
- interface specifications for data transfer between elements in the architecture;
- data storage specifications for data held and shared by applications in the architecture;
- user interface specifications which will reduce the unnecessary, and confusing, differences between
applications and support their “transparent” integration, as perceived by the manufacturing user.
Since the requirements are complex and vary depending on the views of different users, this document
will provide a broad requirements overview for MAPLE from which requirements for specific subjects and
users can be developed in detail in future documents.
2.2 Types of Objects to be Supported
The objects to be supported by the MAPLE can be derived through an inspection of the MAPLE users
and include, but are not limited to:
- virtual devices (such as terminals, stations, displays and indicators);
- programmable controllers (PCs);
- numerically controlled (NC) machines;
3
---------------------- Page: 7 ----------------------
ISO/TR 12186:1993(E)
- robots;
- inspection machines;
- automated guided vehicles (AGVs);
- machining centers;
- material handling systems;
- cell controllers.
2.3 Functions to be Supported
The functions to be supported by the MAPLE arise from the needs of the MAPLE user and include, but
are not limited to:
- motion (displacement), manipulation and transport;
- machine settings (such as feed rates, speeds, ON/OFF);
- computation of product geometry parameters and workpiece parameters;
- equipment parameter adjustment;
- computation of cutting conditions;
- selection and ordering of cutting, auxiliary and measuring tools;
- workholder selection;
- production equipment selection;
- equipment/cell/station command and co-ordination (short term reactive scheduling);
- communication between devices and interface with operators;
- process control for parts processing (such as heat anodizing);
- preparation of process documentation (such as routing sheets);
- manufacturing process route development;
- job and task description;
- shop floor organization/coordination/supervision.
To achieve the highest possible degree of automation, components at the Station level should
communicate with other entities in the enterprise. This is required for control and monitoring of the
equipment to ensure that it is performing according to plans, that problems are detected at the earliest
possible time, and that timely data are supplied to support decision processes throughout the enterprise.
In addition, Equipment and Station level control programs require many parameters from other parts of
the enterprise on which to base control decisions. The standardization of data formats and interface
protocols at these levels will enable flexible interfacing among all entities in the enterprise.
Equipment parameters are initially set up depending on the type of processes performed, the type of
tools used, and the type of parts handled. Most of these parameters are established from knowledge
bases of empirical data (for example, machining data), but require adjustments based on actual data (for
example, from vision systems or adaptive control systems) as the process progresses. The
programming of these data acquisition and parameter adjustment functions will greatly enhance the
performance of the automated equipment.
The functions to be programmed at the Cell and Section levels deal mainly with planning, control,
coordination, dispatching and supervision. The main task of these programs is to make sure the
equipment at lower levels can function as planned. To achieve this MAPLE has to ensure that all the
objects needed for that purpose are available in the right place at the right moment.
In the case of NC
machining centers, for example, these objects include the workpiece to be machined, the necessary
tools to fixture it and to machine it, geometrical and technological information about those tools, and the
required NC program. Upon successful completion of a task, the higher level is so notified. When, for
one reason or another, the system does not achieve its goal, it should report this to higher levels and if
possible take action to solve the problem. This task requires data gathering, processing and analyzing
capabilities of the system for data coming from upper and lower levels.
---------------------- Page: 8 ----------------------
ISO/TR 12186:1993(E)
2.4 Activities to be Supported
In order to improve the productivity of the various users of the MAPLE it is not only necessary to provide
them with a set of integrated tools that make them more efficient in their individual tasks, but it is also
necessary to remove the necessity for manual intervention in what can be automated operations. A
number of activities should be supported to aid in this matter. The following is a non-exhaustive list of
such activities:
- requirements analysis;
- analytical modelling;
- functional and interface specification;
- prototyping;
- program development and testing;
- quality assurance;
- generation of user documentation;
- user training;
- problem report generation and tracking;
- maintenance and tracking of schedules.
5
---------------------- Page: 9 ----------------------
ISO/TR 12186:1993(E)
3 REQUIREMENTS FOR A MAPLE
3.1 General Requirements
The MAPLE is required to improve the integration opportunities experienced by manufacturing
enterprises. This is to be achieved by specifying an environment (the MAPLE) which effectively
eliminates many of the human and hardware interface problems throughout the design, development,
use and maintenance of manufacturing automation software. At the same time, the MAPLE must be
flexible enough not to constrain the development of innovative manufacturing applications software, or to
restrict the user in configuring unique collections of software products to meet individual needs. For the
end-users of MAPLE listed in 1. the MAPLE will be transparent.
Figure 2 illustrates the major elements generally required in an automated manufacturing enterprise.
In specifying the requirements for a MAPLE that encompasses these elements, it is helpful to consider
the needs from the factory operation viewpoint, which can be translated into:
- the data handling viewpoint, and
- the application software development viewpoint.
Each of these viewpoints are developed further in the following sections.
3.1.1 Requirements from a Data Handling Viewpoint
3.1.1.1 Data Handling
Various application programs are used in the operation of an automated manufacturing system, each of
which requires different programming languages. These programs have to be connected with each
other via communication of manufacturing data in order to realize integration and efficiency in
manufacturing.
The role of MAPLE is to offer a common support facility for this data communication.
The following are the principal requirements for the MAPLE:
- data passing;
- data description;
- data presentation, including visualization;
- data storage and retrieval;
- data editing/manipulation;
- data input.
The last item is required when the user manipulates the manufacturing data in the MAPLE, not while the
application program is running.
Some of the above requirements for the MAPLE have to be further investigated and adapted to the
characteristics of manufacturing activities.
6
---------------------- Page: 10 ----------------------
ISOjTR 12186:1993(E)
3.1.1.2 Data Passing
Manufacturing data passing leads to requirements for communication within systems. They include, but
are not limited to:
a) standard means and tools for
1) schema conversion,
2) communication protocols,
3) management of distributed controllers,
4) description for communication functions;
b) reliable timely communication between systems that ensures simultaneous, cooperative and multi-
structured control on the factory floor.
3.1.1.3 Data Description
The MAPLE is required to include a manufacturing data entity definition, including both syntax and
semantics. Control methods and sequences of the production facilities on the factory floor and
behaviors seen from simulations should be described in the data dictionary that provide semantics of the
manufacturing data, which will be managed by MAPLE. Furthermore, the MAPLE has to treat a meta
description for syntax usage of datalike executable codes.
Data description must also provide tools to ensure the data consistency among different data sets. Non-
production data closely related to the product should, for convenience, be supported by the MAPLE.
3.1.1.4 Data Presentation
Visualization is the most essential aspect of data presentation and includes the following requirements:
- schema conversion for 2D/3D graphic data and text data;
- a graphic interface package to connect application programs and common display devices;
- display devices for 3D objects.
3.1 .I .5 Data Storage and Retrieval
A distributed data base and distributed data processing are some of the key technologies used in
automated manufacturing. Accordingly, requirements for data base technology as shown below are also
essential in a MAPLE:
a) security;
b) authorization;
c) integrity;
d) verification;
e) schema control/data conversion;
9 support for distributed data bases including
1) data directory,
2) redundancy for resilience,
3) back up capability.
7
---------------------- Page: 11 ----------------------
ISO/TR 12186:1993(E)
3.1.1.6 Data Editing
Besides the general functionalities of data processing, MAPLE has to support:
a) graphic data manipulation such as
1) graphics editing, cooperating with text editing,
2) data conversion between 20 and 30 graphic data;
b) use of source code of application programs and their compilation.
3.1.1.7 Data Input
This is concerned with the human interface, and includes:
- dictionaries of key words and icons;
- user interface for screen layout;
- user interface for procedures.
3.1.2 Requirements from an Application Software Development Viewpoint
Abstract definitions of manufacturing devices, including their communication capabilities, matching real
devices on the shop floor are also required. Application software development has, so far, been realized
independently from these aspects, which has created many problems for programmers, developers,
integrators and others to meet the requirements of application programs: the processing of the right
data, at the right time, in the right place.
It may be impossible to establish international standards for supporting tools for application program
development in each specific manufacturing area. In some cases the following are not part of MAPLE;
however, as general requirements, MAPLE should support application program development at more
general levels. MAPLE also should establish a common facility for the support of application program
development in each particular automated manufacturing application. The following items are essential
requirements:
- specification of application programs as described in 3.1.2.1;
- processing description as described in 3.1.2.2.
3.1.2.1 Specification of Application Programs
Specifications are concerned with the total enterprise model. The total tasks of the specified
manufacturing application are analyzed, structured and decomposed into subtasks. Some of the
specifications are given as the requirements (desire) to application programs to be developed,
describing what should be done and where.
These requirements are analyzed and converted into detailed requirements, and finally into specifications
of application programs. In this process, some of the requirements (what is to be done) may include the
processing operations and/or sequences on when the information and/or capabilities of resources
required to perform the tasks are to be taken into consideration. These sequences describe how tasks
should be done and are concerned with the information processing description that is explained in the
next section.
---------------------- Page: 12 ----------------------
ISO/TR 12186:1993(E)
In order to clarify the specifications of application programs, it is recommended that MAPLE offer the
support tools for:
a) description of tasks, including, but not limited to
1) objectives,
2) functionality,
3) constraints imposed,
4) required information/data with their syntax and semantics, and
5) required capabilities of resources,
where tasks means not only enterprise tasks, but also include tasks and jobs in automated
manufacturing and/or on factory floors, and where syntax/semantics should be treated globally among
different data sets;
b) the usage of job and task description languages supported by a multi-language conversion function.
3.1.2.2 Information Processing Description
Starting from the specifications that describe what is to be done by application programs to be
developed, the design process decides how the requirements in the specifications should be
accomplished through the use of the described information/data, and through the resources under the
described capabilities and constraints.
MAPLE is required to support this application program development process by offering the common
tools which describe how the specifications are to be realized. These include, but are not limited to the
description of analysis, control and management methods, sequences of module functionality and
communication data flow among information processors in automated manufacturing, including non-
textual descriptions which support
- time critical,
- simultaneous, and
- cooperative
data processing.
3.2 Key Requirements
The key requirements for MAPLE can be broken down into three primary but interrelated requirements
for a MAPLE, namely modularity, portability and flexibility; and the secondary requirements for support of
multiple languages, command facilities, control and co-ordination programming, job/task execution, data
base access, communication, user aspects and advisory application tools. These will now be addressed
in more detail.
3.2.1 Modularity
The MAPLE should support a high level of modularity, extensibility and substitution. Modularity is a
given in an object oriented environment where, for example, objects used in simulation (such as a robot)
are built up from a hierarchy of more fundamental objects (such as sensors, actuators or grippers).
Modules for language editors can be composed of simpler modules such as parsers, syntax checkers
and option lists.
9
---------------------- Page: 13 ----------------------
ISO/TR 12186:1993(E)
Extensibility will allow, for example, the addition of further methods to simulation objects, or additional
features to language editors.
Substitution will allow, in a simulation for example, the choice between a number of objects representing
various degrees of detail of a physical object, or allow for the use of different editors for the same
language.
The MAPLE should be modular so that enterprises can acquire additional features, languages, and
libraries as they expand the scope of their automation activities. The modules from which MAPLE will be
built should be as small as possible, subject to achieving a given performance.
The MAPLE should also support the programming of modular libraries of functions and data, to enable
enterprises to acquire only the libraries required for the individual operation.
When different procedures or programs are available in the MAPLE to achieve the same desired result, a
full choice should be provided to the user of MAPLE, without influencing the result.
3.2.2 Portability
The MAPLE, that is, the underlying architecture of the MAPLE, as well as the commands, functions and
utilities should be portable across computer platforms and networks. Implementations of particular
functions may differ on different platforms, but even here, portability of modules supporting functions will
be desirable. This does not mean that the MAPLE will always be ported in its entirety. For example,
certain communication modules or some specific language editors may not be required on a particular
stand-alone computer platform. Due to the modularity requirement, these modules may easily be
eliminated when not required.
3.2.3 Flexibility
The MAPLE should be highly flexible and adaptable to a given usage situation. It should allow the
exploitation of new hardware and software features that may exist on certain installations or be
developed over time. For example, in the future a MAPLE user may want to employ a glove device
rather than a mouse or keyboard to interact with a software module, a novel manufacturing device may
require a new type of command, or a new communication protocol or application language requires
incorporating into the environment. The MAPLE should provide the adaptability and flexibility to easily
incorporate these new features.
3.2.4 Multiple Languages
The functions to be programmed vary considerably among the tasks to be performed and the types of
equipment. The languages to be used within MAPLE may be:
- descriptive languages, such as IGES, STEP, or BNF;
- programming languages - either procedural like the ANSI Input Language, G-Code or Pascal, or object
oriented such as Smalltalk or C + + ;
- protocol languages such as MAP or MMS,
- graphical languages such as ladder diagrams or function blocks.
The MAPLE should make it easy for the user to program in the language he feels to be the most suitable
to the quality and quantity of the operation, and the equipment which will execute the operation. It
should be user friendly and consistent in use.
10
---------------------- Page: 14 ----------------------
ISO/TR 12186:1993(E)
3.2.5 Command Facilities
The facilities of the MAPLE should be accessible by either interactive or traditional batch processing
means, whatever is appropriate to the user.
A set of standardized key words, icons and function keys should be supported through all modules of
MAPLE to facilitate the user with a set of common usability features independent of the operation and
the procedure.
For example, for actions regarding Transport, Transform, Verify and Store, key words in the Transport
category, such as Pick, Move and Place should have specific meanings throughout the environment.
Similarly, icons for State, Stop, Wait, Full and Empty should be unique.
3.2.6 Control and Co-ordination Programming
Since the MAPLE will be used in small, intermediate and large enterprises, it should support appropriate
hardware and software system configurations.
This requires that the MAPLE supports local as well as distributed systems. Distributed means
distribution within the same location, between remote locations as well as the communication between
different en
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.