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 

Brauche Hillfe - Automatischer schaltender True/False Schalter



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!

13.11.2007, 10:53 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 14:41 von jg.)
Beitrag #12

Hably Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Nov 2007

8,5
2007
kA


Deutschland
Brauche Hillfe - Automatischer schaltender True/False Schalter
Hallo,

also nur die Sequenz mit der alternierenden LED an sich funktioniert. Da blinkt dann die Fronatpanel-LED „BOOL“. Wenn ich die Sequenz mit dem schon vorhandenen VI verknüpfe, siehe Bild aus Posting #7, dann blinkt sie nicht mehr und auch an der Hardware-Platine kommt kein Signal an.
Auch das ursprüngliche VI funktioniert für sich allein. Wenn ich da den Schalter per Hand mit der Mouse umlege kann ich die LED auf der Platine an und ausschalten.
Nur die Verknüpfung der beiden Sequenzen führt zu keinem Ergebnis.
Das Programm ist in der Kombinierten Version (siehe Bild Posting #7) zwar startbar, aber es blinkt weder die LED „BOOL“ im Frontpanel noch die reale LE auf der Platine.



Das VI „befehl_schreiben.vi“ lade ich hier hoch. Es ist nicht von mir und verstehen tu ich es erst recht nicht. Ist mir leider (noch) zu kompliziert.
Aber ich habe eine kurze Beschreibung dazu und zwar folgende:

Um einen Befehl zum Testboard zu senden, ist es nötig, neben dem eigentlichen Command / Subcommand zusätzlich noch ein Längenbyte zu senden, welches die Gesamtanzahl der folgenden Bytes angibt. Desweiteren wird eine Checksumme verlangt, welche sich aus der Exclusivveroderung der Bytes nach dem Längenbyte bis zum letzten Byte vor der Checksumme ergibt. Das ganze wurde in LabVIEW folgendermaßen realisiert:

   


Dieses SubVI bildet die Grundlage eines jeden VIs. Die Länge und die Commands werden übergeben. Hierbei können unter CMD auch SubCMDs und weitere Datenbytes stehen. Die CMD-Bytes werden auf die angegebende Länge begrenzt und anschließend exclusivverodert, zur Bildung der Checksumme. Die CMD-Bytes müssen ein Byte weniger enthalten, als die Länge, da die Checksumme in der Längenangabe mit inbegriffen ist. Die gesamten Bytes (Length, CMD, SubCMD, Data, Checksum) werden in ein Array eingefügt und zu einem String umgewandelt. Anschließend wird das Datenpaket an die serielle Schnittstelle gesendet.

Die Beschreibung geht noch ein kleines Stück weiter, aber nicht mehr direkt zu befehl_schreiben.vi. Ich poste es einfach mal:

Der Aufbau eines VIs zum Senden eines Befehls ist wie im oben dargestellten Bild realisiert. Die Länge wird als Konstante an das SubVI übergeben. Die folgenden Bytes (CMD, SubCMD, Data) werden als Array übergeben. In diesem Beispiel wird das CMD als Konstante übergeben. Das SubCMD lässt sich über einen Auswahlbalken einstellen. Die Data-Bytes werden in ein numerisches Element eingegeben. Es ist darauf zu achten, dass die gesamte Kommunikation hexadezimal erfolgt und somit alle Zahlenformate einheitlich sind. Der Rahmen steht für eine gestapelte Sequenzstruktur, es wird Seite für Seite abgearbeitet. Auf der folgenden Seite dieser Struktur befindet sich eine Zeitverzögerung von 200ms, um eine eventuell auftretende Zeitverzögerung bei der Aufnahme von Messdaten zu vereinheitlichen.

       

Die empfangenen Bytes werden wie in der Abbildung zu sehen ist, ausgegeben und auf Fehler überprüft. Zum einen wird die vom Controller berechnete Checksumme überprüft und zum anderen werden die gesendeten Commands mit den empfangenen Commands verglichen. Wichtig ist die Angabe der zu empfangenden Bytes. Ist diese Angabe falsch, können nicht ausgelesene Bytes im Buffer stehen bleiben und beim Auslesen eines weiteren Commands zur Verschiebung der Antwortdiagramme führen. Beim Lesen der Daten aus der seriellen Schnittstelle ist darauf zu achten, dass das Abschlusszeichen deaktiviert ist. Ansonsten endet das Auslesen bei einem bestimmten Zeichen (normal: 0x0A).

Vielen Dank für eure Hilfe !!!

(VI LV 7.1)


Angehängte Datei(en)
Sonstige .vi  befehl_schreiben.vi (Größe: 37,88 KB / Downloads: 209)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Brauche Hillfe - Automatischer schaltender True/False Schalter - Hably - 13.11.2007 10:53

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 6.443 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  Case-Struktur führt True und False aus (Ereignisschleife) HIMI 11 10.487 24.08.2017 13:04
Letzter Beitrag: HIMI
  automatischer Enum durchlauf floH857 4 5.795 21.02.2017 08:57
Letzter Beitrag: Freddy
  Nur Werte in Array wenn Case True PreVIEW 10 11.681 10.02.2017 15:25
Letzter Beitrag: Dalle
  Bekomme kein True aus Event Structure nixblicker 7 5.860 09.02.2017 09:52
Letzter Beitrag: nixblicker
  Schalter an/aus Tobolf 1 4.377 27.01.2017 11:00
Letzter Beitrag: GerdW

Gehe zu: