TIA Große Abweichung im Trendverlauf bei gleichem Projekt, aber untersch. PC

Fibon

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich nehme an einem SPS-Techniker Lehrgang teil und habe das Problem dass eine Sprungantwort auf meinem Rechner ca. 3 Mintuen dauert, während die Sprungantwort bei dem Prof. und auch bei einem anderen Kursteilnemer mit dem exakt gleichem Projekt nur ca. 10 sec. dauert.
Der FB wird im OB30 aufgerufen, die Zykluszeit steht unveränder auf 100ms.
Alle 3 arbeiten wir mit TIA V12 in Windows 7, das Programm wird in PLCSim ausgeführt.
Ich habe das Ganze auch nochmal in der Firma, in Wind.8 und TIA V13, (TIA ganz neu installiert) getestet und habe dort ebenfalls die viel zu lange Sprungantwort als Ergebnis.
Vielleicht kann mir jemand weiterhelfen?

Grüße,
Fibon.
 
Hallo Fibon,

wo beobachtest du die Sprungantwort?
Im Simulierten Panel, im Online-Modus des FB, in einer Beobachtungstabelle?

Nimm es mir nicht übel, doch wenn du das Programm auf verschiedenen Rechnern getestet hast und immer den gleichen Fehler hast, ist das Programm dann vielleicht doch nicht exakt das selbe wie das deines Profs?

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was für eine CPU habt ihr denn im Einsatz?
Bei einer S7-300/400 ist das Weckintervall für den OB30 immer fest auf 5s eingestellt, und dieses lässt sich im Gegensatz zu den anderen Weckintervall-OBs auch nicht umstellen.

Was läuft denn in diesem FB ab der im OB aufgerufen wird? Eine PT1-Simulation? Dann erscheinen mir die 10 Sekunden beim Prof. eher unrealistisch, da der Baustein dann nur zweimal aufgerufen wurde. Wenn man daran eine Kennlinie aufnehmen will, gibt es nur zwei Punkte.
 
Wir arbeiten mit einer CPU 1516-3PN/DP und für die Visualisierung ein TP1500 Basic color PN. der Baustein sieht folgendermaßen aus.

IF #Ue > 0.0 THEN
#nst := 5000 / #Ue - 1082 * #ML / (#Ue * #Ue);
END_IF;
IF #nst > 100.0 THEN #nst := 100.0;
ELSIF #nst < 0.0 THEN #nst := 0.0;
END_IF;

#DB_PT1_1(Run := #Run,Xe := #nst,T1 := 5,Zyklus := #Zyklus);
#DB_PT1_2(Run := #Run,Xe := #DB_PT1_1.Xa,T1 := 1,Zyklus := #Zyklus);
#n := #DB_PT1_2.Xa * 20;


Bei einer Änderung am Eingang Ue von 70% auf 90% bei ML=80 und Zykluszeit=0.01 und Run=true sollte die Sprungantwort einige Sekunden betragen, bei mir dauert diese eben ca. 3 Minuten, die Verzögerungsglieder sind ebenfalls identisch, wie bei meinem Lehrgangs-Kollege. Der FB wird im OB30 aufgerufen, die eingestellte Zykluszeit (Weckalarm) steht unverändert auf 100000µs.
 
Wo kommt denn #Zyklus her, und was für ein Wert hat die Variable?
Die OB1-Zykluszeit kann euch egal sein, da der OB30 unabhängig davon aufgerufen wird.

Plcsim ist jetzt kein Echtzeitsystem, aber so abweichend sollte es eigentlich auch nicht sein. Lasst euch doch mal bei jedem OB30 Aufruf einen Zähler hochzählen, und beobachtet dann in einer Variablentabelle diesen Wert, bzw. die Differenz dieses Wertes nach 1 Minute ablesen, und zurückrechnen auf welchen Aufrufzyklus ihr damit kommt.

Ansonsten hat TIA auch "einige" Bugs. Die V12 ist hoffnungslos veraltet und erhält keine Updates mehr, das ist eigentlich was für die Mülltonne. Auf jeden Fall V13 mit aktuellsten Updates verwenden.
 
IF #Ue > 0.0 THEN
#nst := 5000 / #Ue - 1082 * #ML / (#Ue * #Ue);
END_IF;
IF #nst > 100.0 THEN #nst := 100.0;
ELSIF #nst < 0.0 THEN #nst := 0.0;
END_IF;

#DB_PT1_1(Run := #Run,Xe := #nst,T1 := 5,Zyklus := #Zyklus);
#DB_PT1_2(Run := #Run,Xe := #DB_PT1_1.Xa,T1 := 1,Zyklus := #Zyklus);
#n := #DB_PT1_2.Xa * 20;

//------------------------------------------------------------------
PT1:

Input
Run: bool
Xe: real
T1: real
Zyklujs: real=0.1
Output
Xa: real
Static
Xe1: real
Xa1: real


IF #Run AND #T1 > 0.0 THEN
#Xa := (1.0 - #Zyklus / #T1) * #Xa1 + #Zyklus / #T1 * #Xe1;
ELSE
#Xa := #Xe;
END_IF;

#Xe1 := #Xe;
#Xa1 := #Xa;

Das Problem mit der großen Zeitverzögerung kommt erst beim Aufruf von PT1. Könnte es daran liegen, dass beim ersten Aufruf von PT1 die Variablen Xe1 und Xa1 noch keinen Wert enthalten und deshalb falsch gerechnet wird?
 
Hallo,

ist sichergestellt dass das identische Programm auf allen PC's läuft?
Ein Unterschied zwischen 10sec und 3Minuten wäre ein Faktor 18, da muss was unterschiedlich sein. Wird der PLCSim Prozess evtl. durch einen Virenscanner ausgebremst?
Oder kommt hier ein Zufallswert mit nicht initialisierten Werten rein?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ist sichergestellt dass das identische Programm auf allen PC's läuft?
Ein Unterschied zwischen 10sec und 3Minuten wäre ein Faktor 18, da muss was unterschiedlich sein. Wird der PLCSim Prozess evtl. durch einen Virenscanner ausgebremst?
Oder kommt hier ein Zufallswert mit nicht initialisierten Werten rein?

Ich habe jetzt nochmal den Motor-FB und den PT1-FB gelöscht und neu geschrieben, jetzt funktioniert es, ich aber leider nicht sagen warum. Danke für all die Antworten...
 
Zurück
Oben