Mit den Request-Blöcken wird die Kommunikation zwischen der HiPAC-Steuerung und ibaPDA initialisiert und gesteuert.

Ein Request-Block-Satz besteht immer aus einem Management-Baustein und einem Signaldatenbaustein. Für die Verbindung über UDP und Reflective Memory werden die gleichen Signaldatenbausteine genutzt. Die Bausteine sind Bestandteil der ibaHiPACRequest-Bibliothek.

Management-Baustein IBA_REQ_A

Name

Typ

In/Out

Beschreibung

sName

STRING(20)

IN

Name des Funktionsbausteins

Derselbe Name muss für den entsprechenden IBA_REQ_B-Funktionsbaustein verwendet werden. Der Name muss eindeutig sein über alle HiPAC-CPUs, die mit demselben ibaPDA verbunden sind.

uiPort

UINT

IN

Portnummer der TCP-Socket zum Abhören

sBroadcastAddress

STRING(20)

IN

Optionale IP-Adresse, an die der Funktionsbaustein die Broadcast-Telegramme sendet

Wenn dieser Eingangsparameter leer bleibt, dann versucht der Block automatisch die Adresse zu ermitteln, indem er seine eigene IP-Adresse abruft und eine Subnetzmaske 255.255.255.0 annimmt.

iState

IBA_STATE_A

OUT

Status des Funktionsbausteins

sConnectedAddress

STRING(20)

OUT

IP-Adresse des verbundenen ibaPDA-Systems

sActBroadcastAddress

STRING(20)

OUT

IP-Adresse, die für Broadcast-Telegramme verwendet wird

iMsgCount

INT

OUT

Telegrammzähler für gesendete Telegramme an ibaPDA

iNrOnlineChanges

INT

OUT

Anzahl der Online-Änderungen, die vom Funktionsbaustein erkannt wurden

Der Baustein IBA_REQ_A kann folgende Zustände annehmen (IBA_STATE_A):

Status

Beschreibung

IBA_REQ_A_INIT

Ausgangszustand, bevor sich der Baustein mit seinem Namen registriert hat

IBA_REQ_A_OPEN

Baustein versucht, eine Socket für das Abhören auf Port uiport zu öffnen.

IBA_REQ_A_WAIT_FOR_CONNECT

Socket zum Abhören ist geöffnet und Baustein wartet auf eingehende Verbindung von ibaPDA.

IBA_REQ_A_CONNECT

Verbindung mit ibaPDA ist hergestellt und Telegramme werden ausgetauscht.

Signaldatenbaustein IBA_REQ_B

Name

Typ

In/Out

Beschreibung

sName

STRING(20)

IN

Name des Funktionsbausteins

Derselbe Name muss für den entsprechenden IBA_REQ_A-Funktionsbaustein verwendet werden.

iMaxLoad

INTIN

Maximale CPU-Auslastung in %

Wenn die CPU-Auslastung über diesen Wert steigt, dann wird der Kopiervorgang angehalten.

byDataPathType

IBA_DATA_PATH_TYPE

IN

Typ des verwendeten Datenpfads. Es gibt 2 mögliche Optionen:

  • IBA_DATA_RM: Reflective Memory. Der Offset und die Puffergröße, die auf der Reflective Memory-Karte für Request auf dieser CPU reserviert sind, werden automatisch von Funktionen der RFMPDA-Bibliothek ermittelt.

  • IBA_DATA_UDP: UDP-Verbindung. Die Zieladresse und Portnummer werden automatisch von der ibaPDA-Instanz ausgelesen, die mit dem A-Baustein zum Start der Erfassung verbunden ist.

dwDataOffset

DWORD

IN

Optionaler Zusatzoffset innerhalb des Datenpfadpuffers. Dieser wird nur benötigt, wenn mehrere B-Bausteine auf derselben CPU denselben Datenpfad beschreiben.

iMaxSize

INT

IN

Maximale Größe, die der Baustein auf dem Datenpfad beschreiben darf

Auf 0 setzen, wenn der komplette Datenpfad genutzt werden kann. Wenn mehrere B-Bausteine auf derselben CPU auf denselben Datenpfad schreiben, dann hier die maximal zulässige Größe eintragen, die der Block auf dem Datenpfad belegen darf.

iState

IBA_STATE_B

OUT

Status des Funktionsbausteins

pbyData

POINTER TO BYTE

OUT

Zeiger auf den Datenpuffer

iSize

INT

OUT

Aktuelle Größe der Daten im Puffer. Gültig, wenn iState = IBA_B_COPYING ist.

Der Signaldatenbaustein kann folgende Zustände annehmen (IBA_STATE_B):

Status

Beschreibung

IBA_B_INIT

Ausgangszustand. Suche nach dem gleichnamigen Baustein IBA_REQ_A.

IBA_B_NO_DATA_PATH

Mit dem A-Baustein verbunden, aber kein Datenpfad verfügbar.

IBA_B_READY

Verbunden mit dem A-Baustein und Datenpfad gefunden. Die Variablenliste ist leer.

IBA_B_VALIDATE

Eine neue Variablenliste wird validiert.

IBA_B_COPYING

Daten für die Variablenliste kopieren.

IBA_B_OVERLOAD

Beim Validieren oder Kopieren wurde eine Überlastung der Steuerung erkannt. Kopieren wurde gestoppt.

IBA_B_ONLINECHANGE

Eine Online-Änderung hat stattgefunden; warten, dass der A-Baustein darauf reagiert.