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 

Wert aus Array für Case Selection



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!

03.05.2016, 22:22 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2016 22:23 von Lucki.)
Beitrag #11

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Wert aus Array für Case Selection
(03.05.2016 15:17 )LazyCompany schrieb:  Deshalb gebe ich ja nach 0x02 die Länge der Daten an inkl. der Start- und Endkennung Wink
So einfach ist das nicht: Solange der Datenstrom noch nicht synchronisiert ist, ist nicht auszuschließen, dass ein 0x02 mitten im Datensatz fälschlich als Startbyte interpretiert wird.
Grob gesagt, gibt es bei der seriellen Übertragung nur zwie gut funktionierende Protokolle:
1.) Mit Steuerzeichen
(da genügt schon ein <CR> am Ende eines Datensatzes) Dann müsen die Daten aber ASCII-Codiert sein. D.H für jedes Datenbyte braucht man 2 ASCII Bytes (00..FF), oder bei dezimalem ASCII sogar 3 Bytes (000..255)
2.) Direkte Übertragung der Datenbytes
Das funktioniert nur richtig im Master-Slave-Modus: Der Master fordert jeden Datensatz einzeln an, da Slave sendet nur wenn er gefragt wird. Hier sollte entweder die Bytelänge konstant sein, oder das erste Byte ist die Bytelänge. Steuerzeichen sind dann überflüssig bzw.kann es gar nicht geben, da der ganze Zahlenraum für Daten verwendet wird.

Bei Datenprotokollen sollte man sich an Bewährtes halten. Creative Neuerfindungen von Anfängern, wie man sie hier im Forum immer mal wieder sieht - so wie z.B. hier - sind unnötig und gehen fast immer in die Hose.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2016, 14:43
Beitrag #12

LazyCompany Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Apr 2016

2014
-
EN

70771
Deutschland
RE: Wert aus Array für Case Selection
Hallo Lucki!
Doch, die Steuerzeichen gibt es für Start und Stop und zwar ASCII codiert mit STX und ETX. Ich habe festgestellt das die Längenangabe falsch berechnet wurde, jetzt klappt es. Trotzdem danke für den Hinweis, in die Hose ging trotzdem viel bisher. Tongue Das mit dem Master Slave Modus mache ich nun als Producer-Consumer damit nix verloren geht.
Danke nochmal an Freddy für den gedanklichen Anstupser, habe mal angehängt wie ich es jetzt mache.
Funktioniert soweit sogar ganz gut Smile
Vielen Dank an alle die ihre Zeit und Geduld hierfür aufgewendet haben!

Viele Grüße, Lazy


Angehängte Datei(en)
14.0 .vi  versuch5000.vi (Größe: 12,43 KB / Downloads: 123)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2016, 14:47 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2016 14:56 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert aus Array für Case Selection
Hallo Lazy,

- bist du dir sicher, dass dein Array im Schieberegister in allen FALSE-Cases gelöscht werden soll?
- Wozu die (ungebremste) While-Schleife um den Code?
- Warum DeleteFromArray, wenn du eigentlich ArraySubset nutzen willst?
- Warum InsertIntoArray, wenn du eigentlich BuildArray nutzen willst?

Hast du dein VI wirklich ausgiebig getestet? Hmm

Vorschlag:
   
Wenn dein VI ein paar vernünftige Daten enthalten hätte, dann hätte ich meinen Vorschlag auch gleich testen können…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2016, 15:05 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2016 15:09 von Freddy.)
Beitrag #14

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Wert aus Array für Case Selection
Hallo Lazy,
so sollte die innere Schleife sein nach der Vorstellung von Gerd.
ich vermute, dass das Programm dann weniger Speicher und weniger Zeit benötigt.
Wenn Du die Array erstellen Funktion verwendest musst Du die Eingänge verknüpfen.

Gruß
Freddy

Sorry, habe den Vorschlag von Gerd nicht gesehen.
Hallo Gerd,
löscht sich bei Deinem Vorschlag nicht auch das Array sobald die innere If Anweisung false ist?

Gruß
Freddy


Angehängte Datei(en) Thumbnail(s)
       

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2016, 15:25
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert aus Array für Case Selection
Hallo Freddy,

Zitat:löscht sich bei Deinem Vorschlag nicht auch das Array sobald die innere If Anweisung false ist?
Nein: man beachte den Modus des Ausgangstunnels…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2016, 15:37
Beitrag #16

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Wert aus Array für Case Selection
Ein wenig Offtopic2
(10.05.2016 14:43 )LazyCompany schrieb:  Doch, die Steuerzeichen gibt es für Start und Stop und zwar ASCII codiert mit STX und ETX.
Solange aber nicht dafür gesorgt wird, dass diese Zeichen nicht im Rest des Datenstroms vorkommen können, kann es zu Problemen kommen. Und laut deiner Bsps kommen genau diese Zeichen auch im Rest der Daten vor.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.05.2016, 07:37
Beitrag #17

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Wert aus Array für Case Selection
Hallo Gerd,
jetzt habe ich es auch gesehen. Top1 Super Variante.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2016, 07:38
Beitrag #18

LazyCompany Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Apr 2016

2014
-
EN

70771
Deutschland
RE: Wert aus Array für Case Selection
Zitat:LazyCompany schrieb:
Doch, die Steuerzeichen gibt es für Start und Stop und zwar ASCII codiert mit STX und ETX.

Zitat:Solange aber nicht dafür gesorgt wird, dass diese Zeichen nicht im Rest des Datenstroms vorkommen können, kann es zu Problemen kommen. Und laut deiner Bsps kommen genau diese Zeichen auch im Rest der Daten vor.
Gruß, Jens

Ich wollte einfach nicht hören, jetzt hab ich den Salat. Mein Programm schmiert oft ab weil ein Datenzeichen fälschlicherweise als Steuerzeichen interpretiert wird - wer nicht hören will muss fühlen Ahrg1 Ich hätte früher auf euch hören sollen - sorry Sad

Deshalb habe ich mich dem Vorschlag von GerdW angenommen. Ich habe das ganze mal aufgebaut und getestet, schöne Sache Gerdw! Danke! Smile
Es gibt dabei nur ein Problem:
Mein Array ist zwar auch 1D - kommt aber in einer anderen Form vor, Zeilen und Spalten sind vertauscht. Ich habe das ganze mal angehängt. Array2 funktioniert, BeagleArray_U8 nicht.
Die Daten in BeagleArray_U8 sind echt eingelesene - ich weiß das ich ein 1D Array nicht transponieren kann - jemand eine Idee? Blink

Viele Grüße,
Lazy


Angehängte Datei(en)
14.0 .vi  indizierunggerdw.vi (Größe: 12,57 KB / Downloads: 119)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2016, 08:17
Beitrag #19

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Wert aus Array für Case Selection
Zitat:Mein Array ist zwar auch 1D - kommt aber in einer anderen Form vor, Zeilen und Spalten sind vertauscht. Ich habe das ganze mal angehängt. Array2 funktioniert, BeagleArray_U8 nicht.
Ein 1D Array mit Spalten und ZeilenIsagnix_2

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.06.2016, 08:43 (Dieser Beitrag wurde zuletzt bearbeitet: 03.06.2016 08:51 von Freddy.)
Beitrag #20

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Wert aus Array für Case Selection

Akzeptierte Lösung

Beim ersten Durchgang steht da ein Index von 28. Dein Array geht aber nur bis 27.
Mach es doch einfach so:


Angehängte Datei(en) Thumbnail(s)
       

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 6.835 02.02.2021 15:05
Letzter Beitrag: Lucki
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 4.557 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Wert aus 1-D Array entfernen Stephan235 2 3.857 16.03.2018 15:53
Letzter Beitrag: Stephan235
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.261 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Nur Werte in Array wenn Case True PreVIEW 10 10.594 10.02.2017 15:25
Letzter Beitrag: Dalle
  Wert an naheliegensten Wert aus Array anpassen TSC 17 11.530 26.07.2016 06:59
Letzter Beitrag: TSC

Gehe zu: