Hier mal ein Baustein der ein Analogwert von 0 - 27648 in S5TIME umwandelt.
Der Baustein FC 105 SCALE wird benötigt.
Zeitwert 0-3
0= 0-9.99s
1= 0-99.9s (1 min 39 s 900 ms)
2= 0-999s (16 min 39 s)
3= 0-9990s (2 h 46 min 30 s)

VAR_IN:
Analog : INT
Zeitwert: INT

VAR_OUT
Zeit: S5Time

VAR_TEMP:
Fehlerinfo: WORD
Zeitbereich: INT
ZEITW_REAL: REAL
ZEITW1_DINT: DINT
ZEITW2_DWORD: DWORD
ZEITW3_WORD: WORD
FESTE0: BOOL
FESTE1: BOOL

Netzwerk 1: (Feste 0, Feste 1)

UN #FESTE0
U #FESTE0
= L 19.0
U L 19.0
BLD 102
= #FESTE0
UN L 19.0
= #FESTE1

Netzwerk 2: Zeitbereich 0-9.99s Wert 0

U(
L #Zeitwert
L 0
==I
)
SPBNB _001
L W#16#0
T #Zeitbereich
_001: NOP 0


Netzwerk 3: Zeitbereich 0-99.9s (1 min 39 s 900 ms) Wert 1

U(
L #Zeitwert
L 1
==I
)
SPBNB _002
L W#16#1000
T #Zeitbereich
_002: NOP 0

Netzwerk 4: Zeitbereich 0-999s (16 min 39 s) Wert 2

U(
L #Zeitwert
L 2
==I
)
SPBNB _003
L W#16#2000
T #Zeitbereich
_003: NOP 0

Netzwerk 5: Zeitbereich 0-9990s (2 h 46 min 30 s) Wert 3


U(
L #Zeitwert
L 3
==I
)
SPBNB _004
L W#16#3000
T #Zeitbereich
_004: NOP 0

Netzwerk 6: Umwandlung Analogwert in S5time

U(
U(
U(
U(
U(
U M 0.0
= L 19.0
BLD 103
CALL "SCALE"
IN :=#Analog
HI_LIM :=9.990000e+002
LO_LIM :=0.000000e+000
BIPOLAR:=L19.0
RET_VAL:=#Fehlerinfo
OUT :=#ZEITW_REAL
U BIE
)
SPBNB _005
L #ZEITW_REAL
TRUNC
T #ZEITW1_DINT
UN OV
SAVE
CLR
_005: U BIE
)
SPBNB _006
L #ZEITW1_DINT
DTB
T #ZEITW2_DWORD
UN OV
SAVE
CLR
_006: U BIE
)
SPBNB _007
L #ZEITW2_DWORD
T #ZEITW3_WORD
SET
SAVE
CLR
_007: U BIE
)
SPBNB _008
L #ZEITW3_WORD
L #Zeitbereich
OW
T #ZEITW3_WORD
SET
SAVE
CLR
_008: U BIE
)
SPBNB _009
L #ZEITW3_WORD
T #Zeit
_009: NOP 0