Funktionsbaustein FB_KM6551_MASTERBROADCAST_10BYTE

Dieser Funktionsbaustein übernimmt die Kommunikation zu den einzelnen Slaves im Broadcast-Modus. Mit der Zeit tPolling kann man die Anzahl der Datentelegramme reduzieren. Es werden dann immer nur Daten in der Zeit tPolling gesendet. Achten sie darauf das sie bei einer hohen tPolling-Zeit bei den Broadcast-Slaves auch eine höhere Watchdog-Zeit eintragen, da sonst der Slave einen Watchdog-Fehler anzeigt. Eine positive Flanke von bStart aktiviert die Kommunikation. Ist das bError Bit TRUE liegt ein Fehler vor. Eine genauere Fehlerursache kann man in iErrorID auslesen. ptData_OUT ist eine Pointeradresse für die Eingangsdaten (ADR Befehl zur Ermittlung der Pointeradresse) und iLenData_OUT die Länge der Daten. Die Länge kann man mit SIZEOF bestimmen und darf nicht größer als 10 Byte sein. Die Variable strLinkData wird mit dem Baustein FB_KM6551_MAIN verbunden (die Variable heißt genauso). Bevor der Baustein FB_KM6551_MASTER_10BYTE aufgerufen wird sollte der FB_KM6551_MAIN fertig sein (siehe bActive in diesem Baustein).

Funktionsbaustein FB_KM6551_MASTERBROADCAST_10BYTE 1:
Funktionsbaustein FB_KM6551_Masterbroadcast_10Byte

VAR_INPUT

bStart
:BOOL;
iSlaveAddr
:INT;
strLinkData
:KM6551_Data;
ptData_OUT
:DWORD;
iLenData_OUT :INT;
tPolling
:TIME;

Legende

bStart: Positive Flanke aktiviert den Baustein.
iSlaveAddr: Hier wird die Slave Adresse des Slaves eingetragen (siehe DIP-Schalter auf Ihrem Slave-Modul)
strLinkData: Wird mit strLinkData vom FB_KM6551_MAIN verbunden.
ptData_OUT
: Pointer auf die Variable, in die die Master Klemme zum Slave übertragen soll (Pointer Adresse wird mit ADR(Variablen_Name) ermittelt).
iLenData_OUT
: Länge der Variable (ermitteln kann man die Länge mit SIZEOF(Variablen_Name))
tPolling: Zeitzyklus in dem die Daten zu den Slaves geschickt werden sollen.

VAR_OUTPUT

bError
:BOOL;
bActive
:BOOL;
iErrorID
:E_KM6551_ERRORID;
E_Addr
:E_KM6551_DIP;

Legende

b Error: Der Baustein hat einen Fehler.
bActive: Zeigt an, ob der Baustein arbeitet.
iErrorID
: Enthält den Fehler-Code.
E_Addr: Liest die DIP-Schalterstellung des KM6551-0000 aus und zeigt diese an.