Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions examples/analog_in/calculated_power_acq_int_clk.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
"""Example of analog input calculated power acquisition.

This example demonstrates how to acquire a finite amount
of calculated power data using the DAQ device's internal clock.

Supported Devices:

- PXIe-4311 (DAQmx 26.3.0 or later)
"""

import nidaqmx
from nidaqmx.constants import READ_ALL_AVAILABLE, AcquisitionType

with nidaqmx.Task() as task:
task.ai_channels.add_ai_calculated_power_chan(
voltage_physical_channel="Dev1/ai0",
current_physical_channel="Dev1/ai1",
voltage_min_val=0.0,
voltage_max_val=5.0,
current_min_val=0.0,
current_max_val=0.02,
ext_shunt_resistor_val=249.0,
)

task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=50)

data = task.read(READ_ALL_AVAILABLE)
print("Acquired data: [" + ", ".join(f"{value:f}" for value in data) + "]")
39 changes: 39 additions & 0 deletions examples/analog_in/cont_calculated_power_acq_int_clk.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
"""Example of analog input calculated power acquisition.
This example demonstrates how to acquire a continuous amount of
calculated power data using the DAQ device's internal clock.
Supported Devices:
- PXIe-4311 (DAQmx 26.3.0 or later)
"""

import nidaqmx
from nidaqmx.constants import AcquisitionType

with nidaqmx.Task() as task:
task.ai_channels.add_ai_calculated_power_chan(
voltage_physical_channel="Dev1/ai0",
current_physical_channel="Dev1/ai1",
voltage_min_val=0.0,
voltage_max_val=5.0,
current_min_val=0.0,
current_max_val=0.02,
ext_shunt_resistor_val=249.0,
)
task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.CONTINUOUS)
task.start()
print("Running task. Press Ctrl+C to stop.")

try:
total_read = 0
while True:
data = task.read(number_of_samples_per_channel=1000)
read = len(data)
total_read += read
print(f"Acquired data: {read} samples. Total {total_read}.", end="\r")
except KeyboardInterrupt:
pass
finally:
task.stop()
print(f"\nAcquired {total_read} total samples.")