Bei S7-300 Int-Wert in S5T umwandelt ?

Boernie

Level-1
Beiträge
25
Reaktionspunkte
0
Hi,

ich bräuchte ne Funktion um einen Int-Wert vom TP in das Zeit-
Format S5T für eine Zeitverzögerung umzuwandeln. Gibt es das
schon fertig oder wie mach ich da die Umwandlung.

:?:
 
warum benutzt du im tp nicht direkt die zeit?

aber so gehts

L INT
ITB
L W#16#2000 //zeitbasis für sekunden
+I
T ZEIT
 
FC40 "TIM_S5TI"

Hallo,
In der Standard Library gibt es den IEC-function Block FC40. Der INT-Wert muss vorher noch in eine DINT-Variable kopiert werden.
 
Hallo Boernie,

ich habe einen kleinen Fc, der das für mich macht:

Code:
FUNCTION "Zeitwert Kalkulieren" : VOID
TITLE =INT nach S5TIME Zeitbasis 0,01 bis 10 Sekunden
//Zeitbasis:
//    0=   999 = 9,99 Sek.
//    1=   999 = 99,9 Sek.  (1 m 39 s 900 ms)
//    2=   999 = 999 Sek.   (16 m 39 s)
//    3=   999 = 9990 Sek.  (2 h 46 m 30 s)
VERSION : 0.1


VAR_INPUT
  In_Int : INT ;	
  Zeitbasis : INT ;	
END_VAR
VAR_OUTPUT
  Out_S5T : S5TIME ;	
END_VAR
VAR_TEMP
  iTemp_1 : INT ;	
END_VAR
BEGIN
NETWORK
TITLE =

      L     #Zeitbasis; 
      L     2#11; 
      UW    ; 
      SLW   12; 
      T     #iTemp_1; 

      L     #In_Int; 
      ITB   ; 
      L     2#111111111111; 
      UW    ; 
      L     #iTemp_1; 
      OW    ; 
      T     #Out_S5T; 
END_FUNCTION

Ich denke das ist das einfachste und du setzt im Pannel einfach Min = 0 und Max = 999 mit entsprechenden Fixkomma...
Ich finde es auch seltsam, das es bei Siemens nicht mal mehr das eigene S5T-Format angeboten wird...
 
L DBx.DBWy //Eingabe aus HMI
L W#16#FFF
UW
ITB
L W#16#2000 //Zeitraster 1 sec.
OW
T MW 500 //S5T


Ist das gleiche wie oben ...
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…