S7 OPC-UA Server

 Traeger Industry Components GmbH

© by TIS

Version 1.36

S7 OPC UA Server Mobile HMI


  • S7-1500
  • S7-1200
  • S7-300/400 with TCP/IP on Board / PN or CP 343-x/443-x
  • S7-300/400 MPI/Profibus with S7-LAN
  • Win AC RTX
  • S7-200 with CP 243-1
  • S7-Soft-PLC
  • SIMATIC-S5 over S5-LAN

Windows

  • 10
  • 8
  • 7

Windows Server

  • 2012 R2
  • 2012
  • 2008 R2
  • 2008
  • Visualization / control via web browser / mobile device (optional)
  • OPC-UA-Server possible
  • User account control
  • Automatically generating the display
  • To define your own scaling
  • Visualisation
  • Control
  • Data transfer via OPC-UA

Start “S7 OPC UA & Mobile HMI Setup 1.0.36.0.exe”. The installation checks whether you have installed the required software packages.

  • System Control → Programs and Features → S7 OPC UA & Mobile HMI → Uninstall
  • Remove the folder where the configuration data is stored


After the start, you receive the following message:
Server settings

Select the location for the server data and click OK.

You are then prompted to set the admin password:
Insert admin password

In the following start window, log in as admin and your chosen password:
Start window

The application is divided into the menu and display area.

Area of the menu

Menu

Name Description
home call Start page
one page backward
one page forward
license Generate Machine Code, enter license key
settings Call the server settings
info Information about the product and licensing

Display area

Startbildschirm
Displays the currently selected page with the available data and options.
Im obigen Bild sehen Sie z.B. die Startseite.

Fields marked with * are required.

You can access all available pages by clicking on Menüpunkt. The following menu items are available:
Main menu

Menu Description / task
Home Call start page
Benutzerverwaltung Manage your users and set permissible access to the data
Verbindungen Establish the connections to your Siemens PLCs
Datenpunkte Link the connections with the desired data addresses in the PLC. The tree structure allows you to pre-sort your data immediately
Skalierungen Here you have the possibility to define various control and input elements for the view
HMI-Config Design the desired view with main and sub-pages and add the desired data points to the respective data groups
OPC-Konfiguration Sammelmenü für OPC-Einstellungen
OPC-Server Create and manage OPC UA Server
OPC-Client Zertifikate Certificates from OPC UA clients for the authenticated connection to the OPC UA server. You also assign the rights granted to the user

Standard functions in the menu item:

Funktion Task
Neu Add new settings
Editieren Edit settings
Löschen Delete settings

User administration

user administration
Overview of existing users.

By clicking on Neu a new user will be added and you get the following dialog:
Add user

Name Function
ID User-assigned ID
Full Name Username is displayed
Is Active User can log on
Login Name Name zur Identifikation des Benutzers
Password Password for login
Admin Groups Assign to the desired admin group (s). See user group table
User Groups Assignment to the desired user group (s). See user group table
User group Function
A1 Admin without restriction
A2 OPC-Admin, Data points and OPC relevant data
A3 HMI-Admin, Manage data points and HMI pages
U1 - U8 User groups 1 to 8. User groups can be used to group multiple users. You can then assign different data points to this group, adapted to your requirements.
For example:
user group U1 = all layer leaders (sees all machines and can control them),
U2 = machine operator H2 (only sees the machines in its task area)

PLC-Connections

Connections
Overview of configured Siemens PLC connections.

New

Name Function
ID System-assigned ID
Name Name of the connection in the display
IP-Adresse IP address under which the PLC can be reached
Rack Rack number of the CPU
Slot Slot of the CPU
Gerätetyp Type designation of the PLC. Available types:
Logo
S7200
S7300_400
S71200
S71500
Connection type Default: Standard connection to the PLC (OperationPanel)
OperationPanel: Connection via the OP channel
ProgrammerDevice: Connection via the PG channel
Other: Connection via the Other channel
Connect Timeout Timeout in ms for connection setup
Recieve Timeout Timeout in ms for receiving the data from the PLC
Transmit Timeout Timeout in ms for sending to the PLC
BreakDetection Timeout Keep Alive-Time for monitoring the TCP / IP connection (interesting at large intervals)
User Break Detection Set Break Detection Timeout is used
Ref Number of data points that point to this connection

Data point definition

Datenpunkte
The addresses of the data points, which serve as data sources, are defined here.
The first node is always the connection. One connection can be added one

  • New node
  • New datapoint
Name Description
Left Neu Adds a new node under the selected node
Right Neu Add a datapoint
Editieren Rename the selected point
Löschen Delete the selected point

Datenpunkt hinzufügen

Name Description
ID System-assigned ID
Name Display name of the data point. If empty, the Data address (without spaces) is used as name.
Verbindung Is added to this connection (the connection must already have been created)
Adresse Data address to be processed in the PLC. DB1.DBB 0 for data block 1, data byte 0
Datentyp Specifies the data type that the software driver reads from the PLC
Available data types
Arraylänge Length of the array to be read
Anzahl der zu erstellenden, konsekutive DPs Several consecutive data points can be created automatically. If the number is greater than 1, the end address of a data point is calculated and the address is entered as the next data point.
Example:
Name: Temperature, Address: DBW100.DBD10 , Type: Int16 , Number: 3
Generated:
Name: Temperature_1 Address: DBW100.DBD10
Name: Temperature_2 Address: DBW100.DBD12
Name: Temperature_3 Address: DBW100.DBD14
Aktualisierungsintervall (ms) Time grid of data updating
Nur lesen Data can only be read. Even if this is entered as a setpoint in the GUI, this DP can not be written anymore
Ist Aktiv Data point can be used
Ref Number of references used

Move sample data points:

PLC address variables:

Operand

Name Abbreviation (Siemens, DE) Abbreviation(IEC)
Input E I
Output A Q
Flag M M
Peripherals P P
Counter Z C
Data Block DB DB
Timer T 16

Data types

Name Abbreviation Bit size Range Description Array
BOOL X 1 0 to 1 single bit representing true (1) or false (0) x
BYTE B 8 0 to 255 unsigned 8-bit x
WORD W 16 0 to 65.535 unsigned 16-bit (Word) x
DWORD D 32 0 to 232 -1 unsigned 32-bit (Double Word) x
CHAR B 8 A+00 to A+ff ASCII-Code unsigned 8-bit character x
INT W 16 -32.768 to 32.767 signed 16-bit integer x
DINT D 32 -231 to 231-1 signed 32-bit integer (Double Word) x
REAL D 32 +-1.5e-45 to +-3.4e38 IEEE754 32-bit single precision floating point number x
S5TIME W 16 00.00:00:00.100 to 00.02:46:30.000 binary coded decimal (BCD) number representing a time span
TIME D 32 00.00:00:00.000 to 24.20:31:23.647 signed 16-bit integer representing a time span in milliseconds
TIME_OF_DAY D 32 00.00:00:00.000 to 00.23:59:59.999 unsigned 16-bit integer representing a time span in milliseconds
DATE W 16 01.01.1990 to 31.12.2168 unsigned 16-bit integer representing a date in days
DATE_AND_TIME D 64 00:00:00.000 01.01.1990 to 23:59:59.999 31.12.2089 binary coded decimal (BCD) number representing a date and time
S7String B any A+00 to A+ff ASCII-Code, max. 254 Bytes

The variables are composed of operand and data type. Examples:

Examples Data type Example Siemens Example IEC
Input Byte 1, Bit 0 BOOL E 1.0 I 1.0
Output Byte 1, Bit 7 BOOL A 1.7 Q 1.7
Flag Byte 10, Bit 1 BOOL M 10.1 M 10.1
Data Block 1, Byte 1, Bit 0 BOOL DB1.DBX 1.0 DB1.DBX 1.0
Input Byte 1 BYTE EB 1 IB 1
Output Byte 10 BYTE AB 10 QB 10
Flag Byte 100 BYTE MB 100 MB 100
Peripherals Input Byte 0 BYTE PEB 0 PIB 0
Peripherals Output Byte 1 BYTE PAB 1 PQB 1
Data Block 1, Byte 1 BYTE DB1.DBB 1 DB1.DBB 1

Data Block 1, Data Block 1 Typ bool, Address 1.0 → DB1.DBX 1.0
Data Block 1, Data Block Typ Byte, Address 1 → DB1.DBB 1
Peripherals Input, Typ DWORD, Address 0 → PED 0

Help:
DB#.DBB # = Data Block#.Data Block Byte #
DB#.DBW # = Data Block#.Data Block Word #
DB#.DBD # = Data Block#.Data Block Doubleword #
# = Address

Service settings

  • Among You will find the settings for the service.

Service not installed:
install service

Service installed:
DService was installed and started

Name Description
HTTP Port Port for the web interface of the configuration / display
Install + Start Service Installs the application as a service and starts it automatically
Start manual start teh service
Stop Stop the service, e.g. for changes
Uninstall Service Remove the installed service

If you want to change the port, stop the service and make the desired change and restart it.

For external users to access the application, the following firewall rules must be added:

  • Under Service set port
  • If necessary, set OPC Server Ports


OPC Server

Function Description
Restarts all OPC servers Restarts all OPC servers
Server Name Display name for internal administration
User Access Authorized user groups are displayed.
General and OPC administrators generally have access to each server
Everyone Access E1 = Anonymous login enabled
no display = only user groups assigned have access
URI Address for the connection setup
OPC-Status Status of the OPC server with the possibility of controlling the server
When you move the mouse over the status image, a tooltip appears for the current status
Status Description
Neutral Server has not started yet
execution Server is started / stopped
OK Server is active
Error An error has occurred
Action Description
Start Server Start OPC-Server
Restart Server Restart OPC-Server
Stop Server Stop OPC-Server

Create new server (New):

Create OPC-UA Server

Name Description TCP HTTP
Server Name Display name
Transport Type of data transmission Binary Protocol, is more efficient than HTTP Uses HTTP web services, higher compatibility with firewalls
Hostname Server name or IP address for access Only relevant for the creation of the certificate Relevant for the creation of the certificate, and specifies the host HTTP header via which the HTTP request is assigned to the OPC server
Port OPC server target port A separate port must be used for each OPC server, since each socket is used for each OPC connection The same port as for the configuration (eg: 80) and for other ( HTTP) OPC server because an HTTP handler is registered for the port, hostname, and URI path
URI Path Destination address of the OPC server Not relevant, since the OPC server is identified by the port Specifies the URL path under which HTTP requests are assigned to this OPC server
Automatically create rejected user certificates Rejected certificate is automatically saved and can then be processed under client certificates
User Access Allowed user groups
Everyone Access Permission, the non-defined user can also connect to the server

When creating the OPC-UA server, you have the option to upload a certificate or to automatically create a certificate. The stored data is displayed automatically.

Example OPC server via TCP

  • Server Name: Halle 1
  • Transport: TCP
  • Hostname: localhost
  • Port: 20000
  • Automatically create rejected user certificates: ausgewählt
  • Generate new self-signed Certificate: ausgewählt
  • Erlaubte Benutzergruppen: U1 and U3

TCP settings

After save:
TCP settings after save

The following entry appears in the overview:
TCP settings after saving in the overview

After saving, you can start the server by clicking onStart.

Example OPC server via HTTP

  • Server Name: Halle 1
  • Transport: HTTP
  • Hostname: localhost
  • Port: 80
  • URI Path: Halle1
  • Benutzergruppen: U1 and U2

Create OPC UA Server

After save:
HTTP settings after save

The following entry appears in the overview:
HTTP settings after save in the overview

After saving, you can start the server by clicking onStart.

TIP:
If you have not already created the application as a service, or you are not running the application as an administrator, the following error message appears:
OPC via HTTP

Since http connections run via a web service, you need administrative rights.

OPC Client Certificate

OPC CLient Certificate

Add OPC user (New):

Add Client Certificate

Field Description
Name Free
Is Active selected User can access the OPC servers
Certificate File Upload certificate file
Zertifikatsdaten
Subject Certificate number
CN: common name
DC =
Issuer Certificate Issuer
Valid not before valid from
Valid not after Expiration date certificate
Fingerprint (SHA-1) Fingerprint of the certificate
  • Enter a name
  • Download the certificate
  • Set the desired authorization(s)
  • Restart all OPC servers

If you have set the rejected certificates in the OPC server, you will see a connection attempt after a connection attempt. Following entry in your administration:
rejected certificate

  • Click the Edit icon

Settings denied certificate
If you click on Download Certificate, you can get the certificate

  • Open
  • Save

save certificate

  • Check the box “Is active”
  • Set the desired permission(s)
  • Restart all OPC servers

With OPC-Watch (OPC UA Client)

With our free “OPC-Watch” tool, you can connect to OPC servers, which are standard OPC servers. This allows them to access prepared data and view and test settings from the OPC server.

OPC-Server via TCP

OPC-Server via TCP

All entries are automatically displayed as shown in “Data points”.

Connection via TCP:

OPC-Server via TCP

OPC-Server via TCP

Connection via HTTP:

OPC-Server via TCP

OPC-Server via TCP

With OPC UA framework (C # example)

    OpcCertificateManager.AutoCreateCertificate = true;
 
    OpcClient client = new OpcClient("opc.tcp://localhost:20000/");
    client.UserIdentity = new UserIdentity("MayerHans", "MayerHans");
    client.UseDomainChecks = false;
 
	//Zertifikat automatisch akzeptieren
    client.Configuration.SecurityConfiguration.AutoAcceptUntrustedCertificates = true;
 
    OpcNodeId nodeId = new OpcNodeId("Halle_1/Heizung/Lager", 2);
 
    client.Connect();
 
    Console.WriteLine("ReadNode: {0}", client.ReadNode(nodeId));
 
    try
    {       
       client.WriteNode(nodeId, 14);
    }
    catch (Exception ex)
    {
       Console.WriteLine(ex.Message);
    }
 
    Console.WriteLine("ReadNode: {0}", client.ReadNode(nodeId));
 
    client.Disconnect();
    Console.ReadKey(true);

S7 OPC UA & MobileHMI

  • Home
    • Visualisierung start
  • Benutzerverwaltung
    • Name
    • Login Name
    • Passwort
    • Benutzergruppe
      • Admingruppen A1-A3
      • Benutzergruppen U1-U8
  • Verbindungen
    • Name
    • IP-Adresse
    • Rack
    • Slot
    • Gerätetyp
      • Logo
      • S7200
      • S7300_400
      • S71200
      • S71500
    • Verbindungstyp
      • Default
      • Operation Panel
      • Programmer Device
      • Other
    • Timeouts
      • Connect
      • Recieve
      • Transmit
      • BreakDetection
  • Datenpunkte
    • Verbindung(en)
      • Datenpunkt(e)
      • Knoten
        • Datenpunkt(e)
        • Unterknoten
          • Datenpunkt(e)
    • Name
    • Adresse
    • Datentyp
      • Bool
      • Byte
      • UInt16
      • Int16
      • UInt32
      • Int32
      • UInt64
      • Int64
      • SingleFP (23 bit Mantisse, 8 bit Exponent, 1 bit Vorzeichen)
      • DoubleFP (52 bit Mantisse, 11 bit Exponent, 1 bit Vorzeichen)
      • String
    • Arraylänge
    • Anzahl der zu erstellenden, konsekutiven Datenpunkte
    • Aktualisierungsintervall
    • Nur lesen
  • Skalierungen
    • Name
    • Skalierung
      • Text/String
      • Stufentext
      • Linear
    • Eingabeart
      • Textfeld
      • Numerisches Textfeld
      • Schieberegler
      • Auswahlfeld oder Schalter/Taster
  • HMI-Config
    • Seite(n)
      • Datenpunktgruppe(n)
        • Datenpunkt(e)
      • Unterseite
        • Datenpunktgruppe(n)
          • Datenpunkt(e)
    • Seite anlegen
      • Titel
    • Datenpunktgruppe anlegen
      • Titel
    • Datenpunkt zuweisen
      • Titel
      • Istwert-DP
      • Istwert-Skalierung
      • Sollwert-DP
      • Sollwert-Skalierung
      • Taster-Anzeigewert
      • Taster-Skalierung
      • Numerischer Istwert-Min
      • Numerischer Istwert-Max
  • OPC Server
    • Alle Server neustarten
    • Neuen Server anlegen
      • Server Name
      • Transport
        • TCP
        • HTTP
      • Hostname
      • Port
      • URI Path
      • Automatically create rejected user certificates
      • Server Certificate
      • User Access
      • Everyone Acces
      • URI
    • Server starten
    • Server stoppen
    • Server neustarten
  • OPC Client Zertifikate
    • Name
    • Is active
    • Certificate File
    • Admingruppe festlegen
    • Benutzergruppe festlegen
  • Recipe Manager
    • Clear Selection
    • Product
    • Commission
    • Recipe
    • Rezept laden
    • Recept speichern