Regler

Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast im OB1 einen bedingten Aufruf für den FC1. Möglicherweise wird der MOVE darin gar nicht ausgeführt. Bedingte Bausteinaufrufe haben es oft in sich. Du solltest das für den Anfang nicht unbedingt machen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kommt von selbst. False ist nicht erlaubt.
Dann musst du dein Eingang mit einer Variable beschreiben. Wenn der Regler im Automatikbetrieb laufen soll muss der Eingang "false" sein. "True" ist der vorbelegte Wert, darum läuft der Regler nicht bis zu ihn anstößt.
 
Ich muss aber leider diesen bedingten Bausteinaufruf beibehalten, ansonsten spielt das Programm verrückt.
Programme spielen nicht verrückt, sie machen genau das was programmiert ist.

Wenn solche unerklärlichen Phänomäne auftreten, musst Du die Ursache suchen.
Mit Aussagen wie "verrückt spielen" kann niemand was anfangen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe da auch z.B "Ende Förderband" , also Sensor, drangeschrieben. Ging auch nicht
Und was hatte der Sensor für einen Signalstatus?
In FUP benötigt man für sowas Null- und Eins-Merker. Wäre schön wenn Siemens bei TIA endlich mal erlaubt hätte in FUP Konstanten zu verwenden wie es in AWL geht, aber so muss man sich immer noch mit der Merker-Krücke behelfen.
 
Das ist doch auch falsch!
1-Signal an MAN_ON heißt "Handbetrieb einschalten".

Klick mal auf dieses "Häuschen"-Symbol oder was das auch immer sein soll am CONT_C Baustein, zumindest das zweite von rechts oben in der rechten Ecke.
Dann öffnet sich ein Konfigurationsfenster. Unter "Stellwert" nimmst du den Haken für "Handbetrieb aktivieren" raus.
 
Danke für deine Mühe. Genau das geht bei mir nicht. bei MAN_ON steht true. Ich sehe diesen Haken, jedoch läßt er sich nicht entfernen. Was ist eigentlich mit dem anderen Schaltfläche neben dem Häuschen. Da steht auch was von Habdbetrieb.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den Haken kannst du dort nur ändern wenn du Offline bist, weil der direkt in den Instanz-DB schreibt. D.h. wenn du dort eine Änderung gemacht hast, musst du den Instanz-DB übertragen. Das sollte dir das TIA aber auch anzeigen.
 
Super, jetzt kann ich deaktivieren. Jedoch bewegt sich der Arm immer noch nicht. Obwohl die Bedingung an der Move-box true ist.
 
Was hat die Move-Box denn mit dem Arm zu tun?

Ich würde auch empfehlen anstelle der Move-Box eine SEL zu verwenden, denn der hat a) eine Typüberprüfung und b) man kann den Wert angeben der verwendet wird wenn der Eingang false ist.
Diese Box kannst du einfügen indem du das Kästchen mit den beiden [??] einfügst. An Stelle der Fragezeichen tippst du dann SEL ein. Wenn der Baustein da ist, stehen unter dem SEL drei ???. Dort stellst du den Datentyp ein, in deinem Fall Real.
Die Move-Box hat keine Typüberprüfung, d.h. du kannst einen DINT auf REAL schreiben, und das ist in 99,99% aller Fälle nicht gewollt.
 
Mach dich doch erstmal mit dem Regler vertraut bevor du das mit anderen Teilen verschaltest.

Dazu den Regler auf Automatik stellen (MAN_ON auf false), einen Sollwert an SP_INT vorgeben, einen Istwert an PV_IN vorgeben, und prüfen ob der Ausgang wie gewünscht reagiert.
Wenn Gain positiv ist:
Wenn Istwert < Sollwert muss der Reglerausgang LMN nach oben gehen
Wenn Istwert > Sollwert muss der Reglerausgang LMN nach unten gehen

Soll- und Istwert kannst du zum Test einfach als Konstanten im Programm vorgeben und den Baustein immer übertragen und dann den Ausgang LMN beobachten.

Wenn du sicher bist dass der Regler funktioniert, machst du dich daran die Dinge drumherum zu prüfen.
 
Zurück
Oben