This Operating Manual has been written for qualified professionals. There
are special requirements for selecting and training personnel who work with
the automation system. Suitable personnel are, for example, electricians and
electrical engineers who have received appropriate training (see: Selection
and Qualification of Personnel).
Applicability of this Operating Manual
Hardware Version 01 or higher / Software version V14.04/1
Previous Versions of this Operating Manual
08/14 , 05/15 , 06/16
Where to Get Operating Manuals
You can download all our operating manuals free of charge from our website
at http://www.schleicher.berlin
or order them by writing to the following address (please quote the Order
No.):
SCHLEICHER Electronic
GmbH & Co. KG
Wilhelm-Kabus-Strasse 21-35
10829 Berlin
Germany
Copyright by
SCHLEICHER Electronic
GmbH & Co. KG
Wilhelm-Kabus-Strasse 21-35
10829 Berlin
Germany
3.2 Installation of XCI 600................................................................................................................. 11
3.3 Connections and interfaces ........................................................................................................ 11
3.3.1 Top view .................................................................................................................................................... 11
3.4 Description of Interfaces ............................................................................................................. 12
3.4.1 ETH RJ45 Ethernet ports ........................................................................................................................... 12
3.4.2 D-Sub 9 serial ................................................................................................................................ ............ 13
3.4.3 USB 2.0 ..................................................................................................................................................... 13
3.4.4 XCI 600 Control interface .......................................................................................................................... 13
3.4.5 DVI-I interface (digital and analog) ............................................................................................................ 14
4.2.1 System requirements ................................................................................................................................. 19
4.2.3 Installing the OPC Server .......................................................................................................................... 20
4.2.4 Installing Schleicher add-ons for MULTIPROG ......................................................................................... 21
6.2.1 Structure of the User Interface ................................................................................................................... 54
7.2 PLC Operating states and Start behaviour ................................................................................. 59
7.2.1 Operating states ........................................................................................................................................ 59
7.2.2 Change the Operating States with MULTIPROG ...................................................................................... 60
7.2.3 PLC starting behaviour after power supply is switched on ......................................................................... 61
7.3 System variables ........................................................................................................................ 61
7.4 Libraries and Function blocks in MULTIPROG .......................................................................... 62
7.4.1 Information on the Variable Declarations of the Example Programs of FBs .............................................. 64
8 PLC Operating System ProConOS ......................................................................................... 64
9.3.4 Operating system tasks ............................................................................................................................. 68
9.3.5 System tasks ............................................................................................................................................. 69
9.4 User task information .................................................................................................................. 71
15.2 List of figures .............................................................................................................................. 98
15.3 List of Tables ............................................................................................................................ 100
15.4 Index ......................................................................................................................................... 101
Indicates possible injury to persons or damage to the automation
system or the equipment if relevant warnings are not observed.
Specifies information on preventing a hazard.
Important! or Note
Emphasises important information on handling the automation system
or the respective part in the Operating Manual.
Object
Example
File names
MANUAL.doc
Menus / Menu items
Insert / Graphic / From file
Paths / Directories
C:\Windows\System
Hyperlinks
http://www.schleicher.berlin
Program listings
MaxTsdr_9.6 = 60
MaxTsdr_93.75 = 60
Keys
<Esc> <Enter> (press one after the other)
<Ctrl+Alt+Del> (press all keys at the same time)
Identifier for configuration data
Q23
Name of variables
mcMem.axSect[n].bContRel
Document conventions
This programming manual uses the following symbols to indicate safetyrelated and handling warnings:
Other objects are represented as follows:
Safety instructions
6
Operating Manual ProNumeric XCI 600 Version 07/16
1 Safety instructions
The term automation systems includes control units, their components
(modules), other parts (such as racks, cables), operator panels, and the
software used for programming, commissioning and operating the control
units. This Operating Manual can only describe a part of the automation
system (e.g. modules).
The technical design of SCHLEICHER automation systems is based on the
EN 61131-2 (IEC 61131-2) product standard for programmable logic
controllers. The systems and devices are generally subject to CE marking
according to EMC Directive 2004/108/EC and, where applicable, the Low
Voltage Directive 2006/95/EC.
The Machinery Directive 98/37/EC or 2006/42/EC is not applicable, because
the safety objectives of the directive are covered by the Low Voltage and
EMC Directives.
When SCHLEICHER automation systems are part of the electrical
equipment of a machine, the manufacturer must include them in the
conformity evaluation process. In this case the DIN EN 60204-1 norm must
be observed (safety of machines, general requirements for electrical
equipment of machines).
When an automation system is properly maintained and used for its intended
purpose, it will not normally cause damage to property or present health
hazards. However, improper configuration, installation, maintenance or
operation of the system or machine, ignoring the instructions in this manual,
or intervention by insufficiently qualified personnel may result in connected
actuators (such as motors, hydraulic units, etc.) becoming a source of
danger.
1.1 Intended Use
SCHLEICHER automation systems are state-of-the-art products and
manufactured to recognised safety requirements. All the same, their use can
cause danger to the health and safety of operators and others, or damage
machines, systems or other property.
The automation system must only be used in technically flawless condition
and in compliance with its intended purpose, with attention given to safety
and hazards, and adherence to the Operating Manual. Correct transport,
storage and installation, operation and maintenance of the system are all
prerequisites for smooth and safe operation of the control unit. Malfunctions,
in particular those which may affect safety, must be immediately resolved.
Automation systems are designed exclusively to control machines and
systems. Any other application beyond this is not in compliance with the
intended use. The manufacturer will therefore accept no liability for any
damages resulting from the incorrect use of the systems.
When using automation systems, all instructions given in this manual
regarding mechanical and electrical setup, commissioning and operation
must be adhered to.
Safety instructions
Operating Manual ProNumeric XCI 600 Version 07/16
7
Important!
All planning, programming, installation, commissioning, operation and
maintenance work in conjunction with the automation system must be
performed only by trained personnel (such as electricians or electrical
engineers).
Personnel responsible for configuring and programming the system
must be familiar with all safety-related issues in automation
technology.
System operators must be instructed on the operation of the control
system and be familiar with the relevant operating instructions.
All personnel responsible for installing, commissioning and
maintaining the system must have had appropriate training qualifying
them to work on automation systems.
1.2 Selection and Qualification of Personnel
1.3 Configuring, Programming, Installation, Commissioning and Operation
The automation system will in most cases be part of a larger system in which
machines are controlled. When configuring, installing and commissioning
automation systems to control machines, the machine manufacturer and the
user must observe the safety regulations as defined in the Machinery
Directive 2006/42/EC. For specific applications, national accident prevention
regulations such as in Germany BGV A3 shall apply.
All safety-related components of the controlled machine must be designed
such that they operate independently from the control system. Emergency
stop components must remain operative in all operating modes of the
controller. In an emergency stop, the power supply to all switching elements
controlled by the control system must be brought to a safe state.
Measures must be taken for restarting an interrupted control program
following voltage dips or power failures. Operating conditions should never
cause danger, not even for a short time. If necessary, an emergency stop
must be immediately triggered.
To ensure that an open-circuit on the signal side cannot cause undefined
conditions in the control system, corresponding safety precautions must be
taken for the I/O interfacing both on the hardware as well as the software
side. Control elements and their assigned control panel elements must be
installed in a place where they are sufficiently protected against inadvertent
use.
Safety instructions
8
Operating Manual ProNumeric XCI 600 Version 07/16
Warning!
When the cabinet is opened or the housing is removed from system
components, certain parts of the automation system carrying
dangerously high voltages become accessible.
Switch off the voltage before working on the devices. Avoid short
circuits when measuring live components.
1.4 Hazards due to Electrical Energy
The user must prevent any unauthorised and improper access to the system
(for example, by ensuring that the switch cabinet is locked).
Personnel must be thoroughly familiar with all sources of danger, and measures for commissioning and maintaining the system must be in line with the
instructions given in this Operating Manual.
1.5 Maintenance
When it becomes necessary to perform measurement or tests on active
devices, this work must be performed in accordance with the regulations and
instructions of national accident prevention regulations such as in Germany
BGV A3. Appropriate power tools must be used.
Repairs on control components must be carried out by authorised repair
shops only. Opening the components and repairs by unauthorised personnel
may lead to personal injury or damage to property.
Always disconnect the device from the mains before opening it (either
disconnect the mains plug or use the cut-out switch).
1.6 Dealing with Used Batteries
When the batteries in the automation system are dead they must be
disposed of through a common battery return system or through appropriate
public waste disposal facilities.
Batteries should be fully discharged before they are returned. A battery is
discharged when the function of the device that it powers is impaired due to
insufficient battery capacity.
When batteries for disposal are not fully discharged, precautions must be
taken to prevent short circuits. For example by sticking adhesive tape over
the poles of the battery.
Additional operating manuals
Operating Manual ProNumeric XCI 600 Version 07/16
9
Important!
The XCI 600 controller is part of the XCx controller family that is based
on a common software concept. For this reason, the following
operating manuals must be used in addition to this Operating Manual.
Table 1:
Additional operating
manuals
Description
Order No. or reference
For commissioning field buses
EMC Directives German
R4.322.1060.0
EMC Guidelines
R4.322.1070.0
Notes on commissioning field bus
systems
R4.322.1600.0
For programming the PLC and the CNC
MULTIPROG programming system
according to IEC 61131-3
MULTIPROG manual (German)
(Quickstart_MWT.pdf) in the
MULTIPROG installation path
CNC Programming for XCx and
ProNumeric
R4.322.2080.0
Shared memory allocation of the XCx
Online help for the XCx software
package
Getting Started MULTIPROG
R4.322.2460.0
Operating Manual XCI 600
R4.322.2520.0
2 Additional operating manuals
All operating manuals are available as PDF files on the XCI 600 service
CDROM and can be downloaded for free from our website
http://www.schleicher.berlin.
System Overview
10
Operating Manual ProNumeric XCI 600 Version 07/16
Type
Item number
Designation/Distinctive features
XCI 600P
R4.287.0360.0
IPC Controller (PLC only)
XCI 600E
R4.287.0370.0
IPC CNC Controller
Export version
max. 4 interpolating CNC axes in the subsystem, max 16
subsystems
XCI 600
R4.287.0380.0
IPC CNC Controller
Standard version with 4 CNC axes
max. 32 interpolating CNC axes in the subsystem, max 16
subsystems
3 System Overview
The XCI 600 is a CNC/PLC controller based on an industry standard PC.
The operating system used is a combination of VxWorks and Windows
Embedded 8. All peripheral devices are networked via EtherCAT®, including
all CoE and SoE devices. The maximum configuration attainable is 32 axes
and 16 subsystems.
3.1 Designation / Variants
In the export version, the number of interpolating CNC axes per NC set is
limited to a maximum of 4.
In the standard version, 4 CNC axes are always enabled and can be
selected as a subsystem.
The software option "Number of CNC axes" (CNC 02, "AXE 2" / Article
R4.287.0390.0) provides a means for expanding your system in sets of 2
CNC axes each, up to a maximum of 32 axes.
The "CNC subsystems" (CNC 03) option enables up to a maximum of 16
subsystems.
The options are respectively available as a single license and a general
license.
System Overview
Operating Manual ProNumeric XCI 600 Version 07/16
11
Figure 1:
XCI 600 View from the
top
Figure 2:
XCI 600 View from the
bottom
Vertical installation position.
Attachment to the mounting plate or optionally to a DIN rail.
Ventilation slots subject to change.
Installation in switch cabinet (a switch-cabinet fan is recommend).
Sensor-controlled fan
2x Ethernet 10/100/1000 MB
X107 LAN 1: Intel® 82579LM Gigabit network card (ID 0x8086 0x1502)
X110 LAN 2: Intel® 82574L Gigabit Ethernet controller (ID 0x8086
0x10D3)
X108, X109, X111, X112 4x USB 2.0
X113 DVI-I (DVI, VGA)
X201 Serial (RS 232)
X102 LAN 3: Intel® 82574L Gigabit Ethernet controller (ID 0x8086
0x10D3)
X103 LAN 4: Intel® 82574L Gigabit Ethernet controller (ID 0x8086
0x10D3) EtherCAT®
X104, X105, X106 3x USB 2.0
3.2 Installation of XCI 600
3.3 Connections and interfaces
3.3.1 Top view
Description:
3.3.2 Bottom view
Description:
System Overview
12
Operating Manual ProNumeric XCI 600 Version 07/16
Warning!
Please note that on the Slave modules it is important not to
interchange the IN and OUT ports for EtherCAT®. Please connect the
XCI 600 to the IN port.
LAN RJ45
Type
Vendor ID
Device ID
OS Remarks
(Default settings)
LAN 1
X107
Intel® 82597LM Gigabit
Ethernet controller
0x8086
0x1502
Windows
Connection to local area network
(DHCP)
LAN 2
X110
Intel® 82574L Gigabit
Ethernet controller
0x8086
0x10d3
Windows
Service (fixed IP) E.g. for
visualisation, programming,
diagnostics
LAN 3
X102
Intel® 82574L Gigabit
Ethernet controller
0x8086
0x10d3
VxWorks
Control units, "industrial Ethernet"
applications
such as Modbus/TCP, EtherCAT®
(redundancy)
LAN 4
X103
Intel® 82574L Gigabit
Ethernet controller
0x8086
0x10d3
VxWorks
EtherCAT®
ETH RJ45
Pin
Description
Explanation
1
TX+
Transmitted data plus
2
TX-
Transmitted data minus
3
RX+
Received data plus
4
Nc
Not connected
5
Nc
Not connected
6
RX-
Received data minus
7
Nc
Not connected
8
Nc
Not connected
3.4 Description of Interfaces
3.4.1 ETH RJ45 Ethernet ports
The XCI 600 provides a total of 4 Ethernet ports (4x RJ45).
The port used for EtherCAT® is X103, but it can also be configured
differently for specific applications.
System Overview
Operating Manual ProNumeric XCI 600 Version 07/16
13
D-Sub 9
Pin
Type
Explanation
1
DCD
(Data) Carrier Detect
2
RxD
Receive Data
3
TxD
Transmit Data
4
DTR
Data Terminal Ready
5
GND
Ground
6
DSR
Data Set Ready
7
RTS
Request to Send
8
CTS
Clear to Send
9
RI
Ring Indicator
USB 2.0
Pin
Description
Explanation
1
VCC
+5 V 2 D-
Data -
3
D+
Data +
4
GND
Ground
7 Pin Phoenix connector
Pin
Description
Explanation
1
GND/Shield
Ground
2
PWR state (10mA)
Output (optically isolated)
(Output with internal series resistor
2350 Ω, 10 mA for LED control)
3
Only ON
Input (optically isolated)
Signal starts the IPC
(but can not be used for turning off)
4
PWR ON/OFF
Input (optically isolated)
PC power button
(short press causes shutdown, pressing >= 5 s forces
switch-off)
5
PWR COM
Ground (optically isolated)
for all opto-isolated signals
6
24V-
Power supply – (Ground)
7
24V+
Power Supply +
3.4.2 D-Sub 9 serial
3.4.3 USB 2.0
3.4.4 XCI 600 Control interface
System Overview
14
Operating Manual ProNumeric XCI 600 Version 07/16
DVI-I
Pin
Type
Explanation
1
TDMS
Data 2-
2
TDMS
Data 2+
3
TDMS
Shield data 2.4
4
TDMS
Data 4-
5
TDMS
Data 4+
6
TDMS
DDC clock pulse
7
TDMS
DDC data
8
TDMS
V-Sync
9
Plug & Play
Data 1-
10
Plug & Play
Data 1+
11
Plug & Play
Shield data 1.3
12
Plug & Play
Data 3-
13
Plug & Play
Data 3+
14
Plug & Play
5 V
15
Plug & Play
Ground for 5 V
16
Plug & Play
Hotplug-detect
17
Analog
Data 0-
18
Analog
Data 0+
19
Analog
Shield data 0.5
20
Analog
Data 5-
21
Analog
Data 5+
22
Analog
Shield clock pulse
23
Analog
Clock pulse +
24
Analog
Clock pulse -
C1
Plug & Play
Red
C2
Plug & Play
Green
C3
Plug & Play
Blue
C4
Plug & Play
H-sync
C5
Plug & Play
Ground
3.4.5 DVI-I interface (digital and analog)
A DVI connector is used to connect a monitor (DVI-I integrated, i.e. digital
and analog):
Resolution, max: 2560x1600, 16.7 million colours (DVI 1920x1200 WUXGA)
3.4.6 PCIe slot
The XCI 600 provides a PCI Express slot (PCIe 1x adapter for low profile
slot).
Operation requires a riser card PCI Express x1 oriented left (included in
scope of supply).
The PCIe slot is empty on delivery.
System Overview
Operating Manual ProNumeric XCI 600 Version 07/16
15
Figure 3: Integrating the XCI 600 in an
industrial infrastructure
(01): Corporate network
(02): 2 x Gigabit Ethernet
(03): Top view XCI 600
(04): External monitor, mouse and keyboard
(05): Bottom view XCI 600
(06): 2 x real-time Ethernet
(07): Field-bus network, Add-on card
(08): Real-time Ethernet sensor / Actor
gateway
(09): Field-bus sensor / Actor gateway
(E.g. via optional CAN card)
(10): Sensor / Actor
(11): Sensor / Actor
Note
To minimize write accesses to the SSD, Windows Embedded is used
and the EWF (Enhanced Write Filter) is set by default.
3.5 Integrating the XCI 600 in an industrial infrastructure
3.6 Keyboard and mouse
3.7 SSD
3.8 Retentive memory
Keyboard and mouse can be connected to the USB interfaces.
Operation without a keyboard, mouse and monitor is generally possible.
An SSD is available to save the operating systems and applications.
128 KB NVRAM are available on the XCI 600. In order not to slow down the
processor unnecessarily, accesses to the NVRAM do not take place directly,
but are buffered via the random access memory (SDRAM).
A special background process takes over synchronization between RAM and
NVRAM.
System Overview
16
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 4: Type-1
hypervisor
VxWorks takes over the real-time part, i.e. execution of the PLC, CNC
and motion control functionalities.
Without need for real-time requirements under defined system conditions,
The operating system software resp. the CNC and PLC operating software
are installed on the SSD. The SSD is divided into 3 partitions (C, E, D).
Drive "C" contains the Windows operating system and the system software.
Drive "D" contains the Schleicher folder for the system files that are
necessary for real-time operation, plus Schleicher Tools (e.g. X-Manager,
Schleicher Dialog, Schleicher MFA).
Drive "E" has the setup files, which can be used to reinstall programs, if
necessary.
3.10 Operating systems
The XCI 600 controller incorporates a combination of VxWorks and Windows
Embedded as guest operating systems under the control of a parent (Type
1) real-time hypervisor application:
The RTS real-time hypervisor takes over the exclusive allocation of
processor cores and memory areas for operating multiple mutually
independent operating systems. With the help of the hypervisor a separation
of almost 100% is achieved, and decoupled operation of the operating
systems is ensured.
Windows operates in virtualized mode. On the other hand, the VxWorks
operating system, crucial for PLC/CNC control, works without additional
restrictions and to ensure "hard" real-time in privileged mode.
The boot sequence is configurable, and it is possible to configure an
independent re-boot for an operating system. The parallel-running operating
systems communicate via shared memory resp. a network with virtual
network cards.
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
17
Note
The screenshots shown for the software installation and startup
examples in the following chapters are only examples. Version
numbers of software or unit designations may differ from the current
version.
Figure 5: Wiring of 7-pin Phoenix
connector
(01): Power supply with 24V auxiliary
voltage
(02): 24 V power supply without
auxiliary voltage
4 Commissioning
Follow the commissioning instructions and ensure that the framework
conditions (e.g., the I/O configurations) are maintained.
4.1 Switching on the operating voltage
The XCI 600 starts automatically when the supply voltage is applied (see
section 14). The controller can then be switched on and off by briefly
pressing the PC power button. In principle, it is possible at any time to hard
switch off the XCI 600 by disconnecting the supply voltage or by holding the
PC power button. The Enhanced Write Filter must be set to allow this.
The Enhanced Write Filter is a component in the Windows Embedded 8 PC
operating system. It serves to protect one or more partitions. (see: section
13.1.2)
Commissioning
18
Operating Manual ProNumeric XCI 600 Version 07/16
Important!
The programming software consists of the MULTIPROG 5.x software
components, the OPC server, Schleicher add-ons for MULTIPROG and
the Schleicher Dialog.
EC-Engineer is not a part of the software package.
Before continuing with the commissioning process, all software
components must be installed one after the other in the order
described below.
The programming software can be installed both on an external PC as
well as on the PC of the control system. The following section
describes the installation process on an external PC.
Table 2:
Contents of the CDROM
Name
Contents
MULTIPROG
MULTIPROG programming software
OPC Server
Service Pack
Controller software for all Schleicher control units
Schleicher add-ons for MULTIPROG
Schleicher Dialog
Other tools such as documentation and service information
OPC Server
4.2 Installing MULTIPROG, Schleicher add-ons, OPC server, and ECEngineer
If ordered by the customer, the controller will be delivered with two CDROMs:
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
19
Table 3:
System requirements
Windows-PC
Pentium 4, 2 GHz
1
RAM
512 MB
1
Hard disk
330 MB free memory1
Monitor
1024 x 768 (True Color) 1
Communication
TCP/IP or RS232
Mouse
PC operating system
Microsoft Windows XPwith SP3 or
Microsoft Windows Vistawith SP2 or
Microsoft Windows 7(32 or 64 bit) or
Microsoft Windows 8
Microsoft .NET Framework 4 Client Profile
2
Microsoft Visual C++ 2005 3Redistributables and
Microsoft Visual C++ 2008 3Redistributables.
1
These are the minimum requirements. Better facilities are recommended for
comfortable working.
2
Microsoft .NET Framework 4 Client Profile is not included in the delivery.
3
Microsoft Visual C++ 2005 Redistributables and Microsoft Visual C++ 2008
Redistributables are included in the delivery.
4.2.1 System requirements
The following system requirements must be ensured to install and operate
the software on an external PC:
Commissioning
20
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 6:
Installation of
MULTIPROG
Note
The selected installation folder must not be below C:\Programme,
C:\Program Files or C:\Program Files (x86).
4.2.2 MULTIPROG Installation
Insert the MULTIPROG CD into the drive of the PC. The AutoRun.exe
function in the main CD folder starts an Internet browser. Choose
MULTIPROG 5.x and start the installation (see: Figure 6). It is recommended
to install MULTPROG under D:\Schleicher\MULTIPROG5.
4.2.3 Installing the OPC Server
To install the OPC server, select ProConOS OPC server in the Internet
browser and start the installation (see: Figure 6).
Install the OPC server under d:\Schleicher. A subdirectory named OPCxx is
generated automatically. After installation, restart the PC.
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
21
Figure 7:
Installing the
Schleicher add-ons for
MULTIPROG
4.2.4 Installing Schleicher add-ons for MULTIPROG
Insert the Service Pack CD into the drive. The AutoRun function on the CD
starts an Internet browser. Now select Schleicher Add-Ons for MULTIPROG
under the heading for the existing controller and start the installation
(see: Figure 7).
Follow the instructions. The add-ons are installed in the MULTIPROG folder.
4.2.5 Installing EC-Engineer
The EC-Engineer program is an EtherCAT configuration and diagnostic tool.
Run the separate setup program to install EC-Engineer on the target PC. A
USB dongle is required to operate the program.
(EC-Engineer with dongle: Article number: R4.320.0790.0)
WinPcap 4.1 must not be installed, if this question should be asked during
the installation.
Commissioning
22
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 8:
Installing
Schleicher Dialog
4.2.6 Install Schleicher Dialog
Insert the Service Pack CD into the drive. The AutoRun function on the CD
starts an Internet browser.
Now, in the Internet browser, select and start Version xx.xx under the
heading Schleicher Dialog (see: Figure 8).
Follow the instructions.
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
23
Important!
Before proceeding, consult the network administrator of the respective
in-house network to clarify the specific features of the network and the
actions to be taken.
All the identifiers and addresses stated or specified in the following
installation information are examples and must be adapted by you to
your local circumstances.
All examples of these instructions refer to Windows Embedded 8. The
procedure for other operating systems may differ from those described
here.
A digital monitor, directly to the DVI interface X113 (or an analog monitor
via a VGA-DVI adapter).
Keyboard and mouse, each to one of the USB interfaces X104, X105,
X106, X108, X109, X111 or X112.
As an alternative to direct input, it is also possible to run the VNC remote
control software (page 90) via an Ethernet connection. For this purpose,
connect an Ethernet cable to X107. Use the following described standard
IP address (10.208.3.212, vxHost) in the PC for the initial connection with
VNC.
4.3 Starting up the Network Interface
4.3.1 Preparation
To prepare commissioning of the network interface to the controller, connect
the following devices:
Commissioning
24
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 9:
Communicationschematic XCI 600
(01) Assignment of an in-house network address for connecting the
controller to an existing in-house network; the specified IP address is an
example, the alias name (vxHost) is specified by the manufacturer.
(02) Change the Windows address; the specified address (192.168.212.1)
should be retained if possible.
(03) Change the VxWorks address; the specified address (192.168.212.2)
should be retained if possible; the alias name (vxTarget) is specified by
the manufacturer.
(04) Set up a PC address for communication with the controller via the in-
house network (programming with MULTIPROG).
4.3.2 Communication-schematic
The XCI 600 contains the VxWorks real-time operating system and a
Windows component. Both communicate with each other via a common
memory (shared memory).
Commissioning the network interfaces is described in four steps in the
following chapter:
The X-Manager is used to simplify the adaptation of these complex settings
to the local network (see: section 13.1). Manually changing selected
parameters is described in the following sections.
4.3.3 Assigning a computer name for the XCI 600
To change the computer name of the XCI 600, use the Schleicher XManager (see: section 13.1).
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
25
Important!
First clarify the adaptation of the IP addresses with your network
administrator for your in-house network.
Figure 10: Run window
Important!
For the corresponding IP address, refer to the Schleicher X-Manager
(see: section 13.1) on the XCI 600.
You will require administrator rights to set up the route on the external
PC.
Figure 11:
Setting up the network
route for programming
with MULTIPROG
4.3.4 Customizing the XCx-TCP/IP settings
To make the TCP/IP settings for the network card, use the Schleicher XManager (see: section 13.1).
4.3.5 Communication for programming with MULTIPROG
To use MULTIPROG for programming on an external PC, set up a network
route on the respective PC.
To do so, press <Windows+R> simultaneously.
Type in <cmd> and confirm by pressing <OK>.
Entering an exemplary IP scheme:
route –p add 192.168.212.0 mask 255.255.255.0
10.208.3.212 (-p for permanent), confirm with
<Enter>.
Commissioning
26
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 12:
Calling the resource
settings in
MULTIPROG
Use the PING command to subsequently perform a test to see whether the
communication connection is working (the XCI 600 controller must be
connected and started):
ping 192.168.212.2 <Enter>
Display for correct connection:
Response from 192.168.212.2: Bytes=32 Time<1ms TTL=63
Response from 192.168.212.2: Bytes=32 Time<1ms TTL=63
Response from 192.168.212.2: Bytes=32 Time<1ms TTL=63
Response from 192.168.212.2: Bytes=32 Time=1ms TTL=63
Ping statistics for 192.168.212.2:
Packages: Sent = 4, Received = 4, Lost = 0
(0% Loss),
Approx. time in milliseconds:
Minimum = 0ms, Maximum = 1ms, Mean = 0ms
You can now start MULTIPROG on the external PC. Select <New Project>
<XCI600> (or open an already existing project. For a more detailed
description of the procedure, see section(5).
In the PLC project, right-click on the entry <Resource: XCI600> and select
<Settings> in the context menu
(see: Figure 12).
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 14:
Entering the IP
address
in the hosts file
Figure 15:
Entering the IP
address
in MULTIPROG
u = User name
pw = Password
The IP addresses can be specified in the Resource settings for XCI 600
dialog box (see: Figure 15).
After creating a new project, you will find the following specifications in the
resource settings:
The alias addresses vxTarget and vxHost can be maintained as they are,
and then you will need to assign the appropriate IP addresses in the hosts
file under Windows. You can find the hosts file under
C:\Windows\System32\Drivers\etc.
It is also possible to enter the IP addresses directly:
Figure 16:
Calling the connection
to the XCI 600
controller in
MULTIPROG
Figure 17:
Resource window
when there is NO
online connection
to the XCI 600
controller
After confirming with <OK>, the connection to the XCx 600 controller is
called via <Online> <Project control> and then button Info in the Resource
window (see: Figure 16).
When the 'Resource:Resource' window opens (see: Figure 18), this
indicates that a connection has been established. The window can be closed
again.
In the case of a faulty connection, the window does not open and Timeout
(see: Figure 17) is reported. In this case, check all the settings again
(see: section 4.3) or consult the network administrator for assistance.
Other settings may have to be considered for the subnetwork determination
for gateways.
Commissioning
Operating Manual ProNumeric XCI 600 Version 07/16
29
Figure 18:
Resource window
when there IS an
online connection
to the XCI 600
controller
First Steps with MULTIPROG
30
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 19:
Opening a new project
in
MULTIPROG
Figure 20:
Selecting controller
type for new project
5 First Steps with MULTIPROG
5.1 Start MULTIPROG, open and save a new project
Start MULTIPROG, select File / New project (see Figure 19).
Select a project for the available controller type (XCI 600 here) and click
<OK> to execute (see Figure 20).
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
31
Figure 21:
Example for
project tree in
MULTIPROG
Figure 22:
Calling memory dialog
Figure 23:
Dialog window
"Save project"
If the project is opened successfully, the project tree is displayed in the
project window (see Figure 21). The project tree already contains logical
POUs that are fully functional and sufficient for a simple quick startup.
Save the project under a new name under <File> <Save project as>
(see: Figure 22 and Figure 23).
First Steps with MULTIPROG
32
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 24:
Compile Project
Figure 25:
Transferring project to
the controller
(1) Click the <Project control dialog> button. Click the <Send> button in the
subsequent Resource control dialog.
(2) Under the Project heading, select Send again to overwrite the existing
project in the XCI.
(3) Use the <Cold> (cold start) button in the Resource control dialog to start
the program on the XCI.
5.2 Compiling a project and sending it to the XCI 600
To compile the project, select, <Code> <Make> (see: Figure 24)
(alternatively <F9> or the <Make> button).
The message window below displays the progress of the compiler. Error
messages, warnings and other information are displayed here. Click the
selection box for "Errors", "Warnings", etc., to display the message in more
detail.
In conjunction with the XCI 600 controller, the message after the first
compiler run is always a warning that says "No I/O configuration is
specified". Only after the I/Os have been configured with EtherCAT®, does
this warning disappear after the next compiler run.
If errors are displayed, you can branch directly to the line of the PLC
program that caused the error by double-clicking in the error line.
Next, send the project to the controller via the Ethernet connection
(see: Figure 25).
If no connection to the controller is established, check the settings
(see: section 4.3).
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
33
Figure 26:
Online display of
variables
Figure 27:
Information on
controlling and the
shared-memory
version (must scroll
to see)
The <Debug on/off> button can be used to display the contents of the
variables on the worksheet online (see: Figure 26).
5.3 Incorporating shared memory
The shared memory is a comprehensive data structure that is used for
communication between the PLC, CNC and visualisation systems.
Information such as the version number and error memory can also be
accessed via the shared memory.
An introduction on the subject of shared memory is given on page 76. A
detailed description of all variables of the shared memory is provided in the
online help of the "Schleicher Dialog" software, or can be accessed via the
Help menu of MULTIPROG.
To gain full access to the the predefined variables, incorporate the shared
memory structure into the project.
These are not yet included in the project templates of MULTIPROG. They
must be incorporated into the PLC project by the user himself, with the aid of
the shared-memory Schleicher add-ons for MULTIPROG.
Make sure that you work with the appropriate shared-memory variant. If you
are not aware of the correct variant of shared memory, please find this
information on the PC of the controller (see: Figure 27)
D:\schleicher\ram0\OS\LOG\Sysinfo.txt
Open the file Sysinfo.txt, there you will find the shared-memory version next
to Version_SM.
You can access the file from the service PC via UltraVNC or an FTP
connection.
First Steps with MULTIPROG
34
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 28:
Calling the
"PLC/MC/CNC
shared memory" dialog
window
Insert in configuration / Resource:
Selection of the resource of the PLC project where the shared memory
variables are to be inserted.
Version of shared memory:
Selection of the shared memory version.
Number of CNC sub-systems / CNC axes:
Entry of the number of sub-systems and CNC axes for CNC controllers
(both these edit boxes are deactivated for pure PLC controllers).
<OK> button:
Press OK to exit this dialog window and incorporate the shared memory
data types and variables in the PLC project.
<Cancel> button:
Click Cancel to exit the dialog window and the PLC project is not
changed.
Incorporating the shared memory data types and variables in a PLC project
is performed via the <Extras> <PLC/MC/CNC shared memory menu
see: Figure 28).
A dialog window opens with the following selection and entry options
(see: Figure 29):
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
Call up the "EC-Engineer" configurator.
Transfer the ENI file to the controller. This requires an FTP connection to
the controller; for the necessary settings, see section 4.3.5.
Incorporate I/O variables and I/O configuration entries for the participants
in the EtherCAT network in the PLC project.
5.4 Configuration of the EtherCAT network
To configure and diagnose the EtherCAT network, use the EtherCAT add-on
for MULTIPROG and the "EC-Engineer" configuration tool. The EtherCAT
add-on is a component of the "Schleicher add-ons for MULTIPROG"
(see: section 4.2.4 and 4.2.5).
The EtherCAT add-on is started from MULTIPROG as follows:
Select MULTIPROG menu <Extras> menu item <Schleicher add-ons …> EtherCAT configuration and <Start> (see: Figure 30).
The EtherCAT add-on for MULTIPROG performs the following tasks:
The EtherCAT® add-on offers different use cases.
Figure 31 shows the possible choices that are available and briefly describes
these below. For a description of the configuration procedure, see
section 5.4.1. Press <Continue> to move to the starting point of the
configuration process.
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
37
Here, you can create a new EtherCAT configuration within the PLC
project.
Any EtherCAT configuration already present there is deleted.
You can make changes to the EtherCAT configuration within the EC-
engineer.
Next, you can insert the I/O variables for EtherCAT into the PLC project
and transfer the ENI file to the controller.
After a device has been connected, removed or relocated within the EC
network (i.e. after the topology has been changed), this is where you can
modify the EtherCAT configuration already existing in the PLC project.
You can make changes to the EtherCAT configuration within the EC-
engineer.
Next, you can insert the I/O variables for EtherCAT into the PLC project
and transfer the ENI file to the controller.
Here you can modify the EtherCAT configuration already existing in the
PLC project after an alteration was made to the EtherCAT configuration,
but no topology change was made.
You can make changes to the EtherCAT configuration within the EC-
engineer.
Next, you can insert the I/O variables for EtherCAT into the PLC project
and transfer the ENI file to the controller.
Here you can transfer the EtherCAT configuration already existing in the
PLC project to the controller.
This is necessary in the event that the PLC project is to be taken over by
another controller, and the EtherCAT configuration that it incorporates is
to be taken over into this new controller without any modification.
Next, you can insert the I/O variables for EtherCAT into the PLC project
and transfer the ENI file to the controller.
Here you can alter the EtherCAT configuration already existing in the
PLC project without going online to the controller.
You can make changes to the EtherCAT configuration within the EC-
engineer.
Next, you can insert the I/O variables for EtherCAT® into the PLC project.
Here you can call the EC-Engineer in diagnostic mode.
(Use Case 1) Create new EtherCAT configuration
(Use Case 2) Alteration to the EtherCAT configuration when the
topology is changed
(Use Case 3) Alteration to the EtherCAT configuration when the
topology was not changed
(Use Case 4) Taking over an existing EtherCAT configuration
(Use Case 5) Offline alteration to the EtherCAT configuration
Now you can re-read the configuration under <Network> <Browse EtherCAT
Network> and the slave modules are displayed. see: Figure 37)
This requires that the EtherCAT® modules must be supplied with power and
that they are connected to the controller. The ESI must be present so that
the modules can be detected.
Figure 37:
Browsing EC-Engineer
EtherCAT network.
First Steps with MULTIPROG
40
Operating Manual ProNumeric XCI 600 Version 07/16
In most cases, the ESI file will be present; if the file is not present, proceed
as follows. You can add the file with the ESI administration (see: Figure 38).
The ESI data are provided by the manufacturer of the slave modules.
Figure 38:
EC-Engineer
ESI administration
The existing ESI files are displayed in the <File> menu and <ESIAdministration> (see: Figure 39). To add a new file, click on <Add file>.
Figure 39:
EC-Engineer
ESI file list
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
41
The location of the ESI file must be known. Select the appropriate file and
accept it with <Open>.
Figure 40:
EC-Engineer
ESI file manufacturer
list
Now you can re-read the configuration under <Network> <Browse EtherCAT
Network> and the slave modules are displayed. see: Figure 37)
Terminate the EC-Engineer and save the project. The system returns you to
the Schleicher add-on.
You can take over the configuration into MULTIPROG by pressing
<Continue> (see: Figure 43).
If you want to transfer the ENI file to the controller, it gets stored on the
controller in the following path:
/OS/EC/eni.xml
If a new configuration was created, you need to close the window with
<Finish>. Next you must compile the PLC project, transfer it to the controller
and then restart the controller.
The controller can be restarted with <Start XCI 600> in the Multi Function
Application (MFA) (see page: 50).
Note!
A detailed description of the EC-Engineer is available online in the ECEngineer under <Help><Display User Manual> .
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
43
Figure 45:
EtherCAT
configuration when the
topology is altered
In the event that the topology is altered, the ENI file must be deleted at this
point.
Figure 46:
EtherCAT
configuration, deleting
the ENI file
After completing the steps that you already learned from section 5.4.1, start
the EC-Engineer.
In order to avoid losing the alterations in the existing master, it is necessary
to temporarily introduce another master. To do so, successively click <File>
and <New Master Module> to insert the new master.
Figure 47:
Inserting a new master
module.
The new master had now been inserted into the configuration.
5.4.2 Alteration to the EtherCAT configuration when the topology is changed
This Use Case is described separately, otherwise changes in a configuration
as described in section 5.4.4 may be lost.
First Steps with MULTIPROG
44
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 48:
Inserting a second
master module.
The second master must be given the same IP address as the first. If you
have entered the address, select the master with <Select> out.
Figure 49:
Assigning an IP
address to the Master
Module.
Only after the above steps have been completed, should you browse
through the EtherCAT network again for the inserted slave modules.
Figure 50:
Browsing EtherCAT
network.
The new slave module was detected and inserted in the area of the second
master.
Figure 51:
Newly inserted slave
module in the
EtherCAT network
Mark the new slave module and copy it with the right mouse button.
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
45
Figure 52:
Copying a slave
module.
Mark the upper slave area and use the right mouse button to insert the slave
module.
Figure 53:
Inserting a slave
module
The new slave module is thus assigned to the first master, and the second
master can now be deleted. Terminate the EC-Engineer and save the
alteration. The remaining procedure is identical to section 5.4.1.
Figure 54:
Completing the
configuration alteration
First Steps with MULTIPROG
46
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 55:
EtherCAT variables in
MULTIPROG.
Important!
Renaming the EtherCAT variables must be done with the EC-Engineer,
not with MULTIPROG.
Figure 56:
EtherCAT
configuration without
alteration to topology
5.4.3 The EtherCAT variables in MULTIPROG
It is recommended to assign the EtherCAT variables in the I/O configuration
of MULTIPROG to the tECIO task (see Figure 43).
When <Insert EtherCAT configuration into the SPS project> is selected, the
variables are inserted into the project (see: Figure 43).
The ECIO_Variables group is reserved for the EtherCAT® add-on. All
variables already existing in this group are overwritten by the add-on. You
should thus not insert any of your own variables into this group and also
make no other changes.
5.4.4 Renaming EtherCAT variables
If you want to assign your own names for the EtherCAT variables, proceed
as follows. Start <EtherCAT configuration without alterations to topology>
First Steps with MULTIPROG
Operating Manual ProNumeric XCI 600 Version 07/16
47
Start the EC-Engineer.
Figure 57:
Starting the ECEngineer to alter the
names of variables.
Select the slave area or a slave module. Then click on the tab <Variables>.
Select the variable that you want to rename and click <Edit> .
Figure 58:
EC-Engineer editing
the variable names.
Now you can enter your own variable names. If the variable name is
preceded by <@>, the name will also change in MULTIPROG; without <@>,
the name is only changed in the comment.
Figure 59:
EtherCAT variable
name.
After making all alterations, save the project.
Figure 60:
Save the EtherCAT
variable names
First Steps with MULTIPROG
48
Operating Manual ProNumeric XCI 600 Version 07/16
From here, you can follow the procedure described in section 5.4.1. In
MULTIPRO you will find the variable names under <Global_Variables>. Here
you can see that the variable names were once taken over just in the
comment and once they were taken over completely.
Figure 61:
EtherCAT variables in
MULTIPROG.
Operation
Operating Manual ProNumeric XCI 600 Version 07/16
49
Figure 62:
Taskbar with
Schleicher logo
Figure 63:
The MFA window
(1)
Menu
For an explanation, see "MFA functions".
(2)
Message area
With information on memory, real-time operating system and
controller software.
(3)
Buttons
(4)
Status
Information on PLC status.
6 Operation
6.1 Multi Function Application (MFA)
The MFA tool provides a means for adjusting the behaviour of the controller
during start-up
and forms the basis for operating the controller.
6.1.1 Starting the Schleicher MFA
The Schleicher MFA starts automatically when the controller is booted up,
and it is then placed into the system tray of the taskbar (see: Figure 62). If
the MFA programming window is not visible, it can be viewed by doubleclicking the blue Schleicher logo.
6.1.2 The MFA window
Operation
50
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 64:
MFA,
"Control system" menu
Figure 65:
MFA,
"Startup mode" menu
6.1.3 MFA functions
"Control system" menu
Menu items Start ... / Stop ... are used to start and terminate the real-time
operating system.
The function of menu item <Shut down the control system> corresponds to
that of the button with the same name. The controller software including the
PC operating system is shutdown and the controller is switched off.
The MFA can only be terminated via menu item <Exit Schleicher MFA>.
"Startup mode" menu
In the <Startup mode> menu, you can set how the PLC behaves after
controller startup. A detailed description of the start behaviour is given in
section "The PLC" (see section 6.1.5 or 7.2).
Operation
Operating Manual ProNumeric XCI 600 Version 07/16
51
Figure 66:
MFA, "PLC" menu
Figure 67:
MFA, "Extras" menu
"PLC" menu
"Extras" menu
The <PLC> menu can be used to start and stop the PLC. The behaviour is
described in detail in section "The PLC" (see: section 7.2).
The condition of a UPS (uninterruptable power supply) that may be
connected via a USB port is displayed and tested in the <Extras> menu.
UPS devices made by Messrs. Eaton are currently supported.
Operation
52
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 68:
MFA, Menu "?"
Note
The log files are intended primarily to support diagnosis by the
controller manufacturer.
"?" Menu
The MFA documentation can be called via the ? menu. The help file contains
information on the program settings and command line parameters as well
as programming examples.
The Display BootLog menu item displays the Bootlog file of the real-time
operating system VxWorks.
6.1.4 Log files
There are two types of log files, BootLog_xx.txt and LogBook_xx.txt.
The BootLog_xx.txt file is used to record the controller's boot-up
process.
The Logbook_xx.txt file is used to record the error history.
These log files are updated at bootup time or every 24 hours.
The log files are generated with each restart of the controller. If the controller
is in continuous operation, the LogBook file is generated every 24 hours.
The storage intervals can be set between 0 and 256 hours. When set to
"Zero", no files are created.
The files are assigned a numerical index, which is incremented by one
whenever the data is saved. The maximum number is limited to 99 files. The
default setting is 10 files.
All specifications can be altered in the Schleicher Dialog under
Operation
Operating Manual ProNumeric XCI 600 Version 07/16
53
Figure 69:
Basic initialisation
MFA setting
Figure 70:
Examples of error
messages after basic
initialisation
NVRAM is reset.
The NVRAM backup files (SRamBackup1.txt, SRamBackup2.txt) are
deleted.
The SPS Boot project is not loaded.
The PLC does not start.
6.1.5 Basic initialisation
To maintain operation of the real-time operating system under conditions of
faulty PLC projects, Q parameters or invalid data in the retentive data
memory (e.g. when the buffer battery fails), the controller can use basic
initialisation to boot up in safe mode.
Basic initialisation can be selected in the <Startup mode> menu with setting
<PLC init>.
After the real-time operating system has started with <Start XCI 600>, this
setting is reset to <PLC stop".
The following actions are performed during basic initialisation:
After selecting PLC init, the controller must be restarted with <Start XCI
600>. No PLC project is loaded (PLC status: On).
MULTIPROG can then be used to transfer a project to the controller
(see: section 5.2).
The Schleicher Dialog displays an error message (see: ). Figure 70).
Confirm this error message with <Acknowledge>.
Next, use the MFA tool in the <Startup mode> area to switch to <PLC cold
start> and restart the controller under <Control system> <Start XCI 600>.
The PLC status changes from (PLC status: On) to (PLC status: Run). After
the entire process, the controller can be reset to <PLC warm start>
(see: section 6.1.3).
Operation
54
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 71:
Schleicher Dialog,
startup window
Table 4:
Schleicher Dialog,
structure of the user
interface
Area
Meaning
(1)
Status and messages
(2)
Workspace
for settings and information
(3)
Hints
(4)
Softkeys with functional information
6.2 Schleicher Dialog
Schleicher Dialog provides tools for commissioning, parametrizing and
diagnosing Schleicher controllers. Schleicher Dialog has been factoryinstalled on the controller and starts automatically after the controller has
booted up.
6.2.1 Structure of the User Interface
Operation
Operating Manual ProNumeric XCI 600 Version 07/16
55
Figure 72:
Schleicher Dialog,
status and messages
area
Table 5:
Schleicher Dialog,
status and messages
area
Area
Meaning
(1)
Current mode of operation of the CNC
(2)
Selected CNC sub-system
(3)
Current status of the CNC
(4)
Error display
(5)
Current position in controller menu
(6)
PLC status
(7)
Date and time
Figure 73:
Schleicher Dialog,
Control menu
Manual mode <Ctrl+F1>
Automatic <Ctrl+F2>
Programming <Ctrl+F3>
Access authorization <Ctrl+F4>
Start external software <Ctrl+F5>
Startup <Ctrl+F6>
Error page <Ctrl+?> or <Ctrl+I>
This button always takes you back one control
level.
6.2.2 Schleicher Dialog PLC/CNC
Control menu and control areas of the XCI 600
The highest level of the controller menu consists of the operating elements
that are oriented towards important activities for the machine (manual mode,
automatic, programming, etc.). They are called with the key combination
<Ctrl + Function key>.
Associated options are called using the subordinated softkey level (function
keys F1..F8).
Softkey F1 is always used for calling help pages. The help page contains
further information on the content of the subsequent operating levels.
Operation
56
Operating Manual ProNumeric XCI 600 Version 07/16
Manual mode <Ctrl+F1>
F1
F2
F3
F4
F5
F6
F7
F8
Help
Referen-
cing
Procedure
Subsystem
Axes
Jog Incremental
Target value
specification
Handwheel
Axis
Rapid feed
Zero set
Override
Automatic <Ctrl+F2>
F1
F2
F3
F4
F5
F6
F7
F8
Help
Program
Subsystem
Activate
MDI Single record
Block record
Record
sequence
Rapid feed
Override
Operation
Operating Manual ProNumeric XCI 600 Version 07/16
57
Programming <Ctrl+F3>
F1
F2
F3
F4
F5
F6
F7
F8
Help
CNC
programs
R
parameters
Tool data
Zero offsets
Coordinate
systems
Edit program
Change
value
Change
value
Change
value
Change
value
New program
Edit
Activate
program
New
Copy
program
Entry up
Delete
program
Entry down
Program
properties
Delete
New Project
Sort
Activate
project
Copy project
Delete
project
Project
properties
View Edit New Transfer
Update
Delete
Directory
Access authorisation <Ctrl+F4> (also applies for XCS)
F1
F2
F3
F4
F5
F6
F7
F8
Help
Operation
58
Operating Manual ProNumeric XCI 600 Version 07/16
Start external software <Ctrl+F5> (also applies for XCS)
F1
F2
F3
F4
F5
F6
F7
F8
Help
Start
application 1
Start
application 2
Start
application 3
Start
application 4
Start
application 5
Start
application 6
Start
application 7
Commissioning <Ctrl+F6> (Softkey level 1)
(also applies for XCS)
F1
F2
F3
F4
F5
F6
F7
F8
Help
CNC basic
settings
CNC system
Drive con-
figuration
Boot
settings
OPC
variables
Data backup
More >>
Edit
Edit
Edit
Edit
Change
value
Backup
Display
mode
Drive
parameters
Language
Edit
Delete
Axis map
DriveTop
CAN settings
New
Opening
Delete
Restore
Commissioning <Ctrl+F6> (Softkey level 2)
(also applies
for XCS)
(also applies for XCS)
F1
F2
F3
F4
F5
F6
F7
F8
Help
Program set-
tings
PLC/CNC
options
Logging
Software
Update
Connect
Info
<< Back
Properties
Enable
options
Add system
parameters
Set clock
Add resource
Delete
system
parameters
Delete
resource
Add drive
parameters
Resource up
Delete drive
parameters
Resource
down
The PLC
Operating Manual ProNumeric XCI 600 Version 07/16
59
Important!
The programming software consists of the MULTIPROG software and
the Schleicher add-ons for MULTIPROG.
Operating state
Description
ON
No program loaded
STOP
Program loaded
User tasks inactive
Process map memory inputs are not updated
Output signals are not sent to inputs and outputs
RUN
Program execution active
User tasks active
Process map memory inputs updated according to I/O configuration
Process map memory outputs updated according to I/O configuration and program
execution
HALT
Program execution stopped at a breakpoint
User tasks inactive
Process map memory inputs are not updated
Process map memory outputs are not updated
PLC runtime system: ProConOS
Programming: MULTIPROG acc. to IEC 61131-3
Communication with the CNC via shared memory
7 The PLC
7.1 Programming
The XCI 600 is programmed on a PC using the MULTIPROG programming
software according to IEC 61131-3.
The programming system and programming instructions can be ordered as
accessories.
The PLC is supplied with a ready-configured project, which you can use as
the basis for programming the PLC
(see: section 5).
7.2 PLC Operating states and Start behaviour
7.2.1 Operating states
Table 6: PLC Operating states
The current state of the PLC is displayed in the project control dialog in the
Statusline in MULTIPROG. If “debug” is displayed behind the current state
in the control dialog it means that breakpoints have been set or variables
forced.
The PLC
60
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 74:
MULTIPROG, changing
operating states
State change
from to
Button in control
dialog
Description of what happens
Stop Run
Cold start
All data is initialised
SPG 1 is called
All user tasks are activated
Program execution activated
Stop Run
Warm start
Only non-buffered data is initialised
SPG 0 is called
All user tasks are activated
Program execution activated
Stop Run
Hot start
No data is initialised
All user tasks are activated
Program execution activated
Not available when you start program execution for the
first time after downloading
State change
from to
Button in control
dialog
Description of what happens
Run Stop
All user tasks are deactivated when their operating cycle
is complete
SPG 2 is called
Process map memory outputs are written
Program execution stops
Physical outputs are set to zero or preferred shut-off
state
7.2.2 Change the Operating States with MULTIPROG
You can use the graphic user interface of MULTIPROG to control when
program execution on the PLC starts and stops. The buttons for changes
which are not possible in the current operating state are shaded in the
project control dialog (see: Figure 74).
Start program execution
Table 7: MULTIPROG, start program execution
Stop program execution
Table 8: MULTIPROG, stop program execution
The PLC
Operating Manual ProNumeric XCI 600 Version 07/16
61
State change
from to
Button in control
dialog
Description of what happens
Stop On
The project is deleted
General reset
Name
Data type
Description
PLCMODE_ON
BOOL
TRUE := current PLC state is ON
PLCMODE_RUN
BOOL
TRUE := current PLC state is RUN
PLCMODE_STOP
BOOL
TRUE := current PLC state is STOP
PLCMODE_HALT
BOOL
TRUE := current PLC state is HALT
PLCDEBUG_BPSET
BOOL
TRUE := one or more breakpoints have been set
PLCDEBUG_FORCE
BOOL
TRUE := one or more variables have been forced
PLCDEBUG_POWERFLOW
BOOL
TRUE := powerflow active
PLC_TICKS_PER_SEC
INT
Number of system ticks per second, used by the PLC as the
basis for the system time. This value determines the time
resolution of the PLC for time delay function blocks like TON,
TOF and TP, and the shortest cycle time for the DEFAULT task
and cyclical tasks.
PLC_SYS_TICK_CNT
DINT
Number of counted PLC system ticks
PLC_SYS_TICK_256ms
BOOL
Switching with 0.25s clock
PLC_SYS_TICK_512ms
BOOL
Switching with 0.5s clock
PLC_SYS_TICK_1024ms
BOOL
Switching with 1s clock
General reset
Table 9: MULTIPROG, general reset
7.2.3 PLC starting behaviour after power supply is switched on
The PLC startup-behaviour is set using the MFA Tool (see: Figure 65)
7.3 System variables
System variables provide information about the status of the system, for
example about forced variables, etc. These variables have fixed memory
addresses and can be used by the PLC program to obtain the corresponding
information.
All the system variables in the following table are already declared in the
Global_Variables area of the Global_Variables worksheet.
Table 10: System variables
The PLC
62
Operating Manual ProNumeric XCI 600 Version 07/16
Important!
The latest version of the libraries that match the controller operating
system must always be used.
Table 11: Libraries and
Function blocks in
MULTIPROG
Libraries
XCA 11xx
XCN 8xx
XCS 8xx
XCN 7xx
XCS 7xx
XCI 6xx
XCI 6xxP
XCN 4xx
XCS 4xx
Simulation
PROCONOS
+ + + + + + + + + + BIT_UTIL
+ + + + + + + + + + CANopen_Vxxx
+ + + + + – – + + – CFB_Vxxx
o o o o o o o o o – CNC_Vxxx
+ + – + – + – + – – CIFSYS
o o o o o – – o o – Date_Time
+ + + + + + + + + – EtherCAT®
* * * – – + + – – – MC_Vxxx
– – – o – – – – – – MMI o o o o o o o o o –
PLC_Vxxx
+ + + + + + + + + – Profibus_Vxxx
o o o o o – – o o – SchleicherLib_Vxxx
+ + + + + + + + + – Serial o o o o o o o o o –
XCx7_Vxxx
+ + + + + – – + +
–
+ Are automatically incorporated when a new project is created.
o Can be incorporated manually as needed.
– Not possible or unnecessary.
* In preparation.
7.4 Libraries and Function blocks in MULTIPROG
Function blocks are combined in libraries. They are automatically integrated
according to the controller type when a new MULTIPROG project is created
or can be manually integrated if required.
There are firmware libraries with the extension "fwl" and user libraries with
the extension "mwt".
The firmware libraries are supplied by Schleicher and are part of the
Schleicher add-ons. Users themselves can create user libraries, Schleicher
only provides SchleicherLib_Vxxx.
The PLC
Operating Manual ProNumeric XCI 600 Version 07/16
63
Figure 75:
MULTIPROG, context
menu "Libraries" or
"Firmware library"
Select the appropriate file and integrate it (see: Figure 76).
Each library is stored in a separate path. For example, if the Serial library is
to be integrated, it must be selected in the library path with the same name.
(see: Figure 77)
PLC Operating System ProConOS
64
Operating Manual ProNumeric XCI 600 Version 07/16
Note!
Online help is available for the libraries (except SchleicherLib)
(see: Figure 78). The online help can be accessed via the context menu
of the respective library. The context menu is active by right clicking
on the icon of the library.
Figure 78:
MULTIPROG, Online
help for the libraries
Note!
The entries in the ProConOS.ini can be adjusted within the Schleicher
Dialog.
7.4.1 Information on the Variable Declarations of the Example Programs of
8 PLC Operating System ProConOS
8.1 ProConOS.INI initialisation file
FBs
The example programs for the function blocks contain variable declarations
to IEC 61131-3 with keywords VAR and END_VAR. If you wish to use the
example programs with MULTIPROGRAM, you have to enter the variable
declarations manually, in tabular form on the variables worksheet of the
respective POU.
The ProConOS.INI file can be used to make application-specific advanced
settings (e.g. for communication drivers, for system tasks, for the web server
and the fieldbus stacks).
If ProConOS.INI does not exist or has been deleted, the file is created with
default values when the controller software starts up.
Path of the file on the drive: D: /Schleicher/OS/PLC/ProConOS.INI
The multi-task system
Operating Manual ProNumeric XCI 600 Version 07/16
65
Figure 79:
Multi-task system,
priority levels
Please note!
Incorrectly or inappropriately selected user task settings for type,
priority, interrupt mode – especially in conjunction with longer program
runtimes – can lead to controller malfunction, because essential
operating system tasks are displaced.
Make sure to observe the description in section Task priorities (Table
14).
9 The multi-task system
9.1 Overview
This is based on a real-time operating system controlled by task priorities.
The MULTIPROG programming system is used to assign a program to a
task. On the other hand, different priority levels and times are assigned to
the tasks to ensure that the order in which they are processed and the time
taken for processing is in accordance with their importance.
There are three priority levels for tasks. (see: Figure 79)
9.2 Monitoring task
The monitoring task is a high-priority, specially protected operating system
task that identifies errors such as zero divide, or exceeding the execution
time of a task.
9.3 User tasks
User tasks are all tasks that can be incorporated by the application programmer. The user tasks are time-monitored (Watchdog). A number of important
firmware tasks, which must be considered when parametrizing user tasks,
also run at this level (see: section 9.5).
The default task is also on the user task level. It is the user task with the
lowest priority. The default task is executed when no other user task is
active.
The multi-task system
66
Operating Manual ProNumeric XCI 600 Version 07/16
9.3.1 Cyclical tasks
Cyclical tasks execute the programs assigned to them within a defined
interval under a user-defined priority.
In MULTIPROG you can give the individual tasks a priority between 0 and
31. Task 0 has the highest priority, task 31 the lowest. The task with the
highest priority is called first. The user-task priorities (Table 14) are mapped
to the priority levels of the real-time operating system (see: section 9.5).
If the watchdog time of a cyclical task is higher than the set interval time and
task execution has not been completed, one or more execution cycles will be
omitted.
The multi-task system
Operating Manual ProNumeric XCI 600 Version 07/16
67
Internal designation
Event No.
Remarks
Interrupts
PLC_EVENT_XFIO_I0
0x00
XFIO Interrupt (Input 0, XCx 3/5)
PLC_EVENT_XUIO_0
0x00
U-Bus Interrupt 0 (XCx7, UBE32 0,1I input 0)
PLC_EVENT_XFIO_I1
0x01
XFIO Interrupt (Input 1, XCx 3/5)
PLC_EVENT_XUIO_1
0x01
U-Bus Interrupt 1 (XCx7, UBE32 0,1I input 1)
PLC_EVENT_XUIO_2
0x02
U-Bus Interrupt 2 (XCx7, UBE32 0,1I input 2)
PLC_EVENT_XUIO_3
0x03
U-Bus Interrupt 3 (XCx7, UBE32 0,1I input 3)
Synchronisation
PLC_EVENT_POS
0x04
Position controller task (XCN only)
PLC_EVENT_CAN
0x05
- CANopen- Task,
PLC_EVENT_IPO
0x06
CNC IPO task (XCN only)
PLC_EVENT_DECO
0x07
CNC DECO task (XCN only)
PLC_EVENT_S3
PLC_EVENT_MCSIO
0x08
- Sercos III task, I/O driver synchronization
PLC_EVENT_ECIO
0x09
EtherCAT®, IO driver synchronization
PLC_EVENT_XFIO_I10
0x0A
Measurement interrupt active 0
PLC_EVENT_XFIO_I11
0x0B
Measurement interrupt active 1
Reserved
0x0C
Reserved
0x0D
Reserved
0x0E
PLC_EVENT_AC_FAIL
0x0F
AC Fail (ProNumeric)
9.3.2 Event tasks
Event tasks are started by the operating system when particular events such
as an interrupt signal, a CANopen task or an IPO task occur. The following
events are currently defined.
Table 12: Multi-task system, event tasks
The event number is used in the MULTIPROG task setting to specify the
event that starts the event task.
The specified priority is used unless a bypass option is set by the system.
(Bypass cancels the normal task change so that the assigned programs are
executed immediately when the event occurs.)
Up to 16 events will be put in a queue. So these events are not lost, and will
be executed later. This also applies if new events occur before the assigned
event task is executed.
The multi-task system
68
Operating Manual ProNumeric XCI 600 Version 07/16
Note
All drivers in the I/O configuration that are not explicitly assigned to a
user task automatically activate the default task and are executed in
the context of the default task.
9.3.3 Default task
The default task runs as a background task with the lowest possible user
priority and is not time-monitored. It is activated when all higher-priority user
tasks have been processed. The default task is configured so that it only
uses some of the available residual time. Only one default task is permitted
in each resource. It is recommended only to use cyclical tasks.
9.3.4 Operating system tasks
Tasks running at the priority level of the operating system include tasks for
communication, debugging, memory management and system control,
unaffected by the user.
The multi-task system
Operating Manual ProNumeric XCI 600 Version 07/16
69
No.
Name
Event
Actions
SPG 0
WARM_START
Is executed during a warm start
Retentive data is not initialised
Non-buffered data is initialized
The open function of the I/O driver is
executed
User tasks are activated
PLC switches to run status
SPG 1
COLD_START
Is executed during a cold start
All data is initialised
The open function of the I/O driver is
executed
User tasks are activated
PLC switches to run status
SPG 2
TO_STOP
Is executed when program execution
is stopped
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 10
WATCHDOG
Is executed when a task has not been
completed within its watchdog time
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 11
ZERODIV
Is executed if division by zero occurs
during program execution
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 12
STACKOVER
Is executed if a stack overflow has
occurred. Is only executed if the
“Stack-Prüfung” [“Stack check”]
checkbox in the “Ressource ...
einrichten” [Resource ... Set up] dialog
in MULTIPROG was activated.
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 13
BADCAL
Is executed if a non-existent
manufacturer-specific POU is called
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 14
IOERROR
Is executed if an error occurs in the
I/O driver while the process is running
PLC continues execution
SPG 16
MATHERR
Is executed if a sliding point error
occurs in an arithmetic function
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
9.3.5 System tasks
System tasks and system programs (SPGs) are started automatically by the
operating system when an event occurs in connection with the operating
system. The SPGs which can be used are listed in the following table:
The multi-task system
70
Operating Manual ProNumeric XCI 600 Version 07/16
No.
Name
Event
Actions
SPG 17
CPU_OVERLOAD
Is executed if a CPU overload occurs
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 18
INITIODRV_ERR
Is executed if an error occurs in I/O
driver initialization during a cold or
warm start
PLC does not start
SPG 19
BOUNDS_ERR
Is executed if the limits of an array or a
structure are exceeded. Is only
executed if the “Index-Prüfung” [“Index
check”] or “Feldbegrenzungs-Prüfung”
[“Array limit check”] checkbox in the
“Resource ... einrichten” [Resource ...
Set up] dialog in MULTIPROG was
activated.
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 20
BUS_ERR
Is executed if variables with a data
type 2 bytes and uneven addresses
were used or an internal error has
occurred in MULTIPROG. Only on
Motorola platforms.
User tasks are deactivated
All outputs are updated
The close function of the I/O driver is
executed
PLC switches to STOP
SPG 21
STRING_ERR
Is executed if an error has occurred in
a character string operation, e.g. if one
character string is to be replaced by
another, but cannot be found.
The behaviour of a character string
exception has changed! In the standard
setting SPG 21 is called after a character
string exception has occurred. An entry
with the module number and line number is
also made in the error catalogue. The PLC
remains in “RUN” status.
Note
System tasks are not monitored by the watchdog.
Table 13: Multi-task system, system tasks
The multi-task system
Operating Manual ProNumeric XCI 600 Version 07/16
71
Type definition
Remark
TYPE
TaskNameType : ARRAY [1..10] OF BYTE;
END_TYPE
TYPE
TaskInfoType0 : STRUCT
MaxTask : INT; (* 00: *)
Max. poss. number of tasks
CurTask : INT; (* 02: *)
Current number of tasks
END_STRUCT (* TaskInfoType0 *);
END_TYPE
TYPE
TaskInfoType1 : STRUCT
TaskName : TaskNameType; (* 04: *)
Task name
TaskPrio : INT; (* 14: *)
Task priority
TaskMode : INT; (* 16: *)
Task mode
TaskPeriod : INT; (* 18: [ms] *)
Task period in ms
TaskStack : INT; (* 20: *)
Size of used task stack
MainPoe : INT; (* 22: assigned PLC
program *)
assigned PLC programm
TaskWatchDog : INT; (* 24: [ms] *)
Watchdog time in ms
reserve0 : DINT; (* 26: *)
MaxStack : INT; (* 30: max. used
stack *)
Size of poss. task stack
CurDuration : INT; (* 32: [ticks] *)
Current task duration including
prioritized calls
MinDuration : INT; (* 34: [ticks] *)
Minimum task duration
MaxDuration : INT; (* 36: [ticks] *)
Maximum task duration
AveDuration : INT; (* 38: [ticks] *)
Average task duration
CurDelay : INT; (* 40: [ticks] *)
Current task delay
MinDelay : INT; (* 42: [ticks] *)
Minimum task delay
MaxDelay : INT; (* 44: [ticks] *)
Maximum task delay
AveDelay : INT; (* 46: [ticks] *)
Average task delay
END_STRUCT (* TaskInfoType1 *);
END_TYPE
9.4 User task information
Information is mapped to system variables for each user task. The type
definitions listed below for the system variables can be found in the
PLC_Types section of the SchleicherLib library.
The variables are declared with types TaskInfo 0 and TaskInfoType n
(see: Figure 80). Each TaskInfoType contains information about a task of the
project.
The following user task information is declared with an offset of 64 starting at
1004 (1004 + 64 = 1068 etc.).
The sequence of tasks is defined by the rank of the task under the Hardware structure/Configuration/Resource/Tasks project tree.
The multi-task system
Operating Manual ProNumeric XCI 600 Version 07/16
73
Warning!
Incorrectly or inappropriately selected user task settings for type,
priority, interrupt mode, etc. – especially in conjunction with longer
program runtimes – can lead to controller malfunction when essential
firmware tasks are displaced (tfwLAGE, tfwCANhigh, tfwIPO).
Check and adapt the task assignment and task time setting
MULTIPROG priority
RTOS*
priority(defau
lt)
RTOS *
Task name
Application
0
30
Any
e.g. User task (event 0)
1
31
Any
e.g. User task (event 1)
2
32
Any
e.g. User task (event 4)
3
33
tfwLAGE
Reserved for position controller task (XCN only)
4
34
Any
e.g. User task (event 5)
5
35
tfwCANhigh
Reserved for CANopen task
6
36
Any
e.g. User task (event 5, 6)
7
37
tfwIPO
Reserved for IPO task (XCN only)
8..15
38..45
Any
E.g. cyclical user tasks
16..31
46
Any
E.g. other cyclical user tasks
Default
127
default
Background task
Real-time Operating System
Note
The system supports 18 user tasks (priority levels 0..16 and the default
task).
9.5 Task priorities
The table gives an overview of recommended task priorities and their
relationship to important reserved firmware tasks (tfwLAGE, tfwCANhigh, tfwIPO).
Table 14: Multi-task system, Task priorities
The multi-task system
74
Operating Manual ProNumeric XCI 600 Version 07/16
Note
If the execution time of the task and the watchdog time are roughly the
same, and the CPU workload is high, the watchdog time may be
exceeded during certain online operating steps.
The reason for this behaviour may be that you selected address status
with powerflow when debugging in online mode.
Figure 81:
Multi-Task System,
Example for tasks and
watchdogs
9.6 Tasks and watchdogs
Each user-defined task has its own settable watchdog. The watchdog
checks that task execution has been completed by the end of the watchdog
interval. If task execution is not complete at the end of this time the system
task SPG 10 'WATCHDOG' is executed and the PLC switches to the 'STOP'
state if no other actions were programmed. An entry is also made in the
error catalogue. The watchdog time starts when the task is ready to execute.
The watchdog interval is defined in the “Task ... Settings” dialog in
MULTIPROG.
Example
In example 1 the watchdog time of the displayed task is set to 10 ms. In the
figure, the watchdog time is exceeded in the second cycle after 20 ms. Task
execution is interrupted and the "Watchdog" system task is called.
In example 2 the watchdog time is set to 20 ms. For this reason, it does not
address the time overrun of the task in the second cycle. The task is only
interrupted for the next cycle, and is performed again at 30 ms in the fourth
cycle.
The multi-task system
Operating Manual ProNumeric XCI 600 Version 07/16
75
Figure 82:
Multi-Task System,
Inserting a task in
MULTIPROG
Table 15:
Multi-task system,
Task parameters
Task
Parameter
Cyclical task
Time interval
Event task
Event number (number of interrupt)
System task
Number of a system program
Default task
Active only when no other task is running.
In the project tree under the resource for the respective controller, right
click on the Tasks folder to open the context menu (see: Figure 82).
Select the Insert/Select task menu item. The Insert dialog appears.
Enter the name for the task.
Set the required task type in the Task Type list.
You can choose between Default task, Cyclical task, Event task or
System task.
Note: If task type 'DEFAULT' is not listed, the resource already has a
default task.
Confirm the dialog with OK.
9.7 Inserting Tasks and Assigning Programs
Inserting tasks
To insert a task, you have to carry out the following steps in MULTIPROG:
The Task settings for ... dialog appears. The dialog contains text and list
fields, depending on the previously selected task.
You have to enter the following parameters for the task:
The instructions in section Task priorities (Table 14) must be observed when
assigning priorities.
Programs must be assigned to tasks before they can be executed. Assigning
a program to a task means that an instance of the program will be executed
when the task is activated. Different instances of a program can be assigned
to different tasks.
Several programs can be assigned to one task. In this case the first program
in the task directory will be executed first. Then the next program will be
executed, and so on.
The Shared Memory
76
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 83:
Multi-Task System,
Assigning programs
in MULTIPROG
Figure 84:
Shared memory as a
connection of
PLC and CNC
Click with the right mouse button on the project tree icon of the task in
which the program is to be inserted. (see: Figure 83)
Select Insert/Program instance in the context menu.
Enter an instance name for the program in the Program instance field.
Set the required program in the Program type list box.
Confirm the dialog with OK.
There are no waiting times or communication overhead.
The PLC can monitor all actions of the CNC
The CNC output setpoints via the PLC.
The PLC can specify the CNC management sizes in the position control
cycle
Assign programs
To insert programs you have to carry out the following steps in
MULTIPROG.
The program symbol is inserted in the project tree.
10 The Shared Memory
The shared memory connects the sequence control of the PLC and the
motion functions of the CNC. Both controller systems operate synchronously
for data exchange on the memory and the PLC can take on a master
function. Visualisation systems are also integrated in the communication
process via OPC.
The close link between the CNC and the PLC system now enables you to
carry out complex processes which would not be possible with separate
CNC and PLC controllers. The classic PLC interface enables PLC functions
in NC programs, e.g. the setting and requesting of PLC flags. The
synchronisation of the PLC task with the CNC position control provides
further options:
The Shared Memory
Operating Manual ProNumeric XCI 600 Version 07/16
77
Figure 85:
Reading out the
operating software
version
10.1 Information on the Selection of the Shared memory Version
The shared memory structure is updated or expanded from time to time by
Schleicher. A version number is used to distinguish the individual variants.
The version number is incremented when there are significant changes to
the shared memory structure, and these changes make it necessary to alter
the address of variables. For this reason, shared memory versions with
different version numbers are incompatible. Compatibility is only ensured for
matching version numbers.
The latest shared memory version must always be used. However, if the
controller has old operating software, the appropriate older shared memory
version must be used. The version of the controller operating software can
be displayed in the Info dialog window (3) for the corresponding resource in
the PLC project (via (1) <Project control dialog>, then (2) in the Resource
window Info) (see: Figure 85).
The Shared Memory
78
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 86:
Display of the shared
memory error message
in the Schleicher
Dialog
10.2 Variables and Tasks
10.3 Access to the Shared memory
If the shared-memory version of the operating software and the version in
the PLC do not correspond, an error message is entered in the error
memory when the PLC starts. This error message is displayed in the
Schleicher Dialog as follows.
If such an error message appears, the PLC project must be corrected by
inserting the data types and variables for the appropriate shared memory
version. Next, the PLC project must be recompiled and transferred to the
controller.
Shared-memory data takes the form of variables as per IEC 61131-3, which
are declared as global variables during configuration in the MULTIPROG
programming system. They are accessible to the OPC server by default and,
for example, they are used by the Schleicher Dialog operating tool.
In the multi-tasking operating system, PLC task 6 is synchronised with the
interpolation task of the CNC controller. The cycle time of task 6 is then
oriented on the interpolation cycle of the CNC.
The data structure of the shared memory is created during installation of the
PLC or CNC operating system. For pure PLC, only the variable areas for
PLC specification and errors are created (plcSect and errSect, see below).
The PLC program has access to the entire shared memory via the global
variable plcMem (for PLC controllers) or cncMem (for CNC controllers).
The individual components of the shared memory can be accessed by using
dot notation. For example, the PLC program can read the version number of
the controller operating software as follows:
cncMem.plcSect.lOSVersion.
Visualisation systems have access to the shared memory via the OPC
interface. For example, the version number of the operating software can be
read from the OPC variables cmpS_lOSVersion.
The individual components for read and write access (e.g. version numbers,
error messages, bit signals, word ranges, NC data, CAN data, etc.) are
combined in sections. The retentive variables (retain) occupy their own
sections.
The Shared Memory
Operating Manual ProNumeric XCI 600 Version 07/16
79
PLC-specific section plcSect
Error section errSect
General section comSect
General section (retain) comSect
System section sysSect
System section (Retain) sysSect
Axis section axSect
Axis section (Retain) axSect
You can access the individual sections and components of the shared
memory with the Globale_Variable.Section.Components notation. For
example, the PLC program can read the version number of the controller
operating software from the cncMem.plcSect.lOSVersion variables. For
more information about the integration of shared memory into the
MULTIPROG programming system, see page 33.
Visualisation systems have access to the shared memory via the OPC
interface. The OPC server cannot handle structured variables, so the whole
data structure of the shared memory is mapped out as a one-dimensional
list. The names are composed of two parts separated by an underline from
each other. The first part is the access path, while the second part is
identical to the component name of the PLC variable. For example, the
version number of the operating software could be read from the OPC
variables cmpS_lOSVersion.
10.4 Help about Shared Memory
A more detailed description of the shared memory structure and all versions
can be accessed via the online help in both MULTIPROG and Schleicher
Dialog.
The Shared Memory
80
Operating Manual ProNumeric XCI 600 Version 07/16
TheSharedMemory_Types data type worksheet; the data structure of the
shared memory is declared here.
The global variables plcMem(for PLC controllers) or cncMem(for CNC
controllers). See worksheet Global_Variables, group
SharedMemory_Variables.
These variables represent the complete non-retentive (non retain) section
of the shared memory. The PLC program can access the individual
components (variables) of the shared memory using dot notation as
explained above.
With shared memory version 8 or higher, there is a retentive (retain)
section of the shared memory as well as the non-retentive section. Unlike
the non-retentive section, the values of the variables of this section are
retained after switching off the controller. For this purpose, the global
variable cncRMem is additionall inserted.
The global variables cmpS..., cmeS..., cmcS..., cmsS...,
cmaS.... See worksheet Global_Variables, groups PLC_Common,
CNC_Common, CNC_System_x (x stands for the number of the CNC
sub-system. Such a group exists with system-specific variables for each
sub-system) and CNC_Axis_y (y stands for the number of CNC axis.
Such a group exists with axis-specific variables for each CNC axis).
These variables are provided for the visualisation systems or similar
programs to access the shared memory. They provide all the shared
memory via the OPC interface. These variables provide the shared
memory in an unstructured form. Only simple data types (BOOL, DINT,
REAL, STRING) and fields of simple data types are used. This procedure
is required because structured data (like the ones that variables plcMem
and cncMem contain) can not be transferred via the OPC interface.
10.5 Further Background Information on Shared Memory
The following elements are added or updated when inserting the shared
memory in a PLC project:
The CNC
Operating Manual ProNumeric XCI 600 Version 07/16
81
Up to 16 sub-systems with a total of CNC 32 axes/spindles
Technologies for drilling, milling, grinding, handling
Endless rotating round axes
Spindle packet with comprehensive functionality, e.g. thread cutting
Tool radius compensation with approach and departure strategy
Tool length compensation
Interpolated compensation of error in spindle pitch and error in
measurement-system
Backlash compensation
Field of work limit
Software limit switch
11 The CNC
Overview of Functions
The XCI 600 is a CNC with up to 32 axes/spindles and an integrated, PLC.
The CNC programming of the XCI is described in detail in a separate
operating manual (see: Table 1).
RS232 Serial Interface
82
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 87:
Setting up the terminal
program on the service
PC
Tera Term is
recommended
Please note:
Do not connect any open wires to serial interfaces (RS232, RS422) (to
which, for example, a service PC may be connected from time to time).
Open cables can cause coupling between the transmit and receive
lines, leading to malfunctions in the control process.
When not needed, pull off the corresponding connector from the
controller.
12 RS232 Serial Interface
The serial interface is by default assigned to the real-time operating system
and is used to connect operating devices and service PCs for diagnosing the
system. The connection is made via the COM interface of the service PC
and the XCI-600 (port X 201).
It is used for the output of the bootlog when the XCI 600 is booting up, for
example. To set the necessary parameters, open the Schleicher X-Manager
(see: section 13.1.4).
Other Operating Software
Operating Manual ProNumeric XCI 600 Version 07/16
83
Important!
First clarify the adaptation of IP addresses with your network
administrator for installation with a connection to an existing in-house
network.
Assign a Home network address for connecting the controller to an
existing home network (e.g. 10.208.3.212)
Change the Windows side address of the "RTOS Virtual Network".
If possible, the default scheme (e.g. 192.168.xxx.1) should be
maintained!
Change the network settings (routing) on the programming PC to
communicate with the controller via the Home network (e.g. programming
with MULTIPROG)
13 Other Operating Software
13.1 Schleicher X-Manager
The Schleicher X-Manager provides the means for configuring important
parameters and settings for operating the controller:
13.1.1 "IP Configuration"
This function can be used to adapt the network settings required for
operation to the characteristics of the local network (home network).
The real time operating system VxWorks as well as Windows embedded
operate “simultaneously” on the XCI controller. Both operating systems
communicate with each other via a shared memory and a virtual network.
So-called "virtual network adapters" ("RTOS Virtual Network") are provided
on both sides for this purpose.
The network interface is commissioned in the following sequence:
Other Operating Software
84
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 88:
X Manager, IPConfiguration
When the Reboot checkbox
has been activated, the
restart is performed
automatically.
The IP address and mask of the XCI 600 controller in the Home network
(the alias name vxHost is defined in file c:\windows\system32\etc\host for
this purpose)
IP address of the default gateway in the Home network.
IP address of the default DNS in the Home network.
IP address of the default WINS in the Home network.
IP address and mask of the "RtOS virtual network” of the XCI controller
(Windows page, Figure 91)
IP address and mask of the RtOS virtual network of the XCI controller
(VxWorks page) (the alias name vxTarget is defined in file
c:\windows\system32\etc\host for this purpose)
The "computer name" must be unique across the network and may be
assigned only once (e.g. IPC13-212).
The computer name currently being used is shown in brackets.
To change the name of the computer it is necessary to restart the
controller.
(1). Host IP address 1 "vxHost" (Local Area Connection) (see: Figure 88)
(3). Target IP address #1 (alias vxTarget) (see: Figure 88)
(4). Computer name (see: Figure 88)
Other Operating Software
Operating Manual ProNumeric XCI 600 Version 07/16
85
Notes!
Separate tool tip helps are available for some settings.
A “Routing” command for a “Programming PC” is issued for
“Computer name” in the tool-tips (mouse pointer on the appropriate
input field). Depending on the Home network configuration, additional
settings may be required.
"F2" can be used to load the default IP configuration (delivery
condition) or "F3" can be used to load the current IP configuration into
the input masks ("IP configuration")
Hotkey "F5" is used to support the proposed IP address scheme (see
above); "F5" automatically takes the last number of the host IP address
(e.g. 212) for assigning the host IP #2 or the target IP address
Deactivates the gateway, DNS, and WINS settings. This can be used to
shorten the time until PLC-start, for example, if no network cable was
connected from the Ethernet interface of the XCI 600 to the LAN.
Background:
In Windows it is not possible to distinguish whether or not the controller is
actually connected to the Home network (with access to DNS, WINS
etc.). To avoid conflicts ("Race Conditions") when starting the network
stack and the real-time operating system, there is a delay until the
network is completely ready for operation or the corresponding network
time-outs have expired. However, if there is no network connected, these
rather long waiting times in practice are unnecessary.
By default, the EMF on the system is enabled, i.e. all changes to the
system partition are lost after a restart.
To permanently apply the changed settings a "Commit Changes" order is
issued automatically.
When the Reboot checkbox has been activated, the restart is performed
automatically.
However, all changes only become active by restarting the controller (i.e.
When EWF is activated on systems which are not switched off for
longer periods of time, there may be a memory overflow, because the
EWF redirects write accesses to the system partition to a RAM overlay.
(Windows system error "Delayed Write Failed").
Therefore, it may be appropriate to disable the EWF so that the memory
space in RAM is not restricted. This leads to increased writes to the
SSD.
This also deactivates protection for the system partition.
Depending on the respective application, it must therefore be assessed
whether it is possible to operate the system with or without activated
EWF, or whether using a UPS should be preferred.
“Get EWF status”
outputs the current configuration and the status of the EWF.
“Enable EWF”
activates the EWF
“Commit changes”
writes back the contents of the overlay memory.
“Disable EWF Live”
deactivates the EWF
“Reboot”
A status modification of the EWF (with the exception of deactivation) is
merely instructed, but it is actually only executed after a system reboot.
The restart can be triggered immediately with the set "reboot" option
together with the corresponding EWF command.
13.1.2 “EWF Configuration”
The Enhanced Write Filter is a component in the Windows Embedded 8 PC
operating system of the XCI 600. It is used to protect one or several
partitions (volumes, e.g. on a SSD) against changes. Write access is
diverted to a so-called overlay (e.g. in system RAM) for the activated EWF.
This is lost after switching off the system. However, to be able to make the
required changes to the system, the contents of the overlay memory can be
written back using the corresponding system command or the EWF can be
temporarily deactivated.
Other Operating Software
Operating Manual ProNumeric XCI 600 Version 07/16
87
Figure 89:
X Manager, EWF
Configuration
Other Operating Software
88
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 90:
X Manager, NFS and
Hardlink
13.1.3 “NFS and Hardlink”
Used for internal purposes; therefore no further description.
Other Operating Software
Operating Manual ProNumeric XCI 600 Version 07/16
89
Figure 91:
X Manager, RTOS Settings
"Startup Type of VxWorks"
Determines whether VxWorks starts automatically when Windows boots
up
or whether VxWorks must be started manually (with the help of the MFA
Utility)
"COM Port Configuration"
Defines the assignment of the COM ports to the respective operating
system (Windows or VxWorks)
for COM1 it is additionally possible to determine whether a console can
be activated or not
“Run”
executes the Device Manager (to check whether the hypervisor has
made the correct assignments)
13.1.4 “RTOS Settings”
Only for XCA1200 and XCI 600
Other Operating Software
90
Operating Manual ProNumeric XCI 600 Version 07/16
Figure 92:
Remote maintenance
software UltraVNC
13.2 Remote Desktop UltraVNC
UltraVNC is remote maintenance software under Windows that enables
remote access from a PC via the network or Internet on the desktop of a
remote Windows computer.
The server of UltraVNC is pre-installed on the XCI 600 controller. The
software operates according to the client-server model, where the server
runs on the computer to be monitored (in the case of the XCI 600, also
under Windows Embedded 8).
Load the current version of UltraVNC from the website of the manufacturer
to install the client on a maintenance computer. http://www.uvnc.com.
This site provides help for setup and operation, (online) FAQs, forums and
tutorials.
The client receives the screen outputs of the server and, in turn, sends
mouse and keyboard entries to it.
The default password for the PC <-> XCI 600 connection is "pp" (see: Figure
15).
Other Operating Software
Operating Manual ProNumeric XCI 600 Version 07/16
91
13.3 TeamViewer
The TeamViewer remote maintenance tool (QuickSupport) is installed on the
XCI 600 as standard.
D:\schleicher\Teamviewer\TeamViewerQS_en.exe
The password is: <berlin>.
13.4 MicroBrowser
The MicroBrowser (visualization tool, Messrs. IniNet) is installed on the XCI
600, but it is not licensed.
13.5 EC-Engineer
The “EC-Engineer” configuration tool by Acontis is required for configuring
and diagnosing the EtherCAT network. EC-Engineer is not a component of
the XCI 600. The software and dongle must be ordered separately from
Schleicher Electronic and must be installed on the target computer
(see: section 4.2.5).
13.6 SSD and SSD Monitor SW (e.g. SSD Scope Pro)
A tool for monitoring the SSD Smart values is advantageous. A
corresponding tool is installed under <D:\schleicher\SSD Scope>, but it is
not started automatically.
Technical Data
92
Operating Manual ProNumeric XCI 600 Version 07/16
Electrical data
Supply voltage
DC 24V +-10%
Internal power consumption
max. 4 A (24 V)
Isolation
(from internal
electronics)
Ethernet / EtherCAT®
Yes (except LAN screen)
USB
No
DVI
No
RS232
No
Interfaces
RS 232
no stationary connection of serial units
galvanically isolated RS485 module (optional)
4x Ethernet (10/100/1000 MBit)
Programming, diagnostic and control unit interface, drive interface
(EtherCAT®)
7x USB 2.0
USB interface (e.g. mouse, keyboard, USB memory stick, etc.)
DVI
Monitor interface DVI-I (digital / analog)
Other technical data
Processor
Performance version 1
COMe-bIP2 i3-3217UE
(2x1.60GHz, 17W)
Memory
SDRAM
4 GB (max. 8 GB)
NVRAM
128 KB
SSD
>=32 GB
Additional information
PLC processing times
every 1000 instructions
Bit
0.018 ms
Byte / Word / DWord
0.005 ms
Integer (Add / Mul)
0.006 ms
Real (Add)
0.029 ms
Real-time memory
(adjustable)
Operating system
(data / program)
32768 kB
PLC memory
Programs
4096 kB
Flag retentive
256 kB
Flag not retentive
2048 kB
Dimensions / weight
Measurements
200 mm x 200 mm x 100 mm
Weight
300 g
14 Technical Data
Technical Data
Operating Manual ProNumeric XCI 600 Version 07/16
93
Climatic conditions
Ambient operating temperature
0 ... +50°C (free air circulation)
Storage temperature
-25 ... +70°C
Relative humidity
20 ... 80%, non condensing
Air pressure in operation
860 ... 1060 hPa
Mechanical strength
Vibrations
Acc. to DIN EN 60068-2-6
9 ... 150 Hz constant acceleration 1 g
10-500Hz, 1g
Shock
Acc. to DIN EN 60068-2-27, sinusoidal half-wave 15g / 11ms
Free fall
Acc. to DIN EN 60068-2-32, drop height 1m (in original packaging)
Electrical safety
Protection class
Note for the operator:
When connected to the mains, the device must be connected via a safety
transformer (reliable isolation)
Protection type
IP 20 to EN 60529
Air gap/creepage paths
according to EN60950-1
Test voltage
--
Electromagnetic compatibility
Electrostatic discharge
EN 61000-4-2: 8 kV air discharge, 4 kV contact discharge
Electromagnetic fields
EN 61000-4-3: Field intensity 10 V/m, 80...1000 MHz
Rapid transients
(bursts)
1 kV on I/O signal lines
Energetic transients
(surges)
EN 61000-4-5:
0.5 kV DM (differential mode)
1 kV CM (common mode) on shielded signal lines
Interference emissions
EN 55011: Limit category A, Group 1
Glossary
94
Operating Manual ProNumeric XCI 600 Version 07/16
Abbreviation
Explanation
CNC
Computerized Numerical Control
CoE
CANopen over EtherCAT®
COMe
Computer-On-Module Express
DVI-I
With a passive adapter, it is also possible to connect a VGA monitor to this interface.
EC-Engineer
Configuration and diagnostics program for EtherCAT networks, prepared by Acontis.
ENI file
EtherCAT Network Information (ENI file describes the EtherCAT network)
EoE
EoE - Ethernet over EtherCAT®
"Standard" Ethernet frames are transparently tunnelled through the EtherCAT® protocol and
do not interfere with the EtherCAT® real-time properties.
ESI file
EtherCAT® Slave Information (the ESI file describes one or more EtherCAT® devices
(slaves))
EWF
Enhanced Write Filter: A component in Windows XP Embedded to protect one or more
partitions against changes (e.g. on a Compact Flash Drive). When EWF is activated, write
accesses are diverted into a so-called overlay (e.g. in system RAM). This is lost after
switching off the system. However, to be able to make the required changes to the system,
the contents of the overlay memory can be written back using the corresponding system
command or the EWF can be temporarily deactivated.
Forcing
Variables can be forced and overwritten in online mode. Forcing and overwriting means to
assign a new value to a variable.
When you force a variable the new value is used for the variable until force is cancelled for
that variable. When overwriting a variable with a value, the new value is used for only one
work cycle. When the cycle is finished the variable is processed normally.
FTP
FTP - File Transfer Protocol
The File Transfer Protocol is a specified network protocol for transferring files via TCP/IP
networks.
Basic initialisation
Start of the real-time operating system in safe mode and reset of retentive data memory.
Industrial Ethernet
Ethernet-based real-time protocol, which is used in the manufacturing industry and is used for
data exchange between control systems, actuators and sensors.
IPC
Industry PC (computer for tasks in the industrial sector)
MFA
Multi Function Application
MULTIPROG
An integrated programming environment provided by KW-Software, for creating PLC
programs in compliance with IEC 61131.
NC record
(abbreviation for: Numerical Control) This is a data record of control commands, that
implements work or movement processes and executes them sequentially
NC subsystems
The CNC controller can subdivide axes into groups (systems) and manage each system as a
stand-alone NC controller. Each system has its own program, an operating mode etc.
Synonymous terms are multi-carriage operation and multi-channel operation.
OPC - OLE for Process Control
OPC was the original name for standardized software interfaces that enable data exchange
between applications of different manufacturers in automation technology.
OPC Server
The OPC server retrieves the process data via a propitiatory communication protocol (here
KW protocol) of the PLC and displays them in the OPC server as OPC objects. Applications
can access these data as OPC clients.
PAC
Programmable Automation Controller
15 Glossary
Glossary
Operating Manual ProNumeric XCI 600 Version 07/16
95
PCI
Peripheral Component Interconnect
Bus standard for connecting peripherals to the chipset of a processor
PCIe
PCI Express
Connectivity standard for PC components (replacement for PCI, AGP). Based on individual
serial lanes, each with two differential data lines per transfer direction, which can transfer
gross 2.5 GBit/s full duplex at 1.25 GHz frequency and with DDR transmission; due to 8-bit10-bit encoding and longer data blocks, a net of about 250 MBytes/s can be used in both
directions simultaneously. (similar to InfiniBand).
If supported under the auspices of the PCI Special Interest Group (PCI SIG).
Initially the following lane bundles are defined:
PCIe x1: 1 lane, 250 MBytes/s per direction
PCIe x4: 4 lanes, 1 GByte/s per direction
PCIe x8: 8 lanes, 2 GByte/s per direction
PCIe x16: 16 lanes, 4 GByte/s per direction
PCIe x16 is also referred to as PCI Express for Graphics (PEG); graphics cards in x16 slots
may use up to 75 watts power. Cards with x1 interface must run in larger slots, but not vice
versa. Compatibility between other bundle sizes is not defined, but possible and
recommended. Slots may offer less lanes than their size suggests (example: PCIe x16 slot
with only 4 or 8 lanes).
PCIe is also provided for internally linking chipset components. Bridges connect other buses
(PCI-X, PCI).
PLC
Programmable Logic Controller
POU
Program Organisation Unit
TDP
"Thermal Design Power"
refers to the thermalpower loss of a processor or other electronic components, on the basis of
which cooling is designed.
Riser card
Riser cards are angled pieces that make it possible to install expansion cards parallel to the
motherboard instead of vertical.
RTOS
Real Time Operating System
SATA
Serial ATA = Hard drive interface for personal computers.
Serial ATA behaves fully compatible with Parallel ATA with respect to BIOS and drivers.
Unlike Parallel ATA, SATA is not a bus with masters and slaves, but a point-to-point
connection. With its transmission speed of 150 MBytes/s, the Serial ATA specification V1.0
(short SATA I) is seamlessly equivalent to the fastest parallel ATA hard drives with 133
MBytes/s; SATA II specifies data transfer rates of 300MBytes/s and SATA III 600 MBytes/s.
SLC / MLC Flash
Single-level cell flash are memory cells consisting of NAND flash, in which each memory cell
stores one bit.
Multi-level cell flash are memory cells consisting of NAND flash, in which each memory cell,
which is composed of a MOSFET and a capacitor, stores a plurality of bits (currently three).
SoE
SERCOS over EtherCAT®
SPGs
System programs
PLC
Programmable Logic Controller
SSD
A Solid State Drive (also known as Solid State Disk), is a memory medium, that is installed
and accessed like a conventional hard drive, but does not contain a rotating disk or other
moving parts because it comprises only semiconductor memory chips (usually flash) of
similar capacity.
TCP/IP
TCP/IP - Transmission Control Protocol / Internet Protocol
is a family of network protocols.
The network subscribers are identified by means of IP addresses.
Data reception is acknowledged.
UEFI
(Unified Extensible Firmware Interface) UEFI replaces BIOS, but the task to be performed by
UEFI has not changed compared to BIOS: It provides the interface between the hardware
and the operating system, but offers a number of innovations and advantages compared to
Glossary
96
Operating Manual ProNumeric XCI 600 Version 07/16
the previous BIOS.
V-Net
This is the alias name of the Windows IP address for communication via the virtual network.
The name must be registered in the Hosts file.
VxHost
This is the alias name of the IP address for connecting the controller to the Home network.
The name must be registered in the Hosts file.
VxTarget
This is the alias name of the VxWorks IP address for communication via the virtual network.
The name must be registered in the Hosts file.
VxWorks
Real-time operating system provided by Wind-River
WinPcap
Program library consisting of a driver that facilitates hardware access to the network card.
Glossary
Operating Manual ProNumeric XCI 600 Version 07/16
97
WINDOWS is a registered trademark of Microsoft Corporation.
CANopen is a registered trademark of CAN in Automation e.V.,
ProCANopen is a registered trademark of Vector Informatik GmbH.
VxWorks is a registered trademark of Wind River Systems Inc.
PROFIBUS is a registered trademark of the PROFIBUS users
organization.
MULTIPROG is a registered trademark of KW-Software GmbH.
EtherCAT® is a registered trademark and patented technology licensed
by Beckhoff Automation GmbH, Germany
15.1 Trademark entries
All other trademarks or product names are registered trademarks of their
respective owners.
Glossary
98
Operating Manual ProNumeric XCI 600 Version 07/16
15.2 List of figures
Figure 1: XCI 600 View from the top ...................................................................... 11
Figure 2: XCI 600 View from the bottom ................................................................ 11
Figure 3: Integrating the XCI 600 in an industrial infrastructure ............................. 15