Was mache ich falsch?

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Benutze die S7-300 V5.3 und das plcsim. Laut meinem Betreuer kann ich so eine Zahl vom Typ Real in S5TIME umwandeln:
L "Merker Typ Real"
BTD
ITB
T "Merker Typ S5TIME"
beim Testen mit plcsim funktioniert dies aber nicht.

Weiß jemand weshalb und würd es mir auch sagen?

Alex
 
also btd macht aus einer bcd codierten zahl ein dint. ist die real denn bcd codiert?

und das s5time format hat in der linken tetrade die zeitbasis

z.b.

,----------zeitbasis 2 = sekunden
2123 hex = 123 sekunden.

das ganze kann also gar nicht funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Volker,

die real zahl ist bcd kodiert. weißt du denn wie ich aus real eine s5time hinkriege. mein betreuer war davon so überzeugt, dass es geht. ich habe es schon länger versucht und krieg esnicht hin.

Gruß alex
 
hallo,

ich hätte es kompliziert wie folgt gemacht:

real gerundet mit RND

zahl auf wert zwischen 1 und 999 überprüft, da s5time nur bis 999 kann.

dann auf integer geschoben

dann in bcd-codiert gewandelt mit ITB

dann mit einer OW-verknüpfung den Mulitplikator (0, 1, 2 oder 3) an die linkeste dekade schieben.

bin gespannt, wie ihr das löst.

gruß aus berlin von
lutz
 
ja das geht auch in fup. ist in der realzahl denn schon eine zeitbasis mit drin oder ist das nur eine zahl?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo gast,

dann mußt du noch die realzahl durch 10 teilen, da die kleinste zeitbasis der s5time nur 10ms ist. dafür entfällt das OW, da die linkeste tetrade schon 0 (zeitbasis 10ms) einhält.

gruß aus berlin von
lutz
 
lässt sich in fup darstellen.
Code:
      U(    
      U(    
      U(    
      U(    
      L     1.230000e+002
      L     1.000000e+001
      /R    
      T     MD     6
      UN    OV
      SAVE  
      CLR   
      U     BIE
      )     
      SPBNB _001
      L     MD     6
      TRUNC 
      T     MD    10
      UN    OV
      SAVE  
      CLR   
_001: U     BIE
      )     
      SPBNB _002
      L     MW    12
      ITB   
      T     MW    14
      UN    OV
      SAVE  
      CLR   
_002: U     BIE
      )     
      SPBNB _003
      L     MW    14
      L     W#16#0                      //zeitbasis
      +I    
      T     MW    12
      UN    OV
      SAVE  
      CLR   
_003: U     BIE
      )     
      L     MW    12
      SE    T     10
      NOP   0
      NOP   0
      NOP   0
      NOP   0
das addieren der zeitbasis ist nur der vollstädigkeithalber dabei
 
Hallo,

ich bedanke mich herzlich bei euch beiden. Schön das einem auch in der Vorweihnachtszeit geholfen wird.

Alex
 
lbuenger schrieb:
hallo gast,

dann mußt du noch die realzahl durch 10 teilen, da die kleinste zeitbasis der s5time nur 10ms ist. dafür entfällt das OW, da die linkeste tetrade schon 0 (zeitbasis 10ms) einhält.

gruß aus berlin von
lutz

Kann man denn die Zeitbasis kleiner als 10ms bekommen?

mfg
Jimmi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jim Knopf schrieb:
Kann man denn die Zeitbasis kleiner als 10ms bekommen?
Nicht bei der S5-Zeit. Dort gibt es nur 10 ms, 100 ms, 1 s und 10 s als Basis.
Es gibt zwar auch Systembausteine die die Zeit in Millisekunden zurückgeben, dies sagt aber noch nichts über die Granularität aus.
 
Rainer Hönle schrieb:
Nicht bei der S5-Zeit. Dort gibt es nur 10 ms, 100 ms, 1 s und 10 s als Basis.
Es gibt zwar auch Systembausteine die die Zeit in Millisekunden zurückgeben, dies sagt aber noch nichts über die Granularität aus.

:roll: :?: Aha also im Klartext geht nicht, weil es wohl keinen schnelleren Baustein geben wird.
 
du könntest die systemzeit auswerten (siehe temp-vars im ob1).
bedenke aber die zykluszeit der sps.
 
Zurück
Oben