Labview: увеличение сигнала рабочего цикла от последовательного порта при частоте 1 Гц

#time #frequency #labview

#время #частота #labview

Вопрос:

Для выполнения теста гистерезиса на детали нам нужно активировать двигатель один раз в секунду с рабочим циклом, который увеличивается с каждым циклом.

Имеющиеся у меня платы NIDaq слишком старые, чтобы их можно было использовать в качестве генератора произвольных волн, поэтому мне нужно использовать последовательный порт в качестве выходного сигнала для активации схемы mosfet. Каждую секунду (каждый цикл при частоте 1 Гц) рабочий цикл должен увеличиваться на 1% с 0% до 100%

Я создал программы, которые регулируют рабочий цикл, как описано, и выводят на последовательный порт, но частота намного медленнее. Нам нужна частота 1 Гц, но цикл labview занимает более 6 секунд для одного приращения и одного нарастающего фронта.

Есть ли способ отправить этот сигнал частотой 1 Гц вовремя в выходной буфер последовательного порта программно?

Комментарии:

1. Вы имеете в виду, что хотите отправить последовательную команду на какой-то модуль цифрового вывода с последовательным интерфейсом, или вы пытаетесь напрямую управлять одной из линий последовательного вывода для использования в качестве цифрового выхода?

2. в дальнейшем используйте последовательную линию в качестве цифрового вывода.

3. Вы не пробовали программную синхронизацию записи на вашу карту DAQ? В цикле с временем цикла 1 с (с использованием Wait (мс) или структуры Timed Loop) установите строку DO на высокий уровень, затем подождите (мс) требуемое время, затем снова установите его на низкий уровень — управляйте потоком выполнения с помощью проводов ошибок и / или структуры последовательности. Я не понимаю, почему это должно быть хуже, чем ваша идея последовательного порта. Ни один из них не гарантирует вам абсолютно точную синхронизацию в ОС, не работающей в режиме реального времени, но большую часть времени он должен работать нормально.

Ответ №1:

Я придумал это, кажется, работает:

введите описание изображения здесь

есть еще идеи?

Комментарии:

1. Что ж, это, безусловно, изобретательно. Какую последовательную строку вы используете в качестве выходного сигнала — я предполагаю, что одна из линий квитирования, а не TXD?

2. Я отправляю его на микросхему MAX232E, где он будет получать цифровой сигнал и выводить на mosfet-транзистор. С тех пор я изменил приведенную выше программу, изменив строковые константы на шестнадцатеричные 00 и константу пустого пробела.