Treibereinstellungen¶
Übersicht¶
Die Treibereinstellungen dienen der Parametrierung einer Verbindung zwischen PROCON-Connect und Automatisierungssystemen oder Feldgeräten. Dies ermöglicht den Austausch von Daten, die für die Visualisierung, Steuerung und Überwachung von Prozessen erforderlich sind.
Die gesammelten Daten können mit PROCON-Connect bspw. über einen Connector an einen MQTT-Broker eines überlagerten Systems gesandt oder über einen Datalogger in eine Datenbank für weitere Auswertungen gespeichert werden.
Treiber konfigurieren¶
In der Übersicht sind die konfigurierbaren Treiber gelistet. Die Treiber für OPC-UA und Modbus stehen immer zur Verfügung. Nach Lizenzierung können auch die Treiber für Codesys, Allen-Bradley oder TIA genutzt werden.
Nach dem Herstellen einer Verbindung kann die Verbindung für den Import von Tags genutzt werden. Dieser wird über die Tag-Übersicht durchgeführt.
Treibername und Lizenz: Name des jeweiligen Treibers. Der Status „Dienst aktiv“ zeigt an, dass der Treiberdienst läuft und eine Lizenz vorhanden ist.
Verbindundsübersicht: Liste der Verbindungen zu diesem Treiber.
Neue Verbindung: Anlage einer neuen Verbindung auf Basis des jeweiligen Treibers.
Verbindung: Status der Verbindung: Verbunden (grün), keine Verbindung (grau) oder Verbindungsfehler (rot) wird farblich angezeigt.
Treiberparameter: Treiberparameter sind globale Einstellungen. Sie gelten für alle Verbindungen des Treibers. Sie können aufgerufen und bearbeitet werden. Diese Parameter sind treiberspezifisch und unterschieden sich zwischen den einzelnen Treibern.
Verbindung duplizieren: Die ausgewählte Verbindung wird als Kopie erneut angelegt, um schnell eine Vielzahl gleichartiger Verbindungen anlegen zu können.
Verbindung bearbeiten: Die ausgewählte Verbindung kann bearbeitet werden.
Verbindung löschen: Löschen der Verbindung. Das Löschen kann nicht rückgängig gemacht werden.
Allen-Bradley¶
Konfigurationsparameter für den Aufbau einer Verbindung zu einer Allen-Bradley-Steuerung.
Die Verwaltung von Treiberverbindungen ist für alle Treiber gleich und im Abschnitt Treiber konfigurieren geregelt.
Verbindungseinstellungen¶
Verbindungsname: Der Verbindungsname muss eindeutig sein. Er wird in der Treiberübersicht angezeigt.
Verbindungstyp: EtherNet/IP ist aktuell voreingestellt und kann nicht verändert werden.
IP-Adresse: IP-Adresse oder Hostname der Steuerung.
Gateway Path: ControlLogix Gateway Path.
Verbindungsversuch Wartezeit (ms): Zeit zwischen den Verbindungsversuchen nach einem fehlgeschlagenen Verbindungsversuch.
Tag Definition Verbinden Lese-Timeout: Timeout-Zeit für das Lesen von Tag-Definitionen von der SPS beim Verbinden.
Tag Handle Erstellungs-Timeout (ms): Timeout-Zeit für das Erstellen der Tag-Handles beim Verbinden zur SPS.
Lese Timeout (ms): Timeout-Zeit für das Lesen von Tags.
Schreib Timeout (ms): Timeout-Zeit für das Schreiben von Tags.
Tag Definition Lese-Timeout: Timeout-Zeit für das Lesen von Tag-Definitionen von der SPS beim Importieren von Tag-Definitionen.
Prio 0 bis Prio 3: Aktualisierungszeiten in msec für Variablen mit entsprechender Priorität.
Zeitstempel¶
Die Zeitstempel an Tags mit Allen-Bradley-Anbindung werden beim Einlesen der Werte in PROCON-Connect erzeugt. Das Protokoll selbst liefert keine Zeitstempel.
Codesys¶
Konfigurationsparameter für den Aufbau einer Verbindung zu einer Codesys-Steuerung.
Die Verwaltung von Treiberverbindungen ist für alle Treiber gleich und im Abschnitt Treiber konfigurieren geregelt.
Treiberparameter¶
Reconnect Time (s)¶
Default-Wert
10 Sekunden
Funktion
Zeit in Sekunden zwischen zwei Verbindungsversuchen. Wirkt sich aus, wenn die Verbindung verloren wurde oder ein Verbindungsversuch erfolglos war.
Verbindungseinstellungen¶
Verbindungsname: Der Verbindungsname muss eindeutig sein. Er wird in der Treiberübersicht angezeigt.
Verbindungstyp: Auswahl zwischen ARTI3/GATEWAY3/INI-FIle. ARTI3 ist der Standard für Codesys v3 auf u-OS.
IP-Adresse: IP-Adresse oder Hostname der Steuerung.
Port: Port-Konfiguration für die Verbindung. Standardmäßig kommuniziert Codesys über den Port 11740.
Zugangsdaten: Gültiger Benutzernamen und Passwort zur Kopplung mit dem Codesys-System.
Casesensitive: Bei Aktivierung wird bei symbolischen Namen wird auf Groß- und Kleinschreibung geachtet.
Kill: Bei Aktivierung wird keine echte Verbindung hergestellt, sodass offline Tests durchgeführt werden können.
Prio 0 bis Prio 3: Aktualisierungszeiten in msec für Variablen mit entsprechender Priorität.
ArrayAsSingle: Bei Aktivierung werden anstelle des Lesens eines Arrays am Stück die einzelnen Array-Elemente gelesen.
Zeitstempel¶
Die Zeitstempel an Tags mit Codesys-Anbindung werden beim Einlesen der Werte in der Codesys-Runtime erzeugt. Dieser Zeitstempel wird beim Einlesen in PROCON-Connect unverändert übernommen.
Modbus TCP¶
Konfigurationsparameter für den Aufbau einer Verbindung zu einem Modbus-Gerät über TCP.
Die Verwaltung von Treiberverbindungen ist für alle Treiber gleich und im Abschnitt Treiber konfigurieren geregelt.
Treiberparameter¶
Poll Intervall (ms)¶
Default-Wert
1000 ms
Funktion
Zeitliches Intervall, das zwischen zwei Wertabfragen liegt.
Modbus ist nicht für hochfrequente Pollings ausgelegt. Ein zu geringes Poll Intervall kann zu folgenden Problemen führen:
Überlastung des Netzwerks oder der seriellen Verbindung. Bei seriellen Verbindungen kann es zudem zu Kollisionen oder Timeouts kommen.
Angefragte Geräte müssen alle Anfragen beantworten, dadurch können sie in den Status busy oder error übergehen.
Manche Modbus-Server haben eine Begrenzung der Anfragen pro Sekunde. Bei Überschreitung wird die Verbindung abgebrochen oder weitere Anfragen ignoriert.
Auf pollender Seite muss jede Antwort verarbeitet werden. Bei embedded Geräten kann das zu hoher CPU-Auslastung führen.
Verbindungseinstellungen¶
Verbindungsname: Der Verbindungsname muss eindeutig sein. Er wird in der Treiberübersicht angezeigt.
Verbindungstyp: TCP (TCP/IP-Netzwerk) oder RTU-Connection (serielle Schnittstelle) auswählbar.
Host-Adresse: IP-Adresse oder Hostname der Steuerung.
Port: Port-Konfiguration für die Verbindung. Standardmäßig kommuniziert Modbus TCP über den Port 502.
Unitid: Unit-ID/Slave-ID der Steuerung. Für spezielle Geräte oder für Kommunikation über Modbus-Gateways, sonst ohne Bedeutung.
Gerätetyp: DropDown zur Auswahl eines Energiemessgeräte-Templates. Ist ein Template ausgewählt, können im Template enthaltene Tags direkt über den Tag-Import in die Tag-Liste aufgenommen werden. Eine manuelle Adressierung der Register entfällt.
Refresh-Zyklus (msec): Zeitspanne in Millisekunden, nach der der komplette benötigte Variablenhaushalt einer Verbindung aktualisiert wird.
Antwort Timeout (s): Zeitspanne, nach der ein Fehler wegen Kommunikationsabbruchs gemeldet wird.
SwapWords: Modbus überträgt Daten standardmäßig in 16-Bit-Blöcken (Wörtern). Bei 32-Bit-Datenformaten werden zwei aufeinanderfolgende 16-Bit-Wörter kombiniert. Unterschiedliche Geräte oder Systeme können jedoch die Reihenfolge dieser Wörter unterschiedlich interpretieren. Mit der Option SwapWords kann man die Reihenfolge der beiden 16-Bit-Wörter umkehren.
SwapBytes: Modbus überträgt Daten in 16-Bit-Wörtern (2 Bytes), und je nach Gerät können diese Bytes in unterschiedlicher Reihenfolge gespeichert oder übertragen werden. Mit der Option SwapBytes wird die Reihenfolge der beiden Bytes innerhalb eines 16-Bit-Worts getauscht.
SwapBytesInt8: Bei Verwendung dieser Option werden die beiden 8-Bit-Werte (Bytes) innerhalb eines 16-Bit-Worts vertauscht.
I/O-Mapping für 750 Series: Spezielle Adressberechnung bei Kommunikation mit Wago-Steuerungen der 750 Serie.
FC 6 zum Schreiben auf Register: Anstelle des Funktionscode 16 (WriteMultipleRegisters) wird der Funktionscode 6 (WriteSingleRegister) verwendet. Daraus können bei bestimmten Datentypen mehrere Schreibaufträge resultieren.
Serialisierter Datenzugriff: Aktiviert die sequentielle Abarbeitung der Treiberkommandos über alle Verbindungen hinweg, in denen diese Funktion aktiviert ist. Für jeden Auftrag wird zuerst die Verbindung geöffnet, das Schreib-/Lesekommando abgearbeitet und danach die Verbindung wieder geschlossen. Wird für ältere Geräte oder Gateways genutzt, die nur eine aktive Verbindung handhaben können.
Stop der Kommunikation: Durch diese Einstellung werden Kommunikationsaufträge für diese Verbindung vom Treiber nicht weitergeleitet und es werden keine Treiberfehlermeldungen für diese Verbindung erzeugt.
Keine Datenlücken im Lesebuffer: Einige Steuerungen erlauben keinen allgemeinen Zugriff auf Speicherbereiche sondern nur auf Speicherbereiche, die mit Tags belegt sind. Dieser Parameter optimiert die Leseblöcke, damit nur belegte Speicherbereiche gelesen werden. Betrifft bspw. Weidmüller M3000 oder M4000.
Zeitstempel¶
Die Zeitstempel an Tags mit Modbus-Anbindung werden beim Einlesen der Werte in PROCON-Connect erzeugt. Das Protokoll selbst liefert keine Zeitstempel.
Modbus RTU¶
Konfigurationsparameter für den Aufbau einer Verbindung zu einem Modbus-Gerät über serielle Schnittstelle.
Die Verwaltung von Treiberverbindungen ist für alle Treiber gleich und im Abschnitt Treiber konfigurieren geregelt.
Treiberparameter¶
Default-Wert
1000 ms
Funktion
Zeitliches Intervall, das zwischen zwei Wertabfragen liegt.
Modbus ist nicht für hochfrequente Pollings ausgelegt. Ein zu geringes Poll Intervall kann zu folgenden Problemen führen:
Überlastung des Netzwerks oder der seriellen Verbindung. Bei seriellen Verbindungen kann es zudem zu Kollisionen oder Timeouts kommen.
Angefragte Geräte müssen alle Anfragen beantworten, dadurch können sie in den Status busy oder error übergehen.
Manche Modbus-Server haben eine Begrenzung der Anfragen pro Sekunde. Bei Überschreitung wird die Verbindung abgebrochen oder weitere Anfragen ignoriert.
Auf pollender Seite muss jede Antwort verarbeitet werden. Bei embedded Geräten kann das zu hoher CPU-Auslastung führen.
Poll Intervall (ms)¶
Verbindungseinstellungen¶
Verbindungsname: Der Verbindungsname muss eindeutig sein. Er wird in der Treiberübersicht angezeigt.
Verbindungstyp: TCP (TCP/IP-Netzwerk) oder RTU-Connection (serielle Schnittstelle) auswählbar.
Schnittstellenname: Name der seriellen Schnittstelle, über die kommuniziert werden soll, bspw. COM1, COM2, usw.
Unitid: Unit-ID/Slave-ID der Steuerung. Für spezielle Geräte oder für Kommunikation über Modbus-Gateways, sonst ohne Bedeutung.
Baudrate: Übertragungsgeschwindigkeit in Bits/Sekunde für die serielle Kommunikation.
Parität: Parität dient der Erkennung von Einzelbitfehlern während der Übertragung. Falls bei der Übertragung ein Bit verfälscht wird, wird dies durch die Paritätsprüfung erkannt, und es kann ein Fehler ausgelöst werden, was wiederum zu einer erneuten Übertragung führen kann.
Anzahl der Stop-Bits: Stop-Bits sind zusätzliche Bits, die am Ende eines Datenpakets übertragen werden, um das Ende eines Zeichens zu markieren und den Empfänger darauf hinzuweisen, dass die Übertragung abgeschlossen ist und er mit der Verarbeitung der Daten beginnen kann. Sie dienen der Synchronisation und stellen sicher, dass der Empfänger den richtigen Zeitpunkt zum Übernehmen der nächsten Nachricht erkennt.
Anzahl der Daten-Bits: Anzahl der Bits, die verwendet werden, um ein einzelnes Datenbyte (oder Zeichen) zu repräsentieren. Diese Daten-Bits sind der eigentliche Informationsteil der Nachricht, der zwischen den Geräten übertragen wird.
Protokoll: Auswahl der Protokollvariante wie bspw. JBus.
Refresh-Zyklus (msec): Zeitspanne in Millisekunden, nach der der komplette benötigte Variablenhaushalt einer Verbindung aktualisiert wird.
Antwort Timeout (s): Zeitspanne in Sekunden, nach der ein Fehler wegen Kommunikationsabbruchs gemeldet wird.
SwapWords: Modbus überträgt Daten standardmäßig in 16-Bit-Blöcken (Wörtern). Bei 32-Bit-Datenformaten werden zwei aufeinanderfolgende 16-Bit-Wörter kombiniert. Unterschiedliche Geräte oder Systeme können jedoch die Reihenfolge dieser Wörter unterschiedlich interpretieren. Mit der Option SwapWords kann man die Reihenfolge der beiden 16-Bit-Wörter umkehren.
SwapBytes: Modbus überträgt Daten in 16-Bit-Wörtern (2 Bytes), und je nach Gerät können diese Bytes in unterschiedlicher Reihenfolge gespeichert oder übertragen werden. Mit der Option SwapBytes wird die Reihenfolge der beiden Bytes innerhalb eines 16-Bit-Worts getauscht.
SwapBytesInt8: Bei Verwendung dieser Option werden die beiden 8-Bit-Werte (Bytes) innerhalb eines 16-Bit-Worts vertauscht.
FC 6 zum Schreiben auf Register: Anstelle des Funktionscode 16 (WriteMultipleRegisters) wird der Funktionscode 6 (WriteSingleRegister) verwendet. Daraus können bei bestimmten Datentypen mehrere Schreibaufträge resultieren.
Stop der Kommunikation: Durch diese Einstellung werden Kommunikationsaufträge für diese Verbindung vom Treiber nicht weitergeleitet und es werden keine Treiberfehlermeldungen für diese Verbindung erzeugt.
Keine Datenlücken im Lesebuffer: Einige Steuerungen erlauben keinen allgemeinen Zugriff auf Speicherbereiche sondern nur auf Speicherbereiche, die mit Tags belegt sind. Dieser Parameter optimiert die Leseblöcke, damit nur belegte Speicherbereiche gelesen werden. Betrifft bspw. Weidmüller M3000 oder M4000.
Zeitstempel¶
Die Zeitstempel an Tags mit Modbus-Anbindung werden beim Einlesen der Werte in PROCON-Connect erzeugt. Das Protokoll selbst liefert keine Zeitstempel.
OPC-UA¶
Konfigurationsparameter für den Aufbau einer Verbindung zu einem OPC-UA Server.
Die Verwaltung von Treiberverbindungen ist für alle Treiber gleich und im Abschnitt Treiber konfigurieren geregelt.
Treiberparameter¶
Kill Variablenname¶
Default-Wert
KILL
Funktion
Diese Variable dient dazu, die Kommunikation zur SPS zu beenden bzw. wieder aufzunehmen.
Wie konfigurieren?
Als Treiberparameter wird der Name der Kill-Variable hinterlegt, z. B. KILL.
Der Name der Kill-Variablen kann anschließend an beliebig viele Boolean-Tags dieses Treibers gehängt werden.
Dazu zunächst über die Tag-Liste den Tag-Editor des gewünschten Tags öffnen.
Das Feld Name mit der Kill-Variablen, bspw. KILL, füllen.
Wird einer der so konfigurierten Tags TRUE oder FALSE, werden alle Tags derselben Treiberverbindung mit demselben Namen (bspw. KILL) auf denselben Wert gesetzt. Damit wird eine synchrone Orchestration der Verbindung über mehrere Tags hinweg ermöglicht.
Status Variablenname¶
Default-Wert
STATUS
Funktion
Diese Variable wird verwendet, um den aktuellen Zustand eines Prozesses oder Systems anzuzeigen.
Wie konfigurieren?
Als Treiberparameter wird der Name der Status-Variable hinterlegt, z. B. STATUS.
Der Name der Status-Variablen kann anschließend an beliebig viele Tags dieses Treibers gehängt werden.
Dazu zunächst über die Tag-Liste den Tag-Editor des gewünschten Tags öffnen.
Das Feld Name mit der Status-Variablen, bspw. STATUS, füllen.
URL Variablenname¶
Default-Wert
URL
Funktion
Diese Variable enthält die OPC UA Server-URL, mit der sich der Treiber verbinden soll.
Die Software liest diese Variable, um dynamisch zu entscheiden, mit welchem OPC UA Server sie sich verbinden soll.
Wie konfigurieren?
Als Treiberparameter wird der Name der URL-Variable hinterlegt, z. B. URL.
Der Name der URL-Variablen kann anschließend an beliebig viele Tags dieses Treibers gehängt werden.
Dazu zunächst über die Tag-Liste den Tag-Editor des gewünschten Tags öffnen.
Das Feld Name mit der URL-Variablen, bspw. URL, füllen.
Verbindungseinstellungen¶
Verbindungsname: Der Verbindungsname muss eindeutig sein. Er wird in der Treiberübersicht angezeigt.
Verbindungstyp: Aktuell TCP-Connection voreingestellt.
URL: IP-Adresse oder Hostname des OPC-UA-Servers. Das Prefix opc.tcp:// ist fest vorangestellt.
Port: Port des OPC-UA-Servers. Default ist Port 4840. Die Aufteilung von URL und Port wurde nachträglich vollzogen. Ältere Konfigurationen, die den Port noch im URL-Feld nach dem Muster [URL]:[Port] haben, können so ohne Anpassung weiterbetrieben werden.
Benutzername: Benutzername des Benutzers auf dem OPC-UA-Server, der zum Koppeln verwendet werden soll. Die Kopplung mit Anmeldedaten ist optional.
Passwort: Passwort des Benutzers auf dem OPC-UA-Server, der zum Koppeln verwendet werden soll. Die Kopplung mit Anmeldedaten ist optional.
Array Elemente einzeln schreiben: Werte in genaue Array Positionen schreiben, anstatt das gesamte Array zu lesen, zu verändern und zurück zu schreiben. Nicht von jedem Server unterstützt.
Verschlüsselung bevorzugen: Wenn nicht aktiviert, werden Endpoints mit der Security Policy NONE bevorzugt verwendet.
Verbindung deaktivieren: Angelegte Verbindung kann vorübergehend deaktiviert werden.
Verbinden Timeout (s): Timeout für den Verbindungsvorgang.
Anfragen Timeout (s): Timeout für Anfragen.
Session Timeout (s): Session Timeout. Der tatsächliche Werte kann anders sein, wenn der Server den eingestellten Timeout nicht unterstützt.
Lese Modus: Auswahl zwischen zyklischem Lesen und Subscriptions (Lesen bei Wertänderungen).
Lesen nach Schreiben: Nach jedem Schreibvorgang wird zeitversetzt nochmals aktiv gelesen. Diese Option sollte nur aktiviert werden, wenn hochfrequente Änderungen vom OPC-UA-Server nicht erkannt werden. Das zusätzliche Lesen bedeutet zusätzliche Performance-Last. Es sollte geprüft werden, ob sich die Konstellation applikativ auflösen lässt, bevor diese Option aktiviert wird.
Zusätzliches Lesen (s): Führt zusätzlich zur Subscription alle n Sekunden ein manuelles Lesen von Variablen durch.
Max. Subscription Größe: Maximale Anzahl an überwachten Items pro Subscription. Werden mehr Variablen angefragt, werden mehrere Subscriptions verwendet.
Publishing Intervall (ms): Gewünschtes Subscription Publishing Intervall. Der tatsächliche Wert kann kleiner sein, wenn der Server den gewünschten Wert nicht unterstützt.
Sampling Intervall (ms): Gewünschter Sampling Intervall der überwachten Items. Der tatsächliche Werte kann größer sein, wenn der Server den gewünschten Wert nicht unterstützt.
Monitored Item Queue Größe: Legt fest, wie viele Werteänderungen für ein überwachtes Item (z. B. einen Sensorwert oder eine Variable) in einer Warteschlange gespeichert werden sollen, bevor sie an den Client übermittelt werden.
Queue Überlauf Handling: Gibt an, welcher Wert verworfen werden soll, wenn die Monitored Item Queue überläuft.
Data Change Trigger: Gibt an, unter welcher Bedingung über eine Werteänderung benachrichtigt werden soll. Auf Zeitstempel subscriben wird nicht von jedem Server unterstützt.
Zeitstempel¶
Die Zeitstempel an Tags mit OPC UA-Anbindung werden vom OPC UA Server übernommen. Die Quelle des Zeitstempels hängt ggf. von der Konfiguration des OPC UA Servers ab.
TIA V2¶
Konfigurationsparameter für den Aufbau einer Verbindung zu TIA-Portal. Das Suffix V2 stellt eine interne Unterscheidbarkeit zum vorherigen Treiber im Rahmen von PROCON-WEB (SCADA) dar.
Die Verwaltung von Treiberverbindungen ist für alle Treiber gleich und im Abschnitt Treiber konfigurieren geregelt.
Unterstützte Steuerungen¶
Folgende Steuerungen und Versionen werden unterstützt:
SPS Familie |
Firmware |
|---|---|
S7-1200 |
ab 2.2 |
S7-1500, S7-1500P |
ab 1.0 bis 3.x |
S7-1500 Software Controller S7-1505S |
1.8 |
S7-1500 Software Controller S7-1507S |
2.0, 2.6, ab 20.x |
S7-1500 Software Controller S7-1505SP |
2.0, 2.6, ab 20.x |
virtueller Controller SIMATIC S7-PLCSIM Advanced |
ab 2.0 |
Treiberparameter¶
Kill Variablenname¶
Default-Wert
KILL
Funktion
Diese Variable dient dazu, die Kommunikation zur SPS zu beenden bzw. wieder aufzunehmen.
Wie konfigurieren?
Als Treiberparameter wird der Name der Kill-Variable hinterlegt, z. B. KILL.
Der Name der Kill-Variablen kann anschließend an beliebig viele Boolean-Tags dieses Treibers gehängt werden.
Dazu zunächst über die Tag-Liste den Tag-Editor des gewünschten Tags öffnen.
Das Feld Name mit der Kill-Variablen, bspw. KILL, füllen.
Wird einer der so konfigurierten Tags TRUE oder FALSE, werden alle Tags derselben Treiberverbindung mit demselben Namen (bspw. KILL) auf denselben Wert gesetzt. Damit wird eine synchrone Orchestration der Verbindung über mehrere Tags hinweg ermöglicht.
Status Variablenname¶
Default-Wert
STATUS
Funktion
Diese Variable wird verwendet, um den aktuellen Zustand eines Prozesses oder Systems anzuzeigen.
Wie konfigurieren?
Als Treiberparameter wird der Name der Status-Variable hinterlegt, z. B. STATUS.
Der Name der Status-Variablen kann anschließend an beliebig viele Tags dieses Treibers gehängt werden.
Dazu zunächst über die Tag-Liste den Tag-Editor des gewünschten Tags öffnen.
Das Feld Name mit der Status-Variablen, bspw. STATUS, füllen.
Verbindungseinstellungen¶
Verbindungsname: Der Verbindungsname muss eindeutig sein. Er wird in der Treiberübersicht angezeigt.
Verbindungstyp: TIA ist voreingestellt und kann nicht verändert werden.
PLC IP: IP-Adresse der Steuerung.
Port: Der Port 102 wird standardmäßig für die Kommunikation genutzt und ist voreingestellt.
PLC number: Nummer für logisches Mappen auf virtuelle PLC-Nummer für Steuerungen am Profibus.
PLC Typ: Die automatische Erkennung ist voreingestellt. Sollte es bei der Erkennung zu Problemen kommen, kann über das Dropdown jedoch auch ein konkreter Typ, bspw. S7-1500, ausgewählt werden.
Passwort: Ist ein Passwort im TIA Projekt vergeben, muss dieses hier hinterlegt werden. Verwendet das TIA Projekt kein Passwort, kann das Feld leer bleiben.
Das Passwort wird im TIA-Portal wie folgt hinterlegt:
Geräteansicht–>Eigenschaften–>Schutz und Sicherheit–>Zugriffsberechtigung–>PasswortSichere Kommunikation: Erlaubt die Aktivierung der Sicherheitsfunktion zur verschlüsselten und authentifizierten Kommunikation mit der Steuerung.
Voraussetzungen für eine sichere Kommunikation:
Firmware der CPU untersützt sichere Kommunikation
Sichere Verbindung in TIA Portal aktiviert:
Geräteansicht–>Eigenschaften–>Schutz und Sicherheit–>Kommunikation–>Sichere Verbindung aktivieren
Verbindung deaktivieren: Durch diese Einstellung werden Kommunikationsaufträge für diese Verbindung vom Treiber nicht weitergeleitet und es werden keine Treiberfehlermeldungen für diese Verbindung erzeugt.
Verbinden Timeout (ms): Legt fest, wie lange gewartet wird, bis eine Antwort von der Steuerung bei einem Verbindungsversuch eingehen muss, bevor der Verbindungsversuch als fehlgeschlagen bewertet wird.
Autom. Verbindungsaufbau nach (ms): Legt fest, nach welcher Zeit in Millisekunden (ms) automatisch erneut versucht wird, eine Verbindung zur Steuerung aufzubauen, nachdem die Verbindung unterbrochen wurde.
Max. Variablenanzahl im Lesezyklus: Legt fest, wie viele Tags in einem einzelnen Lesevorgang von der Steuerung gleichzeitig abgefragt werden. Der Wert sollte reduziert werden, wenn die Kommunikationslast der Steuerung stark ausgelastet ist.
Starken Einfluss hat die Konfiguration der Siemens Steuerung. Der default Wert von 50 % Reservierung für Kommunikationslast sollte eingehalten werden, da die Lesezeit sonst exponetiell ansteigt. Die Kommunikationslast wird im TIA Portal hier konfiguriert:
Geräteansicht–>Eigenschaften–>Kommunikationslast.Poll Intervall (ms): Legt fest, wie oft die Abfrage nach aktuellen Daten erfolgt.
Je kürzer das Intervall, desto schneller die Reaktion auf Prozessänderungen aber auch höhere Belastung für die Steuerung und höheres Risiko bei schwacher Netzwerkverbindung.
Je länger das Intervall, desto weniger Netzwerklast und CPU-Last sowie stabileres Verhalten bei langsamer Kommunikation aber weniger Reaktionszeit bspw. in einer HMI.
Zeitstempel¶
Die Zeitstempel an Tags mit TIA v2-Anbindung werden beim Einlesen der Werte in PROCON-Connect erzeugt. Das Protokoll selbst liefert keine Zeitstempel.
Bekannte Probleme¶
Firmware-Bug bei Siemens 1500er CPUs mit Firmware 4.0: Häufige Verbindung und Trennung mit der SPS im Ereignisprotokoll sichtbar. Fix über Firmware-Update ab v4.0.4 bringt Besserung, behebt das Problem jedoch nicht komplett. Weitere Infos in den Siemens Release Notes. Daher für Firmware v4.x derzeit nicht freigegeben.
Der TIA V2 Treiber unterstützt derzeit keinen Import von Feldern aus Strukturen. Statt dessen erzeugt der Treiber dafür ein Element für jeden Index.
Fehler-Codes¶
Fehler-Code |
Fehlertext |
|---|---|
0x00000000 |
No error |
0x00000001 |
No error, job still in process |
0xFFF00000 |
Function not implemented |
0xFFF00001 |
Parameter error when calling function |
0xFFF00002 |
Invalid device number |
0xFFF00003 |
Invalid PLC number |
0xFFF00004 |
Invalid parameter type |
0xFFF00005 |
Insufficient memory |
0xFFF00006 |
Device already opened |
0xFFF00007 |
Device not opened |
0xFFF00008 |
Job removed |
0xFFF00009 |
Invalid job number |
0xFFF0000A |
Function not supported |
0xFFF0000B |
Adapter not initialized |
0xFFF0000C |
No free connections available |
0xFFF0000D |
Device not configured or not supported |
0xFFF0000E |
Hardware not found |
0xFFF0000F |
Error when reading parameters |
0xFFF00010 |
Error when writing parameters |
0xFFF00011 |
Demo period expired |
0xFFF00012 |
Wrong character in text. Conversion not possible |
0xFFF00013 |
Buffer is not long enough |
0xFFF00014 |
File not found |
0xFFF00015 |
Error when calling configuration program |
0xFFF00016 |
Error when loading DLL dynamically |
0xFFF00017 |
Could not create file |
0xFFF00018 |
Notification type already in use |
0xFFF00019 |
Running job already removed |
0xFFF0001A |
Job already removed |
0xFFF0001B |
Error when reading WLD file |
0xFFF0001C |
Error when writing WLD file |
0xFFF0001D |
Invalid structure in WLD file |
0xFFF0001E |
Multiple blocks in WLD file |
0xFFF0001F |
Function is not reentrant |
0xFFF00020 |
Function removed for code size reduction |
0xFFF00021 |
Because of parameter changes (in the moment) not applicable |
0xFFF00022 |
Invalid handle |
0xFFF00023 |
Invalid device type |
0xFFF50000 |
No free job buffer available |
0xFFF50001 |
Invalid packet |
0xFFF50002 |
No connection to PLC |
0xFFF50003 |
Connection closed |
0xFFF50004 |
Timeout |
0xFFF50005 |
Invalid context |
0xFFF50006 |
PLC memory error |
0xFFF50007 |
Invalid operating state |
0xFFF50008 |
Invalid address on PLC |
0xFFF50009 |
Invalid mode |
0xFFF5000A |
No data available e.g. DB is missing |
0xFFF5000B |
Priority class associated to OB does not exist |
0xFFF5000C |
Empty blocklist |
0xFFF5000D |
Block size error |
0xFFF5000E |
Invalid block number |
0xFFF5000F |
Protection level of function not sufficient |
0xFFF50010 |
Unknown SSL-ID (e.g. access to CP instead of PLC) |
0xFFF50011 |
Unknown SSL-index (e.g. access to CP instead of PLC) |
0xFFF50012 |
Information currently not ascertainable |
0xFFF50013 |
Unknown error message from PLC (please report!) |
0xFFF50014 |
Hardware error e.g. not available periphery |
0xFFF50015 |
Object access not allowed |
0xFFF50016 |
Context not supported |
0xFFF50017 |
Type (data type) not supported |
0xFFF50018 |
Internal error, please report |
0xFFF50019 |
Error rebooting PLC |
0xFFF5001A |
Error restarting PLC |
0xFFF5001B |
Connection end received |
0xFFF5001C |
PLC not found |
0xFFF5001D |
Too many data for this version of ACCON-AGLink |
0xFFF5001E |
PLC does not support this function |
0xFFF5001F |
Wrong Password |
0xFFF50020 |
Connection already legitimated |
0xFFF50021 |
Legitimation already released |
0xFFF50022 |
Password not neccessary |
0xFFF50023 |
At least one variable address invalid |
0xFFF50024 |
Job does not exist |
0xFFF50025 |
Invalid job state |
0xFFF50026 |
Invalid cycle time |
0xFFF50027 |
No more cyclic job possible |
0xFFF50028 |
Function not posible for this job (invalid state) |
0xFFF50029 |
Function abort (overload) |
0xFFF5002A |
No data for this variable |
0xFFF5002B |
Wrong time format |
0xFFF5002C |
Unknown PI name |
0xFFF5002D |
File transfer canceled by NCK |
0xFFF5002E |
Response too large for PDU size |
0xFFF5002F |
No H-PLC found |
0xFFF50030 |
Data not changed |
0xFFF50031 |
Received data is corrupt |
0xFFF50032 |
The requested parameter has the wrong size or type |
0xFFF50033 |
The parameter has a wrong value |
0xFFF50034 |
The parameter is not changeable |
0xFFF50035 |
The parameter is read only |
0xFFF50036 |
The variable definition contains the wrong size |
0xFFF50037 |
Array index does not exist |
0xFFF50038 |
PARA does not exist |
0xFFF50039 |
Error during disconnect |
0xFFF5003A |
Transfer and execute to NCK was aborted |
0xFFF5003B |
Invalid variable request set |
0xFFF5003C |
SSL library not found |
0xFFF5003D |
SSL library not loaded |
0xFFF5003E |
Not all SSL functions found |
0xFFF5003F |
Libcrypto not loaded |
0xFFF50040 |
Not all crypto functions found |
0xFFF50041 |
Invalid SSL version found |
0xFFF50042 |
Could not initialize SSL |
0xFFF50043 |
No secure communication |
0xFFF50044 |
Only secure communication |
0xFFF50045 |
Error opening DER file |
0xFFF50046 |
Error reading DER file |
0xFFF50047 |
Error opening PEM file |
0xFFF50048 |
Error reading PEM file |
0xFFF50049 |
Error not a valid buffer |
0xFFF5004A |
error in certificate store |
0xFFF5004B |
Error untrusted certificate |
0xFFF5004C |
Error SSL not supported on this OS |
0xFFF5004D |
Error SSL was already deleted |
0xFFF30000 |
Error when reading device information |
0xFFF30001 |
Error when reading bus parameters |
0xFFF30002 |
Error when writing bus parameters |
0xFFF30003 |
No resources available on device |
0xFFF30004 |
Invalid device |
0xFFF30005 |
Adapter not found |
0xFFF30006 |
Needed device driver not found |
0xFFF40000 |
Error in layer4 |
0xFFF40001 |
No send buffers available |
0xFFF20000 |
The desired adapter address already exists |
0xFFF20001 |
Invalid HSA (smaller than biggest active participant) |
0xFFF20002 |
Adapter is not in the logical ring |
0xFFF20004 |
Received package has wrong content |
0xFFF20006 |
Unknown error number from adapter |
0xFFF20007 |
Unknown error number from device driver |
0xFFF20008 |
Communications adapter has been removed |
0xFFF20009 |
Modem has been removed |
0xFFF2000A |
No directly connected PLC found |
0xFFF2000B |
Setting a socket option failed |
0xFFF20313 |
Invalid speed on MPI bus |
0xFFF20314 |
Address is bigger than HSA |
0xFFF20315 |
The desired adapter address already exists |
0xFFF2031A |
No other active bus participants found |
0xFFF2031C |
Bus is jammed |
0xFFF2031D |
Bus is jammed |
0xFFF2031E |
Automatic detection of bus profile doesn’t work, missing bus parameter telegram |
0xFFF20337 |
Legitimation missing |
0xFFF24000 |
PCAP library not found |
0xFFF24001 |
PCAP function in library not found |
0xFFF24002 |
No PCAP adapter found |
0xFFF24003 |
Specified PCAP adapter not found |
0xFFF24004 |
Error compiling filter expression |
0xFFF24005 |
Error setting filter expression |
0xFFF24006 |
Error in pcap_open_live |
0xFFF24007 |
Error in pcap_sendpacket |
0xFFF24008 |
Error in pcap_dispatch |
0xFFF24009 |
Error in pcap_next_ex |
0xFFF2400A |
Required helper library not found |
0xFFF2400B |
Helper library function not found |
0xFFF2400C |
Error in helper library function call |
0xFFF2400D |
Not enough memory |
0xFFF2400E |
You selected not supported adapter hardware |
0xFFF10000 |
COM-Port already used |
0xFFF10001 |
Modem not found |
0xFFF10002 |
Modem not onhook |
0xFFF10003 |
Modem not offhook |
0xFFF10004 |
Error in basic initialisation |
0xFFF10005 |
Error in Initstring 1 |
0xFFF10006 |
Error in Initstring 2 |
0xFFF10007 |
Error in Initstring 3 |
0xFFF10008 |
Error in Initstring 4 |
0xFFF10009 |
Error in dialtype sequence |
0xFFF1000A |
Error in dialtone sequence |
0xFFF1000B |
Error in autoanswer sequence |
0xFFF1000C |
Modem has been removed |
0xFFF1000D |
Connection could not be established |
0xFFF1000E |
Login denied. Unknown user. |
0xFFF1000F |
Login denied. Wrong password. |
0xFFF10010 |
Login denied. Callback number defined in adapter. |
0xFFF10011 |
Error while dialing |
0xFFF80000 |
Function not allowed |
0xFFF80001 |
Invalid project handle |
0xFFF80002 |
Error opening project |
0xFFF80003 |
Error creating program instance of project |
0xFFF80004 |
Error closing project |
0xFFF80005 |
No resp. no more programs found |
0xFFF80006 |
Program not found |
0xFFF80007 |
At least one of the specified parameters is invalid |
0xFFF80008 |
Runtime has expired (demo version) |
0xFFF8000A |
No resp. invalid data specified |
0xFFF8000B |
The program selected has no symbol table |
0xFFF8000C |
Symbol table already opened |
0xFFF8000D |
No resp. no more symbol entry found |
0xFFF8000E |
Error reading symbol entry |
0xFFF8000F |
Symbol not found |
0xFFF80010 |
Operand not found |
0xFFF80011 |
Invalid symbol |
0xFFF80012 |
Invalid operand |
0xFFF80013 |
Invalid filter string |
0xFFF80014 |
Data block (DB) not present |
0xFFF80015 |
Error reading DB block data |
0xFFF80016 |
Error parsing DB block data |
0xFFF80017 |
An opened DB is already present |
0xFFF80018 |
No opened DB present |
0xFFF80019 |
No resp. no more DB component found |
0xFFF8001A |
Specified DB component not found |
0xFFF8001B |
Specified DB component is invalid |
0xFFF8001C |
Specified DB component not matching |
0xFFF8001E |
Invalid constant |
0xFFF8001F |
Invalid constant size or format |
0xFFF80020 |
Object type initialization failed |
0xFFF80021 |
Invalid version of message configuration |
0xFFF80022 |
Error opening message configuration |
0xFFF80023 |
Error closing message configuration |
0xFFF80024 |
No resp. no more message entry found |
0xFFF80025 |
No resp. no more language found |
0xFFF80026 |
Database access error |
0xFFF80027 |
Invalid signal number |
0xFFF80028 |
Invalid add. value specification |
0xFFF80029 |
Add. value number invalid |
0xFFF8002A |
Element type of add. value invalid |
0xFFF8002B |
Add. value data length invalid |
0xFFF8002C |
Format specification missing |
0xFFF8002D |
Format specification invalid |
0xFFF8002E |
No resp. no more text library found |
0xFFF8002F |
No resp. no more text library entry found |
0xFFF80030 |
Not enough memory |
0xFFF80031 |
Block type invalid |
0xFFF80032 |
Listing handle invalid |
0xFFF80033 |
Block not present |
0xFFF80034 |
Error reading block data |
0xFFF80035 |
Error parsing block data |
0xFFF80036 |
No resp. no more declaration found |
0xFFF80037 |
No resp. no more attributes found |
0xFFF80038 |
Writing CPU list failed |
0xFFF90000 |
Read error |
0xFFF90001 |
Write error |
0xFFF90002 |
Read error (variable content, type) |
0xFFF90003 |
Wrong PLC type |
0xFFF90064 |
Internal assert wrong |
0xFFFA0000 |
Not applicable |
0xFFFA0001 |
Access invalid element |
0xFFFA0002 |
Access buffer too small |
0xFFFA0003 |
Access buffer invalid S5TIME value |
0xFFFA0004 |
Access buffer invalid S5TIME base |
0xFFFA0005 |
Access buffer invalid S7 COUNTER value |
0xFFFA0006 |
Path missing expanded index |
0xFFFA0007 |
Path invalid |
0xFFFA0008 |
Path end reached |
0xFFFA0009 |
Path unknown field |
0xFFFA000A |
Unknown child |
0xFFFA000B |
Array is no value type |
0xFFFA000C |
Array index missing |
0xFFFA000D |
Array index invalid |
0xFFFA000E |
Array index not allowed |
0xFFFA000F |
Array range not allowed |
0xFFFA0010 |
Array range invalid |
0xFFFA0011 |
UDT has no base type |
0xFFFA0012 |
Unknown error code |
0xFFFA0013 |
Wrong symbol ID |
0xFFFA0014 |
Item access denied |
0xFFFA0015 |
Read only item |
0xFFFA0016 |
Partial errors |
0xFFFA0017 |
Not an instance |
0xFFFA0018 |
Wrong symbol ID path |
0xFFFA0019 |
Symbolic wrong area |
0xFFFA001A |
Wrong value range |
0xFFFA001B |
PLC cant deliver |
0xFFFA001C |
PLC object does not exists |
0xFFFA001D |
PLC type info missing |
0xFFFA0050 |
Invalid datablock |
0xFFFA0051 |
Datablock is optimized |
0xFFFA0052 |
Invalid Tag |
0xFFFA0053 |
Start address too big |
0xFFFA0054 |
Not allowed symbolic access |
0xFFFA006E |
File read error |
0xFFFA0074 |
Project file not found |
0xFFFA0075 |
Project file unsupported extension |
0xFFFA0076 |
Project folder missing |
0xFFFA00FD |
Invalid agl version |
0xFFFA00FE |
Invalid filter |
0xFFFA00FF |
Invalid node |
0xFFFA0100 |
Invalid flags |
0xFFFA0101 |
Invalid alarm ID |
0xFFFA0102 |
Invalid alarm LCID |
0xFFFA0103 |
No alarms found |
0xFFFA0104 |
Invalid alarmtext |
0xFFFA0105 |
Invalid alarmtext index |
0xFFFA0106 |
Invalid LCID |
0xFFFA0107 |
DB not found |
0xFFFA0108 |
No alarm subscription active |
0xFFFA0109 |
Already open |
0xFFFA010A |
Not open |
0xFFFA010B |
Must be word aligned |
0xFFFA010C |
Password required |
0xFFFA010D |
Parameter is null |
0xFFFA010E |
Parameter is zero |
0xFFFA010F |
Invalid handle |
0xFFFA0110 |
Root handle expected |
0xFFFA0111 |
Result buffer too small |
0xFFFA0112 |
NCK BTSS item invalid |
0xFFFA0113 |
NCK BTSS item unknown |
0xFFFA0114 |
NCK BTSS item not supported in selected CNC version |
0xFFFA0115 |
Alarm subscription is already active |
0xFFFA0190 |
Internal communication error |
0xFFFA0191 |
Internal communication error 0 |
0xFFFA0193 |
Internal communication error 2 |
0xFFFA0194 |
Write bool range needs modulo 8 start and count |
0xFFFA0195 |
Wrong read type |
0xFFFA0196 |
PLC auto detect failed |
0xFFFA0197 |
Only single values allowed |