Ethernet für die Saia PCD® Serie - SBC-support
Ethernet für die Saia PCD® Serie - SBC-support
Ethernet für die Saia PCD® Serie - SBC-support
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Saia</strong>-Burgess Controls AG<br />
Konfiguration und Programmierung<br />
Programmierung des Open Data Mode via <strong>Ethernet</strong><br />
4.3.5 InitODM<br />
Unter PG5 1.4 wurde ein erster provisorischer Mechanismus eingeführt, um <strong>die</strong><br />
ODM-Modi zwischen <strong>SBC</strong>- und Engiby Bibliotheken zu teilen. Da nur wenige User-<br />
Anwendungen von <strong>die</strong>sem Fall (unter PG5 1.4) betroffen sind, wird <strong>die</strong>ses ältere Prinzip<br />
hier nicht beschrieben.<br />
Für PG5 2.0 wurde ein allgemein gültigeres Prinzip umgesetzt und sollte nun von<br />
allen Entwicklern von Kommunikationsanwendungen unter ODM-Modus respektiert<br />
werden. Diese Version ist in <strong>die</strong>sem Dokument beschriebenen und erlaubt <strong>die</strong> Verwendung<br />
von ODM in mehreren Bibliotheken gleichzeitig.<br />
4<br />
4.3.5.1 Initialisierung des ODM-Modus<br />
Der ODM-Modus muss in der CPU einmal für alle Anwendungen initialisiert werden,<br />
durch den Mittelwert der SCF-Anweisung. Diese Anweisung kann weder in der<br />
Anwender-Applikation noch in einer Kommunikations-Bibliothek platziert werden, da<br />
bei einer geteilten ODM nur eine gelingen wird.<br />
Zur Lösung <strong>die</strong>ses Problems wird <strong>die</strong> ODM Initialisierung nun durch <strong>die</strong> SPM ausgeführt,<br />
wenn <strong>die</strong> entsprechende Option im Device Configurator unter den <strong>Ethernet</strong>-<br />
Optionen in der TCP/IP-Gruppe eingestellt ist.<br />
Durch Einstellen der Option „Yes“ werden <strong>die</strong> folgenden 3 Massnahmen ausgeführt:<br />
■ Der erforderliche Code um <strong>die</strong> ODM zu initialisieren wird erzeugt<br />
■ Das Auslese Timeout (Reading timeout) wird für alle Anwendungen definiert<br />
■ Eine Reihe von System-Symbolen werden veröffentlicht<br />
4.3.5.2 Telegramm Auslese Timeout<br />
Der Standardwert (und empfohlene Wert) für das Auslese Timeout liegt bei 1000 Millisekunden.<br />
Dieser Wert gilt für alle Anwendungsbereiche der ODM. Dabei handelt es<br />
sich um <strong>die</strong> maximal erlaubte Zeit für das Lesen eines empfangenen Datagramms.<br />
Jede Anwendung ist verantwortlich für das Lesen der adressierten Pakete. Solange<br />
ein Paket nicht aus dem Empfangspuffer gelesen wurde, können keine anderen<br />
(auch für andere Anwendungen) gelesen werden. Daher ist das Auslese Timeout ein<br />
Sicherheitsmechanismus, um sicherzustellen, dass der Empfangspuffer nicht durch<br />
eine einzelne Anwendung blockiert werden kann.<br />
Allerdings, wenn eine Anwendung nicht mehr empfangene Datagramme liest, wird<br />
<strong>die</strong> Kommunikation der anderen Anwendungen drastisch verlangsamt und kann sogar<br />
dazu führen, dass Pakete verloren gehen.<br />
Daher muss eine Anwendung mit gemeinsamen ODM <strong>die</strong> eingehenden immer unverzüglich<br />
Pakete überprüfen und sie so schnell wie möglich lesen. Falls <strong>die</strong> sofortige<br />
Verarbeitung des Pakets nicht möglich ist, sollte das Paket gelesen und in einem<br />
temporären Puffer gespeichert werden (oder aber ignoriert werden mit einer Fehleranzeige).<br />
<strong>Ethernet</strong>-Handbuch der <strong>Saia</strong> PCD ® Reihe │ Dokument 26 / 776 DE08 │ 2013-11-05<br />
4-21