Hallo zusammen,
ich bin gerade dabei, die SCPI-Fernsteuerung meines Signalgenerators
(Rigol DG1022) kennenzulernen. Ich nutze dabei Matlab mit der Instrument
Control Toolbox, aber das sollte zur Fragestellung nichts beitragen.
Im "Programming manual" steht, ein Sinalverlauf ("Waveform") könne
zwischen 1 und 524288 Datenpunkten enthalten. Sende ich jedoch viele
Punkte per "DATA"-Kommando, z.B. so:
1 | DATA:DAC VOLATILE,8192,8393,8594,8795,8995,9196,[..insgesamt 175 Werte ...] LF
|
so gibt mir der Funktionsgenerator die Fehlermeldung:
'-116,"Program mnemonic too long"'
Die 175 gesendeten Werte sind genau das, was in den Output-Buffer paßt.
Deshalb die Frage: Wie sendet man per SCPI längere Funktionsverläufe?
_Antwort:_ Längere Funktionsverläufe werden genauso gesendet - wichtig
ist nur, daß alle Werte (als Zeichenkette) in den OutputBuffer passen.
Die obige Fehlermeldung hat nichts mit einem Überlaufen des
SCPI-Interpreters des Funktionsgenerators zu tun, sondern nur damit, daß
ein vorzeitiger Abbruch des Strings als Ende interpretiert wird - und
der Rest des Strings als neues, wahnsinnig langes Kommando.
Damit lautet die Lösung einfach: Wähle den Output-Buffer groß genug oder
finde heraus, wie man Zeichenketten ohne Terminator senden kann.
Viele Grüße
W.T.
[Edit: Ich habe es selbst herausbekommen]