I'm sure the answer must be that I totally misunderstood something or failed to set some setting, but I've spent days on this and can't figure it out.
I'm using the WaveFormsSDK via C-sharp from a server (what will be a calibration service) to be controlled by a client, currently trying to get surge pulses to trigger an acquisition on AnalogIn (first channel). I can make it work just fine in WaveForms, so I know that the signal path is okay, the settings reasonable, etc. I've tried to set up all the configuration settings that I can find that seem relevant, and I have taken a day and half to write enough code to pull that configuration information back out and report it, just so I can debug this. But I can't find what is wrong/missing. Can you?
I will attach a text file that includes some edited logged information showing [almost] each call to the API (all return true, so all show "ok"), plus additional application-level information. But the core of it is that these are the settings I have for the AnalogIn instrument, and yet it will not trigger.
The pulses are negative, so I look for falling edge below an amount well under 1/2 of the strongest level (they reach about -4V since this is coming from a high voltage probe with 1000:1 attenuation and probing an impulse of about 4000V). Given the application, I have tried using both Single and Single1 as the acquisition mode. I've varied several other things to no avail. I started out with the default device configuration which uses 8192 sample buffer size, but then switched to another configuration when I noticed it had twice as many samples in that buffer. If I give an auto-trigger time-out of 0 (no time-out), then the status just stays "Armed" forever. If I give it a reasonable time-out, then it always just times out and gives me an acquired waveform that is always somewhere between my pulses (and thus useless). I believe the weird values for Range and Offset must be due to the devices from-factory calibration (they were set to 5 and 0).
Question
zimbot
I'm sure the answer must be that I totally misunderstood something or failed to set some setting, but I've spent days on this and can't figure it out.
I'm using the WaveFormsSDK via C-sharp from a server (what will be a calibration service) to be controlled by a client, currently trying to get surge pulses to trigger an acquisition on AnalogIn (first channel). I can make it work just fine in WaveForms, so I know that the signal path is okay, the settings reasonable, etc. I've tried to set up all the configuration settings that I can find that seem relevant, and I have taken a day and half to write enough code to pull that configuration information back out and report it, just so I can debug this. But I can't find what is wrong/missing. Can you?
I will attach a text file that includes some edited logged information showing [almost] each call to the API (all return true, so all show "ok"), plus additional application-level information. But the core of it is that these are the settings I have for the AnalogIn instrument, and yet it will not trigger.
"AnalogInAcquisitionMode": "Single1", "AnalogInFrequency": "33333333.333333332 Hz", "AnalogInNoiseSize": "0 samples", "AnalogInBufferSize": "16384 samples", "AnalogInSamplingSource": "None", "AnalogInSamplingSlope": "Rise", "AnalogInSamplingDelay": "0 sec", "AnalogInChannelCount": "2", "AnalogInChannel0Enabled": "True", "AnalogInChannel0Filter": "Average", "AnalogInChannel0Range": "5.5676941275276715 V", "AnalogInChannel0Offset": "0.0001293024264681572 V", "AnalogInChannel0Attenuation": "1 (externally applied attenuation -- samples are divided by this factor)", "AnalogInTriggerSource": "AnalogIn (NORMAL)", "AnalogInTriggerAutoTimeout": "0 sec", "AnalogInTriggerPosition": "0.00046080000000000003 sec", "AnlogInTriggerHoldOff": "0 sec (between start and the possibility of triggering)", "AnalogInTriggerType": "Edge", "AnalogInTriggerChannel": "0", "AnalogInTriggerFilter": "Average", "AnalogInTriggerCondition": "Fall", "AnalogInTriggerLevel": "-1.74999656965822 V (at scope) * 1000 == -1749.99656965822 V (at DUT)", "AnalogInTriggerHysteresis": "0 V", "AnalogInTriggerLengthCondition": "More", "AnalogInTriggerLength": "1E-08 sec", "AnalogInStatus": "Ready", "AnalogInStatusSamplesLeft": "0", "AnalogInStatusSamplesValid": "0", "AnalogInStatusIndexWrite": "0"
The pulses are negative, so I look for falling edge below an amount well under 1/2 of the strongest level (they reach about -4V since this is coming from a high voltage probe with 1000:1 attenuation and probing an impulse of about 4000V). Given the application, I have tried using both Single and Single1 as the acquisition mode. I've varied several other things to no avail. I started out with the default device configuration which uses 8192 sample buffer size, but then switched to another configuration when I noticed it had twice as many samples in that buffer. If I give an auto-trigger time-out of 0 (no time-out), then the status just stays "Armed" forever. If I give it a reasonable time-out, then it always just times out and gives me an acquired waveform that is always somewhere between my pulses (and thus useless). I believe the weird values for Range and Offset must be due to the devices from-factory calibration (they were set to 5 and 0).
Any clues?
untriggerable.txt
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.