MP_Addressing
Dieser Funktionsbaustein ermöglicht das Adressieren eines MP-Bus Slaves. Des Weiteren kann über diesen Baustein auch die Seriennummer der Slaves ausgelesen werden.
Mit MP_Address wird entweder die Slave Adresse übergeben, die der Slave beim Adressieren bekommen soll, oder die Adresse, bei welchem Teilnehmer die Seriennummer ausgelesen werden soll. Mit steigender Flanke des bReadAddr wird die Seriennummer ausgelesen. Diese wird über MP_Serial_Numer_Out ausgegeben. Eine positive Flanke von bAddrAuto adressiert einen Slave mit der Adresse MP_Address. Der Baustein wartet mit der eingestellten TMOUT Zeit auf das Senden des Slaves mit seiner Seriennummer. Das Auslösen der Übermittlung der Seriennummer ist von Slave zu Slave unterschiedlich. Bitte entnehmen Sie der Dokumentation der MP-Bus Teilnehmer, wie die Seriennummer verschickt werden kann (meist ist ein Schalter auf dem Antrieb, der dies durch Drücken auslöst). Während der TMOUT Zeit werden keine Telegramme zu den Slaves versendet.
Eine positive Flanke von bAddrManual löst eine manuelle Adressierung aus. Dafür muss die Seriennummer des Antriebs in MP_Serial_Number_In hinterlegt sein. Die Seriennummer der Slaves sind einem Aufkleber am Antrieb zu entnehmen.
Beispiel: 00234-00016-002-031 In der Variable MP_Serial_Numer_IN ist folgendes einzutragen:
YearAndWeek = 234
DayAndNumber = 16
DeviceFamily = 2
TestStation = 31
FamilySuffix = wird nicht ausgewertet und ist daher nicht zu berücksichtigen.
bBusy wird gesetzt solange der Baustein aktiv ist. Ein Fehler wird mit bError angezeigt und die Fehlernummer kann mit iErrorId ausgelesen werden.
VAR_INPUT
MP_Address : USINT := 1;
bAddrAuto : BOOL;
bReadAddr : BOOL;
bAddrManual : BOOL;
MP_Serial_Number_IN : MP_Serial_Number;
TMOUT : TIME := t#30s;
strDataKL6771 : DataKL6771;
MP_Address: Die MP Adresse die für die Adressierung verwendet werden soll oder für das Lesen der Seriennummer. Gültige Werte (1...8).
bAddrAuto: Positive Flanke startet den Baustein. Der Baustein unterbindet alle anderen MP-Bus Kommunikationen und wartet mit der eingestellten TMOUT Zeit, bis ein MP-Bus Slave seine Seriennummer zum Beispiel durch Drücken eines Schalters übermittelt hat. Es wird dann die MP-Bus Adresse an den Slave übertragen, die in der Variable MP_Address konfiguriert wurde.
bReadAddr: Positive Flanke startet den Baustein. Der Baustein liest die Seriennummer des MP-Bus Slaves mit der Adresse MP_Address aus.
bAddrManual: Positive Flanke startet den Baustein. Der Baustein adressiert den Slave mit der Seriennummen MP_Serial_Number_IN. Die Soll-Adresse des Slave wird mit MP_Address konfiguriert.
MP_Serial_Number_IN: Seriennummer des Gerätes (siehe MP_Serial_Number).
TMOUT: Zeit nach der die automatische Adressierung abgebrochen wird.
strDataKL6771: Datenstruktur die mit dem KL6771() Baustein verbunden sein muss (siehe DataKL6771).
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
iErrorId : MP_Error;
MP_Serial_Number_OUT : MP_Serial_Number;
bBusy: Dieses Bit wird so lange gesetzt, wie der Baustein aktiv ist.
bError: Der Ausgang wird TRUE, sobald ein Fehler auftritt. Dieser Fehler wird über die Variable iErrorId beschrieben.
iErrorId: Der Ausgang gibt im Fehlerfall einen Fehlercode aus (siehe MP_ERROR). Gleichzeitig wird bError TRUE.
MP_Serial_Number_OUT: Die Seriennummer vom adressierten oder angefragten Slave (siehe MP_Serial_Number).