Формирование байта CAN-сообщения по состоянию дискретных входов
Суть задачи:
Требовалось реализовать передачу значения в CAN-сообщении в зависимости от состояния двух дискретных входов. Задача применялась для управления пропорциональным клапаном, где режим работы задаётся числовым значением в CAN.
Условия / логика:
- если вход 2 не активен → значение = 0
- если активен только вход 2 → значение = 53
- если активны вход 2 и вход 1 → значение = 54
- итоговое значение записывается в байт 1 CAN-сообщения
- остальные байты сообщения не изменяются
Логика решения
- вход 2 используется как разрешающий сигнал
- при его активации формируется базовое значение 53
- вход 1 учитывается только при активном входе 2
- при одновременной активации входа 1 к значению добавляется +1
Итог:
- вход 2 = 0 → выход 0
- вход 2 = 1, вход 1 = 0 → выход 53
- вход 2 = 1, вход 1 = 1 → выход 54
Реализация
Логика реализована с использованием функциональных блоков:
-
Элемент «И» (AND)
для проверки одновременной активации входов
-
Суммирование
для формирования значений 53 и 54
-
Controller Area Network
запись результата в CAN-сообщение
Схема подключения
Результат:
- реализована требуемая логика формирования значения
- управление осуществляется через CAN без сложной релейной схемы
- решение гибко масштабируется под другие значения и условия
- минимальная нагрузка на систему и простая настройка
Применяемое оборудование:
- программируемые модули НСЭ серии АСУ
- конфигуратор АСУ для настройки логики
- подключение к CAN-шине техники
Где может применяться
- управление пропорциональными клапанами
- передача состояний в CAN
- реализация логики включения/режимов работы
- замена релейной логики программируемыми решениями
