MODBUS (FB)

Der Funktionsbaustein 'MODBUS' realisiert eine Untermenge der Modbus Slave-Funktionalität. Er ermöglicht die Kommunikation z.B. mit Bedienfeldern oder anderen Geräten, die eine kompatible Modbus Master-Funktionalität besitzen.

Tabelle 4: MODBUS: Unterstützte Modbus-Funktionscodes

Funktionscode

Telegrammbezeichnung

16#01 / 16#02

Lesen n Bit

16#03 / 16#04

Lesen n Worte

16#05

Schreiben 1 Bit

16#06

Schreiben 1 Wort

16#0F

Schreiben n Bit

16#10

Schreiben n Worte

 

Variablen, die z. B. in Bedienfeldern definiert werden, werden in der Struktur 'stModbus' abgebildet:

Anwender Interface

Eingangsvariablen
Name Typ Beschreibung
boEnable

BOOL

Freigabesignal: Mit einer positiven Flanke startet die Initialisierung des Bausteins.

Solange 'boEnable' und der Ausgang 'boEnabAck' = TRUE ist, ist der Baustein freigegeben und wird von der PLC bearbeitet.

Im Zustand 'boEnable' = FALSE wird dem Baustein die Freigabe entzogen und er wird nicht mehr abgearbeitet.

usComPort

USINT

Port-Auswahl

Unterscheidung zwischen mehreren seriellen Schnittstellen

Bereich

Bedeutung

11

1. virtuelle serielle Schnittstelle: VCP0 (A4/A5)

12

2. virtuelle serielle Schnittstelle: VCP1 (A4/A5)

21

1. virtuelle serielle Schnittstelle: CDC-ACM (A4/A5)

22

2. virtuelle serielle Schnittstelle: CDC-ACM (A4/A5)

usSlaveNo

USINT

Modbus Slaveadresse

Bereich

1 ... 32

Standardwert

1

Ausgangsvariablen
Name Typ Beschreibung
boEnabAck

BOOL

Quittierung: Funktionsbaustein ist initialisiert und freigegeben

boErr

BOOL

Der Funktionsbaustein befindet sich im Zustand Fehler

FALSE

Kein Fehler (Kommandierung zulässig oder Warnung)

TRUE

Fehler

iErrID

INT

Fehler Identnummer: Diagnosenummer wird ausgegeben

iErrID = 0

Kein Fehler

iErrID ≠ 0

boErr = TRUE

Fehler

iErrID ≠ 0

boErr = FALSE

Warnung

Fehler

Bereich

Bedeutung

1

Serielle Schnittstelle nicht aktiviert

2

Unzulässige Port-Auswahl

3

Mehrfache Instanzierung des Modbusprotokolls

4

Unzulässige Slaveadresse

5

CRC-Fehler (CRC = cyclic redundancy check)

6

Sendepuffer voll

7

Unzulässige Datenlänge in Telegramm "read n words"

8

Unzulässige Datenlänge in Telegramm "write n words"

9

Unzulässige Datenlänge in Telegramm "read n bits"

10

Unzulässige Datenlänge in Telegramm "write 1 bit"

11

Unzulässiger Adresswert in Telegramm "read n words"

12

Unzulässiger Adresswert in Telegramm "write n words"

13

Unzulässiger Adresswert in Telegramm "read n bits"

14

Unzulässiger Adresswert in Telegramm "write 1 bit"

15

Unzulässiger Funktionscode

16

Überlauf des Empfangspuffers

-10

Serielle Schnittstelle belegt

Ein- und Ausgangsvariablen
Name Typ Beschreibung

stModbus

STRUCT

ST_MODBUS

Modbusstruktur

Informationsaustauschspeicher