Hallo,
wie kann ich am einfachsten den gefahrenen Weg zwischen mehreren LIN Bewegungen
ermitteln?
Rainer
Hallo,
wie kann ich am einfachsten den gefahrenen Weg zwischen mehreren LIN Bewegungen
ermitteln?
Rainer
Hallo Rainer,
hilfreich ist folgender Zusammenhang
l=wurzel((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)
x2 ist die x-Koordiante von Punkt 2 usw. Damit solltest Du weiterkommen. Bei Fragen, nochmals melden.
Gruß, robots
Hallo,
Vielen Dank!
die eigentliche Aufgabenstellung:
Ich möchte den zurückgelegten Weg zwischen beliebig vielen Punkten in eine
Variable speichern! $Distance gilt eben nur von Punkt zu Punkt --> hilft mir also nichts!
könnt ihr mir bitte weiterhelfen?
Rainer
Hallo Rainer,
falls ich Dich richtig verstehe würde ich mit obiger Formel und einer for-Schleife die Berechnung eben für beliebig viele Punkte durchführen, oder?
Gruß, robots
Rainer
Hallo,
soll alles während der laufenden Bewegung geschehen! und ich weiß ja nie wiel viele Punkte das werden?
Rainer
So jetzt muss ich weiter ausholen:
Ziel der ganzen Aktion ist es, alle Prozessrelevaten Parameter mehrerer Schweissnähte
in einem Programm, mit den jeweils vorherigen zu vergleichen. Haben sich diese geändert, wird der gepackte String übers Netz verschickt! --> Kontrolle der Prozessparameter!
Nun ist bei einer Schweissnaht eben das auch das "Nachteachen" der Bahn Prozessrelevant! Mir wäre eine Art "Checksummen" Lösung am liebsten! bin da aber offen!
Ich habe bisher nur Start und Endpunkt der Naht erfasst, und diese Daten verschickt!
kannst Du mir folgen?
Rainer
Hallo Rainer,
Dein eigentliches Ziel ist es also festzustellen, ob sich die Bahn gegenüber einer vorherigen (wegen nachteachen) verändert hat?
Warum addierst Du dann nicht die Distanzen zwischen den gefahrenen Punkten auf und vergleichst diesen Wert mit dem vorherigen, oder sind diese Koordianten auch nicht bekannt?
Gruß, robots
Hallo,
stimmt genau! die Koordinaten der dazwischen liegenden Punkte sind nicht bekannt!
hatte am Anfang des Projekts zu wenig Zeit (bzw. hab's vergessen) entsprechende Absprünge bei den durch UserTech erstellten Bewegungspunkten einzufügen.
Deshalb hab ich jetzt auch so ein Sch.... Problem am Hals!
Rainer
Hallo,
kannst Du nicht an diversen Stellen im Programm $POS_ACT in Variablen schreiben, deren Distanzen Du berechnest und aufaddierst?
Gruß, robots
mal überlegen???
Danke! Rainer
sehe mich schon wieder im sub --> wursteln!
Bitte bewahrt mich bitte davor!
Rainer
Hallo,
wenn's durch UserTech erstellte Punkte sind fällt mir sowas ein:
- UserTech-Formular anpassen, damit werden neue Punkte erfasst,
- die alten Punkte durch Suchen/Ersetzen im Editor auf den neuen
Stand bringen, da hilft ein Editor, der Reguläre Ausdrücke kennt,
so dass man nicht nur sture 1:1 Ersetzungen machen kann sondern
etwas variabler suchen/ersetzen kann.
- im neuen Usertech je Punkt ein Unterprogramm aufrufen, der die
Teilstrecke vom letzten Aufruf berechnet und aufsummiert, da hat
man ja schon die Koordinaten des entsprechenden Punkts und
kann die an das Unterprogramm weiterreichen.
Hermann
Ich weiß ja nicht wie viele UP's Du hast, aber ein Ansatz wäre ein UP zu schreiben in dem die Gleichheit zweier Positionen ermittelt wird.
Erst mal gehst Du mit nem Makro (UltraEdit oder Excel) über Deine UP's und kopierst alle PTP's und LIN's zwischen BrennerEin und BrennerAus raus.
Dann legst Du Dir ein Vergleichsarray in jedem UP an. Kanns ja jedesmal das selbe nehmen.
Nun schreibst Du mit einer Funktion die Positionen in ein Vergleichsarray z.B. mPOS_Last[50]
Es wird als nächster Schritt am Anfang des UP's ein Vergleich auf Gleichheit aufgerufen.
CheckPosition(XDeinErsterPunkt,mE6POS_Last[1])
Bei Ungleichheit gibts ne Meldung versendet - Position XDeinXterPunkt ist geändert worden - AlterWert,NeuerWert
Und schließlich den mE6POS Last aktualisieren.
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können