Regler

siegener19

Level-2
Beiträge
255
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bräuchte bitte noch mal euren Rat. Ich programmiere zurzeit im TIA-Portal und muss einen Regler, der einen inkrementellen Drehgeber hat, Sollwerte vorgeben, jedoch weiß ich nicht wie. Es geht um den CONT_C- Regler im Anhang.
Bei SP_INT kann man den Sollwert vorgeben, jedoch geht das nicht. MD40 ist der Istwert.
Für eure Hilfe wäre ich sehr dankbar.

Gruß
siegener
 
Zuletzt bearbeitet:
Du schreibst du hast einen Datenbaustein in dem der Sollwert vom Datentyp Real steht. Nun schreibst du diese Variable genau wie du es mit deinen Merkerwörtern gemacht hast an den Baustein.
Schema:
"Datenbausteinname".Variablenname

Wenn dein Datenbaustein "Reglerdaten" heißt, und der Sollwert "Sollwert" dann eben
"Reglerdaten".Sollwert

Und genau den Text schreibst du an den Parameter SP_INT.
 
Thomas ich habe den Datenbaustein in eine movebox reingeschrieben. Als Enable-Eingang habe ich eine Bedingung genommen. Wenn diese Bedingung erfüllt wird, wird dieser Datenbaustein in einen Merker geschrieben. Und genau diesen Merker habe ich als Eingang für den Regler genommen. Da ich drei Sollwerte habe, muss ich das in diesen Merker reinschreiben. Welcher Sollwert in den Merker geschrieben werden soll, hängt von dem Enable-Eingang ab. Aber das funktioniert leider nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wenn du ein Merkerdoppelwort hast in den du Situationsabhängig deinen Gewünschten Sollwert schreibst ist das schon so okay!
Dieses Merkerdoppelwort kannst am Baustein anhängen!Wenn du ihm deinen Namen gegeben hast schau dir mal den Datentyp an!

Gruß
 
Thomas ich habe den Datenbaustein in eine movebox reingeschrieben. Als Enable-Eingang habe ich eine Bedingung genommen. Wenn diese Bedingung erfüllt wird, wird dieser Datenbaustein in einen Merker geschrieben. Und genau diesen Merker habe ich als Eingang für den Regler genommen. Da ich drei Sollwerte habe, muss ich das in diesen Merker reinschreiben. Welcher Sollwert in den Merker geschrieben werden soll, hängt von dem Enable-Eingang ab. Aber das funktioniert leider nicht.
Nimm 3 MOVE Boxen
An die erste schreibst du als Enable:
U Bedingung_1
UN Bedingung_2
UN Bedingung_3

An die zweite schreibst du als Enable:
UN Bedingung_1
U Bedingung_2
UN Bedingung_3

An die dritte schreibst du als Enable:
UN Bedingung_1
UN Bedingung_2
U Bedingung_3

Und gewöhn dir um Himmels Willen eine korrekte Ausdrucksweise an.
Du kannst nicht einen Datenbaustein in eine Movebox reinschreiben.
Du kannst nur ein Datenwort (oder in deinem Fall ein Doppelwort) an eine Movebox ranhängen.

Genausowenig kannst du das (Doppel)Wort dann in einen Merker reinschreiben
sondern nur in ein Merker(Doppel)wort.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Na was soll denn da nicht funktionieren?

Movebox 1 nimmt Sollwert 1 und schreibt ihn (wenn die Bedingungen erfüllt sind) in das Merkerdoppel deiner Wahl.
Movebox 2 macht das selbe mit Sollwert 2 !!!!! Schreibt ins selbe Merkerdoppel wie Movebox 1!!!!!!!!!!!!
Movebox 3 ebenso, alle ins selbe Merkerdoppel.

Nachdem ja immer nur an einer Movebox die Enabale Bedingung erfüllt ist, landet immer der gewünschte Sollwert im Merkerdoppel
 
Stell doch noch mal den Code ein den du jetzt hast!Denn so wie du schreibst muss es funktionieren!Vorrausgesetzt es ist auch so gemacht wie du sagst!

Gruß
 
Danke für eure Antworten. Ich habe den Code am PC meiner Uni und da in diesen Tagen Feiertage sind, kann ich nicht daran weiterarbeiten. Ich werde mal am Mittwoch schauen, was ich tun kann.

Schöne Feiertage
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Frohes neues Jahr.

So hier sind jetzt mein Programm, außer dem Automatikbetieb ist alles mitdabei. Für eure Hilfe wäre ich sehr dankbar. Im Automatikbetrieb habe ich dann die Movebox, in der ich die jeweiligen Datenworte in meinen MD35 schreibe. Und dieser kommt dann in den Eingang des Reglers, jedoch klappt das nicht,
 

Anhänge

  • Main (OB1).pdf
    120,3 KB · Aufrufe: 30
  • Handbetrieb (FC3).pdf
    163 KB · Aufrufe: 17
Und warum stellst Du den Automatikbaustein dann nicht mit hier rein? :confused:


MD35 ist auf jeden Fall nicht so schön. Für MW/MD immer nur gerade Adressen verwenden, sonst gibt es gerne mal Bereichsüberschneidungen.

MD35 = Bytes 35+36+37+38

Ist das vielleicht schon das Problem?
 
Also hier fällt auf den ersten Blick nichts auf!
Musst schon den rest auch noch einstellen wo das MD52 verwendet wird!

Gruß
 
Zurück
Oben