SimpleWriteArrayOfWord

SimpleWriteArrayOfWord (FB)

FUNCTION_BLOCK SimpleWriteArrayOfWord

Auslösung der Übertragung von Modbus-Daten

Die Datenübertragung wird ausgelöst, falls mindestens eine der nachfolgend beschriebenen Bedingungen erfüllt ist:

Voraussetzung: Es ist ein geeignetes Array am Eingang ‘arwInputArray’ angeschlossen. Dies wird durch den Ausgang ‘xInputArrayValid’ (= TRUE) signalisiert.

  1. nach einem Flankenwechsel am Eingang ‘xUpdateSetp’ (FALSE >> TRUE) (einmalig)

  2. nach Ablauf der Zeitdauer ‘tTimeUpdateSetp’ (‘tTimeUpdateSetp’ > 0) (zyklisch)

  3. nach einer Änderung des Arrays am Eingang ‘arwInputArray’ (Datentyp, Grösse, Inhalte) (einmalig)

  4. nach einer Änderung wesentlicher Parameter (‘byUnitId’, ‘wRegisterAddr’) (einmalig)

  5. nach einem Flankenwechsel am Eingang ‘xEn’ (FALSE >> TRUE) (einmalig)

  6. nach jedem Kaltstart (einmalig)

Hinweis: Der Datentyp des Arrays am Eingang ‘arwInputArray’ kann Stand 07.07.2023 nicht erkannt und ausgewertet werden (CDS-43675 Compiler, AnyType: Extension for Arrays needed) In der ToolTipp-Hilfe zum Eingang ‘arwInputArray’ werden die möglichen Array-Datentypen in Abhängigkeit vom gewählten Function-Code angezeigt.

InOut:

Scope
Name
Type
Initial
Comment

Input

xEn

BOOL

TRUE

Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)

Input

byUnitId

BYTE

0

Modbus-Adresse des Geräts

Input

arwInputArray

__SYSTEM.AnyType

Eingang für das Array der zu schreibenden Daten (FC16, ARRAY OF WORD, ARRAY OF UINT (16 Bit je Element))

Input

xUpdateSetp

BOOL

FALSE

Aktualisierung der Sollwerte (bei jeder ansteigenden Flanke)

Input

xResError

BOOL

FALSE

Reinitialisierung der Ausgänge ‘eErrorCodeCom’ bzw. ‘eErrorCodeDev’ auf den fehlerfreien Zustand (bei jeder ansteigenden Flanke)

Inout

ModbusClient

ModbusClientBase

Client des Geräts

Output

wRegisterAddrFb

WORD

0

Rückmeldung - Startadresse des Registers für das Modbus- Telegramm

Output

diInputArrayNumb

DINT

0

Anzahl der Arrayelemente am Eingang ‘arwInputArray’

Output

xInputArrayValid

BOOL

FALSE

Gültigkeit des Arrays am Eingang ‘arwInputArray’ (Datentyp, Grösse) (FALSE = nicht gültig, TRUE = gültig)

Output

xAlarm

BOOL

FALSE

Sammelstörung (TRUE = Störung)

Output

xAlarmCom

BOOL

FALSE

Sammelstörung - Kommunikation (TRUE = Störung)

Output

eErrorCodeCom

ModbusErrorCode

ModbusErrorCode.NO_ERROR

Fehlercode - Kommunikation (0 = kein Fehler)

Output

eErrorCodeDev

SIMPLE_WRITE_ARRAY_OF_WORD_ERROR_CODE

SIMPLE_WRITE_ARRAY_OF_WORD_ERROR_CODE.NO_ERROR

Fehlercode - Gerät (0 = kein Fehler)

Output

xBusy

BOOL

FALSE

Kommunikationsanzeige (TRUE = Kommunikation)

Input Const

wRegisterAddr

WORD

Startadresse des Registers für das Modbus-Telegramm

Input Const

tTimeUpdateSetp

TIME

TIME#0ms

Updateintervall für die Vorgänge, die durch den Eingang ‘xUpdateSetp’ beeinflusst werden

Zuletzt aktualisiert