Forum: PC-Programmierung CoDeSys programmieren


von Maike (Gast)


Lesenswert?

Guten Morgen zusammen,

Ich habe eine Frage, und hoffe das ihr mir weiter helfen könnt.
Ich bin gerade an einem Azubi-Projekt dran, das ist ein zweiachsiges 
Schienensystem das Punkte auf der X- Achse und auf der Y-Achse abfahren 
soll und an jeder Koordinaten stehen bleiben soll und einen Messwert an 
den Computer weiter geben soll.
Das manuell eingeben der Koordinaten und anschließend messen und 
weitergeben des Messwert funktioniert.
Das Problem jetzt ist, das es automatisch alle Koordinaten abfahren soll 
und an jedem Punkt einen Messwert an den Computer weitergeben soll. 
Damit der Messwert genau genug ist muss an jedem  Punkt 5 sekunden 
stehen geblieben werden.

Kann mir damit jemand helfen?

von Clemens S. (zoggl)


Lesenswert?

JA

von Clemens S. (zoggl)


Lesenswert?

da nun deine einzige frage beantwortet ist habe ich ein paar:
verwendest du strukturierten text?
welches Antriebssystem verwendest du?

wo ist das Problem?
sind die achsen importiert?
was hast du schon gemacht?

von Maike (Gast)


Angehängte Dateien:

Lesenswert?

okay die Frage ist nicht ganz rausgekommen.

also dargestellt wird das programm mit einer Ablaufkette, in der ich 
dann die befehle im strukturierten Text programmiere.
Das programm läuft über eine SPS von Beckhoff.

Bis jetzt habe ich eine Abluafkette, die Ich manuell starte, also im 
Programm, den Start knopf auf TRUE force, sowie Koordianten für X und Y 
einzelnd angeben.
Wenn ich dies angeben haben und gestartet haben, wird auf oder abgezählt 
bis der Ist_Wert den von mir vorgeben Soll_Wert erreicht hat. an dem 
Punkt bleibt er dann stehen und gibt eine Messung ab. Danach muss ich 
dann wieder einen Wert angeben, damit er weiterfährt.

Und die eigendlich eFuntion des ganzen sollte sein, das man auf Start 
drückt, und die Motoren automatisch los fahren an jedem Punkt stehen 
bleiben, also sobald eine X und eien Y Punkt erreicht ist, und einen 
Messwert abgeben und anschließend den nächsten punkt abfahren.
Nun weis ich nicht wie ich das Programmieren kann oder muss, damit dies 
auch geschieht.

Ich hab hier mal die Ablaufkette drangehängt. Ich hoffe das es hilft.

von Clemens S. (zoggl)


Lesenswert?

und wieder keine frage...

nehmen wir an die frage lautet:

"Wie muss eine schleife aussehen die X und Y werte für ein 
schachbrettraster erzeugt und nach einem Durchlauf abbricht?"

dann lautet die antwort:

am einfachsten wäre eine funktion "zurück an den start", die den x wert 
inkrementiert, wenn der Y wert gerade ist und dekrementiert, wenn er 
ungerade ist. der Y wert wird inkrementiert, wenn X=0 oder X=max

(in links rechs schleifen nach vorne fahren)

die schleife wird beendet, wenn Y=Ymax.


sollte die frage aber lauten:

" die Messpunkte sollen händisch eingegeben werden können und 
nacheinander abgefahren werden, wie muss ich sie ordnen?"

dann lautet die antwort:

das ist ein klassiches "Problem des Handlungsreisenden" siehe wikipedia:
http://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden

die umsetzugn der lösung ist bei geringen punktemengen wahrscheinlich 
eine rückführung in mehrere Bahnen, die sequenziell als zickzack 
abgearebitet werden, da eine genaue lösung für ein azubi projekt zu 
aufwändig wird.

von Maike (Gast)


Lesenswert?

okay also die fragen die ich so schön umschreiben habe, passt zu der 
ersten antwort.

Was das Programmieren an geht bin ich eine anfängerin, unda uch wenn ich 
verstehe was du mit einer Schleife einbauen meinst, wüsste ich nicht wo 
ich sie einbauen müsste?

Mein gedanke war bis jetzt, das der Motor an der X-Achse eine Punkt 
weiterfährt und dann die y- Achse abefahren wird ( das sind 13 Punkte). 
Anschließend wird auf der X-Achse wieder ein puntk weiter gefahren und 
das selbe spiel wieder mit der y-Achse.

Wie genau müsste den dafür eine schleife aussehen?

von Der Rächer der Transistormorde (Gast)


Lesenswert?

Maike schrieb:
> Was das Programmieren an geht bin ich eine anfängerin, unda uch wenn ich
> verstehe was du mit einer Schleife einbauen meinst, wüsste ich nicht wo
> ich sie einbauen müsste?

Das macht ja nichts, das hat keine(r) auf der Genkarte.

Wenn du in Codesys ein Schleife einbauen willst dann ist der einfachste 
Weg eine Google Suche "schleife in codesys".

In den Beckhoff etc Steuerungen ist zwar oft ein Mikrocontroller drin 
(da wäre dann dieses Forum "zuständig") aber die Fachforen für SPS 
Steuerungen die du bei Google findest sind vermutlich besser geeignet.

von Clemens S. (zoggl)


Lesenswert?

nach der messung fertig zählst du zu X 1 dazu und springst wieder zu Mot 
X
das machst du so lange, bis eine reihe fertig ist. dann zu Y eines dazu 
und zu mot Y springen dann entweder =0 oder von X eines abziehen.
das machst du so lange, bis du mit Y am ende des weges stehst

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.