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!
Könntest du dir vielleicht einmal auch mein Programm ansehen:
Das mit der String-Konvertierung vor dem Senden passt anscheinend noch nicht und auch bei dem Fehler simulieren bin ich mir noch nicht ganz sicher, ob das stimmt.
Mehrere Augen sehen halt besser als zwei.
31.12.2009, 14:28 (Dieser Beitrag wurde zuletzt bearbeitet: 31.12.2009 14:57 von IchSelbst.)
Ich hab mal einige Anpassungen gemacht. Fehler in der Konvertierung nach String kann ich bisher nicht feststellen. Beachte die Einstellung der String-Anzeige in Hex-Darstellung.
Warum ließt du 5 Zeichen über VISA ein und wertest aber nur 1 Zeichen aus?
Nachtrag: Neuer Anhang.
"Ein Bitfehler" bedeutet, dass innerhalb eines 10Bit-Wortes ein Bit falsch ist. "Zwei Bitfehler" bedeutet, dass innerhalb des selben (!) 10Bit-Wortes zwei Bit falsch sind. Die 4-Bit-Sicherung (Hamming) gilt pro 6-Bit-Wort. Diese 6Bit sollen ja sicher übertragen werden. Es kann also ein 2-Bit-Fehler innerhalb jedes der 10 Stück 10Bit-breiten Daten korrigiert werden.
Ein Bit wird manipuliert, indem es invertiert wird. Dazu wird es mit einer 1 exclusiv-verodert. Vergleiche auch Wahrheitstabelle zu XOR.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Könntest du dir vielleicht einmal auch mein Programm ansehen: ... na dann mal los....Du wolltest es ja so...
Das mit der String-Konvertierung vor dem Senden passt anscheinend noch nicht ...schaue Dir mal die verschiedenen Zwischenergebnisse an (zusätzliche Ausgabeelemente oder Highlight-Modus verwenden) denn an der Konvertierung liegt nicht das Problem
und auch bei dem Fehler simulieren ... ob Du hierbei wirklich auf die gewünschten Daten manipulativ zugreifst (U16<>Array mit 16 Bits)
Mehrere Augen sehen halt besser als zwei. ...leider ist eine Qualitätsbetrachtung eines Problems nicht automatisch proportional zu der Anzahl der Augenquantität
PS:... die Schleifenabarbeitung könnte noch etwas gebremst werden => Timer oder Ereignis
........ die Anzahl der VISA-Konfigurationen könnte noch ein wenig überarbeitet werden => außerhalb der Schleife
.........werden Arrayfunktionen erweitert, so gelten die Eingänge als fortlaufend, solange nicht anders angeschlossen => Nummerierung kann entfallen
.........wo/wie findet die eigentliche Fehlerkontrolle/Aufbereitung statt? => Kontrollmöglichkeit und Korrekturmöglichkeit
weiterhin viel Erfolg
Edit:
man sollte wohl nicht zwischendrin Kaffee drinken gehen, => IchSelbst hat in seinem Beispiel schon einige der vorgeschlagenen Anpassungen vorgenommen und kommentiert...aber selbst ist der Mann
zumal der letzte Punkt noch der Klärung bedarf
1Postingempfehlungen, 2Motivation Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
31.12.2009, 16:21 (Dieser Beitrag wurde zuletzt bearbeitet: 31.12.2009 16:22 von FuxDancer.)
PS:... die Schleifenabarbeitung könnte noch etwas gebremst werden => Timer oder Ereignis
Ok, werd ich machen, super.
' schrieb:........ die Anzahl der VISA-Konfigurationen könnte noch ein wenig überarbeitet werden => außerhalb der Schleife
Du meinst die VISA-Initialisierungen, also das weiße Sub-VI mit seinen Einstellungen.
' schrieb:.........werden Arrayfunktionen erweitert, so gelten die Eingänge als fortlaufend, solange nicht anders angeschlossen => Nummerierung kann entfallen
Du meinst hier, dass ich hier bei diesen Arrays einfach die Nummerierung streichen soll. ok.
' schrieb:.........wo/wie findet die eigentliche Fehlerkontrolle/Aufbereitung statt? => Kontrollmöglichkeit und Korrekturmöglichkeit
Korrigiert wird der Fehler nach Übertragung über RS485 auf einem PIC-Board mit PIC18F452-Controller, welcher die gesendete Hex-Nachricht binär macht, alle 10bit aufteilt und dann diese kontrolliert. Er sendet dann an das LabVIEW-Programm einen String zurück (1 Fehler, ...) und LabVIEW zeigt das ganze dann an. Wenn 2 Fehler aufgetreten sind, soll LabVIEW noch einmal das gleiche senden.
' schrieb:weiterhin viel Erfolg
Dankeschön :]
Edit:
' schrieb:man sollte wohl nicht zwischendrin Kaffee drinken gehen, => IchSelbst hat in seinem Beispiel schon einige der vorgeschlagenen Anpassungen vorgenommen und kommentiert...aber selbst ist der Mann
zumal der letzte Punkt noch der Klärung bedarf
Sobald ich die Anpassungen vorgenommen habe, mache ich aber erst im neuen Jahr, Sorry, sende ich dir das Programm noch einmal.
Aber finde ich wirklich klasse, wie hilfsbereit ihr seid, super Erklärung und Forum!!!
Ein gutes, neues, erfolgreiches, glückliches und schönes Jahr 2010 wünsch ich der gesamten Community.
' schrieb:Hat wirklich keiner eine Ahnung davon oder wie?
Auch wenn es schon 2 Tage her ist, aber nerviges Nachfragen nach weniger als 24h ist im LVF verboten (vgl. LVF-Regeln)! Und das auch noch einen Tag vor Silvester, wo die meisten sowieso im Urlaub sind!
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!
' schrieb:Hat wirklich keiner eine Ahnung davon oder wie?
voerngehende Posting #4
' schrieb:Nun habe ich die nächste Frage darauf.
nicht gerade von guten Manieren: Übergangslos nächste Frage stellen, unter Ignorierung der zur ursprünglichen Frage gegebenen Antworten. Also ich werde diesem Menschen nichts mehr beantworten.
02.01.2010, 10:39 (Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2010 10:47 von FuxDancer.)
Bin heute seit Sylvester wieder im Forum und hab eure Posts gesehen.
Muss sagen, ich habe ehrlich gesagt das schon vergessen gehabt mit dem Nachfragen und tut mir leid, dass ich das getan habe, ich war mir dessen nicht bewusst, dass das "ILLEGAL" ist. Werde ich nicht mehr machen. Super, macht man einmal etwas Unerlaubtes und man ist sich dessen nicht bewusst, wird man gleich von allen Seiten beschimpft.
Wenn es für euch eine Genugtuung ist, mir nicht mehr zu helfen, dann macht des halt, von meiner Seite habe ich mich entschuldigt und für mich ist die Sache gegessen.
Ich danke euch trotzdem für eure bisherige und vielleicht weiterhin hoffentlich bleibende Hilfe.
Ich habe nun das fertige Programm der Vollständigkeit halber hochgeladen, damit vielleicht andere mit den gleichen Problemen eine Hilfe bekommen. Wenn ihr euch es anschauen wollt und vielleicht ein paar Fehler seht, dank könnt ihr das gerne machen und eure Meinung dazu aussprechen.
Die SubVIs als solche hast du richtig so gemacht. So gehört sich das: viele, viele SubVIs.
Das mit der Event-Struktur im SubVI Senden wird aber so nicht funktionieren. Event-Strukturen können nicht auf Eingänge eines SubVIs reagieren. Sie reagieren eigentlich nur auf Benutzereingaben am Frontpanel (oder auf spezielle Messages wie z.B. das Property Wert(signalisierend)). Da dein SubVI aber keine Benutzereingaben am Forntpanel zulässt (was auch so richtig ist), geht das mit der Event-Struktur nicht.
Mach anstelle der Event-Struktur einen ganz normalen IF-Case.
Dann musst du aber eine Zeitverzögerung einbauen, Metronom oder Wait, am besten im MainVI. Ansonsten steigt die Prozessorauslastung auf 100%.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).