-
Notifications
You must be signed in to change notification settings - Fork 23
Waveform capture and post processing
First off, in order to conduct must-trip, anti-islanding, phase jump, momentary cessation, and (arguably) ride-through experiments, it is necessary to capture waveform data from the DAQ because pass/fail is determined using the cycle-by-cycle data. Here is the actual structured experiments logic (though it’s slightly different for unintentional islanding tests, etc.)
Configure the data acquisition system with the following parameters in das.waveform_config() :
-
'sample_rate' - Sample rate (samples/sec)
-
'pre_trigger' - Pre-trigger time (sec)
-
'post_trigger' - Post-trigger time (sec)
-
'trigger_level' - Trigger level
-
'trigger_cond' - Trigger condition - ['Rising_Edge', 'Falling_Edge']
-
'trigger_channel' - Trigger channel
-
'timeout' - Timeout (sec)
-
'channels' - Channels to capture
Configure the grid simulator to conduct a the voltage or frequency change using grid.profile_load():
- Example here
- This must include a trigger signal that can be captured by the das (especially for the frequency tests because it’s nearly impossible to see the change in the waveform data)
- Arm the data acquisition system with das.waveform_capture()
- Begin the profile with grid.profile_start()
- Once the profile is completed, the waveform should be captured in memory, on the DAQ, or locally on the computer somewhere.
- Read the waveform data into memory as an object. Create a waveform dataset using das.waveform_capture_dataset()
- For the phase jump and voltage/frequency ride-through, you are looking to see if the inverter disconnected by analyzing the current waveform.
- For the anti-islanding and voltage/frequency trip tests, you must determine what time from the gridsim trigger the EUT tripped off using the current waveform.
- For the momentary cessation tests, you determine the time the EUT stopped exporting power and then returned to exporting power.