Программирование ПЛК
Контроллеры Beckhoff – это свободно-программируемое оборудование, которое находит все большее применение. С таким устройством вы можете без труда организовать обмен с внешним оборудованием посредством RS232 по своему личному протоколу. Контроллеры отличаются выгодными техническими и эксплуатационными характеристиками.
МЭК 61131-3
Программирование всех PLC производится на языках такого шаблона, как МЭК 61131-3. В целом, таких языков пять. Но каждый, кто производит их, прибавляет свои. Каждый язык не похож на другой. Выбор конкретного варианта связан в первую очередь с тем, в какой вид деятельности был вовлечен человек перед тем, как прийти в данную область.
-
IL, instruction list, перечень конструкций. Такой список обязательно оценили бы кодеры в возрасте, которые пробивают по памяти перфокарты. Но на практике сложно найти тех, кто использовал бы данный вариант;
-
LD, ladder diagram. Наглядный (визуальный) вариант, предназначенный непосредственно для вовлеченных в разработку систем автоматики релейной;
-
ST, structured text. В наибольшей мере похож на стандартные языки. В некоторой степени схож с Паскалем. Особо ценен для всех тех, кто был вовлечен до PLC в иные языки программирования и работал на других платформах;
-
FBD, functional block diagram. Такая схема находит применение, в первую очередь, у технологов, которые приняли решение заниматься программированием. Ценится в большей степени за хорошие показатели наглядности;
-
SFC, sequential function chart. Это специальный язык графики. В принципе, он крайне редко используется на практике.
Можно отметить такой язык, как CFC. О нем мы говорим в ракурсе не всеми поддерживаемых языков. Но Beckhoff он поддерживается. Является дальнейшим развитием FBD. Существует одно значимое различие, состоящее непосредственно в возможности поддержки в схемах обратной связи.
Для чего это необходимо? В первую очередь для того, чтобы любое устройство коротких импульсов работало и на CFC, и, соответственно, на FBD.
Блок TON собой представляет обычный блок, таймер с наличием задержки включения.
Наиболее востребованная и известная сфера разработки PLC – это, бесспорно, CoDeSys. Многочисленные производители используют ее в качестве основы. Они могут создать к ней специальную библиотеку, которая необходима для осуществления работы с собственным программированием ПЛК, а могут доработать среду как раз под себя.
Особенности функционирования программирования ПЛК
Программа работает по циклу. Время такого цикла может составлять от единиц миллисекунд и до целых секунд. Все зависит непосредственно от реализуемых задач, возложенных на данные ПЛК. Грамотно настроенное программирование ПЛК позволяет решить многочисленные задачи.
Многие ПЛК предоставляют возможность установки времени цикличности каждому разработчику программы. Тем не менее, не во всех вариантах присутствует такая возможность.
Некоторые ПЛК, Beckhoff в частности, позволяют создавать всего в одной программе не одну, а более циклически осуществляемую функцию, а также задать для каждой задачи свою важность. Что предоставляет нам данная возможность?
Например, ситуация. Посредством ПЛК происходит регулирование работы вентиляционной установки. К ПЛК подсоединена специальная управленческая панель через RS232.
В помещении не слишком быстро происходит смена температурного режима. Исходя из этого включать алгоритм регулирования вентиляцией слишком часто, а именно, чаще 50-100 мс не имеет никакого смысла.
Но в то же время, панелью оператора осуществляется регулярный опрос контроллера. Если ответ задержан больше чем на 10 мс, то этот факт уже говорит о легком торможении интерфейса каждого пользователя. Если же показатель задержки равен 15 и более мс, то буфер СОМ-порта настолько переполнен, что это может стать причиной некачественной работы.
Присутствие не одной, а нескольких задач помогает в решении данных проблем быстро и красиво. Например, быстрая задача может без проблем функционировать с СОМ-портом, а вот медленная будет реализовать логику функционирования системы вентиляции. Работает все отлично, панель не глючит и все мы остаемся довольны. Если программированием ПЛК занимаются профессионалы, то и работа будет выполнена качественно.
Каково наполнение данных железок?
Вопрос, который интересует многих из нас. В данном случае все напрямую зависит от фирмы-производителя. Некоторые реализуют платформу на процессоре RISC (как вариант отечественная компания «Овен»). Данный подход невероятно популярен.
Что касается Beckhoff, то они решили выбрать иной путь. Они устанавливают на свои ПЛК систему Виндоус СЕ 5.0 (если прошивка будет обновлена непосредственно с официального проекта, то даже 6.0) либо Виндоус ХР Embedded, а ПЛК функционирует в качестве службы.
Довольно интересный контраргумент для каждого любителя подескутировать о нестабильной работе системы Виндоус.
Но мы поговорили о «голове», о самом главном в контроллере. Кроме головы устройству необходимы еще выходы и входы для того, чтобы осуществлять общение с миров. В таком случае можно рассмотреть два варианта:
-
все может быть выполнено непосредственно в одной коробке. То есть, голова, определенный комплекс выходов и входов, пара способов конфигурации. Здесь входов больше, там меньше, там голова сильнее, а там слабее. Именно так делает, как вариант, Carel и некоторые иные. на небольшом проекте данный подход может себя и оправдать в некоторой степени. Все нужно рассматривать только в индивидуальном порядке;
-
тем не менее, есть и иной подход. Он, как показывает практика, предоставляет намного большую податливость. В данном случае голова находится раздельно. К ней уже подключен специальный «хвост», который состоит из функциональной аппаратуры вывода/ ввода. Рассматриваются конкретные модули, необходимые именно в нужном количестве. Посредством такого программирования ПЛК можно решить многие задачи. Именно данному принципу в работе следуют компании Siemens и Beckhoff, а также некоторые иные.
Как видим, работа над программированием ПЛК достаточно сложная и требует наличия определенных знаний и большого опыта.
Вы можете при желании найти соответствующие иллюстрации и сами увидите, как конкретно выглядит подход все в одном и все в отдельности.
Кроме всего прочего, еще присутствует определенная шина на голове, предоставляющая возможность соединения сети ПЛК. Во многих случаях можно изменять программу ПЛК посредством данной сети.
Выбор сети – это зависит от ПЛК. Могут быть представлены неведомые некоторым из нас варианты сети, такие как EIA-485, малоизвестный CAN либо Profibus. Вы можете найти и обыденный Ethernet.
Как раз посредством этой сети производится подключение к самому верхнему уровню ПЛК. К примеру, к системе СКАДА.
Так каким образом необходимо писать программы под него?
Если рассматривать такой вопрос максимально подробно и детально, то впору написать целую книгу, а не одну статью. Но если рассказать лишь те моменты, о которых многие знают из личного опыта, то можно уложиться в формат статьи.
Итак, внесем небольшую ложку дегтя. Для каждого программиста, который работает на профессиональном уровне, процесс освоения ПЛК может показаться как бы деградацией. Рассматриваем ООП? Их просто у нас не существует. Можно говорить лишь о тех структурах, именуемых функциональными блоками. О таких вещах, как Private, Public и иное, можете больше не вспоминать. Все это вам вообще не потребуется ни разу. Абсолютно из любой части программы можно открыть доступ к иной.
Динамичные различия памяти? Отсутствуют. Нет абсолютной уверенности в том, какое количество сведений предоставят, тогда просто выдели буфер с наличием небольшого запаса и после просто не вспоминай про память. Ведь ее не выйдет освободить.
Можно проявить чудеса в быстроте и осуществлять обработку информации прямо в ленте, если, конечно, получится уложиться четко в указанное время цикла.
Можно ли найти исключения? Скорее нет, чем да. Так как даже если кто-либо вам и привел наглядные примеры таких исключений, то последствия непредсказуемые и крайне нежелательные.
Понятное дело. Переполнение не помещается foo * bar в 16 бит и постоянно все виснет. Да виснет еще так сильно, что никакие меры помимо осуществления сброса по питанию вам не помогут.
Среда разработки? Очень многие желают немного похвастаться и представить свое. Одна из сред, которая была написана, просто вылетела, когда пробовали произвести соответствующие действия. Это еще раз нам говорит о том, что даже в среде разработки не каждый раз могут создать грамотную обработку на ПЛК.
Однако для любителей невидимой грани, отделяющей ПО от железа – это является достаточно увлекательной частью IT.
Компания iicom.kz предлагает услуги программирования ПЛК по приемлемым ценам. У нас вы обязательно найдете логические контроллеры, также устройства для усовершенствования труда на производстве, инновационные системы и иную продукцию.
Наши специалисты занимаются проведением цифровизации разных сфер промышленности и обеспечивают введение качественного ПО.
Закажите услуги в iicom.kz и будьте уверены в лучших предложениях для вас.