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 die Adresse des Slaves übergeben, der adressiert oder dessen 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. 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 ist 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.
Eingänge
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;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
MP_Address | USINT | MP-Adresse, die für die Adressierung oder für das Lesen der Seriennummer verwendet werden soll. Gültige Werte (1...8). |
bAddrAuto | BOOL | 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 | BOOL | Positive Flanke startet den Baustein. Der Baustein liest die Seriennummer des MP-Bus-Slaves mit der Adresse MP_Address. |
bAddrManual | BOOL | Positive Flanke startet den Baustein. Der Baustein adressiert den Slave mit der Seriennummer MP_Serial_Number_IN. Die Soll-Adresse des Slave wird mit MP_Address konfiguriert. |
MP_Serial_Number_IN | Seriennummer des Gerätes | |
TMOUT | TIME | Für die automatische Adressierung wird nach der TMOUT-Zeit abgebrochen. |
strDataKL6771 | Datenstruktur, die mit dem KL6771() Baustein verbunden sein muss. |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
iErrorId : MP_Error;
MP_Serial_Number_OUT : MP_Serial_Number;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Dieses Bit wird so lange gesetzt, wie der Baustein aktiv ist. |
bError | BOOL | 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. Gleichzeitig wird bError TRUE. | |
MP_Serial_Number_OUT | Die Seriennummer des adressierten oder angefragten Slave. |
Voraussetzungen
Entwicklungsumgebung | erforderliche TC3 SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4020.14 | Tc2_MPBus ab 3.3.5.0 |