SimpleWriteArrayOfInt

SimpleWriteArrayOfInt (FB)

FUNCTION_BLOCK SimpleWriteArrayOfInt

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 ‘ariInputArray’ 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 ‘ariInputArray’ ( 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 ‘ariInputArray’ kann Stand 07.07.2023 nicht erkannt und ausgewertet werden ( CDS-43675 Compiler, AnyType: Extension for Arrays needed ) In der ToolTipp-Hilfe zum Eingang ‘ariInputArray’ 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

ariInputArray

__SYSTEM.AnyType

Eingang für das Array der zu schreibenden Daten ( FC16, ARRAY OF INT ( 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 ‘ariInputArray’

Output

xInputArrayValid

BOOL

FALSE

Gültigkeit des Arrays am Eingang ‘ariInputArray’ ( 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_INT_ERROR_CODE

SIMPLE_WRITE_ARRAY_OF_INT_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