Sign inSign up

copadata/service-engine-windows

By copadata

Updated over 2 years ago

Service Engine in Docker

Image
0

474

copadata/service-engine-windows repository overview

What is zenon?

zenon is a software platform from COPA-DATA for manufacturing and the energy industry. Machines and equipment are controlled, monitored and optimized. zenon’s particular strength is open and reliable communication in heterogeneous production facilities. Open interfaces and over 300 native drivers and communication protocols support the horizontal and vertical integration. This allows for continuous implementation of the Industrial IoT and the Smart Factory. Projects with zenon are highly scalable.

zenon is ergonomic, both for the engineer and for the end user. The engineering environment is flexible and can be used for a wide range of applications. The principle of “setting parameters instead of programming” helps engineers to configure projects quickly and without errors. Complex functions for comprehensive projects are supplied out-of-the-box to create intuitive and robust applications. Users can thereby contribute to increased flexibility and efficiency with zenon

QuickStart with zenon Service Engine and Docker

Creating a container with zenon Service Engine

You can create a container for a zenon Service Engine. This container contains a reference to the zenon files. Log files, Service Engine files and licenses are stored there.
In addition to this short manual, a complete user documentation is also available.

To create the container:

  1. On your host, create a folder in which the Service Engine files of your Service Engine container are stored. Settings information and projects are stored there. This folder is called data path in the documentation. You can find the structure in the zenonDataTemplate.zip.
  2. Copy the Service Engines files into the data-path\projects subfolder. If this folder is empty, the files will be created in the container the first time the Service Engine is started.
  3. Configure the zenon installation. To do this, edit the files in data path. You can find detailed information on this in the zenon Configure Service Engine for Docker chapter.
  4. Change the values in the zenon6.ini (data path\system\zenon6.ini):
    • VBF30: path to the Service Engine project. For example: C:\zenondata\projects[workspace]
    • DEFANWENDUNG30: Name of the Service Engine project.
  5. Change the settings.xml (data-path\settings.xml). Here you can configure the license server, the primary DNS name and the processes to be started.
  6. Open PowerShell.
  7. Enter the following command: docker run -d -v [data-path]:C:\zenondata --name [Container-Name] copadata/service-engine-windows
    • data-path: path to the folder which should contain the saved data. The path you created in the first step.
    • Container name: name of the newly created container, for example: zenon Example: docker run -d -v C:\zenondata:C:\zenondata --name zenon copadata/service-engine-windows In this way, the files are created in the [data-path] folder.
    • Stop the container. To do this, enter: docker stop [Container-Name] Container name: Name of the container which was created before with docker run.

Configure zenon Service Engine for Docker

REQUIREMENTS

To be able to use zenon in a Docker container, the required services must be available. These are automatically activated during installation. This makes it possible:

  • to transfer Service Engine files by remote transport
  • to read back Service Engine files by remote transport
  • to automatically start, reload and close Service Engine
FOLDERS AND FILES

For the start, all the necessary subfolders and files must be available in the data path:

  • System\K5LICENSE.INI: license for zenon Logic.
  • System\License.ini: license for zenon.
  • System\zenon6.ini: settings for zenon
  • settings.xml: Settings for license server, container start behavior and Primary DNS-Suffix.
  • Projects\: collects project files.
  • LOG\: collects log files.

The configured license server is checked during the start. If a valid network license is available, Service Engine is licensed. If there is no valid license available, Service Engine cannot be started.

LOGGING

If a functionality is used in the Service Engine which is not supported by Docker, an entry is made in the log file. Locations:

  • zenon log files: ...\ [data path]\LOG Can be viewed with Diagnosis Viewer.
  • Docker log files: Windows Logs\Application ... Can be viewed with Windows Event Viewer.
CONFIGURATION

To configure zenon for use in a Docker image, the files settings.xml, license.ini and zenon6.ini must be modified using a text editor.

SETTINGS.XML

In the settings.xml file, you can configure:

  • CodeMeter license server: This entry is needed by license.ini.
  • Primary DNS suffix: For network forwarding.

To configure settings.xml:

  1. Go to the ...\ path [data path]\.
  2. Open the settings.xml file.
  3. Go to the <CodeMeterLicenseServer> section.
    • Enter the name of the computer on which the license is stored between the Tags <Address> and </Address>.
  4. Repeat this step if necessary for an additional server entry.
  5. Switch to the <Network> section.
    • Enter the primary DNS suffix for your network between the Tags <PrimaryDnsSuffix> and <\PrimaryDnsSuffix>. This is the part of your DNS entry without the hostname. If this entry remains empty, the default settings of the container will be used.
  6. If necessary, you can configure the autostart of the Service Engine in the container. To do this, enter the following service and program information between tags <Autostart> and </Autostart>.
    • <Program>: initiates the section for the start of the service.
    • <Active></Active>: activates the autostart for the service. Active: true Inactive: false For example: <Active>true</Active>.
    • <Path></Path>: path to the service. For example, C:\zenonSetup\64\zenSysSrv.exe.
    • </Program>: closes the section.
  7. Save the file.
LICENSE.INI ENTER LICENSE

To be able to use zenon in a Docker container, you must provide a valid license and define the location where the license is saved. Sources of information for:

  • License: license certificate or license manager
  • License storage location: Codemeter Web Admin

To license zenon for Docker:

  1. Go to the ...\ path [data path]\system.
  2. Open the License.ini file.
  3. Enter the license information according to your license certificate:
    • SERIAL0 =: Serial number of your license. This entry is mandatory.
    • SERIAL0_DESC =: optional description of the use of the license.
    • SERIAL0_LOCATION =: License server address. This entry is mandatory.
  4. Save the file.
  5. Stop and restart the Docker container. Enter: docker stop [container name] and docker start [container name]

A licensed zenon is available to you in the Docker container.

ZENON6.INI

To specify the Service Engine project:

  1. Go to the ...\ path [data path]\system.
  2. Open the zenon6.ini.
  3. Edit the following entries: [PATH] VBF30= Enter the path to the workspace here. Example: C:\zenondata\projects\Workspace1 [DEFAULT] DEFANWENDUNG30= Enter the project name here.

Service Engine Docker with name resolution

For the zenon Service Engine server to run and be accessible, a Docker container is needed which can be accessed from the outside via the container hostname. Should access take place across domains, the fully qualified hostname (FQDN) must be used.

Note: According to Windows conventions, hostnames may not contain more than 15 characters.

REQUIREMENTS

You need:

  • a previously loaded zenon Service Engine Docker image.
  • a zenon Service Engine that has already been configured (on page 9) for Docker. First and foremost, settings.xml and license.ini must be configured.
CONFIGURE A VIRTUAL EXTERNAL SWITCH IN HYPER-V

You need an external network switch in your Hyper-V server. Check this in the Virtual Switch Manager setting on the Hyper-V server. If no external switch is available, you need to create one. This external switch is used by the Docker container.

SET THE PRIMARY DNS SUFFIX IN THE DOCKER CONTAINER

If you would like to use a server name with a DNS suffix, you must communicate the Primary DNS Suffix to the Docker container. For example: zenRT001.domain.internal. If the Primary DNS Suffix is not set, the zenon Service Engine does not recognize that it acts as the server. This is also the case if the Docker container can be pinged from the outside. You can configure the suffix in the settings.xml in the Tag <Settings><Network><PrimaryDnsSuffix>.

CREATE A CONTAINER WITH AN EXTERNAL SWITCH

You can create a container with an external switch using the following command: docker run -d -v [data path]c:\zenondata --network [name of external switch] --hostname [unique host name] --name [container name] copadata/service-engine-windows

EXAMPLE

A container should be created that meets the following conditions:

  • uses the virtual Hyper-V switch zrtExtSwitch
  • sets the hostname to zenRT001
  • can manage the container with the name zenon

Command: PS> docker run -d -v C:\zenondata:C:\zenondata --network zrtExtSwitch --hostname zenRT001 --name zenon copadata/service-engine-windows

SET UP THE ZENON SERVER

To set up the zenon server :

  • use the previously configured hostname zenRT001.domain.internal as the server name in your zenon network project.
  • You can use the same hostname for the zenon remote transport.
  • After the Service Engine files have been transferred and the zenon Service Engine in the Docker container has been started, zenon clients can access the server via zenRT001.domain.internal.
TROUBLESHOOTING

In the case of errors:

  • Make sure that the zenon Service Engine recognizes itself as the server. To do this, check the log files.
  • Check the network connection between the client and the server.
REMOTE TRANSPORT: CONTAINER RESTART PREVENTS CONNECTION

When a Docker container is restarted, it receives a new IP address. However, the DNS cache for the hostname of the container is not updated at the same time. Connections with the container by hostname are thus no longer possible.

Solutions:

  1. In the context of the same domain: Execute the ipconfig /flushdns command line.
  2. In general: Wait until the DNS cache has been updated after the defined timeout.
zenon-Standard-Ports

Ports used by zenon by default:

ApplicationStandard port
Network Service1100
Transport Service1101
WEB Service Classic1102
DB Service1103
SQL Browser Service, (for distributed engineering in the Engineering Studio)1434
zenAdminSrv.exe50777
zenLicTransfer (License Transfer Service)50784

Downloads

Tag summary

Content type

Image

Digest

sha256:3f843804a

Size

5.6 GB

Last updated

over 2 years ago

docker pull copadata/service-engine-windows