PDA

Просмотр полной версии : Матрица кнопок и индикаторов или другие способы увеличения портов ВВ



sav13
30.08.2023, 05:45
Всем привет
Требуется создать кнопочный пульт с большим числом кнопок и индикаторов
(30 кнопок и 36 индикаторов)

Существует ли стандартный способ (может быть библиотека) опроса матрицы кнопок (в моем случае 6x6) и вывод на матрицу индикаторов (тоже 6x6)?
Напрашивается динамический опрос и отображение по столбцам и строкам. Ведь даже у "медленных" портов ввода заявлена входная частота 20Гц, а у выходных - 300Гц.


Может быть существуют другие способы расширения портов ВВ, а то что-то модули какие то очень не дешевые к Овена?

Сергей0308
30.08.2023, 06:18
Всем привет
Требуется создать кнопочный пульт с большим числом кнопок и индикаторов
(30 кнопок и 36 индикаторов)

Существует ли стандартный способ (может быть библиотека) опроса матрицы кнопок (в моем случае 6x6) и вывод на матрицу индикаторов (тоже 6x6)?
Напрашивается динамический опрос и отображение по столбцам и строкам. Ведь даже у "медленных" портов ввода заявлена входная частота 20Гц, а у выходных - 300Гц.


Может быть существуют другие способы расширения портов ВВ, а то что-то модули какие то очень не дешевые к Овена?

Для 30 кнопок и пяти дискретных входов хватит, если нет необходимости их одновременно нажимать!

Примерно как-то так можно сделать:

69882

Надеюсь, что суть понятна, в смысле, такое впечатление, что Вы с Луны упали?!

И, существуют всякие панели: https://owen.ru/product/sp3xx
СПК: https://owen.ru/product/spk1xx
Даже такое: https://insat.ru/prices/info.php?pid=152376
В смысле, там сколько угодно кнопочек можно нарисовать!

sav13
30.08.2023, 06:54
Для 30 кнопок и пяти дискретных входов хватит, если нет необходимости их одновременно нажимать!

Примерно как-то так можно сделать:

69882

Надеюсь, что суть понятна, в смысле, такое впечатление, что Вы с Луны упали?!

И, существуют всякие панели: https://owen.ru/product/sp3xx
СПК: https://owen.ru/product/spk1xx
Даже такое: https://insat.ru/prices/info.php?pid=152376
В смысле, там сколько угодно кнопочек можно нарисовать!

С Луны я не упал и знаю что такое шифратор/дешифратор )))
Вопрос как раз по одновременному нажатию кнопок и их динамическому опросу
Есть стандартная реализация динамического опроса матричной клавиатуры на ПЛК?
И есть стандартная реализация отображения на матрице индикаторов на ПЛК?

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

cond33
30.08.2023, 10:38
Скорее всего на ПЛК Овен нормально матрицы работать не будут (низкая скорость опроса), входы будут пропускать быстрые нажатия кнопок, а лампочки сильно мерцать.

melky
30.08.2023, 10:48
Сделать матрицу бинарным способом. То есть одновременное нажатие 0 и 1 битов это 3 и так далее. з.ы. не знаю правда, как отреагируют при этом входы. для поочередного нажатия кнопок нормально, только развязку диодами надо делать.

и как вы одновременное нажатие ловить будете? тут только аналоговые быстрые входы помогут. Как минимум измерять надо напряжение, а не сопротивление.

EFrol
30.08.2023, 12:39
Всем привет
Требуется создать кнопочный пульт с большим числом кнопок и индикаторов
(30 кнопок и 36 индикаторов)

Существует ли стандартный способ (может быть библиотека) опроса матрицы кнопок (в моем случае 6x6) и вывод на матрицу индикаторов (тоже 6x6)?
Напрашивается динамический опрос и отображение по столбцам и строкам. Ведь даже у "медленных" портов ввода заявлена входная частота 20Гц, а у выходных - 300Гц.


Может быть существуют другие способы расширения портов ВВ, а то что-то модули какие то очень не дешевые к Овена?

У ОВЕН'а не встречал такого, но подобные устройства с управлением через RS-485(ModbusRTU) встречал у Arduin'щиков.
Видел еще ПЛК110 (тип выходов - К) к быстрым выходам которого подключались в ряд несколько штук сборки силовых ключей (https://www.chipdip.ru/product/zelo-n-fet) и кажется даже была обратная связь через концевики на быстрые входы. Но это было так давно.

sav13
30.08.2023, 12:55
Скорее всего на ПЛК Овен нормально матрицы работать не будут (низкая скорость опроса), входы будут пропускать быстрые нажатия кнопок, а лампочки сильно мерцать.

Все нажатия менее 200мс я считаю дребезгом контактов. Неужели цикл опроса не уложить в этот интервал?
С индикаторами хуже. Тут нужны прерывания по таймеру с частотой более 1кГц. У ПЛК2XX с этим никак?


Сделать матрицу бинарным способом. То есть одновременное нажатие 0 и 1 битов это 3 и так далее. з.ы. не знаю правда, как отреагируют при этом входы. для поочередного нажатия кнопок нормально, только развязку диодами надо делать.

и как вы одновременное нажатие ловить будете? тут только аналоговые быстрые входы помогут. Как минимум измерять надо напряжение, а не сопротивление.

69889
Очень просто. У меня есть 6 выходов, на которые я по очереди выдаю высокий уровень
И каждый раз опрашиваю 6 входов.
Если входы взять быстрые, (выходы и медленные работают на 300Гц), то весь цикл вполне укладывается в 50мс
Если учесть, что любое нажатие менее 200мс - это дребезг контактов, вполне нормально получается
Для исключения ошибок в при одновременном нажатии кнопок поставить диоды.

Почему в любом пресловутом ардуино это делается запросто, а на промышленном ПЛК могут быть проблемы с частотой ЦПУ 800Мгц?

А аналоговая схема мне не нравится. Чтобы ловить одновременное нажатие, резисторы нужно ставить 2, 4, 8, 16 и т.д. При 32 кнопках никакого разрешение АЦП не хватит. Разве что несколько входов задействовать

sav13
30.08.2023, 13:00
У ОВЕН'а не встречал такого, но подобные устройства с управлением через RS-485(ModbusRTU) встречал у Arduin'щиков.
Видел еще ПЛК110 (тип выходов - К) к быстрым выходам которого подключались в ряд несколько штук сборки силовых ключей (https://www.chipdip.ru/product/zelo-n-fet) и кажется даже была обратная связь через концевики на быстрые входы. Но это было так давно.

К сожалению Овны пока не программировал. Но в других контроллерах это вполне реализуемо.
Неужели в ПЛК2XX нельзя запрограммировать таймер и на прерывание по нему повесить свой код?
Печалька это тогда, а не система реального времени.

melky
30.08.2023, 13:38
sav13
1. чтение входов - программа - запись выходов как почти и везде, у вас фильтрация по входам самим железом может быть обеспечена, без программы в принципе
2. CodeSys не система реального времени вообще, все таймеры и прочая все программное, нет там флагов М и т.д.
3. Быстрые входы ПЛК200 ? не, не слышал, тут кто-то на форуме задавал вопрос, оно в зачатке было...

Над схемой думать лень... на вскидку. 2В - одна кнопка нажата, 4В вторая кнопка нажата, 6В - две кнопки нажаты. Дальше можете посчитать, возможно можно и 3 кнопки сделать на один аналоговый вход
по вольтам - 1, 3, 5 вот вам и 3 клавиши одновременно, хоть тумблеры ставьте