Генератор

Ответить
Balzamalex
Сержант
Сообщения: 102
Зарегистрирован: 07 сен 2015, 21:21

Генератор

Сообщение Balzamalex »

Собственно, в заголовке весь вопрос :-)
Подскажите, как сделать, чтобы генератор выдавал только один импульс, но каждый цикл.
Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07 сен 2015, 05:18
Откуда: Степногорск
Имя: Вячеслав
Благодарил (а): 1 раз

Генератор

Сообщение scadapack »

Очень странная задача! Противоречивое условие. Или один импульс, или каждый цикл. Если каждый цикл, то это уже не один импульс, а импульсы с частотой сканирования. Вот примитивный пример, где при каждом сканировании программы, контроллер меняет состояние выходного сигнала.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
kipiaxxx
Рядовой
Сообщения: 79
Зарегистрирован: 06 сен 2015, 14:15
Откуда: Омск
Имя: Сергей
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Генератор

Сообщение kipiaxxx »

Спасибо, scadapack, за идею!
Подключил эту переменную к цифровому выходу. С помощью осциллографа измеряю длительность выполнения цикла в FLProg. Это очень важно для некоторых скоростных проектов.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31 авг 2015, 15:06
Имя: Сергей
Контактная информация:

Генератор

Сообщение Сергей »

kipiaxxx, ну, так и что намерял? Какая скорость выполнения одного цикла?
Oleg1345140
Лейтенант
Сообщения: 539
Зарегистрирован: 06 сен 2015, 07:09
Откуда: Курган

Генератор

Сообщение Oleg1345140 »

Сергей писал(а):kipiaxxx, ну, так и что намерял? Какая скорость выполнения одного цикла?
Я так понимаю, эту же переменную он подал на один из цифровых выходов. И подключив осциллограф к данному пину он смотрит частоту. Получается что удвоенная частота на осциллографе это частота выполнения программы.
Аватара пользователя
kipiaxxx
Рядовой
Сообщения: 79
Зарегистрирован: 06 сен 2015, 14:15
Откуда: Омск
Имя: Сергей
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Генератор

Сообщение kipiaxxx »

Сергей писал(а):kipiaxxx, ну, так и что намерял? Какая скорость выполнения одного цикла?
Результаты любопытные. Можно диссер писать...
Кроме осциллографа вполне корректно можно задействовать скоростной счетчик с выводом результата в СОМ-порт. Например, так:
9341328.gif
 

Здесь результат в микросекундах.

Время выполнения цикла существенно зависит от объёма программы, а также наличия в ней некоторых блоков.
Простые программки выполняются быстрее 1 мс, а объёмные - более 100 мс. Но всё очень индивидуально, причём по ходу выполнения это время также меняется заметно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31 авг 2015, 15:06
Имя: Сергей
Контактная информация:

Генератор

Сообщение Сергей »

kipiaxxx писал(а):Время выполнения цикла существенно зависит от объёма программы, а также наличия в ней некоторых блоков.Простые программки выполняются быстрее 1 мс, а объёмные - более 100 мс. Но всё очень индивидуально, причём по ходу выполнения это время также меняется заметно.
Правильно. Если бы счетчик был основан на внутреннем счетчике контроллера, который настроен на самое маленькое время счета. По окончанию счета вызывал прерывание, а в подпрограмме обработки прерывания, несколько команд меняющих состояние переменной. То частота была бы стабильна. В ПП обработки прерывания при помощи команд сравнения можно организовать делитель и результат выводить еще в одну переменную (болеан).
Ответить

Вернуться в «Таймеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя