TIA Transition freischalten

Zuviel Werbung?
-> Hier kostenlos registrieren
Dann wollen die den Vergleich in deiner Schrittkette.

Habe leider kein Step 7 hier, aber heute Abend im Hotel schau ich nach wie es genau funktioniert.


bike
 
Ich habe im Lb eine Formel vorgegeben bekommen mit der ich einen FC erstellen soll. Deswegen denk ich kann ich so falsch nicht liegen.
Finde es echt super von Dir das Du Dir die Mühe machst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja aber wenn du einen FC bauen sollst, dann rufe den im OB1 auf und schau dir an ob der richtig funktioniert.
Einfach zum Test zunächst in den Ob1 rein, Werte andern und schauen was der Baustein macht.
Dazu brauchst du keine Schrittkette zunächst.

Viel Erfolg


bike
 
@ bike

Ich bekomme es einfach nicht zum Laufen. Die Ganze Programmierung funktioniert nur die Temperaturmessung nicht.

Das ist mein SCL:
IF (#TM - #TR) < 20.0 THEN
#H := TRUE;
ELSE
#H := FALSE;
END_IF;
#T3_heiß := #H = FALSE;

Die Transition nach dem Schritt habe ich dann T3_heiß benannt. "H" bedeutet Heizventil

Ist es denn so falsch??
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
So ganz falsch ist es nicht.

#TM und #TR sind als Eingang definiert?
T3_heiß als Ausgang?

Warum nimmst du den FC nicht, übersetzt den mit Debbug Information und schaust dir die Register an?
Du muss im PLC_SIM die Werte ändern und wenn das VKE = 1 nach dem Vergleich, dann ist dein Ausgang = true.

Und diesen Ausgang zum weiterschalten verwenden.


bike
 
#TM und #TR sind als Eingang und T3-heiß als Ausgang definiert. Was heißt übersetzen mit Debug Information? Ich kann Ihn übersetzen mit "Übersetzen-- Softwaren nur Änderung". Nach dem Übersetzen zeigt er auch keine Fehler.
 
Gibt es im editor bei TIA unter EXTRAS nicht mehr den Punkt "übersetzen mit DEBBUG" oder so ähnlich? :confused:
Wenn du den Baustein offen hast und die Simulation läuft siehst du die Werte und den Status?


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ne, noch nie gesehen. Die einzelne Abarbeitung der FC / FB kann man nicht sehen, nur halt in der Beaobachtungsliste. ich verstehe das nicht. Ich bin schon den ganzen Tag am ausprobieren und es geht nicht. Hast du die Möglichkeit das Programm bei Dir zu öffnen, dann würde ich es dir vielleicht mal schicken?.
 
Ich habe doch kein TIA, Gott sei es gedankt.
Du kannst den Baustein nicht im Status die einzelnen Schritte anschauen?
Wenn dem so ist, gute Nacht Big$.

Nachher nehme ich deine Schrittkette aus den Bildchen und schau, dass diese läuft und dann melde ich mich wieder.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich Interpretier den Satz "Wenn die Manteltemp weniger 20k der Innentemperatur " anders.

z.B TR=100 TM = 90 100 - 90 = 10 also nicht heizen
TR=100 TM=79 100 - 79 = 21 als heizen

IF TR-TM > 20 THEN
Heizen = 1

@ bike

Ich bekomme es einfach nicht zum Laufen. Die Ganze Programmierung funktioniert nur die Temperaturmessung nicht.

Das ist mein SCL:
IF (#TM - #TR) < 20.0 THEN
#H := TRUE;
ELSE
#H := FALSE;
END_IF;
#T3_heiß := #H = FALSE;

Die Transition nach dem Schritt habe ich dann T3_heiß benannt. "H" bedeutet Heizventil

Ist es denn so falsch??
 
TR soll 80 sein. Also TM-TR < 20 dann Heizen gleich TRUE

Kann es vielleicht sein das ich die Tempereturabweichung die in dem Datentyp REAL angegeben ist ist BOOL umwandeln muß wegen dem Ventil?
 
Zuletzt bearbeitet:
Also so sollte es funktionieren:
Code:
FUNCTION FC300:VOID
 VAR_INPUT
   #TM : REAL;
   #TR : REAL;
END_VAR

VAR_OUTPUT
   T3_heiss : BOOL;
END_VAR

BEGIN
IF (#TM - #TR) < 20.0 THEN 
  #T3_heiß := TRUE;
ELSE
  #T3_heiß:= FALSE;
END_IF;


END_FUNCTION

ungetestet, noch fehlt Step7 und ob der Befehlsvorrat der selbe bei TIA und Step7 ist, kann ich nicht beurteilen.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es funktioniert. Ich mußte halt nur nach deinem SCL TRUE und FALSE tauschen.
In meinem SCL lag der Fehler darin, das ich immer dem Ventil eine Zuweisung gegeben habe und dann am Schluß das Ventil dem T3_heiß zugewiesen habe. So steht es eigentlich im LB.

Das einzige was mir jetzt noch fehlt ist, das ich noch das Ventil mit einbauen muß damit es auch in der Beobachtungstabelle angezeigt wird.

Vielen Dank!!! ( auch schon geklickt ;-) )
 
Jetzt habe ich mir dein Projekt noch einmal angeschaut.
Wenn du es gut machen möchtest, würde ich einen echten INIT Schritt am Anfang einbauen.
Außerdem die Pumpen in verschieden Schritten ein bzw ausschalten.
So lange das Programm läuft dann zurück nach Step2, also Einschalten der ersten Pumpe und dann weiter.
Wenn du später dich auch um Fehler kümmern musst, dann brauchst du verschiedene Schritte mit entsprechenden Überwachungen..

Aber sonst viel Erfolg


bike
 
Hi. Ich habe für die Pumpen jeweils eine eigene Aktion gemacht mit der Zeiteinstellung ( LIMIT, DELAY ). Läuft jetzt alles so wie es laufen soll. Ich sollte vielleicht nicht immer so kompliziert denken wie es in den LB´s steht sondern einfacher wie jetzt auch wieder ;-).
Das hat bisher immer geklappt.
Werde mich ab morgen an die Visualisierung dran geben.

Vielen Dank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja, in der Praxis würde man so eine Aufgabe nicht mit so einer simplen Schrittkette lösen.
Endweder als Verknüpfungssteuerung oder wenn schon in Graph, dann eben als Zustandsgraph (siehe auch den Beitrag von bike)
 
Zurück
Oben