LabVIEWForum.de
Interpreter Programmieren? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Interpreter Programmieren? (/Thread-Interpreter-Programmieren)



Interpreter Programmieren? - Gisele - 20.11.2012 17:05

Hallo,
Ich möchte gerne wissen, wie man einen Interpreter in Labview Programmieren kann? hat jemand vielleicht ein Bsp. VI für Interpreter, der die Hexadezimal Zahlen in abhängigkeit von der Text, den ich geschrieben habe, interpretiert?
Ich möchte in meinem Programm einen Interpreter programmieren, der die Einzelnen Byte berücksichtigt und die Bedeutung ausgibt. Zum Beispiel
A010 060A ---------> Command, Port Set, Bit 2 Bit 3 = 1 = 1, Line Feed
Vielen Dank für die Antwort
Gisele


RE: Interpreter Programmieren? - GerdW - 20.11.2012 19:25

Hallo Gisele,

Zitat:Interpreter programmieren, der die Einzelnen Byte berücksichtigt und die Bedeutung ausgibt. Zum Beispiel A010 060A ---------> Command, Port Set, Bit 2 Bit 3 = 1 = 1, Line Feed
Bei dieser Fragestellung würde ich die 4 Bytes jeweils einer Case-Struktur zuführen, die dann den entsprechenden Text je nach Inhalt des Bytes ausgibt...

Als Interpreter würde ich diese Routine aber nicht bezeichnen, eher als Parser.


RE: Interpreter Programmieren? - Gisele - 27.11.2012 16:58

Hallo GerdW,
Ich habe in meiner Programm der Teil von Byte Interpretation als Unterprogramm zugeführt. Ich habe ein paar möglichkeiten versucht. Die Möglichkeit mit case Struktur in eine For schleife war für mich sinnvoll. Ich habe in SubVI als default, was ich in Rechner bekomme gespeichert. Ich wollte die Byte, die nach der Message PLDS\sWiComm\sUSB-IO\sControl\sV0.1\r\n in Read Buffer steht interpretieren. Dies wollte ich in der case Struktur von SubVI machen aber ich bekomme nur die default message von case Struktur.
Du hast letzte mal gesagt:
Zitat:Bei dieser Fragestellung würde ich die 4 Bytes jeweils einer Case-Struktur zuführen, die dann den entsprechenden Text je nach Inhalt des Bytes ausgibt...
.
Wie kann ich in einer case Struktur mehr Byte betrachtet?
Welche alternative gibt es, wenn die byte abhängig von der Eingang sich ändern?
Anhang mein VI und SubVI. Die Byte in Read Buffer nach der message PLDS\sWiComm\sUSB-IO\sControl\sV0.1\r\n correspondiert an die 33ste Byte. d.h A0 ist die 33ste Byte.
Vielen Dank für die Rückmeldung
Gisele


RE: Interpreter Programmieren? - Gisele - 29.11.2012 09:35

Guten Morgen LV-Mitglieder,
kann jemand mir bitte auf meine Fragen von oben weiterhelfen?
Bitte ich kann nicht mehr weiter machenHuhExclamation
Vielen Dank im Vorraus
MfG
Gisele


RE: Interpreter Programmieren? - GerdW - 29.11.2012 10:30

Hallo Gisele,

wieso missbrauchst du eine VISA-Ref für die Übergabe von Strings?
Wieso hast du in deinem MainVI in der Case-Struktur überhaupt die VISA-Ref an den Ausgangstunnel des Readbuffers verbunden???

Wie du an deine Datenbytes kommst, siehst du im Anhang...
Welches Byte welche Bedeutung hat, musst du natürlich selbst wissen!


RE: Interpreter Programmieren? - Gisele - 29.11.2012 12:14

Hallo Gerdw,
Vielen Dank für die Antwort. Ich versuche jetzt die Datenbytes in jeweils 4 Bytes zu schneiden. und jede byte von den 4 byte Paket in einer Case Struktur zu interpretieren.
Nochmal Vielen Dank
Gisele


RE: Interpreter Programmieren? - Gisele - 17.12.2012 15:34

Hallo,
Ich Komme wieder zu diesem Thema Interpreter.
Zitat:Ich versuche jetzt die Datenbytes in jeweils 4 Bytes zu schneiden. und jede byte von den 4 byte Paket in einer Case Struktur zu interpretieren.
dies hab ich geschafft. aber ich bekomme nun ein Problem. Immer beim ersten Lesen bekomme ich eine automatische Antwort von Com Port. dies wollte ich nicht in 4 bytes zerlegen, sondern eine allgemein Interpretation schreiben. und dann ab der 2ste Lesen die Byte zerlegen und Interpretieren.
Anhang SubVI mit Kommentar.
Version 8.6
Vielen Dank im vorraus für eure Hilfe
Gisele


RE: Interpreter Programmieren? - GerdW - 17.12.2012 20:03

Hallo Gisele,

Zitat:Immer beim ersten Lesen bekomme ich eine automatische Antwort von Com Port
Wenn du sicher bist, diese Antwort immer beim ersten Lesen zu erhalten, dann kannst du doch diese Antwort extra behandeln, z.B. durch ein anderes subVI!?

Du verwendest ja immer noch die VISARefNum zur Parameterübergabe...