Спасибо. Работает. Соорудил макрос для энкодера. Обнуляешь его в любом положении. И он считает в положительную и отрицательную сторону.
Спасибо. Работает. Соорудил макрос для энкодера. Обнуляешь его в любом положении. И он считает в положительную и отрицательную сторону.
Вроде не так давно в крайний раз обсуждали: https://owen.ru/forum/showthread.php?t=30483
И да, ОЛ и ПР не поддерживает целочисленные знаковые типы данных, только беззнаковые, короче, выкладывал макросы преобразования INT(знаковый тип данных) во FLOAT(в 30 посте: https://owen.ru/forum/showthread.php?t=13106&page=3) и если не ошибаюсь, Пётр из Минска выкладывал макрос преобразования DINT во FLOAT.
Вот тоже макрос работы с AB энкодером сделал, теперь вроде с правильной логикой и мой макрос преобразования INT во FLOAT в проект добавил, короче, теперь должно всё правильно считать и в минус тоже, разумеется в пределах диапазона типа данных!
Энкодер_5.PNG
Энкодер_5.owl
Хотелось добавить, что ничто не мешает расширить диапазон(если нужно) до DINT.
Примерно как-то так:
Энкодер_6.owl
Короче, поставил 32 битный счётчик и DINT декодер:
Энкодер_6.PNG
Немного усовершенствовал, декодер универсальный сделал, настройки в свойствах макроса:
Энкодер_7.PNG
Энкодер_7.owl
Универсальный декодер(INT_DINT ).PNG
И, можно самому "минус" не приделывать, достаточно преобразовать во FLOAT и, как уже советовали, умножить(разделить) на "-1".
Энкодер_8.PNG
Энкодер_8.owl
Или так в макросе:
Энкодер_9.PNG
Энкодер_9.owl
И, один макрос может преобразовывать(декодировать) как тип данных(диапазон) INT так и DINT(в зависимости от настроек):
Энкодер_10.owl
Энкодер_10.PNG
INT_TO_FLOAT_7.PNG
И, коль пошла такая пьянка, как говориться, режь последний огурец, решил и обратную функцию сделать, универсальную. Назначить тип данных(диапазон) можно в свойствах макроса, аналогично преведущему макросу, макрос преобразования FLOAT TO INT/DINT с ограничением по входу в пределах выбранного диапазона и округлением до целого значения, короче, проверяйте:
FLOAT_TO_INT_DINT.PNG
Энкодер_11.owl
Кстати, с Юрием Ревакой был разговор по поводу такого макроса(правда давно), короче, он считает, что такой макрос не нужен, а я часто им пользуюсь, передаю на СМИ2 отрицательные значения(обычно значения нецелые, с одним-двумя знаками после запятой, т. к. в СМИ2 можно сместить запятую влево) одним регистром(целочисленной переменной), короче, может кому пригодиться!
Последний раз редактировалось Сергей0308; 22.08.2022 в 06:44.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Коллеги, добрый день.
Нужно отдетектировать наличие сигнала 8В 50Гц. Есть мысль использовать аналоговый вход в режиме 0-10В и TOF на 1 сек (быстродействие не требуется). Будет работать?
Aviator_VZh Я очень давно возился со всякими цепями контроля перехода сетевого напряжения через ноль для микроконтроллеров. Я не уверен, что я тогда делал верно, но вдруг мой опыт пригодится.
Я делал развязку на оптопаре (позже её же использовал для определения сигнала о том, что в квартире звонит домофон). На неё подавалось переменное напряжение (или другой входной сигнал), а её выход пихался на вход микроконтроллера (а в случае ПРки можно прям на DI запихать).
OptoPair.gif
ИМХО, напрямую пихать переменку в AI не надо: она же может иметь всплески всякие. И ещё и надо вспомнить про действующее и амплитудное значение.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net
Так и не надо ничего колхозить, есть приборы, специально предназначенные для работы с кондуктометрическими датчиками, например: САУ-М6, БКК1, МК110-220.4К.4Р.
https://owen.ru/product/sau_m6
https://owen.ru/product/bkk1
https://owen.ru/product/moduli_diskr...specifications
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.