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
|
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.
|
|