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 

RS232 / VISA - Und der boese NI Adapter



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!

15.02.2007, 13:49 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 13:53 von eg.)
Beitrag #11

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:Ok,

also im Anhang mein RS232 Open VI.

Es dient ausschließlich dazu, mit den vom Benutzer selektieren Verbindungsdaten ( COM1, COM2,COM3 sowie die Baudrate) einmalig zu Programmstart eine Verbindung aufzubauen.

Danach erfolgen alle Befehle oder Abfragen einfach als direkter VISA Write / Read in jeweils eigenen VI's je Aktion. Diese werden ereignisgesteuert getriggert.

Ich DENKE ich kann den Timeout Wert innerhalb des auf dme Screenshot sichtbaren VI's, angeschlossen an VISa Seriell Port konfigurieren,
für meine Probleme verantwortlich machen.

Die Frage ist nun, welche Art von Wert macht dort Sinn.
auf dem Bild zu sehen ist einerseits die lange verwendete
- Pseudo Formel zur Timeout-Definition,
sowie die aktuell im Test befindliche Version
- eines unendlichen Timeouts

Ich denke nur ein unendlicher timeout in dem Kontext kann auch Nachteile bringen, wenn z.b. der Benutzer eine Schnittstelle selektiert, an der nichts angeschlossen ist
Ich kann mir vorstellen, dass sich das ganze jetzt leicht verwirrt anhört, aber hoffe es ist trotz allem im ansatz nachvollziehbar.
gruss
fidel


Mich würde vielmehr dein QueryVI interessieren. Ich glaube, ich verstehe dein Problem nicht ganz, weil ich meine Programme grundsätzlich ganz anders aufbaue. Mich juckt z.B. der Timeoutwert gar nicht, weil ich ihn ganz einfach und bewusst ignoriere, denn Termination ist bei mir ausgeschaltet und lesen will ich nur soviel wie am Port anliegt.


Timeout ist dazu da, um:

1) wenn du die Schnittstelle liest und sagst, gib mir 100 Zeichen vom Puffer, dort liegen aber nur 25 und kommen kene neuen Zeichen, dann bekommst du wenn dein Timeout abgelaufen ist eine Fehlermeltdung.

2) wenn du Termination Char eingeschaltet hast und dieses Zeichen kommt über die Schnittstelle nicht, dann nach dem Ablauf des Timeouts bekommst du die Fehlermeldung.

3) wenn du auf die Schnittstelle einen riesigen Datensatz (dieser Datensatz ist viel grösser als der Sendepuffer) schreibst und schaffst es nicht während des Timeouts abzuschicken, dann gibt es ebenfalls die Timeout-Fehlermeldung.

Gruss, Eugen

EDIT: IchSelbst war schneller.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.02.2007, 14:05
Beitrag #12

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:- Timeout Wert von unendlich geht in der Theorie, habe ich getestet.


' schrieb:Natürlich geht das.


Stimmt nicht ganz:

unendlich (als DBL) = 4294967295 (als U32) Big Grin

Gruss

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 14:06
Beitrag #13

fidel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 247
Registriert seit: Aug 2006

8.00 // 8.2.1 // 8.5
2006
de

76185
Deutschland
RS232 / VISA - Und der boese NI Adapter
mh, ok hier mal eine Anfrage an mein Gerät in Bildern.

Erst die anfrage selber (gelb) und dann die 2 immer verwendeten Sub Vi's (jeweils rot)


In der anfrage selber wird eigentlich nur der query Text definiert, der an das Gerät weitergereicht werdne soll.
Im ersten Sub VI wird der Befehl dann übermittelt, im zweiten Sub VI evtl Fehler interpretiert.


aus eugens: VISARead.vi werde ich leider nicht wirklich schlau....kann dort zwar meine Verbindungsdaten selektieren, aber das wars dann auch.


gruss
fidel


Angehängte Datei(en) Thumbnail(s)
           

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 14:12
Beitrag #14

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 / VISA - Und der boese NI Adapter
Wo kommt diese 20 beim Lesen her? Bist du dir sicher, dass die Antwort genau aus 20 Zeichen bestehen soll?
Mein Rat, wenn du dein Programm nicht wirklich gross umbauen willst, dann spiele mit Termination Chars rum (wie ich es gesehen habe, wird ein einfaches ASCII-Protokoll zur Kommunikation benutzt).

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 14:18
Beitrag #15

fidel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 247
Registriert seit: Aug 2006

8.00 // 8.2.1 // 8.5
2006
de

76185
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:Wo kommt diese 20 beim Lesen her? Bist du dir sicher, dass die Antwort genau aus 20 Zeichen bestehen soll?
NEIN, klar ist nur dass es max. 20 Zeichen sind. aber nicht definierte 20 Zeichen in jedem Fall.


' schrieb:Mein Rat, wenn du dein Programm nicht wirklich gross umbauen willst, dann spiele mit Termination Chars rum (wie ich es gesehen habe, wird ein einfaches ASCII-Protokoll zur Kommunikation benutzt).
Das Thema sagt mir leider nichts....d.h. ich fang mal an ob ich was dazu in den Weiten des Internets finde.Unsure



Danke für eure Inputs...

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 14:20
Beitrag #16

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:Im Einsatz mit diesem NI RS232 / USB Adapter sieht es so aus, als ob ich mind. eine Schleifen-Zeit von 2,0 ++ sec verwenden muss, da sonst offensichtlich die Timeout Routine nicht vollständig durchläuft.

mit allen anderen adaptern sind selbst Timings von 0,5 sec kein Problem.
Mein Rückschluss: Der Durchsatz durch diesen NI RS232 / USB Adapter ist merklich schlechter.

Jetzt verstehe ich nicht so ganz, wo das Problem ursprünglich ist. Wie schnell must du die Befehle abschicken? Geht es um hohe Frequenzen?
Schickst du die Anfragen zum Gerät denn mit 100 Hz oder so?

Was bedeutet bei dir 0,5 Sekunden? Was ist es für Timing?
0,5 Sekunden ist eine grosse Zahl wenn es um Lesen und Schreiben der seriellen Schnittstelle geht. Ich schaffe Frequenzen von bis zu 300 Hz, vielleicht auch mehr (wenn die Pakete nicht zu gross sind). 300 Hz wäre ein Timing von 3 Millisekunden, also 0,003 Sekunden.

Ich bin mir also ziemlich sicher, dass dein Problem zu lösen ist. Man braucht nur bissel mehr Erfahrung und dann geht es.

Gruss, Eugen

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.02.2007, 14:52 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 14:53 von fidel.)
Beitrag #17

fidel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 247
Registriert seit: Aug 2006

8.00 // 8.2.1 // 8.5
2006
de

76185
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:Jetzt verstehe ich nicht so ganz, wo das Problem ursprünglich ist. Wie schnell must du die Befehle abschicken? Geht es um hohe Frequenzen?
Schickst du die Anfragen zum Gerät denn mit 100 Hz oder so?

Was bedeutet bei dir 0,5 Sekunden? Was ist es für Timing?
0,5 Sekunden ist eine grosse Zahl wenn es um Lesen und Schreiben der seriellen Schnittstelle geht. Ich schaffe Frequenzen von bis zu 300 Hz, vielleicht auch mehr (wenn die Pakete nicht zu gross sind). 300 Hz wäre ein Timing von 3 Millisekunden, also 0,003 Sekunden.

Ich bin mir also ziemlich sicher, dass dein Problem zu lösen ist. Man braucht nur bissel mehr Erfahrung und dann geht es.

Gruss, Eugen


Mein Problem ist im Endeffet nur folgendes:

Der **** NI RS232/USB Adapter für > 100 EUR performt schlechter wie jeder billige Adapter.

Im Endeffekt heisst dies, dass innerhalb meines Programmes (Eventstruktur) der Timeout-Event dafür verwendet wird,
eine Reihe von abfragen abzusetzten und Werte zu aktualisieren, egal ob der User etwas macht oder nicht.
Inzwischen sind in diesem Falleeinige aktualisierungen zusammengekommen.

Ich als Anwedender kann definieren, mit welchem Zyklus dieser,nennen wir es "timeout-Event" durchloffen wird.
Der NI Adapter liefert nur saubere Ergebnisse, wenn der Durchlauf + 2 Sekunden ist....
d.h. ich kann relaltiv selten aktualisieren und somit wirkt das ganze Recht langsam.

Jeder andere Adapter kriegt die Timeout Routine in weniger wie 1 Sekunde durch.....und ich kann mir nicht im Ansatz erklären, warum dies so ist.


ich dreh mich im KreisBig Grin

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 14:59
Beitrag #18

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 / VISA - Und der boese NI Adapter
Zur Zeit verstehe ich es so:

der Hund ist schlechter als eine Katze, weil er nicht so gut Mäuse fangen kann, obwohl er grösser ist. Lol

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 15:18
Beitrag #19

fidel Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 247
Registriert seit: Aug 2006

8.00 // 8.2.1 // 8.5
2006
de

76185
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:Zur Zeit verstehe ich es so:

der Hund ist schlechter als eine Katze, weil er nicht so gut Mäuse fangen kann, obwohl er grösser ist. Lol

hehe


sorry ich weiss wirklich nicht wie ich es anderst formulieren soll.

Es ist für mich nur offensichtlich das gerade der NI Adapter weniger Durchsatz hat und ich deshalb in Probleme komme.
Kann natürlich auch sein, dass mein Programmaufbau nicht optimal ist, aber naja


verzwickte situation

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2007, 15:45
Beitrag #20

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 / VISA - Und der boese NI Adapter
' schrieb:Mein Problem ist im Endeffet nur folgendes:

Der **** NI RS232/USB Adapter für > 100 EUR performt schlechter wie jeder billige Adapter.

Im Endeffekt heisst dies, dass innerhalb meines Programmes (Eventstruktur) der Timeout-Event dafür verwendet wird,
eine Reihe von abfragen abzusetzten und Werte zu aktualisieren, egal ob der User etwas macht oder nicht.
Inzwischen sind in diesem Falleeinige aktualisierungen zusammengekommen.

Ich als Anwedender kann definieren, mit welchem Zyklus dieser,nennen wir es "timeout-Event" durchloffen wird.
Der NI Adapter liefert nur saubere Ergebnisse, wenn der Durchlauf + 2 Sekunden ist....
d.h. ich kann relaltiv selten aktualisieren und somit wirkt das ganze Recht langsam.

Jeder andere Adapter kriegt die Timeout Routine in weniger wie 1 Sekunde durch.....und ich kann mir nicht im Ansatz erklären, warum dies so ist.
ich dreh mich im KreisBig Grin

OK, ich glaube ich habe es verstanden. Du hast also eine Event-Struktur in deinem Programm, da hast du in Timeout-Event die Aktualisierung deiner Daten implementiert. Da wird also etwas zum Gerät abgeschickt und etwas vom Gerät empfangen und angezeigt.

Aber
1) das Event Timeout hat eigentlich ganz andere Bedeutung:

wenn in deinem Programm oder im Gerät ein Fehler passiert, musst du dem Benutzer(Bediener) eine Warnung oder einen Fehler melden. Der Bediener ist aber gerade weg und sieht diese Meldung nicht. Und genau da kannst du diesen Timeout benutzen um Alarm einzuschalten, weil der Bediener es nicht geschafft hat in der angegebenen Zeit diese Meldung zu lesen und die Maßnahmen zu ergreifen.

Man kann aber das Event "Timeout" so missbrauchen wie du, sprich wenn das Programm gerade nichts zu tun hat (also der Benutzer macht keine Eingaben und so), dann darf das Programm die Werte aktualisieren.

2) Ich glaube einfach nicht, dass der NI Umsetzer eine Sekunde länger braucht um ein paar kurze Befehle abzuschicken und ein paar bytes zu empfangen.

3) Wenn das aber wirklich so ist, dann würde ich mal sagen, dein Umsetzer ist defekt oder du hast ihn falsch installiert.

Gruss, Eugen

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
  RS232 Kommunikation per VISA auf RTtarget kzr_kratos 5 6.711 11.07.2014 10:17
Letzter Beitrag: kzr_kratos
  VISA: (Hex 0xBFFF0015) bei VISA read und im VISA Test Panel rick 3 14.218 10.11.2013 12:16
Letzter Beitrag: Y-P
  RS232 mit VISA, kein Signal Blinky_Bill 16 14.445 23.09.2013 15:02
Letzter Beitrag: Blinky_Bill
  lese mit VISA RS232 komische Werte ein gassd3 8 6.711 05.09.2013 08:29
Letzter Beitrag: RadioactiveMan
  Sartorius.vi; Win7 64; original RS-232 und USB Adapter emt1994 5 7.157 21.12.2012 22:32
Letzter Beitrag: A.Berndsen
  Keine Daten kommen an vom Hameg 8115 über VISA RS232 USB fsg4u 3 5.919 09.08.2012 14:33
Letzter Beitrag: fsg4u

Gehe zu: