LabVIEWForum.de
Anbindung ohne Treiber - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Anbindung ohne Treiber (/Thread-Anbindung-ohne-Treiber)

Seiten: 1 2


Anbindung ohne Treiber - Duffman2 - 29.10.2008 10:44

' schrieb:Du kannst ja auch mal das gescante Beispiel nachbauen.
Die VI findest du in GPIB 488.2
Habe das Bsp. mal nachgebaut aber da hab ich ebenfalls das Problem das ich eine Zahl aus dem Befehlsatz im Hex Format als Befehl senden muss.(Auf dem Bild: value in Hex format).


Anbindung ohne Treiber - RoLe - 29.10.2008 12:11

' schrieb:Habe das Bsp. mal nachgebaut aber da hab ich ebenfalls das Problem das ich eine Zahl aus dem Befehlsatz im Hex Format als Befehl senden muss.(Auf dem Bild: value in Hex format).

und was ist das Problem?
rechte Maus-Taste als Hex-Display, und Zahl eingeben.


Anbindung ohne Treiber - Duffman2 - 29.10.2008 13:15

' schrieb:und was ist das Problem?
rechte Maus-Taste als Hex-Display, und Zahl eingeben.
Mein Problem ist die richtige Hexzahl aus dem Datenblatt rauszubekommen. Ich bräuchte da ein Beispiel wie z.B. die Hexzahl zur Einstellung der Sprache aussieht und sich zusammensetzt.


Anbindung ohne Treiber - IchSelbst - 29.10.2008 13:23

' schrieb:Mein Problem ist die richtige Hexzahl aus dem Datenblatt rauszubekommen. Ich bräuchte da ein Beispiel wie z.B. die Hexzahl zur Einstellung der Sprache aussieht und sich zusammensetzt.
Dein Problem ist vielschichtig.

Das Byte für die Sprache lautet 0x00 bis 0x03 - siehe Seite C-6 ganz oben. Das Byte ergibt sich aus "U8 nach String". Mach also ein U8, der 0x00, 0x01, 0x02 oder 0x03 enthält. Mit dem entsprechendem Element kannst du den dann in ein String umwandeln.

Nächstes Problem: Die Sprache befindet sich im ID-Telegramm Nummer 4. Siehe Überschrift Seite C-6.

Zusätzlich zu diesem einen, dem ersten Byte aus ID4, kommen noch weitere 12, also insgesamt 13 Byte, die zum Telegramm Nr. 4 gehören.

Du musst also, wenn die die Sprache einstellen willst, ein Telegramm aus ID + 13Byte + BCC erstellen. Wie die 13 Byte aussehen, steht auf Seite C-6.

Soweit klar?


Anbindung ohne Treiber - Duffman2 - 29.10.2008 14:43

' schrieb:Dein Problem ist vielschichtig.

Das Byte für die Sprache lautet 0x00 bis 0x03 - siehe Seite C-6 ganz oben. Das Byte ergibt sich aus "U8 nach String". Mach also ein U8, der 0x00, 0x01, 0x02 oder 0x03 enthält. Mit dem entsprechendem Element kannst du den dann in ein String umwandeln.

Nächstes Problem: Die Sprache befindet sich im ID-Telegramm Nummer 4. Siehe Überschrift Seite C-6.

Zusätzlich zu diesem einen, dem ersten Byte aus ID4, kommen noch weitere 12, also insgesamt 13 Byte, die zum Telegramm Nr. 4 gehören.

Du musst also, wenn die die Sprache einstellen willst, ein Telegramm aus ID + 13Byte + BCC erstellen. Wie die 13 Byte aussehen, steht auf Seite C-6.

Soweit klar?
Aller Anfang ist in dem Fall ja ganz schön schwer!!!:-(
1. Frage: Wenn das Byte für die Sprache 0x00.... heißt wieso muss ich das Byte in einen String umwandeln?
2. Frage: Das mit dem Telegramm hab ich auch nicht ganz kappiert. Ich hab mir das jetzt so gedacht zum Bsp. Sprache umstellen
ID=254
SIN=0 ( Master->Slave)
ID=00000100 (Master->Slave und ID Nummer 4)
Data= 1 (uc)
BCC=??


Sorry bin halt noch ein Anfänger was LabVIEW angeht.

Danke für die Mühen!!!!


Anbindung ohne Treiber - IchSelbst - 29.10.2008 15:36

' schrieb:Aller Anfang ist in dem Fall ja ganz schön schwer
Ja, sag ich doch. Protokoll selber machen ist nicht mehr Stand der Technik.

Zitat:1. Frage: Wenn das Byte für die Sprache 0x00.... heißt wieso muss ich das Byte in einen String umwandeln?
Weil 0x00 eine Zahl ist und über die Schnittstelle ein Stream in Form eines Strings geht. Es geht auch so: Alle 15 Bytes (1xID, 13xDaten, 1xBCC) in einen Array of Byte. Dieses sann in String umwandeln und senden.

Frage zwischendurch: verwendest du jetzt RS232 oder GPIB?

Zitat:2. Frage: Das mit dem Telegramm hab ich auch nicht ganz kappiert. Ich hab mir das jetzt so gedacht zum Bsp. Sprache umstellen
ID=254
SIN=0 ( Master->Slave)
ID=00000100 (Master->Slave und ID Nummer 4)
Data= 1 (uc)
BCC=??
1. Laut Beschreibung erwartet das Endgerät 13 Datenbytes, wenn es ID 4 bekommt. Also müssen zwischen ID und BCC 13 Datenbytes erscheinen.
2. Laut Beschreibung ist BCC die XOR-Verbindung aller Datenbytes. In deinem Beispiel hier, das ich für falsch halte, wäre BCC also 1.


Anbindung ohne Treiber - Duffman2 - 29.10.2008 16:02

' schrieb:Ja, sag ich doch. Protokoll selber machen ist nicht mehr Stand der Technik.

Weil 0x00 eine Zahl ist und über die Schnittstelle ein Stream in Form eines Strings geht. Es geht auch so: Alle 15 Bytes (1xID, 13xDaten, 1xBCC) in einen Array of Byte. Dieses sann in String umwandeln und senden.

Frage zwischendurch: verwendest du jetzt RS232 oder GPIB?
1. Laut Beschreibung erwartet das Endgerät 13 Datenbytes, wenn es ID 4 bekommt. Also müssen zwischen ID und BCC 13 Datenbytes erscheinen.
2. Laut Beschreibung ist BCC die XOR-Verbindung aller Datenbytes. In deinem Beispiel hier, das ich für falsch halte, wäre BCC also 1.
Ok jetzt ist es mir schon um einiges klarer geworden. Ich hab ne RS232 Verbindung welche auch richtig konfiguriert sein sollte da das Gerät bis heute mit Diadem gesteuert wurde.
Dann muss ich mir jetzt noch mal Gedanken machen wie ich die 13 Bytes zwischen ID und BCC Beschreibe.....
Ich muss das auf jeden fall hinbekommen :-) !!


Anbindung ohne Treiber - Duffman2 - 30.10.2008 16:38

So ich denke jetzt weiß ich wie es theoretisch auszusehen hat, das ist jetzt mal ein Beispiel wozu ich mir jetzt ziemlich sicher bin:
________________________________________________________________________________​
________________________
Bsp.: Ausgabe der Sollwerte:

254030010%BSW0
B1 B2 B3 B4 B5 B6 B7B8-B9B10

B1: RS_COM =254
B2: Sin = 0 00 => TX/RX = 0=> master zu slave (sendemodus)
Adresse 00=> alle slaves
B3:ID =003 Auswahl der Befehlsgruppe Ausführung DCU-Funktion
B4: Data1 =000 Reserve
B5: Data2 =000 automatischer Test
B6: Data3 =001 Taste Aktualisierung der Alarme
B7: Data4 =000 Modus Vorgabe Moment
B8: Data5 =Var Sollwert
B9: Data6 =Var Sollwert
B10: BCC =000 BCC:Blockcheck-deaktiviert:Wert0 ( Blockcheck ist manuel am Gerät deaktivierbar)
________________________________________________________________________________​
__________________________
Könnte das die richtige Lösung sein um einen Sollwert vorzugeben?
Wie muss ich jetzt weiter vorgehen ich hab versucht den Befehl (254030010%BSW0) in allen möglichjen Variationen zum Gerät zu schicken aber nichts funktioniert.