Найти в Дзене

Булевые операции в ФБД. Программирование сегнетикс, логическиx реле овен. XOR

Статья для новичков. Кто уже умеет составлять программы и ориентируется в средах #smlogix , и #owenlogic , тому эта статья ничего нового не принесет. Тем же, кто только осваивает азы программирования в FBD, надеюсь окажется полезной.

Булевы операции - инструмент для работы с булевыми переменными. Дискретные входы/выходы контроллера - это булевы переменные, поэтому работать с этими выражениями придется постоянно.

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

мне понравились лекции https://youtu.be/ZgSx3yH7sJI

на дзене

ссылка 1

ссылка 2

В smlogix функциональные блоки для битовых операций находятся в разделе логика, в owenlogix во вкладке "логические функции".

smlogix Раскрыта вкладка "логика", на поле выложены блоки 'AND' и 'OR' и открыта справка для блока 'AND'
smlogix Раскрыта вкладка "логика", на поле выложены блоки 'AND' и 'OR' и открыта справка для блока 'AND'

owenlogic. Блоки 'AND' и 'or' и окно справки с таблицей истинности.
owenlogic. Блоки 'AND' и 'or' и окно справки с таблицей истинности.

Находясь в среде программирования нет нужды каждый раз искать информацию в интернете. Вызываете справку и получаете таблицу истинности (основное, что вам нужно), по ней смотрите как ведет себя блок в зависимости от состояния входов. В smlogix у некоторых блоков можно изменить количество входов (полезная фишка), в owenlogix количество входов фиксировано (на рисунке конструкция для объединения входов, лучше сделать макросы на несколько входов, программа выглядит более компактно).

Кто только начинает программировать, тому может оказаться полезной фишка использования блока 'XOR' (исключающее или) для инвертирования сигналов.

Блок XOR - таблица истинности.
Блок XOR - таблица истинности.

Из таблицы истинности видим, чтобы изменить сигнал на выходе, нужно поменять один из входов. Идея в следующем:

Пример использования XOR
Пример использования XOR

Один вход - сигнальный, второй - настроечный.

C дискретного входа сигнал поступает на XOR, на другой вход поступает значение константы (которую вы можете менять перед прошивкой), или переменной (которую можно засунуть в меню настройки)

Для чего это нужно? К примеру пожарники должны выдать вам сигнал - сухой контакт нормально-замкнутый, но дали нормально-разомкнутый, каждый раз вставлять/удалять блок "НЕТ" неудобно (разрывать связи, соединять вновь) А так вы меняете значение настроечного входа и все. В smlogix можно тестировать программу имитируя сигнал изменением настроечного входа. Ситуации нередки, когда вы не знаете заранее, какой датчик окажется на объекте. Это еще простая ситуация :). Здесь ситуация поинтересней, вместо аналогового датчика поставили дискретный :)

К булевым операция можно отнести преобразования bool-int int-bool

#программирование контроллеров #FBD #программирование для начинающих #segnetics #сегнетик #XOR #программирование плк