Jump to content
  • PLC programming technology and HMI interface design Russian database

    PLC, DCS, HMI and SCADA product application technical articles

    xiangjinjiao
    Возможность управления скоростью асинхронного двигателя существует только с частотно-регулируемыми приводами. По сути, существует три различных режима, с помощью которых мы можем управлять скоростью асинхронного двигателя.
    Использование цифрового сигнала Использование аналогового сигнала от 0 до 10 В / от 0 до 5 В / от 4 до 20 мА / от 0 до 20 мА и т. д. Использование связи Modbus в режиме RTU или режиме TCP/IP Скорость асинхронного двигателя
    В этой статье мы будем использовать аналоговый входной сигнал с диапазоном от 0 до 20 мА для управления скоростью двигателя. В этой статье показано, как управлять скоростью двигателя с использованием аналогового выхода ПЛК. См. схему ниже, чтобы получить общее представление.

    Чтобы изменить скорость двигателя, аналоговый выходной сигнал 0–20 мА от ПЛК отправляется на аналоговый входной терминал VFD. Скорость изменяется от 0 до 50 Гц по мере увеличения миллиампер от 0 до 20. В этой теме мы используем шесть уникальных точек аналогового выхода интеллектуального ПЛК S7 200 для управления скоростью шести двигателей. (каждый двигатель имеет индивидуальный VFD в соответствии с номиналом двигателя).
    Здесь в качестве ПЛК используется Siemens CPU ST60 серии S7 200 Smart с двумя соединенными с ним аналоговыми выходными модулями EM AQ04, в то время как модель VFD — это серия ATV310 Schneider Electric. Siemens ЧМИ взаимодействует с CPU ST60 для изменения скорости двигателей с его экрана.
    Перед логикой ПЛК см. конфигурацию оборудования и подробности подключения ниже:

    Указанные выше аналоговые выходные модули добавляются к CPU ST60. Каждая аналоговая входная точка VFD будет получать сигнал 0–20 мА от различных аналоговых выходных точек ПЛК.
    Теперь рассмотрим параметры привода VFD ATV310.
    401: 01 (опорный канал 1) 204,0: 0A (тип AI1) 204,1: 4 мА (параметр масштабирования тока AI1 0%) 204,2: 20 мА (параметр масштабирования тока AI1 100%) Помимо этого, параметры двигателя необходимо установить в группе № «300» в соответствии с номиналом двигателя.
    Аналоговый выходной модуль также называется модулем DA или цифро-аналоговым модулем. Согласно этому утверждению, цифровое значение преобразуется в миллиамперы или напряжение в соответствии с настройкой конфигурации.
    Различные ПЛК имеют различные цифровые значения, которые можно преобразовать в аналоговый сигнал напряжения или миллиампер. В серии Siemens S7 200 используется 0 для 0 миллиампер и 27648 для 20 миллиампер.
    В соответствии с номером параметра «204.1» мы должны определить цифровое значение, при котором выходная точка выдает около 4 мА. Используя метод «hit-and-miss», мы определили значение как «5559», при котором мы получили приблизительно 4 миллиампера.
    Согласно обсуждению выше, частота будет где-то между 0 и 50 Гц, а миллиамперы в ПЛК представлены в виде цифровых значений. Когда определенная частота подается с ЧМИ, требуется некоторое масштабирование для получения фактической частоты.
    Таким образом, мы можем назвать эти цифровые значения «немасштабированными» значениями. Теперь, чтобы изменить эти немасштабированные значения на масштабированные, есть формула ниже:

    OSH = 27648,0 (немасштабированное цифровое значение для выходного аналогового сигнала 20 мА)
    OSL = 5559,0 (немасштабированное цифровое значение для выходного аналогового сигнала 4 мА)
    ISL = 0 (нижний предел выходной частоты в Гц)
    ISH = 50 (верхний предел выходной частоты в Гц)
    «Вход» — это переменная для установки скорости двигателя с ЧМИ.
    «Выход» — это масштабированное цифровое значение
    Теперь подставим эти значения в формулу и оценим дальше:
    Выход = [(27648,0 – 5559,0) *(Вход – 0)/ (50 – 0)] + 5559,0
    Выход = [22089,0*Вход /50] + 5559,0
    Выход = [441,78*Вход] + 5559,0
    Перед оценкой уравнения в релейной логике пройдите настройки конфигурации аналогового выхода в программном обеспечении ПЛК ниже:
    На шаге 7 программного обеспечения MicroWin Smart щелкните выделенную опцию настроек системного блока, доступную в панели «дерева проекта».

    В настройках системного блока настройте все каналы первой платы AQ04 и 3-й и 4-й каналы второй платы AQ04 с выделенным типом тока.

    Программирование ПЛК для управления скоростью асинхронного двигателя с использованием аналогового выхода
    Сеть 1:
    VD200 хранит входное значение или значение переменной, которое задается с ЧМИ в виде частоты или Гц. Затем оно умножается на 441,78 и сохраняется в VD204.
    Затем значение в VD204 добавляется к 5559 и сохраняется в VD208.

    Значение в VD208 представляет собой оцененное масштабированное выходное значение в реальном формате. Дробная часть значения в VD208 отбрасывается, а целая часть числа сохраняется в VD276 в формате двойного целого числа с помощью инструкции «TRUNC».
    После этого MW4 сохраняет это двойное целое число в формате целого числа. Адрес для первого канала модуля AQ04, AQW16, — это то место, куда теперь передается это значение.

    Пример: если VD200 = 41,5 Гц подается с ЧМИ, то VD208 = [441,78*41,5] + 5559,0 = 23892,87.
    Таким образом, чтобы достичь 41,5 Гц, 23892 должно быть сохранено в MW4 в виде целого числа.
    Согласно сетевому комментарию, первый канал используется для изменения скорости двигателя (Loader) в одном из приложений.
    Аналогично, сети 2–6 созданы для изменения скорости других двигателей и вентиляторов из соответствующих каналов модулей EQ04, использующих VD212, VD224, VD236, VD248 и VD260 в качестве своих точек переменной скорости.

    Согласно соединениям проводов, второй модуль EQ04 использует третий и четвертый каналы; в результате используются адреса AQW36 и AQW38. Чтобы узнать больше, см. Конфигурация системного блока.

    xiangjinjiao
    Программирование ПЛК имеет пять типов языков – релейная логика, список инструкций, структурированный текст, функциональная блок-схема и последовательная блок-схема. Каждый тип языка ПЛК имеет свои собственные достоинства и недостатки. Хотя некоторые языки выглядят хорошо визуально и просты в устранении неполадок, другие языки имеют меньшее потребление памяти и более высокую скорость обработки.
    Одним из самых основных используемых языков ПЛК является список инструкций. Он не так известен, как другие языки, и используется только несколькими программистами ПЛК из-за устаревшей технологии, но все еще доступен почти во всем программном обеспечении производителей ПЛК. В этой статье мы рассмотрим концепцию языка списка инструкций в ПЛК.
    Что такое список инструкций?
    Программа ПЛК, написанная на языке списка инструкций, состоит из ряда инструкций, которые последовательно выполняются логическим контроллером. Каждая инструкция представлена одной строкой программы и состоит из следующих компонентов:
    Номер строки Текущее значение (только в режиме онлайн) Оператор инструкции Операнд(ы) Необязательный комментарий По сути, если вы видели традиционный язык ассемблера, используемый в микропроцессорах, то вы легко поймете этот язык. Его также можно назвать смесью релейной логики и структурированного текста. Релейная логика в том смысле, что инструкции должны быть написаны линейным образом, и структурированный текст в том смысле, что мнемоники используются в словах.
    Для большего понимания обратитесь к изображению ниже. На первом изображении показана логика ПЛК, написанная на релейном языке. Логика такова: %M3 включится, если включен %M0 и включен %M1 или включен %M2.

    Теперь обратитесь к логике ниже для списка инструкций. Вы можете видеть, что каждая строка имеет только один компонент: в первой строке есть %M0, а во второй строке есть %M1, выполняющий логику И со следующей строкой.
    Третья строка содержит %M2, выполняющий логику ИЛИ с предыдущей строкой, четвертая строка закрывает команды, а пятая строка включает выход %M3. Таким образом, это представление как релейной логики, так и структурированного текста.

    Компоненты списка инструкций
    Основные компоненты списка инструкций ПЛК указаны ниже.
    Номер строки — четырехзначные номера строк генерируются при создании новой строки программы и автоматически управляются программным обеспечением. На рисунке выше это можно увидеть как от 0000 до 0004. Текущие значения — в режиме онлайн вы можете видеть текущие значения каждого элемента, как показано на рисунке ниже. На изображении ниже во время онлайн-анимации это указано как истина или ложь. Операторы инструкций — этот оператор является типом команды для выполнения инструкции. Его также можно назвать входной и выходной стороной записанной логики. Это мнемонический символ, который используется для обозначения типа команды, которая должна быть выполнена на стороне выхода, а также того, как сторона выхода будет ее выполнять. Например, на изображении выше LD обозначает загрузку, которая начинает выполнение путем загрузки значения первого бита, AND/OR обозначает логические инструкции, а ST обозначает сохранение значений результата в бите назначения. Комментарий — это необязательно. Он позволяет программисту написать любой комментарий, который поможет ему легко устранить неполадки в логике.
    Список инструкций в программировании ПЛК
    Некоторые из списка инструкций ПЛК указаны ниже.
    LD — загружает логическое значение операнда в аккумулятор. LDN — загружает инвертированное логическое значение операнда в аккумулятор. LDR — загружает логическое значение операнда в аккумулятор, когда значение изменяется с 0 на 1 (нарастающий фронт). LDF — загружает логическое значение операнда в аккумулятор, когда значение изменяется с 1 на 0 (падающий фронт). AND — выполняет операцию AND между предыдущим результатом и текущим операндом. ANDN — выполняет операцию AND между предыдущим результатом и инверсией текущего операнда. ANDR — выполняет операцию AND между предыдущим результатом и нарастающим фронтом текущего операнда. ANDF — выполняет операцию AND между предыдущим результатом и спадающим фронтом текущего операнда. OR — выполняет операцию OR между предыдущим результатом и текущим операндом. NOT — выполняет обратную операцию операнда. ST — принимает значение сгенерированного результата. STN — принимает обратное значение сгенерированного результата. S — выполняет операцию установки операнда. R — выполняет операцию сброса операнда. Помимо этого, в нем есть и другие инструкции, такие как переход, подпрограмма, конец, И с, ИЛИ с и т. д. в зависимости от производителя ПЛК.
    Таким образом, мы увидели концепцию списка инструкций в программировании ПЛК.

    xiangjinjiao
    В промышленной автоматизации существуют ситуации, когда приборы ввода-вывода расположены очень далеко от панели, и их невозможно подключить к локальному ПЛК из-за большого расстояния.
    По этой причине доступны модули удаленного ввода-вывода, которые просто обмениваются данными этих вводов-выводов с основным ПЛК. Это упрощает связь, а также обеспечивает гибкость для инженеров по приборам, позволяя размещать прибор в любом месте, где это необходимо.
    Модуль адаптера удаленного ввода-вывода
    Связь между удаленным адаптером и основным ПЛК в основном осуществляется через Ethernet, что является самым быстрым и эффективным способом связи.
    Такие модули удаленного ввода-вывода доступны во многих марках ПЛК. Из них Schneider Electric является такой маркой, и в ней доступен модуль BMXCRA или BMECRA для использования. В этой статье мы рассмотрим концепцию модулей CRA в ПЛК Schneider.
    Модуль CRA в Schneider ПЛК

    Изображение: BMXCRA31210, модуль Modicon X80 RIO
    CRA — это модуль адаптера удаленного ввода-вывода в линейке автоматизации Schneider ПЛК. Он не имеет ЦП для записи логики; это просто коммуникатор данных. Он принимает значения ввода-вывода и непрерывно обновляет их в главном ЦП. Модуль работает по протоколу Ethernet IP. Он имеет три порта LAN для работы.
    Помимо стандартных значений ввода-вывода, модуль также предоставляет различные типы диагностики для устранения неполадок. Это помогает программистам более гибко писать логику. Например, у вас есть три модуля ввода-вывода на очень большом расстоянии от ЦП. Затем просто настройте эти три модуля в модуле CRA в программном обеспечении; и CRA затем будет использовать его для передачи данных с ЦП.
    Конфигурация модуля
    На модуле есть два поворотных переключателя. Они определяют идентификатор модуля. Например, в системе используется 4 модуля CRA. Все четыре расположены на большом расстоянии друг от друга. Затем каждому модулю необходимо присвоить отдельный идентификатор, чтобы его можно было легко различить с помощью логики ЦП.
    Кроме того, IP-адрес модуля устанавливается в программе ЦП. В модуле CRA нет конфигурации. Просто правильно настройте IP-адреса в логике ПЛК для модулей CRA, установите идентификатор поворотными переключателями, и ваши модули CRA начнут работать соответствующим образом.
    В модуле есть четыре светодиода для устранения неполадок — Run, IO, Module status и Network status. Подробное описание модуля см. в каталоге.
    Коммуникационный модуль ПЛК Schneider
    Модуль поддерживается только в линейке M580 и Quantum ПЛК Schneider. Интересной особенностью этого модуля является то, что он имеет большое количество коммуникационных служб, таких как агент SNMP, клиент SNTP, клиент FDR, клиент FTP, клиент TFTP, клиент DHCP, явные сообщения CIP и качество обслуживания. Все это является частью функций кибербезопасности и помогает защитить модуль от кибератак.
    Модули CRA полностью избыточны. Это зависит от того, как вы организуете сеть системы. Уровень избыточности зависит от того, как вы подключаете провода и как вы выбираете топологию. Исходя из этого, вы можете безопасно управлять логикой, не опасаясь потери данных ввода-вывода.
    Например, у вас есть два модуля CRA и вы хотите избыточность ввода-вывода. Исходя из поддерживаемой им топологии, вы можете спроектировать сеть таким образом, что если один порт LAN первого модуля CRA выйдет из строя, то вы сможете передавать данные через второй порт LAN на второй модуль CRA, а затем на главный ПЛК. Доступны различные варианты маршрутизации.
    Таким образом, мы увидели концепцию модуля CRA в ПЛК Schneider.

    caixiaofeng
    В этой статье мы поговорим о децентрализованной периферии или распределенном вводе-выводе, мы не будем рассматривать портал TIA, мы просто обсудим, что такое распределенный ввод-вывод и зачем он нам нужен.
    Содержание:
    Что такое внешняя периферия или распределенный ввод-вывод? Простой пример, объясняющий необходимость распределенного ввода-вывода. o 1 машина с ПЛК на машине.
    o 1 машина с ПЛК находится далеко в безопасном месте.
    o 2 или более машин с одним и тем же ПЛК
    o наличие уже установленной машины с разными модулями ввода-вывода (файлы GSD)
    заключение Внешняя периферия
    Устройства распределенного ввода-вывода — это устройства, используемые в системах автоматизации и управления. Они действуют как посредники между центральным контроллером (ПЛК) и различными датчиками и исполнительными механизмами, установленными в вашем процессе автоматизации. Представьте их как посланников, которые собирают информацию с датчиков и передают команды исполнительным механизмам.
    Распределенный ввод-вывод
    Этот распределенный подход упрощает проводку, вместо того, чтобы все провода шли напрямую к ПЛК, вы устанавливаете эти распределенные устройства ввода-вывода на стороне машины. Они собирают информацию с датчиков (например, температуры или движения) и отправляют команды исполнительным механизмам (например, двигателям или клапанам). Это обеспечивает бесперебойную работу всей системы, с меньшим количеством проводов, а также упрощает управление и расширение, что приводит к повышению гибкости системы.
    В следующем разделе мы воспользуемся несколькими примерами, чтобы объяснить идею и необходимость распределенного ввода-вывода более простым способом.
    Простой пример, чтобы объяснить необходимость распределенного ввода-вывода
    Предположим, что у нас есть производственная машина, эта машина управляется через ПЛК, любой тип ПЛК, см. рисунок 1.

    Рисунок 1. Производственная машина, управляемая через ПЛК.
    Как вы можете видеть, ПЛК, управляющий машиной, установлен на поле со стороны машины. Как мы знаем, ПЛК предназначены для работы в суровых условиях, поэтому не так уж и плохо установить ПЛК на стороне машины, поскольку мы знаем, что он сможет выдерживать различные условия эксплуатации, связанные с машиной, будь то высокая температура окружающей среды, влажность, вибрация и т. д.
    Теперь, что если нам нужно изменить наш процесс и усилить контроль над машиной, то есть нам нужно увеличить количество входов и выходов машины, это будет означать, что нам понадобится более крупный ПЛК с большим количеством входов/выходов или, по крайней мере, нам нужно будет добавить модули входов/выходов к текущему ПЛК.
    Вы должны знать, что добавление дополнительных модулей входов/выходов к текущему ПЛК будет зависеть от ПЛК, который вы выбрали для своего проекта, поскольку каждый ПЛК имеет максимальное количество входов/выходов, которое вы можете добавить к ПЛК.
    Итак, если дополнительное количество вводов-выводов, которое нам нужно, превысит максимальное количество вводов-выводов, которое я могу добавить в ПЛК, то мне придется приобрести более крупный ПЛК, и это будет означать переписывание вашего программного обеспечения для нового ПЛК или, по крайней мере, миграцию вашего проекта. Смотрите рисунок 2.

    рисунок 2. Более крупный ПЛК для нового расширения машины.
    Итак, с новым расширением нам пришлось приобрести более крупный ПЛК.
    ТЕПЕРЬ мы сказали, что ПЛК можно установить в полевых условиях, и он рассчитан на работу в суровых условиях, но обычно этого не происходит, и обычно ПЛК устанавливается далеко в хорошо кондиционированном и защищенном месте, например, в комнате ЦУД.
    Это означает, что каждый входной или выходной сигнал нашего процесса должен быть подключен со стороны машины к ПЛК в комнате ЦУД, поэтому, если у меня 100 сигналов вводов-выводов, мне придется протянуть 100 сигнальных кабелей между машиной и ПЛК. И если мне понадобится сделать какое-либо расширение в будущем, мне придется протянуть дополнительные новые кабели. Смотрите рисунок 3.

    Рисунок 3. Установка ПЛК внутри помещения MCC.
    Как вы можете видеть, теперь нам нужно протянуть кабель между ПЛК и машиной для каждого сигнала ввода-вывода, который есть в нашем процессе. Это может быть приемлемо для небольшой машины с небольшим количеством вводов-выводов, но не так уж и для большого процесса с большим количеством вводов-выводов.
    Поскольку это будет включать прокладку большого количества кабелей, это увеличит стоимость этого процесса, а также приведет к новым проблемам, которые необходимо решить, таким как кабельные каналы, совместимость с ЭМС, кабельные лотки и другие дополнительные соображения.
    И вот здесь внешние периферийные устройства или модули распределенного ввода-вывода становятся очень полезными. Смотрите рисунок 4.

    Рисунок 4. Использование устройства распределенного ввода-вывода.
    Модуль распределенного ввода-вывода — это просто модуль ввода-вывода, который может быть установлен на стороне машины для сбора всех входов процесса и отправки их в ПЛК, а также для получения выходного сигнала от ПЛК и отправки его в соответствующие исполнительные устройства.
    Как вы можете видеть на рисунке, соединение между ПЛК и машиной теперь осуществляется путем протягивания кабеля связи между устройством распределенного ввода-вывода и ПЛК. Устройства распределенного ввода-вывода имеют множество возможностей связи, в нашем примере мы предположили связь Profinet, отсюда и зеленый цвет.
    Использование устройства распределенного ввода-вывода даст вам преимущество расширения ваших технологических вводов-выводов без необходимости установки более крупного ПЛК. Вы просто добавите новые вводы-выводы к своему устройству, а связь между ПЛК останется прежней с использованием Profinet или любого другого метода связи.
    Вы даже можете управлять совершенно новой машиной с помощью того же ПЛК, вам просто нужно будет протянуть новый кабель связи от ПЛК к новой машине. См. рисунок 5.

    рисунок 5. Управление 2 машинами с помощью одного ПЛК.
    Как видите, для управления совершенно новой машиной с помощью моего ПЛК мне понадобится только один дополнительный кабель связи от ПЛК и машины. Конечно, вам нужно убедиться, что возможности вашего ПЛК позволяют обрабатывать и управлять двумя машинами.
    Еще один момент: распределенные вводы-выводы можно использовать с разными марками ПЛК, то есть я могу использовать разные марки распределенных вводов-выводов с ПЛК Siemens. См. рисунок 6.

    рисунок 6. Использование различных марок распределенных вводов-выводов.
    Как вы можете видеть на рисунке, одна машина использует распределенное устройство ввода-вывода SIEMENS, а другая машина использует распределенное устройство ввода-вывода Schneider, и обе они будут управляться через один и тот же ПЛК.
    Вывод
    Распределенные устройства ввода-вывода используются для расширения зоны действия системы управления, позволяя подключать большое количество датчиков и исполнительных механизмов на больших расстояниях. Распределенные вводы-выводы сокращают количество требуемых проводов по сравнению с традиционным соединением сигналов машины и ПЛК. В системе распределенных вводов-выводов легко добавлять или удалять устройства, что делает ее высокомасштабируемой и надежной.

    caixiaofeng
    В предыдущей статье мы дали простое введение в концепцию распределенных устройств ввода-вывода, что они собой представляют и зачем они нам нужны.
    В этой статье мы покажем, как настроить распределенное устройство ввода-вывода в нашем проекте ПЛК. Как обычно, мы сосредоточены на системах Siemens и TIA Portal, поэтому мы покажем, как использовать распределенный ввод-вывод Siemens ET200S.
    Содержание:
    Аппаратная конфигурация распределенных устройств ввода-вывода. Назначьте модуль ввода-вывода контроллеру. Загрузите конфигурацию в фактический аппаратный модуль. Аппаратная конфигурация распределенных устройств ввода-вывода
    Аппаратная конфигурация любого распределенного устройства ввода-вывода просто означает назначение этого устройства ввода-вывода определенному контроллеру в вашем проекте, так что входной сигнал от этого ввода-вывода будет поступать на этот ПЛК, а выходная команда будет поступать с этого ПЛК.
    Давайте добавим ПЛК в наш проект и посмотрим, как мы можем действовать дальше. См. рисунок 1.

    рисунок 1. Добавьте ПЛК в наш проект.
    Как вы можете видеть из только что добавленного ПЛК, ПЛК уже имеет некоторые централизованные IO, но в этой статье мы предполагаем, что у нас есть часть машины, которая находится далеко, и мне нужно подключиться к ПЛК, в этом случае мы бы использовали устройство распределенного IO, которое будет установлено в части машины, и оно будет иметь все IO, связанные с этой частью машины, а затем устройство распределенного IO будет взаимодействовать с ПЛК через подходящий тип метода связи, например Profinet или Profibus.
    Распределенный IO в проекте ПЛК
    Давайте добавим наше устройство ET200S. См. рисунок 2.

    рисунок 2. Добавьте нужный вам модуль IO.
    Как вы можете видеть из рисунка, существует множество различных модулей IO, которые вы можете выбрать в зависимости от вашего приложения.
    Мы выберем стандартный модуль ET200S. См. рисунок 3.

    рисунок 3. Перетащите модуль ET200s
    Как вы можете видеть на рисунке, просто перетащите модуль ввода-вывода в сетевой вид вашего проекта. Обратите внимание, что мы выбираем интерфейс Profinet для модуля ввода-вывода, который будет таким же, как у нашего ПЛК.
    После добавления модуля ET200S в наш проект мы можем начать добавлять наши модули входов и выходов в ET200S, вы можете найти все модули ввода-вывода, совместимые с выбранным модулем, в строке каталога оборудования справа, см. рисунок 4.

    рисунок 4. Добавьте модули ввода-вывода в ET200S.
    Как вы можете видеть на рисунке, я могу добавлять модули ввода-вывода, перетаскивая их в пустые области. Максимальное количество входов/выходов, которые я могу использовать с ET200S, зависит от его типа и спецификации.
    Чтобы добавить модули входов и выходов, просто перетащите его из каталога оборудования справа, см. рисунок 5.

    рисунок 5. Перетащите нужные вам входы/выходы.
    Назначьте модуль ввода/вывода контроллеру
    Теперь, когда вы добавили модуль распределенного ввода/вывода в свой проект, вы заметите, что устройство ввода/вывода не назначено и не подключено ни к одному контроллеру. См. рисунок 6.

    Рисунок 6. Добавленный модуль ввода/вывода не назначен ПЛК.
    Другой способ увидеть, что модуль распределенного ввода/вывода не назначен ни одному контроллеру, заключается в том, что моим входам/выходам не назначены адреса. Так как он не подключен ни к одному контроллеру, см. рисунок 7.

    рисунок 7. Адреса не определены.
    Как вы можете видеть на рисунке, области адресов ввода-вывода пусты, что указывает на то, что они еще не назначены контроллеру. Поэтому нам нужно назначить модуль ввода-вывода ПЛК.
    Чтобы назначить модуль ввода-вывода контроллеру, нам нужно перейти в режим просмотра сети, выбрать модуль ввода-вывода, затем щелкнуть правой кнопкой мыши и нажать «Назначить новому ведущему устройству DP/контроллеру ввода-вывода», см. рисунок 8.

    рисунок 8. Назначьте модуль ввода-вывода контроллеру.
    После нажатия кнопки «Назначить новому ведущему устройству DP/контроллеру ввода-вывода» появится окно выбора контроллера ввода-вывода, в котором вы можете выбрать ПЛК, которому вы хотите назначить модуль ввода-вывода. В нашем проекте у нас только один контроллер, поэтому в окне будет отображаться только один вариант. См. рисунок 9.

    рисунок 9. Выберите окно контроллера ввода-вывода.
    После нажатия кнопки ОК модуль ввода-вывода будет назначен ПЛК. И теперь, если вы проверите вид устройства модуля ввода-вывода, вы увидите, что теперь входам и выходам назначены адреса в проекте, что означает, что теперь они принадлежат определенному контроллеру ПЛК. См. рисунок 10.

    Рисунок 10. Теперь модулю ввода-вывода назначены адреса.
    Загрузите конфигурацию в фактический аппаратный модуль
    И вот как вы можете выбрать и настроить распределенный модуль ввода-вывода и назначить его ПЛК в своем проекте.
    Однако есть кое-что, что вы должны знать,
    ДА, мы назначили наш модуль ввода-вывода ПЛК, но это было сделано только на стороне программного обеспечения (TIA Portal). Фактическое аппаратное устройство ввода-вывода по-прежнему не знает, что оно назначено этому ПЛК.
    Это означает, что если я загрузил свой проект в ПЛК, он будет скомпилирован и успешно загружен, но когда ПЛК потребуется связаться с устройством ввода-вывода, чтобы получить вход или дать команду вывода, он не сможет найти устройство, даже если между ними есть кабель связи. И ПЛК выдаст ошибку.
    Чтобы решить эту проблему, мне нужно сделать что-то под названием «НАЗНАЧИТЬ ИМЯ УСТРОЙСТВА»
    Чтобы сделать это, просто щелкните правой кнопкой мыши по устройству ввода-вывода и нажмите «Назначить имя устройства», это откроет следующее окно, см. рисунок 11.

    рисунок 11. Назначить имя устройства.
    Когда вы нажмете на «Назначить имя устройства», появится окно «Назначить имя устройства PROFINET». См. рисунок 12.

    рисунок 12. Окно «Назначить имя устройства».
    Эта процедура выполняется с помощью аппаратных устройств, но поскольку у нас нет аппаратного компонента и мы только имитируем, мы не можем его здесь увидеть.
    Но, просто когда вы выбираете интерфейс ПК/ПГ и нажимаете «Обновить», вы должны найти свое устройство ввода-вывода, затем вы просто выбираете «Назначить имя устройства», чтобы назначить имя устройства фактическому аппаратному модулю ввода-вывода.
    После этого вы можете использовать это устройство ввода-вывода как обычный ввод-вывод ПЛК. И вы можете найти модуль ввода-вывода внутри дерева проекта ПЛК, потому что теперь он является частью ПЛК. Смотрите рисунок 13.

    Рисунок 13. Модуль ввода-вывода принадлежит дереву проекта ПЛК.

    caixiaofeng
    В предыдущих статьях мы начали обсуждать различные способы связи между двумя или более ПЛК, до сих пор мы говорили о функции I-device, а также о командах PUT и GET, которые были методами, эксклюзивными для ПЛК Siemens.
    Связь между ПЛК Siemens и другими ПЛК
    В этой статье мы обсудим другой способ соединения двух ПЛК вместе, этот способ имеет больше преимуществ, чем команды PUT и GET, которые мы обсуждали ранее, поскольку противоположны командам PUT/GET, которые были эксклюзивными для семейства S7. Этот новый метод представляет собой открытую пользовательскую коммуникацию, то есть мы можем использовать его для связи между ПЛК SIEMENS и любым другим брендом ПЛК, это даже не обязательно должны быть два ПЛК, этот метод может связываться между ПЛК и любым другим устройством, которое может понимать сетевой протокол TCP, таким как ПК, серверы, принтеры и т. д.
    В этой статье мы покажем, как настроить связь между двумя ПЛК с помощью блоков TCON и TDISCON, а в следующей статье мы покажем, как перемещать данные между ПЛК после настройки соединения.
    Открытые пользовательские коммуникационные блоки TCON и TDISCON
    Мы используем блок TCON для настройки и установления коммуникационного соединения между двумя ПЛК. После настройки и установки соединения оно автоматически поддерживается ПЛК.
    Оба партнера по коммуникации вызывают инструкцию TCON для настройки и установления коммуникационного соединения. Это означает, что мне нужно вызвать блок TCON в обоих ПЛК, и нам нужно настроить блок в обоих ПЛК, как мы увидим в примере проекта.
    Во время конфигурации блока мы укажем, какой партнер является активной конечной точкой связи, а какой — пассивной. Это означает, что какой ПЛК попытается подключиться, а какой откроет порт связи и будет ждать другой.
    Существующее соединение завершается, а установленное соединение удаляется, когда выполняется блок TDISCON или когда ЦП переходит в режим STOP. Чтобы настроить и установить соединение снова, вам нужно будет снова выполнить TCON.
    Пример проекта ПЛК с использованием TCON
    Как мы уже объясняли в предыдущих статьях, для настройки связи между двумя ПЛК нам нужно установить две вещи:
    Связь между ПЛК. Передача данных между двумя ПЛК. В этой статье мы настроим открытую пользовательскую связь с протоколом TCP между двумя ПЛК с использованием блока TCON. В следующей статье мы покажем, как перемещать данные после установки соединения.
    Сначала давайте создадим новый проект и добавим два наших ПЛК. Мы добавим CPU1516-3PN/DP ПЛК и назовем их ПЛК_1 и ПЛК_2, и цель состоит в том, чтобы установить соединение между ними. Смотрите рисунок 1.

    рисунок 1. Добавьте ПЛК_1 и ПЛК_2.
    Теперь мы просто добавим блок TCON в нашу логику ПЛК, как мы уже упоминали ранее, нам нужно вызвать TCON для обоих ПЛК, давайте начнем с ПЛК_1.
    Просто перетащите блок TCON, который вы найдете в открытой папке пользовательской связи. Смотрите рисунок 2.

    рисунок 2. Перетащите инструкцию TCON
    Блок TCON по сути является функциональным блоком, поэтому при добавлении его в мой основной OB1 нам будет предложено создать экземпляр блока данных для этого блока.
    Создайте экземпляр данных и дайте ему правильное имя. См. рисунок 3.

    рисунок 3. Создание экземпляра данных.
    Теперь блок TCON добавлен в вашу логику, нам нужно настроить параметр соединения для блока.
    Просто нажмите на маленький синий значок конфигурации над блоком. См. рисунок 4.

    рисунок 4. Открыть представление конфигурации
    При нажатии на синий значок вы откроете представление конфигурации для блока TCON, где мы можем настроить параметр соединения.
    Вы найдете его почти таким же, как параметр соединения команд PUT и GET. См. рисунок 5.

    рисунок 5. Параметр соединения TCON.
    Параметры партнерского ПЛК в блоке TCON имеют больше параметров, чем у команд PUT/GET, поскольку мы используем открытое взаимодействие пользователей. См. рисунок 6.

    рисунок 6. Параметры партнерского ПЛК
    Как вы можете видеть на рисунке, у нас есть 4 различных параметра, а именно:
    ПЛК_2: если оба ПЛК находятся в одном проекте, здесь будет показан ПЛК_2 Трансляция: это сделает соединение доступным для любого устройства в сети Многоадресная передача: это сделает соединение с выбранными устройствами, более чем одним устройством, но не всеми из них Не указано: если ПЛК находится в другом проекте TIA Portal. При выборе не указанного параметра нам будет предложено добавить IP-адрес ПЛК, а также нам нужно будет добавить новые данные о подключении. См. рисунок 7.

    рисунок 7. Добавить новые данные о подключении
    Как вы можете видеть на рисунке, чтобы создать новые данные о подключении, просто щелкните стрелку раскрывающегося списка и нажмите «Новый». Это создаст новый блок данных соединения, и он будет автоматически назначен блоку TCON, см. рисунок 8.

    рисунок 8. Блок данных соединения создан.
    Как вы видите, был создан блок данных о подключении, теперь мне нужно добавить IP-адрес партнерского ПЛК.
    Еще нам нужно выбрать, какой ПЛК будет активным устанавливающим соединение. Это определит, какой ПЛК будет отвечать за установление соединения, а другой в этом случае будет отвечать только за открытие порта подключения. Смотрите рисунок 9.

    рисунок 9. Назначьте ПЛК_1 активным устанавливающим соединение.
    Поскольку мы выбираем ПЛК_1 активным устанавливающим соединение, то ПЛК_2 будет отвечать за открытие порта подключения, и мне нужно выбрать значение для этого порта. Это может быть любое значение, но в TIA Portal оно автоматически назначается как 2000, поэтому мы оставим все как есть. Смотрите рисунок 10.

    Рисунок 10. Порт партнера.
    На предыдущем рисунке вы можете видеть, что параметр соединения стал зеленым, что означает, что все настройки выполнены и приняты.
    При использовании TCON для установки соединения между двумя ПЛК оба ПЛК должны вызвать инструкцию TCON для установки соединения, поэтому теперь нам нужно сделать то же самое с другим ПЛК_2. Добавьте блок TCON в главный OB1 ПЛК_2, см. рисунок 11.

    рисунок 11. Вызов TCON в ПЛК_2.
    После добавления блока TCON нам нужно настроить параметр соединения, как мы это делали с ПЛК_1. См. рисунок 12.

    Фото 12. Параметры соединения ПЛК_2
    На рисунке видно, что мы по-прежнему выбираем ПЛК_1 в качестве активного установления соединения, и мы по-прежнему оставляем порт ПЛК_2 равным 2000.
    Активное установление соединения и порт должны быть одинаковыми для конфигурации обоих ПЛК, иначе соединение не будет установлено. Теперь настройка соединения для обоих ПЛК завершена, см. рисунок 13.

    фото 13. Блок TCON в обоих ПЛК.
    Как видно из рисунка, нам нужно еще одно, а именно определить REQ для обоих ПЛК.
    Мы создали AllowConnection для ПЛК_2 и StartConnection для ПЛК_1. См. рисунок 14.

    фото 14. Определите сигналы REQ.
    Соединение между двумя ПЛК теперь установлено, и оно выглядит следующим образом:
    ПЛК_1 попытается установить соединение с ПЛК_2, когда сигнал REQ активен, но он не сможет этого сделать, пока ПЛК_2 не включит возможность соединения, а это будет сделано, когда блок TCON ПЛК_1 получит сигнал REQ.
    Сигнал REQ активен для TCON ПЛК_2, чтобы включить соединение (это означает, что ПЛК_2 откроет порт 2000 в ожидании соединения) Сигнал REQ активен для TCON ПЛК_1, чтобы начать соединение (это позволит ПЛК_1 установить соединение с ПЛК_2 через порт 2000) МОДЕЛИРОВАНИЕ ПРОЕКТА
    Давайте скомпилируем наш проект и запустим моделирование, чтобы увидеть, как будет установлено соединение.
    Чтобы увидеть соединение любого ПЛК, а также между ПЛК, можно открыть сетевой вид и открыть вкладку соединений, чтобы увидеть все активные и установленные соединения. См. рисунок 15.

    фото 15. ПЛК_2 ожидает соединения.
    Когда REQ равен True, ПЛК_2 будет открыт для соединения, вы можете увидеть значение STATUS 7002 _ если вы проверите справку блока TCON, статус 7002 означает ожидание соединения_. Вы также можете увидеть на рисунке из сетевого представления, что ПЛК_2 ожидает соединения.
    Когда REQ блока ПЛК_1 TCON равен True, ПЛК_1 попытается установить соединение с ПЛК_2, и поскольку ПЛК_2 уже открыт и ожидает соединения, ПЛК_1 сможет найти и установить соединение с ПЛК_2. См. рисунок 16.

    Фото 16. ПЛК_1 устанавливает соединение.
    Обратите внимание, что все соединения в сетевом представлении теперь зеленые, что указывает на исправное и продолжающееся соединение между ПЛК_1 и ПЛК_2.
    Как мы уже упоминали ранее, после того, как соединение было настроено и установлено, оно автоматически поддерживается. Таким образом, даже когда сигналы REQ становятся ложными, соединение между двумя ПЛК останется. Смотрите рисунок 17.

    Рисунок 17. Соединение все еще продолжается.
    Но если включение сигналов REQ не отключает соединение, как я могу его отключить, если захочу?
    Блок отключения TDISCON
    Чтобы отключить соединение между двумя ПЛК, мы можем перевести ПЛК в режим STOP, что непрактично во время выполнения процесса. И мы также можем использовать блок отключения или TDISCON.
    Чтобы добавить блок TDISCON, просто перетащите его в свою логику, см. рисунок 18.

    фото 18. Добавьте блок TDISCON
    как вы видите, для добавления блока TDISCON потребуется экземпляр блока данных, как только блок будет добавлен в вашу логику, все, что вам нужно сделать, это назначить идентификатор соединения, которое вам нужно отключить, а также вам нужно назначить сигнал REQ, чтобы начать завершение соединения. См. рисунок 19.

    фото 19. Блок TDISCON.
    ТЕПЕРЬ давайте добавим блок TDISCON в другой ПЛК, чтобы у нас была возможность отключить соединение. См. рисунок 20. Для блока TDISCON ПЛК_1.

    фото 20. TDISCON в ПЛК_1
    Давайте вернемся к моделированию и посмотрим, как использовать блоки TDISCON, см. рисунок 21.

    фото 21. Соединение все еще активно.
    Как вы можете видеть на рисунке, соединение между ПЛК все еще активно, а сигналы REQ TDISCON все еще ложны.
    Если REQ ПЛК_1 станет ИСТИНА, соединение будет разорвано, но вы заметите, что ПЛК_2 все еще ожидает соединения, см. рисунок 22.

    фото 22. REQ ПЛК_1 является истинным.
    Когда REQ для блока TDISCON ПЛК_2 является истинным, ПЛК_2 больше не будет ожидать соединения. См. рисунок 23.

    фото 23. Соединение разорвано.
    В этой статье мы показали, как установить соединение между двумя ПЛК с помощью блоков TCON и TDISCON.

    caixiaofeng
    В предыдущей статье мы говорили о том, как настроить соединение между двумя ПЛК с помощью открытого пользовательского взаимодействия, и использовали протокол TCP для соединения между двумя ПЛК. В статье мы показали, как использовать такие инструкции, как TCON и TDISCON, для установления этого соединения.
    Перемещение данных между ПЛК
    В этой статье мы покажем, как можно начать перемещение ДАННЫХ между ПЛК, которые мы подключили в прошлой статье. Для этой цели мы будем использовать блоки TSEND и TRCV.
    Отправка данных в ПЛК_2
    Мы будем основываться на проекте, который мы создали в прошлой статье, то есть в нашем проекте уже установлены блоки TCON и TDISCON. и мы продолжим наш проект, добавив блоки TSEND и TRCV, чтобы начать перемещение данных между двумя ПЛК.
    Чтобы отправить данные из ПЛК_1 в ПЛК_2, давайте начнем с создания блока данных, который будет содержать всю информацию, которую нам нужно отправить в ПЛК_2. См. рисунок 1.

    рисунок 1. Создайте новый блок данных.
    Как мы уже обсуждали, лучше всего давать блокам правильное название, так будет проще и интуитивно понятно, для чего предназначен каждый блок.
    Во-вторых, давайте добавим некоторые данные в блок данных, которые мы хотим отправить в ПЛК_2.
    Мы предположили, что нам нужно отправить три разных тега данных. См. рисунок 2.

    рисунок 2. Определите некоторые данные для отправки в ПЛК_2.
    Есть еще одна вещь, которую нам нужно сделать, чтобы иметь возможность отправить только что созданный нами блок данных в ПЛК_2, а именно убедиться, что оптимизированный доступ к блоку данных не выбран.
    Для этого нам нужно перейти в свойства блока данных и снять этот выбор. См. рисунки 3 и 4.

    рисунок 3. Перейдите в свойства блока данных.

    рисунок 4. Снимите отметку с параметра Оптимизированный доступ к блоку.
    Обязательно снимите отметку с этого параметра перед использованием блока TSEND, иначе он не сработает.
    Теперь, когда мы подготовили данные, которые хотим отправить в ПЛК_2, давайте попробуем их отправить. Мы сделаем это с помощью блока TSEND. Просто перетащите инструкцию в ваш основной OB1, чтобы добавить ее в вашу логику. См. рисунок 5.

    рисунок 5. Добавьте блок TSEND.
    При добавлении блока TSEND вам будет предложено создать экземпляр блока данных, поскольку это по сути функциональный блок, снова дайте ему правильное имя. См. рисунок 6.

    Рисунок 6. Создание экземпляра данных для TSEND.
    Когда блок TSEND будет добавлен в вашу логику, вы обнаружите, что нам нужно сделать некоторые важные конфигурации. См. рисунок 7.

    рисунок 7. Блок TSEND.
    Как вы можете видеть, нам нужно сделать некоторые настройки:
    Сигнал REQ, чтобы разрешить отправку данных. Что касается сигнала REQ, мы определим тег SendData, который будет использоваться для включения отправки данных.
    Идентификатор соединения, которое я буду использовать для отправки данных, поскольку у меня может быть более одного соединения, поэтому мне нужно назначить, какое соединение будет использоваться. В последней статье мы определили идентификатор 1 для соединения между ПЛК_1 и ПЛК_2, поэтому мы установим идентификатор на 1.
    ДАННЫЕ, которые мне нужно отправить. Мы уже создали блок данных со всей информацией, которую мне нужно отправить, мы можем просто перетащить блок данных в блок TSEND. Смотрите рисунок 8.
    рисунок 8. Настройте блок TSEND.
    Получение данных из ПЛК_1
    После того, как мы настроим TSEND для отправки данных в ПЛК_2, нам нужно получить эти данные внутри ПЛК_2. Для этого мы будем использовать блок TRCV. Смотрите рисунок 9.

    рисунок 9. Добавьте блок TRCV.
    Как видите, просто перетащите блок TRCV, чтобы добавить его в свою логику. И вы знаете, что далее нам нужно будет создать экземпляр данных для этого блока. Смотрите рисунок 10.

    рисунок 10. Добавьте экземпляр данных в блок TRCV.
    После вызова блока TRCV в вашу логику нам нужно будет настроить некоторые параметры, как мы это делали с TSEND. Смотрите рисунок 11.

    рисунок 11. Блок TRCV.
    Как вы можете видеть, EN-R — это разрешающий сигнал, который должен быть истинным, чтобы позволить блоку TRCV начать получать данные. ID — это соединение, которое будет использоваться, а DATA — это место, где будут храниться полученные данные.
    Итак, нам нужно создать блок данных для получения данных внутри него. Не забудьте дать ему правильное имя. Смотрите рисунок 12.

    рисунок 12. Создайте блок данных для получения данных.
    Далее определите информационные теги, которые будут получены от ПЛК_1, лучше всего убедиться, что блок данных содержит ту же структуру данных, что и данные, которые будут получены. См. рисунок 13.

    рисунок 13. Определите теги данных.
    Для EN-R мы определим тег RecieveData, чтобы включить прием данных. А для идентификатора соединения это 1, как мы установили ранее. См. рисунок 14.

    рисунок 14. Сигнал EN-R.
    Затем перетащите созданный нами блок данных в наш блок TRCV, чтобы завершить все настройки. См. рисунок 15.

    рисунок 15. Добавьте свой блок данных в блок TRCV.
    Когда вы перетащите созданную нами базу данных, вы заметите, что TIA Portal выдает предупреждение и не принимает только что добавленный нами блок данных.
    И это потому, что мы не сняли отметку с «Оптимизированного доступа к блоку» блока данных, как мы сделали с TSEND. Смотрите рисунок 16.

    рисунок 16. Оптимизированный доступ к блоку.
    Как мы уже говорили, нам нужно снять отметку с этой опции, иначе TSEND и TRCV не будут работать. Смотрите рисунок 17.

    рисунок 17. Снимите отметку с опции оптимизированного доступа к блоку.
    Вы можете видеть, что после снятия отметки с «оптимизированного доступа к блоку» блок данных теперь принимается с помощью инструкции TRCV.
    Теперь, когда вызов и настройка блоков TSEND и TRCV завершены, давайте смоделируем наш проект и посмотрим, как будут отправляться и приниматься данные.
    Сначала мы создадим простую логику, которая гарантирует наличие значений данных для наших определенных тегов.
    Простая логика для автоматического создания значений данных
    Мы создадим простую логику для автоматического создания и обновления значений данных, чтобы было легче увидеть передачу данных между двумя ПЛК. Смотрите рисунок 18.

    рисунок 18. Простая логика.
    Эта простая логика будет использовать тактовый бит %M50.5 для автоматического изменения значений данных, хранящихся в блоке данных SendToПЛК_2.
    Моделирование проекта ПЛК
    Давайте скомпилируем наш проект и начнем моделирование. Первое, что нам нужно будет сделать, это установить соединение между двумя ПЛК с помощью блока TCON, который мы настроили в прошлой статье.
    Помните, что нам нужно будет включить возможность подключения из ПЛК_2 и установить соединение с ПЛК_1. См. рисунки 19, 20 и 21.

    рисунок 19. Нет связи между ПЛК

    рисунок 20. включите соединение.

    рисунок 21. Установите соединение.
    Теперь, когда мы установили соединение между двумя ПЛК, давайте переместим данные из ПЛК_1 в ПЛК_2, как мы его настроили.
    Сначала установите тег SendData в значение TRUE. См. рисунок 22.

    Рисунок 22. Сигнал REQ имеет значение true.
    Вы можете видеть, что, хотя SendData имеет значение TRUE, данные не были отправлены из ПЛК_1 в ПЛК_2. И это потому, что блок TRCV еще не включен для приема каких-либо данных. См. рисунок 23.

    picture23. Сигнал EN-R — ложь.
    Как видите, поскольку RecieveData еще не имеет значения TRUE, блок TRCV не может принимать какие-либо данные. Как только EN-R становится истинным, данные будут отправлены из блока данных в ПЛК_1 в блок данных ПЛК_2. См. рисунок 24.

    picture 24. Сигнал EN-R — Истина.
    Как только EN-R становится истинным, вы можете видеть, что данные перемещаются из ПЛК_1 в ПЛК_2.
    Если вы откроете проект и смоделируете его самостоятельно, вы обнаружите, что данные постоянно обновляются в ПЛК_1 и передаются в ПЛК_2.
    И вот как мы можем установить связь между двумя ПЛК и использовать блоки TSEND, TRCV.

    leigehong
    В последних статьях мы обсуждали, как установить соединение между двумя ПЛК с помощью блоков TCON и TDISCON и как перемещать данные между ними с помощью блоков TSEND и TRCV.
    Передача данных между системами ПЛК
    В этой статье мы изучим новую инструкцию, которую можно использовать для связи и передачи данных между системами ПЛК с помощью блоков TSEND_C и TRCV_C.
    TSEND_C
    Инструкция TSEND_C — это инструкция TIA Portal, которая используется для настройки и установления соединения между двумя ПЛК. После настройки и установки соединения оно будет автоматически поддерживаться и контролироваться ПЛК.
    Инструкция TSEND_C выполняется асинхронно и имеет следующие функции:
    Настройка и установление коммуникационного соединения, аналогичного блоку TCON. Отправка данных через существующее коммуникационное соединение, аналогичное блоку TSEND. Завершение или сброс коммуникационного соединения, аналогично TDISCON. Следовательно, название «компактный» дается TSEND_C, поскольку он действует как более 3 блоков одновременно.
    TRCV_C
    Инструкция TRCV_C также является инструкцией TIA Portal, которая используется для настройки и установления соединения между двумя ПЛК. После настройки и установки соединения оно будет автоматически поддерживаться и контролироваться ПЛК.
    Инструкция «TRCV_C» выполняется асинхронно и последовательно реализует следующие функции:
    Настройка и установление коммуникационного соединения, аналогично TCON. Прием данных через существующее коммуникационное соединение, аналогично TRCV. Завершение или сброс коммуникационного соединения, аналогично TDISCON. Следовательно, название «компактный» дается TRCV_C, поскольку он действует как более 3 блоков одновременно.
    Использование TSEND_C и TRCV_C в нашем проекте ПЛК
    В последней статье, когда нам нужно было установить и перейти к отправке данных из ПЛК_1 в ПЛК_2, нам пришлось использовать три разных блока в каждом ПЛК. Смотрите рисунок 1.

    рисунок 1. Логика внутри ПЛК_1
    Как вы можете видеть, мы использовали блоки TCON и TDISCON для установки и сброса соединения, а также использовали TSEND для отправки данных из ПЛК_1. То же самое было сделано для ПЛК_2. Смотрите рисунок 2.

    рисунок 2. Логика ПЛК_2
    Снова мы использовали блоки TCON и TDISCON для установки и сброса соединения, а также использовали TRCV для получения данных из ПЛК_1.
    Теперь мы хотим заменить все эти блоки и попытаться использовать TSEND_C и TRCV_C вместо этого, чтобы достичь той же функциональности.
    Сначала в ПЛК_1, где нам нужно отправлять данные, мы будем использовать блок TSEND_C, просто перетащив блок внутрь основного OB1. Смотрите рисунок 3.

    рисунок 3. Добавьте блок TSEND_C.
    Поскольку TSEND_C по сути является функциональным блоком, вам будет предложено создать экземпляр данных. Смотрите рисунок 4.

    рисунок 4. Создайте экземпляр для TSEND_C
    TSEND_C похож на блок TSEND в том смысле, что вам нужно сделать некоторые настройки и добавить некоторые сигналы. См. рисунок 5.

    рисунок 5. Блок TSEND_C
    Теперь нам нужен сигнал для REQ и Data для отправки, а также для настройки соединения. Для сигнала REQ мы создали тег SendData.
    Кроме того, мы можем просто перетащить блок данных, который мы создали в прошлой статье, который нам нужно отправить в ПЛК_2, мы можем просто перетащить его на вход DATA блока. См. рисунок 6.

    рисунок 6. Конфигурация блока TSEND_C.
    Чтобы настроить параметр соединения для блока, мы можем нажать на небольшой значок конфигурации в верхней части блока, чтобы открыть представление конфигурации.
    Представление конфигурации будет выглядеть очень похоже на представление блока TCON. См. рисунок 7.

    рисунок 7. Параметр соединения TSEND_C
    Мы уже показали, как настроить параметр соединения в предыдущих статьях, поэтому мы можем просто сделать то же самое, что и с блоком TCON, см. рисунок 8.

    рисунок 8. Настройка параметра соединения
    С этой конфигурацией соединения мы завершили все настройки TSEND_C. Обратите внимание, насколько это быстрее по сравнению с настройкой блоков TCON, TDISCON и TSEND.
    Теперь нам нужно добавить TRCV_C в ПЛК_2, чтобы он мог получать данные, отправленные из ПЛК_1. В главном OB1 ПЛК_1 просто перетащите TRCV_C в свою логику. см. рисунок 9. Не забудьте создать экземпляр данных для блока TRCV_C.

    рисунок 9. Добавьте TRCV_C
    После добавления TRCV_C в вашу логику нам нужно его настроить. Как мы это делали с TSEND_C, нам нужно добавить сигнал для включения приема данных, а также нам нужно добавить блок данных, внутри которого мы будем сохранять данные. Смотрите рисунок 10.

    рисунок 10.TRCV_C
    Мы определили тег RecieveData как сигнал EN_R. Смотрите рисунок 11.

    рисунок 11. Определите тег EN_R
    Не забудьте снять флажок «оптимизированный доступ к блоку» блока данных, иначе блок не будет работать, как мы показали в прошлых статьях.
    Далее нам нужно настроить параметры соединения блока TRCV_C, как мы это делали с TSEND_C, просто помните, что неуказанный партнерский ПЛК теперь является ПЛК_1, см. рисунок 12.

    фото 12. Параметры соединения TRCV_C
    Моделирование проекта ПЛК
    Теперь, когда мы настроили блоки TSEND_C и TRCV_ C, мы хотим смоделировать наш проект и посмотреть, как они будут работать, но сначала мы создадим простую логику для автоматического обновления данных ПЛК_1, которые будут отправлены в ПЛК_2. См. рисунок 13.

    фото 13. Простая логика для автоматического обновления данных.
    Теперь давайте скомпилируем и запустим моделирование для нашего проекта. Первое, что вы заметите, это то, что ПЛК_1 и ПЛК_2 попытаются установить соединение сразу, потому что мы настроили TSEND_C и TRCV_C, они автоматически попытаются установить соединение. Вот почему будет соединение между двумя ПЛК. Смотрите рисунок 14.

    Рисунок 14. Соединение устанавливается напрямую.
    Как вы видите, соединение между ПЛК устанавливается напрямую, потому что параметр CONT в TSEND_C и TRCV_C установлен на TRUE, что означает, что блок автоматически попытается установить соединение с партнерским ПЛК. Мы можем поместить сюда любой управляющий сигнал для управления установлением соединения.
    Другое, что вы можете увидеть, это то, что REQ TSEND_C и EN_R TRCV_C установлены на FALSE, и именно поэтому не будет никаких данных, перемещаемых между ПЛК. См. рисунок 15.

    рисунок 15. Нет передачи данных между ПЛК.
    Если сигнал REQ TSEND_C установлен на значение true, ПЛК_1 попытается отправить данные, но будет ждать, пока другой ПЛК разрешит прием данных, см. рисунок 16.

    рисунок 16. REQ имеет значение true.
    Как вы можете видеть, SendData имеет значение TRUE, но данные не были отправлены, поскольку RecieveData все еще имеет значение false.
    ПЛК_2 будет получать данные от ПЛК_1 только тогда, когда ReceiveData имеет значение true. См. рисунок 17.

    рисунок 17. Данные отправляются в ПЛК_2
    Как вы можете видеть, когда RecieveData имеет значение true. Данные будут отправлены из ПЛК_1 в ПЛК_2, однако вы можете видеть, что данные внутри двух ПЛК отличаются, поскольку данные ПЛК_1 автоматически изменяются в соответствии с простой логикой, которую мы создали ранее. Это означает, что сигнал EN_R позволяет передавать данные один раз, когда мне нужно снова передать данные, этот сигнал должен стать ложным, а затем снова истинным.
    Ознакомьтесь с прикрепленным проектом TIA Portal и посмотрите на передачу данных между ПЛК.

    leigehong
    Изучите пример логики ПЛК на нескольких переключателях и двигателях с помощью релейной диаграммы.
    Этот пример логики ПЛК подготовлен для студентов-инженеров, чтобы они могли изучить и попрактиковаться в релейной логике. Проектирование той же программы ПЛК для промышленного использования будет отличаться.
    Пример логики ПЛК
    Постановка задачи:
    Разработайте релейную логику ПЛК для следующего приложения.
    Используется четыре тумблера для управления четырьмя двигателями.
    Если переключатель 1 включен, то двигатель I будет включен.
    Если переключатель 2 включен, то двигатели I и II будут включены.
    Если переключатель 3 включен, то двигатели I, II и III будут включены.
    Если переключатель 4 включен, то двигатели I, II, III и IV будут включены.
    Входы ПЛК
    Список цифровых входов для этой логики ПЛК указан ниже.
    Switch 1: I0.0
    Switch 2: I0.1
    Switch 3: I0.2
    Switch 4: I0.3
    Выходы ПЛК
    Ниже перечислены необходимые цифровые выходы.
    Motor 1: Q0.0
    Motor 2: Q0.1
    Motor 3: Q0.2
    Motor 4: Q0.3
    Множественные переключатели и моторы. Релейная логика
    Вот логика ПЛК для данной постановки задачи.

    Объяснение программы
    В этом примере мы использовали программное обеспечение Schneider PLC для программирования.
    В приведенной выше программе ПЛК мы использовали нормально открытый контакт для переключателя 1 (I0.0), переключателя 2 (I0.1), переключателя 3 (I0.2) и переключателя 4 (I0.3)
    Переключатель 1, переключатель 2, переключатель 3 и переключатель 4 подключены параллельно для двигателя 1, таким образом реализуя логический вентиль ИЛИ.
    Для двигателя 2 входы переключателя 2, переключателя 3 и переключателя 4 подключены параллельно, таким образом реализуя логический вентиль ИЛИ.
    Переключатель 3 и переключатель 4 реализуют логический вентиль ИЛИ, т. е. подключены параллельно для двигателя 3.
    Только переключатель 4 подключен к двигателю 4.
    Чтобы двигатель 1 был включен, либо переключатель 1, либо переключатель 2, либо переключатель 3, либо переключатель 4 должны быть включены.
    Чтобы включить двигатель 2, либо переключатель 2, либо переключатель 3, либо переключатель 4 должны быть включены.
    Когда переключатель 3 или переключатель 4 включен, то двигатель 3 включится.
    Двигатель 4 включится, когда переключатель 4 будет включен.
    Результаты моделирования ПЛК
    Далее мы увидим результаты моделирования ПЛК с различными комбинациями входных переключателей ВКЛ и ВЫКЛ.
    Когда переключатель 1 включен

    Когда переключатель 1 включен, через него течет ток (здесь мы используем термин «Ток» в случае электрической цепи, поэтому здесь вы можете предположить, что это «Ток» или просто назвать это «Сигналом»).
    В результате включается двигатель 1. Другие двигатели останутся выключенными, потому что переключатель 1 не подключен к ним.
    Когда переключатель 2 включен

    Ток будет течь через переключатель 2, когда он включен, что включит двигатель 1 и двигатель 2. Это так, потому что переключатель 2 подключен только к двигателю 1 и двигателю 2.
    Когда переключатель 3 включен

    Когда переключатель 3 включен, через него протекает ток, который включит три двигателя, т. е. двигатель 1, двигатель 2 и двигатель 3. Входной переключатель 3 подключен только к этим выходам. Двигатель 4 останется выключенным, поскольку переключатель 3 к нему не подключен.
    Когда переключатель 4 включен

    Переключатель 4 включит все двигатели при включении. Переключатель 4 подключен ко всем двигателям, при включении включатся двигатель 2, двигатель 2, двигатель 3 и двигатель 4.

    leigehong
    Это программа ПЛК для реализации SR-триггера в ПЛК. Изучите программирование ПЛК с помощью этого примера логики.
    SR-триггер с помощью логики лестничного типа ПЛК
    Описание проблемы
    Реализуйте программу для логики SR-триггера в ПЛК с помощью языка релейных схем.
    Диаграмма проблемы

    Решение ПЛК
    Как мы знаем, более сложные системы не могут управляться только комбинационной логикой. Основная причина в том, что мы не можем или не хотим добавлять датчики для обнаружения всех условий. В этих случаях мы можем использовать событие для оценки состояния системы.
    SR-триггер используется для Latch on или unlatch — для блокировки чего-либо или выключения его.
    Большинство ПЛК имеют специальную инструкцию для функции SR-триггера. поэтому для таких типов ПЛК не требуется специальной логики. SR-триггер сначала выполняет функцию SET, а затем функцию RESET.
    Примечание: Здесь мы рассматриваем простую функцию инструкции триггера SR без использования специальной инструкции или использования функции защелки. Здесь мы используем простую схему защелки для функции триггера SR.

    Здесь, как показано на рисунке, для реализации программы используются две кнопки или два входа.
    Когда пользователь нажмет кнопку SET или на входе S будет получено 1, выход Q будет включен, а если нажата кнопка RESET или на входе R будет получено 1, Q^ будет включен.
    Список входов/выходов
    Цифровые входы
    Установка входа: I0.0 Сброс входа: I0.1 Цифровые выходы
    Выход Q: Q0.0 Выход Q^: Q0.1 Память M
    Катушка реле 1: M0.0 Катушка реле 2: M0.1 Релейная схема ПЛК для реализации триггера SR



    Объяснение программы
    Для этой программы ПЛК мы используем ПЛК S7-300 и программное обеспечение портала TIA для программирования. Мы можем реализовать эту логику, используя также другие ПЛК.
    Сеть 1:
    Здесь мы использовали NC контакт катушки реле 1 (M0.0), поэтому при нажатии кнопки сброса выход Q (Q0.0) выключен.
    Сеть 2:
    Здесь мы использовали NC контакт катушки реле 2 (M0.1), поэтому при нажатии кнопки установки выход Q^ (Q0.1) выключен.
    Сеть 3:
    Здесь, когда мы нажимаем кнопку сброса (I0.0), катушка реле 1 (M0.0) будет зафиксирована.
    Сеть 4:
    Здесь, когда мы нажимаем кнопку установки (I0.1), катушка реле 2 (M0.1) будет зафиксирована.
    Если оба входа имеют низкий уровень во время включения питания, выход Q^ (Q0.1) станет высоким из-за его порядка. Если оба входа
    Примечание: - Вышеприведенное приложение может отличаться от фактического приложения. Этот пример приведен только для пояснения. Мы также можем реализовать эту логику в других ПЛК. Это простая концепция реализации функции SR flip без инструкции. Мы можем использовать эту концепцию и в других примерах.
    Все параметры, рассматриваемые в примере, приведены только для пояснения, параметры могут отличаться в реальных приложениях.
    Результат


    leigehong
    Это программа ПЛК для реализации аналогового масштабирования в ПЛК S7-300.
    Масштабирование регулирующего клапана
    Описание проблемы
    Реализуйте программу ПЛК в S7-300 для аналогового масштабирования.
    Диаграмма проблемы

    Решение проблемы
    Аналоговые входы поступают от разных датчиков или передатчиков. Передатчики преобразуют физическую величину в электрический сигнал. Мы можем измерять многие физические величины с помощью аналоговых датчиков, таких как температура, давление, уровень, расстояние, расход и т. д.
    Конечно, мы можем измерять все физические величины с помощью аналоговых датчиков, но для примера и пояснения здесь мы возьмем один пример регулирующего клапана.
    Как показано на рисунке, здесь мы рассматриваем один регулирующий клапан, и он имеет выход 4-20 мА (обратная связь клапана) и вход 4-20 мА (команда клапана) для работы. Следовательно, когда ПЛК подаст 20 мА на клапан управления потоком, клапан будет открыт на 100%, а для 4 мА он будет 0% (закрыт).
    В противном случае клапан управления потоком также подает выходной сигнал, который может быть использован для системы замкнутого контура/для индикации процента клапана. Если клапан открыт на 100%, ПЛК получит сигнал 20 мА, а для 0% он получит 4 мА.
    Примечание: - Мы рассматриваем здесь систему замкнутого контура для простого объяснения, поэтому оператор установит параметр команды открытия клапана управления в диапазоне от 0% до 100%.

    Теперь, согласно системе замкнутого контура, клапан управления подаст выходной сигнал (обратная связь клапана), и с помощью инструкции SCALE оператор может увидеть фактический параметр открытия клапана на графике.

    Список входов/выходов
    Память M
    Включить команду-Масштабирование:- M0.0 Биполярный выбор-Масштабирование:- M0.1 Фактическое значение с датчика или передатчика:- MW10 Слово ошибки-Масштабирование:- MW12 Масштабированный выход:- MD20 Включить команду-Отмена масштабирования:- M1.0 Биполярный выбор-Отмена масштабирования:- M0.2 Заданное значение с дисплея:- MD24 Слово ошибки-Отмена масштабирования:- MW16 Немасштабированный выход:- MW26 Схема релейной логики ПЛК для масштабирования клапана

    Объяснение релейной логики
    Для этого приложения мы используем ПЛК S7-300 и TIA Портальное программное обеспечение для программирования. Мы можем реализовать эту логику, используя также другой ПЛК.
    Сеть 1:
    В этой сети логика масштабирования выполняется, когда команда Enable (M0.0) включена.
    Инструкция «Scale» предназначена для преобразования целого числа (здесь сигнал 4-20 мА от регулирующего клапана или MW10) в параметре IN, который может быть масштабирован в физических единицах между нижним пределом (выход 0%) и верхним пределом (выход 100%).
    Результат или масштабированный выход (MD20) инструкции выводится в параметре OUT.
    Если биполярный выбор (M0.1) включен, предполагается, что значение параметра IN является биполярным (диапазон от -27648 до +27648).
    Если биполярный выбор (M0.1) выключен, предполагается, что значение параметра IN является униполярным (диапазон от 0 до 27648).
    Сеть 2:
    Инструкция «Unscale» используется для немасштабирования числа с плавающей точкой (заданное значение с дисплея или MD24) в параметре IN в физические единицы между нижним пределом и верхним пределом.
    Результатом инструкции является выход (немасштабированный выход MW26) в параметре OUT. Если биполярный выбор (M0.2) включен, предполагается, что значение в параметре IN является биполярным (диапазон от -27648 до +27648).
    Если биполярный выбор (M0.2) выключен, предполагается, что значение в параметре IN является униполярным (диапазон от 0 до 27648).
    Таблица кодов ошибок:

    Примечание: приведенное выше приложение может отличаться от фактического приложения. Этот пример приведен только для пояснения. Мы можем реализовать эту логику и в других ПЛК. Это простая концепция инструкций SCALE и UNSCALE, мы можем использовать эту концепцию и в других примерах.
    Все параметры, рассматриваемые в примере, приведены только для пояснения, в реальных приложениях параметры могут отличаться.
    Результат


    leigehong
    Это программа ПЛК для управления уровнем параллельных резервуаров. Изучите программирование ПЛК на этом примере.
    Управление уровнем параллельных резервуаров
    Описание проблемы
    Два резервуара соединены параллельно. Нам нужно нагревать и охлаждать поступающий в резервуары материал и одновременно контролировать уровень в резервуарах.
    Реализуйте программу ПЛК для этого приложения.
    Диаграмма проблемы

    Решение проблемы
    Процесс нагрева используется для нагрева материала в резервуаре, а процесс охлаждения используется для охлаждения материала. Здесь рассмотрим оба материала, как показано на рисунке, впускной клапан подает материал в оба резервуара.
    Здесь мы можем использовать реле уровня для определения низкого и высокого уровня для обоих резервуаров.
    Используйте два датчика температуры для измерения температуры обоих резервуаров.
    Выпускные клапаны используются в нижней части резервуаров для слива материалов для дальнейшей обработки.
    Мы напишем программу ПЛК для этого приложения.
    Список входов и выходов
    Цифровые входы
    Начало цикла: I0.0 Остановка цикла: I0.1 Низкий уровень бака 1(LL1): I0.3 Низкий уровень бака 2(LL2): I0.4 Высокий уровень бака 1(LH1): I0.5 Высокий уровень бака 2(LH2): I0.6 Цифровые выходы
    Впускной клапан V2 для нагревательного бака: Q0.0 Впускной клапан V3 для охлаждающего бака: Q0.1 Выпускной клапан V4 для нагревательного бака: Q0.2 Выпускной клапан V5 для охлаждающего бака: Q0.3 Память M
    Бит включения цикла: M0.0 Регистр температуры нагревательного бака: MD10 Регистр температуры охлаждающего бака: MD14 Выпускной клапан V5 для охлаждающего бака :- Q0.3 Программа ПЛК для контроля уровня параллельных баков




    Объяснение программы
    Для этого приложения мы использовали ПЛК S7-300 и программное обеспечение портала TIA для программирования. Мы можем реализовать эту логику также с помощью других ПЛК.
    Сеть 1:
    Эта сеть предназначена для защелкивающейся схемы. Всякий раз, когда нажимается кнопка ПУСК (I0.0), бит ВКЛ цикла (M0.0) будет включен. Цикл можно остановить, нажав кнопку СТОП PB (I0.1).
    Сеть 2:
    При обнаружении низкого уровня в нагревательном баке (I0.3) впускной клапан V2 (Q0.0) будет включен. Если высокий уровень бака 1 (I0.5) не обнаружен и нажата кнопка START (I0.0), впускной клапан V2 (Q0.0) будет включен.
    Сеть 3:
    Если низкий уровень бака 2 (I0.4) обнаружен, впускной клапан V3 (Q0.1) будет включен. Если нажата кнопка START и высокий уровень бака 2 (I0.6) не обнаружен, впускной клапан V3 (Q0.1) будет включен.
    Сеть 4:
    Если цикл включен и фактическая температура нагревательного бака (MD10) больше или равна заданной температуре (70 °C), выпускной клапан V4 (Q0.2) будет включен
    Сеть 5:
    Если цикл включен и фактическая температура охлаждающего бака (MD14) меньше или равна заданной температуре (20 °C), выпускной клапан V5 (Q0.3) будет включен.
    Примечание: этот пример приведен только для пояснения. Мы можем реализовать эту логику в любом ПЛК или с помощью релейной логики. Вышеуказанное приложение может отличаться от фактического приложения или может быть частью заводской логики.
    Результат


    leigehong
    Это программа ПЛК для систем охранной сигнализации. Изучите программирование ПЛК на примере этой задачи.
    Система охранной сигнализации
    Описание задачи
    Создайте программу охранной сигнализации в ПЛК S7-1200 для дома.
    Рассмотрим один дом, в нем мы хотим организовать автоматическую систему охранной сигнализации. Сигнализация должна включаться, когда датчик движения обнаружит любого человека.
    Схема задачи

    Решение задачи
    Мы можем решить эту задачу, используя простую логику. Здесь мы можем использовать два датчика, один датчик движения и второй датчик окна. Датчик окна — это петля проводов.
    Датчик движения спроектирован таким образом, что когда в доме или комнате обнаруживается человек, датчик активируется (меняет свое состояние на 1 или истина)
    Важным моментом в датчике окна является то, что ток всегда проходит, пока не разобьется стекло. Следовательно, выход всегда истинный, и когда кто-то попытается разбить стекло окна, ток не будет течь по цепи.
    Список входов и выходов
    Список входов
    Система ПУСК :- I0.0 Система ОСТАНОВ :- I0.1 Детектор движения :- I0.2 Датчик окна :- I0.3 Кнопка остановки сигнализации :- I0.4 Список выходов
    Сигнал :- Q0.0 Память M
    M0.0 :- Главная катушка. M0.1 :- Состояние тревоги. Релейная схема ПЛК для системы охранной сигнализации


    Описание программы
    В этой задаче мы рассмотрим ПЛК S7-1200 и программное обеспечение портала TIA для программирования.
    Сеть 1:
    Эта сеть показывает простую схему фиксации для включения и выключения системы.
    мы использовали нормально открытый (НО) контакт кнопки ПУСК системы (I0.0) и нормально замкнутый контакт кнопки СТОП системы (I0.1) для активации системы.
    Сеть 2:
    Когда система активирована и датчик движения (I0.2) обнаруживает вход человека, состояние тревоги (M0.1) будет включено, и это активирует сигнал тревоги (Q0.0).
    Обычно нормально замкнутый контакт датчика окна (I0.3) используется параллельно, поэтому в нормальном состоянии он истинный. Если обнаружено разбитие стекла или состояние окна, вход датчика окна (I0.3) становится ложным, и это активирует состояние тревоги (M0.1).
    Сеть 3:
    В этой сети защелкивающаяся схема используется для тревоги (Q0.0). Если обнаружено состояние тревоги (M0.1), сигнал тревоги будет включен, и его можно остановить, нажав сигнал СТОП PB (I0.4).
    Примечание: - Вышеприведенная логика приведена только для пояснения. Мы можем реализовать этот пример, также используя логику жесткого реле. Система ПЛК S7-1200 очень дорогая для этой простой системы.
    Результат


    leigehong
    Создайте программу ПЛК для реализации сумматора для расходомера. Расходомер имеет выход 4-20 мА, который представляет расход топлива в трубе от 0 до 100 литров/час.
    Программа PLC для сумматора расхода
    Используя эту логику, мы можем рассчитать общее количество топлива, прошедшего через трубу.
    Когда значение сумматора достигает 5000 литров, оно автоматически должно быть сброшено, или мы можем сбросить значение с помощью кнопки RESET.

    Решение проблемы
    Мы можем решить эту проблему с помощью простой логики. Здесь мы рассмотрим расходомер для измерения топлива с максимальным расходом 100 литров/час.
    Здесь мы преобразуем этот расход из л/ч в л/сек, используя инструкцию DIV для расчета.
    После этого, используя тактовый импульс длительностью 1 секунда, мы сохраним это значение в другой ячейке памяти, и каждое второе новое значение будет добавляться и обновляться.
    Здесь, например, мы считаем, что максимальное значение для сумматора составляет 5000 литров, поэтому после этого значения сумматор должен быть СБРОСЕН.
    Поэтому мы сравним это значение с фактическим значением и сбросим его автоматически или предоставим кнопку СБРОСА для сброса значения сумматора.
    Список входов/выходов
    Список входов
    Сброс:- I0.0 Память M
    M0.5:- 1-секундный (1с) тактовый импульс M1.2:- Положительный фронт тактового импульса MD10:- Слово памяти для конечного выхода (л/ч) расходомера MD18:- Слово памяти для конечного выхода (л/с) расходомера MD22:- Общее добавление литров MD26:- Общее количество топлива в литрах Релейная диаграмма для сумматора



    Объяснение программы
    В этой задаче мы рассмотрим программное обеспечение S7-300 ПЛК и TIA portal для программирования.
    Сеть 1:
    Здесь мы взяли конечное выходное значение расходомера в л/ч (MD10). Используя инструкцию DIV, мы преобразовали поток L/H в L/sec, а конечное значение сохранилось в MD18.
    Сеть 2:
    Здесь тактовый импульс 1 с (M0.5) будет добавлять значение каждую секунду и сохранять результат в слове памяти MD22.
    Сеть 3:
    Здесь мы переместили значение MD22 в MD26 (общее количество топлива в литрах) для отображения.
    Сеть 4:
    В этой сети нам нужно сбросить сумматор. Если общее количество топлива больше 5000 (значение 5000 приведено для примера, оно зависит от конфигурации расходомера и его диапазона), то счетчик сумматора должен автоматически обнулиться или мы можем сбросить его, нажав кнопку RESET (I0.0).
    Примечание: приведенная выше логика приведена только для пояснения. Здесь мы рассмотрели только конечный вывод масштабирования, поэтому мы не упомянули масштабирование 4-20 мА в логике.
    Результат


    leigehong
    Обсудите примеры программирования таймера ПЛК: различные таймеры ПЛК – TON, TOF, TP и TONR. Инструкции таймера ПЛК и примеры логики таймера ПЛК.
    Программирование таймера ПЛК
    Реализация таймеров IEC (TON, TOF, TP и TONR) в ПЛК S7-1200 с использованием TIA Portal.
    Во многих приложениях требуется контролировать время или поток сигналов. Например, клапан или двигатель может нуждаться в управлении для работы в течение определенного интервала времени, включении через определенный интервал времени или после некоторой задержки.
    Диаграмма проблемы

    Решение проблемы
    Для этой проблемы мы будем использовать таймеры IEC (TON, TOF, TP и TONR) в ПЛК S7-1200 с примерами.
    Существует ряд различных форм таймеров, которые можно найти в ПЛК. Как показано на схеме выше,
    Таймер задержки включения, который включается после определенной задержки. Таймеры задержки выключения включаются на фиксированный период времени после выключения входа. Импульсный таймер включается или выключается на фиксированный период времени. Аккумуляторный таймер записывает интервалы времени. Здесь рассмотрим пример с четырьмя двигателями и четырьмя ПЕРЕКЛЮЧАТЕЛЯМИ для объяснения таймеров. Нам нужно запустить три двигателя разными способами.
    Первый двигатель запустится после 10-секундной задержки, второй двигатель запустится немедленно и выключится после 10-секундной задержки, а третий двигатель запустится с импульсом и выключится с 10-секундной задержкой. Четвертый двигатель будет работать в общей сложности 10 секунд. Список входов/выходов
    Список входов
    SWITCH 1: I0.0 SWITCH 2: I0.1 SWITCH 3: I0.2 SWITCH 4: I0.3 Сброс: I0.4 Список выходов
    MOTOR 1: Q0.0 MOTOR 2: Q0.1 MOTOR 3: Q0.2 MOTOR 4: Q0.3 Релейная схема ПЛК для таймеров
    Мы можем использовать инструкцию Generate-ON-delay или ON delay timer для задержки установки выхода Q на запрограммированную длительность PT. Инструкция запускается, когда результат входа IN изменяется с 0 на 1 (положительный фронт).
    Вы можете контролировать текущее значение времени на выходе ET блока таймера. Значение таймера начинается с T#0s и заканчивается, когда достигается значение длительности PT. Выход ET сбрасывается, как только состояние сигнала на входе IN меняется на 0.

    Мы можем использовать инструкцию Generate off-delay или off-delay timer для задержки сброса выхода Q на запрограммированную длительность PT.
    Выход Q устанавливается, когда результат логической операции (RLO) на входе IN меняется с 0 на 1 (положительный фронт сигнала).
    Мы можем контролировать текущее значение времени на выходе ET.

    Мы можем использовать инструкцию Generate impulse для установки выхода Q на запрограммированную длительность.
    Инструкция запускается, когда результат входа IN меняется с 0 на 1 (положительный фронт).
    Запрограммированное время (PT) начинается, когда запускается инструкция. В этом таймере даже если обнаружен новый положительный фронт, состояние сигнала на выходе Q не изменяется, пока идет длительность времени PT.

    Инструкция аккумулятора времени или таймер аккумулятора используется для накопления значений времени в течение периода, установленного параметром запрограммированного времени (PT).
    Когда состояние сигнала на входе IN изменяется с 0 на 1 (положительный фронт), инструкция выполняется, и начинается отсчет времени PT.
    В этом случае параметр Q остается установленным на 1, даже когда состояние сигнала на параметре IN изменяется с 1 на 0″ (отрицательный фронт). Вход R сбрасывает выход Q.

    Описание программы
    В этой задаче мы рассмотрим программное обеспечение S7-1200 PLC и TIA portal для программирования.
    Сеть 1:
    В этой сети мы использовали таймер задержки включения (генерировать задержку включения) для MOTOR 1 (Q0.0).
    Когда статус SWITCH 1(I0.0) изменится с 0 на 1, инструкция таймера будет выполнена, и она активирует MOTOR 1(Q0.0) после 10-секундной задержки.
    Сеть 2:
    В этой сети мы использовали таймер задержки выключения (генерируем задержку выключения) для MOTOR 2(Q0.1).
    Когда статус SWITCH 2(I0.1) изменится с 0 на 1, инструкция таймера будет выполнена, и она немедленно активирует MOTOR 2(Q0.1).
    Также, когда статус SWITCH 2(I0.1) изменится обратно на 0, запустится запрограммированное время (PT), и по истечении времени MOTOR 2(Q0.1) будет ВЫКЛЮЧЕН.
    Сеть 3:
    В этой сети мы использовали импульсный таймер (генерируем импульс) для MOTOR 3(Q0.2).
    Когда статус SWITCH 3(I0.2) меняется с 0 на 1, инструкция таймера будет выполнена, и он немедленно активирует MOTOR 3(Q0.2).
    В этом случае даже обнаружен новый положительный фронт, статус MOTOR 3(Q0.2) не изменяется, пока идет запрограммированное время (PT).
    Сеть 4:
    В этой сети мы использовали аккумуляторный таймер (аккумуляторное время) для MOTOR 4(Q0.3). Когда статус SWITCH 4(I0.3) меняется с 0 на 1, инструкция таймера будет выполнена, и MOTOR 4(Q0.3) запустится через 10 с.
    MOTOR 4(Q0.2) останется включенным, даже если статус входа изменится обратно на 0. Сброс (I0.4) необходим для сброса таймера или накопленного времени.
    Тестовые случаи во время выполнения


    leigehong
    Создайте программу ПЛК для альтернативной выходной цепи с защелкивающейся функцией и объясните логику релейной схемы с решением.
    Альтернативная выходная цепь
    Описание проблемы
    Включение света нажатием ПЕРЕКЛЮЧАТЕЛЯ в первый, третий, пятый раз и т. д. и выключение того же света нажатием ПЕРЕКЛЮЧАТЕЛЯ во второй, четвертый, шестой раз и т. д.
    Восстановление состояния выхода на «0» при включении питания системы или цикла. Выход может быть ПУСК нажатием КНОПКИ НЕЧЕТНОЕ количество раз и может быть ОСТАНОВЛЕН нажатием той же КНОПКИ ЧЕТНОЕ количество раз.
    Диаграмма проблемы

    Решение проблемы
    Мы можем решить эту проблему с помощью простой релейной логики. В этом мы рассмотрим один простой пример альтернативной работы светодиода.
    Здесь мы рассмотрим один светодиод и одну КНОПКУ. Нажмите КНОПКУ попеременно, и выход должен быть ВКЛ/ВЫКЛ попеременно, здесь, когда кнопка нажата нечетное количество раз, выход должен быть ВКЛ, а когда кнопка нажата четное количество раз, выход должен быть ВЫКЛ.
    Список входов и выходов ПЛК
    Список входов
    ПЕРЕКЛЮЧАТЕЛЬ: I0.0 Список выходов
    Светодиод: Q0.0 Память M
    M0.0 для состояния сброса светодиода M0.1 для сброса счетчика M11.0 и M11.1 – Положительный фронт Релейная диаграмма для альтернативной выходной цепи (с функцией фиксации)




    Описание программы ПЛК
    В этом приложении мы использовали ПЛК Siemens S7-300 и программное обеспечение TIA Portal для программирования.
    Сеть 1:
    В сети 1 мы использовали инструкцию SET для установки светодиода (Q0.0). Здесь мы взяли НО контакт КНОПКИ (I0.0)
    поэтому светодиод (Q0.0) можно активировать нажатием КНОПКИ (I0.0).
    Сеть 2:
    Здесь мы использовали счетчик, поэтому он будет подсчитывать количество переключений КНОПКИ (I0.0).
    Этот счетчик сообщит нам о количестве нажатий кнопки, ее значении или значении ЧЕТНОМ или НЕЧЕТНОМ числе.
    Сеть 3:
    Когда счетчик достигнет своего предустановленного значения (2) или, скажем, ЧЕТНОГО числа раз, НО контакт счетчика установит M0.0 (условие сброса светодиода).
    Сеть 4:
    В этой сети НО контакт M0.0 СБРОСИТ светодиод и счетчик.
    Здесь M0.1 (память сброса счетчика) СБРОСИТ счетчик.
    Сеть 5:
    Если M0.0 включен и сработает отрицательный переход (с 1 на 0) кнопки (I0.0), то состояние RESET светодиода будет выключено.
    Примечание: этот пример приведен для понимания базовой концепции альтернативной выходной цепи, это не полное приложение, но мы можем использовать эту концепцию в любом приложении автоматизации или любой системе.
    Тестовые случаи


    leizuofa
    Создайте программу ПЛК для индикации аварийных сигналов в отрасли управления процессами. Изучите программирование ПЛК на этом промышленном примере.
    Индикация аварийных сигналов в управлении процессами
    Во многих отраслях промышленности есть много машин, которые выполняют множество задач автоматически. В системе или процессе используется множество датчиков и компонентов.
    Иногда оператор не может определить проблемы машины или системы с помощью визуальных наблюдений. А также иногда есть вероятность, что машина перестанет работать из-за какой-то проблемы в ней.
    Схема проблемы

    Решение ПЛК
    Мы можем решить эту проблему, добавив аварийные сигналы в систему или процесс. Аварийные сигналы добавляются для оповещения оператора о необходимости отслеживать, что машина/процесс вот-вот перейдет свои предельные значения или уже перешел предел.
    Аварийные сигналы оператору сообщаются сигнализатором или гудками, а также разноцветными индикаторами на панели. (Например, зеленый свет означает «ОК», желтый означает «НЕ ОК», а красный означает «ПЛОХО».)
    Целью сигнализации является использование автоматизации для помощи операторам-людям в отслеживании и управлении процессами, а также оповещение их о нештатных ситуациях на предприятии.
    Входящие/входящие сигналы процесса постоянно отслеживаются, и если значение данного сигнала переходит в нештатное состояние, визуальный и/или звуковой сигнал тревоги информирует оператора о ситуации.
    Мы можем настроить сигналы тревоги для системы различными способами, такими как MIMIC, индикаторные лампы на панели управления, SCADA, HMI и т. д.
    Для обсуждения наших проблем мы рассмотрели одну простую систему и настроили сигналы тревоги для системы.
    Например, рассмотрим один процесс наполнения и выгрузки, и в этой системе мы хотим рассмотреть некоторые сигналы тревоги, мы будем отображать сигналы тревоги с помощью ламп на панели управления.
    Например, рассмотрим следующие сигналы тревоги для нашей системы:
    Нажата кнопка аварийного останова Ошибка открытия клапана подачи Ошибка закрытия клапана подачи Ошибка открытия выпускного клапана Ошибка закрытия выпускного клапана Здесь все ошибки, поэтому мы берем все красные цветовые обозначения, как показано на рисунке выше.
    Список входов и выходов в ПЛК
    Список входов
    НАЧАЛО цикла: I0.0 ОСТАНОВКА цикла: I0.1 Переключатель низкого уровня, LL: I0.2 Переключатель высокого уровня, LH: I0.3 Открытие VLV подачи LS: I0.4 Закрытие VLV подачи LS: I0.5 Открытие VLV диска LS: I0.6 Открытие VLV диска. VLV закрыть LS : I0.7 Аварийная остановка : I1.0 СБРОС : I1.1 Список выходов
    Цикл ВКЛ : Q0.0 Клапан подачи : Q0.1 Дисковый клапан : Q0.2 ЗУММЕР : Q0.3 Аварийная остановка нажата : Q0.4 (индикаторная лампа) Ошибка открытия VLV подачи : Q0.5 (индикаторная лампа) Ошибка закрытия VLV подачи : Q0.6 (индикаторная лампа) Ошибка открытия VLV диска : Q0.7 (индикаторная лампа) Ошибка закрытия VLV диска : Q1.0 (индикаторная лампа) Программа ПЛК для индикации аварийного сигнала в процессе Управление









    Объяснение логики
    В этом приложении мы использовали Siemens S7-300 PLC и программное обеспечение TIA Portal для программирования.
    Сеть 1:
    В сети 1 мы использовали схему фиксации для выхода цикла ВКЛ (Q0.0). Его можно запустить, нажав цикл START PB (I0.0) и STOP, нажав STOP PB (I0.1).
    Когда цикл будет START, система проверит уровень в баке. Если уровень в баке низкий, то начнется процесс подачи, а если уровень в баке достигнет высокого, то НАЧНЕТСЯ цикл выгрузки.
    Сеть 2:
    Когда уровень в баке достигает низкого значения, активируется LL (I0.2) и включается цикл подачи. Здесь мы взяли NC-контакт LH (I0.3), поэтому, когда ПЛК обнаружит высокий уровень, он ОСТАНОВИТ цикл подачи.
    Сеть 3:
    Когда уровень в баке достигает высокого значения, активируется LH (I0.3), и включается цикл выгрузки.
    Здесь мы взяли NC-контакт LL (I0.2), поэтому, когда ПЛК обнаружит низкий уровень, он ОСТАНОВИТ цикл выгрузки.
    Сеть 4:
    Когда система получает входной сигнал аварийного останова (I1.0), она активирует выходной сигнал аварийного останова (Q0.4), и оператору будет предоставлена индикация тревоги.
    Сеть 5:
    В этой сети мы настроили сигнализацию об ошибке открытия клапана подачи (Q0.5), когда клапан подачи включен, а клапан подачи открыт LS (I0.4), тогда таймер ЗАПУСТИТСЯ, и через 5 с включается сигнализация об ошибке открытия клапана подачи (Q0.5).
    Сеть 6:
    В этой сети мы настроили сигнализацию об ошибке закрытия клапана подачи (Q0.6), когда клапан подачи закрыт, а клапан подачи закрыт LS (I0.5), тогда таймер ЗАПУСТИТСЯ, и через 5 с включается сигнализация об ошибке закрытия клапана подачи (Q0.6).
    Сеть 7:
    В этой сети мы настроили сигнализацию об ошибке открытия клапана диска (Q0.7), когда клапан подачи включен, а клапан подачи открыт LS (I0.6), тогда таймер ЗАПУСТИТСЯ, и через 5 с включается сигнализация об ошибке открытия клапана диска (Q0.7).
    Сеть 8:
    В этой сети мы настроили сигнализацию об ошибке закрытия дискового VLV (Q1.0), когда дисковый клапан ЗАКРЫТ и не обнаружена LS-функция закрытия дискового VLV (I0.7), то запустится таймер, и через 5 с включится сигнализация об ошибке закрытия дискового VLV (Q1.0).
    Сеть 9:
    В этой сети мы настроили ЗУММЕР для всех сигналов тревоги, при обнаружении сигнала тревоги активируется ЗУММЕР (Q0.3), и его можно СБРОСИТЬ, нажав кнопку СБРОС (I1.1).
    Сеть 10:
    Оператор может сбросить ЗУММЕР, нажав RESET (I1.0)
    Тестовые случаи

    Примечание: приведенная выше логика ПЛК дает базовую идею о применении ПЛК в индикации аварийных сигналов процесса. Логика ограничена и не является полным приложением.

    leizuofa
    Это программа ПЛК для положительного фронта импульсного выхода для одного цикла сканирования. Изучите логику релейной связи с решением.
    Положительный фронт импульсного выхода
    Описание проблемы
    В некоторых приложениях нам нужно запустить операцию/функцию на основе внешнего входного сигнала. Мы можем использовать цифровой вход в качестве команды запуска для активации требуемой функции.
    Иногда мы используем положительный переход цифрового входного сигнала для запуска команды вместо непрерывного/полного импульса цифрового входного сигнала.
    Здесь мы рассмотрим пример простой логики, в которой два значения регистров будут увеличиваться после получения команды запуска. Каждый регистр имеет предустановленное значение, скажем, значение «1». Таким образом, при каждой команде запуска значения регистра сумматора будут увеличиваться на значение «1».
    Для регистра сумматора 1 мы используем положительный фронт (от 0 до 1) запускаемого входного сигнала, а для регистра сумматора 2 мы используем простой цифровой входной сигнал (от 0 до 1 и от 1 до 0). Мы видим преимущества и недостатки использования команды запуска с использованием положительного фронта и без него.
    Мы можем использовать ту же логику в других приложениях, например, обнуление значений регистра, принудительное назначение значениям регистра определенного значения с небольшим изменением логики и т. д.
    Проблема

    Решение
    Мы можем решить эти типы проблем с помощью положительного фронта или нарастающего фронта цифрового входа. Здесь мы рассмотрим ПЛК S7-300 для программирования, поэтому мы можем контролировать значение и моделировать его. Мы можем использовать SIM ПЛК для целей моделирования. Здесь мы рассмотрели один простой пример. В этом примере мы рассмотрим регистр «Администратор 1», который будет добавлять значение «1», когда происходит переход от 0 к 1 команды запуска. Значение регистра будет увеличиваться на значение 1 после каждого запуска. Для регистра «Администратор 2» значение будет увеличиваться после получения цифрового входа. Здесь мы не используем запуск по положительному фронту. Список входов/выходов
    Список входов
    Команда запуска: I0.0 Катушка памяти
    Положительный фронт команды запуска: M0.0 Общее значение: MW2 Общее значение 2: MW4 Логика ПЛК
    Сеть 1:
    Начальное значение регистра «Администратор 1» равно нулю. После подачи команды запуска по положительному фронту 18 раз выход будет иметь значение 18, поскольку он увеличивается на значение «1».

    Моделирование (PLCSIM-300) для команды запуска с положительным фронтом.

    Сеть 2:
    Начальное значение регистра «Администратор 2» равно нулю. После подачи команды запуска (без положительного/отрицательного фронта) 18 раз на выходе будет некоторое случайное число (например, 7506) вместо значения 18, как при непосредственном получении команды запуска.

    Моделирование (PLCSIM-300) для команды запуска без положительного фронта.

    Описание логики ПЛК
    В этом приложении мы использовали ПЛК Siemens S7-300 и программное обеспечение TIA Portal для программирования. Здесь мы рассмотрели два примера для объяснения положительного фронта. Любой может легко понять концепцию. В сети 1, когда срабатывает команда запуска (I0.0), то произойдет переход от 0 к 1, и будет выполнена инструкция положительного импульса. Скажем, регистр «Администратор 1» будет сохранен со значением «1» в MW0, если сработает команда запуска (I0.0), то значение будет увеличено на «1». Вот, например, мы сработали 18 раз, когда сумматор 1 равен нулю, поэтому сумматор добавил 18 в общее значение (MW0) Другой пример мы взяли в сети 2, не используя положительный импульс. Так что здесь вы можете увидеть результат. Скажем, мы нажали или сработали 18 раз, но это добавило 7506 (это случайное значение, оно может отличаться во время моделирования) в общее значение 2 (MW4), так что это не правильное сложение. Поскольку один импульс имеет восходящие или нисходящие фронты / положительные или отрицательные импульсы (от 0 до 1 и от 1 до 0). Здесь мы также использовали PLC SIM для моделирования, поэтому мы можем смоделировать общее сложение. В первой сети мы добавили положительный фронт, поэтому симулятор показывает 18. Во второй сети мы добавили команду триггера без положительного фронта, поэтому он показывает некоторое случайное значение. Это концепция положительного фронта, мы можем использовать этот положительный фронт во время любого приложения программирования. Вышеприведенная программа и моделирование предназначены только для пояснения, и значение моделирования может отличаться во время моделирования. Результат

    Примечание: Приведенная выше логика ПЛК дает базовую идею о применении команды запуска по положительному фронту в логике ПЛК. Логика ограничена и не является полным приложением.

    leizuofa
    Это программа ПЛК для процесса заполнения и слива воды с использованием ПЛК S7-1200.
    Процесс заполнения и слива воды
    Описание проблемы
    Во многих отраслях промышленности или на заводах для хранения воды используется множество ручных систем заполнения водой.
    В ручной системе есть много недостатков, таких как точность, проблемы с задержкой по времени, потеря жидкости и затраты времени.
    И из-за ручной системы нам приходится назначать оператора для работы машины. Из-за ручной системы происходит потеря воды
    Здесь мы обсуждаем полуавтоматическую систему.
    Диаграмма

    Решение ПЛК
    Чтобы решить эту проблему, мы будем использовать ПЛК S7-1200 для программирования.
    Здесь мы используем два датчика для измерения уровня, один для высокого уровня, а второй для низкого уровня.
    Мы используем клапан подачи (MV1) для цикла заполнения бака и клапан сброса (MV2) для цикла опорожнения бака. Оба будут контролироваться в соответствии с логикой датчика.
    Таким образом, когда уровень воды опускается ниже нижнего уровня, клапан подачи автоматически включается, а когда уровень воды достигает высокого уровня и это определяется датчиком высокого уровня, процесс опорожнения включается автоматически.
    При обнаружении высокого уровня включается зуммер для подачи сигнала тревоги. Цикл останавливается, если пользователь нажимает кнопку остановки на панели управления.
    Входы и выходы ПЛК
    Цифровые входы
    Пуск PB: I0.0 Останов PB: I0.1 TLB 1: I0.3 TLB 2: I0.2 Цифровые выходы
    Цикл ВКЛ: Q0.0 Клапан MV1 (подача): Q0.1 Клапан MV2 (выгрузка): Q0.2 Мешалка/миксер M: Q0.3 Зуммер: Q0.4 ПЛК Процесс заполнения и выгрузки воды

    Пояснение программы ПЛК
    Для этого приложения мы использовали ПЛК S7-1200 и программное обеспечение портала TIA для программирования.
    В сети 1 мы использовали схему фиксации для выхода цикла ВКЛ (Q0.0). Его можно запустить, нажав ПУСК PB (I0.0), и остановить, нажав СТОП PB (I0.1).
    Когда цикл будет запущен, система проверит уровень в баке. Если уровень в баке низкий, то начнется процесс подачи, а уровень в баке высокий, то начнется цикл выгрузки.
    Здесь мы взяли НО контакт для обоих датчиков в программе для простоты. Это можно сделать с помощью релейной логики в полевых условиях или вы можете использовать такой тип датчиков.
    Когда бак обнаружит низкий уровень, то TLB 2 (I0.2) будет активирован, и тогда цикл подачи будет включен. Здесь мы взяли НЗ контакт TLB1 (I0.3), поэтому, когда ПЛК обнаружит высокий уровень, то он остановит цикл подачи.
    Когда бак обнаружит высокий уровень, то TLB 1 (I0.3) будет активирован, и тогда цикл выгрузки будет включен. Здесь мы взяли НЗ контакт TLB2 (I0.2), поэтому, когда ПЛК обнаружит низкий уровень, то он остановит цикл выгрузки.
    Смеситель M (Q0.3) должен быть включен во время цикла выгрузки для смешивания.
    Здесь мы также рассмотрели сигнализацию для высокого уровня, чтобы информировать оператора. При обнаружении TLB 1(I0.3) активируется зуммер (Q0.4).
    Во время всех функций цикл должен быть включен.
    Тестовые случаи во время выполнения

    Примечание: приведенная выше логика ПЛК обеспечивает базовую идею о применении ПЛК в процессе заполнения и слива воды. Логика ограничена и не является полным приложением.

    leizuofa
    Создайте программу ПЛК для автоматического смешивания жидкостей с использованием программирования релейной логики. Изучите процесс смешивания с использованием релейной схемы ПЛК.
    Приложение смешивания жидкостей
    Описание проблемы
    Во многих отраслях промышленности для смешивания растворов используется множество систем смешивания. Некоторые заводы используют полную автоматизацию или полуавтоматизацию.
    В ручной системе существует множество недостатков, таких как недостаточная точность, проблемы с задержкой по времени, потеря жидкостей, затраты времени и т. д.
    Здесь мы обсуждаем полуавтоматическое применение системы смешивания.
    Схема

    Решение проблемы
    В этом примере мы используем программирование ПЛК, и для этого мы используем ПЛК Siemens S7-1200.
    Для простого объяснения мы можем рассмотреть простой пример системы смешивания, как показано выше.
    В этом приложении оператор может приготовить чистый несмешанный раствор с помощью переключателей S1 и S2. А смешанный раствор или материал может приготовить оператор с помощью переключателя S3.
    Оператор наблюдает за уровнем в баке и может сливать жидкость из бака с помощью клапана V5.
    Также двигатель мешалки M будет работать во время заполнения бака. Мы предусмотрим систему блокировки, чтобы оператор не мог одновременно управлять обоими переключателями.
    V1, V3 и V5 — это ручные клапаны, которые не подключены к ПЛК.
    V2 и V4 — это клапаны с электронным управлением, которыми может управлять ПЛК.
    Список входов и выходов ПЛК
    Цифровые входы
    Имеется три переключателя S1, S2 и S3
    S1: I0.0 S2: I0.1 S3: I0.3 Цифровые выходы
    У нас есть два клапана V2 и V4. один двигатель мешалки M1
    V2 : Q0.0 V4 : Q0.1 M1 : Q0.2 Схема ПЛК для автоматического смешивания жидкостей

    Объяснение программы ПЛК
    Для этого приложения мы использовали ПЛК S7-1200 и программное обеспечение портала TIA для программирования.
    В сети 1 мы взяли НО контакт S1 (I0.0) и НЗ контакт S2 (I0.1) и S3 (I0.2) последовательно. Активируя переключатель S1, оператор может ЗАПУСТИТЬ клапан V2 для раствора 1 (жидкость 1).
    В сети 2 мы взяли НО контакт S2 (I0.1) и НЗ контакт S1 (I0.0) и S3 (I0.2) последовательно. Активируя переключатель S2 (I0.1), оператор может ЗАПУСТИТЬ клапан V4 (Q0.1) для раствора 2 (жидкость 2).
    Для обеих сетей 1 и 2 мы взяли параллельное соединение, НО контакт S3 (I0.2) и последовательно с НЗ контактом S1 (I0.0) и S2 (I0.1).
    Из-за вышеуказанного параллельного соединения оператор может управлять обоими клапанами, активируя переключатель S3 (I0.2) для смешанного раствора (жидкость 1 и жидкость 2)
    Согласно нашему условию, мешалка M1 (Q0.2) должна активироваться автоматически во время заполнения резервуара. Поэтому мы взяли НО контакт V2 (Q0.1) и параллельно НО контакт V4 (Q0.1), поэтому мешалка будет активироваться автоматически при использовании любого переключателя.
    Тестовые случаи времени выполнения

    Примечание: приведенная выше логика ПЛК дает базовую идею о применении ПЛК в приложении смешивания жидкостей. Логика ограничена и не является полным приложением.

    leizuofa
    Это программа ПЛК для последовательной операционной системы двигателя.
    Последовательное управление двигателем
    Описание проблемы
    Во многих отраслях промышленности используется много двигателей. Иногда нам нужно запустить более одного двигателя в приложении.
    Когда у нас низкий номинал входящего питания, есть вероятность, что входящий MCB сработает, когда один или несколько двигателей будут ЗАПУЩЕНЫ параллельно, потому что они будут потреблять больше энергии.
    Здесь мы рассмотрим один похожий пример, где мы ЗАПУСКАЕМ каждый двигатель по одному.
    Диаграмма проблемы

    Решение проблемы
    Проблему можно решить с помощью программирования ПЛК или релейной логики.
    В этом случае нам нужно последовательно управлять двигателями. Всего необходимо управлять 3 двигателями в последовательности. так, чтобы каждый двигатель запускался последовательно, скажем, двигатель 1 ЗАПУСТИТСЯ, затем после некоторой задержки запустится двигатель 2, а после некоторой задержки запустится двигатель 3.
    Таким образом, вся операция займет 10 секунд для запуска всех двигателей в последовательности. Обеспечивая эту задержку, мы можем избежать проблемы потребления большого тока двигателями во время начального запуска.
    Все двигатели будут работать в последовательности, и между операциями каждого двигателя должна быть предусмотрена задержка в 5 секунд.
    Здесь будет написана логика для последовательной работы двигателей с использованием ПЛК.
    Список входов и выходов
    Список входов
    Пуск PB: I0.0 Останов PB: I0.1 Список выходов
    Цикл вкл: Q0.0 Двигатель 1: Q0.1 Двигатель 2: Q0.2 Двигатель 3: Q0.3 Схема релейной логики ПЛК для последовательного управления двигателем

    Объяснение релейной логики
    В этом приложении мы использовали ПЛК Siemens S7-1200 и программное обеспечение TIA Portal для программирования. Мы также можем разработать эту логику с помощью релейной цепи.
    Сеть 1:
    В сети 1 мы написали логику для условия ВКЛ цикла. Здесь лампа ВКЛ цикла (Q0.0) будет показывать состояние цикла. Цикл можно запустить, нажав кнопку START PB (I0.0), и остановить, нажав кнопку STOP PB (I0.1).
    Когда цикл будет ВКЛ, в то же время будет запущен Двигатель 1 (Q0.1). И в то же время будет выполнена инструкция таймера.
    Сеть 2:
    В сети 2 нормально разомкнутый контакт двигателя 1 запускает таймер T1, и когда таймер двигателя 2 (Q0.1) достигнет установленного значения 5 секунд, нормально замкнутый контакт T1 ЗАПУСТИТ двигатель 2 (Q0.1).
    Сеть 3:
    В сети 3 мы взяли логику для двигателя 3. Здесь мы дали НО контакт двигателя 2 для запуска таймера двигателя 3. Когда T2 достигнет установленного значения 5 с, НО контакт T2 ЗАПУСТИТ двигатель 3 (Q0.0).
    Когда будет нажата кнопка STOP PB (I0.1), то будет активирован NC контакт, который выключит цикл (Q0.0). А также двигатели 2 и 3 прекратят работать.
    Тестовые случаи во время выполнения

    Примечание: приведенная выше логика ПЛК дает базовую идею о применении ПЛК в последовательном управлении двигателем. Логика ограничена и не является полным приложением.

    leizuofa
    Это программа ПЛК для автоматического управления лампами в хранилище.
    Автоматическое управление лампами
    Описание проблемы
    В старом процессе, когда человек заходит в хранилище, он/она нажимает выключатель, и все лампы в хранилище включаются. Если мы включим все лампы одновременно, то произойдет большее потребление энергии.
    Эта проблема возникает в старом процессе, поэтому для этого процесса требуются решения. Мы можем решить эту проблему с помощью простой автоматизации или системы блокировки.
    Схема проблемы

    Решение проблемы ПЛК
    Мы можем решить эту проблему с помощью простой блокировки с помощью ПЛК. Как показано на рисунке, рассмотрим одно хранилище для промышленности, и в нем есть несколько сегментов.
    Например, мы рассмотрели только три сегмента для хранилища. Допустим, у нас есть 3 лампы для 3 сегментов и 3 переключателя для работы.
    Когда человек входит в склад (хранилище) для выполнения какой-либо работы, он включает лампу 1, нажимая выключатель 1. Когда работа завершена, оператор выключает свет.
    Здесь мы предоставим систему блокировки, чтобы человек не мог включить лампу другого сегмента, пока он не выключит лампу первого сегмента. То же самое происходит и в других сегментах.
    Таким образом, используя эту схему автоматизации/блокировки, мы можем экономить энергию.
    Примечание: этот тип блокировки применим только к некоторым типам складских помещений, поскольку они работают только в одном сегменте за раз, прежде чем перейти к следующему сегменту в складском помещении.
    Список входов/выходов
    Цифровые входы
    SW1: I0.0 SW2: I0.2 SW3: I0.3 Цифровые выходы
    Лампа 1: Q0.0 Лампа 2: Q0.1 Лампа 3: Q0.2 Релейная схема ПЛК для автоматического включения/выключения лампы

    Описание программы ПЛК
    Для этого приложения мы использовали ПЛК S7-1200 и программное обеспечение портала TIA для программирования.
    Сеть 1:
    В приведенной выше программе мы взяли НО контакт SW 1(I0.0) для работы лампы 1 (Q0.0) и задали НЗ контакты последовательно. Таким образом, когда пользователь нажимает другие переключатели, лампа 1(Q0.0) будет выключена.
    Сеть 2:
    В сети 2 мы написали логику для лампы 2(Q0.1). Используя SW2 (I0.2), оператор может управлять лампой 2 (Q0.1). И учитывая последовательно соединенные контакты NC, поэтому, когда пользователь нажимает другие переключатели, лампа 2 (Q0.1) будет выключена.
    Сеть 3:
    В сети 3 мы написали логику для лампы 3 (Q0.2). Используя SW3 (I0.2), оператор может управлять лампой 3 (Q0.2). И учитывая последовательно соединенные контакты NC, поэтому, когда пользователь нажимает другие переключатели, лампа 3 (Q0.2) будет выключена.
    Тестовые случаи во время выполнения

    Примечание: приведенная выше логика ПЛК обеспечивает базовую идею о применении программы ПЛК для автоматического управления лампой. Логика ограничена и не является полным приложением.

    leizuofa
    Это программа ПЛК для управления прямым и обратным ходом для 3-фазного асинхронного двигателя.
    Управление 3-фазным двигателем с использованием ПЛК
    Описание проблемы
    В промышленности используется множество двигателей и конвейеров для различных целей.
    В некоторых случаях двигателям или конвейерам требуется прямой и обратный ход для некоторых целей управления.
    Например, мостовой кран, в кране каждый раз, когда операторы перемещают его вперед и назад для обработки материалов.
    Поэтому мы можем использовать системы ПЛК для программирования двигателя для прямого и обратного хода.
    Схема проблемы

    Решение проблемы
    В этом случае нам нужно управлять двигателем в обоих направлениях, что возможно только с помощью схемы реле прямого и обратного хода или с помощью логики.
    Здесь мы решаем эту проблему, используя простую логику прямого и обратного хода в ПЛК.
    Поэтому здесь мы рассмотрим один 3-фазный двигатель для прямого и обратного хода.
    И мы возьмем два контактора или реле для управления двигателем, потому что нам здесь нужны два разных направления, то есть вперед/назад. Первый контактор для управления прямым направлением, а второй контактор для управления обратным направлением двигателя.
    Также мы должны рассмотреть три кнопки, то есть для функций прямого, обратного и остановки двигателя.
    Поэтому здесь оператор будет использовать FWD PB для работы вперед, REV PB для работы назад и STOP PB для функции остановки.
    Список входов ПЛК
    FWD PB : I0.0 REV : I0.1 STOP PB : I0.2 Motor Trip : I0.3 Список выходов ПЛК
    Motor forward : Q0.0 Motor reverse : Q0.1 Релейная схема ПЛК для управления двигателем вперед/назад

    Описание релейной логики
    В этом приложении мы будем использовать ПЛК Siemens S7-1200 и программное обеспечение TIA Portal для программирования. Мы также можем разработать эту логику с помощью релейной схемы. Эта схема также известна как управление вперед/назад для 3-фазного асинхронного двигателя. Мы напишем логику для условия прямого хода в сети 1. Здесь мы используем нормально разомкнутый контакт FWD PB (I0.0) для работы двигателя вперед, мы используем кнопку, поэтому нам нужно использовать один нормально замкнутый контакт выходной катушки прямого хода двигателя (Q0.0) для фиксации. (Кнопка обеспечивает только кратковременный контакт, и нам нужно зафиксировать действие, чтобы использовался контакт прямой катушки двигателя) Поставьте NC контакт выхода обратного хода двигателя (Q0.1) последовательно для разблокировки цепи, поскольку и прямой, и обратный ход не должны работать одновременно. Теперь напишите логику для обратного состояния в сети 2. Здесь мы возьмем NO контакт REV PB (I0.2) для функции обратного хода двигателя, а также возьмем еще один NO контакт выходной катушки обратного хода двигателя (Q0.1) для защелкивания выхода обратного хода двигателя (QO.1). (Кнопка обеспечивает только кратковременный контакт, и нам нужно зафиксировать действие, чтобы использовался контакт прямой катушки двигателя) Здесь также поставьте NC контакт выходной катушки прямого хода двигателя (Q0.0) последовательно для разблокировки цепи, поскольку и прямой, и обратный ход не должны работать одновременно. Для блокировки поместите NC-контакт FWD PB (I0.0) последовательно с REV PB (I0.2) и поместите NC-контакт REV PB (I0.2) последовательно с FWD PB (I0.0). Поместите NC-контакт последовательно в обе сети, чтобы оператор мог остановить прямое или обратное вращение, нажав STOP PB Здесь мы использовали OLR для защиты двигателя, поэтому добавьте NC-контакт отключения двигателя (I0.3) последовательно в обе сети для защиты двигателя Случаи тестирования во время выполнения

    Примечание: приведенная выше логика ПЛК обеспечивает базовую идею о применении логики ПЛК для управления 3-фазным асинхронным двигателем. Логика ограничена и не является полным приложением.

Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...