Codesys
Codesys
replaces M003940-01
Imprint
Manufacturer
Eaton Automation AG
Spinnereistrasse 8-14
CH-9008 St. Gallen
Schweiz
www.eaton-automation.com
www.eaton.com
Support
Region North America
Eaton Corporation
Electrical Sector
1111 Superior Ave.
Cleveland, OH 44114
United States
877-ETN-CARE (877-386-2273)
www.eaton.com
Other regions
Please contact your local distributor or send an
e-mail to: [email protected]
Original instructions
German
Redaction
Daniel Lenherr
Brand and product names
All brand and product names are trademarks or registered trademarks of the owner concerned.
Copyright
Eaton Automation AG, CH-9008 St. Gallen
All rights reserved, also for the translation.
None of this documents may be reproduced or processed, duplicated or distributed by electronic
systems in any form (print, photocopy, microfilm or any other process) without the written permission
of Eaton Automation AG, St. Gallen.
Subject to modifications.
XSoft-CoDeSys-2
Contents
Contents
1
1.1
1.2
1.3
General...............................................................................................................................5
Purpose of this document ...................................................................................................5
Comments about this document .........................................................................................5
Additional documentation....................................................................................................5
2
2.1
2.2
2.3
2.4
Install..................................................................................................................................6
Scope of Delivery ................................................................................................................6
System requirements ..........................................................................................................6
Install PLC programming tool..............................................................................................7
Install PLC target systems ..................................................................................................8
3
3.1
3.2
Uninstall .............................................................................................................................9
Uninstall PLC programming tool .........................................................................................9
Uninstall PLC target systems ..............................................................................................9
4
4.1
4.2
4.2.1
4.3
4.4
4.5
5
5.1
5.1.1
5.2
5.3
5.3.1
5.3.2
5.4
5.4.1
5.4.2
5.5
5.5.1
5.5.2
5.5.3
6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
Operation .........................................................................................................................50
Startup behaviour..............................................................................................................50
Switch off behaviour..........................................................................................................50
Operating state of controller..............................................................................................51
Switching the operating state ............................................................................................52
Start behaviour..................................................................................................................53
Stop behaviour ..................................................................................................................54
Reset behaviour ................................................................................................................54
Test and startup ................................................................................................................55
XSoft-CoDeSys-2
Contents
6.9
6.9.1
7
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.9.1
7.9.2
8
8.1
10
11
12
12.1
12.2
13
14
14.1
14.2
14.3
14.4
Licensing .........................................................................................................................79
PLC programing tool .........................................................................................................79
PLC runtime system..........................................................................................................79
Target visualization ...........................................................................................................79
Web visualization ..............................................................................................................79
XSoft-CoDeSys-2
1 General
General
1.1
1.2
Dialogs and examples in this document are standardized. Depending on selection of the
controller type therefore dialogs can differ.
1.3
Additional documentation
The following documents may be helpful in the use of the device in addition to this document. These
can be downloaded from our home page (www.eaton-automation.com):
[1] MN05010007Z-EN
System description Windows CE
[2] Various
Documentations concerning PLC function libraries
[3] System description CiA Draft Standard DSP301
[4] User manual PLC programming tool CoDeSys V2.3
XSoft-CoDeSys-2
2 Install
Install
The "XSoft-CoDeSys-2" product is an independent software package. It consists of a software
component (PLC programming tool with appropriate PLC target systems) which is installed on any
programming PC, and a software component which is installed on PLC target systems with Windows
CE ( Chap. 14) provided this has sufficient license points.
2.1
If you have any questions on license products, please contact your local Eaton sales
distributor.
Scope of Delivery
Designation
Software "XSoft-CoDeSys-2" incl. user manual
Version
2.3.9 SP2
Consisting of:
Designation
CoDeSys
CoDeSys Gateway
CoDeSys OPC-Server 1
2.2
Version
2.3.9.25
2.3.9.21
2.3.13.7
System requirements
Operating system
Windows XP, Windows Vista, Windows 7
XSoft-CoDeSys-2
2 Install
2.3
If no series number or license key is available by the installation of the PLC programming
tool, the target systems are installed in the demo mode.
Description
PLC programming tool
Target specific components such as libraries
and configuration data incl. firmware for PLC
target systems
All PLC target systems appropriate for installation are assigned a new designation or
identification.
If you would like to update PLC projects, which are created with older version of the PLC
programming tool, then the PLC target system must be changed.
After closing and renewed opening of the PLC project, the PLC project will updated and the
new libraries merged.
XSoft-CoDeSys-2
2 Install
2.4
XSoft-CoDeSys-2
3 Uninstall
Uninstall
3.1
3.2
Alternatively installed PLC target systems can also be removed from the PLC programming
tool using the 'InstallTarget' function.
Subsequently, the target specific components in the target system directory must be
removed manually.
XSoft-CoDeSys-2
4 Target settings
Target settings
This dialog opens automatically if a new project is created. Otherwise it is reached via <Target
settings> in the 'Resources' tab.
In the target settings, select the appropriate PLC type. This configuration selects optimum settings for
processor type and memory size. The entry 'None' automatically activates Simulation mode.
Changes to the preset target settings can have an effect on the behaviour of the target
system!
If necessary the Default button resets the changed configuration to the standard configuration.
4.1
Target platform
10
XSoft-CoDeSys-2
4 Target settings
4.2
Memory layout
Code size
Default 1024KB (16#100000) memory for program code. This memory is allocated automatically.
Global size
Default 256KB (16#40000) memory for global data. This memory is allocated automatically.
Maximum number of POUs
Each POU needs 12Byte memory automatically. Altogether 12KB memory is needed for the function
pointer table (1024 components -> 12KB). This memory is added to the PLC data memory.
The calculation of the number of POUs used in the program includes all functions and
function blocks of inserted libraries.
XSoft-CoDeSys-2
11
4 Target settings
4.2.1
1024kB Programmcode
12
During the standard compilation of the PLC program the PLC programming tool displays the
size of the data area to the user.
The PLC browser and the command 'sysinfo' can be used to determine the size of the PLC
program online ( Chap. 10)
XSoft-CoDeSys-2
4 Target settings
4.3
General
No address check
If this option is activated, the addresses are not checked during the compilation.
Download symbol file
If this option is activated, a symbol file will be created during the compilation and will be downloaded
Support preemptive Multitasking
Multitasking is supported by default (cannot changed by user)
Byte addressing mode
If this option is activated, the addressing takes place byte by byte (e.g.: %QD4 corresponds to
%QB4).
XSoft-CoDeSys-2
13
4 Target settings
4.4
Network functionality
Please refer to detailed information in the CoDeSys V2.3 user manual or the online help of
the PLC programming tool.
14
Please refer to detailed information in the CoDeSys V2.3 user manual or the online help of
the PLC programming tool.
XSoft-CoDeSys-2
4 Target settings
4.5
Visualization
Depending on the used PLC target system, Target visualization and Web visualization are supported.
Appropriately information is given in the table below.
PLC target system
XV-1xx-V2.3.9 SP1
Target-Visu
Web-Visu
Please refer to detailed information in the CoDeSys V2.3 user manual, the CoDeSys
visualization user manual or the online help of the PLC programming tool.
XSoft-CoDeSys-2
15
5 PLC configuration
PLC configuration
The PLC configuration is found as an object on the 'Resources' tab in the 'Object Organizer'.
The PLC configuration enables inputs and outputs to be configured or bus-compatible I/O modules to
be connected. Configuration files (* cfg) and device files (e.g. *.gsd, *.eds) are used as the basis for
work in the PLC configuration.
The PLC configuration is displayed in the editor in tree structure and can be edited using menu
commands and dialogs. The configuration contains input and/or output elements and also
management elements which themselves also have subelements (for example, CAN, PROFIBUS).
Input and output appear in the editor with the IEC address by which they can be accessed. Each
input and output can be tagged with a symbolic name which is located before IEC address.
5.1
16
XSoft-CoDeSys-2
5 PLC configuration
Selecting elements
In order to select elements, click the mouse on the corresponding element, or use the arrow keys to
move the dotted rectangle onto the desired element.
Elements that begin with a plus sign are organization elements and contain subelements. To open an
element, select the element and double-click the plus sign or press <Enter>. You can close opened
elements (minus sign in front of the element) the same way.
Inserting elements, <Insert> <Insert element>, <Insert> <Append subelement>
Depending on the definitions in the configuration file(s) and on the available device files, which have
been read when the project was opened, a basic composition of elements is automatically positioned
in the configuration tree. If one of those elements is selected, further elements may be added if this is
allowed by the definitions in the configuration file and if the needed device files are available:
Menu item <Insert> <Insert element>: An element can be selected and inserted before the element
which is currently marked in the configuration tree.
Menu item <Insert> <Append subelement>: An element can be selected and inserted as subelement
of the element which is currently marked in the configuration tree. It will be inserted at the last
position.
The most important commands are found in the context menu (right mouse button).
Replacing/switching elements, <Extras> <Replace element>
Depending on the definition in the configuration file, the currently selected element can be replaced
by another. It is also possible to switch channels, which are set up in a way that they can be used as
input or as output elements. Use the menu item <Extras> <Replace element>.
Recalculation of Module addresses, <Extras> <Calculate addresses>
If the option Calculate addresses is activated in the dialog 'Settings' of the PLC configuration editor,
then the command 'Extras', 'Calculate addresses' will start to recalculate the addresses of the
modules. All modules starting with the one, which is currently selected in the configuration tree, will
be regarded.
Return to standard configuration, <Extras> <Standard configuration>
The command 'Extras', 'Standard configuration' can be used to restore the original PLC configuration,
which is defined by the configuration file *.cfg of the target system.
XSoft-CoDeSys-2
17
5 PLC configuration
5.1.1
18
The project must be closed after defining project specific directories for the configuration
file(s) and device file(s).
After subsequent opening of project the additional configuration file(s) and device file(s) are
visible in the PLC configuration and can be inserted.
XSoft-CoDeSys-2
5 PLC configuration
5.2
General settings
XSoft-CoDeSys-2
19
5 PLC configuration
5.3
Configuration as CAN-Master
The PLC programming tool supports a hardware configuration according to the CANopen Draft
Standard 301. This requires a configuration file, which allows CAN modules to be inserted.
All EDS files (Electronic Data Sheet) and DCF files (Device Configuration File) which are stored in the
defined configuration files directory, can be integrated, edited and displayed in the PLC configuration.
In the EDS file the configuration options of a CAN module are described. If you add a module which
is described in a DCF file, only the IEC addresses can be modified.
The modules receive a configuration, which describes the timing and error behaviour of the data
transmission. Furthermore, the mapping of the PDOs (Process Data Objects) is specified for each
module, which is used for sending and receiving (Receive PDO Mapping or Send PDO Mapping
dialogs). The values of the available SDOs (Service Data Objects) can be changed (Service Data
Objects dialog).
Additional parameters of a CAN module or a CAN Master can be configured in the dialog parameter.
20
In the PLC configuration defined PDOs, which have inputs or outputs that are not used in the
PLC program, are not updated by default in the process image.
XSoft-CoDeSys-2
5 PLC configuration
5.3.1
Configuration of CAN-Master
5.3.1.1
Base parameters
Node number
The node number is defined by an entry in the configuration file or - if there is no entry - by the
position of the module in the configuration structure and is not editable (not to be confused with the
node-Id, which can be defined by the user).
Input address, Output address
This contains the IEC addresses starting from which the PDOs (Process Data Object) in the project
can be addressed. It depends on the general settings and the definitions in the configuration file,
which addresses are already predefined, which address mode is valid and whether the addresses
can still be edited here.
XSoft-CoDeSys-2
21
5 PLC configuration
5.3.1.2
CAN parameters
In this dialog the global settings and monitoring parameters for the CAN bus are defined.
Baud rate
Baud rate for the transmission between CAN-Master and CAN modules.
Com. Cycle Period, Sync. Window Length, Sync. COB-ID
PDOs (Process Data Object) are either for synchronous or asynchronous transmit modes. The
Communication Cycle Period [sec] is the time interval in microseconds, in which the
synchronization telegram with the unique number Sync. COB-ID (Communication Object Identifier) is
transmitted.
This option must be activated if synchronization telegrams between CAN-Master and CAN-Slaves are
to be sent.
22
XSoft-CoDeSys-2
5 PLC configuration
SYNC
telegram
t
Synchronous PDOs
Asynchronous PDOs
The synchronous PDOs are transmitted directly after the synchronization telegram in the defined time
slot Sync. Window Length [sec]. If Com. Cycle Period and Sync. window length are 0, then no
synchronization telegrams are transmitted.
If the synchronization telegram is defined in this dialog, timing jitters between the individual
synchronization telegrams may occur due to the software architecture of the PLC runtime
system.
Alternatively, the task synchronous transmitting of synchronization telegrams can be
configured in the PLC program.
Node-Id
The Node-Id is the unique identification of the CAN module It corresponds to the number which is set
between 1 and 127 on the CAN module itself. The Node-Id must be entered as a decimal number
(not to be confused with the node number, which is used also in the PLC configuration).
Automatic startup
If the option Automatic startup is activated, all CAN modules will be automatically initialized and
started when the PLC program starts up. If the option 'Automatic start' is not activated, the CAN
modules must be manually started up in the PLC program.
Support DSP301, V4.01 and DSP306
This option must be activated, if CAN modules are implemented in the PLC program, which support
this CiA standard.
Heartbeat Master
Monitoring functionality: The CAN-Master transmits heartbeat telegrams with Guard COB-ID
(Communication Object Identifier) at the appropriately defined interval. The default interval for the
transmitting of heartbeat telegrams is 0 ms and is therefore deactivated.
XSoft-CoDeSys-2
23
5 PLC configuration
5.3.2
Configuration of CAN-Nodes
5.3.2.1
Base parameters
Node number
The node number is defined by an entry in the configuration file or - if there is no entry - by the
position of the module in the configuration structure and is not editable (not to be confused with the
node-Id, which can be defined by user).
Input address, Output address
This contains the IEC addresses starting from which the PDOs (Process Data Object) in the project
can be addressed. It depends on the general settings and the definitions in the configuration file,
which addresses are already predefined, which address mode is valid and whether the addresses
can still be edited here.
24
XSoft-CoDeSys-2
5 PLC configuration
5.3.2.2
CAN parameters
Node-Id
The Node-ID is the unique identification of the CAN module. It corresponds to the number which is
set between 1 and 127 on the module itself. The Node-Id must be entered as a decimal number (not
to be confused with the node number, which is used also in the PLC configuration).
Write DCF
If the option write DCF is activated, a DCF file will be created in the defined directory for the compiled
files after an EDS file is inserted. The DCF file name is made up of the name of the EDS file and the
corresponding Node-Id.
Create all SDOs
If the option Create all SDOs is activated, all SDOs will be created and transferred to the CAN-Node.
Otherwise only SDOs are transferred which are different to the default value of the EDS file.
Reset node
If the option Reset node is activated, then the CAN-Slave will be reset before downloading the
configuration by SDO command restore all default parameters (Index 16#1011 Sub-Index 1 with
value "Load", 16#23 11 10 01 6C 6F 61 64).
XSoft-CoDeSys-2
25
5 PLC configuration
Optional device
If the option Optional device is activated, only in certain circumstances is the presence of the CAN
node on the CAN bus checked after the start of the PLC program.
If the CAN node is not on the CAN bus, no node monitoring takes place. The node monitoring in the
CAN diagnostic system takes place without the optional CAN node.
If the CAN node is connected on the CAN bus before the start of the PLC program, node monitoring
is activated and evaluated in the CAN diagnostic system.
If the CAN node is connected on the CAN bus after the start of the PLC program, the CAN diagnostic
system detects a node error.
No initialization
If the option No initialization is activated, the PLC program is starting without an initialization and
starting of the CAN node.
Nodeguard settings
If the option Nodeguarding is activated, a guard telegram will be transmitted to the CAN module
according to the interval set by Guard Time in milliseconds. If the CAN module does not then send a
guard telegram with the given Guard COB-ID (Communication Object Identifier), it will receive the
status "timeout".
As soon as the number of attempts (Life Time Factor) has been reached, the CAN module will
receive the status "not OK". The status of the CAN module will be stored in the CAN diagnostic
system and can be checked in the PLC program.
No monitoring of the CAN module will occur if the variables Guard Time and Life Time Factor are not
defined (0).
Heartbeat settings
If the option activate heartbeat generation is activated, the CAN module transmits heartbeat
telegrams with the given Guard COB-ID (Communication Object Identifier) according to the interval
set by Heartbeat Producer Time. The CAN master expects this heartbeat telegram in this interval. If
the CAN master does not receive this heartbeat telegram, the CAN module is detected as "not OK".
The status of the CAN module will be stored in the CAN diagnostic system and could be checked in
the PLC program.
If the option activate heartbeat consumer is activated, the CAN module expects heartbeat
telegrams of the CAN master with the given Guard COB-ID (Communication Object Identifier)
according to the interval set by Heartbeat Master.
26
XSoft-CoDeSys-2
5 PLC configuration
Emergency telegram
A module sends an emergency message, with a unique COB-ID, when there is an internal error.
These messages, which vary from module to module, are stored in the diagnostic system and can be
checked in the PLC program.
Info-Button
The entries "FileInfo" and "DeviceInfo" of the EDS or DCF file from the corresponding module
manufacturer are hidden behind the Info button.
5.3.2.3
Module selection
If the inserted CAN module has a modular design and if it supports the appropriate standards (DSP
301, V4.01 and DSP 306), then the tab CAN Module selection appears. The configuration of the
appropriate structure can be made by adding with Add button or removing with Remove button.
XSoft-CoDeSys-2
27
5 PLC configuration
5.3.2.4
The tabs Receive PDO mapping and Send PDO mapping in the configuration dialog allow the
"mapping" of the module described in the EDS file to be changed.
All "mappable" objects in the EDS file are located on the left side and can be added to the right side
to the PDOs (Process Data Object) with >> button or removed again with Remove button.
The StandardDataTypes can be inserted to create empty spaces in the PDO.
The Insert Element button can be used to create further PDOs and to add appropriate objects to
them. The allocation of inputs or outputs to the IEC addresses can be achieved via the inserted
PDOs. The setting which has been made in the PLC configuration will become visible after the dialog
is left. The individual objects can be defined there with symbolic names.
28
The communication channels send and receive are from the point of view of the CAN
module. This means that inputs configured in the PLC program are from the point of view of
the CAN module in the send channel and outputs are in the receive channel
XSoft-CoDeSys-2
5 PLC configuration
The standard set properties of the PDOs can be edited with Properties button. The field appears in
grey and cannot be edited if an option is not supported by the module or if the value cannot be
changed.
COB-ID
Each PDO message requires a unique COB-ID (Communication Object Identifier
Inhibit Time
The Inhibit Time is the minimum time between two messages from this PDO. This is to prevent PDOs
which are sent when the value is changed from being sent too often.
Transmission Type, Number of Syncs, Event-Time
Transmission Type offers you a selection of possible transmission modes for these PDOs:
acyclic synchronous : the PDO will be transmitted synchronously but not periodically.
cyclic synchronous : the PDO will be transmitted synchronously, whereby the Number of Sync's
specifies the number of synchronization messages between two transmissions of this PDO.
cyclic RTR only : the PDO will be updated after each synchronization message but not sent. It is
only sent when there is an explicit request to do so (Remote Transmission Request).
asynchronous RTR only : the PDO will only be updated and transmitted when there is an explicit
request to do so (Remote Transmission Request).
asynchronous manufacturer specific and asynchronous device profile specific : the PDO
will only be transmitted when specific events occur. An addition event can be defined with the EventTime. Enter here in milliseconds (ms) the interval between two transmissions.
XSoft-CoDeSys-2
29
5 PLC configuration
5.3.2.5
5.3.2.6
Bus diagnostic
Various function libraries are available for configuring the bus diagnostics in the PLC program.
30
Please refer to the detailed function descriptions in the relevant documentation of the
function libraries.
XSoft-CoDeSys-2
5 PLC configuration
5.4
Configuration as CAN-Device
A device which is programmed with the PLC programming tool "XSoft CoDeSys-2" can appear and
be used in a CAN network as CANopen Slave (called in the following CAN-Device).
The parameter manager, PLC configuration and library functions make the following options
available:
Configuration of the variable or parameter lists, which are used for data exchange between CANDevice and CAN-Masters (parameter manager, provide the object listing).
Generation of the EDS file, which describes the CAN-Device and which can be inserted in the
PLC program of the CAN-Master.
Library functions for CAN-Device to monitor and administrate the object listing
XSoft-CoDeSys-2
31
5 PLC configuration
5.4.1
Configuration of CAN-Device
5.4.1.1
Basic settings
Bus identifier
Currently not used!
Name of update task
Name of the task, in which the CAN-Device is called.
EDS file generation
If the option EDS file generation is activated, it will generate an EDS file with the Name of the EDS
file in order to be able to use the current configuration later in any master configuration.
32
XSoft-CoDeSys-2
5 PLC configuration
5.4.1.2
CAN settings
Node-Id
The Node-ID is the unique identification of the CAN-Device. It corresponds to the number which is
set between 1 and 127 on the CAN-Device itself. The Node-Id must be entered as a decimal number
(not to be confused with the node number, which is used also in the PLC configuration).
The Node-ID can be overlaid by means of library functions in the PLC program. Thus it is
possible to write a PLC program for several CAN-Devices, without changing the PLC
configuration of the CAN-Devices.
Device type
The Device type (default value of object 0x1000) of the device is predefined with 0x191 (standard IO
Device) and can be changed by the user.
Baud rate
Baud rate for the transmission between CAN-Master and CAN-Device
Automatic startup
If the option Automatic startup is activated, the CAN bus will be automatically initialized and started
by PLC program start.
XSoft-CoDeSys-2
33
5 PLC configuration
Nodeguard settings
Parameterization of Guard COB-ID (Communication Object Identifier), Guard Time in milliseconds
and Life Time Factor. These parameters are inserted as default values into the EDS file of the CANDevice and can be changed afterwards in the PLC configuration of the CAN-Master.
Heartbeat settings
Parameterization of Heartbeat Producer Time and Heartbeat Consumer Time in milliseconds.
These parameters are inserted as default values into the EDS file of the CAN-Device and can be
changed afterwards in the PLC configuration of the CAN-Master.
Emergency telegram
Parameterization of Emergency message with a unique COB-ID. These parameters are inserted as
default values into the EDS file of the CAN-Device and can be changed afterwards in the PLC
configuration of the CAN-Master.
34
XSoft-CoDeSys-2
5 PLC configuration
In order to be able to open the Parameter Manager, it must be activated and defined with
correct index/subindex ranges in the map 'Network functionality' of the target settings.
The Default-PDO-Mapping tab allows the entries which are defined in the Parameter Manager to be
assigned/modified to the "Mapping" of the CAN-Device.
All "mappable" objects are located on the left side and can be added in the right side to the PDOs
(Process Data Object) with button >> or removed again with button Remove.
XSoft-CoDeSys-2
35
5 PLC configuration
The properties of the PDOs can be edited with button Properties. These can be changed afterwards
in the PLC configuration of the CAN-Master.
5.4.2
Configuration of the nodeguard/heartbeat functionality, the emergency message and the node
number Node-Id.
Configuration of PDO mapping based on the default PDO mapping if the EDS file.
36
XSoft-CoDeSys-2
5 PLC configuration
5.5
Configuration as Profibus-Master
The PLC programming tool supports a hardware configuration according to Profibus-DP Standard.
This requires a configuration file which allows Profibus modules to be inserted.
All GSD files which are stored in the defined configuration files directory, can be integrated, edited
and displayed in the PLC configuration. The configuration options of a Profibus module are described
in the GSD file.
The modules are assigned a configuration, which describes the timing and error behaviour of the
transmission.
Objects defined in the PLC configuration for which the inputs or outputs are not used in the
PLC program are not updated by default in the process image.
XSoft-CoDeSys-2
37
5 PLC configuration
5.5.1
Configuration of Profibus-Master
The following Profibus-Masters is implemented in the PLC configuration:
Designation
DP-Master CMM-MPI
(MPDP4D09.GSD)
5.5.1.1
Description
Profibus-Master DP-V1 for Profibus DP / FMS and MPI
Base parameters
Node id
The node identification is defined by an entry in the configuration file or - if there is no entry - by the
position of the module in the configuration structure and is not editable (not to be confused with the
node ID, which can be defined by user).
Input address, Output address
This contains the IEC addresses starting from which the inputs or outputs in the project can be
addressed. It depends on the general settings and the definitions in the configuration file, which
addresses are already predefined, which address mode is valid and whether the addresses can still
be edited here.
38
XSoft-CoDeSys-2
5 PLC configuration
5.5.1.2
DP parameters
Station address
The Station address is the unique identification of the Profibus-Master. It is predefined with the value
1 and does not have to be edited by the user.
Highest station address
It corresponds to the highest station address existing on the Profibus (adjustable by user, or
calculated by PLC programming tool).
Auto Clear Modus
Each Profibus-Slave has a watchdog, which monitors whether the Profibus-Slave is addressed
cyclically by the Profibus-Master. If this is not the case, the Profibus-Slave switches autonomously
into the safe operating state. If this means a high safety risk, the option Auto Clear Mode causes the
Profibus-Master to switch automatically from operating state "operate" to operating state "clear". This
in turn causes all other Profibus-Slave to be switched to the operating state "clear". Digital outputs
are set to 0 and analogue outputs are set to the configured substitute values (FailSafe).
Automatic startup
If the option Automatic startup is activated, the Profibus will be automatically initialized and started.
XSoft-CoDeSys-2
39
5 PLC configuration
Groups
The Groups button opens the 'Group properties' dialog. The Group properties pertain to the slaves
assigned to the master. Up to eight groups can be set up. For each group, enter whether it is to
operate in Freeze mode and/or Sync mode. By assigning the slaves to various groups, data
exchange from the master can be synchronized via a global control command. With a Freeze
command, a master instructs a slave or a group to "freeze" inputs in their instantaneous state and to
transfer this data in the next data exchange. With a Sync command, the slaves are instructed to
synchronously switch to the outputs at the next Synch command all data received from the master
following the first command.
In the dialog 'Group properties' can be edited the group names and activated and/or deactivated the
appropriate transmit modes.
40
XSoft-CoDeSys-2
5 PLC configuration
5.5.1.3
Bus parameters
The bus parameters describe the timing of the communication.
Baud rate
Baud rate for the transmission between Profibus-Master and Profibus-Slaves
Use defaults
If Use defaults is activated, a default parameter set is used for selected baud rate. If this option is not
activated, the parameters can be changed manually.
This option does not take the configured I/Os into account. If optimized parameters for the
bus topology are needed, then these parameters must be determined with an external
Profibus configuration tool (e.g. Sycon supplied by Hilscher).
XSoft-CoDeSys-2
41
5 PLC configuration
Parameters
Name, value and unit are indicated for each object. The value can be changed. Mark the value and
press <Space>. After any changes press <Return> to confirm or press <Escape> to reject the value.
Parameter
Slot Time
(TSL)
Min. Station Delay
(Min. TSDR)
Max. Station Delay
(Max. TSDR)
Quiet Time
(TQUI)
Setup Time
(TSET)
Target Rotation Time
(TTR)
Gap Update Factor
(GAP)
Poll Timeout
42
XSoft-CoDeSys-2
Description
Maximum time during which the master waits, after sending a
request message, for the receipt of the first character of the slave's
reply message.
Minimum response time, after which a Slave may reply.
Maximum response time, within which a Slave must reply
Idle period which must be taken into account during conversion of
NRZ (Non Return to Zero) signals to other codings (switchover time
for repeater).
Time, which may lapse between the receipt of a telegram and the
following reaction on the Slave.
Token cycle time setting: Projected time interval in which a master
should receive the token. Result of the sum of the token stop times
of all masters on the bus.
GAP update factor G: Number of bus cycles after which the master's
GAP (address range from its own bus address to the address of the
next active station) searches for an additional, newly inserted active
station.
Maximum number of repeated request attempts by the master when
it has not received a valid response from the slave
Time between two bus cycles in which the slave can process a
request from the master (time basis 100s). The value entered here
must be checked against the respective specifications in the slave's
GSD file.
Maximum time after which the master's reply in a master-master
communication must be retrieved by the requester (Class 2 DP
master) (time basis 1ms).
Time in which the master reports its status to the slaves assigned to
it. At the same time, the master monitors whether at least one data
exchange each has taken place with the slaves within this period,
and updates the Data_Transfer_List.
5 PLC configuration
5.5.2
Configuration of Profibus-Slaves
5.5.2.1
Base parameters
Node id
The node identification is defined by an entry in the configuration file or - if there is no entry - by the
position of the module in the configuration structure and is not editable (not to be confused with the
station address, which can be defined by user).
Input address, Output address
This contains the IEC addresses, starting from which the inputs or outputs in the project can be
addressed. These addresses refer to the module. It depends on the general settings and the
definitions in the configuration file, which addresses are already predefined, which address mode is
valid and whether the addresses can still be edited here.
XSoft-CoDeSys-2
43
5 PLC configuration
5.5.2.2
DP parameters
Station address
The Station address is the unique identification of the Profibus module. It corresponds to the number
which is set between 0 and 126 on the Profibus module itself. The station address must be entered
as a decimal number.
Activation
If the option Activation is deactivated, the configuration data is transferred to the Profibus-Slave
during Download, but a data exchange does not occur.
Standard parameter
The Identnumber is assigned by the PNO and is the unique identification number for this device
type. It allows unambiguous reference between Profibus-Slave and the corresponding GSD file.
The parameter TDSR (Time Station Delay Responder) corresponds to the response time after which
the Profibus-Slave may respond at the earliest to the Profibus-Master. Time unit for the transmission
of a bit via Profibus: Reciprocal value of the data baud rate: e.g. 1 TBit at 12MBaud=1/12.000.000
Bit/sec=83ns.
The parameter Lock/Unlock enables the Profibus-Slave to be locked or released for other ProfibusMasters:
0: min.TSDR and slave-specific parameters may be overwritten
1: Slave released to other masters
2: Slave locked to other masters, all parameters are accepted
3: Slave released to other masters
44
XSoft-CoDeSys-2
5 PLC configuration
Watchdog
If the option watchdog control is activated, the defined watchdog time applies. If the Profibus-Slave
has not been accessed by the Profibus-Master within this time, it is reset to its initialization state.
XSoft-CoDeSys-2
45
5 PLC configuration
5.5.2.3
Module selection
If the inserted Profibus module has a modular design and if it supports the appropriate standards,
then the Input/Output tab appears. The configuration of the appropriate structure can be made by
adding with the Add button or removing with the Remove button.
The Properties button opens the 'Module properties' dialog for the input or output module currently
selected in the left or the right list. It shows the name, the configuration (module description coding
according to PROFIBUS standard) and the input and output lengths of the module in bytes. If the
module description in the GSD file contains specific parameters in addition to the standard set, these
are listed here with their values and range of values. If the Symbolic names option is activated, the
symbolic names are then used.
46
XSoft-CoDeSys-2
5 PLC configuration
5.5.2.4
User parameters
This tab lists various extended parameters of a Profibus-Slave defined in the GSD file. The column
Parameters shows the name of the parameter. The parameter values entered in column Value can
be changed. The Value range is also specified.
If symbolic names are also specified for the parameters in the GSD file, the option Symbolic names
can be activated, so that the values can be displayed with these names. The Length of user
parameters is also given above the table as information.
XSoft-CoDeSys-2
47
5 PLC configuration
5.5.2.5
Groups
This dialog is used for assigning the Profibus-Slave to one or more of the eight possible groups. The
universally applicable group properties (Sync. Mode and/or Freeze Mode), on the other hand, are
defined during configuration of the Profibus-Master's properties. This dialog can also be reached via
the Global Group Properties button.
The group(s) to which the Profibus-Slave is assigned are marked with a plus sign. The assignment to
or removal from a group is accomplished by selecting the group name in the Group Membership
column and pressing 'Add slave to group' or 'Remove slave from group' with the right mouse button,
or by clicking again with the mouse to the left of the group name.
A Profibus-Slave device can only be assigned to those groups whose properties it supports. The
relevant properties of each slave (Sync. Mode / Freeze Mode) are displayed above the table. The
modes supported by the device are checked.
48
XSoft-CoDeSys-2
5 PLC configuration
5.5.3
Bus diagnostic
For configuring the bus diagnostics in the PLC program various function libraries are available.
Please refer to the detailed function descriptions in the relevant documentation of the
function libraries.
XSoft-CoDeSys-2
49
6 Operation
Operation
6.1
Startup behaviour
After startup the controller executes a system test. If there is no error detected, the controller
switches to the operating state "stop" or "run". The system test contains the following tests:
Memory test
PLC-Program test
In addition the operating state of the controller depends of defined startup characteristics ( Chap.
6.4)
6.2
50
XSoft-CoDeSys-2
6 Operation
6.3
After voltage switch on with defined startup characteristics "stop" ( Chap. 6.4)
Run
In the operating state RUN the PLC program is executed cyclically.
The operating state RUN is assumed:
After the power supply is switched on with defined "warm" start characteristics
XSoft-CoDeSys-2
51
6 Operation
6.4
It is also possible to define the startup behaviour after power supply switch on by means of the file
PlcRts.reg in the directory PlcRts.
PlcRts.reg
[HKEY_LOCAL_MACHINE\SOFTWARE\Eaton\PLC Runtimesystem]
...
"Startup"="WARM"
52
Stop "Startup"="STOP
XSoft-CoDeSys-2
6 Operation
6.5
Start behaviour
Procedure
Voltage on
Hardware
ok
?
No
No
PLC
program present?
Retentive
data ok ?
No
Reset cold
Start (Startup)
Startup=
STOP
?
PLC state:
- - -
(No program)
PLC state:
STOPPED
No
Startup=
WARM
?
PLC state
RUNNING
PLC state:
STOPPED
Cold start
A cold start is initiated on the first start after loading the PLC program on the controller or after each
reset cold. All variables of the PLC program are initialized with their startup values and the PLC
program is started.
Warm start
With all further starts of the loaded PLC program or after each reset/reset warm takes place a warm
start. The retentive (RETAIN, RETAIN PERSISITENT) variables keep their values, all remaining
XSoft-CoDeSys-2
53
6 Operation
variables are initialized with their startup values. Variables without explicit startup values are
initialized with their standard startup values.
6.6
Stop behaviour
The processing of the PLC program is stopped at the end of the program cycle. Subsequently, a
reset/reset warm takes place.
6.7
Reset behaviour
Reset / Reset warm
Corresponds to the initialization of warm start
Reset cold
This command resets all variables, also the retentive (RETAIN, RETAIN PERSISTENT) variables to
the startup value.
Reset original
This command resets all variables, also the retentive (RETAIN, RETAIN PERSISTENT) variables to
the startup value and deletes the PLC program on the controller. The controller is set back to the
original state.
54
XSoft-CoDeSys-2
6 Operation
6.8
Force mode
Online change
The PLC program stops only on breakpoints of the task, which is defined in the task
configuration as debug task.
XSoft-CoDeSys-2
55
6 Operation
6.9
Program transfer
If the PLC program was compiled without errors in the PLC programming tool (PC), it can be
downloaded to the main memory of the controller and can be started afterwards ( Chap. 8)
During a program transfer from the PC to the controller, the program in the controller is compared
with the program on the PC. If they are not identical, a prompt asks whether the program to be
overwritten is. If this prompt is confirmed, then the controller is switched to the operating mode "stop"
and the new program is loaded to the main memory.
56
XSoft-CoDeSys-2
6 Operation
Communication error
If no connection can be established between the PLC programming tool and the controller, the
following points are to be checked:
6.9.1
Physical connection
XSoft-CoDeSys-2
57
7.1
Program execution
The operational sequence time of a PLC program is called a "task". In addition to the actual PLC
program, all relevant system activities are processed as well.
For example, this includes the following system activities:
Online changes
58
XSoft-CoDeSys-2
7.2
Task configuration
The task configuration is reached by via <Task configuration> in the 'Resources' tab.
Each task can be assigned a sequence by programs, which are to be executed by the call of the task.
The task priority and task condition specify, in which timing sequence the tasks are to be processed.
A PLC program can consist of several tasks of the same or a different priority, which are processed
cyclically in parameterized time intervals or when particular events occur.
XSoft-CoDeSys-2
59
Task name
Task priority
Task name
Unique task name
Task priority
In order to prioritize the tasks, different task priorities can be assigned. The task priorities can be
defined between 0 and 31. 0 corresponds of the highest and 31 of the lowest priority.
60
XSoft-CoDeSys-2
An event-controlled task presupposes a cyclic task, which must be programmed in the program of the
cyclic task. Each rising edge of the event initiates afterwards the execution program of the eventcontrolled task.
Task monitoring / Watchdog
Each task can be monitored with the help of the watchdog function ( Chap. 7.4)
7.3
Multitasking
The PLC runtime system is a multitask system. This means that several tasks are processed at the
same time. In a multitask system, individual tasks of different priority can interrupt each other.
The consequence of this is that the consistency of the input/output image is only ensured within the
task which accesses the input/output image. If several tasks of different priority access the same
input/outputs, consistency is only present with the task with the highest priority ( Chap. 7.9)
7.4
Always avoid the access of the physical input/outputs by several tasks in order to ensure a
clear controller process.
Watchdog on/off
Watchdog time
Watchdog sensitivity
If the watchdog for the appropriate task is deactivated in the task configuration, no task
monitoring will take place.
In a PLC program without a task configuration, the task monitoring is defined and activated
with a watchdog time of 10ms by default.
XSoft-CoDeSys-2
61
Functionality
The watchdog is started at the beginning of each processing cycle and terminated after successful
processing. The watchdog is triggered if the task duration is longer than the defined task interval.
The triggering of the watchdog depends further on watchdog sensitivity. The watchdog sensitivity
specifies how many timeouts of the sequential task duration will cause the watchdog to be triggered.
The watchdog is triggered:
with a watchdog sensitivity of x, only after there have been x timeouts in succession of the
watchdog.
The watchdog is also triggered by a continuous loop if the task duration is longer than the result
from watchdog time * watchdog sensitivity. This criterion is used to detect and respond to
continuous loops with pre selected watchdog functionality.
If you define a watchdog time of 10ms and the watchdog sensitivity of 5, the task is terminated at the
latest after 10ms * 5 = 50ms.
The following examples should explain context of task interval, task duration and watchdog time.
defined sensitivity = 2
Example 1
Task interval
Task duration: 4 ms
Task interval
Task interval
Task interval
Task interval
..
4 ms
4 ms
4 ms
4 ms
4 ms
The watchdog timing is not triggered, because the task duration remains continually within the
defined task interval.
Example 2
Task interval
Task duration: 12 ms
Task interval
Task interval
Task interval
Task interval
4 ms
4 ms
12 ms
..
The watchdog timing is not triggered, because 2 timeouts of the sequential task duration do not occur
in succession.
62
XSoft-CoDeSys-2
Example 3
Task interval
Task interval
Task duration: 12 ms
Task interval
Task interval
Task interval
..
12 ms
The watchdog is triggered 8ms after the beginning of second task processing, because both task
durations are longer than the indicated watchdog time and occur consecutively.
Example 4 (continuous loop)
Task interval
Task interval
Task interval
Task interval
Task interval
..
Task duration: 16 ms
The watchdog timing is triggered, because the task duration is longer than the multiplication of
watchdog time and watchdog sensitivity.
XSoft-CoDeSys-2
63
7.5
Data retention
The controller has a storage area for retentive data (RETAIN, RETAIN PERSISTENT). This data is
stored when switching the controller off.
If in certain circumstances a voltage drop terminates program processing in the middle of the
program cycle, the data of the current program cycle will not be consistent.
With the next startup the controller is initialized with the data which was still written correctly by
voltage drop.
Variable behaviour
Action
VAR
VAR RETAIN
VAR PERSISTENT
VAR RETAIN
Initialization value
Value retained
Initialization value
Value retained
Initialization value
Value retained
Initialization value
Value retained
Initialization value
Initialization value
Initialization value
Initialization value
Initialization value
Initialization value
Initialization value
Initialization value
Initialization value
Initialization value
Value retained
Value retained
PERSISTENT
7.6
7.7
Direct periphery accesses (e.g. process image) are implemented for each specific target.
Interrupt processing
64
The variable behaviour of global variables corresponds also to the variable behaviour of local
variables.
XSoft-CoDeSys-2
7.8
7.9
Please refer to the detailed function descriptions in the relevant documentation of the
function libraries.
When creating the program concurrent accesses (i.e. access to the same input/output
address from several tasks) should be avoided. This can lead to an inconsistent input/output
image!
Warnings of concurrent access are displayed in the message window when compiling the
PLC program.
The processing of the input/output image varies according to the different bus systems and the
corresponding transmission mechanisms.
XSoft-CoDeSys-2
65
7.9.1
CAN-Bus
The inputs or outputs are packed in PDOs up to 8 byte data length. The Rx- and Tx-PDOs are
updated in the task with the highest priority, which the PDO references.
The used inputs or Rx-PDOs are read at the beginning of the task and transferred to the input image.
The used outputs or Tx-PDOs are taken from the output image at the end of the task and written
afterwards.
7.9.2
If the same Rx- or Tx-PDOs are used in different tasks, this can lead to cycle-inconsistent
data:
With inputs it may occur that values are changed within a lower priority task cycle, because
the inputs are read again by a task with higher priority.
Outputs can be sent too soon by another task, because the outputs are written again by a
higher priority task.
Profibus
Profibus-Master CMM-MPI
The inputs and outputs are updated in an additional cyclic system task (driver task). This takes place
asynchronously to the tasks of the PLC program.
The used inputs are read from the driver task at the beginning of the task and transferred to the input
image.
The used outputs are taken from the output image at the end of the task, transferred to the driver task
and written afterwards.
66
XSoft-CoDeSys-2
8.1
XSoft-CoDeSys-2
67
Communication parameters
The 'Communication parameters' dialog is reached in the PLC programming tool via menu item
<Online> <Communication parameters>. In this dialog the parameters are defined, which are valid for
the communication between the programming PC and the controller.
All already created communication routes are listed in the 'Communication parameters' dialog under
"Channels". Select now one of the channels, by clicking an entry with the mouse. The appropriate
parameters are then indicated in the table. For a connection via Ethernet a channel of the type Tcp/Ip
(level 2 route) should be used. The parameter address specifies the IP address of the controller
which is used to communicate by this channel.
68
XSoft-CoDeSys-2
The input field Name automatically contains the name used for the last entered channel. If no
channel has yet been defined, the current gateway name will be offered, followed by an underline
character, e.g. 'localhost_'. You can edit the channel name at this point. The channel name is purely
informative, it does not have to be a unique name but it is recommended that one should be used.
The available device drivers on the gateway computer are listed in the table under Device. In the
Name column, click the driver Tcp/Ip (Level 2 Route) in order to select it. The corresponding
comment, if any, appears in the Info column.
If you close the dialog 'New channel' with OK, the newly defined channel appears in the
'Communication Parameters' dialog as a new entry in Channels at the lowest position under the
minus sign. So far, it is only stored locally in the project. At this point you can edit the Value column.
Double click on the column value/row address and put the IP address of the controller and complete
the entry with Return. Now confirm the entered parameters with OK, thus leaving the
'Communication Parameters' dialog.
The parameters for a channel already known by the gateway server can no longer be edited in the
configuration dialog. The parameter fields appear grey. You can, however, delete the connection as
long as it is not active.
Please note that the deletion of a channel is not reversible. It occurs at the moment that you press on
the button Remove !
Save your PLC program with the new communication parameters, compile this and
afterwards log on the controller.
Make sure that the IP addresses of the programming PC and the controller belong to the
same address family. Please refer to detailed information in the documentation "Networks in
brief".
XSoft-CoDeSys-2
69
70
Please refer to detailed information in the CoDeSys V2.3 user manual or the online help of
the PLC programming tool.
XSoft-CoDeSys-2
10 PLC browser
10
PLC browser
The PLC browser is a text-based controller monitor (terminal). Commands for the request of specific
information from the controller are entered in an entry line and sent as string to the controller. The
returned response string is displayed in a result window of the PLC browser. This functionality is used
for diagnostics and debugging tasks.
The PLC browser is reached via <PLC-Browser> in 'Resources' tab.
These commands are managed in a file and implemented accordingly in the PLC runtime system.
Command
?
...
...
Description
Gets the list of implemented and available commands
...
...
In order to use the PLC browser functionality, you must be connected online with the target
system.
XSoft-CoDeSys-2
71
11 Alarm configuration
11
Alarm configuration
All PLC target systems with enabled target visualization support the CoDeSys alarm configuration
( Chap. 4.5).
72
Please refer to detailed information in the CoDeSys V2.3 user manual, the CoDeSys
visualization user manual or the online help of the PLC programming tool.
XSoft-CoDeSys-2
12
12.1
If the simulation is activated in the 'Online' menu item, the functionality 'symbol configuration'
does not appear in the 'Options' dialog.
In order for the symbol file to be generated during compilation the option Dump symbol entries must
be activated.
The Configure symbol file button is used to define from which objects the variables are exported
into the symbol file.
It is recommended that only the variables needed for the variable exchange with visualization
are exported into the symbol file. Therefore the range of these variables should be
structured. This is done by defining global variable sheets or by using of pragma-instructions.
XSoft-CoDeSys-2
73
Please refer to the detailed information in the CoDeSys V2.3 user manual or the online help
of the PLC programming tool.
All objects are selected by default. When first opening this dialog therefore deactivate the 'Export
variables of object' option for all objects.
74
XSoft-CoDeSys-2
Now activate selectively the 'Export variables of object' option for the desired objects.
XSoft-CoDeSys-2
75
12.2
76
XSoft-CoDeSys-2
13
Activate in the area "Update operating system" the button Start und select appropriate Firmware.
XSoft-CoDeSys-2
77
FTP Installation : The installation of the directories PlcRts and PlcPrg is made by FTP.
Installation to a removable drive : The removable drive (e.g. CompactFlash) must be available
on the programming PC by an adapter (e.g. PC Card adapter). The installation of the directories
PlcRts and PlcPrg takes place directly on the removable drive.
Installation to a local directory : The installation of the directories PlcRts and PlcPrg takes place in
a local directory on the programming PC. Subsequently, the directories PlcRts and PlcPrg must be
copied manually into the root directory on removable drive (e.g. CompactFlash).
78
The listings PlcRts and PlcPrg are not deleted with a target system installation or firmware
update. Existing files are only overwritten.
XSoft-CoDeSys-2
14 Licensing
14
Licensing
14.1
14.2
If no series number or license key is available by the installation of the PLC programming
tool, the target systems are installed in the demo mode.
If license points are missing with the start of the PLC runtime system, the processing of the
PLC program is not started. The PLC program starts in the operating state "stop".
The processing of the PLC program can be made afterwards in the PLC programming tool via menu
item <Online> <Start>.
14.3
Target visualization
The Target visualization is license requiring and needs 100 license points on the PLC target.
If license points are missing with the start of the PLC runtime system, the processing of the
PLC program is not started. The PLC program starts in the operating state "stop".
The processing of the PLC program can be made afterwards in the PLC programming tool via menu
item <Online> <Start>.
14.4
Web visualization
The Web visualization is not license requiring and needs no license points on the PLC target.
XSoft-CoDeSys-2
79