Выбор программируемого логического контроллера
У всех, кто начинает работать с программируемыми логическими контроллерами, возникает вопрос: «как выбрать контроллер для конкретной задачи?». В этой статье мы попытаемся рассказать, как не запутаться в том многообразии контроллеров, которые присутствуют на рынке.
Производители ПЛК
Для начала нужно определиться с выбором производителя. Крупнейшими мировыми производителями плк овен являются компании Allen-Bradley, Omron, Schneider Electric, Siemens. Также ПЛК производят Advantech, Delta, VIPA, Mitsubishi Electric, WAGO I/O, Phoenix Contact и многие другие. Российские производители ПЛК : Контар, Овен, Segnetics, Fastwel, Текон. Из чего нужно исходить в первую очередь при выборе производителя? Необходимо посмотреть линейку ПЛК, которые уже используется на заводе. Нежелательно на одном производстве разводить «зоопарк» и устанавливать на каждую машину свой контроллер. Снижение номенклатуры ПЛК на заводе облегчает обслуживание производства, снижает затраты на обучение персонала и ЗИП.
Далее, по важности, идет предпочтение самого программиста. Как правило, у программиста есть любимый производитель, с которым он предпочитает работать. Программист лучше знает особенности этих ПЛК, инструменты, которые предлагает программное обеспечение разработки. Программа пишется быстрее и надежнее, и, соответственно, получается дешевле для конечного заказчика. Немаловажным является доступность (стоимость) и функциональность среды разработки программы. Многие производители выпускают свое ПО для программирования ПЛК. Такое ПО учитывает аппаратные особенности контроллеров. Другие используют аппаратно-независимое ПО для разработки программ ПЛК «CoDeSys». Для работы с CoDeSys необходимо установить библиотеку для выбранного производителя. Сам CoDeSys является бесплатным продуктом, при этом стоимость библиотек устанавливается производителем контроллеров.
После того, как Вы остановились на конкретном производителе желательно изучить его линейку ПЛК, посмотреть на сколько она широкая, можно ли решать задачи разного уровня сложности. Условно по своим возможностям ПЛК можно разделить на 3 группы: малые, средние и большие. Малые ПЛК предназначены для простых задач. Количество подключаемых устройств ограничено числом около 100. При этом малые ПЛК уже содержат небольшое количество входов/выходов, и Вам не нужно подбирать отдельные модули (одна задача – один контроллер).При этом на современных контроллерах этой группы можно решить самые разнообразные задачи. Самая широкая группа ПЛК – средняя. ПЛК этой группы делаются модульными, чтобы можно было гибко подобрать конфигурацию для решения задачи. С помощью таких контроллеров можно построить систему автоматизации целой линии или цеха. Средние ПЛК поддерживают различные сетевые технологии для интеграции с полевыми устройствами, для объединения управляющих устройств, а также для связи с верхним уровнем автоматизации. Очень немногие производители производят Большие ПЛК. Они позволяют реализовать автоматизацию всем заводом, при этом без сетевых технологий здесь уже невозможно. По функциональным возможностям они не отличаются от Средних ПЛК Начинающему программисту и разработчику систем автоматизации хочется сделать свой выбор из объективного сравнения ПЛК разных производителей. Сравнить на практике оказывается довольно сложно, производители дают технические данные в разных единицах измерения, что приводит к дополнительной путанице. Но чаще нам надо просто определиться, сможет выбранный контроллер решить поставленную задачу или нет.
Решение задачи
Самая важная характеристика ПЛК при его выборе – количество точек ввода/вывода. Это максимальное количество дискретных устройств (датчиков и исполнительных механизмов типа включен/выключен), которое можно подключить к ПЛК. В документации производителя это число указывается для самого мощного из серии ПЛК с учетом всех модулей расширения. Аналоговые входы/выходы в это число не входят. Количество аналоговых сигналов, чаще всего, ограничивается количеством модулей расширения. В редких случаях происходит ограничение по питанию модулей расширения или по памяти ввода/вывода. Малые ПЛК сильно ограничены в подключении аналоговых сигналов. При количестве сигналов более 8, нужно рассматривать Средние ПЛК или другие способы сбора аналоговых данных. Если ПЛК требуется интегрировать в сеть предприятия, нужно посмотреть, поддерживается ли интересующий Вас интерфейс данным контроллером. Существует огромное количество сетей и интерфейсов. Они отличаются по назначению и широте использования. Выбор интерфейса для нового применения – это тема для отдельной статьи. Но если нужно произвести обмен между существующим ПЛК и новым, то, естественно, оба должны поддерживать общий интерфейс уровня управления. По интерфейсам полевого уровня также могут подключаться некоторые датчики и исполнительные механизмы. Малые ПЛК поддерживают небольшое количество сетей полевого уровня. Средние и Большие ПЛК поддерживают большую номенклатуру сетей и интерфейсов.
ПЛК применяется для медленных процессов. Цикл программы контроллера, если не используются сложные функции и процедуры – от единиц до сотен миллисекунд. Поэтому при работе с современными ПЛК вероятность того, что Вы столкнетесь с нехваткой производительности, низкая. Если при разработке есть требование к быстродействию, оценить его можно только написав программу. У некоторых производителей есть инструмент в программном обеспечении для оценки времени цикла программы. Размер программы тоже ограничен, но на практике с ограничением столкнутся очень немногие. По статистике только 25% общего объема рабочей программы занимает управление технологическим процессом. Остальные 75% – это сервисные функции, обработчики ошибок и прочее. Многое также зависит от стиля программирования. Оценить, сколько будет занимать Ваша программа до её написания, не имея опыта программирования однотипных задач, невозможно. Поэтому, либо берем самый мощный ПЛК в линейке, либо пишем программу и проверяем с помощью инструментов ПО, сколько она занимает. Есть 5 языков программирования ПЛК, которые описаны в разделе международного стандарта IEC 61131-3. Производители решают, какие из доступных языков будет поддерживать их ПЛК. Программист выбирает доступный язык, на котором он будет писать программу. Общие рекомендации при выборе языка следующие: Instruction List (текстовый ассемблероподобный язык) не рекомендуется использовать ввиду низкой наглядности, и сложности наладки и модернизации программы; Function Block Diagram (графический язык логических элементов) – рекомендуется использовать в небольших задачах. При увеличении программы наглядность падает; Ladder Diagram (графический язык релейно-контактных схем) – рекомендуется для написания логического управления (вкл/выкл) любой сложности, облает высокой наглядностью; Structured Text (текстовый паскалеподобный язык) – рекомендуется использовать для математических расчетов; Sequential Function Chart (графический высокоуровневый язык) – предназначен для структурирования сложных программ управления, при этом отдельные блоки пишутся на языка более низкого уровня. При выборе ПЛК нужно руководствоваться не только аппаратными возможностями, но и функциональными возможностями среды разработки программ. ПО должно существенно облегчить жизнь программиста и защитить его от ошибок. Исходя из вышесказанного, можно определить общую последовательность при выборе ПЛК:
- Узнать какие контроллеры уже используются на объекте
- Определиться с производителем ПЛК;
- Посчитать количество точек ввода/вывода;
- Посчитать количество аналоговых сигналов;
- Определиться с сетями для подключения датчиков и исполнительных механизмов;
- Определиться с сетями для связи контроллеров и верхнего уровня;
- Исходя из п.3-6 выбрать конкретную модель ПЛК и необходимые модули. Если количество точек приближается к максимуму для данной линейки, лучше выбрать более дорогую серию. Если нет опыта автоматизации данных объектов использовать наиболее мощный контроллер из данной линейки.