Umwandlung INT in S5Time (S7)

Thomas12

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen,
ich habe ein kleines Problem mit der Umwandlung einer INT- Zahl in eine Zeit die ich an einen Timer schreiben kann.
Die Eingabe der INT Zahl ist an einen MP.
Wäre super wenn ihr mir helfen könntet!!!

MfG

Thomas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Im Siemens- Forum habe ich da mal irgendwo was ausgegraben, aber selbst noch nicht drübergeschaut, wie des geht.
Irgendwo in den FAQ oder in den Sinumerik- Foren war's drin. Probier's mal aus.

Code:
FUNCTION FC 99 : VOID
TITLE =Function block for timer value
//Bitassigment from Timer
//
//+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
//!15!14!13!12!11! 9! 8! 7! 6! 5! 4! 3! 2! 1! 0! Bitassigment
//+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
//
//Bit 15 - 12 = BCD-Code with time scale : 0 = 0,01 s
//                                         1 = 0,1 s
//                                         2 = 1 s
//                                         3 = 10 s
//               2
//Bit 11 - 8 = 10  BCD-Code 
//              1 
//Bit 7 - 4 = 10  BCD Code
//              0 
//Bit 3 - 0 = 10  BCD Code
{ S7_language := '9(1) Englisch (USA)  09.08.2005  13:52:37' }
VERSION : 0.0
 
VAR_INPUT
  Timebase : WORD ; 
  Timevalue : WORD ; 
END_VAR
VAR_OUTPUT
  S5TIMER : S5TIME ; 
END_VAR
VAR_TEMP
  TIMEBASE1 : WORD ; 
END_VAR
BEGIN
NETWORK
TITLE =
      L     #Timebase; // Timebase
      SLW   12; 
      T     #TIMEBASE1; 
      L     #Timevalue; // Time value
      ITB   ; // Convert into BCD
      L     #TIMEBASE1; // Timebase
      OW    ; 
      T     #S5TIMER; // Time value for S5-Time
 
END_FUNCTION

Das hatte ich noch im "Archiv" rumliegen für spätere Verwendung... Ich habe leider mein PG gerade nicht startklar, sonst würde ich mal in der Hilfe schauen, wie das Timer- Format aufgebaut ist und wie man dann da den Baustein so ändert, dass man Sekunden, Minuten, Millisekunden etc. rauskriegt. Gucke aber bei Gelegenheit mal nach.

Vielleicht hilft dir das aber schon mal weiter. Selbst ausprobiert habe ich es noch nicht, aber da 's von Siemens ist, muss es ja eigentlich funktionieren :ROFLMAO:

Gruß, Tobias
 
Du kannst die Variable z.B. in WinCC Flex auch gleich linear Skalieren. Also das eine eingegebene 1 als 1000 in eine S5time Variable geschrieben wird, dann spart man sich die ganze Rechnerei und hat gleich die Zeit in Sekunden. Geht bei Flex bei den Variableneigenschaften unter "Eigenschaften" - "Lineare Skalierung".
 
Zuletzt bearbeitet:
Du kannst die Variable z.B. in WinCC Flex auch gleich linear Skalieren. Also das eine eingegebene 1 als 1000 in eine S5time Variable geschrieben wird, dann spart man sich die ganze Rechnerei und hat gleich die Zeit in Sekunden. Geht bei Flex bei den Variableneigenschaften unter "Eigenschaften" - "Lineare Skalierung".


Woher willst du wissen, das der Integer Wert von WinCC flex kommt :confused: :confused:
 
Woher willst du wissen, das der Integer Wert von WinCC flex kommt :confused: :confused:


Das weiß ich doch gar nicht. Darum steht da ja auch zum Beispiel. Aber da er geschrieben hat .... Die Eingabe der INT Zahl ist an einen MP.... gehe ich einfach davon aus, das er zum Projektieren ein Siemens Tool verwendet. Und ich meine in Pro-Tool geht das auch, da heißt es "Lineare Umrechnung" oder so.
 
Zuletzt bearbeitet:
Zurück
Oben