Составление управляющей программы программируемого контроллера

Применение микроконтроллеров

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

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

Микроконтроллеры используются в оборонной промышленности. К таким микроконтроллерам очень высокие требования. И цена их соответствующая. МК для оборонки, которые производятся в России, стоят от 15000 рублей за штуку и выше. Сравните с простейшими МК для гражданки — от 50 рублей.

В космической технике МК также используются. К ним требования ещё выше. Например, они должны быть устойчивы к радиации и низким температурам. Про их стоимость я ничего не знаю. Но, думаю, что она самая что ни на есть “космическая”.

Установка к CODESYS

Для того чтобы устройство программировалось в CODESYS, в нем предварительно должна быть установлена так называемая система исполнения CODESYS Control. Она включает планировщик задач, загрузчик, функции отладки, обслуживает полевые сети, ввод/вывод и т. д. Именно благодаря ей МЭК-программа оказывается аппаратно-независимой. Набор ресурсов, которые должна обслуживать система исполнения, отличается у разных контроллеров. Речь идет не только о микроконтроллере, но и об устройстве в целом. По этой причине нельзя просто скопировать систему исполнения с одного устройства на другое. Она всегда требует некоторой индивидуальной адаптации. Все существующие встраиваемые системы с CODESYS созданы одним из трех способов:

  1. Бизнес-модель разработчиков CODESYS ориентирована на серийно выпускаемые изделия. Изготовитель ПЛК приобретает стартовый набор. Это комплекс из программного обеспечения и работ по обучению, помощи в адаптации и дальнейшему сопровождению. На выходе получается специальная «прошивка», «заточенная» под конкретную систему и готовая к тиражированию. Первая адаптация обычно занимает несколько месяцев. Выполнив ее, компания приобретает необходимый опыт и может самостоятельно устанавливать CODESYS на любые свои продукты достаточно быстро, даже если они построены на разных процессорах и в разных операционных системах.
  2. Существуют компании (Systec, Janz, Frenzel Berg и др.), предлагающие готовые встраиваемые устройства с CODESYS и системы под заказ. Заказчику остается только написать прикладное ПО. Обычно такие компании выпускают собственный ряд модулей-«полуфабрикатов». У них имеется надежное аппаратное ядро (встраиваемый компьютер, микропроцессорный модуль, PLC Сore), определенный набор плат или микросхем ввода/вывода, сетевые и другие модули. Из них компонуется нужная система. Они также предлагают несколько типов готовых встраиваемых компьютеров (контроллеров) с CODESYS и эволюционные наборы.
  3. Применение микросхем и модулей Beck [email protected] Это миниатюрный встраиваемый компьютер с ОС РВ на борту. Компании Beck удалось придумать технологию и создать специальный инструмент — Platform Builder (кстати, бесплатный). С его помощью в диалоговом режиме мы задаем требуемую конфигурацию системы исполнения CODESYS. Например, можно включить поддержку CANopen, веб-визуализации, описать входы/выходы, выбрать способ обслуживания энергонезависимой памяти, добавить собственные обработчики системных событий и т. п. Затем автоматически генерируются все необходимые файлы. Остается дописать по готовым шаблонам драйверы ввода/вывода под нашу периферию и собрать систему исполнения. Получается исполняемый файл, который копируется на встроенный диск [email protected] Технология выглядит простой, но пока никто из конкурентов не создал аналогов. Все они предлагают некие типовые сборки PLC Core ядер с фиксированным функционалом.

По требованию российских заказчиков Beck создала специальное исполнение чипов с расширенным температурным диапазоном (–40 °С). Существует исполнение для энергетики с поддержкой коммуникационной библиотеки МЭК 61850.

Первый путь выбирают крупные изготовители встраиваемых систем. Он оправдан при выпуске от нескольких сотен изделий в год и выше. В странах ЕС все более развивается практика заказа разработки. По числу применений в России лидирует технология Beck [email protected] В любом случае среда программирования CODESYS поставляется бесплатно. Никаких ограничений в функционале и числе установок в ней не предусмотрено. В CODESYS имеется встроенный эмулятор контроллера. Это позволяет начать работу без приобретения аппаратных средств.

Рис. «Беспилотный» транспортер E&K AUTOMATION на базе собственного встроенного контроллера и модулей ввода/вывода Wago IO

Программирование без программиста

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

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

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

Общая информация

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

Составление управляющей программы программируемого контроллера

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

Прежде следует разобраться с самим устройством:

  • простой промышленный логический контроллер спереди включает 2 винтовые клеммы L1 и L2, которые отвечают за подключение внутренних цепей устройства;
  • слева находятся 6 винтовых клемм, которые необходимы для подключения входных приборов. Они представляют собой 6 входных каналов;
  • в корпусе расположен оптоизолятор для создания электрически изолированного сигнала для схемы ПК при установке связи между клеммой на входе и общей клеммой. Светодиод на входе отображает ситуацию, какой именно из входов сейчас находится под напряжением;
  • сигналы на выходе получаются за счет схемотехники контроллера за счет активизации переключающего устройства. Это позволяет связать клемму с источником с помеченным пользователем буквой Y выходом.

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

Для программирования промышленных контроллеров используются специальные системы. Для этого существуют 2 возможных варианта:

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

Создание

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

Составление управляющей программы программируемого контроллера

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

Популярные статьи  Какое узо и автоматический выключатель выбрать для водонагревателя мощностью 1.5 квт?

При изготовлении программ для станков с ЧПУ можно использовать системы автоматизированного программирования, самыми популярными из которых являются:

  • AutoCAD;
  • NanoCAD;
  • T-FlexCAD;
  • ArtCam;
  • SolidWorks.

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

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

Основной составляющей управляющих программ является G-код. Он состоит из числовых символов. Символы числовой системы могут быть различными командами:

  • технологическими;
  • геометрическими;
  • подготовительными;
  • вспомогательными.

Первый тип отвечает за определение рабочего инструмента, скорость обработки, включение и выключение прибора. Второй тип определяет и контролирует заданные координаты. Третий тип позволяет программе управлять станком, а также задает режимы производства. Последний тип включает и выключает отдельные механизмы. Разобраться в коде может технолог-программист.

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

Составление управляющей программы программируемого контроллера

Устройство ПЛК

Часто ПЛК состоит из следующих частей:

  • центральная микросхема (микроконтроллер, или микросхема FPGA), с необходимой обвязкой;
  • подсистема часов реального времени;
  • энергонезависимую память;
  • интерфейсы последовательного ввода-вывода (RS-485, RS-232, Ethernet)
  • схемы защиты и преобразования напряжений на входах и выходах ПЛК.

Обычно вход или выход ПЛК нельзя сразу же подключить к соответствующему выходу центральной микросхемы. Эти выходы характеризуются низкими уровнями напряжений, обычно от 3,3 до 5 вольт. Входы и выходы ПЛК обычно должны работать с напряжениями 24 В постоянного либо 220 В переменного тока. Поэтому между выходом ПЛК и выходом микросхемы необходимо предусматривать усилительные и защитные элементы.

Состав проекта

Мы уже упоминали кратко состав дерева системы. Его создание идет сверху вниз. Добавляются контроллеры, в них добавляются встроенные модули либо протоколы связи, назначенные на конкретные порты, и в них — модули удаленного ввода/вывода. Модули имеют свой набор каналов. Канал ввода/вывода — это набор из типовых параметров: значение, метка времени, статус опроса. Состав модулей и типы каналов предопределены разработчиком библиотеки, но пользователь может создавать и собственные типы модулей и каналов, в том числе со встроенной обработкой сигналов. К примеру, в Modbus-устройстве он может разбить адресное пространство на такой набор модулей и каналов, который соответствует физической структуре устройства. Контроллерам, модулям и каналам дерева системы могут принадлежать не только системные программы (драйверы), включенные в состав конкретной исполнительной системы, но и любые пользовательские программы, созданные для конкретного проекта, либо библиотеки.

Иерархия дерева объектов состоит из объектов, тегов и параметров. Объектам и тегам так же, как и перечисленным выше элементам дерева системы, могут принадлежать ресурсы: программы, окна, сообщения и журналы сообщений. В отличие от них параметры — это атомарные элементы проекта, в которые нельзя ничего включить и которые не имеют собственных программ или окон. Создание типа параметра производится в специальном диалоге выбором из простого, библиотечного или сложного (массив, структура) типа данных (рис. 5).

Составление управляющей программы программируемого контроллера

Рис. 5. Создание параметра

Проблемы совместимости программы с аппаратной частью

Возможно, в процессе работы выяснится, что аппаратная часть контроллера не соответствует поставленной задаче. Например, не хватает входов или выходов, памяти или быстродействия.

Проблема с нехваткой входов или выходов легко решается приобретением дополнительных периферийных модулей. Они подключаются к центральному модулю (который имеет свои входы и выходы), обмен данных происходит по внутренней шине.

С памятью и быстродействием решить вопрос просто не получится, поэтому перед приобретением «железа» нужно обкатать программу в программном эмуляторе, который есть в каждой среде программирования.

Удаленное управление и мониторинг

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

Операторская панель или HIM – это устройство для визуализации. Она может быть встроенной или подключаться кабелем. Существует масса различных типов таких решений – от простых цифровых с кнопками до серьезных сенсорных с функцией оперативного мониторинга и коррекции параметров.

SCADA – это аббревиатура означает систему диспетчеризации и сбора данных. Это программные пакеты, которые позволяют разрабатывать приложения в режиме реального времени. Также пакет имеет инструменты сбора и обработки данных, архивирования и отображения или управления.

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

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

Место ПЛК в системе управления

До создания миниатюрных интегральных схем рука оператора буквально не успевала переключать режимы на пульте цепи управления. Использование контроллерных блоков «Сегнетикс», «Дельта» и подобных способствовало снятию нагрузки с человека.

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

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

Впрочем, его следует воспринимать двояко: индивидуально создаваемое ПО позволяет проектировать узкоспециализированные изделия под конкретные задачи.

Литература

  • Э. Парр. Программируемые контроллеры: руководство для инженера. — М.: БИНОМ. Лаборатория знаний, 2007. — 516 с. ISBN 978-5-94774-340-1
  • Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Под ред. проф. В. П. Дьяконова. — М.: СОЛОН-Пресс, 2004. — 256 c. ISBN 5-98003-079-4
  • Денисенко В. В. Компьютерное управление технологическим процессом, экспериментом, оборудованием. — М: Горячая Линия-Телеком, 2009. — 608 с. ISBN 978-5-9912-0060-8
  • Минаев И. Г. Программируемые логические контроллеры. Практическое руководство для начинающего инженера. /И. Г. Минаев, В. В. Самойленко — Ставрополь: АГРУС, 2009. — 100 с. ISBN 978-5-9596-0609-1
  • Минаев И. Г. Программируемые логические контроллеры в автоматизированных системах управления / И. Г. Минаев, В. М. Шарапов, В. В. Самойленко, Д. Г. Ушкур. 2-е изд., перераб. и доп. — Ставрополь: АГРУС, 2010. — 128 с. ISBN 978-5-9596-0670-1
  • О. А. Андрюшенко, В. А. Водичев. Электронные программируемые реле серий EASY и MFD-Titan. — 2-е изд., испр. — Одесса: Одесский национальный политехнический университет, 2006. — С. 223.
  • Минаев И.Г. Свободно программируемые устройства в автоматизированных системах управления / И.Г. Минаев, В.В. Самойленко, Д.Г. Ушкур, И.В. Федоренко — Ставрополь: АГРУС. 2016. — 168 с. ISBN 978-5-9596-1222-1

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

Для программирования ПЛК используются стандартизированные языки МЭК (IEC) стандарта IEC61131-3

Языки программирования (графические)

  • LD (Ladder Diagram) — Язык релейных схем — самый распространённый язык для PLC
  • FBD (Function Block Diagram) — Язык функциональных блоков — 2-й по распространённости язык для PLC
  • SFC (Sequential Function Chart) — Язык диаграмм состояний — используется для программирования автоматов
  • CFC (Continuous Function Chart) — Не сертифицирован IEC61131-3, дальнейшее развитие FBD

Языки программирования (текстовые)

  • IL (Instruction List) — Ассемблеро-подобный язык
  • ST (Structured Text) — Паскале-подобный язык
  • C-YART — Си-подобный язык (YART Studio)
Популярные статьи  Паяльник эпсн

Структурно в IEC61131-3 среда исполнения представляет собой набор ресурсов (в большинстве случаев это и есть ПЛК, хотя некоторые мощные компьютеры под управлением многозадачных ОС представляют возможность запустить несколько программ типа softPLC и имитировать на одном ЦП несколько ресурсов). Ресурс предоставляет возможность исполнять задачи. Задачи представляют собой набор программ. Задачи могут вызываться циклически, по событию, с максимальной частотой.

Программа — это один из типов программных модулей POU. Модули (POU) могут быть типа программа, функциональный блок и функция.
В некоторых случаях для программирования ПЛК используются нестандартные языки, например:
Блок-схемы алгоритмов
С-ориентированная среда разработки программ для ПЛК.
HiGraph 7 — язык управления на основе графа состояний системы.

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

  • CoDeSys
  • ISaGRAF
  • ИСР «КРУГОЛ»
  • Beremiz
  • KLogic

Учебный план

№ п/п Наименование разделов и тем Всего часов В том числе Форма контроля
лекции практич. занятия
1 ПЛКFastwel I/O CPM713 5 3 2
1.1 Общие сведения о ПЛК: структура, рабочий цикл, время реакции, адресное пространство 1 1
1.2 Особенности программирования ПЛК 2 1 1
1.3. Технические характеристики CPM713, модули контроллера 2 1 1
2 Стандарт IEC 61131-3 3 3
2.1 Программная модель. Данные и переменные 1 1
2.2 Текстовые языки 1 1
2.3 Графические языки 1 1
3. Система программирования СoDeSys 6 6
3.1 Установка, общие сведения 1 1
3.2 Редактор программных модулей. Отладка и тестирование 1 1
3.4 Программирование на языках стандарта IEC. Имитатор ПЛК 3 3
3.5 Встроенная визуализация 1 1
4 Сетевые технологии автоматизации 2 2
4.1 Интерфейсы. Протоколы 1 1
4.2 Коммуникационное оборудование 1 1
5 Программирование и конфигурирование контроллера Fastwel I/O CPM713 в СoDeSys 8 2 6
5.1 Общие принципы, структура программного обеспечения 1 1
5.2 Настройка параметров и конфигурирование ПЛК 2 2
5.3 Организация сетевого обмена с контроллером посредством Modbus TCP 1 1
5.4 Создание программного обеспечения для контроллера 2 2
5.5 Принципы управления дискретными и непрерывными процессами с использованием ПЛК 2 1 1
6 Составление программы для автоматизации реального объекта по описанию технологического процесса и алгоритму 6 6
Итоговый контроль знаний 2 Зачет
Всего часов 32

Применение контроллеров

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

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

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

Входы и выходы

В любом контроллере реализованы входы трех типов – дискретные, аналоговые, специальные.

Дискретный вход

Один вход может принять только один сигнал и он будет бинарным. Вход может быть либо включенным, либо выключенным. Один вход — это 1 бит. К этому входу подключают соответствующее оборудование.

Если состояние приборов не удается описать в 1 бит, тогда для работы такого оборудования применяют несколько дискретных входов.

Системное ПО обязательно оснащено драйвером. Он считает физические значения каждого входа в ОЗУ. За счет этого программистам нет нужды понимать, как устроен контролер внутри. Дискретный вход – биты, которые можно читать и изменять из оперативной памяти устройства.

Аналоговый вход

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

Специальный вход

Обыкновенные входы способны удовлетворить практически все нужды. Необходимость в в спец. входах появляется при трудностях в обработке сигналов.

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

Второй тип таких входов – это входы, которые могут мгновенно запускать команды пользователей с прерываниями на выполнения основного ПО.

Дискретный выход

С одним выходом можно коммутировать только один сигнал. В качестве нагрузки на выходы могут использоваться различные исполнительные устройства.

Техническое задание

Создание и утверждение технического задания (ТЗ) – очень важная часть разработки ПО. От грамотно составленного ТЗ зависит, насколько эффективно будет вестись разработка.

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

Поэтому очень важно на этапе составления ТЗ плотно взаимодействовать со всеми заинтересованными специалистами, которые подписывают ТЗ, а по окончании принимают работу

Schneider Electric

Программирование ПЛК Шнайдер Электрик может быть выполнено с участием одной из нескольких сред: EcoStruxure Machine Expert, EcoStruxure Machine Expert HVAC, Unity Pro, Zelio Soft. Создание программ используется для тех же целей, что и контроллеров марки Siemens. Наиболее часто предназначены для управления технологическими процессами систем автоматизации следующих видов:

  • вентиляционное оборудование;
  • системы кондиционирования;
  • индивидуальные тепловые пункты;
  • осветительные системы;
  • управления конвейерными линиями и станками;
  • водоподготовка;
  • упаковочное оборудование;
  • грузоподъемные машины и сопутствующие механизмы.

История

Первые логические контроллеры появились в виде шкафов с набором соединённых между собой реле и контактов. Эта схема не могла быть изменена после этапа проектирования и поэтому получила название — жёсткая логика. Первым в мире, программируемым логическим контроллером, в 1968 году стал Modicon 084 (1968) (от англ. modular digital controller), имевший 4 кБ памяти.

Термин PLC ввел Одо Жозеф Стругер (англ.)русск. (Allen-Bradley) в 1971 году. Он также сыграл ключевую роль в унификации языков программирования ПЛК и принятии стандарта IEC61131-3. Вместе с Ричардом Морли (англ.)русск. (Modicon) их называют ‘отцами ПЛК’. Параллельно с термином ПЛК в 1970-е годы широко использовался термин микропроцессорный командоаппарат.

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

Советы по программированию ПЛК в среде CoDeSyS

Одно из значительных отличий написание алгоритмов для АСУТП от классического программирования — это меньший уровень абстракции. Для описания тех. процесса не требуется глубокое и огромное описание. Достаточно опираться на логику процесса и здравый смысл.

Не стремитесь использовать чужие библиотеки и чужой код в своих проектах.

Обращаю ваше внимание, чужие библиотеки, скачанные с форума на реальных объектах использовать категорически НЕ РЕКОМЕНДУЮ. Для этого есть куча готовых библиотек, такие как Standart, Utill, OSCAT. Фирма ОВЕН для своего оборудования пишет свои ПРОТЕСТИРОВАННЫЕ библиотеки

Фирма ОВЕН для своего оборудования пишет свои ПРОТЕСТИРОВАННЫЕ библиотеки.

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

Популярные статьи  Электромагнитное излучение — воздействие на человека, защита

Пишите программы компактно, и оставляйте комментарии.

Когда пишите объёмную и сложную программу, пользуйтесь функциями, функциональными блоками и подпрограммами. Пишите комментарии возле каждого узла автоматизации. Это очень сильно упрощает жизнь. Особенно тогда, когда нужно через некоторое время что-то исправлять.

Пользуйтесь интерактивной справкой в среде разработки.

В данном каталоге вы можете найти ответы на многие ваши вопросы, особенно это актуально для новичков. Открывается справка по нажатию кнопки F1.

Плюсы языка ST-массивы и циклы.

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

Язык программирования микроконтроллеров

А для программирования, как известно, используются языки программирования. Языков программирования сегодня существует огромное количество. И для многих из них имеются средства разработки для микроконтроллеров (средства для написания программ).

Однако я советую использовать стандартные средства разработки, которые предоставляют сами разработчики и производители МК. Во всяком случае на начальном этапе обучения. А стандартные средства разработки, как правило, поддерживают только два языка программирования: ассемблер и Си.

Несмотря на то, что ассемблер сложнее, я советую начинать обучение именно с него. Потому что так вы лучше разберётесь с тем, как работает МК и будете понимать, что и зачем вы делаете. А изучить Си можно будет потом.

Проблемы совместимости программы с аппаратной частью

Возможно, в процессе работы выяснится, что аппаратная часть контроллера не соответствует поставленной задаче. Например, не хватает входов или выходов, памяти или быстродействия.

Проблема с нехваткой входов или выходов легко решается приобретением дополнительных периферийных модулей. Они подключаются к центральному модулю (который имеет свои входы и выходы), обмен данных происходит по внутренней шине.

С памятью и быстродействием решить вопрос просто не получится, поэтому перед приобретением «железа» нужно обкатать программу в программном эмуляторе, который есть в каждой среде программирования.

Удаленное управление и мониторинг

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

Каким из доступных способов выполнить реализацию, с помощью простейшего клавиатурного модуля или сенсорной панели — решать заказчику. В последнее время активно используются «облачные» хранилища, виртуальные серверы. Не остаются в стороне и стандартные, Intranet (локальные) и Internet (внешние) подключения.

Библиотеки

МЭК 61131-3 предусматривает обязательное наличие стандартной библиотеки базовых функций и функциональных блоков. Для крупноблочного построения программ этого набора элементарных алгоритмов, конечно, недостаточно. Пользователь может нарабатывать собственные библиотеки (а таким образом поступают все профессиональные разработчики), однако никому не хочется заниматься изобретением велосипеда. Международное сообщество инженеров по автоматизации уже несколько лет назад создало и продолжает развивать библиотеку OSCAT из свыше 500 функций и функциональных блоков с открытыми текстами на языке ST. Однако из-за неполной совместимости реализации стандарта в разных системах программирования библиотека существует в нескольких версиях: для Step7, для CoDeSys и др. Выполненная «ИнСАТ» реализация практически не отклоняется от определений стандарта, что потребовало очищения кода библиотеки от нестандартных приемов, например использования указателей. Существенное отличие реализации библиотеки OSCAT заключается еще и в том, что включенный в MasterPLC Designer вариант не требует ручного переноса кода ST в собственные программы: библиотека заранее целиком включена в среду продукта, полностью адаптирована, протестирована и снабжена документацией на русском языке.

Наряду с этими базовыми библиотеками в составе MasterPLC Designer поставляются библиотеки оборудования, типов данных, типов тегов и каналов.

Принцип действия ПЛК

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

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

  • Опрос входов;
  • Выполнение команд;
  • Установка значений для входов;
  • Вспомогательные операции.

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

Структура и устройство ПЛК

Любой плк Siemens или аналогичный, других производителей, ориентирован на выполнение конкретных действий. Микроконтроллер опрашивает блоки ввода информации, чтобы принять решение, сформировать на выходе готовую команду. Упрощенно схема стандартного элемента включает:

  • вход;
  • центр;
  • выход.

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

Заключение

Сегмент встраиваемых систем в суммарном годовом объеме применений CODESYS ежегодно увеличивается. CODESYS применяется во встраиваемых контроллерах компаний Bosh, Rolls-Royce Marine, Praxis, CC Systems, Moba и др. Это далеко не опытные прототипы, речь идет о десятках тысяч изделий. Примеры нескольких применений показаны на фотографиях.

Среди МЭК-систем программированиия CODESYS выделяется тем, что, подобно компиляторам С/С++, непосредственно генерирует надежный и компактный машинный код, пригодный для встраиваемых систем. Простые в освоении языки МЭК позволяют привлечь к разработке и сопровождению специалистов прикладной области. Интерес для разработчика встраиваемых систем может представлять богатый функционал комплекса CODESYS. Многозадачность реального времени, обработка событий, встроенная визуализация, развитый набор коммуникаций, «горячее» обновление кода, полевые сети, поддержка управления через Интернет, средства национальной локализации проектов и другие функции CODESYS могут быть не востребованы во встраиваемой системе изначально. Но необходимо учитывать, что все они создавались эволюционно, исходя из практических требований, возникавших у пользователей контроллеров в разных странах, разных условиях и на разных этапах работ. В процессе жизни встраиваемой системы неизбежно возникают аналогичные или близкие задачи. Например, задача настройки и тестирования оборудования заказчиком, интеграция с другим оборудованием, веб-интерфейс и т. п. Во многих случаях CODESYS даст готовое решение.

Рейтинг
( Пока оценок нет )
Денис Серебряков/ автор статьи
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: