Возможно, самая важная, но неуловимая концепция, которую нужно усвоить при обучении программированию ПЛК, — это взаимосвязь между электрическим состоянием точек ввода-вывода ПЛК и состоянием переменных и других «элементов» в его программировании.
Это особенно актуально для программирования лестничных диаграмм (LD), где сама программа напоминает электрическую схему.
Установление мысленной связи между «реальным» миром переключателей, контакторов и других электрических устройств, подключенных к ПЛК, и «воображаемым» миром программы ПЛК, состоящей из виртуальных контактов и «обмоток» реле, является наиболее фундаментальным.
Первое фундаментальное правило, которое следует иметь в виду при изучении программы ПЛК с релейной диаграммой, заключается в том, что каждый виртуальный контакт, показанный в программе, срабатывает всякий раз, когда он считывает состояние «1» в соответствующем бите, и находится в состоянии покоя всякий раз, когда он считывает «0». состояние в соответствующем бите (в памяти ПЛК).
Если контакт относится к нормально открытому (НО) типу, он размыкается, когда его бит равен 0, и закрывается, когда его бит равен 1. Если контакт относится к нормально закрытому типу (НЗ), он закрывается, когда его бит равен 0. и открывается, когда его бит равен 1.
Состояние 0 бит приводит к тому, что контакт находится в «нормальном» (покойном) состоянии, тогда как состояние 1 бит активирует контакт, переводя его в ненормальное (сработанное) состояние.
Еще одно правило, которое следует помнить при изучении программы ПЛК с релейной диаграммой, заключается в том, что программное обеспечение для программирования предлагает цветовое выделение (Примечание 1) для отображения виртуального состояния каждого элемента программы: цветной контакт закрыт, а неокрашенный контакт открыт.
Хотя наличие или отсутствие символа косой черты указывает на нормальное состояние контакта, его цветовая подсветка, отображаемая программным обеспечением ПЛК, показывает «проводящее» состояние элементов в реальном времени.
Примечание 1: Следует отметить, что в некоторых ситуациях программное обеспечение для программирования не сможет правильно раскрасить контакты, особенно если их состояние меняется слишком быстро, чтобы канал связи программного обеспечения мог успевать за ним, и/или если бит(ы) меняют состояние несколько раз. раз за одно сканирование программы. Однако для простых программ и ситуаций это правило справедливо и является большим подспорьем для начинающих программистов, когда они изучают взаимосвязь между условиями реального мира и условиями в «виртуальном» мире ПЛК.
Заблуждения о лестничной логике ПЛК
В следующей таблице показано, как два типа контактов в программе лестничной диаграммы ПЛК реагируют на состояния битов, используя красный цвет для обозначения виртуальной проводимости каждого контакта:
Точно так же, как контакты реле давления срабатывают в условиях высокого давления, контакты реле уровня срабатывают в условиях высокого уровня, а контакты температурного реле срабатывают в условиях высокой температуры, так и виртуальный контакт ПЛК срабатывает в условиях высокого давления. битовое состояние (1). В контексте любого переключателя активированное состояние является противоположностью его нормального состояния (покоя).
На следующей упрощенной иллюстрации (электрическая проводка, показанная на этой схеме, неполная, для простоты «Общая» клемма показана неподключенной) показан небольшой ПЛК, два дискретных входных канала которого находятся под электрическим напряжением, в результате чего эти два бита имеют «1». » статусы.
Выделенные цветом контакты на дисплее программного редактора программирования показывают набор контактов, адресованных этим входным битам в различных состояниях (цветной = замкнутый; неокрашенный = разомкнутый).
Как видите, каждый контакт, адресованный «установленному» биту (1), находится в активированном состоянии, тогда как каждый контакт, адресованный «сброшенному» биту (0), находится в нормальном состоянии:
Помните, что цветной контакт — это закрытый контакт. Контакты, выделенные цветом, являются либо нормально замкнутыми контактами с состоянием бита «0», либо нормально разомкнутыми контактами с состоянием бита «1».
Именно комбинация состояния бита и типа контакта (НО или НЗ) определяет, будет ли виртуальный контакт разомкнутым (нецветным) или закрытым (цветным) в любой момент времени.
Соответственно, это комбинация цветного выделения и типа виртуального контакта, которая указывает реальное состояние подачи питания на конкретный вход ПЛК в любой момент времени.
Основная проблема студентов/инженеров при понимании программ релейных диаграмм ПЛК заключается в том, что они чрезмерно упрощают и пытаются напрямую связать реальные переключатели, подключенные к ПЛК, с соответствующими контактными инструкциями внутри программы ПЛК.
Студенты/инженеры ошибочно полагают, что реальный переключатель, подключаемый к ПЛК, и соответствующий контакт виртуального переключателя внутри программы ПЛК — это одно и то же, хотя это совсем не так.
Скорее, реальный переключатель подает питание на вход ПЛК, который, в свою очередь, контролирует состояние виртуальных контактов, запрограммированных в ПЛК.
В частности, я вижу, что студенты/инженеры регулярно впадают в следующие заблуждения:
- Ошибочно полагать, что тип инструкции контакта (НО или НЗ) должен совпадать с типом связанного с ним реального переключателя.
- Ошибочно думать, что цветовая подсветка команды контакта эквивалентна электрическому состоянию соответствующего реального входа ПЛК.
- Ошибочно полагать, что замыкание реального переключателя должно приводить к команде замыкания контакта в работающей программе ПЛК.
Чтобы внести ясность, вот основные правила, которые следует учитывать при интерпретации контактных инструкций в программах ПЛК релейных диаграмм:
- Каждый входной бит в памяти ПЛК будет равен «1», когда на его входной канал подается питание, и будет равен «0», когда его входной канал обесточен.
- Каждый виртуальный контакт, показанный в программе, срабатывает всякий раз, когда он считывает состояние «1» в соответствующем бите, и находится в состоянии покоя, когда он считывает состояние «0» в соответствующем бите.
- Цветной контакт закрыт (передает виртуальное питание в программе ПЛК), а неокрашенный контакт открыт (блокирует виртуальное питание в программе ПЛК).
При попытке понять программы лестничных диаграмм ПЛК важность этих правил невозможно переоценить.
На самом деле между реальным переключателем и статусом контактной инструкции существует причинно-следственная цепочка, а не прямая эквивалентность.
Реальный переключатель контролирует, достигает ли электрическая мощность входного канала ПЛК, что, в свою очередь, определяет, будет ли бит входного регистра равным «1» или «0», что, в свою очередь, определяет, будет ли активирована команда контакта или нет. отдых.
Таким образом, виртуальные контакты внутри программы ПЛК контролируются соответствующими реальными переключателями, а не просто идентичны своим реальным аналогам, как склонны предполагать новички.
Следуя этим правилам, мы видим, что инструкции нормально разомкнутых (НО) контактов будут имитировать то, что делают их реальные переключатели, тогда как инструкции нормально замкнутых (НЗ) контактов будут действовать противоположно своим реальным аналогам.
Цветовое выделение инструкций катушки в программе ПЛК лестничной схемы подчиняется аналогичным правилам. Катушка будет включена (цветная), когда все команды контактов перед ней замкнуты (цветные).
Цветная катушка записывает «1» в соответствующий бит памяти, а инструкция неокрашенной катушки записывает «0» в соответствующий бит памяти. Если эти биты связаны с реальными дискретными выходными каналами ПЛК, их состояния будут управлять реальной подачей питания на устройства, электрически подключенные к этим каналам.
Чтобы дополнительно прояснить эти фундаментальные концепции, мы рассмотрим работу простой системы ПЛК, предназначенной для подачи питания на сигнальную лампу в случае, если в технологическом сосуде возникает высокое давление жидкости.
Задача ПЛК состоит в том, чтобы включить сигнальную лампу, если давление в технологическом резервуаре когда-либо превысит 270 фунтов на квадратный дюйм, и поддерживать эту сигнальную лампу включенной, даже если давление упадет ниже точки срабатывания 270 фунтов на квадратный дюйм. Таким образом, операторы будут получать оповещения как о прошлых, так и о текущих событиях, связанных с избыточным давлением в технологическом резервуаре.
«Линейное» питание 120 В переменного тока (L1 и L2) обеспечивает электроэнергию для работы ПЛК, а также потенциал сигнала для входных переключателей и питание контрольной лампы.
К входу этого ПЛК подключаются два переключателя: один нормально разомкнутый кнопочный переключатель, действующий как сброс аварийного сигнала (нажатие этого переключателя «разблокирует» сигнальную лампу), и один нормально разомкнутый переключатель давления, действующий как чувствительный элемент высокого давления в технологическом резервуаре:
Кнопка сброса подключается к дискретному входу X1 ПЛК, а переключатель давления подключается к дискретному входу X4. Контрольная лампа подключается к дискретному выходу Y5.
Красные светодиодные индикаторы рядом с каждой клеммой ввода-вывода визуально указывают электрическое состояние точек ввода-вывода, а выделение красным цветом показывает состояние виртуального питания (Примечание 2) «контактов» и «обмоток» в программе ПЛК. отображается на экране персонального компьютера, подключенного к ПЛК через кабель программирования.
Если никто не нажимает кнопку сброса, этот переключатель будет в своем нормальном состоянии, которое для «нормально разомкнутого» переключателя разомкнуто.
Аналогично с реле давления: при технологическом давлении ниже точки срабатывания 270 фунтов на квадратный дюйм реле давления также будет находиться в нормальном состоянии, которое для «нормально разомкнутого» переключателя разомкнуто.
Поскольку ни один из переключателей в данный момент не проводит электричество, ни дискретный вход X1, ни X4 не будут под напряжением. Это означает, что «виртуальные» контакты внутри программы ПЛК также будут находиться в своих нормальных состояниях.
Таким образом, любой виртуальный контакт, изображенный как нормально разомкнутый, будет разомкнут (не передавая виртуальную энергию), а любой виртуальный контакт, изображенный как нормально закрытый (диагональная косая черта через символ контакта), будет закрыт.
Вот почему два нормально открытых виртуальных контакта X4 и Y5 не имеют подсветки, а нормально закрытый виртуальный контакт X1 имеет цветную подсветку, обозначающую способность передавать виртуальную мощность.
Примечание 2. Для контакта программы ПЛК затенение представляет виртуальную «проводимость». Для программной катушки ПЛК затенение представляет собой установленный (1) бит.
Если в технологическом сосуде оказывается высокое давление (> 270 фунтов на квадратный дюйм), сработает реле давления, закрывая его нормально разомкнутый контакт. Это подаст напряжение на вход X4 ПЛК, что «замкнет» виртуальный контакт X4 в лестничной программе.
При этом виртуальная мощность передается на виртуальную «катушку» Y5, которая, в свою очередь, замыкается через виртуальный контакт Y5 (примечание 3), а также подает питание на реальный дискретный выход Y5 для включения контрольной лампы:
Примечание 3: Стоит отметить правомерность ссылки виртуальных контактов на выходные биты (например, контакт Y5), а не только на входные биты.
«Виртуальный контакт» внутри программы ПЛК — это не что иное, как команда процессору ПЛК прочитать состояние бита в памяти. Не имеет значения, связан ли этот бит с физическим входным каналом, физическим выходным каналом или каким-то абстрактным битом в памяти ПЛК.
Однако было бы неправильно связывать виртуальную катушку с входным битом, поскольку инструкции катушки записывают значения битов в память, а входные биты должны управляться исключительно состояниями включения их физических входных каналов.
Если теперь технологическое давление упадет ниже 270 фунтов на квадратный дюйм, реле давления вернется в свое нормальное состояние (разомкнуто), тем самым обесточивая дискретный вход X4 на ПЛК.
Однако из-за фиксирующего контакта Y5 в программе ПЛК выход Y5 остается включенным, чтобы сигнальная лампа оставалась включенной:
Таким образом, контакт Y5 выполняет функцию уплотнения, сохраняя бит Y5 установленным (1) даже после устранения состояния высокого давления.
Это в точности та же концепция, что и «запечатываемый» вспомогательный контакт в проводной цепи пускателя двигателя, где электромеханический контактор сохраняет напряжение после отпускания кнопки «Пуск».
Единственный способ для человека-оператора переустановить контрольную лампу — это нажать кнопку.
Это приведет к подаче питания на вход X1 ПЛК, тем самым размыкая виртуальный контакт X1 (нормально закрытый) в программе, тем самым прерывая виртуальное питание виртуальной катушки Y5, тем самым выключая сигнальную лампу и разблокируя виртуальное питание в программа: