MP_Addressing

MP_Addressing 1:

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.

MP_Addressing 2: 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

MP_Serial_Number

Seriennummer des Gerätes

TMOUT

TIME

Für die automatische Adressierung wird nach der TMOUT-Zeit abgebrochen.

strDataKL6771

DataKL6771

Datenstruktur, die mit dem KL6771() Baustein verbunden sein muss.

MP_Addressing 3: 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

MP_ERROR

Der Ausgang gibt im Fehlerfall einen Fehlercode aus. Gleichzeitig wird bError TRUE.

MP_Serial_Number_OUT

MP_Serial_Number

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