Herunterladen Inhalt Inhalt Diese Seite drucken

Initodm; Initialisierung Des Odm-Modus; Telegramm Auslese Timeout - Saia pcd Handbuch

Burgess ethernet für die pcd serie
Inhaltsverzeichnis

Werbung

Saia-Burgess Controls AG
4.3.5

InitODM

Unter PG5 1.4 wurde ein erster provisorischer Mechanismus eingeführt, um die
ODM-Modi zwischen Saia- und Engiby Bibliotheken zu teilen. Da nur wenige User-
Anwendungen von diesem Fall (unter PG5 1.4) betroffen sind, wird dieses ältere Prin-
zip hier nicht beschrieben.
Für PG5 2.0 wurde ein allgemein gültigeres Prinzip umgesetzt und sollte nun von
allen Entwicklern von Kommunikationsanwendungen unter ODM-Modus respektiert
werden. Diese Version ist in diesem Dokument beschriebenen und erlaubt die Ver-
wendung von ODM in mehreren Bibliotheken gleichzeitig.

4.3.5.1 Initialisierung des ODM-Modus

Der ODM-Modus muss in der CPU einmal für alle Anwendungen initialisiert wer-
den, durch den Mittelwert der SCF-Anweisung. Diese Anweisung kann weder in der
Anwender-Applikation noch in einer Kommunikations-Bibliothek platziert werden, da
bei einer geteilten ODM nur eine gelingen wird.
Zur Lösung dieses Problems wird die ODM Initialisierung nun durch die SPM aus-
geführt, wenn die entsprechende Option im Device Configurator unter den Ethernet-
Optionen in der TCP/IP-Gruppe eingestellt ist.
Durch Einstellen der Option „Yes" werden die folgenden 3 Massnahmen ausgeführt:
■ Der erforderliche Code um die ODM zu initialisieren wird erzeugt
■ Das Auslese Timeout (Reading timeout) wird für alle Anwendungen definiert
■ Eine Reihe von System-Symbolen werden veröffentlicht

4.3.5.2 Telegramm Auslese Timeout

Der Standardwert (und empfohlene Wert) für das Auslese Timeout liegt bei 1000 Mil-
lisekunden. Dieser Wert gilt für alle Anwendungsbereiche der ODM. Dabei handelt es
sich um die maximal erlaubte Zeit für das Lesen eines empfangenen Datagramms.
Jede Anwendung ist verantwortlich für das Lesen der adressierten Pakete. Solan-
ge ein Paket nicht aus dem Empfangspuffer gelesen wurde, können keine anderen
(auch für andere Anwendungen) gelesen werden. Daher ist das Auslese Timeout ein
Sicherheitsmechanismus, um sicherzustellen, dass der Empfangspuffer nicht durch
eine einzelne Anwendung blockiert werden kann.
Allerdings, wenn eine Anwendung nicht mehr empfangene Datagramme liest, wird
die Kommunikation der anderen Anwendungen drastisch verlangsamt und kann so-
gar dazu führen, dass Pakete verloren gehen.
Daher muss eine Anwendung mit gemeinsamen ODM die eingehenden immer unver-
züglich Pakete überprüfen und sie so schnell wie möglich lesen. Falls die sofortige
Verarbeitung des Pakets nicht möglich ist, sollte das Paket gelesen und in einem
temporären Puffer gespeichert werden (oder aber ignoriert werden mit einer Fehler-
anzeige).
Ethernet-Handbuch der PCD Reihe│Dokument 26/776; Ausgabe DE 06│2011-07-27
Konfiguration und Programmierung
Programmierung des Open Data Mode via Ethernet
4
4-21

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis