System Baum

Home  Zurück  Vor

 

In dem System Baum befinden sich die Speziellen Items, die vom Server fest vorgegeben sind. Sie erlauben den Zugriff auf interne Variablen und Zustände, das Anlegen weiterer Variablen und Symbole und vieles mehr.

Der System Baum kann mit der Konfiguration mit einer gesonderten Verbindung hinzugefügt oder abgeschaltet werden.

 

Der System Baum "System" befindet sich bei

OPC-DA und OpcPipe: direkt im Hauptverzeichnis
OPC-UA unter "Objects.Topics"

 

Die Speziellen Items erlauben einige Funktionen, so kann z.B. durch Schreiben auf das Spezielle Item "AddTopic" weitere Verbindungen zu SPS  Steuerungen hinzugefügt werden, ohne die Konfigurationssoftware zu verwenden. Dabei ist die erforderliche Syntax einzuhalten. Zusätzlich kann über eine "Config" Verbindung der Server konfiguriert werden.

 

Beispiele:

SPS Verbindungsstatus: Wenn eine Verbindung namens "S7" konfiguriert ist so liegt der Verbindungsstatus unter
System.Topics.s7.Status   (für OPC-DA ind OpcPipe)
Objects.Topics.System.Topics.s7.Status   (für OPC-UA)
Der Betriebsmodus der Steuerung liegt unter
System.Topics.s7.PlcDetails.PlcMode (für OPC-DA ind OpcPipe)
Objects.Topics.System.Topics.s7.PlcDetails.PlcMode   (für OPC-UA)
Verbindung erstellen mit Schreiben der Verbindungsparameter auf System.AddTopic.
"s7.tcp://192.168.2.200:102?name=\"my name\",typ=client,ownTSAP=0101,destinationTSAP=0302,slave=9,start1=1,WriteAllowed=1"

 

Elemente auf der Startebene

Bei OpcPipe und OPC DA liegt die Startebene im Hauptverzeichnis.
Unter OPC-UA liegt die Startebene unter "Objects.Topics"

 

Topicname

Beschreibung

System

Systemdaten wie Liste der Topics, Versionsstände

Memory

Temporäre Variablen und Strukturen, die im Arbeitsspeicher liegen.

Config

Server Interne Variablen mit denen man den OPC Server oder die PlcEngine Konfigurieren kann. Die einzelnen Variablen haben Kommentare welche die Funktionalität beschreiben. Im Einzelnen werden sie in der Hilfe nicht beschrieben.

OPC UA System Items

Verbindung für OPC UA spezielle Funktionen

<user defined>

Vom Anwender mit der Konfigurationssoftware, über Browser oder über OPC erstellte Topics

System

Topicname

Beschreibung

Topics

Das vordefinierte Item "System.Topics" enthält die Liste der konfigurierten Verbindungen zu Steuerungen. Diese Elemente erlauben über OPC interne Zustände des OPC Servers und der Verbindungen zu den Steuerungen zu überwachen.

Zusätzlich können Details der Steuerung ausgelesen werden wie der Name der Steuerung, der Betriebszustand und mehr.

Licenses

Hier wird der aktuelle Status der Lizenzen als Variablen dargestellt.

AddTopic

Hinzufügen von Verbindungen zu Steuerungen.

Durch Schreiben eines Strings mit einer bestimmten Syntax werden Verbindungen hinzugefügt. Die Syntax ist in einer Tabelle weiter unten beschrieben. Siehe: AddTopic.

Versions

Versionen der Softwareteile des OPC Servers oder der PlcEngine

Internal

Bitte nicht benutzen. Spezielle Individualanwendungen nutzen das.

Platform

Ermöglicht Tags für verschiedene Platform-Dinge, zB: Ein- und Ausgänge auf Phytec Regor

Status

Erweiterter Server Status

CurrentTime ...

und weitere Tags

die aktuelle Uhrzeit wir in verschiedenen Formaten angezeigt und kann auch weiterverarbeitet werden.

Werte für System.Topics.<topicName>

Topicname

Beschreibung

Status

Liefert den Status der Verbindung.

0 -> OK

3 -> Keine Verbindung

5 -> Zugriff verweigert

6 -> Warte auf Daten

7 -> Warte auf Senden fertig

29 -> Nicht aktiv, kein OPC Client und keine Logiktabelle nutzt ein Element

30 -> Osi Reset By Peer. Eine Verbindung mit TSAP wird vom Partner zurückgewiesen.

31 -> Der Port ist bereits von einem anderen Programm belegt

32 -> Ein Domainname wird nicht gefunden

33 -> Das Netzwerk ist nicht erreichbar

ReadCount

Anzahl der synchronen Leseaufträge. Diese Variable kann geschrieben werden.

WriteCount

Anzahl der Schreibaufträge. Diese Variable kann geschrieben werden.

ActiveCount

Anzahl aktiver angemeldeter Elemente.

ServerCycle

Anzahl der Cyclen mit Datenänderungen in der Steuerung. Diese Variable kann geschrieben werden.

Redundancy

Das existiert nur bei Verbindungen für Redundanz. Details hier.

AddVariable

Das Element existiert nur im Element Menory.

Fügt eine Variable dynamisch in die Speichervariablen ein, Topic Memory. Das Element kann nur geschrieben werden.

Die Syntax ist

<Variablenname>=<Variablentyp><[><Arraygröße><]><;Kommentar>

Variablentyp kann sein: u8, u16, u32, u64. i8, i16, i32, i64, f32, f64, bit, string.

Beispiel: MyVariable=u16[10];Array of UINT 16 with 10 elements

Sie können auch Nodes anlegen. Wenn der Variablenname Punkte enthält so werden diese Punkte als Trenner der Nodes und Variablen genutzt.

Hinweis: Die mit AddVariable erstellten Symbole werden beim Beenden des OPC Servers oder der PLC Engine Collect gelöscht.

DeleteVariable

Löscht eine mit AddVariable erstellte Variable. Der Variablenname muss angegeben werden. Das Element kann nur geschrieben werden.

Jede Variable oder jeder Node muss einzeln gelöscht werden.

Hinweis: Versuchen Sie eine Variable zu löschen die nicht mit AddVariable erstellt wurde so wird der Zugriff verweigert.

AddSymbol

Fügt ein Symbol hinzu. Dazu wird die Itemsyntax der SPS benutzt die das Topic abbildet.

Diese Funktion wird nicht für alle SPS Typen angeboten. Sie macht nur für Steuerungen die keine Symbole beinhalten einen Sinn. Oft sind das Siemens S7 300/400, Modbus oder Mitsubishi Steuerungen.

SymbolName=<ItemSyntax><;comment>

Beispiel für eine S7 300: MyFlag=mw0;Flag word zero

Der Symbolname kann das Trennzeichen . beinhalten. So können mehrere Ebenen angelegt werden.

Hinweis: Die mit AddSymbol erstellten Symbole werden beim Beenden des OPC Servers oder der PLC Engine Collect gelöscht.

DeletSymbol

Löscht ein mit AddSymbol angelegtes Symbol.

AddStructure

Noch nicht verfügbar

DeleteStructure

Noch nicht verfügbar

DeleteTopic

Ist eine Verbindung dynamisch hinzugefügt worden, so ist dieses Item sichtbar. Wird darauf geschrieben, so wird diese dynamisch angelegte Verbindung gelöscht.

Werte für System.Topics.<topicName>.PlcDetail

Kann die Information aus der SPS nicht gelesen werden, so ist die Quality BAD (Sensor Failure).

Topicname

Beschreibung

PlcMode

0 -> SPS in Stop, 1 -> SPS in RUN/STOP, 2 -> SPS in RUN.

KeySwitch

0 -> Schlüsselschalter in Position Stop, 1 -> Run/Prog, 2 -> Run, 3 -> Mres

PlcName

Der Name der der Steuerung vergeben wurde. Nicht jede Steuerung enthält den Namen.

PlcType

Der SPS Typ den der Hersteller vergeben hat. Nicht jede SPS enthält diese Information.

OrderNumber

die Bestellnummer

Force

Information ob Force Elemente im SPS Programm vorliegen.Manche Steuerungen liefern auch die Anzahl geforcter Elemente.

Battery

Zustand der Batterie. 0 -> Ok, 1 -> Leer, 2 -> keine Batterie, 3 -> nicht unterstützt

 

Nicht jede Steuerung und jeder Steuerungstyp liefert alle Elemente unter PlcDetails. So wird OrderNumber nur bei Siemens S7 angeboten. Die genauen Details bestimmen Sie mit der SPS Programmiersoftware, sie sind auch im entsprechenden SPS Systemhandbuch beschrieben.

Werte für System.AddTopic

Wichtig: AddTopic ist veraltet. Nutzen Sie das neuere Config Topic. Das hat mehr Funktionalität, es können auch dauerhaft Verbindungen angelegt und bearbeitet werden..

Es können weitere Topics über dieses Item erzeugt werden.

Wichtig: Über AddTopic angelegte Verbindungen werden nicht dauerhaft gespeichert. Bei Rechner Neustart oder Geräte Netzein sind sie wieder weg und müssen erneut angelegt werden.

Ein unter System.Topics.<created topic> angelegtes Topic kann über System.Topics.<created topic>DeleteTopic wieder gelöscht werden.

 

Topicname

Beschreibung

Name

<Topic Name>. Das ist der Name der Verbindung. Beachten Sie bei den verwendeten Zeichen die Regeln der OPC Clients.

PlcType

Möglich sind:

Wert

Beschreibung

s7

Siemens S7-200, 300, 400 und Kompatible wie Speed7. Auch über MPI Adapter von Hilscher, Process Informatik, IBH Softec, Softing, Helmholz.

tia

Siemens 1500 und 1200. Die optimierten Bausteine werden unterstützt.

s5

Siemens S5 mit Netzwerk CP Alle Racks wie 135, 155, 188. Alle CPU Typen.

compactlogics

Rockwell Control Logix und Compact Logix.

slc

Rockwell SLC Familie.

modbus

Modbus TCP und kompatible Systeme wie Wago, Beckhoff, Modicon, Omron und Weitere.

melsecQ

Mitsubishi Melsec Familie.

raw

Rohdaten.

NetworkProtocol

Möglich sind:

Wert

Alternativer Wert

Beschreibung

ip

tcp

TCP/IP TCP über IpV4 (192.168.1.1) oder IpV6 <235b:34aa::0001:0030) oder Domain Namen

udp


TCP/IP UDP über IpV4 (192.168.1.1) oder IpV6 <235b:34aa::0001:0030) oder Domain Namen

h1

osi

OSI/H1 über MAC Adressen (080006010001) oder (08:00:06:01:00:01)

NetworkAddress

IpV4 (192.168.1.1) oder

IpV6 (235b:34aa::0001:0030) oder

Domain Namen (s7.menedomain.de)

Port

1 .. 65534. Das wird nur bei IP Verbindungen gebraucht.

ConnectType

Möglich sind

Server
Client

OwnTSAP

in Hexadezimal. Das wird nur bei OSI/H1 oder Port 102 (RFC1006) Verbindungen gebraucht. (0101)

DestinationTSAP

in Hexadezimal. Das wird nur bei OSI/H1 oder Port 102 (RFC1006) Verbindungen gebraucht. (0302)

Slave

Bei Modbus Verbindungen ist das die Slave oder Node Adresse. Bei Rockwell ist das die CPU Nummer. Bei allen anderen SPS Typen wird dieser Wert nicht genutzt

Start1

Bei Modbus legt das die angenommene Startadresse fest. False besagt das bei Register 0 gestartet wird, andernfalls startet die Registernummer bei 1.

Security

none oder sign oder encrypt oder sign+encrypt. Optional mit Komma getrennt 128RDS15, 256, 256SHA256. Standard ist none

Beispiel: sign, 256SHA256

Login

anonymous oder x509 oder userpassword. Default ist anonymous.

User

Der Benutzername.

Password

Das Passwort.

Servername

Der OPC DA Servername

NetworkNo

Mitsubishi: Routing Netzwerknummer. Default ist 0.

PNo

Mitsubishi: Routing PC Nummer. Default ist 255.

ModuleStation

Mitsubishi: Routing Modul Stationsnummer. Default ist 0.

ModuleID

Mitsubishi: Routing Modul IO Stationsnummer. Default ist 1023.

MonitoringTimer

Mitsubishi: Monitoring Timer in 250ms Einheiten. Standard ist 0 (unbenutzt).

RockwellShowHidden

Einstellung welche "unsichtbaren" Rockwell Variablen ausgefiltert werden. All oder Underscore oder Hidden oder None. Default ist None.

RockwellProtocol

Rockwell Applikationsprotokoll. CIP oder PCCC. Default ist CIP.

RockwellHeader

Rockwell Protokollheader. ENCAP oder CSP. Standard ist ENCAP.

RockwellCharset

Rockwell Zeichensatz. UTF8 oder ANSI oder CP437 oder CP850 oder WIN1252 oder WIN1251. Default ist UTF8.

RockwellRouting

Damit erreichen Sie über eine Rockwell Steuerung unterlagerte Steuerungen. Das Element benötigt Text.

Es gibt drei Optionen:

Kein Routing (leerer Pfad). Damit erreichen sie CPUs, bei denen sich die Netzwerkschnittstelle logisch im gleichen Modul wie die CPU befindet. Zum Beispiel die Micro800 oder L16 Steuerungen.
Einfaches Routing. Damit erreichen Sie die unterschiedlichen CPU in der Ziel SPS.
CPU(0) erreicht die CPU 0. Dies ist notwendig, wenn separate Netzwerkmodule gesteckt sind. Die L35E-Serie erfordert dies immer.
Erweitertes Routing. Wenn die Ziel SPS über weitere Busse erreicht wird.
Port(1;2) geht über Port 1 zum Ziel 2.
PortEx(4;192.168.2.212) erreicht eine in einem unterlagerten Netz liegende SPS über Port 4 der natürlich eine Netzwerkkarte sein muss die IP Adresse 192.168.2.212.
DHPlus(1;0;0;15) erreicht über einenen DHplus Anschluss an Kanal A(1), Source Link 0 die SPS an Destination Link 0 Node 15.
Ein Beispiel eines längeren Pfades:Port(1;0)-Port(2;1)-PortEx(4;192.168.2.212)

 

Die benötigte Information entnehmen Sie entweder der grafischen Konfiguration oder RsWho.

Verbindungspfade können sehr lang werden wenn über viele unterlagerte Busse geroutet werden soll.

Manche SPS wie die Micro800 Familie dürfen beim Zugriff auf die SPS Direkt keinen Routingpfad haben. Soll über eine Mico800 SPS geroutet werden so ist der Pfad erforderlich.

TIAEnableFolders

Ist dieser Wert ungleich 0 so werden beim Browsen die Sektionsnamen wie "Inputs" oder "Datablocks" eingeblendet, sonst nicht.

TIAEnableDBSections

Ist dieser Wert ungleich 0 so werden die Sektionsnamen in Datenbausteinen wie Static oder Inputs nicht angezeigt.

TIAUseArrayStart

Mit TIA kann ein Feld bei einer beliebigen Adresse starten. So kann ein Feld von 222 bis 225 laufen.Viele Anwender möchten den Start immer bei 0 sehen. Diese Einstellung erlaubt den in der SPS programmierten Startoffset beizubehalten. Default ist das nicht zu tun.

PlcCharset

Der verwendete Zeichensatz bei 8 Bit Zeichen. Möglich sind: UTF8, ANSI, CP437, CP850, WIN1251, WIN1252. Default ist UTF8.

PollInterval

Die SPS Abfragezeit in Millisekunden.

ApplicationTimeout

Die Zeitgrenze ab der nicht mehr auf eine SPS Antwort gewartet wird. Die Verbindung gilt dann als Unterbrochen.

ReconnectTimeout

Die Zeitgrenze zum Wiederverbinden. Nachdem eine Verbindung unterbrochen wurde wird mit den nächsten Verbindungsversuch diese Zeit gewartet.

PlcNetworkGap

Die Lücke in Bytes ab der bei SPS Leseanfragen über diese Lücke hinweg optimiert wird. Diese Optimierung ist oft schneller als mehrere separate Anfragen. Bei Ethernet kann dieser Wert hoch sein, bei unterlagerten seriellen Verbindungen eher nicht.

WriteAllowed

"true" wenn das Schreiben in die SPS erlaubt sein soll. Default ist false.

Create

Ein Wert ungleich Null schreiben erstellt die Verbindung. Diese Variable kann nur geschrieben werden.

CreateStatus

0 -> Topic ist erstellt. Diese Variable kann nur gelesen werden.

1 -> Ungültige Verbindungsparameter. Oft tritt das bei zu langen TSAPs auf.

5 -> ungültiger Adapter. Das tritt z.B. bei USB Ethernetadaptern auf die entfernt wurden.

17 -> Kein Speicher mehr frei.

101 -> Nicht unterstützt. Das tritt z.B. bei SPS Protokollen auf die nicht vorhanden sind.

1319 -> Nicht untertützt. Das geschieht z.B. bei IPV6 was im Betriebssystem nicht konfiguriert ist.

1324 -> Lizenzgrenze erreicht. Mehr Verbindungen können nicht angelegt werden.

1325 -> Nicht lizensiert.

AddTopic

Kann statt der Untervariablen Name, PlcType, NetworkProtocol, NetworkAddress, Port, ConnectType, OwnTSAP, DestinationTSAP direkt eine Verbindung erstellt werden. Diese Variable kann nur geschrieben werden. Die Syntax dazu ist am Beispiel einer S7 Verbindung mit dem Namen "s7"

"s7.tcp://192.168.2.200:102?name=\"my name\",typ=client,ownTSAP=0101,destinationTSAP=0302"

Das Element Create wird dann nicht benutzt.


Je nach Ausbaustufe können in dieser Sektion viele weitere Variablen existieren. Alle Variablen zeigen beim Browsen im Kommentar an welche Optionen bestehen.

Werte für System.Versions

Eine Versionsnummer ist Null wenn die entsprechende Bibliothek nicht geladen ist.

 

Topicname

Beschreibung

PlcEngine

Versionsnummer des Kerns von PlcEngine und OPC Server

Wmk

Versionsnummer der Wmk Bibliothek. Diese Bibliothek enthält allgemeine Funktionen.

IpLib

Versionsnummer der TCPIP Bibliothek. Diese Bibliothek enthält alle IP Socket Funktionen.

H1

Versionsnummer des Osi/H1 Treibers.

OpcDA

Versionsnummer der OPC DA Bibliothek. Diese Bibliothek enthält Classic OPC und ist nur für Windows verfügbar.

OpcUA

Versionsnummer der OPC UA Bibliothek. Diese Bibliothek enthält OPC UA.

OpcPipe

Versionsnummer der OpcPipe Bibliothek. Diese Bibliothek enthält das Item Management.

PlcLib

Versionsnummer der SPS Protokoll Bibliothek. Diese Bibliothek enthält alle SPS Protokolle und das Management dazu.

ItemSyntax

Versionsnummer der Item Syntax Bibliothek. Diese Bibliothek wandelt Symbole in Elemente.

ConfigSubs

Versionsnummer der Configuration Allgemein Bibliothek. Diese Bibliothek vermittelt die Konfigurationsdaten.

..

Je nach Software und Ausgabestand werden weitere Versionen gezeigt.

 

Werte für System.Platform

Platform bietet Dinge an die von Platform zu Platform unterschiedlich sind. In aller Regel sind das Zugriffe auf spezielle Hardware.

 

Variablen die auf den Regor Geräten der Firma Phytec angeboten werden:

 

Topicname

Beschreibung

Digital1Dir

Legt die Funktion des Pins 1 am I/O Anschluss fest. "true" schaltet den Pin als Ausgang, "false" als Eingang

Digital1In

Wenn Pin1 ein Eingang ist dann ist "true" eine geschlossene Verbindung von Pin 1 nach Masse.

Digital1Out

Wenn Pin 1 ein Ausgang ist dann ist der Schalter bei "true" geschlossen.


Digital2Dir, Digital2In, Digital2Out sind für Pin2. Entsprechend für Pin 3 und 4.

ErrorLED

"true" bedeutet das die LED an ist. Ein Schreiben von "false" schaltet die LED aus, "true" wieder ein.

RunStopLED

"true" bedeutet das die LED an ist. Ein Schreiben von "false" schaltet die LED aus, "true" wieder ein.

 

Werte für System.Licenses

Die Lizenzen und deren Details stehen hier bereit

 

Itemname

Beschreibung

BaseLicense

Bestellnummer des gewählten Produkts. Der Produktname ist im Kommentar des Items enthalten.

BaseLicenseExpires

Ablaufdatum bei zeitlich befristeten Lizenzen wie Demoversionen oder zeitlich befristeten Lizenzen im Format  in the format jjjj-mm-tt hh:mm

z.B.: 2017-12-31 23:59

BaseLicenseState

Bitkodierter Wert:

Bit 0: Eine permanente Lizenz ist vorhanden und sie ist OK.

Bit 1: Der Dongle ist erkannt und OK.

Bit 2: Der Dongle war in der Vergangenheit erkannt, nun ist er aber nicht auffindbar.

Bit 3: Lizenzierung über Software Freischaltcode.

Bit 4: Ein Software Freischaltcode ist erkannt und OK.

Bit 5: Ein zeitlich begrenzter Freischaltcode ist erkannt. Die Ablaufzeit wird in dem item BaseLicenseExpires ausgegeben.

Bit 6: Ein zeitlich begrenzter Freischaltcode ist erkannt und abgelaufen.

Bit 7: Die Hardware (Netzwerkkarte) an die die Lizenz gebunden war ist nicht mehr vorhanden.

Bit 8: Keine Lizenz ist erkannt, es ist eine Testversion. Die Ablaufzeit wird in dem item BaseLicenseExpires ausgegeben.

Bit 9: Die Testphase ist abgelaufen, ein Neustart ist erforderlich.

Bit 10: Freie Lizenz eingestellt, keine Lizenzierung erforderlich

AddonLicenseX

Bestellnummer eines Addons. X ist eine fortlaufende Nummer und startet mit 1. Wenn mehrere Addons lizenziert sind dann sind entsprechend viele AddonLicenseX vorhanden. Der Kommentar des Items enthält den Namen des Addons.

 

Werte für System.Status

Bietet Datenpunkte für erweiterten Status des gesamten Servers

 

Itemname

Beschreibung

StructChangeCounter

EnumChangeCounter

Diese werden hochgezählt, wenn die internen Struktur- bzw. Enum-Listen modifiziert werden.

Das gilt nicht verbindungsspezifisch, sondern ein einziger Zähler für den ganzen Server.

Ist der automatische import ausgeschaltet, dann zählen die Zähler hoch wenn man manuell eine Struktur/Enum importiert.

Ist der automatische import eingeschaltet, dann zählen die Zähler hoch wenn eine neue Struktur/Enum aus der SPS gelesen wird.