7 - ENI 
CoDeSys V2.3 
 7-1 
 ENI 
7.1.1  What is ENI 
The ENI ('Engineering Interface') allows to connect the CoDeSys programming system to an 
external 
data base
. There the data which are needed during creation of an automation project can be stored. 
The usage of an external data base guarantees the consistency of the data, which then can be shared 
by  several  users,  projects  and  programs.  Also  it  extends  the  CoDeSys  functionality  by  making 
possible the following items: 
Revision control
for CoDeSys projects and associated resources (shared objects): If a object has 
been checked out from the data base, modified and checked in again, then in the data base a new 
version of the object will be created, but the older versions will be kept also and can be called 
again on demand. For each object and for a whole project the version history will be logged. Two 
versions can be checked for differences. 
Multi-User Operation
: The latest version of a sample of objects, e.g. of POUs of a project, can be 
made accessible for a group of users. Then the objects which are currently checked out by one of 
the users will be marked as "in the works" and not editable by the other users. Thus several users 
can work in parallel on the same project without risking to overwrite versions mutually. 
Access by external tools
: Besides the CoDeSys programming system also other tools, which have 
an ENI too, can access the common data base. These might be e.g. external visualizations, ECAD 
systems etc., which need the data created in CoDeSys or which also produce data which are 
needed by other programs. 
The ENI is composed of a 
client 
and a 
server
part. So it is possible to hold the data base on a remote 
computer, which is required for multi-user operation. The CoDeSys programming system is a client of 
the independent 
ENI Server Process
as well as another application, which needs access to the data 
base (Please see the separate documentation on the 
ENI Server
). 
Currently the ENI supports the data base systems 'Visual SourceSafe 6.0', 'MKS Source Intergrity', 
'PVCS Version Manager' V7.5 and higher and a local file system. Objects can be stored there in 
different 'folders' (data base categories with different access properties). The objects can be checked 
out for editing and thereby will get locked for other users. The latest version of an object can be called 
from the data base. Further on in parallel you can store any objects just locally in the project as usual 
for projects without source control. 
7.1.2  Preconditions for Working with an ENI project data base 
Please regard:
For a guide concerning installation and usage of the 
ENI Server
provided by 3S – Smart Software 
Solutions GmbH please see the separate server documentation resp. online help. There you will also 
find a quick start guide. 
Also  consider the possibility of  using the 
ENI Explorer
which  allows to  perform data  base actions 
independently from the currently used data base system.  
If you want  to use the ENI
in the CoDeSys  programming  system in  order to  manage the project 
objects in an external data base, the following preconditions must be fulfilled:  
the communication between CoDeSys and the ENI Server requires 
TCP/IP
, because the 
ENI Server
uses the HTTP-Protocol.  
an 
ENI Server
(
ENI Server Suite
) must be installed and started locally or on a remote computer. A 
license is required to run it with one of the standard database drivers which has been installed with 
the server. Just the  driver for a  local file system can be  used  with  a non-licensed ENI Server 
version. 
in the 
ENI Server
service control tool (
ENI Control
) the connection to the desired data base must be 
configured correctly (Data base). You will automatically be asked to do this during installation, but 
you can modify the settings later in 
ENI Control
Convert pdf to url online - Library software class:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
www.rasteredge.com
Convert pdf to url online - Library software class:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
www.rasteredge.com
Tools 
7-2 
CoDeSys V2.3 
project data base
for which an ENI-supported driver is available, must be installed. It is reasonable 
to do this on the same computer, where the 
ENI Server
is running. Alternatively a local file system 
can be used, for which a driver will also be provided by default. 
in  the 
data  base  administration
possibly  the  user  (Client)  as  well  as  the  ENI  Server  must  be 
registered as valid users with access rights. Anyway this is required for the 'Visual SourceSafe', if 
you use another data base system, please see the corresponding documentation for information 
on the user configuration. 
for the current CoDeSys project the 
ENI interface must be activated
(to be done in the CoDeSys 
dialog 'Project' 'Options' 'Project data base'). (It is possible to switch in a user definition in ENI, e.g. 
for  the  purpose  of  defining  more  detailed  access  rights  as  it  is  possible  in  the  data  base 
administration. But in general it is sufficient if the user who wants to log in to the data base via ENI, 
is registered in the data base.  
for the current CoDeSys project the 
connection to the data base
must be configured correctly; this is 
to be done in the CoDeSys dialogs 'Project' 'Options' 'Project source control.  
in the current project the user must 
log in to the ENI Server
with user name and password; this is to 
be done in the Login dialog, which can be opened explicitly by the command 'Project' 'Data Base 
Link'  'Login'  resp. which  will be  opened automatically in case you try to access the data base 
without having logged in before. 
7.1.3  Working with the ENI project data base in CoDeSys 
The data base commands (Get Latest Version, Check Out, Check In, Version History, Label Version 
etc.) which are used for managing the project objects in the ENI project data base, will be available in 
the current CoDeSys project as soon as the connection to the data base has been activated and 
configured correctly. See for this the Preconditions for Working with an ENI project data base . The 
commands then are disposable in the submenu 'Data Base Link' of the context menu or of the 'Project' 
menu and refer to the object which is currently marked in the Object Organizer.  
The current assignment of an object to a data base category is shown in the Object Properties and 
can be modified there. 
The properties of the data base categories (communication parameters, access rights, check in/check 
out  behaviour)  can  be modified in  the  option  dialogs  of  the  project  data base  ('Project'  'Options' 
'Project Source Control'). 
7.1.4  Object categories concerning the project data base 
There are four
categories of objects of a CoDeSys project concerning the project source control: 
The ENI distinguishes three categories ("ENI object categories") of objects which are managed in the 
project data base: Project objects, Shared objects, Compile files.  
The category 'Local', to which an object will be assigned if it should not be stored in the data base. 
That means that it will be handled as it is known for projects without any source control. 
Thus in the programming system a CoDeSys object can be assigned to one of the categories 'Project 
objects', 'Shared objects' or 'Local'; the 'Compile files' do not yet exist as objects within the project. 
Assigning  an  object  to  one  of  the  categories  is  done  automatically  when  the  object  is  created, 
because this is defined in the project options dialog 'Project source control', or explicitly via command 
'Project' 'Data Base Link' 'Define' or 'Multiple Define', but it can be modified anytime in the 'Object 
Properties' dialog.  
Each ENI object category will be configured separately in the settings for the 'Project source control' 
which are part of the project options ('Project' 'Options'). That means that each category gets defined 
own parameters for the communication with the data base (directory, port, access right, user access 
data etc.) and concerning the behaviour at calling the latest version, checking out and checking in. 
These settings then will be valid for all objects belonging to the category. As a result you will have to 
log in to each data base category separately; this will be done via the 'Login' dialog.  
Library software class:VB.NET PDF url edit library: insert, remove PDF links in vb.net
PDF editing APIs, VB.NET users will be able to add a url to specified area on PDF page and edit hyperlinks within the document. This online tutorial will give
www.rasteredge.com
Library software class:C# PDF url edit Library: insert, remove PDF links in C#.net, ASP.
Help to extract and search url in PDF file. By using specific PDF editing APIs, C# users will be able to This online C# tutorial is mainly about how to edit PDF
www.rasteredge.com
7 - ENI 
CoDeSys V2.3 
 7-3 
It is advisable to create a separate folder for each object category in the data base, but it is also 
possible to store all objects in the same folder. (The 'category' is a property of an object, not of a 
folder.)  
See in the following the three ENI object categories: 
Project Objects
Objects which contain project specific source information, e.g. POUs 
which are shared in a multi-user operation. The command 'Get all latest 
versions' automatically will call all objects of this category from the data 
base to the local project; even those, which have not been there so far. 
Shared Objects
 Objects which are not project specific, e.g. POU libraries which normally 
are used in several projects.    
Attention:
The command 'Get  all  Latest  Versions'  only  will  copy those 
objects of this category from the project folder to the local project, which 
are already part of the project !  
Compile files
:  
Compile information (e.g. symbol files) which is created by CoDeSys for 
the  current  project and which  may be  needed  by other programs  too. 
Example:  An  external  visualization  may  need  not  only  the  project 
variables, but also the assigned addresses. The latter will not be known 
until the project is compiled.  
Alternatively any objects of the CoDeSys project can be excluded from the project source control and 
can be assigned to category 'Local', which means that they are just stored with the project as usual for 
projects without any source control. 
Library software class:C#: How to Open a File from a URL (HTTP, FTP) in HTML5 Viewer
svg, C#.NET convert PDF to text, C#.NET convert PDF to images VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET How to Open a File from a URL (HTTP, FTP) and Show
www.rasteredge.com
Library software class:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
NET extract PDF pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET convert PDF to SVG. Able to load PDF document from file formats and url.
www.rasteredge.com
Tools 
7-4 
CoDeSys V2.3 
Library software class:VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
csv to PDF, C#.NET convert PDF to svg, C#.NET convert PDF to text, C#.NET convert PDF to images Able to load PDF document from file formats and url in ASP
www.rasteredge.com
Library software class:VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
PDF to Text. Convert PDF to JPEG. Convert PDF to Png to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
www.rasteredge.com
8 - DDE Interface 
CoDeSys V2.3 
 8-1 
 DDE Interface 
DDE Communication with CoDeSys 
CoDeSys
has  a  DDE  (dynamic  data  exchange)  interface  for  reading  data. 
CoDeSys
uses  this 
interface to provide other  applications  that also  use a DDE  Interface with  the contents of  control 
variables and IEC addresses 
If  the  GatewayDDEServer  is  used,  which  works  with  symbols, 
CoDeSys
is  not  needed  to  read 
variables values from the PLC and to transfer them to applications with an DDE interface. 
Attention:
Direct addresses cannot be read via the DDE Server! For this case in CoDeSys variables with the 
appropriate address assignment (AT) have to be declared.  
Attention:
The DDE  interface has  been  tested  with Word 97  and Excel  97 on Windows NT 4.0.  If the DDE 
communication fails caused by a mismatch of other versions or additionally installed programs on a 
computer, 3S – Smart Software Solutions cannot take any responsibility. 
8.1  DDE interface of the CoDeSys programming system... 
Activating the DDE Interface 
The DDE interface becomes active as soon as the PLC (or the simulation) is logged in. 
General Approach to Data 
A DDE inquiry can be divided into three parts: 
1. Name of the program (here: CoDeSys), 
2. File name and  
3. Variable name to be read. 
Name of the program: 
CoDeSys
File name: complete project path (c:\example\example.pro).  
Variable name: The name of a variable as it appears in the Watch- and Recipe Manager . 
Which variables can be read? 
All addresses and variables are readable. Variables or addresses should be entered in the format 
used in the Watch- and Recipe Manager  
Examples: 
%IX1.4.1 
(* Reads the input 1.4.1*) 
PLC_PRG.TEST (* Reads the variable TEST from the POU PLC_PRG*) 
.GlobVar1 
(* Reads the global variable GlobVar1 *) 
Linking variables using WORD 
In order to get the current value of the variable TEST from the POU PLC_PRG through the DDE 
interface in Microsoft WORD, a field (e.g., the date) must be inserted in WORD ('Insert' "Field"). Now 
when you click on the field with the right mouse button and select the command "Toggle Field Codes" 
you can change the field function for the chosen text. In our example, this would look as follows: 
{ DDEAUTO CODESYS "C:\CODESYS\PROJECT\IFMBSP.PRO" "PLC_PRG.TEST" } 
Click on the field with the right mouse button again, then click on "Update Field" and the desired 
variable content appears in the text.  
Library software class:VB.NET PDF Library SDK to view, edit, convert, process PDF file
Able to render and convert PDF document to/from supported document package offers robust APIs for editing PDF document hyperlink (url), which provide
www.rasteredge.com
Library software class:C# HTML5 PDF Viewer SDK to convert and export PDF document to
Convert PDF to Png, Gif, Bitmap PDF. Image: Insert Image to PDF. Image: Remove Image from PDF Page. Copy, Paste, Cut Image in Page. Link: Edit URL. Bookmark: Edit
www.rasteredge.com
DDE communcation with the GatewayDDE Server... 
8-2 
CoDeSys V2.3 
Linking variables using EXCEL 
The following must be entered in Microsoft EXCEL before you can assign a variable to a cell. 
=CODESYS|'C:\CODESYS\PROJECT\IFMBSP.PRO'!PLC_PRG.TEST' 
When you click on 'Edit' then "Links", the result for this link will be: 
Type: CODESYS 
Source file: C:\CODESYS\PROJECT\IFMBSP.PRO 
Element: PLC_PRG.TEST 
Accessing variables with Intouch 
Link with your project a DDE Access Name <AccessName> with the application name CODESYS and 
the DDE topic name C:\CODESYS\PROJECT\IFMBSP.PRO. 
Now you can associate DDE type variables with the access name <AccessName>. Enter the name of 
the variable as the Item Name (e.g., PLC_PRG.TEST). 
8.2  DDE communcation with the GatewayDDE Server... 
Handling of the GatewayDDE Server 
The  GatewayDDE  Server  can  use  the  symbols  which  are  created  in 
CoDeSys
for  a  project  to 
communicate with other clients or the PLC. (see 'Project' 'Options' 'Symbolconfiguration'). It can serve 
the DDE interfaces of applications like e.g. Excel. This allows to transmit the variables values of the 
PLC to an applications, e.g. for the purpose of monitoring. 
At  start  of  the  GatewayDDE  Server  a  window  opens,  where  the  configuration  of  start  and 
communication parameters can be done. A already existing configuration file can be called or the 
parameters can be set newly.  
Starting dialog of the GatewayDDE Server    
Using  the  command 
'File'  'Open'
you  can  call  an  already  existing  file  which  stores  a  set  of 
configuration parameters. The standard dialog for selecting a file will open and available files with the 
extension ".cfg" will be offered. If a configuration file is selected, the configuration parameters and the 
defined target device are displayed  
If the option 
'File' 'Autoload'
is activated, the GatewayDDE Server  automatically opens with  that 
configuration, which was active before the last terminating of the server.  
If the server is started without any predefined configuration and without the setting Autoload, then in 
the configuration window 'Gateway:'  und 'Device:' are  displayed. Then  you  have  to set up a new 
configuration. 
The command 
'File' 'Settings'
opens the dialog '
Server settings
', in which the following parameters 
can be set:  
Library software class:XDoc.HTML5 Viewer for .NET, Zero Footprint AJAX Document Image
View, Convert, Edit, Sign Documents and Images. Open file from URL (HTTP.FTP are dedicated to provide powerful & profession imaging controls, PDF document, image
www.rasteredge.com
Library software class:VB.NET Image: VB Code to Download and Save Image from Web URL
Apart from image downloading from web URL, RasterEdge .NET Imaging SDK still dedicated to provide powerful & profession imaging controls, PDF document, image
www.rasteredge.com
8 - DDE Interface 
CoDeSys V2.3 
 8-3 
Dialog for configuring the GatewayDDE Server 
Motorola byteorder 
Motorola Byteorder used 
Check identity 
It will be checked, whether the project ID given by the symbol file is the same 
as that stored in the PLC. 
Updaterate [ms] 
Time interval for reading all symbol values from the PLC. 
Timeout [ms] 
Communication timeout for the used driver. 
Tries  
Number of retries of the communication driver to transfer a data block (not 
supported by all drivers !)  
To set up the connection to the Gateway, the dialog 
'Communication Parameters'
is opened by the 
command  'Online'  'Parameters'.  It  is  the same dialog as  you  get  in 
CoDeSys
with the command 
'Online'  'Communication  parameters'.  The  settings  you  do  here  must  be  the  same  as  in  the 
corresponding 
CoDeSys
Project. 
The actual configuration of the GatewayDDE Server can be stored in a file by the command 
'File' 
'Save'
. The standard dialog for saving a file will open, default for the extension of the file is *.cfg. 
To get the gateway in active mode, log in by the command 
'Online' 'Login'
. (The gateway symbol in 
the status bar will get lightened then.) At login the desired connection will be built up and the available 
symbols can be accessed.. These must have been created before in the 
CoDeSys
Project!  
To log out use the command 
'Online' Logout'
General Approach to Data 
A DDE inquiry can be divided into three parts: 
1. Name of the program 
2. File name 
3. Variable name to be read 
Name of the program: 
GatewayDDEServer
File name: name of the project from which variables shoud be read (e.g. example.pro).  
Variable name: The name of a variable as it appears in the Watch- and Recipe Manager . 
Which variables can be read? 
All variables can be read. The variables should be entered in the format used in the Watch- and 
Recipe Manager. Regard that direct addresses cannot be read!  
Examples: 
PLC_PRG.TEST  (* Reads the variable TEST from the POU PLC_PRG*) 
.GlobVar1 
(* Reads the global variable GlobVar1 *) 
DDE communcation with the GatewayDDE Server... 
8-4 
CoDeSys V2.3 
Linking variables using WORD 
Start the GatewayDDEServer before activating the inquiry in WORD. 
In order to get the current value of the variable TEST from the POU PLC_PRG through the DDE 
interface in Microsoft WORD, a field (e.g., the date) must be inserted in WORD ('Insert' "Field"). Now 
when you click on the field with the right mouse button and select the command "Toggle Field Codes" 
you can change the field function for the chosen text. In our example, this would look as follows: 
{ DDEAUTO GATEWAYDDESERVER "BSP.PRO" "PLC_PRG.TEST" } 
Click on the field with the right mouse button again, then click on "Update Field" and the desired 
variable content appears in the text.  
Linking variables using EXCEL 
Start the GatewayDDEServer before activating the inquiry in EXCEL. 
The following must be entered in Microsoft EXCEL before you can assign a variable to a cell. 
=GATEWAYDDESERVER|<Dateiname>!<Variablenname> 
Beispiel: 
=GATEWAYDDESERVER|'bsp.pro'!'PLC_PRG.TEST' 
When you click on 'Edit' then "Links", the result for this link will be: 
Type: CODESYS 
Source file: C:\CODESYS\PROJECT\IFMBSP.PRO 
Element: PLC_PRG.TEST 
{ DDEAUTO GATEWAYDDESERVER "BSP.PRO" "PLC_PRG.TEST" } 
Command line options for the GatewayDDEServer 
If the GatewayDDE Server is started by a command line, the following options can be attached: 
/n 
The info dialog does not appear automatically 
at starting 
/s 
Display of the dialog window 
/s=h 
/s=i 
/s=m 
/s=n 
No 
minimized (icon) 
maximized 
normal 
/c 
Configuration file to be load automatically l 
/c=<config-
file> 
/o 
Go  online  with  the  selected  configuration 
(autoload or defined by "/c=")  
Example:  
Command line: 
GATEWAYDDE /s=i /c="D:\DDE\conf_1.cfg" 
The GatewayDDE Server will be started, the dialog window will appear as an icon, the configuration 
which is stored in the file conf_1.cfg will be loaded. 
9 - The License Management in CoDeSys 
CoDeSys V2.3 
 9-1 
 The License Management in CoDeSys 
9.1  The License Manager 
The 3S License Manager is available to handle the licenses for 3S modules, as well as licenses for 
modules for which an appropriate license information file is provided, on your computer. In CoDeSys 
you can create a project and provide it as a licensed library. The Licensing Manager will be installed 
automatically with any 3S module, which requires a license. 
See also: 
Separate documentation provided with the 
3S Licensing Manager
Creating a licensed library in CoDeSys, Chapter 9.1.1. 
9.1.1  Creating a licensed library in CoDeSys 
As is known a CoDeSys project can be saved as a library. If you want to create a licensed library you 
have to add  the appropriate 
license information
 For this perform the  command 'File'Save as...', 
choose data type 'Internal Library' or 'External Library' and press button 
Edit license info.... 
In  the  dialog 
Edit  Licensing  Information
enter  the  information  described  below.  The  license 
information will be added to the Project Info. When later on the library will be included in a CoDeSys 
project, the license information can be checked up in the object properties dialog of the library in the 
library manager.  
Dialog: Edit Licensing Information   
Common: 
Name:
Enter a name for the library module which is used to represent it in the 
3S Licensing Manager
This input is mandatory. 
The License Manager 
9-2 
CoDeSys V2.3 
Vendor-ID:
A manufacturer identifier, depending on the manfacturer specific licensing management 
tool. 
Demo mode:
Activate this option if the module should be usable in demo mode that means without 
any license ID. Enter the number of
days
after which the "demo license" should expire. The number of 
days will be automatically rounded up to the next number which is divisible by ten (10, 20, 30 ...). If the 
module should be usable without time limitation, enter “unlimited” (available in the selection list). 
Targets:
Enter here the target ID(s) of the target system(s) for which the license should be valid. 
Multiple inputs must be separated by a comma or a semicolon. Multiple IDs can be inserted separated 
by semicolons resp. as ranges. Example: "12;15-19;21" 
Contact:
Licensing via phone:
Licensing per via mail:
Insert here the phone number resp. email address of 
the license provider. These inputs are mandatory. 
Optional information:
In the right window you can enter a text referring to the item currently marked in the left window: 
Description, Manufacturer, Vendor, Pricing information 
Please note:  
1.  It  is reasonable  to protect  a  library,  which has been  provided  with  licensing  information,  by  a 
password. If you  are going to save the project without  password you will be  pointed  to  that by a 
message box. 
2. The licensing information of a 3S library is stored internally with the library and will be registered on 
the computer automatically as soon as the library is included in a project. But the license information 
of  modules  which  are  not  provided  by  3S  must  be  provided  in  a  separate 
description  file
in 
compatible XML format, which can be read by the 3S Licensing Manager.   
For this also see the separate documentation on the 
3S Licensing Manager. 
Documents you may be interested
Documents you may be interested