S5 Timer verhält sich in PLCSim anders als in der realen CPU

godi

Level-1
Beiträge
1.460
Reaktionspunkte
185
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Bin gerade zufällig auf was gestoßen.
Ich habe ein Programm (hab nicht ich geschrieben) das ich in PLCSim testen will.
In diesem Programm wird ein Timer (T110) mit dem Zeitwert einer Temp Variable versorgt.
Die Temp Variable wird aber erst ein Netzwerk vor dem Timer beschrieben aber auch nur dann wenn die Freigabe für den Timer vorhanden ist.
Also steht bei nicht Benützung des Timers ein zufälliger Wert (in meinem Fall F1FC) in der Variable.
Wenn ich das Programm jetzt in die Simulation lade dann kommt gleich ein Sammelfehler das ein BCD Wandlungsfehler vorliegt!
Bei der realen CPU ist da nicht der Fall. Ist das ein Bug in PLCSim oder könnte das auch bei einer realen CPU auftreten obwohl der Timer nicht aufgerufen wird?

godi
 
Hallo Godi,
ich habe das so in Erinnerung, dass der Zeitwert vom Timer mit der steigenden Flanke des Start-Signals übernommen wird (bezogen auf z.B. einen SE-Timer). Wenn also der Zeitwert vor dem Timer-Aufruf generiert wird und dies mit dem gleichen Start-Bit freigegeben wird, so ist das m.E. für das Debuggen nicht schön aber von der Funktion her unkritisch.

Aber dessen ungeachtet : Was spricht dagegen (gerade wegen der Debugging-Geschichte), den Zeitwert unabhängig vom Start-Impuls zu erzeugen ? Das würde dann doch auch dein PLC-Sim freuen ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo LL!

Das einzige was dagegen spricht ist das das Programm nicht von mir ist...
Mir gefällt das auch überhaupt nicht und ich würde es anders Programmieren. Aber die Anlage ist schon im einsatz also kann ich das nicht mehr ändern und deshalb ist meine Frage ob der Fehler bei einer realen CPU auch auftreten kann oder ob das nur von PLCSim ein Bug ist...

godi
 
Hallo zusammen!

Ich hab weniger Ahnung als so mancher hier, aber:

Ich hab einmal auf einem SPS-Kurs (S7) gehört, dass die Sim tückisch ist, da sie alles simuliert was Siemens kann, aber ggf die aktuelle CPU nicht (Leistungsdaten).
zB. ich hab 4 Betriebsstundenzähler prog, und in eine CPU314C (6CG03-xxx V2.0) gespielt. Ätsch hat die CPU gesagt - kann nur 1.

gruß
m
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja, mit PLCSIM ist das so eine Sache. Die Leistungsdaten werden ignoriert.
Da kannst z.B. für ne 315er DBs im 40000er Nummernbereich programmieren, und alles läuft.
Auf ner echten 315 geht das nicht.
 
Hallo

ich habe da was in der Step 7 Hilfe zu den Zeitoperationen gefunden.

Für diese Operation (Starten der Zeit) müssen der Zeitwert und die Zeitbasis im BCD-Format in AKKU1-L gespeichert sein.

Auch wenn die Zeit nicht gestartet wird (VKE=0), muß im AKKU1-L eine Zahl im BCD-Format gespeichert sein.
Der Text steht bei allen Zeitfunktionen mit dabei. Nach dieser Aussage tritt der beschriebene Fehler auch bei einer "echten" CPU auf, vorausgesetzt der Timer wird im Code durchlaufen.

Hohli
 
Ja bei einer echten CPU tritt der Fehler zum Glück nicht auf aber wer weiß vielleicht ist es ja auch nur Zufall das es bei der 315F funktioniert.

godi
 
Zurück
Oben