Команда ANI- отрицание логического умножения, так она названа. Но не следует воспринимать её как отрицание конъюнкции.
Убедиться в том, что команда ANI и логическая функция “отрицание конъюнкции” – это не одно и то же, можно простым сравнением их таблиц состояний. Команда ANI - это скорее отрицание импликанты, так называемая коимпликанта . Можно считать её схемой совпадения на два входа с запретом по X1. Проще всего это представить себе как последовательное соединение элементов LD и LDI.
5. Команда OR -логическое сложение
Эта команда применяется для описания фрагмента соединения, при котором выходная цепь Y0 переходит во включенное состояние, если хотя бы один из входных сигналов (X0 или X1) примет значение ON.
6.Команда ORI– отрицание логического сложения.
К этой команде в полном объёме применимы те замечания, которые были сделаны по поводу команды ANI. Её следует ассоциировать только с вполне определённым соединением входных сигналов.
До сих пор перечисленные команды касались описания сигналов входных устройств, не обладающих памятью. Чаще всего это реальные устройства дискретного действия, осуществляющие связь контроллера с внешней средой.
Следует обратить внимание на то, что эти команды могут применяться не только к физически существующим устройствам (датчикам), но и к программно реализованным внутренним реле контроллера. По терминологии MELSEC MEDOC FX / WIN этим понятием объединяются самые различные внутренние элементы программы: вспомогательные реле и другие элементы коммутации. Среды программирования организованы так, что в программе можно обращаться к входным и выходным цепям этих элементов как к реально существующим устройствам.
Пример на использование внутренних реле.На рисунке 2.1 показан резервуар, на стенках которого установлены датчики, обозначения X0 и X1 которых пусть будут соответствовать уровням их установки. Текущее значение уровня
Рис.2.1
жидкости в ёмкости определяется соотношением интенсивностей расхода и пополнения её путём включения насоса, обозначаемого выходной величиной Y0.
Задача сводится к следующему. Уровень воды в ёмкости надо поддерживать в пределах от X0 до X1. Для этого при опускании уровня до X0 нужно включить насос и выключить его, когда уровень достигнет X1. Считать, что датчики X0 и X1 работают одинаково: их выходной сигнал принимает значение ON, когда измеряемый уровень опускается ниже уровня их установки.
Предстоит определиться с тем, как организовать управление включением насоса, или иначе – как программно должны быть связаны входные воздействия X0 и X1 с управляющим выходным сигналом Y0 ?
а) Пусть насос будет включаться при одновременно включенных обоих датчиках, т.е. в полном соответствии с содержанием команды AND. Что получится в итоге?
Уровень должен упасть ниже X0, чтобы можно было включить насос. Включили, восстановили уровень X0, датчик уровня X0 выключился, и вместе с ним выключился насос. При таком управлении уровень воды в резервуаре принципиально не может быть поднят выше X0.
б) Расположим в программе входные сигналы «параллельно», как это принято в команде OR, чтобы насос включался при включенном хотя бы одном из датчиков. К чему это приведёт?
-
Пока уровень ниже X1, датчик этого уровня будет включен, и, независимо от состояния датчика X0, насос будет стремиться подкачивать воду до достижения уровня X1, после чего он выключится. Из–за естественного разбора воды её уровень когда-то чуть-чуть станет ниже X1, и насос сразу будет вынужден включиться.
Иными словами, получен один из самых плохих вариантов управления, при котором «включение / выключение» насоса будет происходить постоянно и непрерывно, а регулируемый уровень не сможет уйти от X1.
в) Задача решается гораздо проще применением внутреннего реле. М1 – программно организованное внутреннее реле.
При опускании уровня ниже X0 оба датчика включены. Срабатывает “реле” М1, встаёт на самоблокировку от отпускания контакта X0 и включает насос Y0. Самоблокировка придаёт реле способность запоминать включённое состояние, поэтому часто используется в релейной схемотехнике. Реализуется она следующим образом. Реле, перейдя во включенное состояние, одной парой своих контактов шунтирует контакт (кнопку), замыкание которого вызвало срабатывание реле. Поэтому, при размыкании контакта X0, вызвавшего срабатывание реле, оно остаётся включенным через шунтирующую цепь блокирующего контакта (в примере программы это M1).