Zusätzliche Parameter

 

Möglicherweise unterstützen oder fordern einige Systeme zusätzliche Informationen in den Funktionsblöcken. So kann z.B. eine SPS mehrere CAN Kanäle aufweisen. In diesem Fall benötigen die Funktionsblöcke die Kanalnummer des Dienstes. Eine weitere Anforderung besteht darin, die Zeit zu begrenzen, die ein Funktionsblock benötigt, bis er dem Aufrufer darüber Meldung erstattet, ob der Funktionsblock erfolgreich oder nicht erfolgreich ausgeführt wurde. Aus diesem Grunde ist eine Timeout-Eingang (Millisekunden) erforderlich. Aus diesem Grunde werden diese Parameter den Funktionsblöcken hinzugefügt.

In DS405 ist es erlaubt und innerhalb von CAA_CiA405.Library  ist es obligatorisch, den Funktionsblöcken die folgenden Parameter hinzuzufügen:

NETWORK: USINT; (*CAN Kanalnummer*)

Bestimmt den CAN Kanal, auf dem der erforderliche Dienst ausgeführt werden muss (Bereich 1..64). Ein Gerät mit nur einem einzigen CAN Kanal muss entweder nur die Nummer 1 oder muss alle Nummern akzeptieren, d.h. muss den Wert dieses Eingangs ignorieren.

CHANNEL: USINT; (*SDO Kanalnummer*)

Bestimmt den SDO Kanal, auf dem der erforderliche Dienst ausgeführt werden muss (ab Nummer 1). Ein Gerät mit nur einem einzigen SDO Kanal muss entweder nur die Nummer 1 oder muss alle Nummern akzeptieren, d.h. muss den Wert dieses Eingangs ignorieren.

Die CAN Kanalnummer ist nicht die gleiche wie die im CAN Bus Konfig­urator spezifizierte Net ID. Bei der Berechnung der CAN Kanalnummer muss folgende Formel verwendet werden: Net ID + 1

TIMEOUT: UDINT; (*Millisekunden; maximale Wartezeit auf Antwort*)

Die Zeitüberschreitung legt die maximale Wartezeit auf eine Antwort des Funktionsblocks fest. Die Zeitmessung beginnt mit der steigenden Flanke an Eingang ENABLE des aufgerufenen Funktionsblocks. Wenn die festgelegte maximale Zeit abgelaufen ist, ohne dass eine Antwort für den fragenden Dienst verfügbar ist, dann beendet der Funktionsblock die Ausführung und meldet eine Zeitüberschreitung. Im Falle einer unbe­grenzten Antwortzeit wird der Wert 0 in diesem Eingang verwendet.

In der CAA_CiA405.Library ist ein weiterer Ausgang des Funktions­blocks CIA405.GET_CANOPEN_KERNEL_STATE definiert:

DEVICE: CIA405.DEVICE; (*Quelle von STATE *)

DEVICE enthält entweder die Gerätenummer des Geräts, mit dem STATE verbunden ist (z.B. im Falle des Empfangs eines unbekannten Datenformats) oder die Nummer des Geräts wo der Kernel positioniert ist.

In der CAA_CiA405.Library  ist ein weiterer Eingang des Funktions­blocks CIA405.SDO_WRITE definiert:

MODE: CIA405.SDO_MODE; (*Protokolltyp*)

MODE bestimmt die Methode für Senden/Empfangen von Daten vom Server hinsichtlich SDO-Protokollspezifikation in /CIA301/