SDS2104x-plus, Firmware 1.3.5R10
Topic: Controlling the AWG with SCPI command
Maybe someone could explain the intention of the SCPI commaArbnds with regards to the AWG. I tried a few. Most work as expected, like Basicwave (mostly, some glitches), Output, Storlist (huge list!).
What does not seem to work is ArBWaVe. What did I do:
1. Switch output on with: c1:outp on
result: Output is on, TE shows AWG menu
2. Switch basic waveform to Arb: c1:BSWV WVTP,ARB
result: Menu shows Wave Type Arb.., Arb type stair-up, And that is visible in the trace
3. Try to change the arbtype with: c1:ARWV NAME,PPULSE
A short glitch, then still stair-up.
Assuming, that the TE might have changed the Waveform for a short moment, I
a) selected manually Trapezia as the waveform
b) set the slope trigger such that is triggers on the trapezia waveform, but not on the ppulse waveform
c) set the waveform manually back to PPulse (no trigger)
d) send the SCPI command: c1:ARWV index,7
Result: Triggered with a surprising pattern. A mix of trying to switch to trapezia and then again falling
back to Ppulse. Screen shot below.
I could repeat that a few times. After a while, the TE did not respond any more at all to the
ARWV command.
Another strange effect:
Sending the command "C1:ARWV index,47" or "C1:ARWV index,25" breaks the SCPI interface. No command accepted any more, not even *idn?, until I disconnected and reconnected, or even had to reboot the TE. Sometimes it causes the TE GUI to completely freeze. No touch, no button press, no nothing, although the waveform update still worked. I had to power cycle the TE to revive it.
I have not looked into this, but I can say I have duplicated essentially the same on my end.
Screenshot attached.
*EDIT* For what it's worth, I'm using NI VISA over USB
*EDIT #2* I did a bit of research on this. Here are a few things I found:
1) The SDS Series Programming Guide notes that the index #s for the waveforms shown in the document are "just an example". One needs to query the device to figure out the actual index mapping for a specific model. That was aggravating (because documenting that for users is so expensive? - it's a table that takes up 1/3 of a [digital] page).
2) Going through the Arb Type menus I counted 45 types + 2 under the "Stored" tab. Consistent with the datasheet.
I queried and got index values ranging from 2 (StairUp) to 46 (Acot).
@roberthh: this is a guess, but maybe that is why you had a lockup on index 47? I did as well. I did not have a freeze on index 25, however (which is a valid index -
Logrise tripuls). But I only tried once. Even if that
is the case, that is terribly poor error trapping on the part of Siglent.
2a) So in the manual, one can disregard index 0 (Sine) and index 1 (Noise) and 47 (Square). These waveforms are located under BaSic_WaVe for our model.
2b) Additionally, index 37 in the manual (Harris) is actually BlackmanH internally and index 38 (Bartlett) is actually Bartlett-Hann.
3) I am not able to send *ANY* ARB waveform type changes via commands (only locally on the TE). I tried both "name" and "index" ARbWaVe syntax variations. I also tried both "long" and "short" form commands.
I believe consistent with @roberthh's findings, I usually just get a glitch that looks like the generator is attempting to switch, then it reverts back to current waveform. I tried many waveform types.
I am able to send BaSic_WaVe commands, however.
Maybe I'm not sending commands properly, but I am taking them right out of the Siglent manual.
I tried turning off the output via commands in-between switching waveforms to no avail.
I also performed a few power cycles and set the TE to "DEFAULT" settings upon boot before attempting commands, just to make sure I was not in some incompatible mode.
Either there is another bug here - or I missed something in the manual regarding programming ARB.
Maybe there are some subtle peculiarities to programming this device that elude me.
Seems it shouldn't be so difficult.