TwinCat Visualisierung -> Textfeld?, Mehrere Achsen steuern

friesen

Level-1
Beiträge
21
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute,

ich bin grad dabei ein Programm (in ST) zur Steuerung meiner Achsen (Endstufe: AX5000 Baureihe) zu programmieren. Der erste Testlauf mit der TcMC2-Bib läuft ganz gut.

Jetzt hab ich zwei Fragen:

1) Wie kann ich bei der Visualisierung ein Textfeld erzeugen? Ich würd da gern die Sollposition (o.ä.) eingeben, zu der sich die Achse dann drehen soll.

2) Da ich im Moment nur eine Achse ansteuern kann (in Zukunft aber mehrere) frag ich mich, wie das mit dem synchronen Achsenbewegen aussieht? In meinem ST-Programm steht dann ja z.B. "MoveAxis1.Position := 1500;". Logischerweise könnte ich in der Zeile danach einfach (nach Einrichten einer zweiten Achse) "MoveAxis2.Position := 700;" hinschreiben. Läuft das dann synchron?


Grüße und Danke
 
Zuletzt bearbeitet:
Hallo,

1)
ein Textfeld erzeugst du einfach indem du ein Recheck, abgerundetes Rechteck oder eine Ellipse auf deine Visuoberfläche ziehst.
Unter Konfiguration -> Text kannst du in das Textfeld einen Text eingeben oder einen Variablenplatzhalter einfügen.
z.B. so: Motorposition: %d (das %d ist ein Platzhalter für einen Dezimalwert, es gibt noch %f für float oder %s für einen String, evtl. noch mehr?)

Unter Variablen kannst du bei Textausgabe dann festlegen für welche Variable dein Platzhalter stehen soll. Also z.b. .MoveAxis1.Position

Wenn du den Wert auch über die Visu ändern möchtest, dann musst doch noch bei "Eingabe" das Feld "Text Eingabe der Variable 'Textausgabe'" aktivieren.

2)
Das sollte eigentlich synchron laufen weil normalerweise alle Ausgangsgrößen am Ende eines Zyklus in einem Rutsch in das Prozessausgangsabbild kopiert werden.
 
Hallo,

zu 2. :

Was willst du genau erreichen? Sollen beide Achsen zum gleichen Zeitpunkt am gleichen Punkt ankommen oder ist es dir egal?

Wenn beide Achsen gleichzeitig ihr Zielreichen sollen musst du beide Achsen koppeln und nach erreichen wieder entkoppeln.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eigt. wollt ich das erstmal so machen, dass beide gleichzeitig starten und egal wie stehen bleiben.

Der Idealfall wäre aber, dass beide gleichzeitig starten und gleichtzeitig (bei verschiedenen Sollpositionen) stehen bleiben. Das hieße dann, dass sich die Achsen unterschiedlich schnell bewegen sollten.

Weißt du was funktioniert?



Grüße
 
Hi,
hab da noch ne Frage. Und zwar...

Ich bewege die Achse mit MoveAxis.Execute und Position in einem CASE OF. In dem CASE OF initalisiere ich erstmal, dann werden Freigaben gesetzt, bewegt, Error abgefragt, etc.

Wie schaff ich das, in diesen Prozess mit einem STOP einzugreifen? Hab versucht mit einem BOOL und einer IF-Abfrage die MoveAxis.Execute auf FALSE zu setzen aber das geht nicht.

Weißt da jemand weiter?


Grüße und Danke
 
Zurück
Oben