This document has been prepared in order to be used by OSAI. It describes the latest release of the
product.
OSAI reserves the right to modify and improve the product described by this document at any time
and without prior notice.
Actual application of this product is up to the user. In no event will OSAI be responsible or liable for
indirect or consequential damages that may result from installation or use of the equipment described
in this text.
abc
SUMMARY OF CHANGES
General
This publication has been issued with the software release 7.2.
This issue completely replaces the previous ones.
PAGEUPDATE TYPE
Chapter 3
Page 3Updates values in SW02 system status flag tables.
Chapter 6
Page 2,3
Page 10,11
Page 13
Modified error codes in FB $EMERGNR
Modified error codes in $EMERGR
Added paragraph on FastWire emergency conditions
UPDATE
10 Series CNC PLUS Application Manual
Chapter 11
Chapter 12
Added new chapter on CANOPEN
Added new chapter on FASTWIRE
10 Series CNC PLUS Application Manual(11)
abc
Preface
10 Series CNC PLUS Application Manual
PREFACE
The 10 Series numerical control introduces many new Technical concepts. One of the most important
of these concepts is the concept of information exchange between the CNC and the integrated PLC
(Programmable Logic Controller).
Conventional controls use a window with a large amount of fixed flags, which are continuously
scanned and updated by both CNC and programmable logic control.
The concept of 10 Series by-passes this general conception with a simple but unique solution: both
CNC and PLC use function calls to alert each other, to pass information or to request a certain
action. These function calls need only be executed on event, thus freeing up CPU capacity and
increasing the general system performance.
This manual explains the new concept and shows how applications can use its power.
ABOUT THIS MANUAL
This manual is intended to be used by the OEM personnel in charge with the programming of the
machine tool interface. It gives an overview of the software architecture to be used to develop the
programmable logic.
• it does NOT explain the PLUS programming language and the use of any of its language
elements.
• it does NOT explain the use of the PLUSEDIT development software.
10 Series CNC PLUS Application Manual (10)1
Preface
10 Series CNC PLUS Application Manual
This manual is structured as follows:
Chapter 1explains the concepts of communication between the logic and the system.
Chapter 2gives a detailed view of the structure of the routines running on the PLC module: it
shows the timing and the execution priorities of the different routines on the I/O
processor and it makes you familiar with the special execution mode of the
background logic programs. Finally, it gives a list of declarations needed to define
the different routines.
Chapter 3deals with the data areas in the PLC module's memory and in its dual port.
Chapter 4explains the routines which make up the interface between the part program and
the logic.
Chapter 5shows how the executive command filters can be used.
Chapter 6covers the emergency routines.
Chapter 7explains the OEM softkey routine.
Chapter 8is the practical part of the manual which explains how the controls communication
concept can be used to create powerful applications.
Chapter 9this chapter describes how to use the INTERBUS feature on 10 Series systems.
Chapter 10this chapter describes the configuration modality of PROFIBUS on 10 Series
systems.
Appendix Acontains a glossary of verbs and expressions used in this manual.
OTHER MANUALS ABOUT PLUS
Beside this manual there are 2 other specific manuals about PLUS:
• 10 Series CNC PLUS LIBRARY code 4500 6682 C
This manual covers the library function calls and the function blocks available in the PLUS
programming language:
− Basic language function blocks
− Language extensions
− Counters and timers
− System function calls
− function calls
• 10 Series CNC PLUS LANGUAGE & PLUSEDIT code 4500 6672 P
This manual describes the PLUS language, the editors and the utilities to generate an executable
logic program:
− instruction list editor (IL) + basic language elements
− ladder diagram / function block diagram editor (FBD/LD)
− macro instruction list editor (MACRO-IL)
− sequential function chart editor (SFC)
− PLUSGEN generator (compiler)
− I/O configurator
− ASCII editor
210 Series CNC PLUS Application Manual (10)
Preface
CAUTION
IMPORTANT
10 Series CNC PLUS Application Manual
Other manuals may be of interest when programming a machine tool interface:
1. 10 Series CNC AMP - Software Characterisation Code : 4500 6667 V
describes the system/process software configuration utility and its parameters
2. 10 Series CNC Programming Manual Code: 4500 4457 K
describes the 10 Series CNC part program language
3. 10 Series CNC User Manual Code:4500 4452 H
describes the use of the human interface, the CNC manual functions and the utilities available to
the operator
4. 10 Series Family Installation Guide Code 4500 6657 R
contains the complete information needed to realise a correct installation of the 10 Series CNC
system.
5. 10 Series CNC Software Installation Manual Code 4500 6687 N
contains the complete information needed to install the software release.
WARNINGS
For correct control operation, it is important to follow the information given in this manual. Take
particular care with topics bearing one of the mentions: WARNING, CAUTION or IMPORTANT, which
indicate the following types of information:
Draws attention to facts or circumstances that may cause damage to the control,
WARNING
to the machine or to operators.
Indicates information to be followed in order to avoid damage to equipment in
general.
Indicates information that must be followed carefully in order to ensure full
success of the application.
The system communicates to the logic through the logic interface. This Interface consists of two
tasks, the "consent request task " and the "part program interface " task. These tasks receive the
commands and the parameters from the system, process them and sends some of them to the
application logic program.
Each one of these tasks can be made up of several routines which have to be written by the PLUS
programmer. Some of the routines are optional, i.e. if they have not been written, they will not be
activated by the system.
SYSTEM FUNCTION CALLS
The logic from its part communicates with the system through a set of function calls which can
include a parameter exchange between the two parties. There are two types of function calls:
•NO WAIT functions pass a command (with parameters) to the system without waiting for an
answer (the application program execution is not suspended).
•WAIT functions pass a command to the system and wait for a res ponse ( the logic execution is
suspended until the response arrives)
COMMON DATA AREAS
The third communication channel between the logic and the system are the common data areas in
the battery buffered dual ported memory of the I/O processor board. These areas can be divided in:
•System area. This is a group of 100 variables of the type short (16 bit integer word) containing the
status of the system and/or the processes.
•Global variables. These variables are referred to as "G" variables. They have two formats; short
and double (precision floating point). They can be read and written by both part program and logic
program. The G variables are retentive, i.e. they are not cleared after powering up the system.
•Tables. Tables are retentive memory areas in the dual port of the I/O processor module. They can
be commonly accessed by the system and by the logic programs. The data contained in tables
includes:
− tool data
− tool offset data
− axes origin data
− axes offsets
END OF CHAPTER
1-210 Series CNC PLUS Application Manual (02)
Chapter
2
ORGANIZATION OF THE APPLICATION LOGIC
The logic program is organised in independent routines. All these routines run on the I/O processor
module and have different priorities depending on their use. The program's various routines are
activated by the PLC's Operating System either following specific events or on clock or they are
continuously executed (in loop).
AVAILABLE ROUTINES
Routines activated on event (fast input routines)
You can define up to 4 interrupt routines (one for each input) which are executed when the relevant
"fast input" on the I/O processor module is set true. Each routine is dedicated to a specific fast input.
The association of fast input and corresponding routine is given by the predefined names for the
routines. The execution starts on the true-going edge of the corresponding fast input signal. All other
activities of the I/O processor task will be suspended for the duration of the execution of the routines.
In other words, the fast input routines have the highest execution priority of all routines. For this
reason these routines must be as short as possible (<< 5ms).
Routines activated on clock (foreground)
This routine (only one can be present) will be executed on each clock tick of the I/O processor
module. This clock tick is presently set to 10 ms. If the foreground routine execution time exceeds
the available time (max. 10 ms), the system will generate an "overrun error" and go in emergency
status.
The primary use of the foreground routine is to "latch" events to be executed with precise and fast
timing such as read/write physical I/O device status or handling of security/emergency devices.
10 Series CNC PLUS Application Manual (08)2-1
Chapter 2
Organization of the Application Logic
Routines activated on emergency (emergency routine)
Two emergency routines are available: their task is to handle the anomalies (emergencies) detected
by the system. The anomaly detected can be recoverable or not recoverable. On emergency, the
logic may have to execute sequences of logic in parallel to the steps taken by the system.
Routines activated on softkey - (OEM softkey routine)
There is one routine related to the OEM configured softkeys. Every time an OEM softkey is pressed
(or released), this routine will be executed and the softkey's parameters will be passed to it.
The OEM softkeys are defined in AMP, allowing OEM to provide its application with the identical look
and feel as the standard system operations (refer to AMP configuration manual). The OEM softkey
routine runs at a very low priority.
Routines activated background routines
A background routine is continuously executed in a loop like a program in a standard PLC. The I/O
processor can run up to 12 background routines in parallel.
Each background routine can execute functions of the WAIT type which will suspend the execution of
that background routine until arrival of the response. In the mean time the other background routines
will continue executing. In reality, when one routine is suspended, control will be passed to the next
one.
The logic programmer has to optimise the performance of the I/O processor using an optimised
distribution of the logic in the available background routines.
Routines activated on part program events (part program interface)
These routines (one for each configured process) will run every time, a part program block contains
information related to the logic (like M code, S word and Tool information and all other functions that
can be grouped under the definition of logic auxiliary functions).
Routines activated on system commands (consent request)
These routines (one for each configured process) run every time, a command is given to the system
(like cycle start, reset, etc.), allowing the logic to read and/or to inhibit the commands given to the
system by the operator.
This routine covers most commands given to the system from softkey and/or MTB panel.
2-210 Series CNC PLUS Application Manual (08)
Chapter 2
Organization of the Application Logic
Fig. 2-1 Logic organisation and communication channels
10 Series CNC PLUS Application Manual (08)2-3
Chapter 2
Organization of the Application Logic
SYSTEM CPU
PART
PROGRAM
INTERFACE
BACKGROUND
ROUTINE
# 1
SYSTEM
EMERGENCY
ROUTINE
LOGIC INTERFACE
OEM SOFTKEY
ROUTINE
FOREGROUND
ROUTINE
REQUEST TO
EXECUTE LOGIC
ROUTINES
CONSENT
REQUEST
ROUTINE
10 MS
TIMED
INTERRUPT
BACKGROUND
ROUTINE
# 2
BACKGROUND
ROUTINE
# 3
FAST INPUT
ROUTINES
I/O PROCESSOR MODULE
Fig. 2-2 Routine scheduling
FAST INPUT
HARDWARE
INTERRUPT
2-410 Series CNC PLUS Application Manual (08)
Chapter 2
Organization of the Application Logic
TASK SYNCHRONIZATION
You can synchronize some of the different previously discussed routines with a set of semaphores
(32) together with the instructions WAIT and SEND. With the WAIT instruction and one of the
semaphore numbers (0-31) you can suspend the execution of a routine (task) until one of the other
routines uses the SEND instruction with the same semaphore number. In this way you can
synchronize the execution of one task with an event in another task.
Fig. 2-3 Task Synchronization
The WAIT (3) instruction suspends the execution of task A until the SEND (3) command in task B is
executed on the same semaphore. Of course the exact point in time of the task's resumption also
depends on its priority.
NOTE:
A SEND on a semaphore can be issued without a task waiting for this semaphore. The SEND
instruction will simply be ignored. Any routine in WAIT status can only be released by the relative
SEND instruction. The routine that holds the SEND instruction must be synchronized with the routine
holding the WAIT status request.
You are not allowed to use the WAIT/DLY instructions in foreground, fast input
IMPORTANT
10 Series CNC PLUS Application Manual (08)2-5
and emergency routines
Chapter 2
Organization of the Application Logic
Fig. 2-4 Routine priority and size
2-610 Series CNC PLUS Application Manual (08)
Chapter 2
Organization of the Application Logic
Fig. 2-5 Steady Operation
Every 10 ms the system updates the I/O's, executes the all foreground routines and executes one of
the background ones for 1 ms. Every 10 ms one of the background routines present will be executed
in sequence. If a background routine takes less than 1 ms, it will be rerun from the start, until this
time runs out. No routine will be interrupted.
Fig. 2-6 High Priority Interrupt Operation
10 Series CNC PLUS Application Manual (08)2-7
Chapter 2
Organization of the Application Logic
When emergencies occur or fast input routines have to be processed, the steady operation of the I/O
processor will be interrupted and the high priority routines required will be executed immediately. Note
that the steady execution may be interrupted anywhere during the execution of the I/O ring update, of
the foreground logic or of the background logic.
Fig. 2-7 Low Priority Interrupt Operation
When low priority events occur, like consent request calls, part program Interface calls or even OEM
softkey calls, the foreground routine and all other higher priority tasks will not be interrupted. These
low priority routines will only run during the time available for background logic execution.
2-810 Series CNC PLUS Application Manual (08)
Chapter 2
Organization of the Application Logic
BACKGROUND EXECUTION
There can be up to 12 background routines. The background routines are those with the lowest
priorities among the routines making up the logic application and are executed in turn every 10 ms
(Tick Plus) for 1 ms.
At each Tick Plus the integrated PLC updates the I/O's and the foreground routines.
Consensus routines, part program interfaces and OEM softkeys are enabled at system request and
interrupt background execution.
After enabling all high priority routines at each Tick Plus, the system enables one of the background
routines and lets it run for 1 ms.
At each Tick Plus the system enables a different background routine. The sequence of activation is
determined by the number associated with the routine name. At the first Tick Plus the background
routine 1 ($BACK1) is enabled, at the second the background routine 2 ($BACK2) and so on.
Once the last background routine has been enabled, the system again starts with the first.
Therefore an individual background routine is executed over several Tick Plus, alternating part of its
code with that of other background routines in time slicing. If a background routine suspends its
execution voluntarily by calling a function such as WAIT or DELAY or indirectly by calling system
functions of the WAIT type, the remaining time up to the end of the millisecond is free for other
system operations (processing a part program, displaying, etc).
If a background routines is shorter than 1 ms, this is executed several times during the Tick Plus. If
the background task to be enabled is suspended at a new Tick Plus, no other background routine is
executed and the millisecond reserved for it is used by the system.
Fig. 2-8 Background logic execution
Fig. 2.8 shows 3 background loops with total execution times of 3, of 0.5 and 2 ms respectively.
10 Series CNC PLUS Application Manual (08)2-9
Chapter 2
Organization of the Application Logic
Supposing after foreground execution + I/O ring management the remaining time for each sampling is
constant at 5 mSec, the above routine are executed in the following sequence:
Fig. 2-9 Background execution sequence
2-1010 Series CNC PLUS Application Manual (08)
Chapter 2
Organization of the Application Logic
As can be seen, at each cycle a different background routine is started, which means that a short
background routine is executed more often than a long one.
Referring to the example, the repeat frequency of the 3 loops will be:
$BACK 190 ms
$BACK 230 ms
$BACK 360 ms
The formula for calculating the frequency of a background routine is:
duration of the background routine x number of background routines x 10
IMPORTANT
In this example it is assumed, that there are no interrupts (fast inputs, OEM
softkey, requests form a part program or from the operator)
10 Series CNC PLUS Application Manual (08)2-11
Chapter 2
Organization of the Application Logic
PLUS ROUTINES DECLARATION
To make all the routines described before available to be used, they must be declared in the source
program for the logic.
FOREGROUND routine ( 10 ms execution)
DTSK $FORE
foreground routine body
ETSK
BACKGROUND routines (loop execution)
DTSK $BACK1
background routine body
ETSK
and so on, up to
DTSK $BACK12
background routine body
ETSK
FAST INPUT routines (on event execution)
DTSK $FIN1
fast input #1 routine body
ETSK
DTSK $FIN2
fast input #2 routine body
ETSK
DTSK $FIN3
fast input #3 routine body
ETSK
DTSK $FIN4
fast input #4 routine body
ETSK
EMERGENCY routines (on event execution)
DTSK $EMERGR recoverable emergency
emergency routine body
ETSK
DTSK $EMERGNR unrecoverable emergency
emergency routine body
ETSK
2-1210 Series CNC PLUS Application Manual (08)
OEM SOFTKEY INTERFACE routine
DTSK $OEMSFTK
OEM Softkey interface routine body
ETSK
PART PROGRAM INTERFACE routines (on part program events)
DTSK $nCONMOV
body of consent to move routine
ETSK
DTSK $nENDMOV
body of end of motion routine
ETSK
DTSK $nMDECOD
body of M function decode routine
ETSK
Chapter 2
Organization of the Application Logic
DTSK $nPSEUDO
body of pseudo axes decode routine
ETSK
DTSK $nSPROG
body of S word decode routine
ETSK
DTSK $nTPROG
body of T word decode routine
ETSK
DTSK $nEOB
body of End Of Block routine
ETSK
DTSK $nRQP
body of tool dimension offset interface
ETSK
DTSK $nRQT
body of tool wear offset interface routine
ETSK
DTSK $nTOU
body of tool life interface routine
ETSK
DTSK $nQUTAST
body of interface routine for measuring cycles
ETSK
10 Series CNC PLUS Application Manual (08)2-13
Chapter 2
Organization of the Application Logic
CONSENT REQUEST routines (on softkey or MTB panel)
DTSK $n_CYCLE
cycle start pushed
ETSK
DTSK $n_CYOFF
cycle start released
ETSK
DTSK $n_HOLDON
Request to enter HOLD status
ETSK
DTSK $n_HOLDOF
Request to exit from HOLD status
ETSK
DTSK $n_RESET
reset button pushed
ETSK
DTSK $n_SETMOD
mode selected
ETSK
DTSK $n_PUTFMA
manual feedrate selected
ETSK
DTSK $n_PUTFED
feedrate override value selected
ETSK
DTSK $n_PUTRAP
rapid feedrate override value
ETSK
DTSK $n_PUTSPE
spindle speed override value selected
ETSK
DTSK $n_SELAXI
axis selected for manual motion
ETSK
NOTE:
"n" indicates the process number (a number in the range 1...20)
END OF CHAPTER
2-1410 Series CNC PLUS Application Manual (08)
Chapter
3
I/O PROCESSOR /SYSTEM DATA AREAS
The I/O processor and the system share a data area in the dual ported memory of the I/O processor
module. This data area contains an I/O image, global retentive variables (G), system status variables
and 4 retentive tables with machine tool related data. Fig. 3-1 gives a detailed overview of all data
areas on the I/O processor, which are available to the application logic.
Fig. 3-1 Memory areas available to PLUS
10 Series CNC PLUS Application Manual (11)3-1
Chapter 3
I/O Processor /System Data Areas
SYSTEM STATUS FLAGS
There are 500 system variables. They all have the short format. The first 20 variables (SW 00-SW 19)
are used to exchange some general system information between the logic program and the system.
Since the purpose of these variables is predefined, they have predefined symbolic names. Most of the
variables are read only to the logic (R/O). Only SW 03, SW 04 and SW 12 can be written and read by
the logic (R/W). SW Variables can be managed as words (I) or as single bits (B) or both (B/I).:
WORDMNEMONICTITLEACCESSPROT
SW 00RESERVED FOR FUTURE USE
SW 01S_SECURLEVACTIVE SECURITY LEVELIR/O
SW 02S_CNINFONC STATE INFORMATIONBR/O
SW 03S_HLS1HOME LIMIT SWITCHES 1B/IR/W
SW 04S_HLS2HOME LIMIT SWITCHES 2B/IR/W
SW 05RESERVED FOR FUTURE USE
SW 06RESERVED FOR FUTURE USE
SW 07RESERVED FOR FUTURE USE
SW 08RESERVED FOR FUTURE USE
SW 09S_PROCSELSELECTED PROCESSIR/O
SW 10S_SCRNSELSELECTED SCREENIR/O
SW 11S_UNITSCONFIGURED UNITSBR/O
SW 12RESERVED FOR FUTURE USE
SW 13RESERVED FOR FUTURE USE
SW 14RESERVED FOR FUTURE USE
SW 15RESERVED FOR FUTURE USE
SW 16S_NOWAITNO WAIT CALL COUNTERIR/O
SW 17S_CNCTYPECONTROL TYPEB/IR/O
SW 18RESERVED FOR FUTURE USE
SW 19RESERVED FOR FUTURE USE
Hereafter, all variables and their functions will be discussed in more detail.
R/W SYSTEM VARIABLE SW 01 S_SECURLEV
WORDTitle: Home Limit switches
SW 01S_SECURLEV actually active security level value in the range of 0-6
(see SECURITY chapter in User Manual)
3-210 Series CNC PLUS Application Manual (11)
Loading...
+ 210 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.