PDA

Просмотр полной версии : Генератор меандра на быстрых выходах нового ПЛК110



Kalessin
18.04.2016, 13:32
Приветствую, коллеги!

Будьте добры, растолкуйте не слишком опытному в программировании человеку, как работать с быстрыми выходами сабжа? Контроллер я держу в руках не впервые, но до сих пор мне не доводилось работать с прерываниями, так что эту тему я сейчас осваиваю "по букварю". Со входами, благо работа с ними описана подробно и в инструкциях и здесь, на форуме, более-менее разобрался, по ним вопросов нет. Но как работать с выходами, по которым информации гораздо меньше? Простейший пример: я хочу получить генератор меандра с частотой порядка килогерца, который включался бы и отключался по некоторому условию в главной программе. Подскажите, как его организовать? Понятно, что потребуется подпрограмма, которую будет дёргать аппаратный таймер, выходы в режиме прямого доступа и т.д. Но дальше я что-то не соображу.

Готовых решений не жду, мне будет достаточно словесного объяснения, либо ссылки на форум, где такая тема рассмотрена. Сам я ничего подобного, увы, не нашёл. Господ коммерсантов я тоже прошу не беспокоиться, поскольку речь идёт не о коммерческом проекте, а о задачке, которую я сам себе поставил и сам хочу решить :)

Спасибо!

capzap
18.04.2016, 13:41
мне кажется надо поискать схемы ждущих мультивибраторов на логических элементах

Kalessin
18.04.2016, 13:54
В смысле, собрать внешний генератор и дёргать его контроллером? Это, конечно, можно! 555-й таймер выручит в любой ситуации :) Но, если верить мануалам, контролер вполне обеспечивает такой режим самостоятельно, без "костылей". Надо только разобраться, как его настроить.

capzap
18.04.2016, 13:57
я говорил только про программирование, логические элементы как есть в радиоэлектронике так и в программировании, например И-НЕ, ИЛИ

Валенок
18.04.2016, 14:04
Так вроде бы заменить Fast do на PWM, период/скважина - задается в мкс, 1кГц - точно потянет

Kalessin
18.04.2016, 14:17
Хм, интересно! Спасибо, попробую.

Дмитрий Артюховский
20.04.2016, 14:32
частоту прерывания быстрого таймера поделить на требуемую частоту генерации - получится "некое значение". а теперь в таймере переключаем состояние быстрого вывода через "некое значение" вызовов. В основной программе переключаете флаг разрешить/запретить работу блока

Kalessin
20.04.2016, 22:16
Дмитрий, Вам тоже спасибо! Кажется, начинаю улавливать суть :)

Филоненко Владислав
21.04.2016, 07:58
У ПЛК110М02 прекрасные высокоскоростные ШИМ-ы. Играться с прерываниями только в крайнем случае. +есть OwenLogicRT для ПЛК110М02. Можно сделать схему управления уже как хочется.

Владимир Ситников
21.04.2016, 10:13
+есть OwenLogicRT для ПЛК110М02. Можно сделать схему управления уже как хочется.

Появился новый выпуск OwenLogicRT? На него где-то можно посмотреть?

Филоненко Владислав
21.04.2016, 12:59
И старого достаточно.