Инструкции TIA Portal

Логические операции со словами
Бит и Выбор

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

Что такое логические операции со словами в TIA Portal?

Логические операции со словами позволяют выполнять булевы вычисления над всеми битами слова (Word, DWord, LWord). Они необходимы для маскирования битов, сравнения двоичных шаблонов или упрощенного управления сгруппированными сигналами.

Этот раздел также включает мощные функции выбора, такие как SEL и MUX, которые позволяют динамически выбирать одно значение из нескольких на основе условия или индекса, а также инструменты кодирования (ENCO) и декодирования (DECO) для управления состояниями.

Поразрядная логика

Булева обработка для Word и DWord

AND / OR / XOR — Бинарные операции

AND

Что она делает

Выполняет логическую операцию (И, ИЛИ, Исключающее ИЛИ) над каждым соответствующим битом между двумя или более входами. Результат предоставляется в слове того же размера.

Когда использовать

Маскирование определенных битов (AND с маской), комбинирование аварийных сигналов или побитовое обнаружение изменений состояния.

Советы профи

AND идеально подходит для 'выключения' битов, OR — для их 'включения'.

XOR идеален для сравнения двух слов и определения различающихся битов.

Вы можете добавить дополнительные входы в блок, нажав на желтый значок.

INVERT — Инвертирование

INV

Что она делает

Инвертирует состояние каждого бита во входном слове (0 становится 1, 1 становится 0).

Когда использовать

Инвертирование группы сигналов датчиков или подготовка специфических двоичных вычислений.

Советы профи

Эквивалентно оператору NOT в классическом программировании, но применительно ко всему слову.

Очень полезно для связи со сторонним оборудованием с инвертированной логикой.

Будьте осторожны, не путайте с дополнением до двух (NEG).

Выбор и мультиплексирование

Динамическая маршрутизация значений

SEL — Бинарный выбор

SEL

Что она делает

Выбирает один из двух входов (IN0 или IN1) в зависимости от состояния бинарного входа G (G=0 -> IN0, G=1 -> IN1).

Когда использовать

Выбор между ручной и автоматической уставкой или переключение между двумя порогами температуры.

Советы профи

Графический эквивалент тернарного оператора (условие ? a : b).

Компактнее, чем блок IF или два нетворка условной передачи.

Работает почти со всеми типами данных (Int, Real, Time...).

MUX / DEMUX — Мультиплексоры

MUX

Что они делают

MUX выбирает один вход из N на основе индекса K. DEMUX направляет вход на один из N выходов на основе индекса K.

Когда использовать

Управление рецептами (выбор по индексу), динамическое отображение на HMI или маршрутизация данных на разные рабочие станции.

Советы профи

Индекс K начинается с 0. Если K=0, выбирается IN0.

Используйте вход ELSE мультиплексора MUX для задания значения по умолчанию, если индекс выходит за пределы.

DEMUX очень эффективен для распределения измерения по различным журналам истории.

Кодирование и декодирование

Преобразование между индексом и позицией бита

DECO — Декодирование

DECO

Что она делает

Активирует бит, номер которого соответствует входному значению. Все остальные биты выходного слова устанавливаются в 0.

Когда использовать

Преобразование номера шага в бинарный сигнал для управления конкретным выходом.

Советы профи

Если на входе 3, бит 3 (4-й по счету) выходного слова будет равен 1.

Позволяет легко переходить от целого числа к битовой маске.

Идеально подходит для управления сигнальными колоннами или индикаторами состояния.

ENCO — Кодирование

ENCO

Что она делает

Возвращает номер младшего значащего бита (LSB), который находится в состоянии 1 во входном слове.

Когда использовать

Определение того, какая неисправность появилась в слове аварий для отображения соответствующего сообщения.

Советы профи

Если входное слово содержит 2#0000_1000, ENCO возвращает 3.

Обратная операция декодированию DECO.

Очень полезно для преобразования сигналов от дискретных датчиков положения в числовое значение.

Обработка слов против индивидуальных битов

Почему стоит работать с целым словом?

СценарийПодход Word LogicПреимущество
Сброс 8 выходов в 0MOVE 0 -> Word1 нетворк вместо 8 контактов
Маскирование байтаAND 16#00FFХирургическая точность
Инверсия 16 сигналовINVERTСкорость выполнения
Выбор 1 значения из 10MUXМаксимальная читаемость
Маршрутизация измеренияDEMUXГибкая логика
Приоритет аварииENCOМгновенная диагностика

Часто задаваемые вопросы

В чем разница между MUX и массивом (Array)?

MUX — это жестко закодированная инструкция для нескольких значений (обычно < 10). Для сотен значений используйте массив с динамической индексацией [i] в SCL.

Можно ли выполнять AND над типами REAL?

Нет, поразрядные логические операции (AND, OR, XOR) разрешены только для бинарных типов (Byte, Word, DWord, LWord).

Как работает индекс демультиплексора DEMUX?

Вход K определяет, в какой выход копируется значение IN. Если K=2, IN копируется в OUT2. Все остальные выходы сохраняют свое предыдущее значение или 0 в зависимости от конфигурации.

Меняет ли INVERT знак числа?

Нет, INVERT переворачивает биты. Чтобы изменить знак (дополнение до двух), используйте инструкцию NEG (Математика) или умножьте на -1.

Оптимизируйте манипуляции с данными

Нужен сложный мультиплексор или специфическая битовая маска? T-IA Connect мгновенно сгенерирует ваши блоки логики слов.