Langsatz

Daten werden mit einem Langsatz an den M-Bus Teilnehmer gesendet. Der Langsatz setzt sich aus maximal 255 Bytes zusammen und wird mit dem Baustein FB_MBUS_General_Send() an den Zähler übertragen.

Aufbau des Protokolls:

Byte

Langsatz

Beschreibung

Belegung im Baustein "FB_MBUS_General_Send"

1

Startzeichen

68hex

Wird im Baustein hinzugefügt

2

L-Feld

Länge der Anwenderdaten plus 3

Wird im Baustein hinzugefügt

3

L-Feld

Länge der Anwenderdaten plus 3

Wird im Baustein hinzugefügt

4

Startzeichen

68hex

Wird im Baustein hinzugefügt

5

C-Feld

Funktionsfeld

Wird an die Inputvariable "byC_Field" übergeben

6

A-Feld

Primäradresse der M-Bus Teilnehmers

Wird an die Inputvariable "usiAddress" übergeben

7

CI-Feld

Kennungsfeld

Wird an die Inputvariable "byCI_Field" übergeben

8..x

Anwenderdaten (0..240)

Anwenderdaten

Werden an die Inputvariable "arrData" übergeben

x+1

Checksumme

Checksumme

Wird im Baustein hinzugefügt

x+2

Stoppzeichen

16hex

Wird im Baustein hinzugefügt

Es müssen nur die fett markierten Bytes an den Baustein übergeben werden.

Die Anwenderdaten im Array "arrData" müssen als letztes Zeichen "16hex" enthalten. Achten Sie darauf, dass die nachfolgenden Bytes leer sind.

Beispiel: Änderung der Primäradresse auf Adresse 14, alte Adresse ist 0

(*Übergabe der Anwenderdaten*)

fbSend.arrData[0]:=16#01; (*DIF / Datenformat 8 Bit Integer*)
fbSend.arrData[1]:=16#7A; (*VIF / Adresse ändern*)
fbSend.arrData[2]:=14; (*neue Adresse = 14*)
fbSend.arrData[3]:=16#16; (*Stoppzeichen/ Checksumme nicht übergeben, wird im Baustein errechnet*)

fbSend.byC_Field:=16#53; (*C-Feld*)
fbSend.byCI_Field:=16#51; (*CI-Feld*)
fbSend.usiAddress:=0; (*alte Adresse*)

fbSend(iComId:=1, (*Aufruf des Bausteins*)
bStart:=bStart,
bInit:=TRUE);

Das Senden wird mit der Variable "bStart" gestartet.