Mit Zeiten "S5T#0MS" rechnen

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
dann will ich auch mal ein Häschen in die Schlangengrube werfen, weiß nicht ob der FC33 bei allen CPU's läuft:confused: .
CALL "S5TI_TIM"
IN :="zeitwert2"
RET_VAL:=MD2
CALL "S5TI_TIM"
IN :="zeitwert1"
RET_VAL:=MD6
L MD 6
L MD 2
-D
T "Ausgabe_Zeit"
 
Schnüff, kein Akku3/4 gebraucht

@lorenz2512
Hätte ich spontan beim ersten Lesen des Threads auch so gelöst.

@Alle
Programmiere jetzt schon etliche Jahre. Und ich habe noch nie Akku3 und Akku4 benutzt... Schnüff

Seid mal ehrlich: Ihr schon mal??

Gruß
Flinn
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
So, ich hab das mal auf einer 317PN getestet:

Dort geht das so.
Code:
      L     4
      L     #Zeitwert
      UW    W#16#3000
      SRD   12
      *I    
//      L     4
      +I    
      L     #Zeitwert
      UW    W#16#FFF
      SLD   
      BTD   
      T     #Zeit_ms
Im Simulator mit einer 314C geht das nicht, dort muß man das so machen:

Code:
      L     4
      L     #Zeitwert
      UW    W#16#3000
      SRD   12
      *I    
      [B][COLOR=Red]L     4[/COLOR][/B]
      +I    
      L     #Zeitwert
      UW    W#16#FFF
      SLD   
      BTD   
      T     #Zeit_ms
Es sieht also so aus, abs ob der Simulator intrn eine 400-er nachbildet. Außerdem scheint es sinnvoll, lieber mal eine Zeile mehr zu schreiben, als eine zu wenig ;).

@Flinn

Ne, auch noch nie genutzt, aber auch noch nie so einen Fall gehabt, wahrscheinlich schreib ich den Code eher "ausführlich" :ROFLMAO:.

@lorenz2512

Mir den Bibo-Bausteinen hantiere ich eher selten, wenn das auch "zu Fuß" geht, alte Angewohnheit?
 
Hallo, ich nochmal,
an diesem Beispiel habe ich auch Einiges gelernt:
1. In meiner (Lehr-)praxis tauchte nie die Frage nach 4 Akkus als Problem auf. Wahrscheinlich rührt das noch aus der S5-Welt her. Wenn man also einen "Universalcode" entwickelt, muss man auch an die 4-Akku-Variante denken. So gesehen ist der Zusatz von #RALLE richtig (L 4). Dieser Zusatzbefehl ist für eine 2-Akku-Variante zwar nicht nötig, schadet aber auch nicht.
2. Den Hinweis: "Lieber eine Zeile mehr" muss man, glaube ich, relativieren. Ich habe nämlich immer wieder mal von sehr zeitkritischen SPS-Anwendungen gehört und da kam es auf möglichst effiziente Programme an.
3. Ein BCD-Wandlungsfehler kann nicht auftreten, denn die max. Zeit beträgt nun mal 9990000ms. Der Befehl BTD erfasst aber diese 7 Stellen ohne Probleme.
4. Der letzte von mir vorgeschlagene Code (nur 9 Befehle) läuft nach theoretischer Überprüfung auch auf 4-Akku-CPU's. Ein praktischer Test ist für mich leider nicht möglich.
5. Dank an #kussji für diese schöne Aufgabe. Ich denke mal, dass neben der konkreten Hilfe an den Fragesteller alle Interessierten an diesem Beispiel etwas lernen konnten.
mfG eNDe
 
Hallo,
@ Ralle:Tja, mit den BiBo's gebe ich dir recht(durfte mir die BiBo's der 200er, und 300/400er mal ansehen), der Weisheit letzter Schluß sind die bei weitem nicht, aber warum sich die Hakken ablaufen:p , gut man sieht mehr von der Welt, aber es dauert und man kann stolpern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Programmiere jetzt schon etliche Jahre. Und ich habe noch nie Akku3 und Akku4 benutzt... Schnüff

Seid mal ehrlich: Ihr schon mal??

Gruß
Flinn

Du hast das Problem wohl nicht richtig verstanden.

Es geht nicht darum, ob Akku 3 oder 4 benutzt wird, es geht darum, ob der Akku 2 überschrieben wird.

Es gibt natürlich auch Leute, die noch nie mit dem Akku 2 gearbeitet haben...

Meine Bausteine sollen auf 300er wie 400er CPU laufen.
Das hat auch nichts mit dem Befehlsatzt zu tun, wie eNDe meinte, sondern mit dem Prozessoraufbau und der Interpretation deren Mikrobefehle.

Daher spendiere ich gerne einen Ladebefehl (der nun wirklich keine Probleme hinsichtlich der Zykluszeit verursachen wird) um sicherzustellen, dass der Inhalt Akku 1 und Akku 2 CPU-Type unabhängig immer definiert sind.

Die Praxis läst grüßen !

an diesem Beispiel habe ich auch Einiges gelernt:
1. In meiner (Lehr-)praxis tauchte nie die Frage nach 4 Akkus als Problem auf. Wahrscheinlich rührt das noch aus der S5-Welt her.

ACH DU SCHRECK!
Die 948 hat auch 4 Akkus, und einige andere CPUen auch (alle 1x5 er?).
Diese verhalten sich hinsichtlich der arithmetischen Operationen genau wie oben beschrieben, auch bei diesen wird Akku 2 also überschrieben.

Sicherlich hast du hierbei auch gelernt, das Theorie und Praxis zwei unterschiedliche Dinge sein können, wobei die Praxis immer das letzte Wort hat.

2. Den Hinweis: "Lieber eine Zeile mehr" muss man, glaube ich, relativieren. Ich habe nämlich immer wieder mal von sehr zeitkritischen SPS-Anwendungen gehört und da kam es auf möglichst effiziente Programme an.
Da ist es aber eher unwahscheinlich, das ein einzelner Ladebefehl zu Problemen führt.


5. Dank an #kussji für diese schöne Aufgabe. Ich denke mal, dass neben der konkreten Hilfe an den Fragesteller alle Interessierten an diesem Beispiel etwas lernen konnten.
mfG eNDe

Ich glaube auch, dass bei diesem Thread wieder einige Leute einiges lernen konnten.
 
Zuletzt bearbeitet:
Hä?

Du hast das Problem wohl nicht richtig verstanden.

Um es mit Deinen Worten zu sagen:

Du hast meinen Beitrag wohl nicht richtig verstanden. Es ging mir ausschließlich um die Frage, ob Ihr schon mal Akku3 und 4 benutzt habt. Und ich halt noch nicht. Da ich es auch so halte, universelle Programme zu schreiben.

Im übrigen habe ich ;) diesen Thread auch mit großem Interesse verfolgt. Vielen Dank an alle, besonders an eNDe, der sich immer sehr viel Mühe gibt.

Gruß
Flinn
 
Zurück
Oben