Jump to content

leikang

Staff group
  • Content Count

    189
  • Joined

  • Last visited

Everything posted by leikang

  1. Основы лестничной диаграммы в программировании ПЛК Первоначально релейная логика представляла собой письменный метод документирования проектирования и изготовления релейных стоек, используемых в производстве и управлении технологическими процессами. Каждое устройство в релейной стойке должно было быть представлено символом на лестничной схеме с указанием соединений между этими устройствами. Кроме того, на лестничной диаграмме также будут показаны другие элементы, внешние по отношению к релейной стойке, такие как насосы, нагреватели и т. д. Релейная логика превратилась в язык программирования, который представляет программу в виде графической схемы, основанной на принципиальных схемах аппаратных средств релейной логики. Релейная логика используется для разработки программного обеспечения для программируемых логических контроллеров (ПЛК), используемых в приложениях промышленного управления. Название основано на наблюдении, что программы на этом языке напоминают лестницы с двумя вертикальными перекладинами и рядом горизонтальных перекладин между ними. Хотя лестничные диаграммы когда-то были единственной доступной формой записи программ программируемого контроллера, сегодня другие формы стандартизированы в IEC 61131-3. Релейная логика широко используется для программирования ПЛК, где требуется последовательное управление процессом или производственной операцией. Лестничная логика полезна для простых, но важных систем управления. Поскольку программируемые логические контроллеры стали более сложными, они также стали использоваться в очень сложных системах автоматизации. Часто программа лестничной логики используется вместе с программой HMI, работающей на компьютерной рабочей станции. Пример простой программы лестничной логики Сам язык можно рассматривать как набор связей между логическими контролерами (контактами) и исполнительными механизмами (катушками). Если между левой стороной ступеньки и выходом можно проследить путь через подтвержденные (истинные или «замкнутые») контакты, ступенька истинна, а бит хранения выходной катушки установлен или истинен. Если путь не проследить, то на выходе ложный сигнал (0) и «катушка» по аналогии с электромеханическими реле считается «обесточенной». Лестничная логика имеет контакты, которые замыкают или размыкают цепи управления катушками. Каждая катушка или контакт соответствует состоянию одного бита в памяти программируемого контроллера. В отличие от электромеханических реле, лестничная программа может ссылаться на состояние одного бита любое количество раз, что эквивалентно реле с неопределенно большим количеством контактов. Так называемые «контакты» могут относиться к физическим («жестким») входам программируемого контроллера от физических устройств, таких как кнопки и концевые выключатели, через встроенный или внешний модуль ввода, или могут представлять состояние битов внутренней памяти, которые могут быть сгенерированы. в другом месте программы. Каждая ступень лестничного языка обычно имеет одну катушку в крайнем правом углу. Некоторые производители могут допускать использование более одной выходной катушки на ступеньке. —( )— Обычная катушка, на которую подается напряжение всякий раз, когда ее ступенька замыкается. —()— Катушка «нет», на которую подается напряжение всякий раз, когда ее ступенька разомкнута. —[ ]— Обычный контакт, замыкающийся всякий раз, когда на соответствующую катушку или вход, который им управляет, подается напряжение. —[]— Контакт «нет», замыкается, когда соответствующая катушка или вход, который им управляет, не находится под напряжением. «Катушка» (выход цепочки) может представлять собой физический выход, который управляет каким-либо устройством, подключенным к программируемому контроллеру, или может представлять собой бит внутренней памяти для использования в другом месте программы. Логическое И ------[ ]--------------[ ]----------------( ) Ключевой переключатель 1 Ключевой переключатель 2 Двигатель двери Вышеупомянутое реализует функцию: Дверной двигатель = ключевой переключатель 1 и ключевой переключатель 2. На этой схеме показаны два выключателя с ключом, которые охранники могут использовать для активации электродвигателя на двери банковского хранилища. Когда нормально разомкнутые контакты обоих переключателей замыкаются, электричество может поступать на электродвигатель, который открывает дверь. Логическое И с НЕ ------[ ]--------------[]----------------( ) Закрыть дверь. Препятствие. Двигатель двери. Вышеупомянутое реализует функцию: Двигатель двери = Закрыть дверь И НЕ (Препятствие). На этой схеме изображена кнопка, закрывающая дверь, и детектор препятствий, который определяет, есть ли что-то на пути закрывающейся двери. Когда нормально разомкнутый контакт кнопки закрывается и нормально закрытый детектор препятствий закрывается (препятствие не обнаружено), электричество может поступать на двигатель, который закрывает дверь. Логическое ИЛИ --+-------[ ]-------+-----------------( ) | Внешняя разблокировка | Разблокировать | | +-------[ ]-------+ Разблокировка салона Вышеупомянутое реализует функцию: Разблокировка = Внутренняя разблокировка ИЛИ Внешняя разблокировка. На этой схеме показаны две вещи, которые могут вызвать срабатывание дверных замков автомобиля. Удаленный приемник всегда находится под напряжением. Соленоид замка получает питание, когда любой набор контактов замкнут. Промышленный СТОП/СТАРТ В обычной промышленной логике пуска/останова с фиксацией у нас есть кнопка «пуск» для включения контактора двигателя и кнопка «стоп» для выключения контактора. При нажатии кнопки «пуск» вход активируется через нормально замкнутый контакт кнопки «стоп». Когда входной сигнал «работа» становится истинным, герметичный НО контакт «пуск» параллельно с НО контактом «пуск» закроется, поддерживая истинную входную логику (зафиксирован или закрыт). После того, как цепь защелкнута, можно нажать кнопку «стоп», что приведет к размыканию ее нормально замкнутого контакта и, следовательно, к ложному срабатыванию входа. Затем размыкается «рабочий» нормально разомкнутый контакт, и логика схемы возвращается в свое состояние покоя. --+----[ ]--+----[]----( ) | начать | хватит бежать | | +----[ ]--+ бегать -------[ ]--------------( ) запустить мотор Вышеприведенное реализует функцию: run = (start OR run) AND ( NOT stop ) Обратите внимание на использование круглых скобок для группировки логической функции ИЛИ перед вычислением логической функции И (которая имеет более высокий приоритет операции). Также обратите внимание на использование NOT для обозначения логики нормально замкнутого контакта «стоп». Такая конфигурация защелки является общепринятой идиомой в релейной логике. В лестничной логике это называется логикой запечатывания. Ключом к пониманию защелки является признание того, что переключатель «пуск» — это переключатель мгновенного действия (как только пользователь отпускает кнопку, переключатель снова размыкается). Как только соленоид «работа» срабатывает, он замыкает размыкающий контакт «пуск», который фиксирует соленоид. Размыкание переключателя «Пуск» не оказывает никакого эффекта. По соображениям безопасности аварийный останов и/или останов должны быть подключены последовательно с пусковым выключателем, и логика реле должна это отражать. --[]----[]----+--[ ]--+---------( ) ЕС Стоп | Начало | Мотор | | +--[ ]--+ Бегать Сложная логика Вот пример того, как могут выглядеть две ступени в программе релейной логики. В реальных приложениях могут быть сотни или тысячи ступеней. Обычно сложная релейная логика «читается» слева направо и сверху вниз. Поскольку каждая из линий (или ступеней) оценивается, выходная катушка ступени может поступать на следующий этап лестницы в качестве входного сигнала. В сложной системе на лестнице будет много «ступенек», которые пронумерованы в порядке оценки. 1. ----[ ]---------+----[ ]-----+----( ) Переключатель | ПриветТемп | кондиционер | | +----[ ]-----+ Влажный 2. ----[ ]----[]--------------------( ) Кондиционер Обогрев Охлаждение Линия 1 реализует функцию: A/C = Переключатель И (HiTemp ИЛИ Влажность) Линия 2 реализует функцию: Охлаждение = кондиционер И (НЕ обогрев) Это представляет собой немного более сложную систему для ступени 2. После оценки первой линии выходная катушка «A/C» подается на ступень 2, которая затем оценивается, и выходная катушка «Охлаждение» может быть подана в выходную ступень. устройство «Компрессор» или на третью ступень лестницы. Эта система позволяет разбивать и оценивать очень сложные логические конструкции. Дополнительный функционал Дополнительные функциональные возможности могут быть добавлены в реализацию релейной логики производителем ПЛК в виде специального блока. Когда специальный блок включен, он выполняет код с заранее определенными аргументами. Эти аргументы могут отображаться в специальном блоке. +-------+ -----[ ]--------------------+ А +---- Удаленная разблокировка +-------+ Удаленный счетчик +-------+ -----[ ]--------------------+ B +---- Разблокировка салона +-------+ Внутренняя стойка +--------+ --------------------+ А + Б +----------- | в C | +--------+ Сумматор В этом примере система подсчитает количество нажатий кнопок внутренней и дистанционной разблокировки. Эта информация будет храниться в ячейках памяти A и B. В ячейке памяти C будет храниться общее количество раз, когда дверь была отперта электронным способом. ПЛК имеют множество типов специальных блоков. Они включают в себя таймеры, арифметические операторы и сравнения, поиск в таблицах, обработку текста, ПИД-регулятор и функции фильтрации. Более мощные ПЛК могут работать с группой ячеек внутренней памяти и выполнять операцию с диапазоном адресов, например, для моделирования физического последовательного барабанного контроллера или конечного автомата. В некоторых случаях пользователи могут определять свои собственные специальные блоки, которые по сути являются подпрограммами или макросами. Большая библиотека специальных блоков наряду с высокой скоростью исполнения позволили использовать ПЛК для реализации очень сложных систем автоматизации.
  2. В конце 1960-х годов американская компания Bedford Associates выпустила вычислительное устройство, названное MODICON. В качестве аббревиатуры оно означало «Модульный цифровой контроллер», а позже стало названием подразделения компании, занимающегося разработкой, производством и продажей этих управляющих компьютеров специального назначения. Другие инженерные фирмы разработали свои собственные версии этого устройства, и в конечном итоге оно стало известно в непатентованных терминах как ПЛК или программируемый логический контроллер. ПЛК Целью ПЛК была прямая замена электромеханических реле в качестве логических элементов, заменив вместо этого твердотельный цифровой компьютер с хранимой программой, способный имитировать соединение множества реле для выполнения определенных логических задач. ПЛК имеет множество «входных» терминалов, через которые он интерпретирует «высокие» и «низкие» логические состояния и аналоговые значения от переключателей и датчиков. Он также имеет множество выходных клемм, через которые он выводит сигналы «высокого» и «низкого» напряжения на источники питания, соленоиды, контакторы, небольшие двигатели и другие устройства, подходящие для управления включением/выключением, а также аналоговый выход для управления регулирующими клапанами, двигателем. контроль скорости и т. д. Чтобы упростить программирование ПЛК, их язык программирования был разработан так, чтобы напоминать диаграммы лестничной логики. Таким образом, инженер, привыкший читать схемы релейной логики, будет чувствовать себя комфортно, программируя ПЛК для выполнения тех же функций управления. Программирование ПЛК На следующем рисунке показан простой ПЛК, как он может выглядеть спереди. Две винтовые клеммы обеспечивают подключение к источнику питания для питания внутренней схемы ПЛК, обозначенной L1 и L2. Шесть винтовых клемм с левой стороны обеспечивают подключение к устройствам ввода, причем каждая клемма представляет собой отдельный входной «канал» со своей меткой «X». Нижняя левая винтовая клемма представляет собой «общее» соединение, которое обычно подключается к L2 (нейтраль) источника питания 120 В переменного тока. Внутри корпуса ПЛК, подключенного между каждой входной клеммой и общей клеммой, находится оптоизоляционное устройство (светоизлучающий диод), которое подает электрически изолированный «высокий» логический сигнал в схему компьютера (фототранзистор интерпретирует свет светодиода). ) при подаче напряжения 120 В переменного тока между соответствующей входной клеммой и общей клеммой. Индикаторный светодиод на передней панели ПЛК визуально указывает на то, что вход находится под напряжением: Выходные сигналы генерируются компьютерной схемой ПЛК, активирующей коммутационное устройство (транзистор, симистор или даже электромеханическое реле), соединяющее клемму «Источник» с любой из выходных клемм с маркировкой «Y-». Клемма «Источник», соответственно, обычно подключается к стороне L1 источника питания 120 В переменного тока. Как и для каждого входа, индикаторный светодиод на передней панели ПЛК визуально указывает на то, что выход находится под напряжением: Таким образом, ПЛК может взаимодействовать с реальными устройствами, такими как переключатели и соленоиды. Фактическая логика системы управления устанавливается внутри ПЛК с помощью компьютерной программы. Эта программа определяет, какой выход будет под напряжением при каких входных условиях. Хотя сама программа выглядит как схема релейной логики с символами переключателей и реле, внутри ПЛК нет реальных контактов переключателя или катушек реле, которые могли бы создавать логические связи между входом и выходом. Это воображаемые контакты и катушки, если хотите. Программа вводится и просматривается через персональный компьютер, подключенный к порту программирования ПЛК. Рассмотрим следующую схему и программу ПЛК: Когда кнопочный переключатель не задействован (не нажат), питание на вход X1 ПЛК не подается. Следуя программе, которая показывает нормально разомкнутый контакт X1 последовательно с катушкой Y1, на катушку Y1 не будет подаваться «энергия». Таким образом, выход Y1 ПЛК остается обесточенным, а подключенная к нему контрольная лампа остается темной. Однако если кнопочный переключатель нажат, питание будет подано на вход X1 ПЛК. Все контакты X1, появляющиеся в программе, примут активированное (ненормальное) состояние, как если бы они были контактами реле, срабатывающими при подаче питания на катушку реле с именем «X1». В этом случае подача питания на вход X1 приведет к тому, что нормально разомкнутый контакт X1 «закроется», отправив «питание» на катушку Y1. Когда на катушку Y1 программы «подается питание», на реальный выход Y1 подается напряжение, зажигая подключенную к нему лампу: Надо понимать, что контакт X1, катушка Y1, соединительные провода и «питание», появляющееся на дисплее компьютера (технической системы, в которую загружено программное обеспечение ПЛК) – все это виртуальные. Они не существуют как настоящие электрические компоненты. Они существуют как команды в компьютерной программе — всего лишь части программного обеспечения — которая напоминает настоящую принципиальную схему реле. Не менее важно понимать, что компьютер, используемый для отображения и редактирования программы ПЛК, не требуется для непрерывной работы ПЛК. После загрузки программы в ПЛК с компьютера компьютер можно отключить от ПЛК, и ПЛК продолжит выполнять запрограммированные команды. Я включил дисплей компьютера в эти иллюстрации исключительно ради вас, чтобы помочь понять взаимосвязь между реальными условиями (замыкание переключателя и состояние лампы) и состоянием программы («питание» через виртуальные контакты и виртуальные катушки). Истинная мощь и универсальность ПЛК раскрываются, когда мы хотим изменить поведение системы управления. Поскольку ПЛК является программируемым устройством, мы можем изменить его поведение, изменяя подаваемые ему команды, без необходимости переконфигурировать подключенные к нему электрические компоненты. Например, предположим, что мы хотим заставить эту схему выключателя и лампы работать в инвертированном виде: нажать кнопку, чтобы лампа погасла, и отпустить ее, чтобы она включилась. «Аппаратное» решение потребует замены нормально замкнутого кнопочного переключателя вместо нормально разомкнутого переключателя, который в настоящее время находится на месте. «Программное» решение гораздо проще: просто переделать программу так, чтобы контакт Х1 был нормально замкнутым, а не нормально разомкнутым. На следующем рисунке мы видим измененную систему, показанную в состоянии, когда кнопка не нажата (не нажата): На следующем рисунке переключатель показан активированным (нажатым): Одним из преимуществ реализации логического управления в программном обеспечении, а не в аппаратном обеспечении, является то, что входные сигналы можно повторно использовать в программе столько раз, сколько необходимо. Для примера возьмем следующую схему и программу, предназначенную для подачи питания на лампу при одновременном нажатии хотя бы двух из трех кнопочных выключателей: Чтобы построить эквивалентную схему с использованием электромеханических реле, необходимо использовать три реле с двумя нормально разомкнутыми контактами каждое, чтобы обеспечить два контакта на каждый входной переключатель. Однако, используя ПЛК, мы можем запрограммировать столько контактов, сколько пожелаем, для каждого входа «X» без добавления дополнительного оборудования, поскольку каждый вход и каждый выход представляют собой не что иное, как один бит в цифровой памяти ПЛК (либо 0, либо 1). , и его можно вызывать столько раз, сколько необходимо. Более того, поскольку каждый выход ПЛК представляет собой не что иное, как бит в его памяти, мы можем назначить контакты в программе ПЛК, «активируемой» статусом выхода (Y). Возьмем, к примеру, следующую систему — схему управления пуском и остановкой двигателя: Кнопочный переключатель, подключенный к входу Х1, выполняет функцию выключателя «Пуск», а переключатель, подключенный к входу Х2, выполняет функцию «Стоп». Другой контакт в программе, названный Y1, напрямую использует состояние выходной катушки в качестве герметичного контакта, так что контактор двигателя продолжает оставаться под напряжением после отпускания кнопки «Пуск». Вы можете увидеть, как нормально закрытый контакт X2 появляется в цветном блоке, показывая, что он находится в закрытом («электропроводящем») состоянии. Если бы мы нажали кнопку «Пуск», вход X1 подал бы напряжение, тем самым «замкнув» контакт X1 в программе, подав «питание» на «катушку» Y1, подав питание на выход Y1 и подав напряжение 120 В переменного тока на настоящая катушка контактора двигателя. Параллельный контакт Y1 также «замкнется», таким образом зафиксировав «цепь» во включенном состоянии: Теперь, если мы отпустим кнопку «Пуск», нормально разомкнутый «контакт» X1 вернется в свое «разомкнутое» состояние, но двигатель продолжит работать, поскольку герметичный «контакт» Y1 продолжает обеспечивать «непрерывность». для «питания» катушки Y1, таким образом сохраняя выход Y1 под напряжением: Чтобы остановить двигатель, мы должны на мгновение нажать кнопку «Стоп», которая подаст напряжение на вход X2 и «разомкнет» нормально закрытый «контакт», разорвав цепь на «катушке Y1»: При отпускании кнопки «Стоп» вход Х2 обесточивается, возвращая «контакт» Х2 в нормальное, «замкнутое» состояние. Однако двигатель не запустится снова, пока не будет нажата кнопка «Пуск», поскольку «запечатывание» Y1 потеряно: Здесь важно отметить, что отказоустойчивая конструкция так же важна в системах, управляемых ПЛК, как и в системах, управляемых электромеханическими реле. Всегда следует учитывать последствия неисправности (обрыва) проводки на управляемом устройстве или устройствах. В этом примере схемы управления двигателем у нас есть проблема: если входная проводка для X2 (переключатель «Стоп») выйдет из строя, остановить двигатель будет невозможно! Решением этой проблемы является изменение логики между «контактом» X2 внутри программы ПЛК и реальным кнопочным переключателем «Стоп»: Когда нормально замкнутый кнопочный переключатель «Стоп» не задействован (не нажат), на вход X2 ПЛК подается питание, таким образом «замыкается» «контакт» X2 внутри программы. Это позволяет запустить двигатель, когда на вход X1 подается питание, и позволяет ему продолжать работу, когда кнопка «Пуск» больше не нажата. При нажатии кнопки «Стоп» вход X2 обесточивается, тем самым «размыкая» «контакт» X2 внутри программы ПЛК и отключая двигатель. Итак, мы видим, что между этой новой конструкцией и предыдущей нет никакой функциональной разницы. Однако, если входная проводка на входе X2 выйдет из строя, вход X2 обесточится таким же образом, как и при нажатии кнопки «Стоп». В результате неисправности проводки на входе X2 двигатель немедленно отключится. Это более безопасная конструкция, чем показанная ранее, в которой отказ проводки переключателя «Стоп» привел бы к невозможности выключения двигателя. Помимо входных (X) и выходных (Y) программных элементов, ПЛК имеют «внутренние» катушки и контакты, не имеющие внутренней связи с внешним миром. Они используются почти так же, как «реле управления» (CR1, CR2 и т. д.) используются в стандартных релейных схемах: для обеспечения инверсии логического сигнала, когда это необходимо. Чтобы продемонстрировать, как можно использовать одно из этих «внутренних» реле, рассмотрим следующий пример схемы и программы, предназначенных для эмуляции функции логического элемента И-НЕ с тремя входами. Поскольку элементы программы ПЛК обычно обозначаются отдельными буквами, я буду называть внутреннее реле управления «C1», а не «CR1», как это принято в схемах управления реле: В этой схеме лампа будет гореть до тех пор, пока какая-либо из кнопок остается ненажатой (ненажатой). Чтобы лампа погасла, нам придется активировать (нажать) все три переключателя, вот так:
  3. Пример программирования ПЛК для управления несколькими двигателями для начинающих с использованием программного обеспечения ПЛК Schneider Electric EcoStruxure Machine Expert Basic. Обратите внимание, что этот пример ПЛК предназначен для студентов-инженеров, которые заинтересованы в изучении и практике упражнений с ПЛК. Программы промышленных ПЛК реального времени будут разработаны с большим количеством функций безопасности и защиты. Пример программирования ПЛК на мультидвигателе Разработайте релейную логику ПЛК для следующего приложения. Мы используем три тумблера для управления тремя двигателями. Если переключатель 1 включен, то двигатель I, двигатель II и двигатель III будут включены. Если переключатель 2 включен, то двигатель I и двигатель II будут включены. Если переключатель 3 включен, то двигатель I, двигатель II и двигатель III будут выключены. Цифровые входы В этом примере программы требуются следующие цифровые входы (DI). Также упоминаются назначенные адреса DI ПЛК. Переключатель 1: I0.0 Переключатель 2: I0.1 Переключатель 3: I0.2 Цифровые выходы В этом примере программы требуются следующие цифровые выходы (DO). Также упоминаются назначенные адреса DO ПЛК. Двигатель 1: Q0.0 Двигатель 2: Q0.1 Двигатель 3: Q0.2 Лестничная диаграмма для управления несколькими двигателями Описание программы Для этого приложения мы использовали программное обеспечение Ecostruxure Machine Expert Basic v1.2 для программирования. В приведенной выше программе мы использовали нормально разомкнутый контакт для переключателя 1 (I0.0), нормально закрытые контакты для переключателя 2 (I0.1) и переключателя 3 (I0.2). Переключатель 1 и переключатель 3 соединены последовательно для двигателя 1 и двигателя 2, таким образом реализуя логический элемент И. Для двигателя 3 переключатель 1, переключатель 2 и переключатель 3 соединены последовательно, реализуя таким образом логический элемент И. Чтобы двигатель 1 и двигатель 2 были включены, переключатель 1 должен быть включен, а переключатель 3 должен быть выключен. Когда переключатель 1 включен, переключатель 2 и переключатель 3 выключены, двигатель 3 будет включен. Включение переключателя 3 выключит все двигатели, т. е. двигатель 1, двигатель 2 и двигатель 3 будут выключены. Двигатель 3 выключится, когда переключатель 2 будет включен. Когда переключатель 1 включен, все двигатели включатся, поскольку ток также будет проходить через переключатель 2 и переключатель 3, поскольку это нормально замкнутые контакты. Если не выключить переключатель 1, двигатель 1 и двигатель 2 останутся включенными, но двигатель 3 выключится, когда переключатель 2 будет включен. При включении переключателя 2 он не будет передавать ток на двигатель 3. Все двигатели выключатся при включении переключателя 3, даже если другие переключатели включены. Когда переключатель 1 включен Ток протекает через переключатель 1, когда он находится в истинном состоянии. В ложном состоянии переключатель 3 и переключатель 4 также пропускают ток на выходы. Когда переключатель 2 включен Ток не протекает через переключатель 2, когда он включен. В истинном состоянии нормально закрытый контакт разрывает цепь. Когда переключатель 3 включен Переключатель 3 представляет собой нормально закрытый контакт. Когда он включен, он не пропускает через себя ток. В результате ни один из выходов не будет включен.
  4. Разработайте примеры программирования ПЛК для промышленной автоматизации в соответствии с логикой, приведенной ниже: Пила, вентилятор и масляный насос включаются при нажатии кнопки пуска. Если пила проработала менее 20 с, масляный насос должен выключиться при выключении пилы, а вентилятор должен поработать еще 5 с после выключения пилы. Если пила проработала более 20 с, вентилятор должен оставаться включенным до тех пор, пока не будет выполнен сброс отдельной кнопкой сброса вентилятора, а масляный насос должен оставаться включенным еще в течение 10 с после выключения пилы. Напишите программу ПЛК, которая будет реализовывать этот процесс. Примеры программирования ПЛК Описание программы: Ранг 0000: Пуск/аварийный останов PB фиксируется с помощью памяти B3:0/0. Ранг 0001: B3:0/0 включен для включения пилы (O: 0/0), вентилятора (O: 0/1) и масляного насоса (O:0/2). Нормально закрытый контакт выключателя «Стоп» включен последовательно. Выход пилы отключается. Переключатель сброса вентилятора и таймер T4:0 подключены для отключения вентилятора при выполнении условий. Таймер Т4:2 отработал немного и бит памяти предназначен для отключения масляного насоса. Ранг 0002: При нажатии кнопки «Стоп» в соответствии с логикой, упомянутой в пункте 2, выход вентилятора (O: 0/2) должен отключиться через 5 с. Блок компаратора ограничивает запуск таймера T4:0 после 20 с работы пилы. Ранг 0003: Таймер Т4:1 срабатывает при нажатии кнопки «Пуск». Когда кнопка остановки нажата в любой момент после 20 с, выход пилы отключится. Через 10 секунд масляный насос отключится. Эту операцию выполняет Таймер Т4:2. Бит выполнения таймера T4:0 используется для ограничения работы таймера T4:1, когда T4:0 включен. Ранг 0004: Меньше блока компаратора используется для выполнения логики, упомянутой в пункте 2, для отключения вентилятора, когда работа выходного сигнала пилы составляет менее 20 с. Выход программы: Теперь мы видим симуляцию вышеуказанной лестничной логики для различных условий, как указано ниже. При нажатии кнопки Старт ПБ Когда переключатель «Стоп» нажат до 20 с. Когда переключатель «Стоп» нажат после 20 с. При нажатии переключателя сброса вентилятора Заключение: Мы можем использовать этот пример, чтобы понять логику программирования в ПЛК Allen Bradley.
  5. Это программа ПЛК для контроля въезда/выезда из подвала или подземной парковки. ПЛК Автостоянка описание проблемы Из-за переполненности мест мы сталкиваемся с множеством проблем с парковкой транспортных средств в подвалах или подземных помещениях торговых центров, гостиниц, комплексов и т. д. Это происходит из-за противоречия между быстро растущим количеством транспортных средств и ограниченным количеством парковочных мест в торговых центрах, магазинах и комплексах в городах. Результатом является явление «трудной парковки и беспорядочной парковки». Существующая проблема парковки оказывает серьезное влияние на качество жизни людей и состояние дорог. Диаграмма проблемы Решение проблемы С помощью простой автоматизации мы можем уменьшить проблему парковки автомобилей в подвале или под землей в торговых центрах, гостиницах, комплексах и т. д. Вход/выход в подвале представляет собой однополосный проход, и для управления автомобилями необходимы светофоры. Здесь мы рассматриваем две световые индикации для контроль автомобилей. Красный свет запрещает въезд и выезд автомобилей, а зеленый свет разрешает въезд и выезд автомобилей. Когда автомобиль въезжает в проход со стороны входа на первый этаж, оба красных света (первый этаж и подвал) будут включены. Въезд и выезд других автомобилей запрещен. во время процесса, пока автомобиль не пройдет через единственный проход. Когда проход свободен, оба зеленого света (первый этаж и подвал) будут включены и позволят другим автомобилям въехать с первого этажа или подвала. Первоначально мы будем держать зеленый свет включенным, а красный свет выключенным. Список входов и выходов Список входов Главный ПЕРЕКЛЮЧАТЕЛЬ: I0.0 Датчик S1 для входа/выхода первого этажа: I0.1 Датчик S2 для входа/выхода в подвал: I0.2 Список выходов Зеленый свет (вход/выход на первом этаже): Q0.0 Зеленый свет (вход/выход из подвала): Q0.1 Красный свет (вход/выход на первом этаже): Q0.2 Красный свет (вход/выход из подвала): Q0.3 Список катушек памяти M M10.0: Горит, когда автомобиль проезжает мимо датчика S1. M10.3: Горит, когда автомобиль проезжает мимо датчика S2. M0.0: Положительный фронт системы ВКЛ. M0.1 и M11.0: Положительный фронт датчика S1. M0.3 и M11.1: Положительный фронт датчика S2. M11.2 : Отрицательный фронт датчика S2. M11.3 : Отрицательный фронт датчика S1. Лестничная схема ПЛК для контроля въезда/выезда с автостоянки Описание программы В этом приложении для программирования мы использовали ПЛК Siemens S7-300 и программное обеспечение TIA Portal. Сеть 1: В соответствии с приведенным выше объяснением в первой сети, когда система включена (I0.0), первоначально оба зеленых индикатора (первый этаж (Q0.0) и подвал (Q0.1)) будут включены. Команда SET выполняется и устанавливает оба выхода Q0.0 и Q0.1. Сеть 2: Согласно приведенному выше объяснению во второй сети, когда система включена (I0.0), первоначально оба красных фонаря (первый этаж (Q0.2) и подвал (Q0.3)) будут выключены.) Команда RESET выполняется и она сбрасывается. оба выхода Q0.2 и Q0.3. Сеть 3: Когда автомобиль въезжает в пустой проход с первого этажа, срабатывает датчик S1 (I0.1) и с помощью этого триггера устанавливается катушка памяти M10.0. Сеть 4: Когда автомобиль въезжает в пустой проход из подвала, срабатывает датчик S2 (I0.2) и с помощью этого триггера устанавливается катушка памяти M10.3. Сеть 5: Оба красных фонаря загораются либо положительным срабатыванием датчика S1, либо датчика S2. Поскольку, когда автомобиль въезжает в пустой проезд, оба красных света (Q0.2 и Q0.3) запрещают въезд/выезд автомобиля с обеих сторон. Сеть 6: Здесь мы взяли отрицательный триггер обоих датчиков S1 (I0.1) и S2 (I0.2). поэтому, когда они сработают, красные огни (Q0.2 и Q0.3) будут выключены. Когда автомобиль полностью проедет пустой проезд, красные огни (Q0.2 и Q0.3) должны быть выключены. Сеть 7: В этой сети зеленые огни (Q0.0 и Q0.1) будут гореть, когда красные огни выключены. Зеленые огни (Q0.0 и Q0.1) разрешают въезд или выезд другого автомобиля. Сеть 8: Если красные индикаторы (Q0.2 и Q0.3) горят в это время, зеленые индикаторы (Q0.0 и Q0.1) должны быть выключены. Таким образом, в этой сети, когда красные индикаторы (Q0.2 и Q0.3) включаются в будет выполнена команда сброса времени, и зеленые индикаторы (Q0.0 и Q0.1) погаснут. Сеть 9: Если ПЕРЕКЛЮЧАТЕЛЬ ВКЛ (I0.0) системы ВЫКЛЮЧЕН, тогда все ячейки памяти должны быть равны 0. Здесь мы взяли команду MOVE для перемещения нуля во всех ячейках (MB0, QB0 и MB10). Этот пример предназначен только для объяснения концепции, в этом примере учитываются не все параметры (например, система открытия/закрытия дверей, сигналы тревоги и т. д.). Результат Примечание. Приведенная выше логика ПЛК дает базовое представление о применении ПЛК для управления парковкой въездных/выездных ворот. Логика является ограниченным и неполным приложением.
  6. Это программа ПЛК для реализации программы подсчета объектов на движущемся конвейере. Подсчет движущихся объектов на конвейере Предметы движутся по конвейеру. Нам нужно подсчитать общее количество предметов, собранных в конце конвейера, и отобразить его на локальной панели управления. Напишите программу ПЛК для этого приложения. Диаграмма проблемы Решение проблемы Здесь мы используем лестничную программу ПЛК для реализации этой логики. Чаще всего для обнаружения объектов используются датчики приближения. Здесь мы устанавливаем датчик приближения для обнаружения частей или объектов, движущихся по конвейеру. Индуктивный датчик в основном используется для обнаружения металлических предметов. Для других типов объектов мы используем емкостный датчик приближения для обнаружения объектов, движущихся по конвейеру. Мы подключаем этот датчик к ПЛК и, используя логику счетчика, подсчитываем количество объектов и отображаем общее количество на дисплее локальной панели управления. Здесь мы используем счетчик UP для подсчета собранных объектов в конце конвейера. Примечание: – Здесь мы рассмотрели простое приложение для подсчета объектов. Мы рассмотрели датчик приближения для обнаружения объектов. Датчик приближения обнаружит объект, а счетчик PLC UP подсчитает собранные объекты. Список входов и выходов Цифровые входы Начало:- I0.0 Стоп:- I0.1 Близость:- I0.2 (обнаружение объектов) Сброс счетчика PB:- I0.3 Цифровой выход Цикл ВКЛ:- Q0.0 М-память Сброс счетчика: - M0.1 Всего собрано объектов: - MW10 ПЛК Лестничная логика для подсчета объектов на конвейере Объяснение лестничной логики Для этого приложения мы используем ПЛК S7-300 и портальное программное обеспечение TIA для программирования. Мы также можем реализовать эту логику, используя другой ПЛК. Сеть 1: В первой сети мы использовали схему блокировки для включения цикла. Здесь мы использовали START PB (I0.0) для запуска цикла и STOP PB (I0.1) для остановки цикла. Сеть 2: Команда счетчика ПЛК используется для подсчета количества объектов. Датчики приближения устанавливаются рядом с конвейером. Когда объект приближается к датчику приближения (I0.2), он обнаруживает объект, и выход датчика включается или переходит в состояние ВКЛ. Когда рядом с датчиком приближения нет объекта, выход датчика обесточивается или переходит в состояние ВЫКЛ. Счетчик ПЛК считает инкрементно. Общее количество подсчитанных объектов будет сохранено в слове памяти или регистре (MW10). Примечание. Вышеуказанное приложение может отличаться от фактического. Этот пример предназначен только для пояснения. Мы можем реализовать эту логику и в других ПЛК. Это простая концепция счетчика UP. Используя эту концепцию, мы можем подсчитывать объекты, движущиеся по конвейеру или в любом другом приложении для подсчета. Эта логика является лишь частью или предназначена только для логики конкретного приложения. Все параметры, рассмотренные в примере, предназначены только для пояснения, в реальных приложениях параметры могут отличаться. Результат
  7. Расширенное программирование ПЛК для сортировки дефектных деталей, позволяющее различать хорошие и плохие детали, а затем транспортировать их по конвейерам. Расширенное программирование ПЛК для сортировки дефектных деталей Приведенное ниже моделирование показывает идентификацию хороших и плохих продуктов и сортировку продуктов по их качеству с использованием релейной логики ПЛК. Конвейеры используются для перемещения продукции. Конвейеры запускаются и останавливаются при доставке продукции на конвейер и во время бурения. Сверлильный станок используется для сверления изделий согласно проекту. Иногда операция сверления может повредить продукцию. Датчик определяет качество продуктов, и толкатель перемещает некачественные продукты в другой складской отсек. Входы и выходы ПЛК В таблице ниже перечислены необходимые входы и выходы системы ПЛК. Тип № устройства Имя устройства Действие Вход X0 Св ерление включено во время сверления. Вход X1 Деталь под сверлом Одна деталь подается, когда Y0 включен: Большой металлический куб. Вход X2 «Просверлено правильно» ВКЛ, когда деталь просверлена правильно. Предыдущий результат очищается при начале сверления. Вход X3 Просверлено неправильно ВКЛ, когда деталь обнаружена на левом конце. Датчик входа X4 включается, когда деталь обнаружена на правом конце. Датчик входа X5 ВКЛ, когда деталь обнаружена перед толкателем. Входной датчик X10 включается, когда деталь просверлена неправильно. Предыдущий результат очищается при начале сверления. Выход Y0 Команда подачи Конвейер движется вперед, когда Y1 включен. Выход Y1 Конвейер вперед Конвейер движется вперед, когда Y3 включен. Выход Y2 Начать сверление Начинает сверление, когда Y2 включен (технологический цикл, который нельзя остановить на полпути). Выход Y3 Конвейер вперед Выдвигается, когда Y5 включен, и втягивается, когда Y5 выключен. Толкатель не может быть остановлен в середине хода. Выходной толкатель Y5 Выдвигается, когда Y5 включен, и втягивается, когда Y5 выключен. Толкатель не может быть остановлен в середине хода. Описание программы Целью этого проекта является различение хороших и дефектных деталей с помощью датчиков и их соответствующая сортировка. Проект состоит из двух ключевых направлений: общий контроль и контроль бурения. Общий контроль На панели управления имеется кнопка PB1 (X20). Когда вы нажимаете PB1, активируется команда подачи (Y0) для бункера, заставляя его подавать детали. При отпускании PB1 команда подачи деактивируется и бункер останавливается. На панели управления имеется переключатель SW1 (X24). Когда вы включаете SW1, конвейеры начинают двигаться вперед. Выключение SW1 останавливает конвейеры. Управление сверлом Теперь обсудим управление дрелью: Когда деталь под датчиком сеялки (X1) внутри сеялки активируется, конвейер останавливается. Процесс сверления начинается при подаче команды «Начать сверление» (Y2). Он останавливается, когда активируется датчик сверления (X0). После одного полного цикла работы сверла, если активирована функция «Начать сверление» (Y2), срабатывает датчик «Просверлено правильно» (X2) или «Просверлено неправильно» (X3). Обратите внимание, что дрель нельзя остановить во время работы. В этом моделировании ПЛК каждая третья деталь считается дефектной (деталь с несколькими отверстиями также попадает в категорию дефектных). Когда датчик обнаружения детали (X10) в толкателе обнаруживает дефектную деталь, конвейер останавливается, и толкатель перемещает деталь на «дефектный» лоток. Помните, что при подаче команды на толкатель он полностью выдвигается. Когда команда ВЫКЛ, толкатель полностью втягивается. Деталь, прошедшая проверку, продолжает движение по конвейеру к лотку «ОК», расположенному в правом конце. Программирование ПЛК
  8. Основное различие между РСУ и ПЛК — это бизнес-модель, которую мы обсуждали при сравнении архитектуры РСУ и ПЛК. РСУ и архитектура ПЛК Можно сказать, что бизнес-модель DCS основана на монолитной интегрированной системе, созданной одним производителем. Архитектура РСУ В РСУ контроллер, подсистема ввода-вывода, программное обеспечение сервера базы данных, инженерное программное обеспечение и программное обеспечение оператора представляют собой единый монолитный блок, разработанный вместе и работающий только друг с другом. Использование компонентов сторонних производителей невозможно. Ни один из этих компонентов невозможно использовать в какой-либо другой системе. РСУ использует сеть подсистемы ввода-вывода и сеть управления на основе стандартного Ethernet, но с собственным прикладным протоколом и, как правило, только с определенной утвержденной моделью коммутаторов Ethernet. Рисунок 1. В РСУ все компоненты поставляются одним и тем же производителем. Разрешена только определенная версия Windows и только один тип одобренного компьютера, поставляемого производителем DCS. Эти ограничения позволяют производителю РСУ очень тщательно тестировать все вместе, в очень больших масштабах, с большой нагрузкой, с множеством контроллеров и рабочих станций. Такие приложения, как пакетное управление, расширенное управление, автонастройка и т. д., также тестируются вместе. Это гарантирует отсутствие конфликтов совместимости и непредвиденных зависимостей. Тщательное крупномасштабное тестирование возможно, поскольку по существу существует только один тип каждого компонента, то есть только одна или очень мало комбинаций. Стороннее программное обеспечение допускается только на отдельных «станциях приложений», где оно не может конфликтовать с собственными приложениями DCS и должно быть протестировано и одобрено производителем DCS; внесен в белый список. РСУ представляет собой монолитную систему, в которой используются подсистема ввода-вывода, контроллер и программное обеспечение одной марки, а также единый компьютер и платформа операционной системы. Это было тщательно протестировано в очень больших масштабах. Долгосрочная поддержка DCS Системы обычно остаются работоспособными в течение 15 лет и более. В течение этого времени будет выпущено несколько версий Windows, пакеты обновлений, исправления, множество обновлений описаний вирусов, а также потребуется заменить компьютерное оборудование. Обычно DCS поддерживает только один тип антивирусного программного обеспечения, и всякий раз, когда появляется новое определение вируса или пакет обновления или исправление операционной системы Windows, весь монолитный набор всего аппаратного и программного обеспечения снова тестируется системой. поставщика перед выпуском, гарантируя, что определение вируса и пакет обновления могут быть развернуты без каких-либо конфликтов совместимости. Обновление РСУ Версии РСУ также обновляются как единый монолитный блок всего аппаратного и программного обеспечения, такого как встроенное ПО карты ввода-вывода, встроенное ПО контроллера, серверное программное обеспечение, программное обеспечение инженерной станции, программное обеспечение операторской станции, а также любое другое программное обеспечение, которое обновляется вместе. Каждый раз, когда появляется новая версия системы, все эти компоненты предварительно тщательно тестируются в большом масштабе производителем системы, чтобы гарантировать их совместимость друг с другом. Более того, процесс онлайн-переключения с более ранней версии на новую был тщательно протестирован в больших масштабах, что обеспечивает плавное развертывание на объекте. Именно эта уверенность, обеспечиваемая тщательными и крупномасштабными испытаниями, делает DCS очень популярной на крупных объектах, таких как нефтехимические комплексы. Такое тестирование становится практичным благодаря небольшому количеству комбинаций в монолитной системе. Архитектура ПЛК/Бизнес-модель Можно сказать, что бизнес-модель ПЛК основана на гибкой архитектуре системного интегратора (SI). Архитектура ПЛК Архитектура ПЛК очень гибкая: каждый компонент можно свободно выбирать от любого из множества поставщиков. ПЛК — это ЦП с программным обеспечением для настройки и подсистемой ввода-вывода. Иногда подсистема ввода-вывода может быть сторонней. Даже карты ввода-вывода, подключаемые к объединительной плате, могут быть изготовлены сторонними производителями. Программное обеспечение HMI обычно производится сторонними производителями. Обычно лучше всего использовать собственный OPC-сервер от производителя ПЛК, но иногда используются OPC-серверы сторонних производителей. Рисунок 2. В ПЛК интегрированы компоненты разных производителей. По сути, любой ПЛК работает с любой подсистемой ввода-вывода, сервером OPC и программным обеспечением HMI, поскольку используются стандартные протоколы, такие как PROFIBUS-DP, PROFINET, Modbus/RTU, Modbus/TCP, DeviceNet и EtherNet/IP, а также OPC и т. д. . Сетевое оборудование, компьютеры и версию Windows можно выбирать свободно. Некоторые компоненты, признанные неработающими, занесены в черный список. Рисунок 3. DCS использует одного поставщика, тогда как решения PLC объединяют нескольких поставщиков, что приводит к большому количеству комбинаций. Примечание. В настоящее время также доступен единый поставщик пакетов ПЛК. Такая гибкость позволяет использовать сотни комбинаций аппаратного и программного обеспечения, что делает невозможным для этих производителей собраться вместе для тестирования всех возможных комбинаций своего аппаратного и программного обеспечения на каждой версии Windows, прежде чем завод примет решение о покупке. Некоторые комбинации могут быть протестированы участвующими производителями, но они могут быть или не быть в больших масштабах с большой нагрузкой. ПЛК допускает любую комбинацию подсистемы ввода-вывода, ЦП и программного обеспечения HMI/SCADA на широком спектре компьютеров и платформ операционных систем. Любая комбинация не может быть проверена. Производитель ПЛК может поставлять все аппаратные и программные компоненты от того же производителя, поскольку многие производители ПЛК приобрели компании HMI. Если да, то эта конкретная комбинация, возможно, была протестирована более тщательно, чем другие протестированные комбинации. Вспомогательные сторонние приложения, такие как управление партиями, расширенное управление, автонастройка и т. д., как правило, не тестируются вместе, поскольку это приводит к еще большему количеству комбинаций. ПЛК использует собственное программное обеспечение для настройки, как и DCS. То есть вы не можете использовать стороннее программное обеспечение для настройки вашего ПЛК, как и РСУ. Собственный OPC-сервер для ПЛК лучше, чем сторонний OPC-сервер, поскольку программное обеспечение для настройки ПЛК обычно автоматически настраивает адресное пространство для OPC-сервера. Долгосрочная поддержка ПЛК В течение 15 или более лет типичной работы системы будет существовать несколько версий Windows, пакетов обновлений, оперативных исправлений, множества обновлений описаний вирусов, а также потребуется заменить компьютерное оборудование. Обычно ПЛК не имеет ограничений на антивирусное программное обеспечение или версию операционной системы Windows, поэтому количество комбинаций описаний вирусов, пакетов обновлений и оперативных исправлений становится слишком большим и непрактичным для этих производителей, чтобы собраться вместе и протестировать каждую возможную новую комбинацию перед развертывание на предприятиях, чтобы гарантировать отсутствие конфликтов совместимости при развертывании на большом количестве комбинаций аппаратного и программного обеспечения. Производитель ПЛК может ограничиться одним антивирусным программным обеспечением и версией Windows. Если да, то эта конкретная комбинация, возможно, была протестирована более тщательно, чем другие тестируемые ими комбинации. Обновление ПЛК Для ПЛК аппаратные и программные компоненты обновляются индивидуально. То есть встроенное ПО подсистемы ввода-вывода, встроенное ПО ЦП и программное обеспечение для настройки, OPC-сервер, программное обеспечение HMI, а также любое другое программное обеспечение обновляются независимо друг от друга. С учетом разных вариантов каждого варианта комплектующих количество комбинаций становится на порядки больше. Такая гибкость делает непрактичным для этих производителей собираться вместе для тестирования всех возможных комбинаций новых версий перед их внедрением на заводах. Тестирование горячего переключения одной комбинации версий на другую становится практически невозможным. Производитель ПЛК может поставлять все аппаратные и программные компоненты, ограничиться одним антивирусным программным обеспечением и версией Windows, которые тестируются перед развертыванием, а также ограничиться одним контроллером сервера базы данных подсистемы ввода-вывода/операторской станцией ПЛК/ЧМИ, РСУ, системой ПЛК. широкие обновления версий и тестирование горячего переключения перед развертыванием. Таким образом, от гибкости ПЛК можно будет отказаться в пользу надежности РСУ.
  9. Программирование лестничных диаграмм (LD) Наиболее распространенным языком, используемым для программирования ПЛК, является релейная диаграмма (LD), также известная как релейная логика (RLL). Это графический язык, показывающий логические связи между входами и выходами, как если бы они были контактами и катушками в проводной схеме электромеханического реле. Этот язык был изобретен специально для того, чтобы сделать программирование ПЛК «естественным» для электриков, знакомых с релейной логикой и схемами управления. Хотя программирование лестничных диаграмм имеет множество недостатков, оно остается чрезвычайно популярным в автоматизации промышленности. Каждая программа лестничных диаграмм устроена так, чтобы напоминать электрическую схему, что делает ее графическим (а не текстовым) языком программирования. Лестничные диаграммы следует рассматривать как виртуальные цепи, в которых виртуальная «энергия» течет через виртуальные «контакты» (когда они закрыты) для подачи питания на виртуальные «обмотки реле» для выполнения логических функций. Ни один из контактов или катушек, видимых в программе ПЛК лестничной схемы, не является реальным; скорее, они действуют на биты в памяти ПЛК, логические взаимосвязи между этими битами выражаются в форме диаграммы, напоминающей схему. редактируется на персональном компьютере: Программирование лестничных диаграмм На следующем снимке экрана компьютера показана типичная программа лестничной диаграммы. Контакты выглядят так же, как на логической схеме электрического реле – как короткие вертикальные сегменты линий, разделенные горизонтальным пространством. Нормально разомкнутые контакты пусты в пространстве между сегментами линий, а нормально закрытые контакты имеют диагональную линию, пересекающую это пространство. Катушки несколько отличаются друг от друга и выглядят как кружки или пары круглых скобок. Другие инструкции отображаются в виде прямоугольных прямоугольников. Каждая горизонтальная линия называется ступенькой, точно так же, как каждая горизонтальная ступенька стремянки называется «ступенью». Общей особенностью редакторов программ лестничных диаграмм, как видно на этом снимке экрана, является возможность выделения цветом тех виртуальных «компонентов» в виртуальной «схеме», готовых «проводить» виртуальную «энергию». В этом конкретном редакторе цвет, используемый для обозначения «проводимости», светло-синий. Другая форма индикации состояния, наблюдаемая в этой программе ПЛК, — это значения определенных переменных в памяти ПЛК, показанные красным текстом. Например, вы можете видеть, что катушка Т2 находится под напряжением в правом верхнем углу экрана (закрашена голубым цветом), а катушка Т3 — нет. Соответственно, каждый нормально разомкнутый контакт Т2 отображается цветным, что указывает на его «закрытое» состояние, тогда как каждый нормально закрытый контакт Т2 не имеет цвета. Напротив, каждый нормально разомкнутый контакт T3 не имеет цвета (поскольку катушка T3 обесточена), в то время как каждый нормально закрытый контакт T3 показан цветным, чтобы указать его проводящий статус. Аналогично, текущие значения счетчика таймеров T2 и T3 отображаются как 193 и 0 соответственно. Выходное значение поля математических инструкций равно 2400 и также показано красным текстом. Цветовое выделение компонентов лестничной диаграммы работает, конечно, только тогда, когда компьютер, на котором работает программное обеспечение для редактирования программы, подключен к ПЛК и ПЛК находится в режиме «запуска» (и функция «показать статус» программного обеспечения для редактирования включена). ). В противном случае лестничная диаграмма представляет собой не что иное, как черные символы на белом фоне. Подсветка состояния не только очень полезна при отладке программ ПЛК, но также служит неоценимой диагностической цели, когда технический специалист анализирует программу ПЛК, чтобы проверить состояние реальных устройств ввода и вывода, подключенных к ПЛК. Это особенно актуально, когда статус программы просматривается удаленно через компьютерную сеть, что позволяет обслуживающему персоналу исследовать системные проблемы, даже не находясь рядом с ПЛК!
  10. Программируемые логические контроллеры предназначены для ввода различных типов сигналов (дискретных, аналоговых), выполнения алгоритмов управления на этих сигналах, а затем вывода сигналов в ответ на процессы управления. Сам по себе ПЛК обычно не имеет возможности отображать значения сигналов и переменные алгоритма операторам-человекам. Техник или инженер, имеющий доступ к персональному компьютеру и необходимому программному обеспечению для редактирования программы ПЛК, может подключиться к ПЛК и просматривать состояние программы «онлайн» для мониторинга значений сигналов и состояний переменных, но это непрактичный способ для эксплуатационного персонала. для регулярного мониторинга того, что делает ПЛК. Чтобы операторы могли отслеживать и корректировать параметры внутри памяти ПЛК, нам нужен другой тип интерфейса, позволяющий читать и записывать определенные переменные без ущерба для целостности ПЛК, предоставляя слишком много информации или позволяя любому неквалифицированному лицу изменять программу. сам. Одним из решений этой проблемы является специальный компьютерный дисплей, запрограммированный для обеспечения избирательного доступа к определенным переменным в памяти ПЛК, обычно называемый человеко-машинным интерфейсом или HMI. HMI могут принимать форму компьютеров общего назначения («персональных»), на которых установлено специальное графическое программное обеспечение для взаимодействия с ПЛК, или компьютеров специального назначения, предназначенных для установки на лицевой панели из листового металла и не выполняющих никаких задач, кроме интерфейса оператора-ПЛК. . На этой первой фотографии показан пример обычного персонального компьютера (ПК) с установленным на нем программным обеспечением HMI: Показанный здесь дисплей предназначен для мониторинга примера процесса вакуумной кач-адсорбции (VSA) для очистки кислорода, извлеченного из окружающего воздуха. Где-то ПЛК (или совокупность ПЛК) контролирует и контролирует этот процесс VSA, а программное обеспечение HMI действует как «окно» в память ПЛК для отображения соответствующих переменных в форме, удобной для интерпретации операционным персоналом. Персональный компьютер, на котором установлено это программное обеспечение HMI, подключается к ПЛК через цифровые сетевые кабели, например Ethernet. Примечание. Раньше для панели интерфейса оператора использовался термин «человеко-машинный интерфейс» или «MMI». На следующей фотографии показан пример специальной панели HMI, разработанной и изготовленной специально для использования в промышленных условиях: Эти панели HMI на самом деле представляют собой не что иное, как «защищенные» персональные компьютеры, построенные прочно и в компактном формате, чтобы облегчить их использование в промышленных средах. Большинство промышленных панелей HMI оснащены сенсорными экранами, позволяющими операторам нажимать кончиками пальцев на отображаемые объекты для переключения экранов, просмотра деталей отдельных частей процесса и т. д. Техники и/или инженеры программируют дисплеи HMI для чтения и записи данных через цифровую сеть в один или несколько ПЛК. Графические объекты, расположенные на экране дисплея HMI, часто имитируют реальные индикаторы и переключатели, чтобы обеспечить знакомый интерфейс для оперативного персонала. Например, объект «кнопка» на лицевой панели панели HMI будет настроен на запись одного бита данных в ПЛК, аналогично реальному переключателю, записывающему один бит данных во входной регистр ПЛК. Современные панели и программное обеспечение HMI почти исключительно основаны на тегах: каждый графический объект на экране связан как минимум с одним именем тега данных, которое, в свою очередь, связано с точками данных (битами или словами) в ПЛК посредством тега. файл базы данных имен, находящийся в HMI. Графические объекты на экране HMI либо принимают (читают) данные из ПЛК для предоставления полезной информации оператору, либо отправляют (записывают) данные в ПЛК из ввода оператора, либо и то, и другое. Задача программирования устройства HMI состоит из создания базы данных имен тегов, а затем рисования экранов, иллюстрирующих процесс с таким уровнем детализации, который потребуется операторам для его запуска. Здесь показан пример снимка экрана таблицы базы данных имен тегов для современного HMI: Доступ к базе данных имен тегов и ее редактирование осуществляется с помощью того же программного обеспечения для создания графических изображений в HMI. В этом примере вы можете увидеть несколько имен тегов (например, КНОПКА ПУСКА, ТАЙМЕР РАБОТЫ ДВИГАТЕЛЯ, СООБЩЕНИЕ ОБ ОШИБКЕ, СКОРОСТЬ ДВИГАТЕЛЯ), связанных с точками данных в памяти ПЛК (в этом примере адреса ПЛК показаны в формате регистра Modbus). Во многих случаях редактор имен тегов сможет отображать соответствующие точки памяти ПЛК таким же образом, как они отображаются в программном обеспечении редактора программирования ПЛК (например, I:5/10, SM0.4, C11 и т. д.). Важная деталь, которую следует отметить при отображении базы данных имен тегов, — это атрибуты чтения/записи каждого тега. Обратите особое внимание на то, что четыре из показанных тегов доступны только для чтения: это означает, что HMI имеет разрешение только на чтение значений этих четырех тегов из памяти ПЛК, но не на запись (изменение) этих значений. Причина этого в случае с этими четырьмя тегами заключается в том, что эти теги относятся к точкам входных данных ПЛК. Например, тег START PUSHBUTTON относится к дискретному входу в ПЛК, на который подается питание от реального кнопочного переключателя. Таким образом, эта точка данных получает свое состояние от подачи питания на клемму дискретного входа. Если бы HMI было предоставлено разрешение на запись для этой точки данных, скорее всего, возник бы конфликт. Предположим, что на входную клемму ПЛК было подано напряжение (бит START PUSHBUTTON установлен в состояние «1»), и HMI одновременно попытался записать состояние «0» в тот же тег. Один из этих двух источников данных выиграет, а другой проиграет, что может привести к неожиданному поведению программы ПЛК. По этой причине точки данных в ПЛК, связанные с реальными входами, всегда должны быть ограничены разрешением «только для чтения» в базе данных HMI, чтобы HMI не мог создать конфликт. Однако вероятность конфликта данных существует и для некоторых других точек базы данных. Хорошим примером этого является бит MOTOR RUN, который в программе ПЛК сообщает реальному двигателю о необходимости работы. Предположительно, этот бит получает данные из катушки в программе лестничных диаграмм ПЛК. Однако, поскольку он также присутствует в базе данных HMI с разрешением на чтение/запись, существует вероятность того, что HMI перезапишет (т. е. приведет к конфликту) этот же бит в памяти ПЛК. Предположим, кто-то запрограммировал переключаемый экранный объект «кнопка» в HMI, связанный с этим тегом: нажатие этой виртуальной «кнопки» на экране HMI попытается установить бит (1), а повторное нажатие попытается сбросить бит (0 ). Однако, если в этот же бит записывается катушка в программе ПЛК, существует явная вероятность того, что объект «кнопка» ЧМИ и катушка ПЛК будут конфликтовать: кто-то пытается сообщить биту значение «0», в то время как другой пытается сообщить этому биту значение «1». This situation is quite similar to the problem experienced when multiple coils in a Ladder Diagram program are addressed to the same bit. The general rule to follow here is never allow more than one element to write to any data point. In my experience teaching PLC and HMI programming, this is one of the more common errors students make when first learning to program HMIs: they will try to have both the HMI and the PLC writing to the same memory locations, with weird results. One of the lessons you will learn when programming large, complex systems is that it is very beneficial to define all the necessary tag names before beginning to lay out graphics in an HMI. The same goes for PLC programming: it makes the whole project go faster with less confusion if you take the time to define all the necessary I/O points (and tag names, if the PLC programming software supports tag names in the programming environment) before you begin to create any code specifying how those inputs and outputs will relate to each other. Maintaining a consistent convention for tag names is important, too. For example, you may wish to begin the tag name of every hard-wired I/O point as either INPUT or OUTPUT (e.g. INPUT PRESSURE SWITCH HIGH, OUTPUT SHAKER MOTOR RUN, etc.). The reason for maintaining a strict naming convention is not obvious at first, since the whole point of tag names is to give the programmer the freedom to assign arbitrary names to data points in the system. However, you will find that most tag name editors list the tags in alphabetical order, which means a naming convention organized in this way will present all the input tags contiguously (adjacent) in the list, all the output tags contiguously in the list, and so on. Another way to leverage the alphabetical listing of tag names to your advantage is to begin each tag name with a word describing its association to a major piece of equipment. Take for instance this example of a process with several data points defined in a PLC control system and displayed in an HMI: If we list all these tags in alphabetical order, the association is immediately obvious: Exchanger effluent pump Exchanger effluent temp out Exchanger preheat pump Exchanger preheat temp in Exchanger preheat valve Reactor bed temp Reactor feed flow Reactor feed temp Reactor jacket valve As you can see from this tag name list, all the tags directly associated with the heat exchanger are located in one contiguous group, and all the tags directly associated with the reactor are located in the next contiguous group. In this way, judicious naming of tags serves to group them in hierarchical fashion, making them easy for the programmer to locate at any future time in the tag name database. You will note that all the tag names shown here lack space characters between words (e.g. instead of “Reactor bed temp”, a tag name should use hyphens or underscore marks as spacing characters: “Reactor bed temp”), since spaces are generally assumed by computer programming languages to be delimiters (separators between different variable names). Like programmable logic controllers themselves, the capabilities of HMIs have been steadily increasing while their price decreases. Modern HMIs support graphic trending, data archival, advanced alarming, and even web server ability allowing other computers to easily access certain data over wide-area networks. The ability of HMIs to log data over long periods of time relieves the PLC of having to do this task, which is very memory-intensive. This way, the PLC merely “serves” current data to the HMI, and the HMI is able to keep a record of current and past data using its vastly larger memory reserves. If the HMI is based on a personal computer platform (e.g. Rockwell RSView, Wonderware, FIX/Intellution software), it may even be equipped with a hard disk drive for enormous amounts of historical data storage. Some modern HMI panels even have a PLC built inside the unit, providing control and monitoring in the same device. Such panels provide terminal strip connection points for discrete and even analog I/O, allowing all control and interface functions to be located in a single panel-mount unit.
  11. Это полное руководство по релейной логике ПЛК для управления частотно-регулируемым приводом (ЧРП) для управления скоростью двигателя с выбором скорости с полевой локальной панели или с помощью графики SCADA. Этапы выполнения: Подготовьте чертеж управления и мощности. Ввод в эксплуатацию и программирование параметров в VFD Подготовьте программу ПЛК Подготовить проект SCADA Как управлять ЧРП с помощью ПЛК? Схема управления и питания Ввод в эксплуатацию и программирование параметров в VFD Ввод в эксплуатацию необходим для правильной работы ЧРП. Необходимые параметры, такие как данные паспортной таблички двигателя, входное напряжение, тип двигателя, частота, следует ввести в ЧРП во время быстрого ввода в эксплуатацию. После успешного быстрого ввода в эксплуатацию пришло время выполнить расширенный ввод в эксплуатацию. Этот ввод в эксплуатацию необходим для получения подробной информации обо всех цифровых и аналоговых входах и выходах, например Информация о цифровых входах команды «Пуск» и команды «Выбор скорости». Информация о цифровых выходах, например, статус работы привода, отказ привода и т. д. Информация об аналоговых входах, таких как вход скорости 1 и вход скорости 2. Информация об аналоговых выходах, таких как ток и частота двигателя Программа ПЛК Сеть 1: В этой Сети 1 мы проверяем, готов ли ЧРП к запуску. Этот сигнал поступит, когда все условия в норме, а также активны обратные связи безопасности и питания. Сеть 2: В сети 2 при нажатии кнопки запуска будет установлен бит VFD Drive_DO, если там есть Ready_to_Start и No Error. Сеть 3: Это логика остановки. При нажатии кнопки остановки происходит сброс бита Drive_DO. Сеть 4: В этой сети 4 эта логика необходима для обеспечения безопасности, как только будет установлен бит Drive_DO, и если в каком-либо случае ЧРП не будет работать из-за какой-либо неисправности, то после заранее определенного времени ожидания, здесь мы рассматривали его как Run_FB_Time, он сбросит бит Drive_DO и генерировать ошибку. Эту ошибку вы можете подтвердить из SCADA после устранения ошибки на месте. Сеть 5: В этой сети 5, если ЧРП потребляет больший ток и выдает ошибку перегрузки, он сбрасывает бит Drive_DO и генерирует ошибку. Эту ошибку вы можете подтвердить из SCADA после устранения ошибки на месте. Сеть 6: Это цифровой выход выбора скорости. Если вы выбираете вход скорости как локальный, то он не активирует бит выбора скорости, в результате чего Speed_DO отсутствует, а если вы выбираете вход скорости как удаленный, то он активирует бит выбора скорости, в результате чего присутствует Speed_DO. СКАДА-проектирование Нормальное состояние Это нормальное состояние мотора. Ошибок нет, бит готовности также находится в нормальном состоянии. Также выбор скорости осуществляется в ЛОКАЛЬНОМ режиме. Текущее состояние Это состояние показывает, что бит готовности имеет высокий уровень и двигатель работает без каких-либо ошибок. Состояние ошибки Имеется высокий бит ошибки, и двигатель также показывает состояние ошибки. Примечание : В некоторых отраслях желтый цвет также используется для обозначения состояния ошибки. Красный цвет используется для обозначения состояния остановки двигателя.
  12. 在此高级 PLC 程序中,基于 PLC 的产品分拣机系统用于使用升降机根据尺寸分离零件来运送不同的产品。 这里有三个基于尺寸的位置,如小、中、大。传送带用于传送产品并将其放置在托盘上。 基于 PLC 的产品分拣机系统 以下模拟显示了使用升降机操作的 PLC 分拣系统。 输入和输出 类型 设备编号 设备名称 操作 输入 X0 检测到零件时, 上部 ON。 输入 X1 升降机处于较低位置时, 中部 ON。 输入 X2 检测到零件时, 下部 ON。 输入 X3 检测到零件时, 升降机上部 ON。 输入 X4 升降机处于中间位置时, 下部升降位置 ON。 输入 X5 升降机处于中间位置时, 中部升降位置 ON。 输入 X6 零件在升降机上时, 上部升降位置 ON。 输入 X10 检测到零件在左端时, 传感器开启。 输入 X11 检测到零件在左端时, 传感器开启。 输入 X12 检测到零件在右端时, 传感器开启。 输入 X13 检测到零件在左端时, 传感器开启。 输入 X14 检测到零件在右端时, 传感器开启。 输入 X15 升降机处于上部位置时, 传感器开启。 输出 Y0 供给指令 Y0 为 ON 时,供给一个零件:金属圆筒按 S、L、M、L、M、S 的顺序重复。 输出 Y1 输送机前进 当在右端检测到部件时 ON。 输出 Y2 提升指令 Y2 为 ON 时,升降机上升。Y2 为 OFF 时,升降机停止。 输出 Y3 升降指令 当Y3接通时,电梯下降。当Y3为OFF时,电梯停止。 输出 Y4 升降旋转指令 当 Y1 为 ON 时,传送带向前移动。 输出 Y5 下输送机向前 当 Y4 为 ON 时,升降机旋转,将零件传送到传送带上。当Y4为OFF时,升降机旋转回原位。 输出 Y6 中间输送机向前 当 Y5 为 ON 时,输送机向前移动。 输出 Y7 上输送机向前 当 Y6 为 ON 时,传送带向前移动。 程序说明 整个系统由两个组件组成:常规控制和升降机管理。 常规控制: 激活操作面板上的 PB1 (X20) 按钮可启动料斗的供应命令 (Y0)。停用 PB1 (X20) 按钮可关闭供应命令 (Y0)。激活供应命令 (Y0) 后,料斗将输送零件。 控制面板上的 SW1 (X24) 激活时,传送带开始移动。相反,SW1 (X24) 停用时,传送带停止移动。 传送带左侧的传感器 X10、X12 或 X14 检测到零件后,相应的传送带启动,将零件运送到右端托盘。零件经过传送带右侧的传感器 X11、X13 或 X15 后三秒钟,传送带停止。 传送带上不同尺寸(大、中、小)的零件按上部(X0)、中部(X1)和下部(X2)传感器的输入进行分类。 升降机管理: 一旦升降机中升降传感器(X3)上的零件被激活,零件将根据其尺寸被输送到以下传送带之一: 大型零件:导向上部传送带 中型零件:导向中型传送带 小型零件:导向下部传送带 根据升降机的位置管理提升(Y2)和下降(Y3)的命令,由以下传感器检测: 上部:X6 中部:X5 下部:X4 零件从升降机转移到传送带后,启动升降机旋转命令(Y4)。 零件转移后,升降机返回其初始位置并保持待命状态。 PLC 逻辑
  13. 舞台控制的 PLC 程序提供幕布的打开和关闭,以及舞台的升降。它提供两种操作模式:自动和手动。 舞台控制的 PLC 程序 下面的模拟显示了 PLC 在舞台控制应用中的使用情况。 这是一个实用项目,我们必须自动打开和关闭舞台幕布,也可以使用按钮手动打开和关闭。传感器用于检测不同点的左右幕布的位置。 打开幕布后,舞台将向上移动并升至顶部位置。同样,当幕布关闭时,中央舞台将向下移动。还将使用下限和上限传感器跟踪舞台位置。 PLC 设备列表 下表列出了此 PLC 程序中的所有输入和输出。 类型 设备编号 设备名称 操作 输入 X0 内部(左幕布 幕布处于一半时为 ON。 输入 X1 幕布完全关闭时 ON 幕布完全打开时 ON。 输入 X2 外侧(左幕布) 幕布完全关闭时 ON。 输入 X3 内侧(右幕布) 幕布打开一半时 ON。 输入 X4 中间(右幕布) 幕布完全打开时 ON。 输入 X5 外侧(右幕布) 舞台到达下限时 ON。 输入 X6 舞台上限 Y2 ON 时舞台向上移动。Y2 OFF 时舞台停止。 输入 X7 舞台下限 舞台到达上限时 ON。 输出 Y0 幕布打开命令 Y0 ON 时幕布打开。Y0 OFF 时幕布停止。 输出 Y1 幕布关闭命令 Y1 ON 时幕布关闭。Y1 OFF 时幕布停止。 输出 Y2 舞台上升 Y2 ON 时舞台上升。Y2 OFF 时舞台停止。 输出 Y3 舞台下降 Y3 ON 时舞台向下移动。Y3 OFF 时舞台停止。 输出 Y5 蜂鸣器 Y5 开启时发出声音(屏幕上的灯亮起)。 程序说明 PLC 程序控制舞台设置,包括打开/关闭幕布和升高/降低舞台。 此 PLC 程序的目的是便于控制一系列舞台设置,包括打开和关闭幕布以及升高和降低舞台本身等任务。为了满足不同的偏好和要求,该程序提供了两种不同的操作模式:自动和手动。 自动操作 按下操作面板上的“开始”按钮 (X16) 时,蜂鸣器 (Y5) 发出声音,持续时间为 5 秒。 注意:“开始” 按钮 (X16) 仅在幕布关闭且舞台位于其下限时激活。 蜂鸣器停止后,打开幕布 (Y0) 的命令被激活。幕布将继续打开,直到达到输入信号 X2 和 X5 定义的外部极限。 一旦幕布完全打开,当“舞台上升”命令 (Y2) 被激活时,舞台开始上升。舞台将继续向上移动,直到达到其上限,如输入信号 X6 所示。 按下操作面板上的“结束”按钮 (X17) 可启动幕布的关闭。关闭幕布的命令 (Y1) 被激活,幕布将关闭,直到达到由输入信号 X0 和 X3 定义的内部限位。 手动操作 以下操作仅在上述自动操作未激活时可用。 可以通过按下操作面板上的“幕布打开”按钮 (X10) 打开幕布。一旦幕布达到其外部限位 (X2 和 X5),幕布将停止。 可以通过按下操作面板上的“幕布关闭”按钮 (X11) 关闭幕布。幕布将继续关闭,直到达到其内部限位 (X0 和 X3)。 按下操作面板上的“⬆舞台上升”按钮(X12)可使舞台上升。舞台到达上限(X6)后停止。 按下操作面板上的“⬇舞台下降”按钮(X13)可使舞台下降。舞台到达下限(X7)后停止。 操作面板上的指示灯将相应地亮起或熄灭,提供有关幕布和舞台操作状态的视觉反馈。 PLC 编程
  14. PLC 编程用于控制传送带方向:根据检测到的零件尺寸促进正向或反向移动。识别每个零件的尺寸并确保其分配到指定位置。 高级 PLC 传送带控制 当操作员按下按钮时,料斗提供不同尺寸的物体,然后传送带和传感器用于根据物体的大小分离物体。 推进器用于分离两种不同尺寸的物体。传送带可以向前和向后移动,以根据其专用的存储托盘放置物体。 机器人用于拾取和放置中型盒子中的物体。 下面的模拟显示了具有不同盒子尺寸的 PLC 传送带模拟。 PLC 输入和输出 下表列出了此 PLC 项目的输入和输出。 类型 设备编号 设备名称 操作 输入 X0 上 当检测到零件时亮起。 输入 X1 中间 当检测到零件时亮起。 输入 X2 降低 当机器人处于起始点时亮起。 输入 X3 检测部分 当检测到零件位于推杆前面时,ON。 输入 X4 初始点 当 Y1 为 ON 时,传送带向前移动。 输入 X5 桌子上的零件 当零件位于桌子上时亮起。 输入 X6 机器人操作完成 当检测到零件处于倾斜状态时打开。 输入 X7 传感器 当在右端检测到部件时 ON。 输入 X10 传感器 当在左端检测到部件时 ON。 输入 X11 传感器 当在右端检测到部件时 ON。 输入 X12 传感器 机器人动作结束时 ON。 输出 Y0 供给指令 当 Y0 为 ON 时,供应一份零件:木制零件按 L、M、S、M、S、L 的顺序重复。 输出 Y1 输送机前进 当 Y2 为 ON 时,传送带向前移动。 输出 Y2 输送机前进 当 Y3 为 ON 时伸出,当 Y3 为 OFF 时缩回。推杆不能在行程中途停止。 输出 Y3 推手 当 Y4 为 ON 时,机器人将零件移动到托盘。一个过程循环开始。 输出 Y4 卸载命令 当 Y5 为 ON 时,输送机向前移动。 输出 Y5 输送机前进 当 Y6 为 ON 时,输送机向后移动。 输出 Y6 输送机反向 当 Y6 为 ON 时,输送机向后移动。 程序说明 按下控制面板上的按钮 PB1 (X20) 时,它会激活料斗的供应命令 (Y0)。一旦释放按钮 PB1,供应命令就会停用。每当执行供应命令时,机器人就会分配零件。 当控制面板上的开关 SW1 (X24) 激活时,传送带开始向前移动。一旦停用 SW1,传送带就会停止。 传送带将大、中、小零件(分别由上部 (X0)、中部 (X1) 和下部 (X2) 传感器分类)运送到指定的托盘。 大部件:导向下部传送带并传送到右侧的托盘。 中部件:由机器人传送到托盘。 小部件:导向下部传送带并传送到左侧的托盘。 当检测部件传感器 (X3) 激活时,传送带停止,大部件或小部件导向下部传送带。 注意:当推杆的启动命令打开时,它会完全伸出。当启动命令关闭时,推杆会完全缩回。 当机器人中的工作台上部件 (X5) 传感器激活时,卸载命令 (Y4) 被启用。当机器人操作完成 (X6) 传感器被激活(当部件放置在托盘上时激活),卸载命令 (Y4) 被停用。 只要控制面板上的开关 SW2 (X25) 处于 ON 状态,在以下情况下就会自动供应新零件: 当机器人开始处理中型零件时 当将小型或大型零件放入托盘时 PLC 编程传送带正反转控制
  15. 计数器是 PLC 编程中非常重要的指令。几乎每个逻辑都需要它。无论是计数某物还是计数事件,计数器都是 PLC 编程的重要组成部分。 因为事件计数在许多应用程序中都有使用,它可以帮助 PLC 程序员节省编写繁琐代码的时间。但是,很多时候,如果计划不起作用,总是需要找到备用解决方案。 对于计数器,如果 PLC 程序员无法正常工作,他们也必须知道备用逻辑。为此,可以组合和编写两个指令 - 移动和添加。 在这篇文章中,我们将学习如何使用移动和添加指令在 PLC 编程中设计计数器。 计数器 首先,我们将看到计数器指令的编写方式。请参阅下图。如您所见,计数器有三个输入 - 计数、重置和设置值;并有两个输出 - 完成和当前值。 需要一个计数输入来为计数器提供计数脉冲,需要一个复位输入来复位计数器,并且需要一个设定值来为计数器提供设定的计数。完成输出用于表示计数器已完成计数,当前值显示计数器到目前为止已计数的当前计数值。 当收到计数输入时,计数器会增加一个值。计数输入以脉冲为基础工作,而不是连续工作。当计数器达到其设定的计数时,输出完成位继续。 然后关闭它的唯一方法是给出复位输入。计数值将在此输入上变为零,计数器因此复位。需要注意的是,即使计数已达到并且您仍然给出计数输入,那么计数也会继续递增。 您还可以看到在计数器输出之后使用了一个比较块,这允许它传递到要打开的最后一位。如果设定的计数为零,这可以防止最后一位不必要地打开。 使用移动指令在 PLC 中设计计数器 现在,我们将了解如何借助移动和添加指令编写相同的代码。请参阅下图。在第一个梯级中,计数输入被添加指令替换。 如果输入条件为真,则会发生加法,并且还会使用脉冲。必须使用脉冲,否则,将持续进行加法,并且无法对其进行控制。 在第二个梯级中,它比较是否已达到设定的计数。它还检查设定的计数是否大于零。 如果这些条件为真,则输出打开。在第三个梯级中,在收到相应的输入后,计数器值变为零。 这相当于重置输入的操作。这三个梯级足以复制计数器的功能。您可以根据需要使用计数器或此 PLC 逻辑。但是,需要注意的是,我们也可以通过这种方式编写计数器。 这样,我们就了解了如何使用移动和添加指令在 PLC 编程中编写计数器。
  16. leikang

    如何更新 PLC 的固件版本?

    在上一篇文章中,我们讨论了 PLC 的固件版本以及如何处理由于 TIA Portal 中的项目与实际 PLC 之间的固件不匹配而可能发生的错误。在本文中,我们将展示如何更新 PLC 的固件版本。 内容: 什么是固件版本? 为什么固件版本会给我带来麻烦? 如何知道硬件 PLC 的固件版本? 如何处理固件版本错误? 如何更新 PLC 的固件版本? 结论。 什么是固件版本? 正如我们在上一篇文章中所解释的那样,PLC 或 PLC 模块(IO、通信模块等)的固件只是安装在 PLC 中的内部软件,它负责硬件的实际功能。 具有较旧固件版本的 PLC 将具有比较新固件版本的 PLC 更少的功能和内部能力。 图片 1 和 2 向您展示了安装不同固件版本后,同一硬件 PLC 的功能和性能如何不同。 图片 1. 固件版本 V4.0 图片 2. 固件版本 V4.4 您可以看到,只需更新到更高的固件版本,CPU 现在就拥有了更多功能。使用更高的固件 V4.4,CPU 现在在其性能能力中添加了 OPC UA 等功能。 为什么固件版本会导致问题? 您将根据以下两点之一在 TIA Portal 中选择 PLC: 您已经购买了硬件 PLC,因此您将选择与 TIA Portal 项目中实际拥有的相同的 PLC。 您还没有购买 PLC,因此您将在 TIA Portal 中选择符合您要求的 PLC,然后稍后再购买。 无论是哪种情况,如果 TIA Portal 项目中选择的 PLC 固件版本与实际硬件的固件版本不同,您就会遇到问题。在某些 PLC 中,您的程序甚至不会下载到硬件 PLC 中。 因此,您应始终确保实际 PLC 的固件版本与 TIA Portal 中选择的 PLC 相匹配。 值得一提的是,如果 TIA Portal 中选择的固件版本比实际 PLC 旧,您的程序不会出现任何问题,您将失去一些 PLC 特性和功能,但您的程序将正常工作。 如果情况相反,则会出现问题,如果 TIA Portal 中选择的固件版本比实际 PLC 新,那么您就会遇到问题。 这就是为什么如果您不知道硬件的固件版本,则应在 TIA Portal 项目中选择旧版本的原因。 如何知道硬件 PLC 的固件版本? 我们可以通过以下两种方法之一了解硬件 PLC 的固件版本: 从 PLC 本身: 任何 PLC 或 PLC 模块的固件版本始终写在硬件设备的某个位置。 从 TIA Portal 软件: 使用 TIA Portal 软件,您可以将 PLC 连接到 TIA Portal 并搜索设备,然后您可以找到硬件设备的固件版本。我们在上一篇文章中展示了如何做到这一点。 如何处理固件版本错误? 如果实际硬件 PLC 的固件版本比 TIA Portal 项目中选择的 PLC 版本旧,这将导致固件错误,为了解决这些错误,我们可以尝试以下方法之一: 我们可以选择 TIA Portal 项目中的 PLC 与实际 PLC 具有相同或更旧的固件版本。我们在上一篇文章中展示了这一点。 我们可以将实际硬件 PLC 的固件版本更新为比项目中选择的固件版本更高的固件版本,或者至少更新为相同的固件版本。这就是本文的范围。 如何更新 PLC 的固件版本? 您可以通过两种方式更新 PLC 的固件版本: 使用 TIA Portal 在线更新。 使用西门子存储卡 SMC 离线更新。 使用 TIA Portal 在线更新固件: 您无需在 TIA Portal 中打开现有项目,只需安装 TIA Portal 软件并将 PLC 连接到 PC 即可。参见图 3。 图 3. 打开 Tia Portal 而不创建新项目。 打开 TIA Portal 后,进入在线访问,选择 PLC 和 PC 之间合适的通信适配器,然后按“更新可访问设备”搜索 PLC。见图 4。 图 4. 查找您的 PLC。 找到 PLC 后(如上图所示),打开 PLC 文件夹,按“在线和诊断”查看 PLC 固件版本。见图 5。 图 5. PLC 的当前固件版本。 现在,要更新固件版本,请按“固件更新”属性。见图 6。 图 6. 固件更新页面。 如您所见,当您按“固件更新”属性时,您可以看到当前固件更新为 V4.1.3,还可以查看固件加载器,您可以在其中浏览要安装的固件版本。 当然,首先您的 PC 上必须有固件版本,这意味着我们需要下载固件版本。要下载固件版本,您应该登录西门子帐户,如果您没有帐户,您可以轻松创建一个新帐户,但需要 1 到 2 天才能激活。 之后,您可以搜索 PLC 的固件版本。在我们的例子中,我们有一个 S7-1200 CPU 1214C AC/DC/RLY,我们将使用其文章编号搜索其固件版本。见图 7。 图 7. 搜索 PLC 的固件版本。 之后下载您要安装的固件版本,在我们的例子中,我们想将我们的 PLC 更新到 V4.4.0,因此我们将此版本下载到我们的 PC。参见图 8。 图 8. 下载 V4.4.0 下载的文件将是一个 zip 文件,您应该解压文件以获取固件版本数据文件,然后返回到固件加载器属性并单击浏览以搜索固件版本。参见图 9。 图 9. 搜索固件版本文件。 不要担心在此步骤中犯错,因为如果固件版本与 PLC 不兼容,您将无法运行更新。参见图 10。 图 10. 如果固件不匹配,更新将无法继续。 如您所见,当我们尝试将 1215C CPU 的固件版本上传到带有 11214C CPU 的 PLC 中时,它给出了一个错误,即该文件不适合 PLC。 现在,再次单击浏览,但这次搜索正确的固件版本。参见图片 11。 图片 11。固件版本正确时没有错误消息。 如您所见,当我们选择合适的固件版本时,没有错误消息,我们现在可以按 “运行更新” 开始更新我们的 PLC。 一旦您开始更新过程,就会出现固件更新窗口,如果更新顺利,最后会出现一条成功消息。参见图片 12 和 13。 图片 12。固件更新正在运行。 图片 13。固件更新成功完成。 现在固件版本已更新,请重新按“更新可访问设备”并检查 PLC 固件版本来刷新您的通信。 您会发现 PLC 的固件版本现在是 V.4.4.0,而不是 V4.1.3,这意味着我们成功更新了 PLC 的固件版本。参见图片 14。 图片 14。固件已更新至 V4.44.0 这就是我们使用 TIA Portal 更新 PLC 固件版本的方法。 离线使用西门子存储卡 SMC: 另一种更新 PLC 固件的方法是使用西门子存储卡 SMC。 为此,我们只需下载要使用的固件版本,然后将固件版本从 PLC 复制到 SMC,然后将 SMC 插入 PLC 中的专用插槽。下次打开 PLC 时,固件将被更新。 结论 您可以使用 TIA portal 软件或西门子 SMC 存储卡更新固件版本。 确保您选择的固件版本完全正确,如果 PLC 和 TIA Portal 之间不匹配,则更新将无法启动。
  17. 在上一篇文章中,我们讨论了 PID 是什么,还解释了 PID 的不同参数以及系统对更改这些参数将如何反应。在本文中,我们将展示如何在 TIA Portal 项目中编程、配置和调整 PID。 内容: 如何将 PID 添加到您的逻辑中? 如何配置 PID? 基本设定过程值设定 高级设置 如何进行 PID 整定? PID 预整定 微调 PID 的整定方法有哪些? 如何将 PID 添加到您的逻辑中? 在 TIA Portal 和几乎所有其他 PLC 平台中,您无需对 PID 控制器进行编程,因为 TIA Portal 已经具有用于 PID 的内置块。要将 PID 添加到您的逻辑中,您只需将 PID 块拖放到您的代码中,然后开始为您的系统配置它。 将 PID 添加到代码中非常简单,但是,有一个非常重要的点您应该考虑。这是你的 PID 的执行间隔。 如您所知,主执行周期发生在主循环 OB1 内部,OB1 的周期时间取决于很多因素,例如代码的长度、代码中的数学计算以及循环和序列,所有这些 不同的因素会导致 OB1 的周期时间不仅可能会变长,而且每个周期都会有所不同,具体取决于您所使用的编码。 这意味着,如果您在主 OB1 内调用 PID 块,则 PID 执行将取决于 OB1 的循环时间,而这不是最佳实践方法。 PID 通常用于控制压力、温度或速度等物理参数,这意味着您的控制器需要非常快速地找出过程值的任何变化,并采取快速反应来抵消这种变化,并为您提供平稳稳定的结果 PID 应该具有的控制。所以如果 PID 加在主 OB1 上,并且受其执行时间的影响,可能需要动作延迟,这会让你的系统不稳定。 该怎么办? 最佳实践是在循环中断 OB 中调用 PID 块,并将该循环中断的循环时间设置为您认为适合您的系统的任何值,通常在毫秒范围内,具体取决于您的应用。这意味着,如果您将循环中断设置为 1 毫秒,则无论主 OB1 周期在哪里,您的 PID 都会每毫秒调用并执行一次。 因此,为了将 PID 添加到您的逻辑中,我们首先添加一个新的循环中断 OB 并为其指定一个适当的名称。见图1。 图 1. 在您的项目中添加循环中断。 从图中可以看到我们将循环时间设置为 1000 微秒或1毫秒。所以我们的 PID 每毫秒都会被调用并执行。 现在您已将循环 OB 添加到项目中,只需拖放 PID 块即可。您可以在指令选项卡/技术/PID 控制/紧凑 PID 中找到它。见图2。 图 2. 添加 PID 块。 现在,将系统参数添加到 PID 块、输入、输出和设定值。见图3。 图 3. 分配 PID 参数。 您从上一张图片中注意到了吗,您有 2 个不同的输入和 3 个不同的输出,它们是什么? 输入: 这是您以实际物理量表示的过程参数的输入值,我们将使用我们的储罐模拟系统,因此在这种情况下,此处的输入是以升为单位的储罐填充液位。这意味着您已经在项目的其他地方进行了模拟输入缩放,并且只需向 PID 提供以升为单位的实际填充水平。 输入_PER: 这是过程参数的输入值,但来自模拟输入模块。这意味着它不会被缩放,并且它将在 0-27648 的范围内,并且输入的缩放将在 PID 内部完成。 输出: 在这种情况下,PID 将为您提供最大输出值的 0% 到 100% 范围内的控制器输出值。 输出_PER: 与 input_PER 相同,PID 将以 0-27648 的形式给出输出。 输出_PWM: 在这种情况下,PID将以ON/OFF脉冲的形式给出其输出信号,因此要么有输出,要么没有输出。ON 时输出值为 100%,OFF 时输出值为 0%。 我们将使用之前使用的相同坦克模拟系统,正如您从上图中看到的,我们使用了 Input 和 Output_PER,因为我们的模拟就是这样构建的。 如何配置 PID? 要进入 PID 的配置视图,您可以单击项目树中的配置选项卡,也可以单击 PID 块本身上方的小配置图标。见图4。 图 4. 进入配置视图。 这将带您进入功能视图,您可以在其中配置 PID 的不同设置。见图5。 图 5. 控制器类型设置。 第一个配置是控制器类型,在这里您可以选择要使用的控制类型,显示的下拉菜单中有很多选项,例如温度、压力、长度等等。 您还可以将其设置为常规,系统会将您的值视为%。在我们的系统中,我们控制水箱内的水升,因此我们将选择体积。 您还可以设置 PID 的手动/自动模式。 接下来,您要配置输入/输出参数。见图6。 图 6. 输入/输出参数。 在这里,您可以选择不同类型的输入或输出,正如我们之前所解释的。正如我们所说,我们将使用 Input 和 Output_PER。 接下来,您需要配置过程值设置。见图7。 图 7. 过程值限制。 在此步骤中,您将设置过程值的下限和上限。如果您选择输入类型。然后此设置将开放更改,并且您可以设置流程的限制。在我们的例子中,水箱限制为 0 至 50 升。所以我们将其设置为这些值。 请注意,如果您选择 Input_PER,则此设置将不可用,您只能从下一个选项卡设置进程限制。见图8。 图 8. 过程值缩放。 如果您使用 Input_PER,那么如上图所示,您可以根据 0-27648 的缩放比例设置过程值限制。 如果您想在过程值达到下限或上限时设置警告,则可以在过程值监控选项卡中进行配置。见图9。 图 9. 过程值监控。 接下来在设置列表中您将找到 PWM 限制,见图 10。 图 10. PWM 限制 在这里,您可以设置输出的最小开启和关闭时间,假设您的系统中有一个泵或阀门,PID 通过 PWM 输出进行控制,您不希望 PID 只为您的泵提供一个序列 非常快速的开/关行为,因为这可能会导致您的泵烧坏。因此,您可以通过此设置告诉 PID 在关闭泵之前将泵打开最短时间,反之亦然。 如果您没有下一个设置(输出值限制)的 PWM 输出,您可以使用 PID 进行相同的控制。见图11。 图 11. 输出值限制。 您可以控制控制输出的下限和上限,例如,您可以将下限设为 20%,这将使 PID 以至少 20% 的流量运行泵。所以你的控制范围是 20% 到 100%。 最后也是最重要的,您可以在下一个选项卡“PID 参数”选项卡的配置模式下设置 PID 参数,见图 12。 图 12. PID 参数。 如果您知道 PID 增益 P、I 和 D,或者您自己进行了调节并且您从其他地方获得了参数,您可以在此处编写 PID 增益 P、I 和 D 的调节参数。您还可以选择使用 PID 或仅使用 PI 控制器。 如果您没有这些参数,您可以在调整 PID 后自动上传它们。 如何进行 PID 整定? 现在您已完成 PID 配置,您可以从项目树中的调试选项卡轻松调整控制器。见图13。 图 13. 调试 PID 在调试页面,您的屏幕分为三个部分,上面的页面是您可以开始预调节和微调 PID 的地方。 在中间,您将有一个图形区域来显示系统的实时响应。您可以看到控制器输出和过程值。每次设定点发生变化时,您都会看到 PID 捕捉新设定点的行为。即使设定点没有改变,但例如我们的储罐供应需求增加,您也会看到 PID 反应来满足该需求,并将设定点保持在其所需值。 在第三个区域中,您将看到控制器的在线状态,并且您还可以决定 PID 的运行模式。请参见以下模拟视频,该视频显示了 TIA Portal 中 PID 的自动整定过程。 从视频中您可以看到,预调节完成后,我们的 PID 找到了最适合我们系统的 P、I 和 D 参数。您可以看到,当设定点或流出量发生变化时,控制器将非常快速地做出反应,将设定点恢复到所需的值。 现在,您只需单击按钮即可将调整参数直接上传到项目中,见图 14。 图 14. 上传您的参数。 上传参数后,您可以在配置视图的 PID 参数选项卡中找到它们。见图15。 图 15. PID 参数。 然而,下一步应该是从相同的调试视图对 PID 执行微调程序,因为我们没有真正的系统,我们只是使用数学计算来模拟水箱和泵的行为,我们可以 t 进行微调步骤。 当您拥有真实的系统时,您可以进行微调,您的 PID 将尝试找到能够为系统提供更好响应的参数,甚至消除过程值的超调并直接达到设定点。 将来,如果我们有一个真正的系统,我们可以展示它是什么样子。 PID 控制器的整定方法有哪些? 您不必使用 TIA Portal 调整 PID;有许多不同的方法可以尝试为您的系统找到最佳 PID 参数。它主要是基于反复试验的数学方法。我建议使用 TIA Portal 中的自动调整功能。 但这里有一些用于实现相同参数的方法。 启发式调整。 Ziegler-Nichols 调谐方法 Cohen-Coon 调谐方法 Kappa-Tau 调谐方法 Lambda调优方法 还有其他一些。 结论 对 PID 使用循环中断。 配置您的 PID 以最适合您的系统。 TIA Portal 中的自动调节功能非常有用且有效。
  18. leikang

    PLC 系统设计中的安全考虑

    PLC 是工业自动化中非常重要的组成部分。它是自动化的基础,每个 PLC 程序员或自动化工程师都必须正确设计它才能正常工作。这不仅仅涉及编程,还涉及最终如何设计 PLC 系统。 PLC 系统设计中的安全考虑 我们都认为,如果正确地编写了一个程序,并且所有的联锁、顺序和流程都正确,那么我们的 PLC 系统就可以使用了。但是,必须指出的是,设计任何系统时最重要的参数之一是安全性。因此,类似地,PLC 系统的设计必须考虑安全性。 在本文中,我们将了解设计 PLC 系统时的安全注意事项。 电源 这是考虑 PLC 设计时首要的参数。面板中有两种类型的电源 - 直流电源和交流电源。DC 通常为 12-24V DC,AC 通常为 110V AC 或 230V AC。 PLC 由任一电源供电,现场仪表也由任一电源供电。如果面板具有单个 SMPS 或 230V 单母线,那么设计人员就可以轻松地为系统接线。如果面板有多个电源,则您可能会错误地连接一个电源的正极线和另一个电源的负极线。这反而会使您的系统变得复杂,并使故障排除变得更加困难。因此,单个电源还可以最大限度地减少线路干扰,并防止从稳定的交流电源到电源和 CPU 的错误输入信号。 多个电源是不必要的,而且还会增加短路和频繁故障的可能性。因此,电源设计是 PLC 系统安全运行的一个非常重要的因素。 接地 众所周知,接地需要将任何泄漏电流传递到地面。这样可以防止触电、噪音和电磁干扰。工业区域标准中性点对地电压必须小于 0.5V。 1V 稍高一点是可以接受的,但如果高于此值,则意味着接地不正确,电信号发生泄漏会影响性能。PLC 电源和 IO 通道必须正确接地并连接到面板中的接地母线。 另外,仪表接地与电源接地必须分开;否则,任何接地合并都会造成短路或信号干扰。 关键数字输入信号 每个 PLC 系统都必须具有紧急停止、面板电源故障和气压等关键输入。此外,所有这些信号必须以 NC(常闭)格式连接。 急停用于操作人员按下该按钮时使系统突然停止,面板断电用于当相电源出现问题时使系统停止,气压信号表示是否需要空气来操作阀门 或其他气动输出是否正确。 如果这些输入中的任何一个失败,所有操作都应立即停止。在一些大型系统中,还观察到,如果按下紧急按钮,则不是停止整个系统,而是为各个大额定输出提供紧急停止。因此,操作员可以轻松隔离每个系统并操作其他系统,而不用停止整个系统。 手动模式联锁 程序员总是轻视手动模式逻辑。他们的动机只是打开或关闭输出。然而,必须注意的是,任何不规则的手动输出操作都会影响系统的性能。如果系统非常关键,那么它可能会对附近人员造成危及生命的问题。 因此,建议也在手动模式下应用警报或其他关键联锁装置。这可以防止操作员随意操作系统。而且,由于这种逻辑,保证了 PLC 系统的安全。 警报 控制逻辑文件中给出的所有警报通常由程序员在程序中获取。然而,PLC 程序员必须根据 PLC 中获取的 IO,在系统中提供一些额外的安全警报。 这些通常是运行反馈报警、跳闸反馈报警、超行程或欠行程报警、传感器故障报警、PLC 通道故障报警、热过载报警、恒温器报警、过压或欠压报警等。这些报警因系统而异,基于 实际投入的情况。 但是,如果这些输入中的任何一个不存在,那么建议程序员向客户提出相同的建议以供考虑。这可以防止系统以故障方式运行。 这样,我们在设计 PLC 系统时看到了一些一般性的安全考虑。
  19. 在上一篇文章中,我们讨论了什么是 UDT、如何创建用户定义数据类型 (UDT) 以及在项目中使用 UDT 的优势。在本文中,我们将展示在 PLC 编程中使用 UDT 的一种方法。 内容: 旧储罐模拟器功能块。 带 UDT 的新储罐模拟 FB。 调用新的储罐模拟 FB。 向 UDT 添加新标签。 结论。 PLC 编程中的 UDT 在我们的前几篇文章中,我们使用相同的储罐模拟器系统来解释许多概念,例如闭环控制和 PID 控制器。在本文中,我们将使用相同的储罐模拟器来展示如何在编程中使用 UDT 的概念。 旧储罐模拟器功能块 在旧的储罐模拟器系统中,我们定义了一些内部参数,以便根据需要多次重用功能块。见图1。 图1. 储罐模拟器 FB。 从图中可以看出,在功能块接口中我们定义了一些输入和一些 InOut,这些参数应该在调用 FB 时提供。 例如,如果我们调用FB来模拟储罐1,并再次调用它来代表储罐2,则需要将每个储罐的参数提供给相关的被调用功能块。见图2。 图 2. 储罐1 和储罐 2 的模拟。 您可以看到,对于每个 FB 调用,我们都必须分配相关标签。对于储罐 1 模拟,我们应该将储罐 1 的标签分配给调用的 FB。储罐 2 模拟也是如此。 带 UDT 的新储罐模拟 FB: 现在,我们想要使用我们在上一篇文章中定义的 UDT“Tank”来模拟我们的储罐。我们将创建一个新的模拟功能块。见图3。 图 3. 添加新的储罐模拟 FB。 新的模拟功能块与旧的 FB 具有相同的逻辑,但是在这个模拟功能中,我们将使用定义的 UDT“Tank”作为 InOut 内部标签,如图所示。 因此,您不再需要在 FB 接口的不同区域中声明功能块参数,而是只需一个标签即可携带罐体的所有所需信息。 调用新储罐模拟 FB: 为了调用新的模拟功能,我们选择在循环中断 OB 内调用它,以确保功能块的执行不受主逻辑 OB1 循环时间的影响,正如我们用 PID 解释的那样。 所以我们需要首先创建一个新的循环中断 OB。见图4。 图 4. 为调用储罐 3 和 4 添加循环中断。 您可以选择您认为合适的循环时间,在我们的例子中,我们将其设置为 3000 微秒或 3 毫秒。 现在,您可以将 “Tank Simulator with UDT” FB 拖放到循环中断中以调用 FB。将出现一个调用选项窗口,为 FB 数据实例提供您喜欢的任何名称。见图5。 图 5. 致电您的 FB。 调用 FB 后,您知道需要分配与要模拟的储罐相关的参数。见图6。 图 6. 将储罐参数分配给 FB 调用。 请注意,您只有一个参数需要填充该功能块。这是您创建的 UDT 标签。其中已经包含功能块所需的所有储罐参数。 我们想要模拟储罐_03,因此我们将标记分配给 FB 调用。见图7。 图 7. 拖放您的标签。 罐 3 的功能块调用看起来比使用不带 UDT 的旧模拟器 FB 调用罐 1 更简单。见图8。 图 8. 储罐 1 和储罐 3 调用差异。 你能看出两个储罐调用的区别吗? 如果没有 UDT,则必须提供功能块的所有参数。想象一下,如果您必须使用此模拟器模拟 50 辆储罐。分配所有这些参数将是非常无聊和耗时的,更不用说首先为每个储罐声明它们了。 但对于带有 UDT 的模拟器来说,您可以调用任意多个,并且不会花费太多时间或精力。见图9。 图 9. 呼叫许多其他储罐。 现在,假设您必须向模拟中添加一个新变量。例如,您想要添加流出警告信号。对于没有 UDT 的旧模拟器功能块,这意味着您必须为每个储罐声明这个新标签,并且每次调用储罐时都必须将其一一添加。 但使用 UDT,您只需要更新您创建的 UDT 并添加您想要的新标签。见图10。 图 10. 向 UDT 添加新标签。 当您对 UDT 进行任何更改时,您甚至不需要更新函数调用。由于调用参数相同,因此更改是在参数本身内部进行的。见图11。 图 11. 无需调用 FB。 但是,您仍然需要重新编译 PLC 项目或至少重新编译数据块,以便更新对 UDT 的更改。见图12。 图 12. 重新编译以更新 UDT 的更改。 编译后,对 UDT 的所有更改将自动更新到该 UDT 的所有声明标签。见图13。 图 13. 所有标签现已更新。 结论 您可以在项目中使用 UDT 来使您的编程更快、更容易理解。 使用 UDT 还可以更轻松地更改功能和功能块。
  20. leikang

    PLC 故障诊断

    当您在 PLC 系统中工作时,有必要了解 PLC 模块中发生了哪些故障。如果 PLC 程序员不明白 PLC 出现了什么故障以及如何解决它,那么他将花费很长时间来排除系统故障。 每个 PLC 及其模块上都有 LED,以便于观察和故障排除。他们的用户手册中也给出了它们的详细描述。因此,了解这些 LED 的工作原理非常重要,一旦获得它们,故障诊断对于 PLC 程序员来说就变得非常容易。 在这篇文章中,我们将学习 PLC 中故障诊断的概念。 PLC 故障诊断 让我们看一下可以通过 PLC LED 识别的一些最常见的故障类型: Run LED 用于指示模块是否正常工作。如果常亮,则说明模块工作正常。如果该 LED 熄灭,则模块有故障或关闭。 Err LED 用于指示模块是否出错。如果持续亮起,则为内部模块错误。如果闪烁,则表示模块配置不正确或者与其连接的 PLC 硬件存在问题。如果灯灭,则说明模块没有故障。 I/O LED 用于指示与模块连接的 PLC IO 的确切状态。如果持续亮起,则表示电源电压错误或短路。如果灯灭,则表示 IO 连接没有错误。 通道 LED 用于显示各个通道的状态。如果 LED 持续亮起,则表示通道工作正常。如果它闪烁,则存在一些错误(断线或值超出范围)。如果它是关闭的,则表示该通道根本没有配置。 一些通信模块(例如 Modbus RTU)具有 LED 真值表,表示相同的每个值。 PLC 中的 LED 指示 它们大多如下表所示: 注意:LED 指示可能因 PLC 型号和品牌而异。上表是市场上一种 PLC 型号的示例。 某些通信模块(例如 Modbus TCP/IP)的 LED 诊断稍微复杂。但了解它们对于故障排除非常重要。 如果运行 LED 亮起,则模块正在运行;如果 LED 熄灭,则模块停止。如果 Err LED 闪烁,则表示模块出现错误;如果闪烁,则表示模块配置不正确,或者连接的背板存在问题。 如果网络状态指示灯熄灭,则表示模块没有与任何设备通信;如果它打开,则它正在与至少一台设备通信;如果闪烁,则表示检测到重复的 IP 地址或超时错误。 这样,我们就看到了 PLC 中的一些常见故障诊断。
  21. leikang

    PLC 内存组织 – 数据文件和程序文件

    当您在 PLC 系统中工作时,您知道需要注意的最基本的事情是内存。你写了什么程序,消耗了多少内存;是决定 PLC 性能的一个非常重要的因素。为此,有必要了解 PLC 中的内存结构是如何组织和定义的。 PLC 内存组织 如果不了解内存组织,就很难预测您需要编写多少精确的程序。在这篇文章中,我们将看到 PLC 中的内存组织。PLC中的存储器主要分为两种类型——数据文件和程序文件。 数据文件 数据文件是存储器的位置,存储诸如存储器字、状态字、输入变量、输出变量、通信变量、定时器、计数器以及 PLC 制造商提供的其他内置库函数等信息。 让我们一一看看每个例子。 内存字 – 内存字是布尔变量、整型变量、双整型变量和浮点变量。假设 PLC 分配了 100 个内存变量供使用。其中仅使用 5 个变量。第一个变量是位类型,存储 0 或 1。第二个变量是整数,有符号或无符号。第三个变量也是一个整数。第四个变量是一个双整数,有符号或无符号。如果变量是双精度整数或浮点数,则它会消耗两个内存变量。因此,第五个内存变量将是一个双整数。 状态字 – 状态字存储有关 PLC 的信息。它有两种类型——状态位和状态整数。 输入变量 – 它们存储有关 PLC 数字输入和模拟输入的数据。 输出变量 – 它们存储有关 PLC 数字输出和模拟输出的数据。 通讯变量 – 它们存储有关 PLC 中使用的通讯协议的数据。它们可以是 Modbus、以太网、Can-Open 等。 除此之外,其他内置库也用于存放在数据文件内存中。它们是定时器、计数器、脉冲块等。 程序文件 顾名思义,程序文件存储有关写入的逻辑、子例程和中断的数据。这是 PLC 中内存的主要消耗部分。如果编写的 PLC 代码较多,则程序文件消耗较大,如果编写的代码较少,则程序文件消耗较少。所有逻辑,无论是梯形图、功能框图、结构化文本、顺序流程图还是指令列表,都位于程序文件存储器中。 此外,用户定义的功能块和用户定义的数据类型也包含在程序文件中。 PLC 中的存储器组织存储在内部存储器或内部和外部 SD卡中。当出现内部存储器已满的情况,需要更多数据来编写 PLC 程序时,则需要插入外部 SD 卡来扩展程序存储器。 在这种情况下,数据文件和程序文件都会被扩展。许多 PLC 都有一个在线动画窗口,它显示当前的内存使用情况。它可以在线或离线查看。这有助于更好的内存规划。
  22. leikang

    用于缺陷零件分类的高级 PLC 编程

    先进的 PLC 编程可对缺陷零件进行分类,区分好零件和坏零件,然后通过传送带进行运输。 用于缺陷零件分类的高级 PLC 编程 下面的模拟显示了使用PLC 梯形逻辑来识别好产品和坏产品并根据质量对产品进行分类。 传送带用于移动产品。当产品被传送到传送带上时以及在钻孔操作期间,传送带被启动和停止。 钻孔机用于按设计对产品进行钻孔。有时钻孔操作可能会损坏产品。 传感器检测产品的质量,并使用推料器将不良产品推入另一个存储仓。 PLC 输入和输出 下表列出了 PLC 系统所需的输入和输出。 类型 设备编号 设备名称 操作 输入 X0 钻孔 钻孔时打开。 输入 X1 零件底钻 Y0 为 ON 时提供一个部件:一个大金属立方体。 输入 X2 正确钻孔 当零件正确钻孔时打开。钻孔开始时,之前的结果将被清除。 输入 X3 钻错了 当在左端检测到部件时 ON。 输入 X4 传感器 当在右端检测到部件时 ON。 输入 X5 传感器 当在推料器前面检测到零件时打开。 输入 X10 传感器 当零件未正确钻孔时打开。钻孔开始时,之前的结果将被清除。 输出 Y0 供给指令 当 Y1 为 ON 时,传送带向前移动。 输出 Y1 输送机前进 当 Y3 为 ON 时,传送带向前移动。 输出 Y2 开始钻孔 Y2 为 ON 时开始钻孔(不可中途停止的加工循环)。 输出 Y3 输送机前进 Y5 ON 时伸出,Y5 OFF 时缩回。推杆不能在行程中途停止。 输出 Y5 推杆 Y5 ON 时伸出,Y5 OFF 时缩回。推杆不能在行程中途停止。 计划说明 该项目旨在使用传感器区分好零件和有缺陷的零件,并相应地对它们进行分类。该项目包括总体控制和演练控制两个关键领域。 整体控制 控制面板上有一个名为 PB1 (X20) 的按钮。当您按下 PB1 时,它会触发料斗的供应命令 (Y0),使其供应零件。释放 PB1 将停用供给命令,从而停止料斗。控制面板 上有一个开关 SW1 (X24) 。当您打开 SW1 时,传送带开始向前移动。关闭 SW1 会停止传送带。 钻孔控制 现在我们来讨论一下钻头的控制: 当钻头内的钻头传感器 (X1) 下方的部件被激活时,输送机停止。 当启动钻孔命令 (Y2) 激活时,钻孔过程开始。当钻孔传感器 (X0) 激活时,它会停止。 在完成一个完整的钻孔操作周期后,如果激活开始钻孔 (Y2),则会触发正确钻孔 (X2) 或钻孔错误 (X3) 传感器。 请注意,钻机在操作过程中不能停止。在此 PLC 模拟中,每三个零件中就有一个被视为有缺陷(具有多个孔的零件也属于有缺陷的类别)。 当推料器中的检测零件传感器 (X10) 识别出有缺陷的零件时,传送带停止,推料器将零件移动到“有缺陷”的托盘上。 请记住,当推动器的驱动命令打开时,它会完全伸出。当命令关闭时,推杆完全缩回。 通过检查的零件继续沿着传送带到达位于右端的“OK”托盘。 PLC 编程
  23. 这是一个 PLC 程序,用于实现对移动传送带上的物体进行计数的程序。 计数传送带上的移动物体 物体在传送带上移动。我们需要计算输送机末尾收集的对象的总数,并将其显示在本地控制面板上。 为此应用编写一个 PLC 程序。 问题图 问题方案 这里我们使用 PLC 梯形图程序来实现这个逻辑。 大多数接近传感器用于检测物体。在这里,我们安装接近传感器来检测传送带上移动的零件或物体。 电感传感器主要用于检测金属物体。对于其他类型的对象,我们使用电容接近传感器来检测传送带上移动的对象。我们将该传感器连接到 PLC,并通过使用计数器逻辑,我们将计算物体的数量并在本地控制面板显示屏上显示总数。 这里我们使用 UP 计数器来对传送带末端收集的物体进行计数。 注意: -在这里,我们考虑了计数对象的简单应用。我们考虑使用接近传感器来检测物体。接近传感器将感测物体,PLC UP计数器将对收集到的物体进行计数。 输入和输出列表 数字输入 开始:- I0.0 停止:-I0.1 接近度:- I0.2(物体检测) 计数器复位 PB:- I0.3 数字输出 循环开启:- Q0.0 内存 计数器重置:-M0.1 收集的物品总数:- MW10 用于对传送带上的物体进行计数的 PLC 梯形逻辑 梯形图逻辑解释 对于该应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。我们也可以使用其他PLC来实现这个逻辑。 网络1: 在第一个网络中,我们使用锁存电路来实现周期 ON。在这里,我们使用 Start PB(I0.0)开始周期并停止 PB(I0.1)停止周期。 网络2: PLC 计数器指令用于计算对象的数量。接近传感器安装在输送机附近。 当物体接近接近传感器(I0.2)时,它会检测到物体,并且传感器的输出变为通电或变为ON状态。 当接近传感器附近没有物体时,传感器的输出将断电或变为关闭状态。 PLC 计数器以增量方式计数。总计数对象编号将存储在存储单词或寄存器(MW10)中。 注意: -上面的应用程序可能与实际应用不同。该示例仅用于解释目的。我们也可以在其他 PLC 中实现此逻辑。这是 UP计数器的简单概念。通过使用此概念,我们可以计算在输送机或任何其他计数应用程序上移动的对象。此逻辑只是部分或仅针对特定应用程序的逻辑。 示例中考虑的所有参数仅供说明之用,实际应用中参数可能有所不同。 结果
  24. leikang

    如何排除西门子 PLC 程序故障?

    本文介绍的是 PLC 编程故障排除方法。在使用数千个输入和输出的工业 PLC 中,我们知道 PLC 程序有多长,具体取决于应用程序或工厂使用情况。 西门子 PLC 程序故障排除 有时,人们可能会在不知不觉中改变逻辑参数,从而导致故障。由于设计的复杂性,甚至在逻辑设计阶段也会产生一些错误。西门子 plc 软件有不同的方便工具可用于排除程序中产生的故障。 故障可能包括寻址重叠、多个相同的输出实例、内存位地址重叠、单个程序多次重复工作等。 为了找出此类问题,西门子软件中有四种类型的窗口可以帮助我们解决问题。 他们是: 交叉参考 调用结构 作业清单 依赖结构 让我们讨论如何在我们的程序中使用它们进行故障排除以及在软件中的何处找到它们。 交叉参考 交叉引用用于查找逻辑中使用的所有数字和模拟输入和输出。它将帮助我们了解程序中 I/O 的使用次数,并直接将用户带到逻辑页面中 I/O 的具体位置。 这是其中一个程序的示例,您可以在其中看到交叉引用表的外观。它包含所有信息,如寻址、程序语言、使用的输入和输出等。 调用结构 当您想知道编程中使用哪个块时,请使用调用结构。 这是交叉引用功能的反转,我们可以知道 OB(组织块)中使用了多少次 SFC、FB 块,这里我们可以知道 SFC 和 FB 中使用了多少次 OB。 作业清单 当要了解我们的应用程序中使用了多少输入、输出、计时器和计数器以及其中仍然剩余多少时,分配列表是一个非常有用的功能,以便我们可以在将来的逻辑中使用它们。 依赖结构 依赖结构用于显示编程中每个块的使用位置。 但在第 7 步中,它不会直接带您到位置,但在 TIA PORTAL 中,它会带您到编写程序的位置。 笔记: 要在步骤 7中打开这些窗口,请使用绘图中所示的信息。单击“显示”后,您将看到一些选项。 在 TIA PORTAL 中,按照图中所示的步骤进行操作。
  25. leikang

    如何将 PLC 与 SQL 数据库结合使用?

    在当今的工业自动化世界中,数据是非常重要的组成部分。从来源获取即时数据并将其用于不同目的与运行系统一样重要。 通常每个人都知道如何将 SCADA 与各种数据库系统集成,例如 SQL 服务器。然而,许多人忽视了PLC 在与数据库集成方面的强大功能。它们也可以用于此目的。 带有 SQL 数据库的 PLC 如果我们使用 PLC,程序员可以在 SCADA 故障等紧急情况下与它们一起工作,并通过适当的编码来完成工作。在这篇文章中,我们将了解如何将 PLC 与 SQL 数据库结合使用。 对于那些不熟悉 SQL Server 的人来说,它是一种数据库管理工具,它以实时格式顺序存储大量数据,并且通过某些外部源(例如 PLC)在其中写入查询以检索数据。 为了在其中存储数据,逻辑被写入 PLC 中,该逻辑在执行时将数据存储在 SQL 中。这是一个简单的概念,本文将对其优点进行更简要的进一步解释。 调度程序 PLC 假设您有一个非常大规模的系统,操作员每天必须提供数百个时间表来操作特定功能。无需在 PLC 中使用大量编码和变量来存储在 SCADA 中输入的数据并在时间到达后对其进行操作,只需在每次创建新配方时通过 PLC 将所有变量数据馈送到 SQL 服务器即可。 SQL 将存储输入值的实时日期和时间,并为操作员提供根据过滤的日期和时间进行选择的选项。例如,对于输入的各种类型的计划, SQL 有从 10 月 1日到 10 月 5 日的五个条目。这样做的好处是操作员可以选择所需的任何一项然后运行系统。 如果 SQL 不存在,他将只需要运行 10 月 1日或任何其他日期中的一个选项。否则,他将不得不利用 SCADA 或 PLC 的内存,这浪费了数据和编码。通过 SQL Server,同样的事情变得更容易。 另一个优点是 SCADA 代码大小减小,并且可以用于其他目的。调度在许多应用中都有使用,使用 PLC 和 SQL 可以使系统更加高效。 测序 考虑有 10 个序列的植物。每个序列都有一个条形码阅读器,用于启动对所需产品的操作。如果在 SCADA 中读取条码,则将相应的数据馈送到 PLC,简而言之,SCADA 是发起 PLC 与数据之间通信的中间干预;然后直接用SQL连接PLC即可。 SQL 将直接与 PLC 通信,以确定用于启动或停止序列的条形码和其他数据。来自工厂序列的大量数据有助于减少 SCADA 中的编码并使系统更快地运行。因为 PLC 是写有顺序运算的编码的,为什么不直接用 SQL 连接起来使用系统呢? 同步多个 PLC 在许多应用中,一个位置的一个 PLC 需要来自另一个 PLC 位置的数据来完成工作。在这种情况下,传统上 SCADA 也用于集成所有 PLC 并对其进行管理。 此时,如果 PLC 直接连接 SQL Server,则通过 SQL 的日期和时间来同步数据;从而消除了 PLC 多个 RTC(实时时钟)同步的问题。 此外,PLC 将直接与其他 PLC 进行通信,通过 SQL 服务器询问任何数据或给出任何数据。PLC 中的任何警报或事件也将传送到其他 PLC,并有助于跟踪实时记录。 握手 握手是一方向另一方确认工作已完成的过程。基本上,这是一个必要的回应,以便党可以开始其他工作。此方法适用于 PLC 和 SQL 服务器。 SQL 服务器可以直接与 PLC 通信,实时发送事件通知,或者实时报警通知数据。这意味着,假设该作业需要 3 天才能完成。 然后,完成确认将作为单独的事件发送到 PLC,并且由于其中还包含 3 天的数据,操作员可以轻松地在 SCADA 报告中查看整个过程。因此,握手是PLC与SQL直接通信的重要原因。 PLC 数据库基础知识 使用中间件或网关在 PLC 和 SQL 数据库之间建立连接,促进工业网络协议和数据库语言之间的通信。 选择 PLC 和 SQL 数据库都可以理解的通信协议,例如 OPC UA、Modbus TCP 或 PLC 和中间件支持的任何其他协议。 通过设置将读取或写入的必要参数、寄存器或标签,将 PLC 配置为发送和接收数据。这可能涉及使用相应的软件对 PLC 进行编程,以确保其准备好进行数据交换。 通过创建新数据库或配置现有数据库来存储来自 PLC 的数据来设置 SQL 数据库。定义与从 PLC 发送的数据结构一致的表、列和数据类型。 将每个 PLC 数据点映射到 SQL 数据库中的相应字段。确保数据类型兼容并且映射对于应用程序的需求具有逻辑意义。 使用脚本或数据库存储过程实现数据传输逻辑。确定数据传输的频率、在什么条件下以及传输是否应由事件触发或按计划触发。 彻底测试 PLC 和 SQL 数据库之间的通信。检查是否有任何错误或数据不匹配,并确保系统在各种条件下按预期运行。 持续监控系统的运行完整性、数据准确性和任何异常情况。设置系统错误或重大事件的警报或通知。 根据需要定期检查和更新系统,以适应 PLC 设置、数据库结构或其他要求的变化。保持文档更新以应对任何系统更改。 确保 PLC 和 SQL 数据库均采取安全措施,以防止未经授权的访问和数据泄露。考虑实施加密、防火墙和安全访问协议。
Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...