SimpleReadArray
SimpleReadArray (FB)
SimpleReadArray (FB)FUNCTION_BLOCK SimpleReadArray
Darstellung

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 InputArray angeschlossen. Dies wird durch den Ausgang xInputArrayValid (= TRUE) signalisiert.
nach einem Flankenwechsel am Eingang
xUpdateActual(FALSE >> TRUE) (einmalig)nach Ablauf der Zeitdauer
tTimeUpdateActual(tTimeUpdateActual> 0) (zyklisch)nach einer Änderung des Arrays am Eingang
InputArray(Datentyp, Grösse) (einmalig)nach einer Änderung wesentlicher Parameter (
byUnitId,wRegisterAddr,eFunctionCode) (einmalig)nach einem Flankenwechsel am Eingang
xEn(FALSE >> TRUE) (einmalig)nach jedem Kaltstart (einmalig)
Nach dem Abschluss der Datenübertragung wird das Ergebnis signalisiert (xDataValid = TRUE / FALSE) und die übertragenen Daten im Array InputArray abgelegt.
Hinweis: Der Datentyp des Arrays am Eingang InputArray kann Stand 07.07.2023 nicht erkannt und ausgewertet werden (CDS-43675 Compiler, AnyType: Extension for Arrays needed) In der ToolTipp-Hilfe zum Eingang InputArray werden die möglichen Array-Datentypen in Abhängigkeit vom gewählten Function-Code angezeigt.
InOut:
Input
xEn
BOOL
TRUE
Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)
Input
byUnitId
BYTE
0
Modbus-Adresse des Geräts
Input
InputArray
__SYSTEM.AnyType
Eingang für das Array (FC01/02: ARRAY OF BOOL, ARRAY OF
BYTE) (FC03/04: ARRAY OF INT, ARRAY OF UINT, ARRAY OF WORD)
Input
xUpdateActual
BOOL
FALSE
Aktualisierung der Istwerte (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
eFunctionCodeFb
ReadFunctionCodes
ReadFunctionCodes.FC01_ReadCoils
Rückmeldung - Modbus-Function-Code für das Modbus-Telegramm
Output
wRegisterAddrFb
WORD
0
Rückmeldung - Startadresse des Registers für das Modbus- Telegramm
Output
diInputArrayNumb
DINT
0
Anzahl der Arrayelemente am Eingang InputArray in
Abhängigkeit vom Modbus-Function-Code
Output
xInputArrayValid
BOOL
FALSE
Gültigkeit des Arrays am Eingang InputArray (Datentyp,
Grösse) (FALSE = nicht gültig, TRUE = gültig)
Output
xDataValid
BOOL
FALSE
Gültigkeit der Daten im Array InputArray (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_READ_ARRAY_ERROR_CODE
SIMPLE_READ_ARRAY_ERROR_CODE.NO_ERROR
Fehlercode - Gerät (0 = kein Fehler)
Output
xBusy
BOOL
FALSE
Kommunikationsanzeige (TRUE = Kommunikation)
Input Const
eFunctionCode
ReadFunctionCodes
ReadFunctionCodes.FC03_ReadHoldingRegisters
Modbus-Function-Code für das Modbus-Telegramm
Input Const
wRegisterAddr
WORD
Startadresse des Registers für das Modbus-Telegramm
Input Const
tTimeUpdateActual
TIME
TIME#3s0ms
Updateintervall für die Vorgänge, die durch den Eingang
xUpdateActual beeinflusst werden
Zuletzt aktualisiert

