0% found this document useful (0 votes)
257 views

Winplus Application Rev3

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
257 views

Winplus Application Rev3

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 234

10 Series CNC

WinPLUS
Application Manual

Code: 45006862V
Rev. 03

PUBLICATION ISSUED BY:


OSAI S.p.A.
Via Torino, 14 - 10010 Barone Canavese (TO) – Italy

Tel. +39-0119899711
Web www.osai.it
e-mail [email protected]
[email protected]

Copyright  2001-2005 by OSAI


All rights reserved

Edition: January 2005

IMPORTANT USER INFORMATION


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
UPDATE
10 Series CNC WinPLUS Application Manual

SUMMARY OF CHANGES

General

This issue completely replaces the previous ones.

PAGE UPDATE TYPE

INDEX Updated

Chapter 2
Updated entire chapter
Chapter 3

Page 2 Added system variable SW0 bit S_RESET


Page 3 Added management modalities of system variable SW7
Page 27 Added table with mnemonic data for router
Page 31 Added summary table with WINPLUS variables

Chapter 5 Updated all the management schemes

Chapter 6
Page 3 Added note on feed, jog, speed commands

Chapter 7

Page 2 Added figure on emergency management and OEM softkeys

Chapter 8

Page 6 Added error 0X0171

Chapter 12

Page 5 Changed errors returned from RIO EC for bytes 0 ,2 , 8-9, 10-15

Page 6 Added note

Pages 8-9 Added new errors returned at CNC start-up

Chapter 13

Page 6 Added note

Chapter 14 Added new chapter on PROFIBUS

10 Series CNC WINPLUS Application Manual (03)


abc
Preface
10 Series CNC WinPLUS 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 of 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 WinPLUS programming language and the use of any of its language
elements.

10 Series CNC WinPLUS Application Manual (03) 1


Preface
10 Series CNC WinPLUS Application Manual

This manual is structured as follows:

Chapter 1 explains the concepts of communication between the logic and the system.
Chapter 2 gives 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 3 deals with the data areas in the PLC module's memory and in its dual port.
Chapter 4 explains the configuration of the interface between part program and logic.
Chapter 5 explains the functions of the interface between the part program and the logic.
Chapter 6 explains the configuration and the use of filters of executive commands.
Chapter 7 explains the configuration of the emergency routines and of OEM softkeys.
Chapter 8 describes management of emergencies.
Chapter 9 describes OEM softkey management.
Chapter 10 this is the practical part of the manual which explains how to use the
communication concepts of the controls to create efficient applications.
Chapter 11 this chapter describes how to use the INTERBUS feature on 10 Series systems.
Chapter 12 this chapter describes how to use the CANOPEN feature on 10 Series systems.
Chapter 13 this chapter describes how to use the OSWIRE feature on 10 Series systems.
Chapter 14 Describes how to use the PROFIBUS function in Series 10 systems
Appendix A contains a glossary of verbs and expressions used in this manual.

OTHER MANUALS ABOUT WINPLUS


Beside this manual there are 2 other specific manuals on WinPLUS:

• 10 Series CNC WinPLUS LIBRARY code : 45006867F


This manual covers the library function calls and the function blocks available in the WinPLUS
programming language:
− System function calls
− function calls
• 10 Series CNC WinPLUS development tool code 4500 6672 P
This manual describes the WinPLUS development tool, the editors and the utilities to generate
an executable logic program:
− ladder diagram / function block diagram editor (FBD/LD)
− sequential function chart editor (SFC)

2 10 Series CNC WinPLUS Application Manual (03)


Preface
10 Series CNC WinPLUS Application Manual

Other manuals may be of interest when programming a machine tool interface:

1. 10 Series CNC AMP - Software Characterisation Manual 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 all the 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 all the 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 signs: WARNING, CAUTION or IMPORTANT, which
indicate the following types of information:

Draws attention to facts or circumstances that may cause damage to the


control, to the machine or to operators.
WARNING

Indicates information to be followed in order to avoid damage to equipment in


CAUTION general.

IMPORTANT Indicates information that must be followed carefully in order to ensure full
success of the application.

10 Series CNC PLUS Application Manual (03) 3


Preface
10 Series CNC WinPLUS Application Manual

END OF PREFACE

4 10 Series CNC WinPLUS Application Manual (03)


Indice
10 Series CNC WinPLUS – Application Manual

INDEX

SYSTEM - APPLICATION LOGIC HANDSHAKE


THE LOGIC INTERFACE BUFFER – THE M RACK ..................................................... 1-1
SYSTEM FUNCTION CALLS ......................................................................................... 1-2
COMMON DATA AREAS ............................................................................................... 1-2

ORGANIZATION OF THE MACHINE LOGIC PROGRAM


AVAILABLE ROUTINES................................................................................................. 2-1
Routines activated on time (foreground) ............................................................... 2-1
Continuously executed routines (background routines) ........................................ 2-1
Routine activated in an emergency ....................................................................... 2-2
Routine activated by pressing a softkey (OEM softkey routine)............................ 2-2
Routines activated by part program events (part program interface).................... 2-2
Routines activated from the console (request for enable signal) .......................... 2-2
Routines activated when requested by the logic ................................................... 2-2
ANALISYS OF RACK M ................................................................................................. 2-3
TASK SYNCRONISATION ............................................................................................. 2-3
BACKGROUND EXECUTION ........................................................................................ 2-9
WINPLUS TASK DECLARATION .................................................................................. 2-12

I/O PROCESSOR /SYSTEM DATA AREAS


SYSTEM STATUS FLAGS.............................................................................................. 3-2
PROCESS STATUS FLAGS........................................................................................... 3-7
USER DEFINED / GLOBAL VARIABLES (G VARIABLES).......................................... 3-16
M VARIABLES ................................................................................................................ 3-17
A VARIABLES................................................................................................................. 3-19
TABLES........................................................................................................................... 3-20
Axes Table............................................................................................................. 3-20
Tool table ............................................................................................................... 3-24
Tool offset table ..................................................................................................... 3-26
User table .............................................................................................................. 3-30
WINPLUS VARIABLES SUMMARY TABLE.................................................................. 3-31

CONFIGURATION OF FUNCTIONALITIES

10 Series CNC WinPLUS – Application Manual (03) i


Indice
10 Series CNC WinPLUS – Application Manual

Configuration.......................................................................................................... 4-1

LOGIC / SYSTEM COMMUNICATION


STRUCTURE OF THE PART PROGRAM RACK........................................................... 5-1
THE PART PROGRAM INTERFACE RACKS................................................................ 5-3
COORDINATED AXES.................................................................................................... 5-7
Consent to move Rack........................................................................................... 5-7
Motion blocks ......................................................................................................... 5-9
Consent to move management.............................................................................. 5-10
End of motion Rack................................................................................................ 5-11
End of motion management................................................................................... 5-12
M FUNCTIONS ................................................................................................................ 5-13
M function rack....................................................................................................... 5-14
M code management (EXPEDITE) ........................................................................ 5-16
AMP set up for M functions .................................................................................... 5-17
PSEUDO AXES ............................................................................................................... 5-25
Pseudo axes rack................................................................................................... 5-25
S FUNCTION ................................................................................................................... 5-28
Rack of S functions ................................................................................................ 5-28
T FUNCTION.................................................................................................................... 5-32
T function Rack ...................................................................................................... 5-34
END OF BLOCK RACK................................................................................................... 5-39
TOOL OFFSET PRESETTING RACK (RQP) ................................................................. 5-41
TOOL OFFSET REQUALIFICATION (RQT)................................................................... 5-44
DECLARE TOOL LIFE EXPIRED (TOU) ........................................................................ 5-47
PROBING CYCLE COMPLETED (QUTAST) ................................................................. 5-49

SYSTEM/ LOGIC COMMUNICATION


CONSOLE RACK FROM LOGIC .................................................................................... 6-2
Configuration.......................................................................................................... 6-2
Control of commands sent by the console............................................................. 6-4
STRUCTURE OF THE RACK ......................................................................................... 6-6
Parameters associated with Manual Feed Override.............................................. 6-8
Parameters associated with Feed rate Override ................................................... 6-8
Parameters associated with Speed Override ........................................................ 6-9
Parameters associated with Mode change............................................................ 6-9
Parameters associated with Rapid Override ......................................................... 6-10
Parameters associated with Axes Selection.......................................................... 6-10
Originating command environment ........................................................................ 6-11
END OF COMMAND ACKNOWLEDGE FUNCTIONS ................................................... 6-12

RACK CONFIGURATION OF EMERGENCIES AND OEM


SOFTKEYS
ANSWER FUNCTIONS FOR COMMAND END.............................................................. 7-2

EMERGENCY MANAGEMENT
SYSTEM EMERGENCIES ............................................................................................... 8-1
UNRECOVERABLE EMERGENCIES............................................................................. 8-2

ii 10 Series CNC WinPLUS – Application Manual (03)


Indice
10 Series CNC WinPLUS – Application Manual

Digital Servo Interface (D.S.I.) EMERGENCIES ................................................... 8-4


EMERGENCIES FROM WINPLUS INTERPRETER ............................................ 8-5
OSWIRE EMERGENCIES .................................................................................... 8-6
RECOVERABLE EMERGENCIES.................................................................................. 8-9
D.S.I. Emergencies (Digital Servo Interface)......................................................... 8-11
OSWIRE EMERGENCIES .................................................................................... 8-12

OEM SOFTKEYS
ON/OFF Softkeys .................................................................................................. 9-3
MAINTAINED Softkey............................................................................................ 9-3
DATA ENTRY Softkeys ......................................................................................... 9-4
NORMAL Softkeys................................................................................................. 9-5
OPLink Function Keys ........................................................................................... 9-5

STANDARD APPLICATION NOTES


WINPLUS INITIALIZATION ............................................................................................ 10-1
MACHINE TOOL POWER UP AND RE-POWER UP AFTER E-STOP ......................... 10-2
HOLD MANAGEMENT.................................................................................................... 10-6
RESET MANAGEMENT.................................................................................................. 10-9
SPINDLE MANAGEMENT .............................................................................................. 10-11
CO-ORDINATED AXES MOVES (MAS) FROM WINPLUS ........................................... 10-13
HARDWARE OVERTRAVEL LIMIT SWITCHES ........................................................... 10-18
AXES HOMING ............................................................................................................... 10-21
FEED HOLD .................................................................................................................... 10-24
ACTIVE RESET ............................................................................................................... 10-26
MANUAL JOG BY THE LOGIC ...................................................................................... 10-31
FEED RATE OVERRIDE CONTROL.............................................................................. 10-32
FEED RATE BYPASS..................................................................................................... 10-33
SERIAL LINE MANAGEMENT (RS-232)........................................................................ 10-35
AXIS POSITIONING VIA RS-232 SERIAL LINE ............................................................ 10-37
Configuration ......................................................................................................... 10-37
Programming ......................................................................................................... 10-38
Installation Specifications ...................................................................................... 10-41

INTERBUS® FEATURES ON 10 SERIES SYSTEMS


CONFIGURATION APPLICATION IBS CMD................................................................. 11-3
On-line Operations................................................................................................. 11-5
Off-line Operations................................................................................................. 11-13
TRANSFERRING THE CONFIGURATION FILE TO THE 10 SERIES CNC ................. 11-15
INTERBUS ERRORS ...................................................................................................... 11-16

CANOPEN® FUNCTIONS ON SERIES 10


CANOPEN BUS CONFIGURATION............................................................................... 12-2
CONFIGURATION EXAMPLE ........................................................................................ 12-4
DESCRIPTION OF ERROR CODES RETURNED DURING OPERATION
OF CANOPEN BUS ........................................................................................................ 12-5
Errors from RIO EC modules................................................................................. 12-5
Errors from CWIO modules ................................................................................... 12-7

10 Series CNC WinPLUS – Application Manual (03) iii


Indice
10 Series CNC WinPLUS – Application Manual

ERRORS RETURNED DURING CNC POWER UP ........................................................ 12-7


SD180 CAN: Not all modules have been found on net .......................... 12-9

OSWIRE FUNCTIONS ON SERIES 10 SYSTEMS


OSWIRE BUS CONFIGURATION................................................................................... 13-2
CONFIGURATION EXAMPLE ........................................................................................ 13-4
DESCRIPTION OF ERROR CODES RETURNED DURING OPERATION
OF OSWIRE BUS ............................................................................................................ 13-5
Errors returned during CNC power up ................................................................... 13-7

SLAVE PROFIBUS® FUNCTIONALITIES ON 10 SERIES SYSTEMS


SLAVE PROFIBUS CONFIGURATION .......................................................................... 14-2
DESCRIPTION OF ERROR CODES RETURNED DURING THE
FUNCTIONING OF THE SLAVE PROFIBUS. ................................................................ 14-4
ERRORS RETURNED DURING CNC START-UP ......................................................... 14-6

GLOSSARY
GLOSSARY ..................................................................................................................... 100-1

END INDEX

iv 10 Series CNC WinPLUS – Application Manual (03)


Chapter 1
SYSTEM - APPLICATION LOGIC HANDSHAKE

Logic Buffer Interface

M Rack

Fig. 1-1 System - Application Logic Handshake

THE LOGIC INTERFACE BUFFER – THE M RACK

The system communicates with the logic through a logic interface. This interface is a data buffer in
which the system writes the data to send to the machine logic program.

The data buffer is divided according to its functions in different parts called RACKS.

They are always active.

10 Series CNC WinPLUS Application Manual (00) 1-1


Chapter 1
System - Application Logic Handshake

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 response ( 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 500 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-2 10 Series CNC WinPLUS Application Manual (00)


Chapter 2
ORGANIZATION OF THE MACHINE LOGIC PROGRAM

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 various routines are activated by the operating system of the PLC following specific events, or
at given times, or may also be run continuously (in loops).

AVAILABLE ROUTINES

Routines activated on time (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 currently set at 10 ms. If the foreground routine execution time exceeds
the available time (max. 10 ms), the system will generate an "overrun error" and go into emergency
status. The routine must have the shortest execution time possible (<5 ms) because the remaining
TICK time is used by routines with a lower priority.
The primary use of the foreground routine is to "latch" events to be executed with fast, precise
timing such as read/write physical I/O device status or handling of security/emergency devices.
Requested name for the routine :fore.

Continuously executed routines (background routines)


A background routine executes continuously 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 meantime the other
background routines will continue executing. In reality, when one routine is suspended, control
passes to the next one.

The logic programmer has to optimise the performance of the I/O processor by distributing the
logic in the available background routines. Requested name for the routine : back1 …back12.

10 Series CNC WinPLUS Application Manual (03) 2-1


Chapter 2
Organisation of the Machine Logic Program

Routine activated in an emergency


This routine can be recalled whenever an emergency condition occurs. It can be activated only if it
has been loaded. In an emergency, the logic application may have to execute logic sequences in
parallel with the actions performed by the system. Mandatory name for the routine:
EventTaskEmg.

Routine activated by pressing a softkey (OEM softkey routine)


This routine is called whenever an OEM softkey is pressed (or released).It can be activated only if
it has been loaded.

The OEM softkeys are defined in AMP, enabling the OEM to provide its application with the same
appearance and operability as are typical of the standard system (AMP configuration manual). The
management routine of an OEM softkey works at a very low priority level. Mandatory name for this
routine: EventTaskHum.

Routines activated by part program events (part program interface)


Specific routines (one for each process configured) are called whenever a part program block
contains functions relating to the logic (e.g., M codes, S and T functions, and all the other functions
that can be grouped under the heading of ancillary logic functions). These routines can be
activated only if they have been loaded. Mandatory name for these routines: EventTaskPPX,
where X stands for the name of the associated process.

Routines activated from the console (request for enable signal)


Specific routines (one for each process configured) are called whenever a command is imparted to
the system (e.g., cycle start, reset, etc.), enabling the logic to read and/or suspend the commands
imparted to the system by the operator. These routines can be activated only if they have been
loaded.

These routines are provided for most of the commands that can be entered via softkeys and/or
from the MTB panel. Mandatory name for these routines: EventTaskConX, where X stands for the
name of the associated process.

Routines activated when requested by the logic


Specific routines (from 1 to 39) will be called whenever the logic notifies an event through the
SetEventTask function. Once activated, these tasks will be completed through the end.

Mandatory name for these routines: EventTaskLogX, where X stands for the task number.

2-2 10 Series CNC WinPLUS - Application Manual (03)


Chapter 2
Organisation of the Machine Logic Program

ANALISYS OF RACK M
The data supplied from CNC to the logic is written in RACK M every time that the data is
memorised in the interface buffer interrupting the execution of the Background routine for the
necessary time that it takes to be written.

TASK SYNCRONISATION
The background routines can be synchronised with a set of semaphores (32) with the WAIT and
SEND instructions. With the WAIT instruction and a semaphore number (from 0 to 31) it is possible
to suspend the execution of a routine (task) until one of the other routines executes the SEND
instruction with the same semaphore number . In this way it is possible to synchronise the
execution of a task with another event in another task.

Fig. 2-1 Task synchronisation


The instruction WAIT (3) suspends the execution of the BackProgram1 task until the command
SEND (3) in the BackProgram2 task executes. Naturally the exact point (in time) of task resume
depends on its priority.

10 Series CNC WinPLUS - Application Manual (03) 2-3


Chapter 2
Organisation of the Machine Logic Program

INFORMATION
SYSTEM CPU SYSTEM SEND TO LOGIC

PACK PACK
EMERGENCY OEM SOFTKEY
PART PACK OF
PROG. PACk REQUEST
INTERFACE LOGIC INTERFACE CONSENS

EVENT OF
EMERGENCY
EVENT TASK OF
EMERGENCY

INTERRUPT
TEMPORIZED
ROUTINE 10 MS
FOREGROUND

ROUTINE
BACKGROUND
#1
EVENT
P. P.
EVENT TASK
PART PROGRAM

ROUTINE EVENT
CONSOLE
BACKGROUND
EVENT TASK
#2
CONSOLE

EVENT
SOFTKEY
ROUTINE EVENT TASK OEM
BACKGROUND SOFTKEY OEM
#3

EVENT
LOGIC
EVENT TASK
LOGIC

Fig. 2-2 Routine scheduling

2-4 10 Series CNC WinPLUS - Application Manual (03)


Chapter 2
Organisation of the Machine Logic Program

NOTE:
If a SEND on a semaphore is issued without a task waiting for this semaphore. The SEND
instruction will be ignored. Any routine in WAIT status can only be released by the equivalent
SEND instruction. The routine containing the SEND instruction must be synchronised with the
routine containing the WAIT status request.

IMPORTANT You are not allowed to use the WAIT/DLY instructions in foreground, fast input
and emergency routines

10 Series CNC WinPLUS - Application Manual (03) 2-5


Chapter 2
Organisation of the Machine Logic Program

High priority I/O update


Foreground Routine
Emergency EventTask

Event Task Event Task


Console # 1 Console # 2

Event Task Event Task


Console # 3 Console # 4

Event Task Event Task


Console # 5 Console # 6

Event Task Event Task


Console # 7 Console # 8

Event Task Event Task


Console # 9 Console # 10

Event Task Part Event Task Part


Program # 1 Program # 2

Event Task Part Event Task Part


Program # 3 Program # 4

Event Task Part Event Task Part


Program # 5 Program # 6

Event Task Part Event Task Part


Program # 7 Program # 8

Event Task Part Event Task Part


Program # 9 Program # 10

OEM softkey eventTask

Routine background #1 Routine background #2

Task n°39
Routine background #3 Routine background #4

Logic event Task


Task n°1

2-6 10 Series CNC WinPLUS - Application Manual (03)


Chapter 2
Organisation of the Machine Logic Program

1 ms 1 ms t
10 ms 10 ms

I/O update = 1 ms.


Foreground routine
Background routine

Fig. 2-3 Steady Operation

Every 10 ms the system updates the I/O, executes all the foreground routine and executes a
background in 1 ms. Every 10 ms one of the background routines will be executed in sequence. If
a background routine lasts for less than 1 ms, it will be executed again from the start, until the time
runs out. No routine will be interrupted.

Part Program interface

1 ms 1 ms t
10 ms 10 ms

I/O update =1
routine foreground
High priority routine routine background

Fig. 2-4 High Priority Interrupt Operation

10 Series CNC WinPLUS - Application Manual (03) 2-7


Chapter 2
Organisation of the Machine Logic Program

When emergencies occur, the continuous operation of the I/O processor will be interrupted and the
high priority routines required will be executed immediately. Note that the continuous execution
may be interrupted anywhere during the execution of the I/O ring update, of the foreground logic or
of the background logic.

Consense Part Programm Consense


request interface request request

1 ms 1 ms t
10 ms 10 ms

I/O update
Foreground routine = 1 ms.
Lower routine priority
Background routine

Fig. 2-5 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-8 10 Series CNC WinPLUS - Application Manual (03)


Chapter 2
Organisation of the Machine Logic Program

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 application logic and are executed in turn every 10 ms
(WinPlus Tick) for 1 ms.
At each WinPlus Tick the integrated PLC updates the I/O's and the foreground routines.
Consent routines, part program interfaces and OEM softkeys are enabled at system request and
interrupt background execution.

After enabling all high priority routines at each WinPlus Tick, the system enables one of the
background routines and lets it run for 1 ms.
At each WinPlus Tick the system enables a different background routine. The sequence of
activation is determined by the number associated with the routine name. At the first WinPlus Tick
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 starts again with the first.

Therefore, an individual background routine is executed over several WinPlus Ticks, 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
available for other system operations (processing a part program, displaying, etc).

If a background routine is shorter than 1 ms, it will execute several times during the WinPlus Tick.
If the background task to be enabled is suspended at a new WinPlus Tick, no other background
routine is executed and the millisecond reserved for it is used by the system.

Fig. 2-6 Background logic execution

Fig. 2.6 shows 3 background loops with total execution times of 3, of 0.5 and 2 ms respectively.

10 Series CNC WinPLUS - Application Manual (03) 2-9


Chapter 2
Organisation of the Machine Logic Program

1.1 1° TICK

2.1 2.1 2° TICK

0.5 | 0.5 ms

3.1 3° TICK

1.2 4° TICK

2.1 2.1 5° TICK


0.5 | 0.5 ms

3.2 6° TICK

1.3 7° TICK

2.1 2.1 8° TICK


0.5 | 0.5 ms

3.1 9° TICK

1 ms

0 1 2 3 4 5 6 7 8 9 10 ms

Task Foreground

Task Background

Fig. 2-7 Background logic execution

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:

2-10 10 Series CNC WinPLUS - Application Manual (03)


Chapter 2
Organisation of the Machine Logic Program

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 1 90 ms
$BACK 2 30 ms
$BACK 3 60 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 WinPLUS - Application Manual (03) 2-11


Chapter 2
Organisation of the Machine Logic Program

WINPLUS TASK DECLARATION


To make sure that the various tasks are called correctly, they must be assigned the following
names:

Fore: Foreground task;

Back1 … Back12: Background task;

EventTaskCon1…EventTaskCon20: Tasks activated by enable signal requested events;


Numbers 1…20 denote the process associated with the task;

EventTaskPP1…EventTaskPP20: Tasks activated by Part Program interface events; Numbers


1…20 denote the process associated with the task;

EventTaskEmg: Tasks activated by emergency events;

EventTaskHum: Tasks activated by pressing an OEM softkey;

EventTaskLog1…EventTaskLog39: Tasks activated by logic events. The numbers denote the


task number and serve as input parameters for the SetEventTask function for triggering the
associated task.

NOTE: The max. number of tasks that can be loaded simultaneously is 40.

END OF CHAPTER

2-12 10 Series CNC WinPLUS - Application Manual (03)


Chapter 3
I/O PROCESSOR /SYSTEM DATA AREAS

The I/O processor and the system share a data area in the dual port 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.

SYSTEM

Status of the system Defined by the user


(s variables) (G variables)

Status of the proces AXES Table


(s variables)

Non retentive TOOL Table retentive


variables variables
OFFSET Table

USER Table

Global APPLICATION
M variables LOGIC
Global
(M variables) global
USER area (variables G)

Non retentive Physical inputs retentive


variables (I variable) variables

Physical outputs
(0 variable)

Fig. 3-1 Memory areas available to WinPLUS

10 Series CNC WinPLUS Application Manual (03) 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 by the logic (R/O). Only SW 03, SW4 , SW7 and SW12
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).:

WORD MNEMONIC TITLE ACCESS PROT

SW 00 S_CTRL Activation status B R/W

SW 01 S_SECURLEV Active security level I R/O


SW 02 S_CNINFO NC state information B R/O

SW 03 S_HLS1 Home Limit Switches 1 B/I R/W

SW 04 S_HLS2 Home Limit Switches 2 B/I R/W


SW 05 reserved for future use

SW 06 E_STOP E_STOP status B R/O

SW 07 S_DELAY_BOOT WINPLUS logic activation delay I R/W


SW 08 reserved for future use
SW 09 S_PROCSEL Selected process I R/O

SW 10 S_SCRNSEL selected screen I R/O


SW 11 S_UNITS configured units B R/O

SW 12 reserved for future use


SW 13 reserved for future use
SW 14 reserved for future use
SW 15 reserved for future use
SW 16 S_NOWAIT NO WAIT call counter I R/O

SW 17 S_CNCTYPE Control type B/I R/O


SW 18 reserved for future use

SW 19 reserved for future use

Hereafter, all variables and their functions will be discussed in more detail.

R/W SYSTEM VARIABLE SW0 S_CTRL


BIT Title: ACTIVATION STATUS
S00_00 S_DONE Signal on 1 when all SW loading operations have been completed
satisfactorily.
S_RESET MW and MD variables reset request after logic Warm Start
S00_14

S 00_15 S_REBOOT Signal on 1 when a logic Warm Start has been performed, the
application can reset this bit once the required operations have been
carried out.
R/W SYSTEM VARIABLE SW1 S_SECURLEV
WORD Title: Home Limit switches

3-2 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

SW 01 S_SECURLEV actually active security level value in the range of 0-6


(see SECURITY chapter in User Manual)

R/O SYSTEM VARIABLE SW 02 S_CNINFO

BIT Title: NC state information


S 02,00 S_OVRT.00 The system temperature has reached 45° C.
If the temperature goes higher, the controller switches off (50° C)
This signal is only valid for systems equipped with temperature
sensors
S 02,01 S_AXES This indicates that the axes boards are ready to receive commands
from the logic
S 02,02 S_TUNING Flag correlated to OSWire. Shows that the CNC has shifted to
TUNING modality for setup of OS3 drives.
S 02,03
reserved
up to
S 02,15

R/W SYSTEM VARIABLE SW 03 S_HLS1

BIT Title: Home limit switches

S 03,00 S_HLS1.00 Home limit switch axis with ID 1


S 03,01 S_HLS1.01 Home limit switch axis with ID 2
through
S 03,15 S_HLS1.15 Home limit switch axis with ID 16

R/W SYSTEM VARIABLE SW 04 S_HLS2

BIT Title: Home limit switches

S 04,00 S_HLS2.00 Home limit switch axis with ID 17


S 04,01 S_HLS2.01 Home limit switch axis with ID 18
through
S 04,15 S_HLS2.15 Home limit switch axis with ID 32

R/W SYSTEM VARIABLE SW 06 S_ESTOP

BIT Title: Local E_Stop status

S 06_00 S_ESTOP0 Status of first E_Stop (1 stands for contact closed)


S 06_01 S_ESTOP1 Status of second E_Stop (1 stands for contact closed)
S 06_04 S_ESTOP2 Status of third E_Stop (1 stands for contact closed)
S 06_03 S_ESTOP3 Status of fourth E_Stop (1 stands for contact closed)

Home limit switches are wired as NC contacts: The input goes to a low level when the machine hits
the switch.

10 Series CNC WinPLUS Application Manual (03) 3-3


Chapter 3
I/O Processor /System Data Areas

SW7 PROCESS R/O VARIABLE S_DELAY_BOOT

WORD TITLE: Logic activation delay

SW7 S_DELAY_BOOT Logic activation delay executed by either a “warm start” or a


“cold start” (milliseconds)

R/O SYSTEM VARIABLE SW 09 S_PROCSEL

WORD Title: Selected process for operation


SW 09 S_PROCSEL This word contains the number of the selected process. It is
an integer in the range from 1 to 24.

R/O SYSTEM VARIABLE SW 10 S_SCRNSEL

WORD Title: Selected screen number

SW 10 S_SCRNSEL This flag contains the number of the screen actually


selected. It is a positive integer number (AMP – SW
Characterisation Manual)

The S_SCRNSEL variable contains the number corresponding to the selected screen as
configured in AMP. The variable can have the following values:

SCREEN NAME SCREEN NUMBER


Process main screen 1
Logic main screen 2
Large axes position 3
Logic screen 1 (full) 4
Logic screen 2 (full) 5
Logic screen 3 (full) 6
Logic screen 4 (full) 7
Additional screen 1 8
Additional screen 2 9
Additional screen 3 10
Additional screen 4 11
Additional screen 5 12

R/O SYSTEM VARIABLE SW 11 S_UNITS

BIT Title: Configured units (metric/inch)

S 11_00 S_UNITS METRIC = 1 , INCH = 0


S 11_01
through reserved spares
S 11_15

3-4 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLE SW 16 S_NOWAIT

WORD Title: NO WAIT call counter

SW 16 S_NOWAIT This word contains the number of NOWAIT calls placed. It is valid
only for 10/365 and 10/385 systems.

R/O PROCESS VARIABLE SW 17 S_CNCTYPE

WORD Title: Controller type

SW 17 S_CNCTYPE This word is used to indicate the control type.

The lower byte of SW17 is used for indicating the CNC model:

Value = 0 10/110 NC
Value = 1 10/510 NC
Value = 4 10/565 NC
Value = 5 10/100 NC
Value = 8 10/585 NC
Value = 255 10/3xx NC

IMPORTANT
The higher byte of SW17 is reserved for future developments.

10 Series CNC WinPLUS Application Manual (03) 3-5


Chapter 3
I/O Processor /System Data Areas

PROCESS STATUS FLAGS


All words in the process flag window have mnemonic names that start with the process number.
Prefixes from S_1 to S_20 for the processes from 1 to 20. For each process there is one group of
20 words. Each group is identically structured.
The access to process variables is as discussed for the system variables.
For each process there will be a group of flags as for process number 1. The functionality is
identical, the mnemonics are different only to the part relating to the number of the process. The
symbolic addresses SW nn must be incremented by 20 for each further process.

These flags are dynamically updated. They are not synchronised with the
CAUTION execution of the logic (except S_nRESE and S_nHOLDA). Therefore, do not
use these flags to synchronise the logic: the signals may change state during
the execution of a routine.

WORD MNEMONIC NAME TITLE ACCESS


SW20 S_nSYSSTA Process Status Control Word B
SW 21 S_nGMACRO Active G Code Of Paramacro I
SW 22 S_nGCODE1 Active G Codes G00-G15 B
SW 23 S_nGCODE2 Active G Codes G16-G31 B
SW 24 S_nGCODE3 Active G Codes G32-G47 B
SW 25 S_nGCODE4 Active G Codes G48-G63 B
SW 26 S_nGCODE5 Active G Codes G64-G79 B
SW 27 S_nGCODE6 Active G Codes G80-G95 B
SW 28 S_nGCODE7 Active G Codes G96-G99 B
SW 29 S_nAXSEL Axis Selected I
SW 30 S_nPROINF Process Informations B
SW 31 S_nPROMOD Active Process Mode B
SW 32 S_nFIXSTA Fixed Cycle Active State B
SW 33 S_nOFFS Number of the tool offset activated by 'h'
SW 34 S_wRAP Rapid traverse feed override percentage
SW 35 SnMFO Manual Feedrate Override Value I
SW 36 S_nFRO Feedrate Override Value I
SW 37 S_nSSO Spindle Speed Override Value I
SW 38 S_nPROMSG Process Message Number I
SW 39 S_nTYPE Type Of Application I

3-6 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLE SW 20 (40, 60, 80,100,120, ,480) S_nSYSSTA

BIT Title: Process Status Control Word

S 20,00 S_nIDLE process is in idle state


S 20,01 S_nCYCLE process executes a program block (run status)
S 20,02 S_nHOLDA process in hold status
S 20,03 S_nRUNH process in hold,motion aux. func. allowed
S 20,04 S_nHRUN process waiting to exit from hold state
S 20,05 S_nERRO process is in error state
S 20,06 RESERVED
S 20,07 S_nRESE process is being reset
S 20,08 RESERVED
S 20,09 S_nWAIT process is in WAIT substatus
S 20,10 S_nINPUT process is in INPUT substatus
S 20,11 RESERVED
S20,12 RESERVED
S 20,13 s_nMAS process in calculation stop (transfer. inh.)
S 20,14 RESERVED
S 20,15 S_nFEEDH process in feedhold

Bits from S20,09 to S20,14 represent "under status" of previous bits (from S20,00 to S20,08)
therefore, when a status is active, an "understatus" bit may be activated.

The association "status/understatus" is given by the following table:

STATUS POSSIBLE UNDERSTATUS

IDLE MAS
RUN MAS
WAIT
INPUT
HOLD MAS
RUNH MAS
HRUN MAS
ERRO none
RESE nome

10 Series CNC WinPLUS Application Manual (03) 3-7


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLE SW 21 (41,61,81,101,121, ,481) S_nGMACRO

BIT Title: Active paramacro G code

SW 21 S_nGMACRO Number of active paramacro (300...998)

The variable provides the number of G-code of the active paramacro. In case of paramacro nesting
the paramacro G that is passed is the last programmed one.

IMPORTANT For the G-codes G00 up to G99, there are 100 reserved bits in the dual port
memory. The G-codes are divided into groups. In one group only one G-code
can be active. The different groups are indicated by the letters a-m. The G-
codes with the "*" are non-modal, i.e. they are only active for the duration of the
part program block they were used in.

R/O PROCESS VARIABLES SW 22 (42, 62, 82,102,122, ,482) S_nGCODE1

BIT Title: Active G-codes

S 22,00 S_nG00 a rapid positioning


S 22,01 S_nG01 a linear interpolation
S 22,02 S_nG02 a circular interpolation CW
S 22,03 S_nG03 a circular interpolation CCW
S 22,04 S_nG04 j * dwell time at end of block
S 22,05 S_nG05 not used
S 22,06 S_nG06 not used
S 22,07 S_nG07 not used
S 22,08 S_nG08 not used
S 22,09 S_nG09 j * deceleration at end of block
S 22,10 S_nG10 not used
S 22,11 S_nG11 not used
S 22,12 S_nG12 not used
S 22,13 S_nG13 not used
S 22,14 S_nG14 not used
S 22,15 S_nG15 not used

3-8 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLES SW 23 (43,63,83,103,123, , 483) S_nGCODE2

BIT Title: Active G-codes

S 23,00 S_nG16 not used


S 23,01 S_nG17 b interpolation on the plane formed by the 1st and 2nd axis (AMP) c
S 23,02 S_nG18 b interpolation on the plane formed by the 3rd and 1st axis (AMP) c
S 23,03 S_nG19 b interpolation on the plane formed by the 2nd and 3rd axis (AMP) c
S 23,04 S_nG20 not used
S 23,05 S_nG21 not used
S 23,06 S_nG22 not used
S 23,07 S_nG23 not used
S 23,08 S_nG24 not used
S 23,09 S_nG25 not used
S 23,10 S_nG26 not used
S 23,11 S_nG27 c acc/dec on corners
S 23,12 S_nG28 c no acc/dec on corners
S 23,13 S_nG29 c point to point positioning mode
S 23,14 S_nG30 not used
S 23,15 S_nG31 not used

NOTE:
cIn many applications the 1st, 2nd, 3rd axes are called X, Y, Z, respectively.

R/O PROCESS VARIABLES SW 24 (44,64,84,104,124, ,484) S_nGCODE3

BIT Title: Active G-codes

S 24,00 S_nG32 not used


S 24,01 S_nG33 a threading
S 24,02 S_nG34 not used
S 24,03 S_nG35 not used
S 24,04 S_nG36 not used
S 24,05 S_nG37 not used
S 24,06 S_nG38 not used
S 24,07 S_nG39 not used
S 24,08 S_nG40 e no cutter compensation
S 24,09 S_nG41 e cutter compensation left of part
S 24,10 S_nG42 e cutter compensation right of part
S 24,11 S_nG43 not used
S 24,12 S_nG44 not used
S 24,13 S_nG45 not used
S 24,14 S_nG46 not used
S 24,15 S_nG47 not used

The G code flags S_nG40 through S_nG42 will reflect the true status of the system after axes
motion has been programmed in one of these modes. The flags are not updated when just one of
the G codes G40, G41 or G42 are programmed in a block on its own (no motion).

10 Series CNC WinPLUS Application Manual (03) 3-9


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLES SW 25 (45,65,85,105,125, ,485) S_nGCODE4

BIT Title: Active G-codes

S 25,00 S_nG48 not used


S 25,01 S_nG49 not used
S 25,02 S_nG50 not used
S 25,03 S_nG51 not used
S 25,04 S_nG52 not used
S 25,05 S_nG53 not used
S 25,06 S_nG54 not used
S 25,07 S_nG55 not used
S 25,08 S_nG56 not used
S 25,09 S_nG57 not used
S 25,10 S_nG58 not used
S 25,11 S_nG59 not used
S 25,12 S_nG60 not used
S 25,13 S_nG61 High Speed execution
S 25,14 S_nG62 not used
S 25,15 S_nG63 not used

R/O PROCESS VARIABLES SW 26 (46,66,86,106,126, ,486) S_nGCODE5

BIT Title: Active G-codes

S 26,00 S_nG64 not used


S 26,01 S_nG65 not used
S 26,02 S_nG66 not used
S 26,03 S_nG67 not used
S 26,04 S_nG68 not used
S 26,05 S_nG69 not used
S 26,06 S_nG70 f inch programming mode
S 26,07 S_nG71 f metric programming mode
S 26,08 S_nG72 k * measuring cycle G72
S 26,09 S_nG73 k * measuring cycle G73
S 26,10 S_nG74 k * measuring cycle G74
S 26,11 S_nG75 not used
S 26,12 S_nG76 not used
S 26,13 S_nG77 not used
S 26,14 S_nG78 not used
S 26,15 S_nG79 i * absolute movement (home reference)

3-10 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLES SW 27 (47,67,87,107,127, ,487) S_nGCODE6

BIT Title: Active G-codes

S 27,00 S_nG80 g no fixed cycle active


S 27,01 S_nG81 g fixed cycle G81 active
S 27,02 S_nG82 g fixed cycle G82 active
S 27,03 S_nG83 g fixed cycle G83 active
S 27,04 S_nG84 g fixed cycle G84 active
S 27,05 S_nG85 g fixed cycle G85 active
S 27,06 S_nG86 g fixed cycle G86 active
S 27,07 S_nG87 not used
S 27,08 S_nG88 not used
S 27,09 S_nG89 g fixed cycle G89 active
S 27,10 S_nG90 h absolute programming
S 27,11 S_nG91 h incremental programming
S 27,12 S_nG92 d * axis datum offset
S 27,13 S_nG93 l inverse time feed coding
S 27,14 S_nG94 l feed coding in mm/min inch/min
S 27,15 S_nG95 l feed coding per spindle revolution

R/O PROCESS VARIABLES SW 28 (48,68,88,108,128, ,488) S_nGCODE7

BIT Title: Active G-codes

S 28,00 S_nG96 m constant surface speed active


S 28,01 S_nG97 m constant surface speed not active
S 28,02 S_nG98 d* defines axis offset (new mode)
S 28,03 S_nG99 d* cancel G92 offset
S 28,04
through reserved spares
S 28,15

R/O PROCESS VARIABLES SW 29 (49,69,89,109,129, ,489) S_nAXSEL

BIT Title: Axis selected for manual operations

SW 29 S_nAXSEL physical axis identifier of selected axis

R/O PROCESS VARIABLES SW 30 (50,70,90,110,130, ,490) S_nPROINF

BIT Title: Process Informations


S 30,11 S_wAUX Auxiliary function emission running at the end of RCM
S 30,12 S_nRCM Search in memory
S 30,13 S_nDRY Dry Run activated
S 30,14 S_nEOB End of Block activated
S 30,15 S_nFRB Feed Rate Bypass activated

R/O PROCESS VARIABLES SW 31 (51, 71, 91,111,131, ,491) S_nPROMOD

10 Series CNC WinPLUS Application Manual (03) 3-11


Chapter 3
I/O Processor /System Data Areas

BIT TITLE: Active process mode of operation

S 31,00 S_nMDI manual data input mode


S 31,01 S_nAUTO auto mode active
S 31,02 S_nSTEP single block mode active
S 31,03 S_nMANU continuous manual jog mode active
S 31,04 S_nMANJ incremental manual jog mode active
S 31,05 S_nPROF jog return mode active
S 31,06 S_nHOME axes homing selected
S 31,07 S_nHPG hand pulse generator active
S 31,08 not used
S 31,09 not used
S 31,10 not used
S 31,11 not used
S 31,12 not used
S 31,13 not used
S 31,14 not used
S 31,15 not used

R/O PROCESS VARIABLES SW 32 (52, 72, 92,112,132, 492) S_nFIXSTA

BIT TITLE: Fixed cycle status

S 32,00 S_nINVER spindle reverse in fixed cycle


S 32,01 S_nSTOPR spindle stop in fixed cycle
S 32,02 not used
S 32,03 not used
S 32,04 not used
S 32,05 not used
S 32,06 not used
S 32,07 not used
S 32,08 S_nTRAP touch probe cycle, rapid approach
S 32,09 not used
S 32,10 not used
S 32,11 not used
S 32,12 not used
S 32,13 not used
S 32,14 not used
S 32,15 not used

S_nINVER is set TRUE in the fixed cycle G84 at the moment in which the spindle must be
reversed at the bottom of the tapping hole.

3-12 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

S_nSTOPR is set TRUE before the axis' return movement and it is set false at the end of
the boring cycle.
NOTE:
30 ms of time are required at least, from the moment we set at 1 the value and the moment of the
axes’s return movement. This time is used by the logic machine to analize the connect strategy to
use (ex.: stopping the axis for a long time before returning to allow the spindle stop).

S_nTRAP is set TRUE during the rapid approach phase of the touch probe cycles G72,
G73 and G74. It can be used to clean the workpiece surfaces with compressed
air.

10 Series CNC WinPLUS Application Manual (03) 3-13


Chapter 3
I/O Processor /System Data Areas

R/O PROCESS VARIABLE SW 33 (53, 73, 93,113,133, ,493) S_nOFFS

WORD TITLE: Number of the tool offset activated by 'h'

SW 33 S_nOFFS number of the tool offset activated using the 'h' parameter

R/O PROCESS VARIABLE SW 34 (54, 74, 94, 114, 134,...494) S_wRAP

WORD Title: Rapid Traverse feed override percentage

SW 34 S_wRAP Rapid Traverse feed override percentage:


0 = 0% 10000 = 100% of the Rapid Traverse feed

R/O PROCESS VARIABLE SW 35 (55, 75, 95,115,135, ,495) S_nMFO

WORD TITLE: Manual feedrate override percentage

SW 035 S_nMFO manual feedrate percentage value :


0 = 0% 10000 = 100% of max feedrate
Use bit 00 - 14 only (absolute value)
BIT TITLE: Manual feedrate direction
S 35,15 S_nMFO.15 Sign of manually adjusted feedrate: 0 = positive 1 =
negative

R/O PROCESS VARIABLE SW 36 (56, 76, 96,116,136, ,496) S_nFRO

WORD TITLE: Feedrate override percentage

SW 36 S_nFRO Feedrate override percentage value


0 = 0% 10000 = 100% of prog. feedrate

R/O PROCESS VARIABLE SW 37 (57, 77, 97117,137, ,497) S_nSSO

WORD TITLE: Spindle speed override percentage

SW 37 S_nSSO spindle override percentage value


0 = 0% 10000 = 100% of prog. value

R/O PROCESS VARIABLE SW 38 (58, 78, 98,118,138, ,498) S_nPROMSG

WORD TITLE: Process message number

SW 38 S_nPROMSG process related screen message number actually


displayed.
See appendix B of WinPLUS Library user manual for a list
of messages

R/O PROCESS VARIABLE SW 39 (59, 79, 99,119,139, ,499) S_nTYPE

WORD TITLE: Type of application

SW 39 S_nTYPE type of application


1 = Mill
2 = Lathe
3 = Grinder

3-14 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

USER DEFINED / GLOBAL VARIABLES (G VARIABLES)


In addition to the system flag area and the process areas there is one memory area reserved for
user defined variables. These variables are retentive, i.e. once stored, they will not be cleared at
power turn on, unless they have been configured to be changed to a specific value by AMP. The
variables in this memory area are called G-variables. There a 2 formats of G-variables:

• 16 bit words (value -32768..0..32767)


(you can also address the individual bits of these variables)
• 64 bit floating point (double) variables

GW 000

GW 255

GD 00

GD 63

Fig. 3-2 "G variables" memory area

Since the G variables are accessible by the system and by the I/O processor, you can not only use
them in the logic program but also in a part program. In this way they can serve as a direct
communication channel between the part program and the logic or between the logic and the part
program. To make one or more of the variables available for part programs, you have to define
them in the AMP configuration program. In order to simplify access, you must assign a logical
name to the "physical" address. All logical names for variables in this area have to begin with the
"@" character.

AMP allows 3 types of variables to be configured:

• Boolean (max. 128) You can assign any bit (0-15) of the G variables (0.255)
• Short (max. 64) You can assign any of the 256 GW variables (000..255)
• Double (max. 32) You can assign any of the 64 GD variables (00..63)
In AMP it is possible to assign a value to these variables that is loaded every time you switch on
the system.

The following examples show an assignment for each of the possible variable types:

Examples:
@POS = G 006,04 (Bit 4 of word GW 006)
@SPEED = GW 200
@ACC = GD 18

10 Series CNC WinPLUS Application Manual (03) 3-15


Chapter 3
I/O Processor /System Data Areas

@ = GW3 (a value can be assigned in AMP, but the variable is not available to the
part program

M VARIABLES
The M variables are part of the "memory work area" for the logic.

They are divided logically into two parts:

• User’s area (the work area memory for the logic) 6950 MW and 1950 MD variables

• The M RACK (exchange and request data buffer between CNC and logic)

There are 10000 variables of short type (MW0 -MW9999) and 3000 variables of the double type
(MD 000 - MD2999) of which 50MW and 50MD are global (not reserved to a particular process).
150 MW variables and 50 MD variables are dedicated to each process (max 20),.

In general the M RACK is divided functionally into parts that are called RACK. Each of which is
composed of a group of variables (read and write) “dedicated “ to a special function.

The operations that can be executed on the M RACK must follow the rules
CAUTION described in this manual

The system cannot access the M variables directly.

NOTES:
• These variables are NOT retentive! They will be cleared at power turn on.
• The variables MW 0000 - MW 4999 can be addressed as words (MW xxxx) or also as single
bits, (Mxxxx,yy) or as entire MIxxxx .
• In case the processes are less than 20, the variables that otherwise would be dedicated to the
concerning process are available, like the user M, MW or MD variables.

3-16 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

RAM Memory of I/O processor


MW0

M and MW user variables (Bit and/or Int)

MW6949
MW6950

M RACK of the Process 20 150

MW7099
MW7100

M RACK of the Process 19

MW7249

…… ……

MW9800

M RACK of Process 1

MW9949
MW9950

M RACK Global variables 50

MW9999

Fig. 3-3 MW variables memory area

10 Series CNC WinPLUS Application Manual (03) 3-17


Chapter 3
I/O Processor /System Data Areas

RAM Memory of the I/O processor


MD0

MD user variables (Double)

MD1949
MD1950

MD RACK of Process 20 50

MD1999
MD2000

MD RACK of Process 19

MD2049

…… ……

MD2900

MD RACK of Process 1

MD2949
MD2950

MD RACK Global variables 50

MD2999

Fig. 3-4 Memory area of MD variables

A VARIABLES
1500 string type variables (A0…A1499). These variables are loaded when bootstrapping starting
from file ASCIIFILE.TXT.

Each variable can contain a string that can be maximum 40 characters long. The format of how to
set them up in the file is shown in the following example:

EG A20,20 User Message

3-18 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

TABLES
In the DUAL PORT memory, 4 table are available:

• AXES TABLE
• TOOL TABLE
• TOOL OFFSET TABLE
• USER'S TABLE
These tables are persistent: once they are memorized they are not deleted when the system is
switched on.

Axes Table
The axis table can contain up to 32 pages. Each page contains information regarding one specific
axis. This information is divided into fields:

etc..

32

3 2
1

Fig. 3-5 Axes table (one page per axis)

10 Series CNC WinPLUS Application Manual (03) 3-19


Chapter 3
I/O Processor /System Data Areas

There is one page in the table for each configured axis (co-ordinate, point to point, transducer-only
axis, spindle and virtual axis). The page number of an axis corresponds to its physical identifier as
defined in the AMP configuration. The system supports up to 32 axes, so there are 32 pages in this
table and 32 physical axes identifiers (1-32).

You can select one of the pages of the axis table with the physical axis identifier of the axis. If you
only know the axis name ("X", "Y", etc. in the AXNAME field) and process (AXOWNER field), you
can use the function A_TO_ID to find the corresponding physical identifier. The field AXOWNER
defines which ambient actually controls that axis:

AXOWNER Meaning

5000H (20480T) point-to-point-axis or spindle (WinPLUS)


6100H (24832T) coordinated axis process 1
6200H (25088T) coordinated axis process 2
6300H (25344T) coordinated axis process 3
6400H (25600T) coordinated axis process 4
6500H (25856T) coordinated axis process 5
6600H (26112T) coordinated axis process 6
6700H (26368T) coordinated axis process 7
6800H (26624T) coordinated axis process 8
6900H (26880T) coordinated axis process 9
6A00H (27136T) coordinated axis process 10
6B00H (27392T) coordinated axis process 11
6C00H (27648T) coordinated axis process 12
6D00H (27904T) coordinated axis process 13
6E00H (28160T) coordinated axis process 14
6F00H (28416T) coordinated axis process 15
7000H (28672T) coordinated axis process 16
7100H (28928T) coordinated axis process 17
7200H (29184T) coordinated axis process 18
7300H (29440T) coordinated axis process 19
7400H (29696T) coordinated axis process 20

3-20 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

These are the fields and the formats for the axis table:

MNEMONIC CONTENTS FORMAT

AXOWNER ambient 'owning' this axis short


AXNAME ASCII axis name short
AXORIG current origin offset value double
---------- reserved double
AXOFG92 current G92 offset value double
AXTOFF current tool offset value (introduced from logic) double
PRO_OFFS current total offset value applied from the process by use of double
“h” (with tool offset introduced by “h”)
TOT_OFFS current total axis offset value (with tool offset introduced by double
logic)
ORIG1 origin #1 value double
ORIG2 origin #2 value double
ORIG3 origin #3 value double
ORIG4 origin #4 value double
ORIG5 origin #5 value double
ORIG6 origin #6 value double
ORIG7 origin #7 value double
ORIG8 origin #8 value double
ORIG9 origin #9 value double
ORIG10 origin #10 value double
ACT_ORIG number of the enabled origin short
---------- reserved short

The logic program should not normally need to directly address this table. For special applications
in which you have to handle either G92 offset or tool offset in a different way, you can read or write
table fields. To address a table field you must use the mnemonic for that field as given in the table
above.

10 Series CNC WinPLUS Application Manual (03) 3-21


Chapter 3
I/O Processor /System Data Areas

The TOT_OFFS field contains the total offset value applied to the related axis. Its value is
calculated as follows:

TOT_OFFS = AXORIG + AXOFG92 + AXTOFF

Any time the logic has to change an axis offset (i.e. G92), the following sequence of operations
should be performed:

WinPLUS

Find axis identifier


A_TO_ID

Memorize a new offset value


in required field (TBLPUT)

Calculate new total offset


(AXOFSET) (COMPOFF)

Bring new
offset to system
(NAXOFF)

END

Fig. 3-6 Axis Offset Activation Flowchart

3-22 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

Tool table
The tool table consists of 250 pages. Each page contains information regarding one specific tool.
This information is divided into fields:

3
1 2

Fig. 3-7 Tool table (one page per tool)

There are 250 pages in the table for up to 250 tools with tool magazine option; it is possible to
assign 250 tools to one or more tool magazines (up to 10). You can access a page of the tool table
with the page number (1-250) or if you use the TBLSRCD function also with the tool identification
code. Since the data for a specific tool may be in any of the 250 pages, it is better to use the
method which uses the TBLSRCD function.

10 Series CNC WinPLUS Application Manual (03) 3-23


Chapter 3
I/O Processor /System Data Areas

MNEMONIC CONTENTS FORMAT UNITS

TCODE tool identification code double --


TOOLPOS tool position info short nnnn
TFAMCOL reserved short --
TOOLTYPE tool type info short --
TSTATUS tool status short --
TCNTRL tool control word short --
MAXLIFE initial life double sec
REMLIFE actual life double sec
TUSER1 user parameter 1 double --
TUSER2 user parameter 2 double --
TUSER3 user parameter 3 double --
TUSER4 user parameter 4 double --
TOLOFNR pointer on the offset table page short --

The TBLSRCD function/ function block/ macro can be used to find the page number of the tool
table for a given tool identifier:

Fig. 3-8 The table search function block (double search)

In above function block the inputs “n_tab” e “n_field” define the Number of the table and the field to
search. The input “srchaval” is connected to the searched tool id, the tool identifier as programmed
in the part program. The inputs “n_start”and “n_stop” indicate the first and the last table page in
which the input “srchval” is searched. Generally you will use 1 as the start index and the maximum
number of tools as the stop index.

For example, you will use different ranges in case a tool table is subdivided in areas, each
belonging to a single process.

3-24 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

Tool offset table


The tool offset table consists of 300 pages. Each page contains all the information describing the
dimensions of a tool. This information is divided into fields:

TACTL1

TCMAXL1

TCACTL1

TACTL2

TCMAXL2

TCACTL2

TDIAMETER

TCACDIAM
300
TORIENT
3
1 2

Fig. 3-9 Tool offset table (one page per offset)

The table contains 300 pages for 300 offset tools. This allows to define more offsets for a single
tool. You can access a page of the tool offset table via the tool offset number corresponding to the
page number (1-300). The tool offset number will be directly programmed into the part program
using the "T" function or can be found in the last field of the tool table (TOLOFNR). Depending on
the application type (milling, lathing or grinding), different fields of the tool offset table will be used.

10 Series CNC WinPLUS Application Manual (03) 3-25


Chapter 3
I/O Processor /System Data Areas

All table formats will be shown hereafter:

MNEMONIC CONTENTS MILL FORMAT

TACTL1 actual tool length double


TACTL2 Current radius of toroidal tool double
TCMAXL1 allowable tool length wear double
TCMAXL2 Max. wear of toroidal tool radius double
TCACTL1 actual tool wear offset double
TCACTL2 Current wear of toroidal tool radius double
TDIAMETER actual tool diameter double
TCACDIAM actual tool diameter wear double

Fig. 3-10 Mill Tool Offset Table

TACTL2

Fig. 3-11 TACTL2 Toroidal Tool radius

This function is activated by process variable TTR(a 1).

3-26 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

MNEMONIC CONTENTS GRINDER FORMAT

TACTL1 actual tool length 1 (wheel radius) double


TCMAXL1 allowable tool length 1 wear double
TCACTL1 actual tool length 1 wear double
TACTL2 actual tool length 2 (wheel width) double
TCMAXL2 allowable tool length 2 wear double
TCACTL2 actual tool length 2 wear double
TDIAMETER * actual wheel nose diameter double
TCACDIAM wheel nose diameter wear double
TORIENT orientation ( wheel orientation angle) short

Fig. 3-12 Grinder tool offset table

10 Series CNC WinPLUS Application Manual (03) 3-27


Chapter 3
I/O Processor /System Data Areas

MNEMONIC CONTENTS LATHE FORMAT

TACTL1 actual tool length 1 (length in X axis) double


TCMAXL1 allowable tool length 1 wear double
TCACTL1 actual tool length 1 wear double
TACTL2 actual tool length 2 (length in Z axis) double
TCMAXL2 allowable tool length 2 wear double
TCACTL2 actual tool length 2 wear double
TDIAMETER ➀ actual tool tip diameter double
TCACDIAM tool tip diameter wear double
TORIENT orientation ( tool tip orientation angle) short

Fig. 3-13 Lathe tool offset table

NOTE:
➀ The wheel nose radius resp. tool tip radius is internally (table) managed as a diameter.
The entry in the table editor is a radius.

3-28 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

User table

USER1

USER2
100

USER3
3
USER4 2
1

Fig. 3-14 User table

The user table has 100 pages. Each page contains 4 "double" fields. You can read or write in this
table with the page number (index) to select the page and the field name (USERn) to address the
desired field. The use of the fields depends on the requirements of the application. The system
never accesses this table.

One page of the table in detail:

MNEMONIC CONTENTS FORMAT

USER1 user variable 1 double


USER2 user variable 2 double
USER3 user variable 3 double
USER4 user variable 4 double

10 Series CNC WinPLUS Application Manual (03) 3-29


Chapter 3
I/O Processor /System Data Areas

WINPLUS VARIABLES SUMMARY TABLE

Syntax Type Format Number of elements


Ixx_yy Physical input Boolean 16*512 signals
Qxx_yy Physical input / from memory Boolean 16*512 signals
Oxx_yy Physical output Boolean 16*512 signals
IWxx / IIxx Physical input Word / Integer 512
QWxx / QIxx Physical input / from memory Word / Integer 512
OWxx / OIxx Physical output Word / Integer 512
Sxx_yy System status Boolean 500*8 signals
SWxx / SIxx System status Word / Integer 500
Gxx_yy Retentive global Boolean 16*256 signals
GWxx /GIxx Retentive global Word / Integer 256
GDxx Retentive global Double 64
Mxx_yy Global Boolean 16*10000 signals
MWxx /MIxx Global Word / Integer 10000
MDxx Global Double 3000
Axx Global String 1500 (40 char)

3-30 10 Series CNC WinPLUS Application Manual (03)


Chapter 3
I/O Processor /System Data Areas

END OF CHAPTER

10 Series CNC WinPLUS Application Manual (03) 3-31


Chapter 3
I/O Processor /System Data Areas

END OF CHAPTER

3-32 10 Series CNC WinPLUS Application Manual (03)


Chapter 4
CONFIGURATION OF FUNCTIONALITIES

The user of the logic can use a “Configuration Rack” to enable the proper functions.

For each process there is a configuration variable and a strobe variable (variable where you
send the acknowledge) of the different functions of the Part Program. These variables are listed in
table 4-1.

Configuration

Configuration Strobe
Process 1 MW9800 MW9801
Process 2 MW9650 MW9651
Process 3 MW9500 MW9501
Process 4 MW9350 MW9351
Process 5 MW9200 MW9201
Process 6 MW9050 MW9051
Process 7 MW8900 MW8901
Process 8 MW8750 MW8751
Process 9 MW8600 MW8601
Process 10 MW8450 MW8451
Process 11 MW8300 MW8301
Process 12 MW8150 MW8151
Process 13 MW8000 MW8001
Process 14 MW7850 MW7851
Process 15 MW7700 MW7701
Process 16 MW7550 MW7551
Process 17 MW7400 MW7401
Process 18 MW7250 MW7251
Process 19 MW7100 MW7101
Process 20 MW6950 MW6951
Table 4-1 Configuration variables

10 Series CNC WinPLUS Application Manual (00) 4-1


Chapter 4
Configuration of functionalities

The indexes of variables MW and MD of RACK M related to each process can be calculated in the
following way:

Index MW K = 9950 – (process n° * 150)

Index MD L = 2950 – (process n° * 50)

A functionality enabling is associated to each bit of a configuration variable.


The bit position of the configuration and strobe variables is shown in the following table 4-2

Bit Description
0 Enable/Disable management of M functions
1 Enable/Disable management of S functions
2 Enable/Disable management of T functions
3 Enable/Disable management of consent to movement
4 Enable/Disable management of end of movement
5 Enable/Disable management of pseudo axes
6 Enable/Disable End of Block (EOB)
7 Enable/Disable management of RQP
8 Enable/Disable management of RQT
9 Enable/Disable management of TOU
10 Enable/Disable management of probing end of cycle

Fig. 4-2 Bit position of the configuration and strobe variables

Enabling (bit =1) the functionality, the user can benefit of the related RACK (See chapter 5);
therefore the configuration phase must be executed BEFORE any other operation on the RACKS.

NOTE:
All the variables of this Rack are reset when you bootstrap the system..

END OF CHAPTER

4-2 10 Series CNC WinPLUS Application Manual (00)


Chapter 5
LOGIC / SYSTEM COMMUNICATION

STRUCTURE OF THE PART PROGRAM RACK


A part program block can contain:

• A single S function to control the spindle speed


• A single T function to select the tool and offset which have to be used
• up to 4 M codes for miscellaneous functions (prelude, postlude and expedite M codes are
supported)
• up to 6 pseudo axes used to transfer information to the logic
• up to 6 motion axes (for co-ordinated motion)

LOGIC SYSTEM COMMUNICATION SYSTEM

RACK RACK RACK RACK

SYSTEM / LOGIC
COMMUNICATION

RACK RACK END RACK S RACK M RACK T RACK RACK RACK RACK RACK RACK
CONS. RQP TOU
MOVEMENT FUNCTIONS FUNCTIONS FUNCTIONS PSEUDO END OF RQT END CYCLE
MOVEMENT
AXIS BLOCK PROBING

RACK M

LOGIC PROGRAM

Fig. 5-1 Rack for SYSTEM/LOGIC communication

10 Series CNC WinPLUS Application Manual (03) 5-1


Chapter 5
Logic system communication

The system will write the data for each one of these part program information groups into the
relative M RACK if this has been enabled in the configuration Rack by the WinPLUS programmer.

NOTE:
It is not necessary to enable all of the Racks.

If the system detects that one of these is not enabled, it will be assumed that the logic is not
interested in that particular feature of the part program and, it will continue the execution of the
block without updating the Rack data..

Even if they are optional, some RACKS like the M,S,T, functions, must be enabled so that the 10
Series CNC will execute the M codes, the spindle speed, and the tool management. correctly.

5-2 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

THE PART PROGRAM INTERFACE RACKS


Each Rack of this group will be updated every time that an associated request is found in the part
program.

The requests from part program (or MDI) can be:

Request Associated Rack

Programming of axes movement Movement consent, end of movement


Programming code M M functions
Programming code S S functions
Programming code T T functions
Programming pseudo axes Pseudo axes
End of the block End of Block (EOB)
inserting tool offset RQP
Inserting correction for tool wear RQT
Tool worn TOU
Completed probing cycle Probing end of cycle

The task of these interface Racks is to allow the logic to manage the information that comes from
the part program and to start actions related to them.

For each request, the system prepares the data at the specific Rack, activates a strobe to signal
the presence of new data to the machine logic and then waits for the logic to acknowledge
completion of the action. .(ACKSTROBE).

The system is left in a wait state until the acknowledgement is received, the wait state is then
released and the associated strobe signal is disabled.

It is possible for the machine logic to release the suspended part program execution before the
completion of the logic action, by sending the appropriate acknowledge. E.g. A T word might be
acknowledged before the completion of a tool search, if the tool storage system is independent of
the rest of the machine. In this case the logic would acknowledge the T strobe as soon as the new
value was recognized.

NOTE:
All the functions that you will find in this chapter (functions M,S,T, consent to movement, end
movement), are described assuming a sequential management of the request (e.g. fig. 5-2: the
part program restarts execution only at the completion of the handling of the function).

10 Series CNC WinPLUS Application Manual (03) 5-3


Chapter 5
Logic system communication

SYSTEM

WAIT

Function emission

No
Set function?

Yes

Compile M RACK

Set Strobe

WAIT
Start Event task
If present
ACK_STROBE
From logic

Reset Strobe

Manage answer

Fig. 5-2 Synchronisation of the Part Program interface

5-4 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

PART PROGRAM
REQUESTS

TYPE OF REQUEST

RACK RACK RACK RACK RACK RACK RACK RACK RACK RACK RACK
CONSENT END FUNCTIONS PSEUDO FUNCTIONS FUNCTIONS EOB RQP RQT TOU END CYCLE
TO MOVEMENT M AXES S T PROBING
MOVEMENT

SYSTEM LOGIC INTERFACE


RACK M

ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT.
CONSENT END FUNCTIONS PSEUDO FUNCTIONS FUNCTIONS FUNCTIONS FUNCTIONS FUNCTIONS FUNCTIONS COMPLETE
MOV. MOV. M AXES S T EOB RQP RQT TOU PROBING
CYCLE

RETURNS THE CONTROL


TO THE SYSTEM

Fig. 5-3 SYSTEM/LOGIC Interface: Interface part program Rack

10 Series CNC WinPLUS Application Manual (03) 5-5


Chapter 5
Logic system communication

SEQUENCE OF PART PROGRAM INFORMATION TRANSFER TO THE LOGIC

In point-to-point mode functions are sent to the logic in the following order:

Fig. 5-4 Sequence of part program to WinPLUS information transfer

5-6 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

COORDINATED AXES
There are 9 possible motion axes in a process. 6 of the 9 axes can be programmed simultaneously
in a single part program block. In the case of dual axes, up to 9 axes may be moving with only 6
axes programmed in the block. Each of the axes has a part program address (axis name) which
must be defined in AMP. The numerical value which is programmed after that address (the
position) is a (double precision) floating point number which has a format of 5.5 (5 figures before
and 5 figures after the decimal point).
There are two calls from the system to the logic related to co-ordinated axes motion:

• Consent to motion
• End of motion

Consent to move Rack


The “Consent to move” Rack data is always updated when the system encounters a block of axis
movement during the execution of a part program,.
When this happens the variable “motion consent strobe” is set to 1 while the data related to the
axes in use is stored.
The logic has to check if this axis is allowed to move. The axis motion will not be started until the
logic responds with an acknowledge to the system.
The inputs and outputs of this Rack are:

INPUT VARIABLES:

MW(K+5) Type of motion (short)


MW(K+6) Type of fixed cycle (short)
MW(K+7) mode (short)
st
KW(K+8) axis identifier of 1 configured axis (short)
……..
th
MW(K+16) axis identifier of 9 configured axis (short)
MD(L) programmed feedrate (double)
st
MD(L+1) end position of 1 configured axis (double)
…..
th
MD(L+9) end position of 9 configured axis (double)

OUTPUT VARIABLES:

MW(K+4) task return value (short)

To know how K and L are obtained see Chapter 4.

To acknowledge “consent to movement” to the system it is necessary to insert the following call in
the user’s logic:

10 Series CNC WinPLUS Application Manual (03) 5-7


Chapter 5
Logic system communication

15 00 Bit

XW 03

G29 RAPID (G00)


G28 LINEAR (G01)
G27 CIRCULAR (G02, G03)

Fig. 5-5 Consent to move /type of move

15 00 Bit

XW 04

G72 G81
G73 G82
G74 G83
G84
G85
G86
RESERVED
RESERVED
G89

Fig. 5-6 Consent to move /type of canned cycle

15 00 Bit

XW 05

P-P BLOCK CONTUNOUS MANUAL JOG


MAS BLOCK INCREMENTAL JOG
HOME
RESERVED
RESERVED
JOG RETURN
RESERVED
RESERVED

Fig. 5-7 Consent to move/mode

5-8 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

Motion blocks
A motion block is a part program block or a group of part program blocks containing programmed
axes motion from the actual point to the programmed end point without any commanded stop
inside the motion.

A motion block can be:

• an axes motion in G00


• a programmed motion in G01, G02 or G03
• a continuous path (profile) in G27 or G28. In this case the motion block may consist of more
than one part program block.
• a fixed cycle (like G81, G83, etc.)
• a fixed cycle like G84 or a part program block in G33

The system communicates with the logic at the beginning of a motion block by starting the “consent
to move” routine in the interface system-logic Rack. At the end of the motion block the system will
communicate to the logic “Block end” through the strobe bit “end of motion request” of the
“Interface system-logic” Rack (motion end).

If there should be a continuous mode block, that would mean that the first block must contain all
the axes that are part of this motion, even if this means repeating the current position. Only in this
way can the system inform the logic about the axes involved in the motion block.

Example:
G 00 X 10 Y 10 Z 10
G 01 G 27 X 20 Y 20 Z 10 F 1000 <-- Z declared even if
MOTION X 30 no motion in this
BLOCK Y 30 pp block
Z 30
G 29 X 40 Y 40 Z 30

10 Series CNC WinPLUS Application Manual (03) 5-9


Chapter 5
Logic system communication

Consent to move management


Every time a motion block is encountered, the system requests the consent of the logic, speciffies
the axes involved, the type of motion, the end points and the programmed velocity on the profile.
The maximum number of axes allowed in a process is 9.

SYSTEM

WAIT

Consent requets
To movement
No
Set
Function?

Si

Compile M RACK

Set Strobe

WAIT
Start event task
If present
ACK_STROBE

Reset Strobe

Manage answer

Excute motion

Fig. 5-8 Diagram of end consent signals

5-10 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

End of motion Rack


The data of the “ End of motion ” Rack will be updated each time a motion block is completed; in
and the “motion end strobe request” is set to 1.

The input and output variables of this Rack are:

INPUT VARIABLES:

MD(L+10) Tool life (reserved) double

OUTPUT VARIABLES:

MW(K+17) Return value short

K and L are calculated as shown in Chapter 4.

To send the answer “accept end of motion” to the system it is necessary to insert the following call
in the user’s logic:

10 Series CNC WinPLUS Application Manual (03) 5-11


Chapter 5
Logic system communication

End of motion management


At the end of a motion block the system will inform the logic. The logic will execute the correct
action before releasing the system

SYSTEM

WAIT

End of motion
request
No
Set
function?

Yes

Compile M RACK

Set Strobe

WAIT
Start event task
If present
ACK_STROBE
from logic
Reset Strobe

Manage answer

Fig. 5-9 Diagram of end of motion signals

5-12 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

M FUNCTIONS
The M code followed by a number identifies an auxiliary function relating to the machine tool. In the
10 Series CNC the M code value must be a positive integer with up to 3 digits (0...999). The
programming format for the M code is therefore (M0.....M999). You can program up to 4 M codes in
a part program block.

M functions may have different characteristics, which must be specified in the AMP.

There are 3 types of M functions:

• Prelude M functions are sent to the logic before axes motion


• Expedite M functions are sent to the logic during axes motion
• Postlude M functions are sent to the logic after axes motion

In prelude and postlude M function synchronisation between axes moves and execution of M's by
the machine logic depends on:

• how the accepted in continuous mode parameter has been configured


• the type of motion (G27, G28 or G29)

Motion Code accepted in continuous mode = N accepted in continuous mode = Y

G27,G28 Not possible M function execution synchronised


with axes moves. No handshake
required (the function is sent to the
logic without interrupting program
execution).
G29 M function execution synchronised
with axes moves. Handshake
required (program execution
interrupted as long as it is requested
by the logic).

10 Series CNC WinPLUS Application Manual (03) 5-13


Chapter 5
Logic system communication

M function rack
Each time a M function is encountered in the part program the “M function” Rack data is updated;
the variable “strobe M prelude/postlude” is set to 1 and the other input data relating to the M are
stored (type and code).

The logic must send an “accepting code M” answer using the special function so that the execution
of the part program can continue.

In the case of M expedite functions the value of M function is updated in the “Expedite M code
emitted” rack

The input variables of this Rack are:

INPUT VARIABLES:

MW(K+19) type of M code (short)


MW(K+20) decimal value of code M (short)
MW(K+21) decimal value of M expedite (short )

OUTPUT VARIABLES:

MW(K+18) return value of routine (short)

Description:

The type (MW(K+19)) of code M can have the following values:

0 => code M prelude


1 => code M expedite
2 => code M postlude

NOTE:
When starting the machine these variables are homed.
The logic must always send an answer to the system following code M through the function “accept
M code ”.

To send the answer “accept M function ” to the system it is necessary to insert the following call in
the user’s logic.

5-14 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

The data associated with the M codes are passed to the “M Functions” Rack in the same sequence
as they are programmed in the part program block.

SYSTEM

WAIT

M Function

No
Set function?

Yes

Compile M RACK

Set Strobe

WAIT
Start event task
if present
ACK_STROBE
from logic
Reset Strobe

Manage answer

Fig. 5-10 Manage code M (Prelude/Postlude)

The can acknowledge or refuse the M code request. If a certain M code is not allowed with the
machine in a particular state, the logic can return a -1 value in the XW 00 variable. The system will
go into error status. Another reason to refuse an M code could be a mechanical problem during its
execution.
When a RESET coincides with the execution of an M code, the logic must send an
acknowledgement to the system anyway. The logic may decide to abort or to continue the further
execution of the M code.
Never forget to acknowledge a pending M code during a reset, as this will inhibit execution and
prevent the reset from being completed.
Note that the M code acknowledgement must be executed before the ENDRESE function may be
called. For more details refer to the reset management.
When a HOLD coincides with the execution of an M code, the system will not execute any further
(MDI) M-codes, until it receives the acknowledge for the pending M code.

10 Series CNC WinPLUS Application Manual (03) 5-15


Chapter 5
Logic system communication

M code management (EXPEDITE)


The system allows the use of only one expedite M function in each part program motion block.

Because there is no synchronisation for expedite functions, expedite M codes must be processed
by the logic as fast as possible. The throughput of part program blocks containing an expedite
function may be very high (block cycle time!). By making the execution as fast as possible, the risk
of losing expedite M codes when working with a very low block time is minimized.

SYSTEM

WAIT

Expedite M
function
No
Set function?

Yes

Compile MRACK

Manage answer

Fig. 5-11 Manage code M Expedite

5-16 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

AMP set up for M functions


Each M function allowed in the system has to be set up in the AMP software configuration
program. The characterisation for M codes is used by the system when an M code is encountered
in the part program. When an M code is programmed, which was not defined in AMP an error will
occur.

This is the list of items which can be assigned to M codes in AMP:

Activation mode: PRELUDE / POSTLUDE / EXPEDITE


This attribute tells the system when to notify the logic about the M
code. Prelude means before the motion of the block starts,
postlude is after the motion of a block has finished and expedite
means that the logic will be notified during the motion. (i.e. M03,
spindle clockwise, will have the attribute prelude, M 06, change
tool and tool offset, will be executed postlude)

Allowed in hold: Y/N


This attribute tells the system that the related M function can or
cannot be executed and notified to the logic in the hold status.
M06 is an example of a code which cannot be accepted in hold.

Visualisation: Y/N
This attribute defines whether or not the system will display the M
code on the main screen.

Modal function: Y/N


This attribute refers to the display of an M code. If you declare
the function modal, its code will also be displayed during all
subsequent blocks. A non-modal function will only be displayed
during the execution of the block it was programmed in. ( i.e.
typically M03 is modal, M06 is not)

Display after reset: Y/N


This attribute tells the system if the display of the M code must be
maintained after a reset. When set, the logic must also maintain
the M function active, even if a reset occurs.

Force conditional blk/blk: Y/N


This attribute can be set true for postlude M functions only. When
an M code with this attribute is executed and the system variable
USO is set true, the system will go into "block by block" mode at
the end of the block. The state of "USO" is defined in the "PART
PROGRAM SETUP" menu. This attribute is normally used for the
M01 (optional stop) code.

Force unconditional blk/blk: Y/N


This attribute can be set true for postlude M functions only. When
an M code with this attribute is executed, the system will go into
"block by block" mode at the end of the block containing the M
code. This attribute is normally used for the M00 (programmed
stop) code.

10 Series CNC WinPLUS Application Manual (03) 5-17


Chapter 5
Logic system communication

Block calculation stop: Y/N


This attribute can be set true for postlude M functions only. When
an M code with this attribute is executed, the pre-calculation of
the next part program block is stopped. In this status, the system
can accept other motion commands from the logic, like MDI or
subroutine calls (i.e. to execute a M60 pallet change with motion
of the co-ordinate axes). The normal part program execution after
a block calculation stop can be resumed with the PPRESUME
function call.

Tool offset change: Y/N


This attribute can be set true for postlude M functions only. When
an M code with this attribute is executed, the system will be
prepared for a change of the tool offset. It must always be
combined with "block calculation stop=Y". This attribute is
normally used for the M06 tool change M code.

Reset after execution: Y/N


This attribute can be set true for postlude M functions only. When
an M code with this attribute is executed, the system will
automatically perform a RESET at the end of the block. Normally
this attribute is used for codes like M02 or M30 (program end).

5-18 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

Display class: 0....15

This attribute tells the system how the M codes must be grouped for their
display on the screen. For example the codes M03, M04 and M05 belong
to the same group, are mutually exclusive and can be displayed in one
screen position.
During their execution, M codes will appear on the screen in reverse
video mode. In the moment in which the logic acknowledges the M code,
the display of the M code will be returned to normal.

Update M RACK

WinPLUS

WinPLUS

Update M RACK

WinPLUS

Fig. 5-12 Display Class: Program S1000 M3 M4

10 Series CNC WinPLUS Application Manual (03) 5-19


Chapter 5
Logic system communication

Search in memory class: Defines the priority for the emission of the M functions at the end
of the search in memory command.
There are 16 classes of priority. The emission of M functions is
carried out as follows:

- class 0 means that the M function will not be memorised

- at the end of the search the functions that have the lowest
class number will be emitted first.

Accepted in continuous mode: Y/N


This parameter specifies whether or not the M function may be
programmed in continuous mode. It can be set to Y only for
functions that do not require "forced block to block", "calculation
stop", "offset change" or "reset".

5-20 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

Example:
M Prelude function

SYSTEM

distinguish M code (max 4) in


prelude, postlude, expedite

M postlude no stop pre calculation of block


with calculation stop

Yes

M postlude no
with change of Save change of mode request
mode

yes

stop pre calculation of mode


arresta pre calcolo del modo

no yes
write M code on display (reverse mode)
M prelude scrivi codice M sul video (modo reverse)

update function rack


aggiorna rack funzioni
M

WinPLUS
Logic

no
Cancel M codesu
cancella onvideo
display
codice M Modal M

Yes
Yes

Other M Cancel annullo


reversemodo
mode reverse della
on display
prelude visualizzazione

no

Fig. 5-13 Block chart of execution of Prelude M

10 Series CNC WinPLUS Application Manual (03) 5-21


Chapter 5
Logic system communication

Example:
M Expedite function

no
expedite M

yes

write M code on display

update M rack data

WinPlus
LogicLog
P

Fig. 5-14 Block chart of execution of Expedite M

5-22 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

Example:
Postlude M function

Postlude M no
END

yes

write M code on display (reverse mode)

update M rack functions

WinPLUS
Logica
Logica
LogicPLUS
WinPlus

no Stop Pre-calculation
block

Yes

enters in MAS state (S20_13)

PPRESUME executed no

yes

no
Modal M cancel M code on display

Yes

cancel reverse mode from display

yes Another POSTLUDE M

no

10 Series CNC WinPLUS Application Manual (03) 5-23


Chapter 5
Logic system communication

Force block/block no
Mode
request new status

reset

generate reset command

yes
USE enter in IDLE (S20_13) status

no

END
FINE

Fig. 5-15 Flow chart of M Postlude execution

5-24 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

PSEUDO AXES
Pseudo axes offer an easy-to-handle interface between the part program and the logic. The
pseudo axes are part program addresses (like axes addresses) which can be used to transfer
numerical information (in double precision floating point format) to the WinPLUS program. This
information can be used by the logic to control analogue outputs or point-to-point-axes.

The part program addresses (axes names) of the pseudo axes must be defined in the AMP
configuration utility. AMP will allow up to 6 addresses to be defined as pseudo axes. The names
used must be different from the other axes names. The programming format for pseudo axes (like
for normal axes) is 5.5 (five figures before the point and five figures after).

Pseudo axes rack


If the “Pseudo axes” rack is enabled (in the configuration Rack), the data of this Rack will be
updated each time there is a Pseudo rack in the part program execution.

Correspondingly the variable ”Pseudo axes function strobe request” is set to 1 while the other input
variables contain the data concerning the related axes.

The logic must send an answer “acknowledge programmed pseudo axes”, using the proper
function, in order to continue the part program execution.

The input and output variables of this Rack are:

INPUT VARIABLES:

MW(K+23) axis identifier for the first configured pseudo axis (short)
..... .........
MW(K+28) axis identifier for the sixth configured pseudo axis (short)
MD(L+11) programmed value for the first pseudo axis (double)
..... .........
MD(L+16) programmed value for the sixth pseudo axis (double)

OUTPUT VARIABLE:

MW(K+22) task return value (short)

To send the answer” acknowledge pseudo axes function” to the system it is necessary to insert the
following call in the user’s logic:

10 Series CNC WinPLUS Application Manual (03) 5-25


Chapter 5
Logic system communication

If the value of a pseudo axis identifier (one of the parameters from MW (K+23) to MW(K+28) is
zero, then the corresponding pseudo axis is not programmed in that block. The sequence of the
pseudo axes addresses in the words MW(K+23) to MW(K+28) is the same as that of the sequence
configured in AMP.

Axes identifiers can have the following values:

Process 1 First axis Identifier = E100H (57600T)


Second axis Identifier = E101H (57601T)
.................. ............
Sixth axis Identifier = E105H (57605T)
Process 2 First axis Identifier = E200H (57856T)
.................. ............
Process 3 First axis Identifier = E300H (58112T)
.................. ............
Process 4 First axis Identifier = E400H (58368T)
.................. ............
Process 5 First axis Identifier = 0E500H (58624T)
............................... ...............................
Process 6 First axis Identifier = 0E600H (58880T)
............................... ...............................
Process 7 First axis Identifier = 0E700H (59136T)
............................... ...............................
Process 8 First axis Identifier = 0E800H (59392T)
............................... ...............................
Process 9 First axis Identifier = 0E900H (59648T)
............................... ...............................
Process 10 First axis Identifier = 0EA00H (59904T)
............................... ...............................
Process 11 First axis Identifier = 0EB00H (60160T)
............................... ...............................
Process 12 First axis Identifier = 0EC00H (60416T)
............................... ...............................
Process 13 First axis Identifier = 0ED00H (60672T)
............................... ...............................
Process 14 First axis Identifier = 0EE00H (60928T)
............................... ...............................
Process 15 First axis Identifier = 0EF00H (61184T)
............................... ...............................
Process 16 First axis Identifier = 0F000H (61440T)
............................... ...............................
Process 17 First axis Identifier = 0F100H (61696T)
............................... ...............................
Process 18 First axis Identifier = 0F200H (61952T)
............................... ...............................
Process 19 First axis Identifier = 0F300H (62208T)
............................... ...............................
Process 20 First axis Identifier = 0F400H (62464T)
............................... ...............................

5-26 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

SYSTE
M
WAIT

Pseudo
axes
No
Set configuration?

Yes

Compile Psuedo axis


RACK

Set
Strobe
WAIT
Start event task
if present
ACK_STROB
E
Reset from logic
Strobe

Manage
answer

Pic. 5-16 Pseudo axes management

If there is a RESET command during the management of the Pseudo axes (that is in the interval of
time in which the signal STROBE “Pseudo axes function request” is set), the answer to the system
must be given immediately or anyway before calling the function ENDRESE.

10 Series CNC WinPLUS Application Manual (03) 5-27


Chapter 5
Logic system communication

S FUNCTION
The part program uses the letter "S" as code for the spindle speed. The S function can be used to
program the spindle speed in RPM or the workpiece surface speed. The units of the value
programmed under S must be defined by the programmer of the logic (normally the surface speed
is expressed in m/min or feet/min but for grinders also m/s and feet/s are used).
If G97 is active, the spindle must be programmed in RPM. If G96 is active the programming of S is
expressed as a peripheral speed in feet/min (constant surface speed)

The S word is a floating point number (double precision) with a programming format of "6.3", i.e.
the number may have up to 6 significant digits before the decimal point and up to 3 significant
digits after the decimal point. In this way the 10 Series CNC is able to support all kinds of spindles
from large reaming heads up to high frequency spindles.

Rack of S functions
When an S function is programmed the variable “Notify S function” is set to 1 while the data
concerning the speed is stored in the S Rack..

The logic must manage the associated value and send an acknowledgement to the system when
the execution has been completed.
The S function Rack is enabled by setting the appropriate variable of the configuration Rack.
The input/output variables of this Rack are

INPUT VARIABLES:

MD(L+17) S function value as programmed (double)


MD(L+18) SSL spindle speed limit value (double)
MD(L+19) - In G96 mode:
S function value in the active measuring unit (mm or inch)
- In G97 mode:
S function value as programmed (rpm)
MD(K+30) Spindle control G code 0 = G97 1 = G96 (short)

OUTPUT VARIABLES:

MD(K+29) task return value (short)

To send the answer “acknowledge function S” to the system it is necessary to insert the following
call in the user’s logic:

5-28 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

The value of MD(L+19) can be used directly as an input parameter in functions:


SG96RPM or SG97RPM.
With SG96RPM it is normally assumed that S is programmed in m/min (G71) or Feed/min (G70).
Should other measure units be used such as Feed/s or m/sec, the appropriate conversions must
be made in the logic program starting from the programmed speed value MD(L+17).

Handling the percentage spindle speed override (SS0) is one of the machine logic tasks.
Two methods are available to the logic user for handling these variations (for example, after the
relevant softkeys are pressed): check any variation recorded in the value of variable S_nSS0
(SW37) by comparing the current value with the previously stored one

In both cases, the value of SS0 is given by the value, multiplied by 100.

SS0 Value value %


0 0
1000 10
10000 100

The value obtained can be given as in input to function SG96RPM or SG97RPM.

Example:
SSO 1000 (10%)
SPINDLE SPEED 1500 RPM

1000
New Spindle Speed value = 1500 × = 150[revolution / min]
10000

10 Series CNC WinPLUS Application Manual (03) 5-29


Chapter 5
Logic system communication

SYSTE
M
WAIT

S
function
No
Configured ?

Si

Compile S
RACK

Set
Strobe
WAIT
Start event task
if present
ACK_STROB
E
from logic
Reset
Strobe

Manage
answer

Pic.5-17 Management of S function

NOTE:
The spindle speed is displayed on the screen with two values:

• Programmed speed (S programmed)


• Actual speed:
− spindle with transducer
actual spindle RPM will be displayed
− spindle without transducer
the displayed spindle speed will be calculated by the system from the programmed value,
the spindle speed override percentage, the SSL and the active G code.

5-30 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

After the execution of an S function, the logic must send an acknowledgement to the system. In
case of a reset during the execution of this routine, the acknowledgement should be given
immediately. What happens to the spindle in case of a reset depends on the type of application.

The system must be released before you can use the function call $ENDRESE. For more details
on RESET please refer to the "RESET" chapter.

Fig. 5-18 Flow chart of S value in the logic

NOTE:
The above figure does not take into consideration the value of SS0.

10 Series CNC WinPLUS Application Manual (03) 5-31


Chapter 5
Logic system communication

T FUNCTION
The T part program function is used to transfer up to two values to the logic. The first value is the
tool identification code, a positive integer number of up to 12 digits, which is handled using the
"double" format. The second value is the tool offset number. This is a positive integer number with
a "short" format. Its range is 0..300. Values, tool identification and offset number must be
separated by a point "." character when using the T code in the part program.

The programming format for the T word is therefore

Txxxxxxxxxxxx.yyy

The tool identification code is used to determine the tool table page where the required data can be
found. Page identification can be done in two ways:

• programmed tool identifier corresponds to the page number (T250)


• tool identifier is a value that allows correct page to be found
The following descriptions are valid for both cases except for the tool table search that is valid only
for the second case.

It is possible to express 6 types of T function representation, each with a different meaning.

T xxxxxxxxxxxx (only tool id code xxxxxxxxxxxx)


Insert a new tool. The logic has to search in the tool table for the
programmed tool id. Once it has found the page that contains the tool, it
must read the tool offset number (TOLOFNR) from the same page,
change the tool and activate the offset. Normally a tool change M code is
used in the part program (typically M06) to physically execute the tool
change and to activate the offset.

T 12345

Tool Table
n+2
n+1
n TCODE TOLOFNR
12345 67

Tool Offset Table

69
68
67 Tool offset # 67

Fig. 5-19 Search for programmed tool and offset

5-32 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

T .yyy or T 0.yyy (only tool offset number yyy)


Activate a new tool offset for the actual tool in the spindle. The logic uses
the tool offset number as a pointer to the tool offset table. The tool offset
number is the page number containing that offset. You can use a tool
change M code like M06 in the part program to tell the logic to activate
this offset.

T .67

Tool Offset Table

69
68
67 Tool offset # 67

Fig. 5-20 Search for the offset number

T xxxxxxxxxxxx.yyy (tool id code xxxxxxxxxxxx + offset number yyy)


Insert a new tool. The logic has to search in the tool table for the
programmed tool id. It must then use the programmed tool offset number
to activate the required offset. On a tool change M code in the part
program (typically M06), the logic has to change the tool and to activate
the offset.

T 12345.67

Tool Table
n+2
n+1
n TCODE TOLOFNR
12345 33

Tool Offset Table

69
68
67 Tool offset # 67

Fig. 5-21 Programmed tool and tool offset

10 Series CNC WinPLUS Application Manual (03) 5-33


Chapter 5
Logic system communication

T xxxxxxxxxxxx.0 (tool id code xxxxxxxxxxxx without tool offset)


Insert a new tool in the spindle. The logic has to search in the tool table
for the programmed tool id. The tool offset has to be forced to a zero
value.

T 12345.0

Tool Table
n+2
n+1
n TCODE TOLOFNR
12345 33

Fig. 5-22 Programmed tool without offset

T .0 (remove actual tool offset)


The logic has to set the tool offset to a zero value. The tool remains in the
spindle.
T 0 or T 0.0 (remove actual tool and tool offset)
The logic has to set the tool offset to a zero value. The tool must be
removed from the spindle.

T function Rack
The data of the “T function” Rack is updated every time a T function is encountered in a part
program block. When this happens the variable “emitted T function” is set to 1 while the data
associated with the tool is stored in the other input variables.
The logic must manage the parameters that are present in the Rack.
The “T function” Rack is enabled by setting the appropriate variable in the configuration Rack.

The input and output variables of this Rack are:

INPUT VARIABLES:

MW(K+32) Tool control word (short)


MW(K+33) Tool offset number (short)
MW(K+34) Number of axes for offset (1-2) (short)
MW(K+35) identifier of first axis (short)
MW(K+36) identifier of second axis (short)
MW(K+37) Slave tool number (short)
MD(L+20) Tool identification code (double)
MD(L+21) reserved (double)
MD(L+22) cosine for first axis' offset (double)
MD(L+23) cosine for second axis' offset (double)

OUTPUT VARIABLES:

MW(K+31) task return value (short)

5-34 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

To send the answer “accept T function” to the system it is necessary to insert the following call in
the user’s logic:

Description:

The tool control word MW(K+32) tells your logic how it should handle the information from the MW
variables. Twelve programming modes are available, 6 monotool type and 6 multitool. The possible
values for the control word in monotool mode are:

1 - T (tool identifier) change tool/offset from table


2 - T (tool identifier).(offset number) change tool but use specified offset
3 - T (tool identifier).0 change tool but no offset
4 - T .0 remove tool offset
5 - T 0 or T 0.0 remove tool and offset
6 - T .(offset number) or
T 0.(offset number) leave tool but change offset

Refer to Fig. 5.24, which shows how these cases are managed by the system.

The values for the control word in multitool mode range from 11 to 16. The essential difference
between the two programming types is that in multitool mode the value of control word MW(K+37)
is the number of slave tools specified in the T function.

The variable XW 04 contains the number of the offset (= page number of the tool offset table)
which has to be applied or a zero value if no offset was programmed.

The variable MW(K+33) contains the offset number (corresponding to the page number of the
tool’s offset) that must be applyed, or an 0 value, if no offset has been programmed.

MW(K+33) has no meaning in case 1.

MW(K+34) tells the logic program whether the offset has to be applied to one or two axes. The
identifiers of the axes are supplied in MW(K+35) and MW(K+36).

The value of MW(K+37) can be used in multitool programming with the TOOL_RD F. B. required
for reading the value of the slave tools programmed in the T function.

10 Series CNC WinPLUS Application Manual (03) 5-35


Chapter 5
Logic system communication

The variable MD(L+20) contains the tool identification code as programmed in the active part
program block. This code is a number of up to 12 digits, which must be used in conjunction with
the function TBLSRCD to find the page of the tool table containing this tool's data.

The variables MD(L+22) and MD(L+23) finally pass a cosine value for each one of the axes
involved in the tool offset. This cosine value has to be multiplied with the tool length offset for that
axis as read from the tool offset table. The 1.0 and 2.0 versions of the control support only 2
values, either 1.0 or -1.0. If you want to use the standard offset handling, you have to pass these
two cosine values to the function TOOLACT .

SYSTEM

WAIT

T
function
No
Set configuration?

Si

Compile T
RACK

Set
Strobe
WAIT

Start event task


if present
ACK_STROB
E
Reset from logic
Strobe

Manage
answer

Fig. 5-23 Management of T code

5-36 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

Pic.5-24 Example of of T code execution with POCKET search

10 Series CNC WinPLUS Application Manual (03) 5-37


Chapter 5
Logic system communication

Pic.5-25 Execution of M06 new tool offset

5-38 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

END OF BLOCK RACK


The end of block Rack (EOB) is enabled by setting the appropriate variable in the configuration
Rack. When it is active, the EOB management will be called at the end of each motion block, after
the last postlude M code. This function is the last opportunity for the logic program to prevent the
execution of the following part program block and offers the possibility of changing the system
mode of operation.

The application of this routine is for tool status and tool life monitoring where the logic can
automatically create a block calculation stop when it needs to change a broken or worn tool with an
equivalent sister tool.

To enable the End of Block call, the logic must notify the system using the system function call
PREC_OFF. In case of point-to-point, while in addition with G27 or G28 execution the # character
must also be put in the block where the end of execution calculation is to be stopped In the EOB
routine the logic can check the prerequisites for part program continuation and send an answer to
the system (proceed with next block / stop program execution).

The input and output variables of this Rack are:

INPUT VARIABLES:

None

OUTPUT VARIABLES:

MW(K+98) MW(K+98)= 0 The system will proceed with the execution of the next block
MW(K+98) = -1 The part program execution is stopped. The system goes into
"MAS +IDLE" status.

When the system is in "MAS + IDLE" status, the logic can send new values for tools offset via
ACTOFFS function.

In order to exit the "MAS" status the logic must activate the PPRESUME function.

To send the answer “accept EOB function” to the system it is necessary to insert the following call
in the user’s logic:

10 Series CNC WinPLUS Application Manual (03) 5-39


Chapter 5
Logic system communication

SYSTEM

WAIT

EOB function
No Function
configured
?

Yes

compileEOB RACK

Set Strobe

WAIT
Start event task
if present
ACK_STROBE
from logic

Reset
Reset Strobe
Strobe

Manage
answer

Fig. 5-26 Manage End of block

5-40 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

TOOL OFFSET PRESETTING RACK (RQP)


The data of the RQP RACK are updated each time that a RQP function is encountered in a part
program block. RQP strobe is set to 1.
The logic must manage the parameters that are in the Rack.
The RQP Rack is enabled by setting the appropriate variable of the configuration Rack.

The part program may request the adjustment of one or more of the tool dimension offset values in
a tool offset table record using the RQP instruction.

The input and output variables of this Rack are:

INPUT VARIABLES :

MW(K+100) index number of the tool offset (short)


MW(K+101) control word (see below) (short)
MD(L+24) tool identifier (double)
MD(L+25) value length 1 (double)
MD(L+26) value length 2 (double)
MD(L+27) diameter value (double)
MD(L+28) programmed value for length 1 (double)
MD(L+29) programmed increment for length offset 2 (double)
MD(L+30) programmed diameter increment (double)

OUTPUT VARIABLES :

MW(K+99) task return value (short)

To send an answer “accept RQP function” to the system it is necessary to insert the following call
in the user’s logic

Description:

This routine is enabled when the part program block or MDI block in execution contains a RQP
instruction. The control word MW(K+101) contains a bit pattern indicating which values in a tool
offset table record must be updated.

10 Series CNC WinPLUS Application Manual (03) 5-41


Chapter 5
Logic system communication

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
K W(K+101)

update length 1
update length 2
update diameter

Fig. 5-27 Control word (MW(K+101))

The tool pre-setting values programmed with RQP are sent to the logic in two different formats:

a) the unit of measure configured in AMP is used for values sent to variables MD(L+25), MD(L+26)
and MD(L+27), irrespective of the unit of measure (G70/G71) that is active when the command
in executed (the system converts the values programmed by RQP);
b) values are sent to MD(L+28), MD(L+29) and MD(L+30) in the same format in which they are
programmed in the RQP block.

NOTE:
• With rotary axes only the values written in MD(L+28), MD(L+29) and MD(L+30) are relevant; all
the other values are irrelevant
• If a bit in the control word is set at 1 the corresponding table field must be updated using the
value(s) given in MD (from MD(L+25) to MD(L+27) for converted values or from MD(L+28) to
MD(L+30) for programmed values). For a zero bit no action is required. The accumulated tool
offset wear must be cleared. Picture 5-28 shows the algorithm that should be applied in the
RQP routine.
• If the RQP routine is not handled by the logic application, the RQP part program instruction
does not work.

5-42 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

RQP

CW Y Tool offset chart


MW (K+101)_0=1
?

N TACTL 1+MD(L+25)
TCACTL1=0

CW Y
MW (K+101)_1=1
?

TACTL2+MD(L+26)
N
TCACTL2=0

CW Y
MW (K+101)_2=1
?

N TDIAMETER+MD(L+27)
TCACDIAM=0

END

Pic.5-28 RQP – Preset of the tool’s value length and the diameter

10 Series CNC WinPLUS Application Manual (03) 5-43


Chapter 5
Logic system communication

TOOL OFFSET REQUALIFICATION (RQT)


The part program may request the adjustment of one or more of the tool wear offset values in a
tool offset table record using the RQT instruction. The variable “RQT function emitted” is set to 1.
The logic must manage the parameters present in the Rack.
The Rack “RQT function” is enabled by setting the appropriate variable in the configuration Rack.

The part program can request the requalification, (one or more values), of the correction of the tool
inside the records of the tool’s offset table, using the instruction RQT. The RQT rack must be
enabled if the corresponding part program function of “RQT”.is to be used.
Normally RQT is used to check and correct the tool wear offset values. The total amount of
adjustment is usually limited to a pre-defined maximum amount.

INPUT VARIABLES:

MW(K+103) index number of the tool offset (short)


MW(K+104) control word (see below) (short)
MD(L+31) tool identifier (double)
MD(L+32) increment for length offset 1 (double)
MD(L+33) increment for length offset 2 (double)
MD(L+34) diameter increment (double)
MD(L+35) programmed increment for length offset 1 (double)
MD(L+36) programmed increment for length offset 2 (double)
MD(L+37) programmed diameter increment (double)

OUTPUT VARIABLES:

MW(K+102) return value (short)

To send the answer “accept RQT function ”to the system it is necessary to insert the following call
in the user’s logic:

Description:

This routine will be activated when the active part program block (or MDI block) contains an RQT
instruction.

The control word MW(K+104) contains a bit pattern indicating which values in a tool offset table
record must be updated.

5-44 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

XW 04

update length 1
MW(K+104) update length 2
update diameter

Fig. 5-29 Control word (MW (k+104))

The tool length offset values programmed with RQT are sent to the logic in two different formats:

a) the unit of measure configured in AMP is used for values sent to variables MD(L+32), MD(L+33)
and MD(L+34), irrespective of the unit of measure (G70/G71) that is active when the command
in executed (the system converts the values programmed by RQP);
b) values are sent to MD(L+35), MD(L+36) and MD(L+37) in the same format in which they are
programmed in the RQP block.

NOTE:
• With rotary axes only the values written in MD(L+32), MD(L+33) and MD(L+34) must be taken
into consideration; all the other values are irrelevant (and --if programmed with a unit of
measure other than the current one-- have been converted).
• If a bit in the control word is to 1 the corresponding table field must be updated using the
value(s) provided in MD (from MD(L+32) to MD(L+34) for converted values or MD(L+35) to
MD(L+37) for programmed values). For a zero bit no action is required.
• The increment must be added to the previous update values. If the accumulated updates are
greater than the allowed maximum, the tool must be declared expired. Picture 5.30 shows the
algorithm that should be applied in the RQP call.

10 Series CNC WinPLUS Application Manual (03) 5-45


Chapter 5
Logic system communication

RQT

Y Tool offset chart


CW
MW(K+104)_0=1
?

N TCACTL1 + MD

N TCACTL1
>
TCMAXL1

Tool chart
TSTATUS=expired

CW Y
MW(K+104)_1=1
?

N TCACTL2 + MD

N TCACTL2
>
TCMAXL2

Tool chart
TSTATUS=expired

Y
CW
MW(K+104)_2=1
?

N TCACDIAM + MD (L+34)

END

Fig. 5-30 RQT Tool length and diameter pre-setting

5-46 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

DECLARE TOOL LIFE EXPIRED (TOU)


The data of the Rack TOU will be updated each time that you meet a TOU function in a part
program block. Correspondingly the variable “TOU function emitted” is set to 1. The logic must
elaborate the parameters that are present in the Rack.
The Rack “TOU function” is enabled setting the variable in the configuration Rack.

The part program may request the logic to disable a tool using the TOU instruction. In the logic, the
TOU routine must be used to interface this part program instruction. This routine sets the status of
a tool to "life time expired". This tool cannot be used any more.

The input and output variables of this Rack are

INPUT VARIABLES:

MD(L+38) tool identifier (double)

OUTPUT VARIABLES:

MW(K+105) task return value (short)

To send the answer “accept TOU function” to the system it is necessary to insert the following call
in the user’s logic:

Description:

This function will be activated when the active part program block (or MDI block) contains a "TOU"
instruction.

10 Series CNC WinPLUS Application Manual (03) 5-47


Chapter 5
Logic system communication

TOU

Find tool record


(TBLSRCD)

Is Record N
tool found

Y
Set MW(K+105)≠ 0
Expired tool
(field TSTATUS)

Set MW(K+105) =0

END

Fig. 5-31 TOU – Expired tool

5-48 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

PROBING CYCLE COMPLETED (QUTAST)


The data of the QUTAST rack is updated each time a QUTAST function is encountered in a part
program block.
The “QUTAST function strobe ” is set to 1. The logic must manage the parameters present in the
Rack.
The Rack “QUTAST function” is enabled by setting the appropriate variable in the configuration
Rack.

This interface function between part program and WinPLUS can be used to interface the probing
cycles G72, G73 and G74 that are activated by the part program

The input and output variables of this Rack are:

INPUT VARIABLES:

MW(K+107) type of probing cycle (see below) (short)


MW(K+108) identifier of 1st axis (short)
MW(L+109) identifier of 2nd axis (short)
MW(K+110) identifier of 3rd axis (short)
MD(L+39) probed position axis 1 (double)
MD(L+40) probed position axis 2 (double)
MD(L+41) probed position axis 3 (double)
MD(L+42) position difference axis 1 (double)
MD(L+43) position difference axis 2 (double)
MD(L+44) position difference axis 3 (double)

OUTPUT VARIABLES:

MW(K+106) task return value (short)

To send an answer “QUTAST function accepted” to the system, it is necessary to insert the
following call in the user’s logic.

Description:

This routine will be activated when a probing cycle has been completed. The 10 Series CNC offers
3 probing cycles, G72, G73 and G74. The one completed will be expressed in MW(K+107):

10 Series CNC WinPLUS Application Manual (03) 5-49


Chapter 5
Logic system communication

M W (K +107)

Fig. 5-32 Bit Pattern MW(K+107) for probing cycles

For each one of the cycles the 'M' variables passed to this routine have a different meaning:

G72 Point probing cycle


MW(K+107) 1
MW(K+108) identifier of axis 1
MW(K+109) identifier of axis 2 (0 if not involved in the cycle)
MW(K+110) identifier of axis 3 (0 if not involved in the cycle)
MD(L+39) probed position of axis 1 (referred to active origin)
MD(L+40) probed position of axis 2 (referred to active origin)
MD(L+41) probed position of axis 3 (referred to active origin)
MD(L+42) not used
MD(L+43) not used
MD(L+44) not used

G73 Hole probing cycle


MW(K+107) 2
MW(K+108) identifier of abscissa axis (typically first axis)
MW(K+109) identifier of ordinate axis (typically second axis)
MW(K+110) not used
MD(L+39) probed position of abscissa axis (hole centre point)
MD(L+40) probed position of ordinate axis (hole centre point)
MD(L+41) probed radius of hole
MD(L+42) not used
MD(L+43) not used
MD(L+44) not used

5-50 10 Series CNC WinPLUS Application Manual (03)


Chapter 5
Logic System Communication

G74 Tool check probing cycle

MW(K+107) 4
MW(K+108) identifier of axis 1
MW(K+109) identifier of axis 2 (0 if not involved in the cycle)
MW(K+110) identifier of axis 3 (0 if not involved in the cycle)
MD(L+39) probed position of axis 1 (referred to active origin)
MD(L+40) probed position of axis 2 (referred to active origin)
MD(L+41) probed position of axis 3 (referred to active origin)
MD(L+42) axis 1 probed difference from theoretical position
MD(L+43) axis 2 probed difference from theoretical position
MD(L+44) axis 3 probed difference from theoretical position

Please refer to the 10 Series CNC Programming Manual for a detailed description of how to use
the probing cycles in a part program.

10 Series CNC WinPLUS Application Manual (03) 5-51


Chapter 5
Logic system communication

END OF CHAPTER

5-52 10 Series CNC WinPLUS Application Manual (03)


Chapter 6
SYSTEM/ LOGIC COMMUNICATION

The Console Rack manages the logic-system communication.

SYSTEM

LOGIC SYSTEM COMMUNICATION SYSTEM LOGIC COMMUNICATION

CONSOLE RACK FROM LOGIC


RACK RACK

M RACK

LOGIC
PROGRAM

Fig. 6-1 Communication Rack for SYSTEM-LOGIC

10 Series CNC WinPLUS Application Manual (03) 6-1


Chapter 6
System Logic Communication

CONSOLE RACK FROM LOGIC


This interface is used to allow the logic to manage commands that come from any environment and
from the logic.
Currently the commands that arrive from the teach pendant cannot be filtered and these
commands are always accepted by the system.

Configuration
For each process the following MW variables are available:

Variable Description
MW(K+111) asynchronous/synchronous mode
MW(K+112) Strobe command from MTB
MW(K+113) Strobe command from FTP
MW(K+114) Strobe command from external environment
MW(K+115) Command result from MTB
MW(K+116) Command result from FTP
MW(K+117) Command result from external asynchronous environment
MW(K+118) Command result from external synchronous environment

Please define FTP

Each of the described variables are structured in the following way:

Bit Description
0 Cycle Start
1 Cycle Stop
2 Reset
3 Hold On
4 Hold Off
5 Manual Feed Override
6 Feed rate Override
7 Speed Override
8 Set mode
9 Rapid Override
10 Select axes

6-2 10 Series CNC WinPLUS Application Manual (03)


Chapter 6
System Logic Communication

The originating environment of the command is stored in the variable (MW(K+119)

To reject a command, the result variable bits must be set to 1.

For example if the command HOLD_ON from the MTB is to be rejected then the result will be:

MW (K+115)__3 =1

NOTE:

When bootstrapping all these variables are reset.

NOTES ON SPEED ; FEED ; JOG MANUAL AND RAPID OVERRIDE COMMANDS :


In Series 10 systems, Speed, Feed, Manual Jog and Rapid Override speed percentages can be
changed according to different modalities.

The variation can be made through the Human Interface by means of dedicated softkeys; from the
logic it can be made by means of dedicated Function Blocks; finally, through the WinMedia
Console, you can make the change by means of a dedicated trimmer. The three interfaces save
the value in the relative system SW variables.

If the WinMedia Console has been configured to work with MW arrays and the value contained in
the SW system variable is not present in the array values, then the current system value assumed
by the WinMedia Console will be the value of the array which is smallest and closest to the system
value (approximation by defect). Hence, if a clockwise variation is made with the trimmer, the
actualised values will be those following the value approximated by defect; the procedure is similar
when a counterclockwise variation is made on the trimmer.

Example:

Let us assume we have configured the following array for one of the trimmers:

500 1000 1800 2500 3000 3500 4000

If the current system value is 1250 (value save in SW), then the current value for the WinMedia
Console will be 1000 (value approximated by defect) . If you make a clockwise rotation, the value
transmitted to the filter routine to be actualised on the WinMedia Console will be 1800.

10 Series CNC WinPLUS Application Manual (03) 6-3


Chapter 6
System Logic Communication

Control of commands sent by the console


This section of the Rack “Manage console from logic” is structured so that it allows the logic to
manage, in a simple and flexible way, each executive command that comes from the console.

The management of the commands takes place in two different ways:

ASYNCHRONOUS Mode (Bit = 0)

The logic can enable or disable each command according to which console it comes from (FTP or
MTB).

When the operator requests the execution of a command, the system verifies if the command for
that console is enabled and if it is affirmative it sends it to the CNC and aborts it

The machine logic is not informed on the command’s transit and doesn’t execute any operation

Commnet I DON’T UNDERSTAND THIS

NOTE:
The ASYNCHRONOUS modality, together with the enabling of all the commands for both the
consoles, is the default configuration when the machine is powered up.

SYNCHRONOUS Mode (Bit = 1)

If this mode is selected the logic will be informed of the requests that come from the console (FTP
or MTB).

When the operator requests the execution of a command, either by pressing a button or turning a
selector on the console, the system will signal in the appropriate variables:

• The type of command


• Where the command comes from
• Parameters associated with the command

The system waits for an answer to either continue or to abort the execution of the command.

The logic, after having indicated to the dedicated connector whether the command must be
accepted or aborted and after having modified the value of the associated parameters to the
command, sends the response to the system through the function ACK_STRB.

Once the system receives the answer, it resets the strobe variable.

NOTE:
Until the logic sends the answer, the system cannot send other requests from the console.

This mode allows the user to insert machine logic operations in between the command request the
message being sent to the CNC.

6-4 10 Series CNC WinPLUS Application Manual (03)


Chapter 6
System Logic Communication

SYSTEMA

WAIT

Command
Execution

No Synchronous Yes
management

Command Yes
No Compile variables
Enabled
M

Does NOT execute Execute command Set STROBE


command

WAIT
Start Event task
If present
ACK_STROBE
From logic

Reset STROBE

Manage answer

Fig. 6-2 Console Interface

10 Series CNC WinPLUS Application Manual (03) 6-5


Chapter 6
System Logic Communication

STRUCTURE OF THE RACK


The different console executive commands that the logic can receive are listed below:

CYCLE START Cycle Start button pressed


The CYCLE START command is sent to the logic when the operator presses the CYCLE START
button in a given environment (Human Interface or FTP, MTB control panel) .

CYCLE STOP Cycle Start button released

The CYCLE STOP command is sent to the logic when the operator releases the CYCLE START
button in a given environment (Human Interface or FTP, MTB Panel control panel) .

HOLD ON Interpolator stop request

The "HOLD ON request" command (HOLD button pressed) is sent by the FTP or the MTB Panel to
the logic when the associated button is pressed.

If the request is sent to the system (command accepted), the process interpolator will be stopped.

RESET

The RESET command is sent to the logic after the RESET button (on FTP) is pressed.

Synchronous control of the RESET command lets the WinPLUS program go ahead with its own
RESET work, in parallel with the system work. A system RESET signifies:

• Resetting the part program buffer


• Setting the part program pointer on the first block of the active program
• Aborting movement of the axes
• Resetting any G92 offset
• Removing all origin displacements
• Releasing the CYCLE START button (if lit)
• Restoring the G codes to their default states
• Resetting some three-letter instructions

6-6 10 Series CNC WinPLUS Application Manual (03)


Chapter 6
System Logic Communication

MANUAL FEED OVERRIDE


The "manual feed override" command is sent by the FTP or the MTB Panel to the logic following
operation of the FTP Softkeys or the MTB Panel selector switch.

The WinPLUS programmer, can monitor the manual feed override values and eliminate undesired
ones by intercepting the FMO command value

FEED RATE OVERRIDE


The "feed rate override" command is sent by the FTP or the MTB Panel to the logic following
operation of the FTP Softkeys or the MTB Panel selector switch.

The WinPLUS programmer, can monitor the feed rate override values and eliminate undesired
ones by intercepting the FRO value command.

SPINDLE SPEED OVERRIDE


The "spindle speed override" command is sent by the FTP or the MTB Panel to the logic following
operation of the FTP Softkeys or the MTB Panel selector switch.

The WinPLUS programmers can monitor the spindle speed override values and eliminate
undesired ones by intercepting the SSO value command.

MODE SELECTION
The "operating mode selection" command is sent to the logic when the operating modeis changed
following operation of the FTP softkeys or the mode selector switch on the MTB Panel.

RAPID FEEDRATE PERCENTAGE VARIATION


To send the rapid feedrate percentage variation command to the logic you can use either the
softkeys or a rotary selector.

HOLD OFF REQUEST


The "HOLD OFF request" command is sent by the FTP or the MTB Panel to the logic when the
illuminated pushbutton is pressed. (i.e. the system is in HOLD status).

If the request is sent to the system (command accepted), the system exits from HOLD status and
the process interpolator can start again when the CYCLE START button is pressed.

SELECT AXES
The command “Select axes” allows selection of one or more axes for manual motions.

10 Series CNC WinPLUS Application Manual (03) 6-7


Chapter 6
System Logic Communication

Parameters associated with Manual Feed Override

Variable Description
MW(K+120) Feed Value
MW(K+121) Mode (Reserved)
MW(K+122) Feed direction

MW(K+120) is the new Manual Feed Override value to be sent to the CNC. Associated with the
strobe variable "change Manual Feed Override", it is a percentage with a resolution of 0.01%, i.e.:

0 0%
5000 50%
7500 75%
10000 100%

MW(L+122) indicates the direction to be set for manual movements.


It is associated with the strobe variable "change Manual Feed rate Override". Possible values are:

• 0 = positive direction
• 1 = negative direction

Parameters associated with Feed rate Override

Variable Description
MW(K+122) Feed rate Value
MW(K+123) Mode (Reserved)

MW(K+122) is the new Feed rate Override value to be sent to the CNC. Associated with the strobe
variable "change Feed rate Override" , it is a percentage with a resolution of 0.01%, i.e.:

0 0%
5000 50%
7500 75%
10000 100%

6-8 10 Series CNC WinPLUS Application Manual (03)


Chapter 6
System Logic Communication

Parameters associated with Speed Override

Variable Description
MW(K+125) Speed override value
MW(K+126) Mode (Reserved)

MW(K+125) is the new Speed Override value to be sent to the CNC. Associated with the strobe
variable "change Speed Override", it is a percentage with a resolution of 0.01%, i.e.:

0 0%
5000 50%
7500 75%
10000 100%
20000 200%
NOTE:
The theoretical maximum Speed Override value is 327.67 %.

Parameters associated with Mode change

Variable Description
MW(K+127) mode

MW(K+127) is the new mode to be set to the CNC. Associated with strobe variable "change
mode".

Possible values are:

• 1 = MDI (Manual Data Input)


• 2 = AUTO (Automatic program execution)
• 3 = Block/block (single block program execution)
• 4 = Continuous jog
• 5 = Incremental jog
• 6 = Return to profile
• 7 = Homing cycle
• 8 = HPG (Hand Pulse Generator)

10 Series CNC WinPLUS Application Manual (03) 6-9


Chapter 6
System Logic Communication

Parameters associated with Rapid Override

Variable Description
MW(K+128) Rapid Override value
MW(K+129) Mode (Reserved)

MW(K+128) is the new Rapid Override value that has to be sent to the CNC. The resolution of the
value is in 0,01% (100% is equal to a value of 10.000).

Parameters associated with Axes Selection

Variables Description
MW(K+130) -- MW(K+138) Axes name (ASCII)

We suggest the A_TO_ID function to convert the name of an ASCII axes into a physical axes
identifier.

6-10 10 Series CNC WinPLUS Application Manual (03)


Chapter 6
System Logic Communication

Originating command environment

Variable Description
MW(K+119) Originating environment

The variable MW(K+119) "ID of the originating command environment" has the following structure:

HEX.Num. ENVIRONMENT

501C/501D Teach Pendant (connected to the CPU board)


507D OEM panel (MTB panel)
61xx Environment of process 1 (xx = don’t use)
62xx Environment of process 2
63xx Environment of process 3
64xx Environment of process 4
65xx Environment of process 5
66xx Environment of process 6
67xx Environment of process 7
68xx Environment of process 8
69xx Environment of process 9
6Axx Environment of process 10
6Bxx Environment of process 11
6Cxx Environment of process 12
6Dxx Environment of process 13
6Exx Environment of process 14
6Fxx Environment of process 15
70xx Environment of process 16
71xx Environment of process 17
72xx Environment of process 17
73xx Environment of process 18
74xx Environment of process 19
75xx Environment of process 20
90xx Human interface (xx = don’t use)
50xx WinPLUS interface (example Auxiliary axis. interpolator = 5005)
B001 DOS REAL TIME (task1)
B002 DOS REAL TIME (task2)
B003 DOS REAL TIME (task3)
B004 DOS REAL TIME (task4)
B101 END USER DOS
9F01 DOS GRAPHICS
18xx CNC External environment (commands from network)

10 Series CNC WinPLUS Application Manual (03) 6-11


Chapter 6
System Logic Communication

END OF COMMAND ACKNOWLEDGE FUNCTIONS

The “end of command acknowledge functions” must always be present if the synchronous mode is
chosen.

These calls must be inserted in the user’s logic when it has finished executing the actions that are
associated with the command.

Once the answer is sent, the system continues the execution of the command (if accepted by the
logic).

The functions are available both in FBD and ST according to the programming language.in use
The function to use is the following:

ACK_STRB

Process Number Proc_num Stat_wrd

xxx Func_num

The input “func_num” can have the following values according to the command:

func_num Comand
100 Cycle Start
101 Cycle Stop
102 Reset
103 Hold On
104 Hold Off
105 Manual Feed Override
106 Feed rate Override
107 Speed Override
108 Set mode
109 Rapid Override
110 Axes selection

END OF CHAPTER

6-12 10 Series CNC WinPLUS Application Manual (03)


Chapter 7
RACK CONFIGURATION OF EMERGENCIES AND OEM
SOFTKEYS

These two racks use global M variables (MW and MD), that are common to all the processes. In
chapter 3 it is explained that 50 variables have been reserved for the MW (from 9950 to 9999) and
50 for the MD (from 2950 to 2999).

The two racks have in common the configuration variable, which enables/disables the function, and
the strobe variable:

Variable Description
MW9950 Configuration
MW9951 Strobe

The bit position of these variables is the following:

Bit Description
0 Emergency
1 Softkey OEM

10 Series CNC WinPLUS Application Manual (03) 7-1


Chapter 7
Rack configuration of emergencies and OEM Softkeys

ANSWER FUNCTIONS FOR COMMAND END


To send the end of command answer you must use the following function:

The input “func_num” can have the following values according to the command:

func_num Command
200 Emergencies
201 OEM Softkey

Figure 7-1 OEM softkey and emergency management

SYSTEM

WAIT

NO Function Function Emission


configurated?

SI

Compile PACK M

Set Strobe

WAIT

Start event task


if present

ACK_STROBE
from logic

Reset Strobe

Manage answer

END OF CHAPTER

7-2 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
EMERGENCY MANAGEMENT

The 10 Series CNC architecture supports two types of emergencies:

• System emergencies
• WinPLUS driven emergencies

SYSTEM EMERGENCIES
These emergencies are caused by hardware failures in the control or I/O Ring, servo errors,
system failures and are generated by the System.
Depending on the type of anomaly the system generates two types of emergencies:
RECOVERABLE EMERGENCIES
UNRECOVERABLE EMERGENCIES
After being informed of the current emergencies, the logic decides, in case of recoverable ones,
how to respond to and/or recover the failure. If the emergency is unrecoverable, instead, the
relative data will be written in the emergency description areas, in this case, the foreground task is
no longer able to read such data, but it can communicate with an application external to WinPlus
(Dos Realtime, external applications,...), which, in its turn, can perform the required actions. The
input/output variables of this package are:

INPUT VARIABLES:

MW9953 Type of emergency (short)


MW9954 Error code (1-11) (short)
MW9955 Process (short)
MW9956 Involved process (1-20) (short)
MW9957 axis ID in error (short)
MW9958 ASCII axis name in error (short)
MW9959 anomaly code (only for D.S.I. axis) (short)
MW9960 phase number (only for D.S.I. axis) (short)
MW9961 Reserved (short)

MW9972 Reserved (short)

OUTPUT VARIABLE:

MW9952 Return value (short)

10 Series CNC WinPLUS Application Manual (03) 8-1


Chapter 8
Emergency management

UNRECOVERABLE EMERGENCIES
If you want an unrecoverable emergency to be displayed in the system data areas, enable this
function by setting variable MW9951 on 1; variable MW9952 (emergency output) will NOT be set
and hence, in order to determine whether an unrecoverable emergency has occurred, you must
check the status of variable MW9953 (Type of Emergency): it must be set on 1. If you do not want
the emergency to be notified (MW9952 not set on 1) the system will provide no indication.

Emergency acquisition must NOT be acknowledged through function


ACK_STRB.
IMPORTANT

In the presence of these emergencies, the user application CANNOT decide what to do in order to
recover the emergency; however, it might take action at I/O level to activate an appropriate output
(provided that the anomaly has not been generated by the I/O modules themselves, which, in these
circumstances would not work).

If an UNRECOVERABLE emergency occurs, variable MW9953 (Type of Emergency) is set on 1


and the following messages are provided: (MW9954):

1= encoder wire broken (axis module)


2= axis board failure (axis module)
3= I/O ring failure
4= foreground routine overrun
5= system error
6= optic fibre signal distorted (only for D.S.I. axes)
7= optic fibre transmission broken off (only for D.S.I. axes)
8= AT type telegram has not been sent to the master (only for D.S.I. axes)
9= an anomaly has occurred during one of the 4 initialisation stages (only for D.S.I.
axes)
10 = an anomaly has occurred during anomaly management (only for D.S.I. axes)
11 = I/O remote failure
12 = reserved
13 = error from WinPlus interpreter
14 = reserved
15 = OSWire OS8531 axis board failure
16 = watch dog from OSWire I/O
17 = communication error on OSWire bus
18 = watch dog from CANbus
19 = communication error on CANbus
20 = severe error from OS3 drive has been notified

8-2 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
Emergency management

Parameter MW9955 specifies the environment in which the emergency has arisen, i.e., 0 =
WinPlus, 1-20 = process 1-20.

When an unrecoverable emergency occurs, all system axes are stopped immediately, with no
deceleration ramp.

NOTES:
• Upon the activation of this routine, the global E-STOP relay is deenergised by the system.
• A current outage is an unrecoverable error which is managed entirely by the system.

10 Series CNC WinPLUS Application Manual (03) 8-3


Chapter 8
Emergency management

Digital Servo Interface (D.S.I.) EMERGENCIES


If an unrecoverable D.S.I. emergency occurs, in addition to the error code (MW9954), the system
communicates two "subcodes" which make it possible to identify the type of anomaly involved
(variable MW9959) and a phase number (variable MW9960). The data described below apply
solely to error codes 9 and 10.

The table shows the values that can be taken on by MW9959 if MW9954 = 9 (anomaly has
occurred during one of the initialisation phases):

Anomaly code Description


(MW9959)

0x0001 service channel not initialised


0x0002 software error
0x0003 AT telegram has not been received by drive
0x0004 invalid drive number
0x0005 transfer error during non cyclic data transfer
0x0006 error in determination of time T2
0x0007 error in determination of time T3
0x0008 error in determination of time T4
0x0009 error in determination of time "TEND"
0x000A TIMEOUT HANDSHAKE error
0x000B length of data to be transferred is nil
0x000C command sent to drive cannot be executed
0x000D D.S.I. memory cannot contain data related to specified drives

The table below lists the values that MW9959 can take on if MW9954 = 10 (anomaly has occurred
during anomaly management):

Anomaly code Description


(MW9959)
0x0002 software error
0x000A timeout handshake error
0x000B length of data to be transferred is nil
0x000C command sent to drive cannot be executed
0x000D error while reading a value from drive

8-4 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
Emergency management

Variable MW9960, referred to as "phase number", specifies when the anomaly has occurred, i.e.,
whether during an initialisation phase or during run time.

The values envisaged are:

Phase number Description


(MW9960)

0 Initialisation Phase 0
1 Initialisation Phase 1
2 Initialisation Phase 2
3 Initialisation Phase 3
4 Run

EMERGENCIES FROM WINPLUS INTERPRETER


Some unrecoverable emergencies, denoted with error 13, can be detected by the WinPlus
interpreter. In conjunction with such error messages, variable MW9957 will contain the number of
slot housing the task which has generated the anomaly, and variable MW9958 will contain an error
code as specified below:

Hex error Description


(MW9958)

0x0020 Illegal Opcode

0x0021 Stack overflow

0x0022 Stack Underflow

0x0023 Division by 0

0x0024 Access to array with index out of range

0x0025 Length of STRING type variable is invalid

0x0026 Nil pointer (for STRING type variable)

0x0027 Call Stack Overflow

0X0028 Call to non-existent function/function block

0x0029 Parameter transmitted to function/function block is invalid

0x002A Math Exception

0x002B Task overrun

0x002C User generated exception

10 Series CNC WinPLUS Application Manual (03) 8-5


Chapter 8
Emergency management

0x002D Task image is corrupted

0x002E Error in timer activation

0x002F Task initialisation error

0x0030 Breakpoints active while completing debug phase

0x0041 Error while accessing WinPlus project configuration file

0x0042 Too many active tasks configured at boot up (max 40)

0x0064 Number of tasks too high for hot reboot, perform cold boot

0x0104 Foreground too big (exceeds max. admissible size) )

0x0105 Error while reading foreground task

0x0106 Error while reading WinPlus.asc file

0x0107 Foreground too big (memory low)

0x010B Foreground initialisation error

0x0168 Background too big (exceeds max. admissible size)

0x0169 Error while reading background task

0x016C Background too big (memory low)

0x0170 Background initialisation error

0x0171 Event Task name error

OSWIRE EMERGENCIES
OSWire unrecoverable emergencies denoted with codes 16 and 17 are associated with an
anomaly code (variable MW9957). For these codes, see Chapter 6, on diagnostics, in OS3 Drive
Installation Manual.

8-6 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
Emergency management

SYSTEM

Deenergizes global
E_stop relay

Stops axis board


execution

Stops WinPlus
execution
save for foreground
task

Writes message on
screen

STOP

Fig. 8-1 System error

Fig. 8-1 shows the sequence that is performed (if possible) when the system generates an
unrecoverable error (RAM error, CPU problems, other hardware error). The system deenergises
the E-STOP relay, tries to stop the axis board and the WinPlus execution (not, however, the
foreground task) and eventually tries to display a message about the nature of the error, then it
stops.

10 Series CNC WinPLUS Application Manual (03) 8-7


Chapter 8
Emergency management

SYSTEM

Identifies the anomaly

Disables axis causing


the anomaly

Disables all the other


axes

De-energizes global
E_stop relay

Stops WinPlus
execution
save for foreground
task

Writes message on
screen

STOP

Fig. 8-2 Cable break (or failure) anomaly detected, unrecoverable axis emergencies.

8-8 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
Emergency management

RECOVERABLE EMERGENCIES
If you want a recoverable emergency to be notified to WinPlus, enable this function by setting
variable MW9950 on 1. If this variable is not set on 1, WinPlus will get no indication. If you want to
get a message on the emergency (MW9950=1), you must inform the system that the emergency
has been acquired: to do so, recall system function ACK_STRB (200,1).

Failure to acknowledge the acquisition through ACK_STRB will bring


about a block in emergency management resulting in unpredictable
IMPORTANT
damage to the system.

When a recoverable emergency occurs, the user application can decide what to do to recover the
emergency. In these circumstances, variable MW9953 (Type of Emergency) is set on 0 and the
following error messages are given out: (MW9954):

1 = servo error
2 = skew error
3 = encoder phase error
4 = axes positioning tolerance error
5 = local E-stop
6 = service channel error (only for DSI axes)
7 = command execution error (only for DSI axes)
8 = “drive shutdown” error (only for DSI axes)
9 = shutdown warning error (only for DSI axes)
10 = remote I/O failure
11 = Reserved
12 = Request to enable system axes while the system is already running the
calculations for movement of an axis that has not yet been enabled. (For
example: the axes enable request from WinPLUS arrives after the "move
enable").
13 = Reserved
14 = Reserved
15 = Reserved
16 = Reserved
17 = Reserved
18 = OS3 drive or bridge not found on OSWire bus
19 = error from OS3 drive during command execution
20 = alarm communication from OS3 drive
21 = OS3 drive initialisation failed

10 Series CNC WinPLUS Application Manual (03) 8-9


Chapter 8
Emergency management

The MW9955 parameter indicates the process that has generated the emergency, or 0 = WinPlus,
1-20 = process 1-20.

When an axis recoverable emergency occurs the axis is stopped without deceleration ramp and
then disabled.

If the axis belongs to a process, all the moving axes in that process will be stopped with their
deceleration ramps and the process goes into error status.
If the axis belongs to the logic (process 0), the logic decides whether or not the other axes
(auxiliaries, spindle, etc.) must be stopped and whether the emergency involves one or several
processes.
It is the WinPLUS programmer who must decide on the appropriate course of action.

If the emergency occurs in one of the processes, the WinPLUS program must disable the relevant
E-STOP relay in order to stop the machine in which the error has been detected.

NOTE:
When the call is started by a local E-stop request, the axis ID is 0 and the E-STOP relay is de-
energized.

8-10 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
Emergency management

D.S.I. Emergencies (Digital Servo Interface)


When a recoverable D.S.I. emergency occurs, the type of failure is identified by an error code
(variable MW9959) and a phase number (variable MW9960).
The “phase number” indicates in which D.S.I. phase the anomaly occurred. Possible values are
shown in the table below:
0 initialisation phase 0
1 initialisation phase 1
2 initialisation phase 2
3 initialisation phase 3
4 run time

The “anomaly code”, if present, depends on the error code with which it is associated.
The values are shown in the table below.

Error code Anomaly code Meaning

6 ANOMALY IN THE SERVICE CHANNEL USED FOR DATA


TRANSFER
0x0002 software error
0x000A Handshake timeout error
0x000B length of transferred data = 0
0x0011 service channel not open
0x0012 access for service channel closure not valid
7 ANOMALY IN COMMAND EXECUTION
0x000C command sent to drive cannot be executed
0x0013 transfer data too short
0x0014 transfer data too long
0x0015 specified data cannot be changed
0x0016 data temporarily write protected
0x0017 transfer data value less than allowed minimum
0x0018 transfer data value greater than allowed maximum
0x0019 invalid data (example of wrong bit combination for allowed
IDN)
8 DRIVE SHUTDOWN
bit 0 overload shutdown
bit 1 amplifier over temperature shutdown
bit 2 motor over temperature shutdown
bit 3 cooling error shutdown
bit 4 control voltage error

10 Series CNC WinPLUS Application Manual (03) 8-11


Chapter 8
Emergency management

Error code Anomaly code Meaning

bit 5 Transducer error


bit 6 electronic commutation system error
bit 7 Over current error
bit 8 Over voltage error
bit 9 Under voltage error
bit 10 power supply phase error
bit 11 excessive position deviation
bit 12 Communication error
bit 13 over travel limit error (shutdown)
bit 14 reserved
bit 15 manufacturer specific error
9 SHUTDOWN WARNING
bit 0 overload warning
bit 1 drive over temperature warning
bit 2 motor over temperature warning
bit 3 cooling error warning
bits 4 through 15 reserved

For error codes 8 and 9 the words associated with anomaly codes must be read bitwise. An error is
present if the bit is 1 and there is no error if the bit is 0.

OSWIRE EMERGENCIES
OSWire emergencies denoted with codes 19, 20 and 21 are associated with an anomaly code
(variable MW9957). For these codes, see “Chapter 6, on diagnostics, in OS3 Drive Installation
Manual”.

8-12 10 Series CNC WinPLUS Application Manual (03)


Chapter 8
Emergency management

SYSTEM

DISCOVER ANOMALY

STOPS THE AXIS WHICH CAUSES


THE ERROR FORCING TO 0 THE
REFERENCE
MANAGEMENT
RECOVERABLE
EMERGENCY
STOPS EVENTUAL MOVEMENT OF OTHER
AXES BELONGING TO THE SAME PROCESS

WRITES A MESSAGE
ON THE SCREEN

ENTERS IN ERROR STATUS


(S20_5)

EXIT

Fig. 8-3 Servo error, skew error, encoder phase error, position tolerance error recoverable DSI
emergencies and remote I/O failures

NOTE:
In case of encoder phase error, the homing cycle must be performed with the axis that generated
the error.

10 Series CNC WinPLUS Application Manual (03) 8-13


Chapter 8
Emergency management

LOGIC

RQESTOP CALL SYSTEM

STOPS ALL THE AXES OF THE


PROCESS

WRITES A MESSAGE
ON SCREEN

ENTER ERROR STATUS


(S20_5)

DE-ENERGIZES THE CORRESPONDING

LOCAL E-STOP RELAY

MANAGE
RECOVERABLE
EMERGENCY

EXIT

Fig. 8-4 Local E-STOP forced by the logic

END OF CHAPTER

8-14 10 Series CNC WinPLUS Application Manual (03)


Chapter 9
OEM SOFTKEYS

This rack interfaces the configured OEM Softkeys and the function keys on the OPLink Operator
Panel if it is used.

The input and output variables of this rack are:

INPUT VARIABLES:

MW9974 requesting environment (short)


MW9975 softkey number (short)
MW9976 softkey type (short)
MW9977 softkey status (short)
MW9978 word type of data (short)

MW9985 word type data (short)
MD2950 floating point data (double)

MD2957 floating point data (double)
A1499 ASCII type data (string)

OUTPUT VARIABLE:

MW9973 return value (short)

10 Series CNC WinPLUS Application Manual (00) 9-1


Chapter 9
OEM Softkeys

Description:

If the Rack is activated the human interface SW activates the WinPLUS routine of the softkeys
each time the user changes an OEM softkeys status, or presses one of the six function keys on the
OPLink Operator Panel.

If the Rack is not enabled, OEM softkeys will have no effect.

The following diagram shows OEM's various softkey status depending on whether the softkey is
pressed or released:

SOFTKEY
ACTUATED

$OEMSOFTK call for:

ON/OFF ON state OFF state

MANTAINED ON state OFF state ON state

ON state ON state
NORMAL
(no call, or <enter>
window open) ON state
DATA- ENTRY

Fig. 9-1 Timing diagram for SOFTKEYS

Input variables' values depend on the type of softkey (MW9976 variable).

The MW9975 variable (softkey number) indicates the number of the softkey that has been pressed.
This value is that assigned to the softkey (except for the function keys of OPLink) in the AMP
configuration program.

NORMAL, ON/OFF and MAINTAINED softkeys have values included between 1100 and 1199.
The P1 ÷ P6 function keys on the OPLink Operator Panel have values between 1400 ÷ 1405.
DATA ENTRY softkeys have values included between 1200 and 1399: two types of data entry are
available:

• data entry with default values that cannot be modified from logic. Its value is included between
1200 and 1299 and it is opened with default values defined in AMP.
• data entry with default values that can be modified from logic. Its value is included between
1300 and 1399; default values defined in AMP are passed on to the logic through the M RACK.

9-2 10 Series CNC WinPLUS Application Manual (00)


Chapter 9
OEM softkeys

MW9976 variable (softkey type) indicates the type of softkey that has been pressed.
The type of softkey (except for the function keys of OPLink) is defined in the AMP configuration
program.
The following types are available:

ON/OFF MW9976 = 86H

MAINTAINED MW9976 = 82H

DATA ENTRY MW9976 = 85H

NORMAL MW9976 = 85H

The MW9977 variable (softkey status) shows the status of the softkey that has been
pressed/released.
Furthermore, there is a status associated to the data entry softkey for which a default value has
been configured.

Possible status are the following:

ON MW9977 = 0

OFF MW9977 = 1

DEF_VAL MW9977 = 10 (default value)

ON/OFF Softkeys
ON/OFF softkeys must be pressed once in order to activate the assigned function (the ON status
is assigned to variable MW9977); after the first pressing, the softkey remains active (yellow).

By pressing the softkey twice (active), it is de-activated (the OFF status is assigned to variable
MW9977); the softkey is de-activated (white).

MAINTAINED Softkey
MAINTAINED softkeys remain active (yellow) until the softkey is pressed: as soon as it is released,
the softkey is de-activated (white).

The ON status in assigned to variable MW9977 when the softkey is pressed and it receives an
OFF status when it is released.

10 Series CNC PLUS Application Manual (00) 9-3


Chapter 9
OEM Softkeys

DATA ENTRY Softkeys


When the DATA ENTRY softkey is pressed, a data introduction window is automatically opened.

The number of data, the type and format are defined in the AMP configuration program;
furthermore, it is possible to associate a default value to each field.

For data entry with a softkey number between 1200 and 1299, default values which are set in AMP
cannot be read by the logic.

After the opening of a data entry with its relative default values, the user may insert or modify from
console the values contained in the data entry fields. By pressing [Enter] or by pressing the
softkey a second time, introduced data are passed to WinPLUS in the input variable (from
MW9978 to MW9985 the short fields from MD2950 to MD2957 the floating point fields in variable
A1499 the data in ASCII format) together with the number of the pressed softkey (variable XW03)
and the ON status (XW 05 = 0).

If you use data entries with a softkey number between 1300 and 1399, the management of the
SOFTEKEY will be activated twice.

The first time the logic will transmit to the system the default values to be proposed to the user,
while the second time will be to send data inserted by the user to the logic.

The first routine activation will take place before the softkey is pressed and before the data entry is
displayed.

This time the machine's logic will use parameters MW9978 – MW9985, MD2950 – MD2957 and
A1499 as output parameters (in accordance with the parameters requested by specific SK).

The values written in the variable will appear in the data entry when the user exits the management
of the SOFTKEYS.

The logic can recognise data request through the variable MW9977 that in this case will contain
the value 10 (decimal).

The second routine activation will take place after the user has modified data in the data entry and
has confirmed them by pressing the softkey again.

This second activation corresponds to the activation made for the softkeys with standard data entry
(data entry number from 1200 to 1299) therefore, it is used to transmit to the machine logic new
data inserted by the user.

No data is sent to WinPLUS when the softkey is released or when data insertion is aborted through
[Esc].

IMPORTANT Avoid to manage more I/O variables then the ones configured in AMP.

9-4 10 Series CNC WinPLUS Application Manual (00)


Chapter 9
OEM softkeys

NORMAL Softkeys
When a NORMAL type softkey is pressed the SOFTKEY routine that receives ON status in
variable MW9977.

Example:
Suppose you have an ON/OFF softkey in active status (yellow) and that WinPLUS uses SETCUSK
function of the system in order to deactivate it.

The softkey is now disabled and it is white.

The second time the softkey is pressed, the management will receive an ON status instead of OFF
that follows when the softkey is pressed a second time.

By using information supplied by AMP configuration program, the WinPLUS programmer is able, in
this way, to identify all softkey commands and pilot all corresponding activities such as introducing
simple passwords, variable values, activating machine and CNC functions, etc.

NOTE:
• When a softkey command is sent to WinPLUS, human interface waits for an answer from
WinPLUS (in variable MW9973); during this period of time, all other OEM softkeys are disabled
(black) and noting happens if they are pressed.
• OEM softkeys can be enabled and disabled by using function call SETHINT.
• ON/OFF sequences on OEM softkey pressing and releasing can be modified by using function
calls SETCUSL and SETCUSK.
• For input variables value, refer to "10 Series CNC - AMP Software Characterisation" manual.

OPLink Function Keys


The six OPLink Operator Panel function keys P1 ÷ P6 are managed as MAINTAINED (MW9976=
82H) softkeys type, as they are not softkeys and therefore cannot be characterised in AMP.

Every time these keys are pressed or released, the related code to the pressed key is written in
MW9975. For the P1÷ P6 keys this code varies from 1400 to 1405.

To turn on and off the LED for these keys you must use the CONS_LED function block (see the
description in the PLUS Library Manual).

10 Series CNC PLUS Application Manual (00) 9-5


Chapter 9
OEM Softkeys

END OF CHAPTER

9-6 10 Series CNC WinPLUS Application Manual (00)


Chapter 10
STANDARD APPLICATION NOTES

WINPLUS INITIALIZATION
All WinPLUS routines start their execution after the system initialization. This is automatic; there is
no need to synchronize on special power turn on flags. For each one of the background routines,
you may have to perform an initialization sequence. This can be easily done with following
background routine organization:

BACKGROUND

Initialization Y
Flag

N INITIALIZATION

BODY OF
BACKGROUND ROUTINE

END

Fig. 10-1 WinPLUS initialisation sequence

The initialization section can be used to set internal flags.

NOTE:
The background tasks will be the first to be executed after powering up the control.

10 Series CNC WinPLUS Application Manual (02) 10-1


Chapter 10
Standard Application Notes

MACHINE TOOL POWER UP AND RE-POWER UP AFTER E-STOP


The power turn on sequence for the machine tool is generally performed in a background routine.
Fig. 10.2 shows the power-up-sequence for a process having analog axes only:

BACKGROUND

POWER ON N
REQUEST
?

ENERGIZE THE
E-STOP RELAY (S)
(SPEPN)

RESET THE PROCESS


(RQRESET)

LOOP CLOSURE
FOR ALL THE AXES
OF THE PROCESS

ENABLES DRIVES

OTHER LOGIC
FUNCTIONS

Fig. 10-2 Machine power-up sequence

10-2 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

For digital axes (D.S.I. and OSWire OS3) a different sequence is used. The loop closure and
enable driver blocks must be replaced with the following sequence:

continues from
$RQRESET...

No

Determines whether
Yes
controlled axes are No Axis
S2, 1 = 1 ? Diagnostics
ready (signal S2,1 error?
S_AXES = 1)

Timed in order not to Yes


remain in cycle
indefinitely.
Power the drive

Call the $AX_GETS


function

Waits for driver to be


powered.
Timed in order not to
remain in cycle
indefinitely. QW2, 8 = 0 No
and
QW2, 9 = 1
?

Yes

Enables the axis for CNC


($AX_ENAB res 1)

Fig. 10-3 Power-up sequence for digital axes (to be continued)

10 Series CNC WinPLUS Application Manual (02) 10-3


Chapter 10
Standard Application Notes

Calls the $AX_GETS


Waits for axis to be function
enabled at CNC
level.
Phase to be timed in
order not to remain in No
cycle indefinitely. QW1, 11 = 1
?

Yes

Enables DRIVE
($AX_ENAB res 2)

Calls the
$AX_GETS
Waits for drive to be
enabled. function

Phase to be timed in
order not to remain
in cycle indefinitely.
QW2, 8 = 1 No
e
QW2, 9 = 1
?

Yes

axis enabled, continues with


“other logic functions”

Fig. 10-4 Power-up sequence for digital axes (continued)

Note 1 : after each FB call, the status_word must be tested in order to determine the outcome of
the function and manage any error(s) that may occur.

Note 2 : the phases to be timed are cycles during which an event is waited for; after waiting for a
predetermined time period, the cycle must be ended and an error message displayed.

10-4 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

If the digital axes are deactivated, the following procedure can be performed:

Deactivation
request

Disables drive
($AX_DISA res 2)

Disables the axis for CNC


($AX_DISA res 0)

End

Fig. 10-5 Deactivation sequence for digital axes.

Notes: if any errors occur during the disable sequence the latter must not be interrupted; the errors,
if any, can be notified at the end of the sequence.

10 Series CNC WinPLUS Application Manual (02) 10-5


Chapter 10
Standard Application Notes

HOLD MANAGEMENT
In HOLD, the system will stop all axes motion. The logic has to detect the hold status by checking
the system status in system (flag S20_2). In analogy with the system, the logic may want to stop
the spindle and/or the point-to-point-axes.

Fig. 10-3 is a flowchart showing the required system actions and logic interface programming.

SYSTEM
Request to enter HOLD

MOTION IN
N
PROGRESS
?

HOLD N SYSTEM
ACCEPTABLE
?

Y
SYSTEM N
STOP THE MOTION
WITH CONTROLLED STATUS = HOLDA?
DECELERATION

Y
END OF MOVEMENT

PART PROGRAM
Y
REQUEST
IN PROGRESS

ENTER HOLDA STATUS


(S20_2)
FINISH PENDING PART
PROGRAM INTERFACE N
ROUTINE (S). RETURN
CONTROL TO THE SYSTEM
SAVE INFORMATION
RELATED TO THE SUSPENDED
BLOCK

EXIT

HOLD ACTIVITIES

EXIT

Fig.10-6 HOLD management

10-6 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

SYSTEM REQUEST TO EXIT HOLD

EXIT HOLD STATUS


LOGIC
(S20_2=0)

ENTER HRUN STATUS


SYSTEM STATUS N
(S20_4)
= HRUN ?

RESTORE INFORMATION RELATED Y


TO THE SUSPENDED BLOCK
HRUN ACTIVITIES

EXIT
EXIT

Fig. 10-7 Exit from HOLD

SYSTEM CYCLE START AFTER HOLD

ENTER IN CYCLE STATUS


(S20_1)

RESTART PART PROGRAM


ACTIVITIES

USCITA
EXIT

Fig. 10-8 Cycle start after HOLD

10 Series CNC WinPLUS Application Manual (02) 10-7


Chapter 10
Standard Application Notes

Fig. 10-9 System status transitions

If the system is in IDLE status, the function call HOLDON will change the status to HOLDA. The
next HOLDOFF function call will bring the system back to IDLE.

APPLICATION NOTES:
• HOLD stops the axes motion with a controlled deceleration.
• To exit from HOLD, the axes must be in exactly the same position as on entrance to HOLD. If
the axes were moved in manual mode during HOLD, the "jog return" function must be used to
return to the entrance position.
• HOLD can be aborted with a reset.
• In HOLD following activities are allowed:
− Manual motion
− MDI commands (motion, call subroutine, M functions )
− Active reset
− Multi Block Retrace

10-8 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

RESET MANAGEMENT
A reset command will stop all co-ordinated axes motion. The logic program must test the system
flag S20_7 to be informed about a reset. The logic can now execute its own reset which may act on
the spindle, the point-to-point-axes, auxiliary functions, etc.. The flowchart below shows the system
actions during reset and the handshake with the logic.Fig. 10-10 Reset management

SYSTEM
RESET request

ENTER RESET
STATUS (S20_7) LOGIC

N
MOTION IN SYSTEM N
PROGRESS ?
STATUS=RESET ?

STOP THE MOTION Y


WITH CONTROLLED
DECELERATION
Y PART PROGRAM
REQUEST IN PROGRESS
MANAGEMENT END MOTION

FINISH PENDING PART N


PROGRAM INTERFACE
- INITIALIZE PART ROUTINE (S). RETURN
PROGRAMM CONTROL TO THE
- SET DEFAULT G SYSTEM
CODES
- UPDATE SCREEN
WITH M FUNZIONI AFTER
RESET RESET ACTIVITIES

CANCELL ORIGINS
(MC: clear G92 OFFSETS)

ENDRESE
N
LOGIC RESET ACTIVITY

Y N SYSTEM STATUS

ENTER IN IDLE STATUS = IDLE ?


(S20_0)
S

EXIT EXIT

10 Series CNC WinPLUS Application Manual (02) 10-9


Chapter 10
Standard Application Notes

RESET

Fig. 10-11 System status transitions after RESET

APPLICATION NOTES:
• The reset command stops all the activities in progress in the system and sets the initial
conditions for part program execution like:
− Set the default G codes
− Display active M codes with the "display after reset" attribute (see AMP manual).
− Set the null offset + home position value as the only axis offset.
− Axis positions are referring to the home position.
• The reset command aborts:
− the execution of part program and related subroutines
− MDI block
− part program blocks requested during a block calculation stop (M60)
− all postlude M codes which are not yet executed
• A feed hold command cannot be reset.

10-10 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

SPINDLE MANAGEMENT
The spindle is under full control of the logic program. During a machine power up or a power up
after E-stop, the following sequence of operations has to be performed.

BACKGROUND

Search axis identifier


(A_TO_ID)

Connect and enable


spindle (SOPEN)

Spindle N
status OK?

Y
Display message

Other application
specific actions

END

Fig. 10-12 Spindle management

When you connect and enable the spindle the system will return an "identifier" for this specific
spindle to the logic. For all further operations on that spindle you must use this “identifier” (RTI
number). E.g. the functions SG96RPM and SG97RPM as shown in Fig. 10-10 will only work after a
successful SOPEN function call. From now on, you must use the RTI number returned by that
function call to orient the spindle or to set its speed.

10 Series CNC WinPLUS Application Manual (02) 10-11


Chapter 10
Standard Application Notes

Every time an M03, M04, M05 or M19 is programmed, the following sequence of operations has to
be performed:

Fig. 10-13 Structure of logic for spindle handling

NOTE:
The code M04 must change the sign of the S value.

10-12 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

CO-ORDINATED AXES MOVES (MAS) FROM WINPLUS


Some machine cycles, including tool and pallet change, are typically assigned to the logic because
it controls the devices necessary for the execution of these cycles (auxiliary axes, spindle and I/O
linked devices).

The logic must also control the co-ordinated axes in order to complete the above cycles.
Co-ordinated axes' movement is provided by the logic which sends blocks to the system similar to
those that can be inserted from the keyboard in MDI mode (Manual Data Input).

It is possible to write blocks in the variables and send them to the system via the MDI_CMD library
function.
To execute these blocks, the system must be in IDLE status or, in this case, MAS status. The
system enters MAS status after a M function configured in AMP as "calculation block" has been
issued. For each movement the logic will receive requests for start/end movement consent.

Logic racks directly involved in these cycles are the following:

1. M Functions (M functions decoding)


2. Background (one of the available backgrounds)
3. Motion end (end-of-motion routine)

The M function will have to:

1. decode the M function that blocks the calculation


2. transmit the request to the background
3. answer the system with an OK

and the system will enter MAS status.

The Background task will have to:

1. record the M function execution request


2. wait until the system is taken into MAS status (S20_13=1)
3. make the necessary axes movements and wait for the end of each axes' movement
4. send the part program resume command (PPRESUME): the system leaves the MAS status and
goes back to RUN or IDLE
The End Motion rack will have to:

1. signal the end-of-motion to the background so that it is able to send another block in
synchronization mode.

10 Series CNC WinPLUS Application Manual (02) 10-13


Chapter 10
Standard Application Notes

In order to pilot a co-ordinated axis (point 3 of background task), the following operations must be
performed:

1. save the selected mode (SW31)


2. select MDI mode (SETMODE)
3. send ASCII block (MDI_CMD)
4. send cycle start command (CYSTART)
5. wait for end-of-motion (coming from ENDMOV)
6. reset saved motion (SETMODE). Note that if a Pilot panel or external mode change switch is
present the actual mode can differ from the saved mode.

Points 3, 4 and 5 can be repeated in order to execute more than one movement.

Points 1 and 6 cause the system to go back to the originally selected mode (MDI, AUTO, SEMI-
AUTO) when it exits the movement sequence.

Following is a flow chart you can use as an example of axes movement sequence, requested by
the logic after a M function has been released.

10-14 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

SYSTEM LOGIC

M FUNCTION RACK
FUNCTIONS EMISSION STROBE TIPE CODE
FUNCTION M NO
ISSUED

YES

NO OK FROM LOGIC
?
ACK_STRB FROM LOGIC

YES

NO ISSUED FUNCTION ISSUED FUNCTION NO


REQUEST MAS REQUEST MAS
? ?

YES
YES

ENTERS SUBSTATUS (S20_13=1) CARRIES OUT CONNECTED ACTIVITIES

END END

Fig.10-11 System axes (MAS) movement handling – entry in MAS substatus

The system enters MAS substatus; this information is stored by WinPLUS in a M variable.

10 Series CNC WinPLUS Application Manual (02) 10-15


Chapter 10
Standard Application Notes

SYSTEM LOGIC

BACKGROUND

M VARIABLES

NO
M Function with
MAS request

YES

NO Is the system in
In MAS substatus

NO YES
Has exit from MAS
Substatus been
Requested ? Save the process execution mode

YES
Forces MDI mode (MDI_CMD)
Exit MAS substatus
(*)
(S20_13=0) Requests block execution in MDI

Program execution Resumes the process execution mode


Is resumed

Request exit from MAS substatus


(PPRESUME)

NO
Has the system left
MASit substatus

YES

Fig. 10-12 System axes (MAS) movement handling - request for block execution and exit from MAS

NOTES:
• This flow chart is the continues the logic described above (figure 10-11)
• (*) the block is shown in detail in figure 10-13

10-16 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

LOGIC

NO
Function M
with M AS request

YES

NO
Substatus system MAS

YES

Save executive mode of process

SYSTEM
Force MDI mode (MDI_CMD)

NO Request MAS status (*) Request block execution in MDI


exit

YES

Resume executive mode of process


Exit MAS status (S20_13=0)

Exit MAS status (presume)


Resume program execution

END NO The system


has abbandoned
MAS status

YES

END

Fig. 10-13 System axes motion management – Motion blocks execution

NOTE:
The 10-13 flow chart shows in detail how the movement blocks of figure 10-12 must be executed
as "macro blocks".

10 Series CNC WinPLUS Application Manual (02) 10-17


Chapter 10
Standard Application Notes

HARDWARE OVERTRAVEL LIMIT SWITCHES

• WinPLUS must monitor the condition of the hardware over travel limit switches for each axis.
The hardware limit switches must be wired to the I/O ring , Interbus or fast wire inputs. The
WinPLUS program must report all the status changes of the hardware over travels of the
system axes (switch activated, switch released).

For safety reasons use the foreground routine to manage the hardware over
travel limit switches.
WARNING

• When a limit switch over travel is pressed, the system will stop the movement, it will stop any
further movement in the wrong direction and it will display a message.
There are 3 possible ways of managing the over travel limit switches:

WINPLUS

RELEASE PRESSED
OVERTRAVELS
SYSTEM SYSTEM

DISABLES AXIS
OVERTRAVEL (AX_DISA)
RESET OTL RELEASED STOPS ALL
CONDITION STTRAVEL AXES OF PROCESS
FOR THAT AXIS OVERTRAVEL
PRESSED
CANCEL OTL (STTRAVEL) SAVES CONDITION
MESSAGE OF OVERTRAVEL

DISPLAY OTL MESSAGE


ENTERS IDLE
STATE
(S200)

Fig. 10-14 Hardware over travel limits; WinPLUS disables the axis

The logic inhibits the axis that is at the end of its stroke and asks the system to decelerate all other
axes of the process that are moving.

10-18 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

“ Limit switch pressed”


detected by W inPLUS and
notified to the system

Fig. 10-15 Timing diagram for solution of fig. 10-14

WINPLUS

RELEASED PRESSED
OVERTRAVEL
LIMIT SWITCH
SYSTEM SYSTEM

LIMIT SWITCH LIMIT SWITCH


RELEASED SEE FIG. 10.14
PRESSED
SEE FIG. 10.14 (STTRAVEL) (STTRAVEL)

CANCEL MESSAGE DISPLAY OTL MESSAGE


OTL

Fig. 10-16 Second proposal for H/W over travel limits handling
The logic asks the system to decelerate the axes. There is no interaction between the logic and the
axes.

10 Series CNC WinPLUS Application Manual (02) 10-19


Chapter 10
Standard Application Notes

“Lim it switch pressed” detected by


W inPLUS and notified to the system

Fig. 10-17 Timing diagram for the above solution

WINPLUS

RELEASED PRESSED
OVERTRAVEL
SYSTEM LIMIT SWITCH
SYSTEM

LIMIT SWITCH DISABLE ALL


RELEASED SEE FIG. 10.14
SEE FIG. 10.14 AXIS OF THE PROCESS
(STTRAVEL) (AX_DISA)

CLEARS OTL LIMIT SWITCH


MESSAGE PRESSED

(STTRAVEL)

DISPLAY OTL MESSAGE

Fig. 10-18 Third way of handling the over travel limit switches

The logic inhibits all the axes of the process. WinPLUS must re-enable the axes (close the position
loop of the axes).

IMPORTANT The STTRAVEL function stops only the coordinated axes Auxiliary axes must
be managed by the user using the appropriate functions to stop the axes.

10-20 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

AXES HOMING
The axis homing cycle establishes an absolute part program reference position for a machine axis.
The axes homing cycle can be either manual or automatic according to the declaration made in
AMP. The sequence of homing an axis is automatic once it has been started by the operator (or by
the WinPLUS logic program). The activation of the homing cycle for one axis requires the following
steps:
• select the home position on the mode selector
• select an axis to be homed
• push the CYCLE START push button

The logic has to continuously update the corresponding system flag for the home limit switch SW3/
SW4 (copy the physical home limit switch input to the corresponding axis home limit switch flag.)
The information about "home" being selected, about the selected axis and the cycle which has
being started is supplied by the movement enable rack. The two flags SW3 and SW4 contain 32
bits in total and supply the axis home limit switch inputs for up to 4 axes boards containing up to 32
axes (max):

SW3

Axis with ID=1


Axis with ID=16

SW4

Axis with ID=17


Axis with ID=32

Fig. 10-19 Relation between home limit switch flags and the physical axis

For safety reasons the foreground routine should be used to monitor the home limit switches.

Home limit switches are usually wired as NC (normally closed) contacts. If wire
IMPORTANT them as NO (normally open) contacts, the logic program must invert the signals
before passing them to SW3 or SW4.

10 Series CNC WinPLUS Application Manual (02) 10-21


Chapter 10
Standard Application Notes

LOGIC

N HOMING
CYCLE

S
DETECT WHICH AXIS
MUST BE HOMED

UPDATE THE CORRESPONDING


BIT IN
SW3/SW4 WITH THE PHYSICAL
INPUT STATUS

EXIT

Fig. 10-14 Logic sequence to enable homing

F+

+ “manual” feed

‘’home limit switch pressed” ‘’home limit switch released”


Detected by WinPLUS Detected by WinPLUS
Notified to the system And notified to the system
marker

“home” feed

0
t
AXIS HOMED
W/O null offset

- manual feed
Progress with manual feed
F-

Fig. 10-21 Timing diagram for a homing sequence

10-22 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

After the encoder marker has been detected and the axis has stopped, there are different modes to
complete the homing cycle according to the null offset:

1. If the null offset is not configured, the axis returns on the marker. The end position is exactly on
the marker
2. If the null offset has been configured the axis moves backwards or forwards to stop on the null
offset distance from the marker. The null offset value is a "shift of the encoder marker" in
software to allow the absolute reference position of an axis to be exactly on the mechanical
home position. Using null offset, a mechanical adjustment of the transducer can be avoided.
NOTES:
For optical scales with 1 marker, a home limit switch is not needed, so the logic does not need to
take any action. The axis software will find the (only) marker automatically (home direction
parameter).
The point-to-point axes must be homed by the logic program.

10 Series CNC WinPLUS Application Manual (02) 10-23


Chapter 10
Standard Application Notes

FEED HOLD
Feed hold (FEEDHOLD) is a function call which is available in WinPLUS which allows the axis
motion to be stopped temporarily on certain conditions and to be resumed once the condition
disappears (FEED_GO).

The system doesn't change its status.

The feed hold command is of the NO WAIT type and may be used in the foreground routine.

The reset command does not cancel the feed hold status. Only the WinPLUS program can decide
when to cancel the feed hold status.

Any FEED_GO command without a previous FEEDHLD command will be ignored.

WINPLUS

Feed go Feed hold


VERIFY CONDITION

RELEASE FEED HOLD PUT PROCESS


(FEED_GO) IN FEED HOLD
(FEEDDHLD)

SYSTEM SYSTEM

N S
PROCESS IN G33 or G84
FEED HOLD? ACTIVE?

S N

RESET FEED HOLD SET FEED HOLD


STATUS (S20_15) STATUS (S20_15)

RESTART MOTION MOTION STOP

Fig. 10-22 Handling of feed hold and feed hold release

10-24 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

Fig. 10-23 Velocity versus time during feed hold and after feed hold release

10 Series CNC WinPLUS Application Manual (02) 10-25


Chapter 10
Standard Application Notes

ACTIVE RESET
Active reset is a command that is only available for the WinPLUS logic program. It can be used
after a cycle stop to cancel the remaining part of a motion block and if required subsequent part
program blocks can be cancelled.

Its use can be dangerous and can generate unpredictable situations depending
on the context of the part program in execution.
WARNING

The WinPLUS program can make the active reset function available to the operator (external push
button) or use it in conjunction with machine devices to generate an automatic active reset (e.g.
audio detection of contact between tool and part for fast automatic approach).

The system will accept an active reset request only under following conditions:

Fig. 10-24 Allowed conditions for an active reset

10-26 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

When the system is in HOLD, it is assumed to have stopped in the middle of the block and so the
remaining part of the motion still has to be completed.

Active reset, if accepted, resets the remaining part of the motion and assumes the current position
as the start position of the next motion block.

• The active reset function call (ACTRES) is of the WAIT type and returns a status word. If the
value in the status word is not zero, the function call was not accepted.
• When active reset is not accepted by the system, further active reset requests will examine the
next blocks in line and if no errors occur, the active reset of these blocks will be accepted.
• The postlude M functions present in the interrupted block will be lost after an active reset. With
the next cycle start, the next block will be started. When further active resets follow, also the M
codes in these blocks will be ignored.
G29 G01 X100 M05 ACTIVE RESET AT X=50 (M05 WILL BE IGNORED)
G01 Y100 M06 ACTIVE RESET (M06 WILL BE IGNORED)
G01 M03 Z100 M05 CYCLE START:
1) M03
2) MOVE TO X50 Z100
3) M05

• Any active reset accepted by the system will make the successive block to the active block. You
can see this in the screen in the part program subsection where the next block to be executed
will be shown in reverse video.
Example #1:

Fig. 10-25 Example of active reset

X10 Z40
Z20 <---- Active reset during the execution of this block
X100 <---- At the end of this block Z=30 X=100

10 Series CNC WinPLUS Application Manual (02) 10-27


Chapter 10
Standard Application Notes

Example #2:

Fig. 10-26 Second example of active reset

X10 Z40
X50 Z10 <---- Active reset during the execution of this block
X100 Z30 <---- At the end of this block Z=30 X=100

10-28 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

WINPLUS
SYSTEM

N OTHERS
ACTIVE RESET MDI
CONDITIONS ? MODE SELECT

OTHER
SYSTEM STATUS
N PART PROGRAM
SELECTION
HOLD, HRUN

SEND ACTIVE RESET


(ACTRES) OTHERS
SYSTEM STATUS

ERROR HOLD
ANSWER
G28, G27

G27,G28,G29
O.K. ERROR MESSAGE
INITIALIZATION
G29
EXIT
G02, G03
ACTUAL
INTERPOLATION

ANSWER = ERROR
G00, G01

EXECUTE ACTIVE RESET

ANSWER = O.K.

ENTER IN HRUN
STATUS (S20_4)

EXIT

Fig.10-27 The sequence for active reset management

10 Series CNC WinPLUS Application Manual (02) 10-29


Chapter 10
Standard Application Notes

WINPLUS

N
ACTIVE RESET
CONDITION

SEND HOLD TO
THE SYSTEM
(HOLDON)

SEND ACTIVE RESET


TO THE SYSTEM
(ACTRES)

RESTART THE SYSTEM


(CYSTART)

EXIT

Fig. 10-28 Automatic sequence for active reset driven by the logic
When active reset is accepted, the system will be in the HRUN status. When the active reset is not
accepted, the system status will be HOLD.

Fig. 10-29 Process status transitions caused by active reset

10-30 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

MANUAL JOG BY THE LOGIC

LOGIC

SET INCREMENTAL JOG


(SETMODE)

N ICREM. JOG
ACTIVE (S31_4)
?

SELECT AXIS

N AXIS SELECTED
(SW 29)

S
SET JOG INCREM.
(SJOG)

SET MAN. FEEDRATE


OVERRIDE (MANFEED)

JOG DIRECTION N
POSITIVE?

CHANGE FEED RATE


S SIGN (NEG)

SET MAN. FEEDRATE


OVERRIDE (MANFEED)

N FEEDRATE. O.K.
(SW 35) CONMOV for consent
To move request

START THE MOTION ENDMOV for end


(CYSTART) of motion

EXIT

Fig. 10-30 Manual Jog driven by the logic (example)

10 Series CNC WinPLUS Application Manual (02) 10-31


Chapter 10
Standard Application Notes

FEED RATE OVERRIDE CONTROL


On the MTB panel, the feedrate override selector is an 11 position rotary selector switch with a
default set of override values. Lets assume that you want to change this set of values as in the
table below (% values x 100):

1 2 3 4 5 6 7 8 9 10 11

DEF. % VAL 0 1250 2500 3750 5000 6250 7500 8750 10000 11250 12500

NEW% VAL 0 500 1000 1500 2000 3000 5000 8750 10000 11250 12500

Fig. 10-31 Translation table for feedrate override percentages

Remember that every time you change the feedrate override the system will activate a Feedrate
Override Rack (if available). The actual feedrate override percentage will be multiplied 100 times
in the variable MW(K+123).

The routine in this example reads the MW(K+123) value, constructs an index from the value and
uses a look-up table to set the new value:

index FRO value M Word


0 0 MW 0500
1 500 MW 0501
2 1000 MW 0502
3 1500 MW 0503
4 2000 MW 0504
5 3000 MW 0505
6 5000 MW 0506
7 8750 MW 0507
8 10000 MW 0508
9 11250 MW 0509
10 12500 MW 0510

Fig. 10-32 Feedrate translation table

10-32 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

FEED RATE BYPASS


Feedrate bypass is a function call available for WinPLUS, which allows a temporary increase of the
feedrate of one or more motion blocks.

It is generally used to accelerate axis positioning, for example, during program testing.

During the feedrate bypass the feedrate override selector is still enabled and can be used to
reduce the feedrate forced by feedrate bypass.

The FEEDBYON function call specifies the desired rapid velocity. FEEDBYOF restores the
previously programmed feedrate.

WINPLUS

SYSTEM reset CONDIZION set SYSTEM


FRB

N FRB
ACTIVE DE-ACTIVE ACTIVATE G33, G84 Y
? FEEDRATE BYPASS FEEDRATE BYPASS ACTIVE
Y (FEEDBYOF) (FEEDBYON)
N
RESET FEED RATE BYPASS
CHANGE FEED
(S30_15)

RESTORE PROGRAMMED SET FEED RATE


BYPASS FLAG
FEED RATE (S30_15)

Fig. 10-33 Feedrate bypass (FRB)

10 Series CNC WinPLUS Application Manual (02) 10-33


Chapter 10
Standard Application Notes

Fig. 10-34 Feedrate bypass velocity versus time

10-34 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

SERIAL LINE MANAGEMENT (RS-232)


The serial line on the I/O processor module is under full control of the logic program. To establish
communication, the RS-232 serial line must be initialised using the system function call R232_INIT.
The following sequence of operations has to be performed only once after powering up the control
or after executing a reset on the serial line (R232_RESE):

BACKGROUND

Y Is the RS232 N
initialized ?

INITIALIZE RS 232
232_INIT

RS 232 INITIALIZED

Y Are terminators N
defined ?

SET TERMINATORS
232_TERM

Terminators defined

Y RESET N
L’RS 232

RESET 232
232_RESE

232 NOT inizialized

No terminators defined

Fig. 8-15 Serial line initialisation

10 Series CNC WinPLUS Application Manual (02) 10-35


Chapter 10
Standard Application Notes

After the initialisation of the serial interface, it can be used to send or receive a buffer of data. To
use the send data function (R232_TXD) or the receive data function (R232_RXD) the number of
bytes to handle must be specified.

After having executed R232_INIT, you can also transmit ASCII strings, using the function
R232_TXS. This function takes the standard WinPLUS "NULL" end of string character ('\0') as a
string terminator. This is the same terminator that is used for all other WinPLUS string functions.

To receive strings (R232_RXS), you must define the ASCII string terminator (after initialisation and
before the first reception) using the function R232_TERM. This terminator, once set, remains active
until you reset the serial interface (R232_RESE).

Note: These commands are not available with the 10/110 and 10/310 versions of the control.

Y
MUST RECEIVE 232_RXD
DATA ?

Y
MUST TRASMIT
232_TXD
DATA ?

MUST RECIVE Y
STRING? 232_RXS

Y
MUST TRASMIT 232_TXS
STRING ?

END

Fig. 10-36 Serial line reception and transmission

10-36 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

AXIS POSITIONING VIA RS-232 SERIAL LINE


The software option Serial Auxiliary Axis allows you to control an axis managed via RS-232 serial
line. With this feature you can use an auxiliary axis in addition to the 6 standard auxiliary axes.

The WinPLUS environment manages the axis positioning in the same way as the standard axes.
By using the point-to-point library functions for the auxiliary axes you can position with a defined
feedrate and change both feedrate and final position while the axes are moving.

Configuration
In order to use this feature correctly, you have to configure some parameters of the CNC and the
DAC DAM 60 drive. To program the drive parameters you have to use the software application
PCBASS (version for the operating systems MS DOS 3.3 or higher) or WINBASS (version for
Windows operating systems 3.1 or higher).

Necessary operations on the 10 Series:

• Define the serial line to be used by configuring it in AMP in the hardware section, a value 3 on
the selected line. If you specify this value on both available serial lines, the serial line COM1 will
be assumed.

Necessary operations on the DAC DAM 60 drive:

• Define the zero microswitch search procedure via the parameter P414.
• Select one of the 4 digital inputs to which you want to assign the axes reference microswitch
and program it using the relative parameters (e.g. P370, P371, P372, P373 for digital input 1).
• Configure the axes reference microswitch as normally closed or normally open via the
parameter P434.
• The data used internally by the DAC DAM 60 drive refer to a constant which represents the
number of transducer increments per motor rotation (65536 increments per rotation). In order to
make drive programming easier, the drive has two parameters (P402 and P403) which help
translate the user data into the internal measurement units. In other words these two
parameters the drive to be programmed with the desired measurement units (mm, degrees,
etc.).
The formula is as follows:

DAC parameter [Inc] = User parameter [UU] * (POS norm Z [Inc] / POS norm N [UU])

UU: User Unit (user measurement unit)


Inc: Increments
DAC parameter : input value at the DAC DAM 60 drive
User parameter : value entered by the user
POS norm Z: parameter 402
POS norm N: parameter 403

10 Series CNC WinPLUS Application Manual (02) 10-37


Chapter 10
Standard Application Notes

After defining the User Unit the standardisation constant is calculated by dividing the drive
constant (65536 increments per motor rotation) by the number of user units per motor rotation:

(POS norm Z / POS norm N) = (65536 / xxx UU per motor rotation)

Now the (integer) values of the two parameters can be determined, the quotient of which is the
standardisation constant (see the example at the end).

• Program the drive parameter P432 (POS reference point). Its value represents the max.
allowed feed in the negative field (in UU) and is equal to the effective distance between the
negative end microswitch and the zero microswitch.

Programming
Before an axis can be moved from point to point, a channel must be opened with the function
AOPEN by entering the axis ID into the input variable axis_id of the function block. For controlling
the standard auxiliary axes, axis_id values between decimal 1 and 32 are used, whereas for
controlling an auxiliary axis via serial line any axis_id value between decimal 101 and 132 can be
used.

The function AOPEN returns the value of the interpolator assigned to this axis (rti_num): this value
is then used as input for the other point-to-point functions of the axis / spindle library.

To read the axis status the library function AUX_STAT is used, which provides the axis status word
(axis_sts) output (the function RTIRES normally used for reading the status of a standard auxiliary
axis doesn’t provide this output value). The rti_num value used as an input to the function block
AUX_STAT determines whether it is a standard auxiliary axis or one controlled via serial line. In
this mode the values of the output variable have a different significance (see WinPLUS Library
User Manual).

When managing auxiliary axes a Home Position value can be configured in AMP which
corresponds to the distance between the zero of the CNC and the physical zero. For the axis
controlled via serial line such value is introduced into the input variable position of the library
function PALMOVE used for the search of the zero microswitch (mov_type = 3).

The values for axis position and feedrate are entered into the input variables position and feed_rate
of the function PALMOVE: the operator enters the position values expressed in User Units and
feedrate values in User Units per minute. In addition the same library function can be used to
override the programmed feedrate by entering the percentage value into the feed_rate input
variable of the function block (mov_type = 8).

. The function GET_POSD has been introduced (see WinPLUS Library User Manual).to read the
current axes position and feed rate

10-38 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

Example:
Axis positioning (with a maximum stroke of 4000 UU) using digital input 1 for microswitch
search with negative end switch normally closed:

POS reference run mode = 1001 P414


DE input 1 = 433 P370
DE bit selection 1 = 2 = 0002hex P371
DE LOW pattern 1 = 0 = 0000hex P372
DE HIGH pattern 1 = 2 = 0002hex P373
POS mode switch = 0002hex P434

1 UU = 1 degree
Gear Box ratio: 1:1
Mechanical step: 360°/rotation
1 motor rotation = 65536 increments
1 UU = 65536 / 360 = 182,04 increments (drive normalisation constant)

As the increments are integers the results are:

POS norm Z = 18204 UU P402


POS norm N = 100 Inc P403

Setting the POS reference point and Home position values:

POS reference point = 1440 UU P432


Home Position = -360 UU

After searching for the zero microswitch (PALMOVE with mov_type = 3), the axis is virtually at the
position 360° (at +360 in respect to the Home Position).

-1080 φCN +360 +2920 User Units

Machine Units
0 1080 1440 4000
µφ
Axis

10 Series CNC WinPLUS Application Manual (02) 10-39


Chapter 10
Standard Application Notes

Lets assume now that we want to move the axis to 720° with a feedrate of 360°/min. By
programming in input in function PALMOVE a value of 720 and the feed_rate variable with a value
of 360, we obtain a movement equal to one motor rotation in a time of one minute.

-1080 φCN +360 +720 +2920 User Units

Machine Units
0 1080 1440 1800 4000
µφ
Axis

In addition we can program an override for the programmed feedrate. For example, if we want to
move with a feedrate of 25% of the programmed 360°/min, we have to enter a value of 25 into the
feed_rate input variable of the function PALMOVE (mov_type = 8).

NOTE:
In this case all programmed moves will be carried out at the override speed specified.

10-40 10 Series CNC WinPLUS Application Manual (02)


Chapter 10
Standard Application Notes

Installation Specifications
For correct functioning of the positioning drive and handling of emergencies, the 14, 19 and 20 pins
of the analogue/digital interface connector X26 have to be connected as follows:

Pin Name Connection


14 Pulse enabling 24 V
19 rapid halt 24V
20 Ground ground

These signals have to be connected in series to the EMERGENCY STOP button and the
GENERAL ESTOP contact in the 10 Series numerical control.

In order to reduce the general noise level emitted by the drives and possibly other equipment,
follow the instructions in paragraph “EMC Information” in Chapter 5 of the Installation Manual for
the DAC DAM 60 Drive (Cod. 45006742C).

In particular, observe the following rules when using the serial communications line RS-232 as
interface between the 10 Series CNC and the drive:

• The back panel of the cabinet in which the drives and the CNC are installed must be
conductive. When connecting it to ground, a large surface for discharging HF disturbances is
required.
• The cable used for the serial communications line must have an extern shielded covering of at
least 85%. For the same reason as mentioned above the external shield has to be connected to
the cabinet panel. This can be achieved as shown in Chapter 5 of the DAC DAM 60 Installation
Manual (carry out this shielding operation on the CNC side as well as on the drive side).
• The cable used has to consist of a twisted pair connected as follows:

Pin on CNC-side Signal function Pin on drive-side


connector connector
2 RxD 2
3 TxD 3
5 ground 5

In order to increase the immunity of the signals against noise, a pair of conductors for the RxD -
ground signals and another one for the TxD – ground signals. If shielded pairs are used, the
shields must be connected to Pin 5 of the connector (only on the CNC side).

10 Series CNC WinPLUS Application Manual (02) 10-41


Chapter 10
Standard Application Notes

END OF CHAPTER

10-42 10 Series CNC WinPLUS Application Manual (02)


Chapter 11
INTERBUS® FEATURES ON 10 SERIES SYSTEMS

INTERBUS is a serial line linking system for exchanging data between controller hosts (PLC
controllers, personal computers, NC's, etc.) and distributed input/output units to which the
actuators and probes are connected.

Hardware Prerequisites:

• 10 Series Numeric Control suitably equipped.


• Optional: connecting cable on the serial line between PC and NC for using the Windows® PC
software Phoenix Contact® IBS CMD® for online operations

Software Prerequisites:

• 10 Series CNC software


• Windows PC software Phoenix Contact IBS CMD G4 v 4.42

The 10 Series system integrates an INTERBUS controller which dialogues with the WinPLUS logic
via dedicated function blocks. It can handle up to 2048 digital inputs and 2048 digital outputs.

The PCP feature (Peripherals Communication Protocol) is not supported.


WARNING

To enable the INTERBUS features on the 10 Series system proceed as follows:

1. Define the configuration of the INTERBUS modules connected to the controller using the
configuration application IBS CMD G4. Map the physical I/O's onto the MW logic variables area
managed with the function blocks. Save the resulting configuration in a file with the extension
.SVC
2. Transfer the .SVC file from the PC to the 10 Series system in the directory of the enabled logic
renaming it so that it has the same name as the logic (but retaining the extension).
3. Use the logic Function Blocks IBS_INP and IBS_OUT in the foreground logic for transferring
the INTERBUS inputs/outputs to/from the MW variables.

10 Series CNC WinPLUS Application Manual (00) 11-1


Chapter 11
Interbus® Features on 10 Series Systems

All information on how to use the IBS CMD G4 application in this chapter only
refers to the operations required for correctly setting up the parameters for
IMPORTANT
the 10 Series system. You can find a detailed description of the IBS CMD G4
application, its features and its installation in the specific manuals supplied
with the software package.

The INTERBUS specific Function Blocks (IBS_INP and IBS_OUT) are


described in the manual: CNC Serie 10 PLUS Library - code 4500 6682C

11-2 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

CONFIGURATION APPLICATION IBS CMD


During installation you will see various dialog windows. The following one allows you to specify the
serial line driver to be used for on-line operations: it is important that the ISA driver is not enabled.

Then follows the dialog window in which you have to compile the serial line ID you want to use:

10 Series CNC WinPLUS Application Manual (00) 11-3


Chapter 11
Interbus® Features on 10 Series Systems

The main menu of the application is consistent with the icon currently selected in the configuration
window (it is identified by a black frame). The following menu examples refer to the context menu
of the <Controller Board> icon.
Before working off-line or on-line you have to set the INTERBUS controller master type present in
the NC:

11-4 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

On-line Operations
If you connect a PC (on which the configuration application is installed) to the INTERBUS controller
on the NC's relative diagnostics connector with a serial cable, you can:
• automatically acquire the configuration of the INTERBUS modules currently connected to the
controller;
• execute the diagnostics (error tests, test and status of the I/O's).
Before you can do this, you have to verify the connection parameters:

10 Series CNC WinPLUS Application Manual (00) 11-5


Chapter 11
Interbus® Features on 10 Series Systems

If the INTERBUS controller is connected to one or more peripheral modules you can automatically
acquire the configuration using the following command sequence:

11-6 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

The following is an example for an acquired configuration:

10 Series CNC WinPLUS Application Manual (00) 11-7


Chapter 11
Interbus® Features on 10 Series Systems

The following command enables the current configuration on the INTERBUS controller:

11-8 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

The following command allows you to see the overall configuration of the I/O's which the
INTERBUS controller is handling:

You see all the physical <Data Descriptors> with the default <Assignments> the INTERBUS
controller has applied automatically.

10 Series CNC WinPLUS Application Manual (00) 11-9


Chapter 11
Interbus® Features on 10 Series Systems

These data can also be shown on single module level by selecting the icon of the relative module:

11-10 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

You can create new <Data Descriptors> acting on bit groups that have to be mapped in to special
zones in order to re-group I/O bits distributed over several modules but belonging to the same
functional category, e.g. input for axes homing.

In this case you have to cancel the <Assignments> of the default <Data Descriptors>. The
following example creates a logical group of 3 output bits starting with the physical bit 2 of the
relative module and mapping it into byte 3 starting from bit 5. It therefore occupies the most
significant bits of this byte:

10 Series CNC WinPLUS Application Manual (00) 11-11


Chapter 11
Interbus® Features on 10 Series Systems

The <Assignment> represents the offset (in bytes) in a virtual memory starting from which the
physical bits of the <Data Descriptor> are assigned. The 10 Series system manages 2 virtual
memories of 256 logic bytes (2048 bits): one for the inputs and one for the outputs. Hence valid
offsets range from 0 to 255.

Each of these memories is mapped on 128 MW variables, on which the Function Blocks IBS_INP
and IBS_OUT operate.

Assuming the variables MW1000 … MW1127 are used for the function block IBS_INP, the
following table is valid:

MW1000 Assignment 0,1


MW1001 Assignment 2,3
MW1002 Assignment 4,5
…… ….
MW1125 Assignment 250,251
MW1126 Assignment 252,253
MW1127 Assignment 254,255

Assuming the variables MW1128 … MW1255 are used for the function block IBS_OUT, the
following table is valid:

MW1128 Assignment 0,1


MW1129 Assignment 2,3
MW1130 Assignment 4,5
…… ….
MW1253 Assignment 250,251
MW1254 Assignment 252,253
MW1255 Assignment 254,255

This table creates correspondence between modules having <Data Descriptor> of different
dimensions:

MW Word Word
bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Module Signal16 bit module 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

MW Word odd <Assignment> even <Assignment>


Bit 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8
Module Signal 8 bit module 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8
Signal 4 bit module Not used 3 2 1 0 Not used 11 10 9 8
Signal 2 bit module Not used 1 0 Not used 9 8

11-12 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

Off-line Operations
You can create a configuration representing the actual lay-out of the modules connected to the
INTERBUS controller without the serial diagnostics link.

There are two possibilities: either by inserting the module using its code or by a high-level
description present in the database.

In the first case you proceed as follows:

10 Series CNC WinPLUS Application Manual (00) 11-13


Chapter 11
Interbus® Features on 10 Series Systems

For inserting a module using its description:

11-14 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

TRANSFERRING THE CONFIGURATION FILE TO THE 10 SERIES CNC


Once you have completed the configuration, a file is created, which subsequently has to be
transferred to the NC into the directory of the logic to be enabled. It should be renamed so that it
has the same name as the logic (but maintains its extension):

10 Series CNC WinPLUS Application Manual (00) 11-15


Chapter 11
Interbus® Features on 10 Series Systems

INTERBUS ERRORS
The system does not automatically detect INTERBUS errors.

The WinPLUS logic will intervene triggered by the signals available in the standard registers of the
INTERBUS controller.

11-16 10 Series CNC WinPLUS Application Manual (00)


Chapter 11
Interbus® Features on 10 Series Systems

10 Series CNC WinPLUS Application Manual (00) 11-17


Chapter 11
Interbus® Features on 10 Series Systems

The data to be entered always represents an identical <Assignment> to the one used for the I/O
modules with the difference that only even-numbered values are proposed which have not already
been used by the I/O modules.

The following table describes the various diagnostic bits:

Diagnostics Status Register MW Bit 0 USER – User error/parameterisation


(See also parameter register as error code)
MW Bit 1 PF – Peripheral fault
(See also parameter register as error location)
MW Bit 2 BUS – Bus Error
(See also parameter register as error location)
MW Bit 3 CTRL – Controller board error/hardware fault
(See also parameter register as error code)
MW Bit 4 DETECT - Diagnostic routine active
MW Bit 5 RUN – Data transmission active
MW Bit 6 ACTIVE – Selected configuration is ready to operate
MW Bit 7 READY – Controller board is ready to operate
MW Bit 8 BSA - Bus segment disconnected
MW Bit 9 BASP/SYS_FAIL - Output Reset
MW Bit 10 RESULT - Standard function negatively processed
MW Bit 11 SY_RESULT - Synchronisation error occurred
MW Bit 12 DC_RESULT - Faulty data cycles
MW Bit 13 WARNING - determined waiting time exceeded
MW Bit 14 QUALITY - Determined error density exceeded
MW Bit 15 SDSI - Message to control system is pending
Parameter Register Error location MW high byte - Segment number
MW low byte – Location in the segment
Error type MW high byte – Error byte low
MW low byte – Error byte high
Standard Start Register MW Bit 2 Deleting the diagnostic display
Function

After initializing a controller with a configuration you can control its correct functioning by checking
for the value 0x00E0 (hexadecimal) on the MW reporting the diagnostic status register.

To update the diagnostic registers you have to set bit 2 (deleting the diagnostic display) of the MW
that reports the standard function start register.

END OF CHAPTER

11-18 10 Series CNC WinPLUS Application Manual (00)


Chapter 12
CANOPEN® FUNCTIONS ON SERIES 10

CANopen is a standard field bus for the exchange of data between a control host (PLC, numerical
controls, personal computers) and input/output devices (sensors, actuators, valves, drives).

Hardware requirements:

• Series 10 numerical control, appropriately set up.


• CW-BISA master BOARD, to be introduced into ISA bus of Series 10 CNC.

• At the user’s discretion:

1. CANopen RIO EC couplers which can be connected to modular devices RIO 8I/O, RIO
8I8I/O, RIO 16I, RIO 16O, RIO 4AI/4AO ±10V, RIO 4AI ±10V, RIO 4AI/4AO 20mA and RIO
4AI 20mA;

2. CWIO (16I + 16I/O) compact type module (only with Software E69 7.2 or later releases).

• CANopen RIO EC couplers can be connected to up to 8 RIO modules, of which max. 2 can be
analog type.

N.B.: Nodes must be connected in parallel to the CANopen bus cable.

Software requirements:
• Software for Series 10 numerical control.
• Function available with Software E69 V7.1 fixup 3 or later releases.
• Software for PC Windows I/O Configurator available with WinNBI C07 V2.2 or later releases.
Series 10 system integrates a CANopen controller which communicates with logic by means of I
and O variables. It manages up to 8192 digital outputs and 8192 digital inputs.

10 Series CNC WINPLUS Application Manual (03) 12-1


Chapter 12
CANopen® functions on Series 10 Systems

CANOPEN BUS CONFIGURATION


On Series 10 system, CANopen functions are activated by creating a (text type) configuration file
by means of the I/O Configurator application supplied with WinNBI v2.2 or later versions. Once
created, this file shall reside in the same directory as the logic and shall have the same name as
the logic plus extension .BUS.

For the use of the I/O Configurator application, see the relative on-line Help.

Figure 12-1 Main screen of I/O Configurator application

Two buffers are provided (1024 bytes each) for the configuration of I/O devices.

After configuring the I/O devices by means of the $IBS_INP Function Block it becomes possible to
transfer the physical inputs to the MW variables; the $IBS_OUT Function Block, instead, lets you
transfer the MW variables to the physical outputs. The two Function Blocks always work starting
from byte 170 over a length of 128 words. Keep in mind that when the I/O RING is present, the first
170 bytes are reserved to it.

I/O could be managed from logic by mean of I/O variables.

12-2 10 Series CNC WINPLUS Application Manual (03)


Chapter 12
CANopen® functions on Series 10 Systems

INPUT buffer:

RING input: 170 bytes CANopen input: 256 bytes available

170th byte 1023th byte

OUTPUT buffer:

RING output: 170 bytes CANopen output: 256 bytes available

170th byte 1023th byte

The two Input/Output buffers are updated by the system every 10ms.

10 Series CNC WINPLUS Application Manual (03) 12-3


Chapter 12
CANopen® functions on Series 10 Systems

CONFIGURATION EXAMPLE
If you configure a CANopen network with three nodes, the first of which is a RIO EC coupler, with
ID=10, with two modular units (RIO 16I and RIO 16O) connected to it, the second is a CWIO
compact module, with ID=12, and the third is a RIO EC with ID=1 with two modular units connected
to it (RIO 8I8I/O and RIO 4AI/4AO ±10V), the window to the left of the I/O Configurator application
will have a structure similar to the one displayed in figure 2:

Figure 12-2 Example of configuration in the I/O Configurator

The connections between the nodes and the master board could be arranged as follows:

CWIO
CW-BISA
Master
Board ID = 12

RIO EC RIO RIO


8I8I/O 4AI/4AO
ID = 1 ±10V

CANopen Bus cable

RIO EC RIO 16I RIO 16O

ID = 10

Termination
resistance

12-4 10 Series CNC WINPLUS Application Manual (03)


Chapter 12
CANopen® functions on Series 10 Systems

DESCRIPTION OF ERROR CODES RETURNED DURING OPERATION OF


CANOPEN BUS

Error codes are stored in the input buffer starting from the byte specified in the "Diagnostics
Offset" field of the I/O Configurator configuration over a length of 16 bytes.

Errors from RIO EC modules

BYTE VALUE DESCRIPTION


0 Other than FF Communication between “CANOPEN board and nodes”
is working
FF (hex) Communication error giving rise to a non recoverable
emergency (see bytes described below)
1 not used
2 node ID ID of node where emergency condition has occurred
3 Bit 0: Active error: reflects current system status and is reset
0 - No overload when error cause is remedied.
1 - Modules overloaded
Bit 1: Note: If a power supply or overload error occurs,
0 - Power supply OK examine byte 6 or 7, according to table 3, to determine
which module(s) is(are) affected by the error.
1 - Power supply failure in one
or more modules If Bit 2 = 1, read byte 4 to determine the error code.
Bit 2:
0 - No error code If Bit 3 = 1, bytes 8-9 can be read to determine how many
(recovered) retries have been detected during the I/O
1 - An error code is present refresh routine
Bit 3:
1 – I/O refresh retry
4 See table 3 Error code
5 Bit 0: Static Error
0 - No overload
1 - Modules overloaded Note: A static error records the last emergency condition
Bit 1: that has occurred: in other words, when an error occurs,
0 - Power supply OK it has the same value as the “active error” byte, but it is
not reset when the cause of the error is remedied.
1 - Power supply failure has
occurred in one or more In this manner, the system is able to discern that a
modules problem has occurred.
Bit 2:
0 - No error
1 - An error has occurred
6 See table 2 Modules with fault in 24 V power supply
7 See table 2 Modules with overload error
8-9 I/O retry Number of retries recovered during the I/O refresh
routine
10-15 Reserved Reserved for future use

Table 1 Description of diagnostic bytes of RIO EC module

10 Series CNC WINPLUS Application Manual (03) 12-5


Chapter 12
CANopen® functions on Series 10 Systems

BIT VALUE DESCRIPTION


0 0 No error
1 Error in module 1
1 0 No error
1 Error in module 2
2 0 No error
1 Error in module 3
3 0 No error
1 Error in module 4
4 0 No error
1 Error in module 5
5 0 No error
1 Error in module 6
6 0 No error
1 Error in module 7
7 0 No error
1 Error in module 8

Table 2 Description of bits in the presence of a 24 V power supply or overload failure

Error Code No. of times Description


RUN LED
blinks on
RIOEC
1 6 No slot module connected
2 7 ID of slot module connected not supported by coupler
4 8 Internal transmission (Coupler Å Æ slot) aborted (e.g. Slot contact
open).
5 9 Max. number of slots that can be connected to coupler exceeded.
6, 8 3 Field bus cut out or no longer active (WatchDog error).
7 2 Writing mode access to coupler EEPROM failed.

Table 3 Description of Error codes

Failure to manage the words containing the error codes in the Plus and
Winplus logic may give rise to situations endangering the system. It is
WARNING important to monitor the status of these words continuously.

12-6 10 Series CNC WINPLUS Application Manual (03)


Chapter 12
CANopen® functions on Series 10 Systems

Errors from CWIO modules

BYTE VALUE DESCRIPTION


0 C (hex) CANopen ISA or PCI board working correctly
FF (hex) I/O update blocked by an error
1 not used
2 node ID ID of node where emergency condition has occurred
3 8 Error code is present
4-5 See table 5 Error code
6 See table 5 Content of error log

Table 4 Description of CWIO module diagnostic bytes

Error Code Error Log Description


(hex) (hex)
2300 81 Short circuit in Output drivers
0 80 Short circuit remedied
8140 91 CANBus recovered from Bus Off status
0 80 Bus Off status remedied
8130 81 WatchDog error (Life Time expired)
0 80 WatchDog error remedied

Table 5 Description of CWIO module error codes

ERRORS RETURNED DURING CNC POWER UP


AT CNC power up, when the configuration of the I/O’s distributed on the CANopen BUS has been
downloaded, a start-up routine stop might occur with one of the following error messages:

• SD150 I/O Setup File Error

Sections or parameters required for I/O configuration missing in file.

• SD170 CAN: Error linking with RXPDO

Linking error between a local TXPDO and an RXPDO of a remote node (Contact our technical
service).

• SD171 CAN: Error connecting with RXPDO

Linking error between a local object and an object mapped in PDO (Contact our technical
service).

10 Series CNC WINPLUS Application Manual (03) 12-7


Chapter 12
CANopen® functions on Series 10 Systems

• SD172 CAN: Error linking with TXPDO

Linking error between a local RXPDO and a TXPDO of a remote node (Contact technical
service).

• SD173 CAN: Error connecting with TXPDO

Linking error between a local object and an object mapped in PDO (Contact technical service).

• SD174 CAN: Writing finished with timeout

Writing finished with timeout (Contact technical service).

• SD175 CAN: Reading finished with timeout

Reading finished with timeout (Contact technical service).

• SD176 CAN: SDO protocol timeout

SDO service requested on remote node failed. Possible causes: cable not connected, wrong
address, wrong Baud Rate; node not powered.

• SD177 CAN: SDO abort transfer

SDO transfer on remote node aborted (Contact technical service).

• I/O : Message from: Node ID # - Module # - FW vers. #

SD178 CAN: Mismatch number of I/O (setup/net)

The total number of I/O’s is not the same as can be inferred from the configuration file.

Node ID # ID of the first node where the error occurred

Module # Not significant

FW vers. # Firmware version

• I/O : Message from: Node ID # - Module # - FW vers. #

SD179 CAN: Unknown module

A module which is not compatible with the coupler has been connected.

Node ID # ID of the node where the error occurred

Module # Not significant

FW vers. # Firmware version

12-8 10 Series CNC WINPLUS Application Manual (03)


Chapter 12
CANopen® functions on Series 10 Systems

• I/O : Message from: Node ID # - Module # - FW vers. #


SD180 CAN: Not all modules have been found on net

The modules configured are not present in the network or not connected to the coupler.

Node ID # ID of the node where the error occurred

Module # Number of the module where a discrepancy with the


number of Inputs/Outputs configured has occurred

FW vers. # Firmware version

• I/O : Message from: Node ID # - Module # - FW vers. #

SD181 CAN: More modules have been found on net

Some of the modules present in the network have not been configured.

Node ID # ID of the node where the error occurred

Module # Number of the module where a discrepancy with the


number of Inputs/Outputs configured has occurred

FW vers. # Firmware version

• SD182 CAN: Wrong Baud Rate

Baud Rate value configured is wrong.

• SD183 CAN: Reset Communication Error

Communication reset failed (Contact technical service).

• SD184 CAN: Reset Node Error

Node reset failed (Contact technical service).

• I/O : Message from: Node ID # - Module # - FW vers. #

SD185 CAN: 24V failure on at least one I/O module

This is a WARNING message: at least one slot is not powered and does not work correctly.
CNC start-up can be resumed by pressing Enter.

Node ID # ID of the node where the error occurred

Module # Not significant

10 Series CNC WINPLUS Application Manual (03) 12-9


Chapter 12
CANopen® functions on Series 10 Systems

FW vers. # Firmware version

• SD186 CAN: Master not responding

The CW-BISA master board might be defective or not installed correctly.

• I/O : Message from: Node ID # - Module # - FW vers. #

SD187 CAN: Wrong Firmware on RIO EC

The firmware of module RIO EC is not compatible with the software of the CNC.
(Contact our technical service).

Node ID # ID of the node where the error occurred

Module # Not significant

FW vers. # Firmware version

END OF CHAPTER

12-10 10 Series CNC WINPLUS Application Manual (03)


Chapter 13
OSWIRE FUNCTIONS ON SERIES 10 SYSTEMS

OSWire is a proprietary field bus for the exchange of data between a control host (PLC, numerical
controls, personal computers) and input/output devices (sensors, actuators, valves, drives,
operator console).

Hardware requirements:

• Series 10 numerical control, appropriately set up.


• OSWire master BOARD, to be introduced into ISA bus of Series 10 CNC.

• At the user’s discretion:

1. RIO EC FW couplers which can be connected to modular devices RIO 8I/O, RIO 8I8I/O,
RIO 16I, RIO 16O, RIO 4AI/4AO ±10V, RIO 4AI ±10V, RIO 4AI/4AO 20mA and RIO 4AI
20mA;

2. OS8720 compact type I/O module.

3. OS8735 mini-compact type I/O module.

4. WinMedia Operator Console.

• RIO EC FW couplers can be connected to up to 8 RIO modules. This limit no longer applies if 7
analog type RIO modules are connected: in this case, the limit is 7 RIO modules.

Software requirements:
• Software for Series 10 numerical control.
• Function available with Software E69 V7.3 or later releases.
• Software for PC Windows I/O Configurator available with WinNBI C07 V2.3 or later releases.
Series 10 system integrates a OSWire controller that communicates with logic by means of I/O
variables. It manages up to 8192 digital outputs and 8192 digital inputs.

10 Series CNC WINPLUS Application Manual (02) 13-1


Chapter 13
OSWire functions on Series 10 Systems

OSWIRE BUS CONFIGURATION

On Series 10 system, OSWire functions are activated by creating a (text type) configuration file by
means of the I/O Configurator application supplied with WinNBI v2.3 or later versions. Once
created, this file shall reside in the same directory as the logic and shall have the same name as
the logic plus extension .BUS.

For the use of the I/O Configurator application, see the relative on-line Help.

Figure 13-1 Main screen of I/O Configurator application

Two buffers are provided (1024 bytes each) for the configuration of I/O devices.

After configuring the I/O devices by means of the $IBS_INP Function Block it becomes possible to
transfer the physical inputs to the MW variables; the $IBS_OUT Function Block instead lets you
transfer the MW variables to the physical outputs. The two Function Blocks always work starting
from byte 170 over a length of 128 words. Keep in mind that when the I/O RING is present, the first
170 bytes are reserved to it. The I/O’s can be managed by the logic through the I/O variables.

I/O could be managed from logic by means of I/O variables.

13-2 10 Series CNC WINPLUS Application Manual (03)


Chapter 13
OSWire functions on Series 10 Systems

INPUT buffer:

RING input: 170 bytes OSWire input: 854 bytes available

170th byte 1023th byte

OUTPUT buffer:

Output RING 170 bytes OSWire output: 854 bytes available

170th byte 1023th byte

The two Input/Output buffers are updated by the system every 10ms.

10 Series CNC WINPLUS Application Manual (03) 13-3


Chapter 13
OSWire functions on Series 10 Systems

CONFIGURATION EXAMPLE
If a OSWire network is configured with two nodes, of which the first is a RIO EC FW coupler with
ID=3 with two modular units connected to it (RIO 8I/O and RIO 4AI/4AO ±10V) and the other is a
compact type module with ID=1, the window on the left of the I/O Configurator application will
display a structure of the type shown in figure 2:

Network_1

Figure 13-2 Example of configuration in the I/O Configurator

The connections between the nodes and the master board could be arranged as follows:

OS8531 RIO EC RIO 8I/O RIO


Master FW 4AI/4AO
Board ±10V
ID = 3

OSWire bus cable COMPACT_IO


OS8720

ID = 1

Terminator plug

13-4 10 Series CNC WINPLUS Application Manual (03)


Chapter 13
OSWire functions on Series 10 Systems

DESCRIPTION OF ERROR CODES RETURNED DURING OPERATION OF


OSWIRE BUS

Error codes are stored in the input buffer starting from the byte specified in the "Diagnostics
Offset" field of the I/O Configurator configuration over a length of 8 bytes. A description of the
various words is given below:

WORD VALUE MEANING


1st Word 1 WatchDog error
2 WatchDog error. The internal transmission (Coupler Å Æ
slot) has been broken off (e.g. Slot contact open).
6 Communication error (Data read/write failed)
2nd Word bit 0:9 = 1 (1 bit per No short circuit in I/O channels of Compact, mini
channel) Compact and Console Op modules (4 I/Os per module).
bit 0:9 = 0 (1 bit per Short circuit on channels of Compact, mini Compact and
channel) Op. Console modules.
bit 10 = 0 No WatchDog on module.
bit 10 = 1 Module in WatchDog
3rd Word ID node Node where emergency occurs.
4th Word see table 2 A value other than zero denotes an error status
LSByte according to the descriptions provided in table 2 (Only for
modules connected to RIO EC FW).
4th Word see table 3 A value other than zero denotes an error status
MSByte according to the descriptions provided in table 3 (Only for
modules connected to RIO EC FW).

Table 13-1 Error codes of Compact I/O, RIO EC FW, mini-Compact and Operator Console

BIT VALUE DESCRIPTION


0 0 No overload/short-circuit on output channel.
1 Overload/short-circuit on output channel (N.B.: Bit has meaning only
if 24V power present)
1 0 No parity error
1 Parity error on internal transmission
2 Reserved
3 0 Internal transmission OK
1 Internal transmission error (stop bit missing)
4 0 Power OK
1 Power failure in some modules
5 Reserved
6 Reserved
7 Reserved

Table 13-2 Description of error status of individual modules connected to RIO EC FW

10 Series CNC WINPLUS Application Manual (03) 13-5


Chapter 13
OSWire functions on Series 10 Systems

BIT VALUE DESCRIPTION


0 0 No error
1 Error in module 1
1 0 No error
1 Error in module 2
2 0 No error
1 Error in module 3
3 0 No error
1 Error in module 4
4 0 No error
1 Error in module 5
5 0 No error
1 Error in module 6
6 0 No error
1 Error in module 7
7 0 No error
1 Error in module 8

Table 13-3 Description of bits in the event of error status on RIO EC FW

Failure to manage the words containing an error code, in the Plus and
WARNING
Winplus logic alike, might give rise to hazardous conditions for the system.
Accordingly, the status of such words should be monitored on a continuous
basis.

13-6 10 Series CNC WINPLUS Application Manual (03)


Chapter 13
OSWire functions on Series 10 Systems

Errors returned during CNC power up


AT CNC power up, when the configuration of the I/O’s distributed on the OSWire BUS has been
downloaded, a start-up routine stop might occur with one of the following error messages:

• SD150 I/O Setup File Error

Sections or parameters required for I/O configuration missing in file.

• SD190 FWIRE: Master not ready

OSWire master board could be defective or not properly installed.

• I/O : Message from: Node ID # - Module # - FW vers. #


SD191 FWIRE: Slave is not recognized as I/O device

Slave could be defective, or node ID set at configuration stage corresponds to a slave other
than an I/O module.

Node ID # ID of node on which error has occurred


Module # Not significant
FW vers. # Firmware version (meaningful only for RIO EC FW)

• I/O : Message from: Node ID # - Module # - FW vers. #


SD192 FWIRE: Mismatch number of I/O

The I/O number of a node does not correspond to the configuration data.

Node ID # ID of node on which error has occurred


Module # Number of module where discrepancy with configured
I/O number has occurred
FW vers. # Firmware version (meaningful only for RIO EC FW)

• I/O : Message from: Node ID # - Module # - FW vers. #


SD193 FWIRE: Mismatch number of modules (setup/net)

Number of modules connected to a node does not correspond to configuration data.

Node ID # ID of node on which error has occurred


Module # Number of modules recognised on node in question
FW vers. # Firmware version (meaningful only for RIO EC FW)

10 Series CNC WINPLUS Application Manual (03) 13-7


Chapter 13
OSWire functions on Series 10 Systems

• I/O : Message from: Node ID # - Module # - FW vers. #


SD194 FWIRE: 24V failure on at least one I/O module

This is a WARNING message. At least one module is not powered and hence is not working
properly. CNC can be restarted by pressing the Enter key.

Node ID # ID of node on which error has occurred


Module # Number of module not powered
FW vers. # Firmware version (meaningful only for RIO EC FW)

END OF CHAPTER

13-8 10 Series CNC WINPLUS Application Manual (03)


Chapter 14
SLAVE PROFIBUS® FUNCTIONALITIES ON 10 SERIES SYSTEMS

PROFIBUS is a standard field bus used for the exchange of data between control host (PLC,
numerical controls, PCs) and input/output devices (sensors, actuators, valves and drives).

Hardware Prerequisites:

• 10/510 Series Numerical Control


• Slave PROFIBUS board (PROFI104S or PROFIBOARD ISA). It is an intelligent board proper for
integrating embedded systems in Profibus networks. This board allows the 10 SERIES system
to be connected to a Master (PLC) for the exchange of Input/Output data.

Software Prerequisites:

• 10 Series CNC software


The 10 Series system integrates a PROFIBUS controller which dialogues with the PLUS logic
through dedicated function blocks. It can handle up to 2048 digital inputs and 2048 digital outputs.

10 Series CNC WINPLUS Application Manual (03) 14-1


Chapter 14
Profibus® slave functionalities on 10 Series system

SLAVE PROFIBUS CONFIGURATION


To activate the PROFIBUS functionalities on the 10 Series system it is necessary to create the
configuration file (test type) that will have to be in the directory of the machine logic E:|\LOG\WIN
and have the name WINPLUS.BUS.

The contents of the file should be as follows:

[NET_DESCRIPTOR]

TYPE = PROSL

ID =0

OFFSET_DIAGN = XXX Insert offset, in bytes, form the input buffer where the driver will
write the error codes. You must remember that if the I/O RING is present the first 170 bytes are
reserved to it, and even if not present function blocks $IBS_INP and $IBS_OUT always operate
from byte 170.

[PROSL_0_NODE]

ID = XXX Insert the ID, between 1 and 255, of a slave nodes.

NUM_INP = 1440 the number of inputs (bit) cannot be changed.

NUM_OUT = 1440 the number of outputs (bit) cannot be changed.

INP_OFFS = XXX Insert the offset in bytes for the writing of the Inputs.

OUT_OFFS = XXX Insert the offset in bytes for the writing of the Outputs

The fields NET_DESCRIPTOR , TYPE , ID,PROSL_=_NODE


ATTENZIONE ,NUM_INP,NUM_OUT are fixed.

Example :

[NET_DESCRIPTOR]

TYPE = PROSL

ID =0

OFFSET_DIAGN = 350 First byte available, because the first 170 are reserved for the I/O RING ,
and the following 180 bytes are for the inputs.

[PROSL_0_NODE]

ID = 2 Must correspond to the physical ID of the slave node

14-2 10 Series CNC WINPLUS Application Manual (03)


Chapter 14
Profibus® slave functionalities on 10 Series system

NUM_INP = 1440

NUM_OUT = 1440

INP_OFFS = 170

OUT_OFFS = 170

The Function Block $IBS_INP allows to transfer the physical inputs to the variables MW, whilst
$IBS_OUT allows to transfer MW variables to the physical outputs. The two function blocks always
operate starting from byte 170 for a length of 128 words.

INPUT Buffer:

Input RING 170 bytes Input ProfiBUs 180 Bytes (1440 Diagnostic 7 bytes
bit)

170° bytes 350° bytes

OUTPUT Buffer :

Output RING 170 bytes Output ProfiBUs 180 Bytes


(1440 bit)

170° bytes

10 Series CNC WINPLUS Application Manual (03) 14-3


Chapter 14
Profibus® slave functionalities on 10 Series system

DESCRIPTION OF ERROR CODES RETURNED DURING THE FUNCTIONING


OF THE SLAVE PROFIBUS.
The error codes are stored in the input buffer starting from the byte indicated in the field
OFFSET_DIAGN and for a length of 7 bytes. Following you will find the description of the different
bytes.

Byte 0: generic error code generated during the startup of the system or during the functioning of
the system

Byte 1: Identifies the status of the writing of the data on the slave;

Byte 2: Identifies the status of the output of the CN (slave) towards the master;

Byte 3: Identifies the status of the data reading on the slave;

Byte 4: Status of the data towards the CN;

Byte 5: Status of slave profibus;

Byte 6: Code of the master the Slave is connected to.

BYTE CODE DESCRIPTION

0 100 The number of inputs or outputs is higher of the maximum allowed value (180
bytes)

102 The ID parameter of the node is not included in a valid range (1-255)

103 The controller does not answer (timeout)

104 Type of controller or wrong software version

105 Wrong initialisation parameters

106 Controller not present

107 Initialisation phase failed

108 The are no available resources to transmit the services

109 There is not enough DPRAM memory to process the request or the answer

110 Service not supported

1 103 The board does not answer

110 The service requested to the board is not supported

2 0x01 The CN (slave) has enabled the freezing status of the requested Output
requested by the master

14-4 10 Series CNC WINPLUS Application Manual (03)


Chapter 14
Profibus® slave functionalities on 10 Series system

BYTE CODE DESCRIPTION

0x02 The CN (slave) has received “global command” from the master

3 110 Service requested to the board not supported

4 0x01 The freezing function of the inputs has been enabled by the master

0x02 The master has sent the command “sync command”

0x04 The inputs are in “Failsafe” status sent from the master to the slave

0x08 The transfer has taken place correctly

0x10 Some valid data received from the master are present

0x20 The CN has received the command “global command”

5 0xFF The slave is in idle status

0x00 The slave waits for the parameters of the master

0x01 The slave waits for the configuration control command by the master

0x02 Data exchange between slave and master in progress

0x03 Controller error on slave

6 0xFF No master connected

0x01- Code of the master the Slave is connected to


0xFE

10 Series CNC WINPLUS Application Manual (03) 14-5


Chapter 14
Profibus® slave functionalities on 10 Series system

ERRORS RETURNED DURING CNC START-UP


When the CNC is started, a stop with one of the following error messages may occur:

• SD203 PROFIBUS: Controller not responding

The Controller is not responding (timeout).

• SD204 PROFIBUS: Controller or Software not valid

Type of Controller or software version not valid.

• SD205 PROFIBUS: Invalid Init Parameter

Initialisation parameters invalid.

• SD206 PROFIBUS: Controller not present

Controller not present. The board may be absent, or not properly mounted.

• SD207 PROFIBUS: Init failed

Initialisation stage failed.

• SD208 PROFIBUS: Resource Unavailable

No resources available to transmit the service.

• SD209 PROFIBUS: Invalid Dual Port size

Not enough DPRAM memory available to process the request or the reply.

• SD210 PROFIBUS: Service not supported

Service not supported.

FINE CAPITOLO

14-6 10 Series CNC WINPLUS Application Manual (03)


Appendix A
GLOSSARY

GLOSSARY
Active reset Software function to cancel the remainder of a part program block.
The control must be in HOLDA status. Works only in AUTO and
BLK-BLK modes.

AMP Utility to configure machine parameters like axes names, axes


servo parameters, the number of processes and parts of the logic
and the human interface. AMP = Adjustable Machine Parameters

AUTO Automatic mode of operation. After a cycle start, the first and all
subsequent part program blocks will be executed automatically.

Axes table A table in the dual port memory of the I/O processor module which
has one record for every axis. Every record (page) contains a
number of fields. Some fields are defined for storage of active
offsets (tool and origin) other fields store up to 10 selectable
origins per axis.

Axis identifier A unique number which identifies an axis, its hardware and its
software management on the servo module. The axis identifier can
be used as an index to the axis table.

Background Lowest priority routines to be executed on the I/O processor


module. Background routines are virtually executed in parallel.
This is like having more parallel PLCs.

Boolean variable/constant The smallest unit of information that exists. It can have a 1 value
(true) or a zero value (false). Inputs and outputs are of the type
Boolean (bit).

Double variable/constant A variable or constant with a double accuracy floating point format.
The length of a double operand is 64 bit. The format is generally
used in the WinPLUS logic for non-integer values. In the system
the double format is used for all axes positions and offsets.

Dual port memory Memory on board the I/O processor module which is shared by the
I/O processor CPU and the system CPU. Both CPUs can read or
write this memory.

10 Series CNC WinPLUS Application Manual (00) A-1


Appendix A
Glossary

Expedite M code M code which can be issued to the logic during continuous motion.
There is no synchronization between motion and transfer of the
expedite M code to the logic.

Fast inputs The I/O processor module supports 4 fast inputs. They are called
fast because they generate an interrupt which will immediately stop
the on-going logic program execution and start a so-called interrupt
routine.

FEEDHOLD Feedhold is a system function call available to the WinPLUS logic.


This function call sets the feed rate to a zero value and stops all
motion (coordinated axes). The feedhold condition can be
cancelled with the FEED_GO function call that restores the old
feedrate.

Foreground High priority logic routine which will be started at a regular time
base of 10 ms (depends of system and configuration). It must be
fast in execution. If the next timed interrupt arrives and the
foreground is still executing, a "time slice overrun error" will occur
which causes an unrecoverable emergency.

HOLD The HOLD is a process status in which the interpolator has


stopped. There is no motion. The data of the actual block are
saved, so the execution can be continued.

I/O processor clock The I/O processor clock is a signal which is true every 10 ms. The
scanning of the inputs and outputs of the I/O ring and the
execution of the foreground logic routine are triggered by this
signal.

I/O processor module On early controls systems it was a dedicated board within the 10
Series CNC. It has its own processor, interfaces the I/O ring, 2
analog inputs, 4 interrupt (fast) inputs, 4 fast outputs and a serial
line. It communicates with the system via function calls and via its
dual port memory. Its function in the CNC is the execution of the
logic interface between machine tool and numerical control In all
current systems these functions are managed by the main CPU..

I/O RING A form of distributed I/O. The information is conducted through a


fiber optic cable in a serialized form. There can be many devices of
different types in series.

Interrupt routine A routine with high priority, which is started at the occurrence of a
signal. This signal can be derived from a fast input, from an
internal timer or from a communication from the system. All
pending lower priority activities will be suspended and the interrupt
routine will be completely executed.

A-2 10 Series CNC WinPLUS Application Manual (00)


Appendix A
Glossary

JOG return You can interrupt the execution of a motion block in a part program
(cycle stop / HOLD) and manually move the axes to inspect the
tool or the work piece. To synchronize the axes positions with the
ones stored for the pending block, all axes have to be moved back
to the point where they were before the manual motion. Jog return
is a mode of operation, which allows manual or automatic return of
the axes to this point.

MBR Multi Block Retrace. The control allows up to 64 blocks of a part


program to be executed in reverse order i.e. to retrace the path
already processed in normal order.

MDI Manual Data Input. A special mode, which allows a part program
block to be typed in and executed. Up to 10 blocks are temporarily
stored and are available in a window on the screen.

NO WAIT function call A system function call which does not expect a status word or
other information in return. The execution of such a function call
does not suspend the execution of a logic routine.

OEM softkey The machine tool builder can define new softkeys for his specific
application. The definitions are made in AMP. The new softkeys
can only be handled in the logic.

Pilot panel The Pilot panel is a device in the I/O Ring. It contains hardware
selector switches and push buttons for the most frequently used
CNC operations. It is handled by the system.

RESET A function that returns initial conditions of the CNC. It clears offsets
and the part program buffer. The power on G codes are restored.

Semaphore Name for a special flag which is used to synchronize parallel


running routines.

SEND An instruction which is normally used in a background routine to


release the suspension of another routine that is in a WAIT state.
Both send and wait must use the same semaphore. Normally used
to synchronize the background with a part program interface
routine.

Short variable/constant 16 bit integer variable with a range of -32768 .. 0 .. +32767.

System function call The logic can call the system (CNC) to request certain action or
information.

Table editor A build in utility to inspect and/or alter the contents of all tables.

Tool identifier An up to 12 digit number which identifies a physical tool.

Tool offset table Table which contains the tool geometry and tool wear offset data
for all tools.

10 Series CNC WinPLUS Application Manual (00) A-3


Appendix A
Glossary

Tool table Table containing all data belonging to the tools. There is one
record (page) for each individual tool. Each page contains data
like:
tool pocket
tool status
user data
related offset table page.

User table Table with 100 records fully available to the WinPLUS
programmer.

WAIT A command to suspend the execution of a WinPLUS routine. It


must be used together with a semaphore. The suspension will be
cancelled when another routine (normally background) issues a
SEND instruction using the same semaphore.

WAIT function call A suspensive function call to the system. The routine in which the
wait function call is used will be suspended until the data
requested from the system arrives or until the system returns a
status word giving information about the action executed.

WinPLUS The name of the programming language for the PLC (I/O
processor) in the 10 Series CNC system which allows programs to
be written in one of the following PLC programming languages:
Ladder diagram (LD)
Function block diagram (FBD)
Structured text (ST)
Sequential function chart (SFC)

END OF APPENDIX

A-4 10 Series CNC WinPLUS Application Manual (00)

You might also like