Category Archives: ПЛК. Ликбез

Мифологемы стандарта МЭК 61131-3.

Даже при первом взгляде виден перекос в выборе языков. С одной стороны, в стандарт попадает ассемблер (IL), с другой стороны, чрезвычайно мощная ветка т.н. языков машин конечных состояний FSM оказывается за рамками рассмотрения. Другим, некорректным и дезориентирующим пользователей, решением МЭК стала группировка языков в едином стандарте, что в корне отличается от общепринятых подходов к стандартизации языков программирования, см., например, ANSI C, Ada и т.д. Третьим, технически слабым, местом стандарта стало исключение вопросов унифицированного представления графических языков стандарта, что автоматически обусловило проблемы совместимости продуктов разных производителей. Кроме этого, в стандарте МЭК61131-3 не рассматривается вопрос привязки алгоритма к интерфейсной аппаратуре, которая с необходимостью присутствует в любой системе управления.

Вокруг стандарта МЭК 61131-3 возникло несколько мифологем, основные из которых рассмотрены ниже.

Мифологема 1. Для программирования ПЛК допускается применять только языки стандарта МЭК 61131-3.

Комментарий. Это неверно. Для программирования ПЛК могут применяться произвольные языки и, естественно, наиболее адекватные решаемой задаче.

Более того, во многих (если не в большинстве) средств программирования, ориентированных на МЭК 61131-3, язык Си – это, по сути, шестой язык программирования. Многие ПЛК по-прежнему программируются и языками класса FSM, и на языках Си/Си++.

Мифологема 2. Среда разработки МЭК 61131-3 должна обеспечивать возможность программирования на всех пяти языках.

Комментарий. Это неверно. Языки стандарта независимы, и разработчиками стандарта предполагалось, что средство программирования МЭК 61131-3 поддерживает только один язык из набора. Более того, мультиязыковые программы расцениваются как потенциально ненадежные и затратны в сопровождении. На практике нарушение этого принципа языковой однородности программ всегда вынуждено и просто отражает ограничения, присущие языкам МЭК 61131-3.

Мифологема 3. МЭК 61131-3 обеспечивает кросс-брендовую и кросс-платформенную переносимость пользовательских программ.

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

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

 

Глоссарий

Прошивка

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

Target-файл

Или файл целевой платформы. Содержит в себе системную информацию о подключаемом ПЛК (количество входов и выходов, размеры операционной памяти и т.п.). Данная информация используется средой программирования Codesys при создании проекта и загрузке его в ПЛК. Каждая модель ОВЕН ПЛК имеет соответствующий target-файл. При работе над одним проектом необходимо следить за тем, чтобы на компьютере была установлена нужная версия файла, которая должна соответствовать версии прошивки используемого ПЛК. Target-файлы доступны для загрузки с сайта www.owen.ru. Для установки target-файла на компьютере используется программа install target, которая инсталлируется вместе со средой программирования Codesys.

Лицензия

Существуют лицензии двух типов. L (low) – в ПЛК с такой лицензией есть ограничение памяти ввода/вывода до 360 байт. Это означает, что к такому контроллеру возможно подключение ограниченного количества сигналов с помощью модулей ввода/вывода, панелей оператора и других устройств. Контроллер с лицензией М (medium) не имеет указанного ограничения, количество подключаемых модулей ограничено лишь пропускной способностью интерфейса связи. Выбор типа лицензии необходимо сделать перед приобретением контроллера. ПЛК с лицензией М производятся на заказ.

Codesys

Среда программирования, используемая при работе с ОВЕН ПЛК. Codesys соответствует стандарту МЭК 61131-3, описывающему основные принципы программирования современных ПЛК. В состав Codesys входят:

  • среда разработки алгоритмов с помощью шести языков программирования (LD, IL, ST, SFC, FBD + CFC)
  • компилятор и отладчик проектов
  • средства построения и конфигурирования распределенных систем управления
  • средства создания визуализаций
  • OPC-сервер для передачи данных на верхний уровень (в SCADA-системы)
  • режим эмуляции для программирования без подключения ПЛК
  • система исполнения, загруженная непосредственно в ПЛК

PLC-configuration

Ресурс среды Codesys, с помощью которого производится настройка связи ПЛК, модулей расширения и других устройств, подключаемых к контроллеру по сетевым интерфейсам. Также с помощью PLC-configuration производится настройка входов и выходов ПЛК для подключения датчиков и исполнительных механизмов. Архивация данных в памяти ПЛК производится в соответствии с режимами, выбранными в PLC-configuration.

Проект

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

Машинный код, генерируемый при компиляции проекта, записывается в память ПЛК и реализуется при помощи системы исполнения Codesys.

Система исполнения

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

Память ввода-вывода

Выделенная область памяти, предназначенная для хранения данных, поступающих со входов или на выходы контроллера, а также по интерфейсам связи. В зависимости от типа лицензии ПЛК, размер этой области может быть ограничен 360 байтами или не ограничен. При работе контроллера значения, полученные на входах или по интерфейсам, записываются в память входов. В начале каждого цикла своей работы ПЛК считывает эти значения из памяти входов и использует в соответствии с пользовательским алгоритмом. В конце цикла полученные значения выходов записываются в соответствующий раздел памяти, откуда передаются по интерфейсам или на физические выходы ПЛК. Поскольку скорость обработки входных и выходных сигналов на аппаратном уровне не одинакова для различных типов устройств, наличие памяти ввода/вывода позволяет использовать все данные в рамках одного цикла заданной длительности.

Цикл ПЛК

Пользовательский алгоритм, загруженный в ПЛК, выполняется циклически. Это означает что в течение заданного интервала времени (1 мс или более) система исполнения считывает значения из области входов и вызывает программу plc_prg. Пройдя алгоритм от начала и до конца, система исполнения записывает результаты его работы в память выходов. Затем эти операции повторяются вновь. Время цикла является настраиваемым параметрам. Для корректной работы объемных проектов рекомендуется задавать время цикла, отличное от минимального значения 1 мс. Цикл опроса датчиков или подключенных сетевых устройств, а также время изменения состояния выходов не связаны прямо со временем цикла ПЛК. Работа с интерфейсами, входами и выходами и исполнение цикла ПЛК производятся параллельно.

Пользовательская память

Может быть использована для ведения архивов данных и событий, для хранения исходных файлов проекта Codesys и любых других файлов. Размер пользовательской памяти составляет 3 Мб. При отключении питания все файлы сохраняются и могут быть выгружены из контроллера при последующем включении.

PLC browser

PLC Browser — ресурс Codesys, с помощью которого пользователь может изменять системные настройки ПЛК и работать с пользовательской памятью ПЛК. В браузере реализованы функции изменения IP адреса ПЛК, настройки аппаратных часов, записи, чтения и удаления файлов из памяти ПЛК и др. Полный список функций можно увидеть, вставив в строчку ввода символ «?». При этом должна быть установлена связь с ПЛК.

Визуализация

Встроенное в CoDeSys средство создания пользовательских мнемосхем. На экране визулизации можно добавить простые геометрические объекты, кнопки, графики, таблицы, гистограммы, элементы ввода и вывод информации. В одном проекте может быть создано несколько визуализаций, вызываемых с помощью кнопок и другими способами. Просмотр визуализаций производится из Codesys в режиме исполнения. Также возможен просмотр визуализаций в специальном приложении CoDeSys HMI, демонстрационная версия котого устанавливается при инсталяции среды программирования на вашем ПК.

CoDeSys HMI

Дополнительное программное обеспечение, предназначенное для отображения визуализаций. HMI воспроизводит на экране ПК визуализации без запуска проекта в непосредственно в CoDeSys. Таким образом, оператор видит на экране компьютера лишь оперативную информацию и не имеет доступа к проекту CoDeSys. В состав среды программирования включена демонстрационная версия CoDeSys HMI, работающая в течение одного часа. По вопросам приобретения полнофункциональной версии обращайтесь к официальному представителю 3s-software в России(www.codesys.ru).

Simulation mode или режим симуляции.

Используется для проверки работы написанного проекта CoDeSys без подключения ПЛК к компьютеру. Пользователь имеет возможность сначала написать программу, опробовать и отладить ее в режиме симуляции на компьютере, и только потом записывать в контроллер и проверять на «живом» оборудовании. Режим симуляции очень удобен при освоении среды программирования CoDeSys.

Типы переменных.

Переменные в Codesys в зависимости от их типа могут быть использованы как во всей программе (глобальные переменные), так и лишь в одной ее части (POU), например в одной программе (локальные переменные). К глобальным относятся переменные, определенные в PLC configuration, а также заданные в ресурсе Global Variables. Локальные переменные определяются в том программном компоненте (POU), внутри которого они будут использоваться. При совпадении имен локальной и глобальной переменных более высокий приоритет внутри POU имеет локальная переменная. Именно ее значение будет использовано контроллером при отработке алгоритма управления. Поэтому при выборе имен переменных необходимо быть внимательным и не допускать подобных совпадений.

POU.

POU (Program Organization Unit) — программный компонент. В стандарте МЭК предусмотрено три типа POU — программы, функции и функциональные блоки. Каждый POU при обращении к нему выполняет заложенный в него алгоритм. Все типы POU могут иметь входные, выходные и внутренние переменные. Функции возвращают одно значение и не сохраняют значения внутренних переменных. Это означает, что при повторном обращении к функции результат ее работы не будет зависеть от более ранних обращений к ней. Функциональный блок (ФБ) может возвращать значения нескольких выходных переменных. В проекте может быть определено несколько экземпляров одного и того же ФБ, каждый из которых будет работать независимо от других экземпляров. ФБ сохраняют значения внутренних переменных. Это значит, что при новом обращении к данному экземпляру ФБ будут учтены предыдущие результаты его работы.

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

Языки МЭК.

Стандартом МЭК предусмотрено 5 языков программирования ПЛК: IL, LD, FBD, ST, SFC. При разработке проекта пользователь может выбрать любой из языков для написания конкретного программного модуля (POU). В рамках одного проекта могут присутствовать программные модули, написанные на разных языках. В CoDeSys поддержаны все 5 языков, а также один дополнительный.

  • Список инструкций (Instruction List — IL) — язык программирования, напоминающий ассемблер Siemens STEP7. Все операции производятся через ячейку памяти, «аккумулятор», в который программа записывает результаты произведенных действий.
  • Релейная диаграмма (Ladder diagram — LD) — графический язык программирования, использующий принципы построения электрических схем. С помощью элементов «контакт» и «катушка» пользователь собирает схему прохождения сигнала от входной шины до выходной. Язык удобен для реализации логических алгоритмов работы с дискретными сигналами. LD позволяет легко и наглядно проверять и тестировать написанный алгоритм.
  • Диаграмма функциональных блоков (Functional block diagram — FBD) — графический язык программирования. Все действия и операторы, используемые в данном языке, представляются в виде функциональных блоков. ФБ имеют входы и выходы определенных типов, которые могут быть связаны между собой. Помимо стандартных ФБ пользователь может вставлять в алгоритм собственные POU, созданные в рамках данного проекта или реализованные в подключенных к проекту библиотеках. FBD позволяет легко и наглядно проверять и тестировать написанный алгоритм. В CoDeSys реализован улучшенный язык  программирования с помощью функциональных блоков, получивший обозначение CFC.
  • Структурный текст (Structured Text — ST) — текстовый язык программирования, схожий с языками высокого уровня (C, Pascal). ST удобен для реализации сложных вычислений, циклов и условий, для работы с аналоговыми сигналами.
  • Последовательные функциональные схемы (Sequentional Functional Chart — SFC) — графический язык, приспособленный для создания последовательности этапов работы ПЛК. Каждый этап реализуется на любом удобном для пользователя языке. В зависимости от выполнения условий на выходе из текущего этапа работа ПЛК может быть направлена в одну из параллельных веток алгоритма. Язык удобен для создания алгоритмов программных задатчиков, для реализации сложных логических условий и алгоритмов, реализующих несколько режимов работы оборудования.

Библиотека

Библиотека — совокупность программных компонентов, пользовательских типов данных и визуализаций. Все эти объекты могут быть созданы и объединены в библиотеку с тем, чтобы их можно было использовать в различных проектах Codesys. Элементы библиотеки становятся доступны для использования после подключения библиотеки к конкретному проекту. Подключение библиотек производится с помощью ресурса Library manager (Менеджер библиотек). Установочные файлы CoDeSys включают в себя несколько стандартных библиотек, например Standart.lib, SysLibTime. lib и др. Компания ОВЕН специально для ПЛК собственного производства разработала дополнительную библиотеку ПИД-регуляторов PID_regulators.lib.

Retain-переменные.

Особенностью этого типа переменных является то, что при пропадании питания последнее значение такой переменной сохраняется в энергонезависимой памяти ПЛК. После восстановления питания работа алгоритма контроллера продолжается с использованием этого сохраненного значения. В памяти ПЛК выделена область, зарезервированная для работы с retain-переменными. По умолчанию размер retain-памяти составляет 4 кБ, он может быть увеличен до 16 кБ.

OPC (OLE for Process Control)

OPC (OLE for Process Control) — формат представления данных в компьютере. Данный формат широко используется при создании систем диспетчеризации. ОРС-технология поддержана в SCADA-системах. ОРС позволяет обмениваться данными с устройствами автоматики, связанными с компьютером с помощью интерфейсов связи. В частности, возможно подключение ПЛК к компьютеру с помощью специализированной программы — ОРС-сервера. В этом случае ОРС-сервер запрашивает данные с ПЛК по одном из интерфейсов связи, а затем преобразует полученные значения в формат ОРС и предоставляет SCADA-системе. При установке CoDeSys на компьютере устанавливается также OPC-СoDeSys. Таким образом, появляется возможность связать ПЛК и какую-либо SCADA-систему.

Аппаратные часы реального времени встроены в ПЛК.

Они продолжают работать при выключенном питании контроллера благодаря встроенному в ПЛК аккумулятору. Дата и время могут быть настроены с помощью PLC Browser. Использование часов в работе алгоритма ПЛК производится с помощью элементов библиотеки SysLibTime.lib.

Communication parameters.

Настройка связи CoDeSys и ПЛК производится при выборе меню online/communication parameters. В появившемся окне пользователь может выбрать тип интерфейса связи, СОМ-порт или IP-адрес ПЛК, с которым необходимо связаться. При неверных настройках в окне communication parameters связь с ПЛК не будет установлена. Подробно процедура настройки связи с ПЛК описана в руководстве по эксплуатации контроллера.

Режим исполнения.

В режиме исполнения CoDeSys отображает в реальном времени то , как ПЛК отрабатывает заданный ему алгоритм. Для запуска режима исполнения в CoDeSys необходимо настроить связь с ПЛК (communication parameters) и подключиться к контроллеру (login). При необходимости внесения изменений в проект необходимо выйти из режима исполнения (logout) и после проведения всех необходимых изменений вновь связаться с ПЛК.

 

Мой блог находят по следующим фразам

Стандарты программирования ПЛК

Абревеатура ПЛК расшифровываеться как программируемый логический контроллер. Исходя из названия, становиться понятно, что без программирования ПЛК контроллер не несет в себе никакой практической ценности. Можно конечно его приспособить как подставку для чая или попробовать забивать им гвозди, но все же основные свои задачи он выполять не сможет. Какая основная задача ПЛК? Это выполнение специальной программы для управления каким-то заданным технологическим процессом.

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

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

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

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

2. Специальные программые комплексы для отладки программ. В их состав входит программы, которые позволяют симулировать выполнение виртуальной программы на ПЛК на заданном компьюторе перед заливкой на конттроллер.

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

Для программирования большинства современных контроллеров можно использовать до шести основных языков программирования. Для регламентирования которых существует специальный международный стандарт IEC(МЭК) 61131, Этот стандарт был разработан Международной Электротехнической Комиссий). Этот стандарт состоит из восьми частей. В третьей части стандарта (IEC 61131-3) описываются языки программирования промышленных конроллеров.

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

И что же мы имеем в реальном времени? К сожалению, цели стандарта так и не были достигнуты. Все производители промышленных контролеров сопровождают их своей средой программирования. Такая среда как правило несовместима с другими — ни о какой крос-платформеннойти написанных программ не может быть и речи. Возможно, таким образом производителя видно пытаются снизить конкуренцию, на рынке ПЛК, простимулировать покупать только их контоллеры. Большое количество сред для программирования ПЛК, как следствие, нижает качество их исполнения, т.к. каждый пытается вновь изобрестивелосипед. Стандарт стандарт IEC 61131 явлется скорее ориентиром, чем жестким ограничением для большинства разработчиков промышленных контроллеров.

P.S. дизайн сайта цена зависит от задач, которые он должен выполнять, и от предъявляемых к нему требований. Разработка логотипа не входит в стоимость создания дизайна сайта.

ПЛК контроллеры. Конкурентные преимущества перед старыми системами автоматизации.

Раньше, из-за несовершенства технологического процесса, для управления производством требовались большие человеческие ресурсы. Как следствие содержание большого штата управленцев никоим образом не сокращало затрат на содержание производства.

Например, на обычной телефонной станции тысячи (а то гораздо большее количество) звонков в день. Все эти звонки обрабатывает телефонистка, которая просто соединяла два провода между собой. ПЛК контроллеры позволяют автоматизировать этот скучный и однообразный процесс.

ПЛК представляют собой специальные устройства, которые «занимаются работой этих телефонисток». Установка технологисечких линий, автоматизация производства в промышленности могут работать самостоятельно (при минимальном контроле со стороны человека) при введении в эксплуатацию таких устройст. Обычно в одном ПЛК контролере установлена одна программа, направленная на автоматизацию заданного процесса. Одним из неоспоримых преимуществ контролерров является то, что ПЛК может работь в неблагоприятных климатических условиях. И, что не маловажно, работать при минимальном вмешательстве человека в процесс работы.

Еще одним преимуществом использования ПЛК контролерров является то, что заложенную в них программу действия можно изменить. Для чего это может пригодиться? Например ПЛК контролер использовался для обслуживания одной производственной линии. Потом прдеприятие по какой-либо причине изменяет свой технологический процесс (ввод новых линий, реконсирукция старых и т.д.) и старая линия оказывается ненужной. В этом случае есть два пути: выкинуть старый контроллер или перепрограммировать его. В случае перепрораммирования ПЛК может работать на другой техногической линии и выполнять какие-то другие задачи. Это позволяет снижать издержки предприятия на покупку нового и реконструкцию старого оборудования.

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

Как работает ПЛК

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

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

В какой среде оно программируется?

Концептуально возможны два варианта. Первый – кто породил ПЛК, тот и программное обеспечение под него разработал. Обычно не бесплатное и даже очень. Осуждать людей за желание заработать сложно, но очень хочется, тем более, что пока есть и второй вариант – условно бесплатное ПО. Его можно скачать с сайта производителя, бесплатно получив работоспособную платформу и набор стандартных библиотек. Не бесплатным являются некоторые специализированные компоненты, которые на этапе первого знакомства избыточны. По моему скромному мнению лучшим продуктом такого класса является среда CoDeSys компании   3S-Smart Software Solutions (Кемптен, Германия). Именно она будет использована для примеров сайта. Огромный и искренний респект ее разработчикам.

 

Мой блог находят по следующим фразам

Языки программирования ПЛК. Проект ПЛК

У ПЛК есть несколько основных языков программирования. Во-первых, это что-то похожее на языки программирования высокого уровня. Называется язык структурированного текста (по-буржуйски ST). Исключительно удобная штука, если есть навыки программирования. Собственно, для программистов и придумана. Однако когда ПЛК разрабатывался и внедрялся, профессия программиста (в смысле толкового программиста с хорошей технической подготовкой) была еще более дефицитной, чем в наши суровые времена. Посему практичные янки и весь мир следом разработали несколько видов графических языков. Для электриков создали язык релейных диаграмм (по-буржуйски LD). Ничего в общем сложного – шина входов, шина выходов, между ними – схема из релюшек, нормально замкнутых или разомкнутых, ну и таймеров, конечно, триггеров всяких. Плюс в простоте – была бы схема, а программа напишется. Минус в трудностях работы с аналоговыми сигналами.

Другой вид графических языков – язык функциональных блоков (по-буржуйски FBD). Мне он очень напоминает работу, например, с пакетом Simulink программного комплекса Matlab, товарищу напротив — Vissim. Да, в общем, получить техническое образование ни разу не столкнувшись с такого рода ПО трудно.  Основа всего — блоки, соединенные в нужной последовательности линиями связи. Если вы – технарь, пожалуй, наиболее прост для освоения и активного использования. Плюс – наглядность, интуитивная понятность реализуемых алгоритмов. Минусы – работа с циклами. Можно, конечно, но на ST такого рода программки и пишутся легче и короче.
Последний вариант графического языка – алгоритмический (SFC). Это наиболее высокий по уровню графический язык. Каждый его шаг – маленькая (или большая) программа. Очень красивый язык, справедливо обожаемый технологами всех мастей. Позволяет создавать жестко структурированные, удобные для отладки проекты. Минус всего один – браться за его изучение стоит, лишь в достаточной степени освоив язык ST, LD или FBD. Программы для отдельного шага все равно писать на них.

Ах, да. Чуть не забыл. Есть еще что-то похожее на ассемблер. Называется  списком инструкций (по-буржуйски IL). Если вы фанат бесконечной работы с аккумулятором – это для вас. Минусы – длинный программный код, хорошо смотрящийся только в приложениях к диссертации, проблемы отладки. Короче в моем понимании – пятое колесо в телеге программирования ПЛК. Могу быть не прав.

Программа или проект?

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

 

Мой блог находят по следующим фразам

Типы ПЛК

ПЛК различают не только по маркам, но и по назначению. Недорогие устройства для работы с дискретной логикой принято называть программируемыми реле. На них удобно выполнять простые локальные задачи автоматизации, как пример управление освещение или подъемом шлагбаума. Плюсы – дешево и сердито. Минусы – мало памяти, невозможность работы с аналоговыми датчиками и удаленного управления. Цена таких игрушек 2 – 4 тысячи рублей, редко больше.

На ступеньку выше – ПЛК для автоматизации малых промышленных систем. Такие приборы рассчитаны на общение с оператором. Набор кнопок, небольшая панелька, какой-нибудь последовательный интерфейс. Прекрасно управляет, к примеру, аквариумом, котлом, небольшим станком. Хорошая вещь. Плюсы – полноценный ПЛК. Минусы – мало сигналов, редко более 100-150, соответственно, что-то красивое и масштабное реализовать не удастся. Цена таких устройств от 7 – 8 тысяч рублей и выше.

Следующий уровень – ПЛК для автоматизации средних промышленных систем. Здесь уже нет баловства с оператором. Больше входов – выходов, больше интерфейсов связи, больше сигналов (300-500), энергонезависимой памяти, шире спектр подключаемого оборудования. Хорошо справится с каким-нибудь очень «умным домом», цехом, водоканалом, да и много чем. Плюсы очевидны. Из минусов – редко позволяют проводить значительное архивирование данных. Цены от 10-12 тысяч рублей.

Панельные ПЛК – очень полезная штука там, где важна красивая визуализация при диалоге с пользователем. По сути — экран с сенсорной панелью + ПЛК. Часто используется в «умных домах», системах климат-контроля. Плюсы – красиво. Минусы – дорого.

ПЛК верхнего уровня. Предназначены для сбора больших объемов информации и управления другими ПЛК по сети, либо через последовательные интерфейсы. Применение – системы жизнеобеспечения, если пофантазировать, вплоть до «умный город».  Плюсы – огромное количество интерфейсов, огромные размеры памяти. Минусы – уровень задач, решаемых с их помощью, выходит далеко за границы материалов сайта. Жаль.

 

Мой блог находят по следующим фразам

Что такое PLC (ПЛК)

Программируемый логический контро́ллер (ПЛК) (англ. Programmable Logic Controller, PLC) – это аббревиатура, которая объединяет весьма разные устройства, отличающиеся количеством и качеством входов и выходов, интерфейсов, средой программирования и т.п. Пожалуй, единственный признак, выделяющий ПЛК из множества средств автоматизации – способность реализации пользовательского алгоритма управления технологической системой.

PLC

Российский ПЛК

Кто и когда изобрел ПЛК

Современные источники приписывают честь создания ПЛК янки. И в отличие скажем от «русского света» Яблочкова нахально переименованного в «лампочку Эдисона» здесь видимо стоит поверить. Годом рождения ПЛК принято считать 1969 год, когда такие аппараты впервые были внедрены на заводах американской автомобильной промышленности. Довольно быстро такие аппараты оценили по обе стороны океана и сегодня в России мы гораздо чаще имеем дело с немецкими и японскими производителями ПЛК, нежели с американскими. В последнее время на рынке появились интересные разработки отечественных производителей. Благодаря успехам микроэлектроники произошла миниатюризация ПЛК, превратившая вчерашние шкафы в компактные коробочки.

ПЛК компании siemens

ПЛК компании siemens

Понятия

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

 

Мой блог находят по следующим фразам