Engineering Interface (ENI)
The ENI interface ('Engineering Interface') allows to connect the 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 functionality by making possible the following items:
- Revision control for projects and associated ressources (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. (This does not apply to the using of a local data system as data base.)
- 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 TwinCAT PLC Control 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 TwinCAT PLC Control or which also produce data.
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 TwinCAT PLC Control 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 5.0' and 'Visual SourceSafe 6.0' 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. Furtheron in parallel you can store any objects just locally in the project as usual for projects without source control. The *.pro file is the local working copy of an project managed by the data base.
Preconditions for Working with an ENI project data base
If you want to use the ENI in TwinCAT PLC Control to manage the project objects in an external data base, the below mentioned preconditions must be fulfilled:
![]() | For a guide concerning installation and usage of the ENI Server please see the separate server documentation TS1600 | TwinCAT ENI Server. 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. |
- the communication between TwinCAT PLC Control 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 the standard database drivers which are 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 administration tool (ENI Admin) the following must be configured:
- the user must be registered and have access rights (User Management)
- the access rights concerning the data base folders must be set correctly (Access Rights)
- Recommendation: the administrator password for the access to ENIAdmin.exe and ENIControl.exe should be defined immediately after the installation
- 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.
- a 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 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 project the ENI interface must be activated (to be done in the TwinCAT PLC Control dialog 'Project' 'Options' 'Project data base').
- for the current project the connection to the data base must be configured correctly; this is to be done in the TwinCAT PLC Control dialogs 'Project' 'Options' 'Project data base'.
- in the current project the user must log in to the ENI Server with username 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.
Working with the ENI project data base
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 project as soon as the connection to the data base has been activated and configured correctly. See for this 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').
Object categories concerning the project data base
There are four categories of objects of a TwinCAT PLC Control 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.
- If an object should not be stored in the data base, it will be assigned to category 'Local', which means that it will be handled as it is known for projects without any source control.
Thus in the programming system an 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', but it can be modified anytime in the 'Object Properties' dialog.
Each ENI object category will be configured separately in the settings for the 'ENI settings' ('Project' 'Options', category project data base). 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 (username, password) to each data base category separately; this will be done via the 'Login' dialog ('Project' 'data base agssignment' 'Login').
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:
Requirements
| Description |
---|---|
Project | For objects representing project-specific source information, e.g. shared function blocks within a project, important for multi-user operation. The 'Get All' command automatically fetches all objects of this category from the project directory of the database into the local project, even those that were not yet created there. |
Shared objects | For general-purpose, project-independent objects, such as block libraries, which are normally used by several users in different projects. |
Compilation files | For the project-specific compile information (e.g. symbol files) automatically generated by TwinCAT PLC Control, which is also required by other tools. For example, a visualization requires the variables of a programming system including the addresses, which, however, are only assigned during compilation. |
![]() | Optionally, project function blocks can also be excluded from management in the project database and saved exclusively locally, i.e. only with the project, as is traditionally the case. |