Я использую двухканальный канал DAQ серии M для генерации последовательности импульсов для управления двухступенчатым двигателем, но эти два канала не являются полностью независимыми, когда один канал генерирует импульс, а другой канал также с измененным состоянием.
В этой ссылке упоминается способ использования триггера paule для приостановки другого канала, когда один канал генерирует конечный импульс. Ссылка
Я попытался преобразовать его в код Python, как показано ниже:
outputchannel = "Dev1/Ctr0"
gatechannel = "Dev1/Ctr1"
frequency = 1000
samples = 1000
def GenerateFinitePulse(outputchannel, gatechannel, pulsecount, frequency):
with nidaqmx.Task() as pulse_task:
pulsechannel = pulse_task.co_channels.add_co_pulse_chan_freq(
counter=outputchannel,freq=frequency, duty_cycle=0.5)
pulse_task.timing.cfg_implicit_timing(
sample_mode=nidaqmx.constants.AcquisitionType.CONTINUOUS,
samps_per_chan=1000)
pulse_task.triggers.pause_trigger.trig_type = nidaqmx.constants.TriggerType.DIGITAL_LEVEL
pulse_task.triggers.pause_trigger.dig_lvl_src = gatechannel + "InternalOutput"
pulse_task.triggers.pause_trigger.dig_lvl_when = nidaqmx.constants.Level.LOW
pulse_task.start()
with nidaqmx.Task() as gate_task:
gatechannel = gate_task.co_channels.add_co_pulse_chan_time(
counter=gatechannel, low_time= 1, high_time= pulsecount/frequency)
gatechannel.co_pulse_term = " "
gate_task.start()
time.sleep(10)
Один вопрос заключается в том, что даже если установить co_pulse_term = "", я все равно смогу получить импульсный выход из канала с осциллографа.
и вот ошибка, которую я получил:
nidaqmx.errors.DaqError: На устройстве не найден исходный терминал для маршрутизации.
Убедитесь, что имя терминала действительно для указанного устройства. обращаться
в Measurement & Automation Explorer для допустимых имен терминалов.
Свойство: DAQmx_DigLvl_PauseTrig_Src Свойство:
DAQmx_DigLvl_PauseTrig_When Исходное устройство: Dev1 Исходный терминал:
Dev1 / Ctr1InternalOutput
как-то не может найти "Внутренний выход".
пожалуйста, помогите, если у кого-то есть опыт. Большое спасибо!