# Int in S5Time Wandeln  - FUP



## chefren_new (2 September 2009)

Hallo

hab im Forum schon mehr über die Umwandlung von Int  in S5Time gelesen, aber kann mir jemand ein Beispiel in FUP geben?
Möchte in Wincc Flex die ein E/A Feld erstellen in dem ich den Wert in Sek. eingeben kann und in der Steuerung in S5Time umrechnen.

Danke für die Hilfe.

Gruß


----------



## online (2 September 2009)

Warum so kompliziert? Bilde mir immer einen Sekundenimpuls und addiere/subtrahiere mir einfach von dem Int Wert. Dahinter nen normalen Vergleicher und alles funzt.


----------



## Sven_HH (2 September 2009)

Hier wird das s5t Fromat sehr gut verdeutlicht

Gruß
Sven


----------



## OHGN (3 September 2009)

chefren_new schrieb:


> Hallo
> 
> hab im Forum schon mehr über die Umwandlung von Int  in S5Time gelesen, aber kann mir jemand ein Beispiel in FUP geben?
> .....



Folgender AWL- Sechszeiler wandelt einen Integerwert in der Größenordnung von 0-9990 Sekunden in das Format S5time:

```
L     #INT_sek                    //Sekundenwert im Format Integer
      L     10
      /I    
      ITB   
      OW    W#16#3000
      T     #s5time_sek                 //Zeitwert im Format S5time
```
Aber sowas in der Form hast Du ja, wie Du schreibst, schon mehrfach im Forum gelesen.
Wo ist nun Dein Problem, in der Übersetzung dieses AWL-Codes nach FUP ? 
Die Tatsache, dass sich dieses simple Progrämmchen in FUP über ganze 3 Netzwerke erstreckt und dazu noch 2 temporäre Variablen benötigt sollte eigentlich jedem noch so eingefleischten KOP/FUP- Programmierer zu denken geben, sich an gegebener Stelle doch etwas mit AWL auseinanderzusetzen.
In der PDF im Anhang findest Du den hier geposteten AWL-Code als FUP.


----------



## chefren_new (3 September 2009)

Hallo  

Danke

bin leider ein Neuling in schen SPS, FUP ist für mich einfacher zum lesen. nur das ist der Grund warum FUP

aber nochmals Danke für die Hilfe

Gruß


----------



## ToBo (3 September 2009)

chefren_new schrieb:


> Hallo
> Möchte in Wincc Flex die ein E/A Feld erstellen in dem ich den Wert in Sek. eingeben kann und in der Steuerung in S5Time umrechnen.


 
Eine Umrechnung ist doch gar nicht nötig ???

erstelle einen DB mit Datentypen S5Time.

In WinnCC Flex erstellst Du ein E/A Feld mit Feldlänge 8 und 3
Nachkommastellen. Das Feld verknüpfst Du mit einer Variable aus
dem DB.

In das EA Feld kannst Du nun die Zeit in Sekunden eingeben.
Halbe Sekunde = 0,5 eingeben und im DB wird S5T#500ms eingetragen.
Eine Stunde = 3600 eingeben und im DB steht S5T#1h usw. usw.

Das hat aber schon zu Pro Tool Zeiten so funktioniert....

Gruß.

ToBo


----------



## OHGN (3 September 2009)

ToBo schrieb:


> Eine Umrechnung ist doch gar nicht nötig ???
> .....


Naja, es gibt ja auch noch andere Visualisierungssysteme als WinCC flex oder Protool (z.B. InTouch, hier wird das so nicht unterstützt).

Wenn man in seinen SPS- Programmen noch S5-Timer verwendet und Diese über die Visu parametrieren will, so sollte man das IMHO tunlichst mit Übergabe von Integerwerten realisieren.


----------



## borromeus (3 September 2009)

Mag ja sein, dass ich wegen vor Minuten gelesener Beiträge grantig bin aber:
"bin leider ein Neuling in sachen SPS, FUP ist für mich einfacher zum lesen. nur das ist der Grund warum FUP"

Dann programmier halt nur Sachen die Du kannst und lass die anderen.
Einfachstes AWL ist ja nicht gerade eine separate Wissenschaft. Meist ist das Problem, dass keiner Bit, Byte, Word auseinanderhalten kann und bei OW (oder Wort) aussteigt. Tja, dann gibt es Kurse, Bücher oder andere Berufe.

lG
Karl


----------



## Django2012 (31 Juli 2012)

> Wenn man in seinen SPS- Programmen noch S5-Timer verwendet und Diese über die Visu parametrieren will, so sollte man das IMHO tunlichst mit Übergabe von Integerwerten realisieren.



Was sollte man dann statt s5timer hernehmen? Also ich benutze immer l s5t#xy . Was sollte man stattdessen benutzen?


----------



## Dantical (31 Juli 2012)

Hallo,

ich hätte mal ne Frage bezüglich den AWL Code. Nach dem wandeln des Integerwertes in BCD kommt der Befehl Oder Word 

OW    W#16#3000

// aber warum? Steh da grad bisal aufm Schlauch....

Danke für die Antwort


----------



## PN/DP (31 Juli 2012)

Django2012 schrieb:


> Also ich benutze immer l s5t#xy . Was sollte man stattdessen benutzen?


Es geht hier nicht um konstante Zeiten im Programm, sondern um variable Zeiten von der Visu. Die müssen von der Visu in die Variablen und von den Variablen an die Timer gebracht werden; möglichst Hersteller-neutral. Daher -> Übergabe als INT.

Harald


----------



## Ralle (31 Juli 2012)

Dantical schrieb:


> Hallo,
> 
> ich hätte mal ne Frage bezüglich den AWL Code. Nach dem wandeln des Integerwertes in BCD kommt der Befehl Oder Word
> 
> ...



Das hängt mit dem s5#Time -Format zusammen. Dazu bitte hier lesen, dann sollte das klar sein.

http://www.sps-forum.de/showthread.php/2942-Wie-kann-ich-Zeitwerte-f%FCr-Timer-variabel-eingeben


----------



## PN/DP (31 Juli 2012)

Dantical schrieb:


> OW    W#16#3000
> 
> // aber warum? Steh da grad bisal aufm Schlauch....


Das fügt dem Zeitwert die Zeitbasis hinzu. Schau Dir das Format von S5TIME an - in der Step7 Hilfe oder siehe den Link in Beitrag #3.

Harald


----------



## Dantical (31 Juli 2012)

Danke für die Antworten, 

soweit ich das nachvollziehen konnte steht W#16#3000 für die Zeitbasis von 10s bei W#16#2000 wäre es dann die Basis von 1s, bei W#16#1000 die Basis 100ms und bei den Wert von W#16#0000 handelt es sich dann um die Basis von 10ms. Sehr vielen Dank, somit sind meine AWL Kenntnisse wieder einen Skill gestiegen.  


Gruss
Daniel


----------



## OHGN (1 August 2012)

Django2012 schrieb:


> Was sollte man dann statt s5timer hernehmen? Also ich benutze immer l s5t#xy . Was sollte man stattdessen benutzen?



Die IEC-Timer SFB4 (TON) oder SFB5 (TOF).


----------

