INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Positionen (Werte) in Matrix speichern



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.02.2018, 17:16 (Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2018 17:39 von tahity94.)
Beitrag #29

tahity94 Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Dec 2017

17.0f2
-
DE



RE: Positionen (Werte) in Matrix speichern
Hallo,

ich habe eine Vermutung, weshalb die erste Position doppelt in die Tabelle geschrieben wird und die letzte Position fehlt. Und zwar handelt es sich dabei wohl um ein Timing-Problem.

   

Und zwar soll sich für i=0 der Motor nicht bewegen, damit die Startposition auch aufgenommen wird. Jetzt für i=1 soll sich der Motor um einen Step bewegen und danach die Position in die Tabelle geschrieben werden. Aber anscheinend funktioniert das so nicht, sondern beinahe instantan wird der Messwert in die Tabelle geschrieben. Und das so schnell, dass der Motor den Befehl noch nicht verarbeitet hat. Deswegen befindet sich in der Tabelle zweimal der Wert der Startposition. Und für i_1=N_1(äußere Schleife) i_2=N_2 (innere Schleife) wird der letzte Befehl an den Motor gesendet und direkt danach die Position gespeichert. Aber die Position entspricht dann eigentlich die der i_2=N_2-1. Iteration.

Und "mitten drin" funktioniert es, weil sowohl in der inneren als auch in der äußeren Schleife jeweils ein Timer ist. Der dann aber am Ende logischerweise nicht mehr zur Geltung kommt. Soweit macht das Sinn, oder?

Also kann man das beheben, indem man überprüft, ob der Motor in der Position angekommen ist. Deswegen hatte ich vorher schonmal ein SubVI angefertigt, das mittels State Machine abfragt, ob der Motor in der endgültigen Position angekommen ist. Das hat in der Praxis aber leider gar nicht funktioniert.
Ich hänge es nochmal an zur Überprüfung, ob das soweit stimmt oder fehlerhaft ist.

   
   

Das hat vermutlich nicht funktioniert, weil, wenn das Intervall zur Überprüfung zu genau ist, und der Motor eine Ungenauigkeit hat, die größer ist, als das eingegebene Intervall, ist die State-Machine im State "Wait" gefangen. Wie man der Tabelle entnehmen kann, sind Ungenauigkeiten von 0,1 um möglich, was eben auch die minimale Resolution sein soll. Wenn ich das Intervall jetzt auf +- 0,1 um setze, dann ist bei einer Auflösung von 0,1 um der boolesche Wert immer true, die Bedingung also immer erfüllt. Was dann nichts bringen würde. Gibt es da zu vielleicht Anregungen?

In der Palette "Timing" habe ich die Funktion "Datenfluss aufhalten" gefunden. Kann das eventuell eine Alternative sein?

   

Wenn ich den Datenfluss an dieser Stelle aufhalten würde, sollte das Problem ja nicht mehr sein. Klar, für die Performance ist es defintiv nicht die schönste Lösung, allerdings sind mir fehlerfreie Werte aktuell lieber. Und den Timer in der inneren Loop könnte ich dann einfach an diese Stelle mit "Datenfluss aufhalten" setzen.

Allerdings erklärt das noch nicht wirklich, weshalb in der Tabelle (siehe oben) der erste Messwert 10 beträgt und im Z-Array 70. Und den anderen Ungereimheiten bzgl. des Z-Arrays bin ich auch noch nicht auf die Schliche gekommen.
Aber generell ist da ja das gleiche Problem: Der Messwert soll wie die Positionen erst aufgenommen werden, wenn der Motor seine Position erreicht hat. Denn nur so kann man das ja eindeutig zuordnen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Positionen (Werte) in Matrix speichern - tahity94 - 08.02.2018 17:16

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Maximalwerte in Matrix erkennen und mit zugehörigem neuen Wert überspeichern MartinNewBee 16 9.639 08.02.2018 16:31
Letzter Beitrag: MartinNewBee
  Werte speichern mit Zeitangabe und Title patriote00 2 4.865 15.01.2016 13:52
Letzter Beitrag: patriote00
  Werte aus Signalverlaufsdiagramm in Datei speichern und laden montanaro 5 7.735 15.07.2015 06:56
Letzter Beitrag: montanaro
  1D Array in 6er xD matrix formatieren Da_Rudi 9 6.802 27.11.2013 15:22
Letzter Beitrag: Da_Rudi
  Werte in einer .txt-datei speichern tom102 38 29.932 28.07.2010 12:06
Letzter Beitrag: GerdW
  Werte aus Datei in Arrays speichern Fysi 4 5.220 07.09.2009 09:04
Letzter Beitrag: Lucki

Gehe zu: