Програми за програмиране на различни PLC. Принцип на действие и основи на програмирането на PLC

Контролерът е управляващото устройство. Той става наистина функционален само когато създадете и стартирате програма, за да го използвате.

Това предполага основната задача на програмируемия логически контролер - изпълнението на програма, която управлява процеса.

Какъв набор от програми е наличен за PLC? По принцип всеки комплект е възможен. Основното е, че размерът на безплатните ресурси на този инструмент не трябва да ви пречи. Разработчикът получава широки възможности за писане на програми.

Какво е необходимо за програмиране на контролера? Първо, имате нужда от програмист, който да разбере напълно този проблем. Второ, имате нужда от самия компютър и разбира се пакета за разработка.

Функционалност на инструментите за разработка

Обикновено пакетът за разработка идва срещу допълнителна цена. Въпреки че по принцип често се установява, че този пакет първоначално вече е включен в инсталационния софтуер.

Каква функционалност предлага средата за разработка?

  1. Голям набор от библиотеки, програмни блокове, определени процедури и готови шаблони.
  2. Инструменти за проверка, тестване и стартиране на програмата на компютър, заобикалящ контролера.
  3. Предлага се и инструмент за автоматизиране на документирането на създадена програма, в рамките на приетите стандарти.

И накрая, трябва да се отбележи основното предимство - това е поддръжка за около шест езика за програмиране. Единственият недостатък е, че съвместимостта на програмите се изпълнява на ниско ниво. Производителите на PLC не са стигнали до обединяване и всеки пуска това устройство със собствена софтуерна среда.

Видове езици за програмиране за PLC

  • LD език

LD (Ladder) е среда за разработка, която се основава на графики. В известен смисъл това е един вид релейна верига. Разработчиците на този стандарт смятат, че използването на този тип софтуерна среда значително улеснява преквалификацията на инженерите за релейна автоматизация на PLC.

Основните недостатъци на този език за програмиране включват неефективността на процесите на обработка с голям брой аналогови променливи, тъй като е изграден да представя дискретни процеси.

  • FBD език

FBD (функционална блокова диаграма) – тук се използва и графично програмиране. Образно казано, FBD дефинира известно множество функционални блокове, които имат взаимовръзки (вход и изход).

Данните за връзката са променливи и се прехвърлят между блокове. Всеки блок поотделно може да представлява конкретна операция (задействане, логическо „или“ и т.н.). Променливите се дефинират с помощта на специфични блокове, а изходните вериги могат да бъдат свързани със специфични изходи на контролера или свързани с глобални променливи.

  • SFC език

SFC (Sequential Function Chart) - може да се използва с ST и IL езици, също е базиран на графики. Принципът на неговата конструкция е близък до образа на краен автомат, това условие го отнася към най-мощните езици за програмиране.

Технологичните процеси, на този език, се изграждат според вида на определени стъпки. Стъпаловидната структура се състои от вертикала, която върви отгоре надолу. Всяка стъпка е специфична операция. Можете да опишете операцията не само с помощта на SFC, но и с помощта на ST и IL.

Веднага след като стъпката бъде завършена, има действие за прехвърляне на контрола към следващата стъпка. Преходът между стъпките може да бъде два вида. Ако някакво условие е изпълнено на стъпка и следващата стъпка е преходът към следващата стъпка, тогава това е условен преход. Ако обаче всички условия на дадена стъпка са напълно изпълнени и едва тогава се извършва преходът към следващата стъпка, тогава това е безусловен преход.

  • ST език

ST (структуриран текст) се отнася до езици от високо ниво и има много прилики с Pascal и Basic.

ST ви позволява да интерпретирате повече от шестнадесет типа данни и има способността да работи с логически операции, циклични изчисления и т.н.

Малък недостатък е липсата на графична среда. Програмите се представят под формата на текст и това условие затруднява развитието на технологиите.

  • IL език

IL (Instruction List) - език, подобен на Assembler, обикновено използван за кодиране на блокове поотделно. Предимството е, че тези блокове имат висока скорост и ниски изисквания за ресурс.

  • CFC език

CFC (Continuous Flow Chart) – отнася се за езици от високо ниво. По принцип това е изрично продължение на FBD езика.

Процесът на проектиране се състои от използване на готови блокове и поставянето им на екрана. След това те се конфигурират и се поставят връзките между тях.

Всеки блок е управление на определен технологичен процес. Тук има основно пристрастие към технологичния процес, математиката минава по пътя.

Да вземем за пример най-простата задача: необходимо е да включите натискането 1 секунда, след като операторът едновременно задържи два бутона в натиснато състояние. По този начин гарантираме, че и двете ръце на оператора са заети и му даваме време да провери готовността на машината. Най-простото решение е да свържете последователно контактите на двата бутона и да поставите електронно реле с таймер. Ако таймерът позволява регулиране на времето на закъснение, тогава такава схема ще осигури известна гъвкавост на системата, но не прекалено.

Всякакви допълнителни условия, като изискването за контрол на последователността на натискане на бутони, ще ни поставят в трудна ситуация – ще бъдем принудени да сменим веригата, като въведем допълнителни релета. Това не е труден проблем, при условие че такава необходимост възниква изключително рядко.

Но в конкурентна производствена среда времето за пускане на пазара е от решаващо значение и така, когато става въпрос за гъвкаво автоматизирано производство, смяната трябва да се извършва бързо и рентабилно.

Допълнителен проблем е увеличаването на сложността на системата за управление с развитието на производството и появата на допълнителни функции (усложнение на алгоритъма на работа).

Всеки специалист по автоматизация също се сблъска с проблема с изграждането на система за управление на оборудване в предметна област, която не му е позната: липсата на ясна формулировка на проблема, появата на нови условия при въвеждането на оборудването може да направи невъзможно успешно реализиране на проекта.

Беше необходимо да се създаде контролно устройство, чийто алгоритъм на работа може да се променя, без да се променя схемата на свързване на системата за управление, и в резултат на това възникна логическата идея да се заменят системите за управление с "твърда" логика на работа (а комплект релета, регулатори, таймери и др.) с автомати с програмно зададена логика на работа. Така се родиха програмируеми логически контролери (PLC). За първи път PLC бяха използвани в САЩ за автоматизиране на поточните линии в автомобилната индустрия (1969 г.).

Тъй като в определението за "програмируем логически контролер" основното нещо беше "програмируем", тогава почти веднага възникна въпросът как да програмирам PLC?

Алгоритмичните езици за компютърно програмиране от онова време са фокусирани върху решаването на изчислителни проблеми. Професията на програмист се смяташе за изключително рядка и трудна, нямаше такива специалисти в нито едно производство. Идеален вариант би бил автоматичното превеждане на схеми на релейни автомати в програми за PLC.

Защо не? Така се появи в PLC език на диаграмите на релейните контакти (RKS или LD в английски източници Ladder Diagram). Технологът може да „преначертае” схемата за управление на дисплея на станцията за програмиране на PLC. Естествено, схемата не беше изобразена графично, а с помощта на конвенционални символи.

Например, описаната по-горе задача може да бъде програмирана по следния начин:

Отляво и отдясно в такава програма виждаме вертикални захранващи шини, свързани с хоризонтални вериги. Схемите могат да се състоят от техните контакти и някои допълнителни елементи (например таймер), свързани паралелно или последователно. Вдясно всяка верига завършва с релейна намотка. Контактите на това реле могат от своя страна да присъстват в други вериги. По този начин е възможно да се състави доста сложна схема, подобна по функционалност на истинска релейна верига.

Първите програмни станции бяха много обемисти устройства, транспортирани от няколко души. Независимо от това, PLC активно започнаха да заменят още по-обемисти и най-важното, шкафове за релейна автоматизация с „твърда“ логика.

Физически PLC е един или повече блокове, които имат определен набор от изходи и входове за свързване на сензори и изпълнителни механизми (виж фиг. 1).

Логиката на работата му се описва от софтуер и се изпълнява от вградения микропроцесор. В резултат на това напълно идентични PLC могат да изпълняват напълно различни функции. За да промените алгоритъма на работа, не са необходими хардуерни модификации.

Ориз. 1. Принцип на работа на PLC

Развитието на електрониката доведе до невероятна миниатюризация на PLC. Днес има миниатюрни програмируеми контролери, оборудвани с малък дисплей и вградени възможности за програмиране, такива контролери се наричат ​​програмируеми релета. Типичните задачи на програмируемите релета са много прости локални системи с до дузина входа и няколко изхода на силови релета.

Не е лесно да се напише по-сложна програма с помощта на вградената конзола. По подобен начин можем лесно да въвеждаме SMS текст на клавиатурата на мобилен телефон, но дори въвеждането на няколко страници текст, да не говорим за големи обеми, изглежда проблематично. За да направите това, има персонални компютри (PC), които осигуряват много по-удобни условия за работа на човек.

Един модерен PLC може да замени десетки контролери, стотици таймери и хиляди релета. С помощта на компютър програмирането на такава система изобщо не е трудно. Използването на компютър като PLC станция за програмиране е доминиращото решение днес. Това не само опростява програмирането, но и решава проблемите с архивирането на проекти, изготвянето на документация, визуализацията и моделирането. Компютърът предоставя удобен универсален инструмент както за програмиране на най-простите локални задачи на PLC, така и за АСУ ТП.

Моля, имайте предвид, че когато говорим за PLC програмиране, ние продължаваме да се връщаме към това как да направим този процес прост и удобен за хората. Изглежда, че след като програмиран PLC ще работи с години и не е много важно дали програмата му изглежда красива, основното е, че работи добре.

За съжаление това не е така. Необходимостта от смяна на програмата в PLC възниква редовно и понякога неочаквано. Следователно той трябва да бъде написан по такъв начин, че всеки човек, а не само неговият автор, да може бързо да го разбере и своевременно да направи необходимите подобрения. Да се ​​каже, че програмите са написани за PLC не е съвсем правилно.

Всички програми са написани от човек и са предназначени за четене от човек. Всички инструменти за програмиране в крайна сметка дават инструкции на микропроцесора в неговите машинни кодове. За него няма значение на какъв език е написана програмата.

Посоченото по-горе е изобретено в САЩ по време на релейната автоматизация. Модата за PLC дойде в Европа малко по-късно, когато релейните шкафове вече бяха успешно заменени от шкафове с логически микросхеми. Следователно имаше нужда да се измислят други езици за програмиране, разбираеми за новото поколение инженери.

Така в Германия се появиха езици на прости текстови инструкции, наподобяващи асемблер (IL). Във Франция се появиха графични диаграми и диаграми на високо ниво за описание на етапите и условията на преходите (Graphset, съвременен SFC). Използвани са и езиците, използвани за компютърно програмиране (Pascal, Basic). В края на седемдесетте се разви изключително трудна ситуация.

Всеки производител на PLC (включително СССР) разработи свой собствен език за програмиране, така че PLC от различни производители бяха софтуерно несъвместими, а също така имаше проблем с хардуерната несъвместимост. Подмяната на PLC с продукт от друг производител се превърна в огромен проблем. Купувачът на PLC беше принуден да използва продукти само от една компания или да изразходва енергия за изучаване на различни езици и пари за закупуване на подходящи инструменти.

В резултат на това през 1979 г. в рамките на Международната електротехническа комисия (IEC) е създадена специална група от технически експерти по проблемите на PLC. Тя беше натоварена със задачата да разработи стандартни изисквания за PLC хардуер, софтуер, правила за инсталиране, тестване, документация и комуникации.

През 1982 г. е публикувана първата чернова версия на стандарта, която е наречена IEC 1131. Поради сложността на получения документ, е решено той да бъде разделен на няколко части, третата част на стандарта „PLC Programming Languages” е посветен на проблемите на програмирането.

От 1997 г. насам IEC премина към 5 цифрови обозначения, в момента правилното име за международната версия на частта от стандарта, посветена на езиците за програмиране на PLC, е IEC 61131-3. Работната група на IEC взе доста оригинално решение. От цялото разнообразие от езици за програмиране на PLC, които съществуваха по време на разработването на стандарта за език за програмиране на PLC, бяха идентифицирани 5 езика, които бяха най-широко използвани.

Езиковите спецификации са подобрени, така че е възможно да се използва стандартизиран набор от елементи и типове данни в програми, написани на всеки от тези езици. Този подход на IEC е критикуван повече от веднъж, но времето доказа правилността на това решение.

Внедряването на този подход даде възможност да се включат специалисти от различни области на знания (и най-важното - с различни квалификации) в програмирането на един и същ PLC: специалисти по релейна автоматизация (и дори електротехници) в LD, специалисти в областта на полупроводникови схеми и автоматично управление, за които езикът FBD е познат, програмисти с опит в писането на програми за компютри на асемблер (съответства на езика IL за PLC), на езици от високо ниво​​(ST език), дори технолозите, далеч от програмирането, получиха свой собствен инструмент за програмиране - езика SFC.

Въпреки че въвеждането на IEC системи за програмиране не изостави напълно услугите на професионални програмисти (въпреки това, такава цел не беше поставена), но даде възможност да се намалят изискванията за квалификация и съответно разходите за възнаграждение за PLC програмисти. Стандартизацията на езиците направи възможно (поне частично) решаване на проблема със зависимостта на потребителя на PLC от конкретен производител.

Всички съвременни PLC са оборудвани с инструменти за програмиране IEC 61131-3, което опростява работата на потребителите на контролери (можете да използвате PLC от различни компании без разходи за преквалификация) и в същото време премахва редица проблеми за производителите на PLC (можете да използвате PLC компоненти от други производители).

Стандартът значително разшири възможностите на пазара на труда за специалист по PLC програмиране. Точно както автомеханик със стандартен набор от инструменти може да поеме ремонта на всеки компонент (освен нестандартен) на автомобил на всяка компания, така специалист, който е изучавал езици IEC 61131-3, ще може да разбере извън програмата на всеки модерен PLC. Това даде възможност да се намали както зависимостта на фирмата от специалиста по програмиране на PLC, така и от специалиста от фирмата.

Към днешна дата водещата позиция на пазара на IEC системи за програмиране се заема от немската компания 3S-Smart Software Solutions GmbH. Използва се от 190 компании по целия свят, повечето от тези компании са водещи производители на оборудване и/или системи за индустриална автоматизация.

В Русия PLC с CoDeSys са добре познати на специалистите, гамата от продукти, произведени под контрола на тези PLC, е огромна. CoDeSys включва 5 специализирани редактора за всеки от стандартните езици за програмиране:

    Списък с инструкции (IL),

    Функционални блокови диаграми (FBD),

    стълбови диаграми (LD),

    Структуриран текст (ST),

    Последователни функционални диаграми (SFC).

Редакторите се поддържат от голям брой помощни инструменти, които ускоряват въвеждането на програми. Това са помощник за въвеждане, автоматично деклариране на променливи, интелигентна корекция на въвеждане, подчертаване на цветовете и синтактичен контрол по време на въвеждане, мащабиране, автоматично поставяне и свързване на графични елементи.

В един проект можете да комбинирате програми, написани на няколко IEC езика или да използвате един от тях. Няма специални езикови изисквания. Това зависи единствено от личните предпочитания.

Най-популярният език в Русия е ST. Това е текстов език, който е донякъде адаптиран от Pascal. Вторият най-популярен графичен език е FBD, следван от LD. В допълнение към инструментите за подготовка на програми, CoDeSys включва вграден дебъгер, емулатор, инструменти за визуализация и управление на проекти, PLC и мрежови конфигуратори.

Друга неочаквана идея, формирана колективно от потребителите на CoDeSys, беше доброволното сдружаване на производители на PLC, поддържащи CoDeSys, в организацията с нестопанска цел CoDeSys Automation Alliance (CAA). Същността на идеята е производителите на продукти за индустриална автоматизация, които поддържат CoDeSys, да се превърнат в партньори (доколкото е възможно на конкурентен пазар) и да се неутрализира ефектът от конкуренцията между производителите върху потребителите на PLC.

Вместо съзнателно да създават технически бариери, които пречат на потребителите да използват лесно продуктите на друга компания, членовете на CAA умишлено предприемат стъпки, за да гарантират, че техните продукти са съвместими.

Потребителят може да бъде сигурен, че неговата приложна програма CoDeSys ще работи във всеки контролер на която и да е компания членка на CAA. Потребителят може да бъде сигурен, че използваните от него инструменти (CoDeSys) са тествани от хиляди потребители по целия свят. Потребителят винаги може да обсъди своите трудности и да получи реална помощ от широк кръг от колеги, които имат опит в решаването на подобни проблеми.

Брокарев А.Ж., Петров И.В. Фирма "ПРОЛОГ"

Въведение
Работя в областта на сградната автоматизация. Така се случи, че основно изграждаме системите си на базата на Beckhoff PLC. Този избор беше направен главно защото тези контролери са свободно програмируеми в пълния смисъл на думата. Какво означава? Вземете например контролера TAC Xenta и опитайте да го обмените с външно устройство чрез RS232, използвайки вашия собствен протокол, на ниво „изпратен байт - получен байт“. Няма да работи, тези контролери не знаят как - използвайте само онези протоколи, които разработчикът е положил в тях. Но Бекхоф може. Но преди да влезем в такива дива природа, нека да разгледаме средата за разработка? На какъв език ще пишем?
Стандарт IEC 61131-3
Индустриалните PLC са програмирани на езици IEC 61131-3. Има общо 5 от тези езика, някои производители добавят свои собствени. Езиците изобщо не са подобни един на друг и, наблюдавайки моите колеги, мога да предположа, че изборът на един или друг език е свързан преди всичко с това, което човек е правил, преди да дойде в тази индустрия.
  1. IL, списък с инструкции Подобно на асемблер. Не съм виждал някой да го използва, но подозирам, че кодери от старата школа, които перфорират карти от памет, ще го оценят.
  2. LD, стълбищна диаграма. Визуален език за тези, които са участвали в разработването на схеми за релейна автоматизация.
  3. ST, структуриран текст. Най-вече прилича на "класически" езици за програмиране, донякъде подобни на Pascal. Ето защо се оценява от тези, които преди PLC са се занимавали с програмиране на други езици и платформи, по-специално от мен.
  4. FBD, функционална блокова схема. Един вид блокова диаграма, ние обичаме преди всичко технолози, които решават да се занимават с програмиране, заради тяхната видимост.
  5. SFC, последователна функционална диаграма. Графичен език, няма да казвам нищо повече. Никога не съм го виждал използван.

От не всички поддържани езици, заслужава да се отбележи езикът CFC (непрекъсната блок-схема), Beckhoff го поддържа. Това е по-нататъшно развитие на езика FBD, една от най-съществените разлики, според мен, е поддръжката на изрична обратна връзка във веригите. Защо е необходимо това? Например, такъв генератор на кратки импулси ще работи на CFC, но не и на FBD.

Блокът TON е стандартен блок, таймер за забавяне на включване. Операционна логика: изходът Q става TRUE, когато входът IN е TRUE поне за времето PT.
Вероятно най-популярната среда за разработка на PLC е CoDeSys. Много производители го вземат за основа и или създават библиотека, за да работи с техния PLC, или допълват средата за себе си.

Как работи PLC?
Програмата PLC работи циклично. Времето на цикъла може да бъде от единици милисекунди до единици секунди, в зависимост от задачите, възложени на този PLC. Повечето PLC ви позволяват да зададете времето на цикъла за програмния дизайнер, но някои модели не го правят. Много PLC, по-специално Beckhoff, ви позволяват да създадете повече от една циклично изпълнявана задача в една програма и да зададете приоритет за тези задачи. Какво ни дава тази възможност?
Представете си ситуацията: PLC управлява вентилационния блок, а контролният панел е свързан към него чрез RS232. Температурата в помещенията не се променя бързо и няма смисъл алгоритъма за управление на вентилацията да се изпълнява по-често от веднъж на всеки 50 - 100 ms. От друга страна, операторският панел проучва контролера постоянно и забавяне на PLC отговора от повече от 10 ms вече се изразява в „забавяне“ на потребителския интерфейс, а със закъснение от 20 ms хардуерния буфер на COM портът ще препълни. Наличието на няколко задачи ни позволява да решим този проблем красиво: нека „бързата“ задача да работи с COM порта и да се извиква на всеки 2 ms, а „бавната“ изпълнява логиката на работа на вентилацията и да се извиква на всеки 50 ms. Всичко работи добре, операторският панел не се забавя, потребителят е доволен.
И какво имат тези жлези вътре?
Всичко зависи много от производителя. Някой прави своята вградена платформа на RISC процесор (например домашният "Овен") - този подход е много популярен. Beckhoff пое по различен път - техният PLC има инсталиран Windows CE 5.0 (и ако актуализирате фърмуера от официалния сайт, тогава 6.0) или Windows XP Embedded и PLC задачата работи като услуга. Доста интересен контрааргумент за тези, които обичат да говорят за нестабилността на Windows.
Но това е „главата“ на контролера и той все още се нуждае от входове и изходи, за да комуникира с външния свят. Тук има два подхода:
  1. Можете да направите „всичко в една кутия“ - глава, определен набор от входове / изходи, няколко опции за конфигурация - тук имаме повече входове, тук има по-малко, тук главата е по-мощна, тук е по-слаба. Така правят, например, Карел и много други. При малък проект този подход може да се оправдае по някакъв начин.
  2. Но лично на мен ми се струва, че различен подход дава повече гъвкавост. Главата е отделна и към нея чрез шината е свързана наборна "опашка" от I/O модули. Инсталираме модулите, от които се нуждаем и в необходимото количество. Това правят Бекхоф и Сименс, например.

Ето как изглежда подходът „всичко в една кутия“. На снимката е Carel pCO3.


И ето още една опция - главата от серията Beckhoff CX9000 (вляво на снимката) с набор от I / O модули.

Наред с други неща, все още има определена шина на главата, която ви позволява да свържете PLC към мрежа и често също да променяте програмата му през същата мрежа. Каква мрежа ще бъде зависи от PLC. Може да е непознато за тези, които не са се сблъсквали с индустриални мрежи EIA-485, Profibus, CAN и може би доста познати Ethernet. Именно чрез тази мрежа, наречена fieldbus, PLC се свързва към горното ниво – към SCADA системата, например. На снимката по-горе ясно се виждат 2 8P8C конектора на главата на Beckhoff - това е Ethernet, а Carel има (лошо, наистина) 2 6P4C конектора горе вляво - така направиха RS-485. Този интерфейс, за съжаление, го прави нямат общоприет конектор.

Така че все пак как да пиша програми за него?
По принцип това не е тема на статия, а на цяла книга. Но ще ви кажа какво видях от личен опит и нека да е муха в мазила.
За професионални програмисти овладяването на PLC в много отношения ще изглежда като деградация. ООП? Ние ги нямаме, има само структури, изброявания и един вид клас, наречен „функционален блок“. Какво е частно, публично и така нататък, можете също да забравите веднага - няма да ви е по-удобно. От всяко място във вашата програма имате достъп до всяко друго място.
Динамично разпределение на паметта? Въобще ги нямаме. Не сте сигурни колко данни ще ви бъдат изпратени? Разпределете буфер с марж и забравете за тази памет - няма да можете да я освободите. Или покажете чудесата на скоростта и процесните данни в движение, ако успеете да изпълните определеното време на цикъл.
Изключения? Какво си... Видях едно чудо, което висеше плътно при изпълнение на конструкцията на формуляра:
foo, bar: int; основа: истинска; foo:= 2000; бар:= 2000; baz:= INT_TO_REAL(foo * bar);
Ясно е, че препълването не побира foo * bar в 16 бита, но защо тогава да виси? Освен това нищо освен нулиране на захранването не помага.
Среда за развитие? Не всеки има CoDeSys, мнозина искат да бъдат оригинални и да напишат нещо свое. Една от тези самописани среди се срине с грешка по време на изпълнение при опит да запише числото 86400 в 16-битов INT. И вие казвате обработка на изключения на PLC. Не винаги е възможно да се направи нормално в средата за разработка.

НО! Но за любителите на тази тънка линия, която разделя хардуера от софтуера, разговорният софтуер е много интересен клон на ИТ, наистина.

Надяваме се, че този малък преглед е полезен. Ако хабрасоциумът се интересува от тази тема, тогава ще ви разкажа повече за PLC.

Една от ключовите цели на автоматизацията е да наблюдава промяната в състоянието на обекта и възможността за контрол на този процес. Намалените процеси на промяна водят до повишена производителност и ефективност. Машинното зрение и контролът на движението помагат за намаляване на промяната и добавяне на гъвкавост към днешните системи за автоматизация. От своя страна увеличаването на гъвкавостта и функционалността на системите за автоматично управление може да изтласка някои по-стари системи до ръба на възможностите за обработка.

PLC програмируемите логически контролери вече са норма в системите за автоматизация. Често към цената на новите технологии се добавя възможността за надграждане на хардуер и/или допълнителни възможности за въвеждане на нови операционни системи. Въпреки това, добавянето на устройства за управление на движението или модули за потребителски вход към програмируем логически контролер на PLC може също да има значително влияние върху цената на цялото оборудване.

Относителните разходи, мащабируемостта, функционалността и внедряването на персонализирани опции са изисквания за съвременните индустриални контролери. Тъй като изискванията за скорост на обработка, памет и мощност се увеличиха значително напоследък, може ли PLC да продължи да бъде основното средство за автоматизиране на производствените системи?

Процес на управление

В най-простата си форма процесът на управление се състои от три основни компонента - сензор, контролер и задвижващ механизъм. Сензорът събира информация за контролирания обект и я предава на контролера, който обработва получените данни и подава управляващ сигнал към задвижващия механизъм. Този дизайн се нарича затворена верига или система за обратна връзка.

Например, наблюдението на газовете и температурата в азотна пещ може да е важно за топлинната обработка, докато данните за влажността на въздуха или вибрациите в помещението може да нямат нищо общо с процеса на топлинна обработка. Добавянето на най-новите данни към автоматичната система за управление няма да донесе абсолютно никаква полза, а само ще го усложни и ще увеличи разходите. Можем да заключим, че сложността става критична, тъй като намалява разходите за проектиране, програмиране на възли, отстраняване на неизправности и също така избягва инсталирането на компоненти, които не са от практическа полза.

След като бъде събрана от сензорите, информацията отива в контролера, който играе ролята на "мозъка". Той ще обработва получената информация въз основа на дадените му от програмиста алгоритми и програми. Ако стойността не се вписва в границите на зададените граници, контролерът ще изпрати сигнал до задвижващия механизъм за коригиране на грешката и това ще продължи, докато грешката влезе в допустимите граници. Задвижващият механизъм е мускулите на системата за автоматично управление (ACS). Той е този, който ще окаже физическо въздействие върху контролираната система. Задвижващите механизми за ACS могат да бъдат различни електрически задвижвания, хидравлични задвижвания, пневматични задвижвания и други механизми.

„Контролерът е наясно какво се случва и може да взема решения. PLC е безспорният лидер в индустриалната автоматизация“, казва Матео Дариол, инженер в Bosch Rexroth. „Съкращението съдържа „програмируема логика“, тъй като в началото на електронната революция през 60-те и 70-те години на миналия век контролните устройства започват да се изграждат с помощта на дискретни електронни компоненти. Преди това промяната на спецификацията на дизайна доведе до редизайн и реинженеринг на цялата логика на управление заедно с промяна във физическите елементи на устройствата за управление. С появата на програмируемия логически контролер на PLC, усилията за промяна на алгоритъма за управление са почти изцяло само смяна на софтуера."

Съвременните PLC са доста надеждни устройства и техните езици за програмиране са стандартизирани. Средите за разработка на софтуер за програмируеми логически контролери все още нямат общи унифицирани стандарти, тъй като всички основни играчи на пазара на електронни компоненти предлагат свои собствени уникални решения. Програмирането и отстраняването на неизправности в PLC може да бъде дори по-лесно, отколкото в персонален компютър, което изглежда всеки от нас познава много добре. Програмируемият логически контролер PLC има модулна структура и възможност за свързване на различни модули в зависимост от изискванията на проекта: допълнителни I/O портове, модули за безопасност и специфични комуникационни модули, за да назовем само няколко.

Модулният дизайн дава на програмируемите логически контролери основно предимство - мащабируемост. Има и други предимства, като цена, простота на устройството и здравина на конструкцията. Такива елементи на ACS като релета трябва периодично да се проверяват и сменят и тук се появява друго предимство на PLC - минимум движещи се механични части. Има възможности за интеграция с по-сложни системи, като компютърен контролер.

PLC ограничения

PLC има ограничени памет, софтуер и периферни възможности в сравнение с персоналния компютър (PC). Управлението на движението (например роботика или сложна автоматизирана система) изисква огромен брой входове/изходи, изискващи допълнителни модули за управление на PLC или външна електроника. Въпреки това, заслужава да се отбележи, че компютърът е в състояние да обработва много повече информация и по-бързо, което може значително да намали физическия размер и да осигури необходимата мощност за обработка за внедряване на системи за машинно зрение, контрол на движението и осигурява бърза обработка на големи данни потоци. Постоянният растеж на обработената информация е свързан с постепенното въвеждане от някои компании на индустриалния Интернет на нещата IIoT в производствени линии и промишлени съоръжения, които изискват голяма изчислителна мощност.

Производителите на оригинално оборудване (OEM) са в състояние да увеличат производителността на оборудването, като позволяват на машините да извършват множество операции едновременно. Изключително интензивните изчисления И/ИЛИ на критични процеси, изпълнявани в същото време, могат да претоварят програмируемия логически контролер. Машините могат да използват множество изчислителни платформи, за да намалят времето за обработка на критични процеси. Те обикновено включват един или повече контролери за движение и един или повече контролни процесори, които поддържат операторски интерфейс за програмиране, информация за работата на машината, събиране на данни и поддържащи функции. Използването на няколко процесора обаче е по-скъпо. Нов софтуер, насочен към компютърни платформи, може да помогне за решаването на този проблем, но...

Компютърът не е толкова надежден и труден за оцеляване в промишлени среди като прах и влажност. Използването на компютър с по-сложен софтуер или повече софтуерни опции отнема много повече време за обучение на персонала по поддръжката. Подобреният софтуер може да изисква програмист за извършване на поддръжка, ремонти и актуализации. Софтуерът на PLC може да бъде основен, но има свои собствени стандартни езици, които могат да осигурят дълготрайността на устройството, въпреки неговата скорост и линейност.

PLC обикновено използват индустриален стандартен набор от езици за програмиране (IEC 61131-3), включително LAD диаграми. LAD диаграмите са изградени по аналогия с електрическите вериги, което значително опростява обучението, поддръжката и ремонта на персонала. В повечето случаи е напълно възможно да се направи без програмист. Друг език от стандарта IEC 61131-3 е структуриран текст, който е подобен на език на "високо ниво". Въпреки това, използването на други нестандартни езици от високо ниво, като C++ или Visual Basic, може да бъде трудно с PLC. Едва наскоро новите софтуерни инструменти позволиха на потребителите да комуникират с PLC, сякаш е нормален компютър.

Серийната програма на PLC сканира всички инструкции във всеки цикъл. Цикълът на сканиране отнема приблизително 10 ms или малко повече. След като всички инструкции са завършени, програмата преминава към следващото сканиране. Ако инструкцията не бъде изпълнена в рамките на определеното време, това причинява съобщение за грешка и изпълнението на програмата се прекратява. Този софтуер за трудно време може да ограничи продължителността на програмата и всички входни сигнали под 100Hz.

Например, ако е необходимо да се обработи сигнал от сензор за скорост с номинална скорост 1200 rpm (честота на сигнала 1200/60 = 200 Hz), PLC-базираният микроконтролер не може правилно да измери скоростта, използвайки този вход. Необходимо е да се интегрира специален модул с декодер или брояч на интегрални схеми, който преобразува сигнала от сензора в нормално обработен микроконтролер. Такива конверторни модули често се използват в много системи. Също така си струва да се отбележи необходимостта от изходни модули, например, управляващи соленоид с честота на ШИМ от 10 kHz. За управление на такова устройство с PLC е необходим изходен модул с PWM генератор. Добавянето на такива модули увеличава цената на системата 2-3 пъти.

Следващото поколение PLC

Новата система се нарича програмируем контролер за автоматизация (PAC), способен да решава някои проблеми с PLC. Някои експерти твърдят, че програмируемият контролер за автоматизация (PCA) е по-търговско име, но това не е напълно вярно. За съжаление има някои разлики между техните дефиниции и от технологична гледна точка е доста трудно да се намерят фундаментални разлики между тях.

PCA обикновено включват функционалност на PLC. И двете са цифрови устройства, но PCD осигуряват подобрени опции за програмиране и често имат по-разширена функционалност, памет и периферни възможности. PCA предлага по-сложни архитектурни системи, когато се изисква повече I/O свързаност. Освен това обикновено има вградени възможности за прехвърляне на данни от памет към USB устройство, а често има и възможност за директно взаимодействие с бази данни.

Допълнителните софтуерни функции звучат добре, но си струва да се отбележи, че не всички PCD могат да поддържат стандартните езици IEC 61131-3, което може да доведе до допълнителни проблеми с програмирането и поддръжката.

Има различни модели на тези устройства. PCA може да предложи модели, фокусирани върху системи за машинно зрение или други, предназначени да контролират множество процеси едновременно. При избора на модел или технология трябва да се вземат предвид както изискванията на бъдещето (модернизация и разширяване на производството), така и стандартите (напр. безопасност). Планирането може да удължи живота на контролера, като задоволи бъдещи нужди, но също така положи основата за индустриален IIoT и децентрализиран контрол.

PLC са все още актуални, но развитието на системи за машинно зрение, динамични роботизирани процеси и управление на движението, желанието за повече индустриална автоматизация с използване на IIoT изискват значително повече процесорна мощност или памет от програмируемия логически контролер, които той не е в състояние да осигури . Децентрализираната технология може да помогне за разширяване на наследената гама, като предлага продукти като SoC и FPGA, които обработват информация директно върху самия сензор. Това означава, че добавянето на сложен процес към съществуваща линия може да не изисква непременно инсталиране на скъп PCA, но ще изисква група от интелигентни сензори, способни независимо да съхраняват и обработват своите данни от измерване.

Възможно ли е да се използват и двете опции?

Допълнително объркващо дискусията за PLC и PCA е, че е възможно да се изгради система за управление без нито един от тях. Мрежа от интелигентни сензори и софтуер може да се комбинира, за да се елиминират или повече децентрализират програмируемите контролери в цялата инсталация. SoCs са една от технологиите, които могат да децентрализират процеса. Въпреки това, не забравяйте, че твърде много протоколи на един SoC могат да доведат до увеличаване на броя на циклите на проверка, необходими за проверка на процеса или част от него, което ще доведе до режим, подобен на претоварване на програмируем логически контролер.

Освен това има редица технологии, които позволяват на PLC, технологиите за децентрализация, PLC и PLC да работят заедно, за да увеличат максимално ефективността на предприятието. Трябва да се предприемат няколко основни стъпки, за да се определи кои технологии може да са необходими.

„Първо, трябва да разберете кои фактори са важни за успешните операции и нивото на остаряване, което едно устройство или линия могат да понасят“, казва Джули Робинсън, маркетинг мениджър, Rockwell Automation. „След като рисковете бъдат идентифицирани, потребителите трябва да разработят стратегия за смекчаване и в крайна сметка елиминиране на този риск и да планират първото надграждане на клетката. Някои фактори, влияещи върху тези промени, включват:

  • Съответствие на бъдещите производствени нужди или подобряване на текущото представяне;
  • Съответствие с най-новите изисквания за безопасност и нормативни документи;
  • Повишаване на гъвкавостта на производствените системи за ефективно разширяване на производството или модернизиране на оборудването;
  • Подобряване на ефективността на използване на активите чрез намаляване на престоя;
  • Подобряване на мерките за безопасност на производството и безопасността на оборудването;

Потребителите също трябва да разберат какви промени са направени в оборудването през няколко години работа на завода или фабриката, които трябва да бъдат показани на диаграми и чертежи.

Точната документация на наследения хардуер ще измине дълъг път при интегрирането на нов хардуер. И ако децентрализираната платформа вече е интегрирана, тогава документацията става още по-важна. Децентрализираните контролери показаха по-малко време при инсталиране на ново оборудване. В традиционна, централизирана система, инженерите или персоналът по поддръжката трябва да се свържат към PLC, за да открият проблеми и да прескочат програмата за управление, ако е необходимо. Добре проектираната система трябва да бъде лесна за работа, поддръжка и също така мащабируема.

За да се свържат с децентрализирана система, специалистите не трябва физически да обикалят „около устройството“. За да отстранят този проблем, компаниите за поддръжка на оборудване се опитват да свържат няколко системи, които са технологично съвместими. Често това означава интегриране на стари системи с нови технологии и софтуер.

В момента много малък процент иска да инвестира в модернизация на работещото оборудване, освен ако не е безнадеждно остаряло. Освен това решенията за бъдещи надстройки се залагат при проектирането на оборудването и често повече от една компания участва в проектирането на различно оборудване и в бъдеще могат да възникнат конфликти по време на надстройките.

Преди да изберете най-добрата технология за вашето оборудване, важно е да разберете, че технологията трябва да бъде съвместима с вашите цели не само сега, но и в бъдеще, и да предлага необходимата функционалност без излишна сложност. За много компании е трудно, а в някои случаи и безсмислено, да поддържат експерти във всяка област, поради което Индустриалният интернет на нещата (IIoT) започна да набира скорост напоследък.

Термини и определения

Разликата между PLC и PCA може да проникне и в други технологии. Например, системи върху чип (SoC), System-on-a-Chip (SoC), вградени компютри (вграден компютър) и полеви програмируеми порти (FPGA) предлагат някои технологии, които могат да заменят или разширят възможностите на програмируемите логически контролери . Въпреки това, за някои технологии все още няма добре установени дефиниции и учените спорят за по-правилното им описание. Но ние ще се опитаме да дадем някои основни определения.

PLC програмируем логически контролер

Това е цифров компютър, предназначен за автоматизиране на индустриални системи. Той е специално проектиран да работи в тежки среди като температурни диапазони, налягания, електрически шум, вибрации и други тежки индустриални среди. Той има най-важната характеристика, която всъщност го доведе до такава популярност - твърда система в реално време.

Режим в реално време

Много хора разбират реалното време като изпълнение на задача „възможно най-бързо“. Но не е така. Системата в реално време гарантира, че всички входове, изходи и изчислителни процеси ще бъдат обработени в рамките на определен определен период от време, често наричан в техническата литература като краен срок (от английското deadline - крайният срок). При твърди системи в реално време нарушаването на крайните срокове се равнява на отказ на системата. От своя страна меката система в реално време позволява леко надхвърляне на сроковете, но само когато това води до приемливо понижение на качеството на системата. Например, видеоконферентна връзка. Леко забавяне на аудио или видео няма да доведе до катастрофални последици.

Когато компилира PLC програма, той изчислява дали има необходими ресурси за изпълнение на инструкциите на потребителя и след това пристъпва към изпълнение на задачата в точното време.

Програмируем контролер за автоматизация PCA

Това е цифров компютър, който включва PLC функционалност. Програмируем контролер за автоматизация е сравнително скорошна концепция, която се появи в началото на 2000-те. В повечето случаи PCA е еволюция на програмируемия логически контролер. PLC е мостът между базираната на реле електрическа автоматизация и електромеханичната програмируема автоматизация, където акцентът е върху софтуерните операции (определение, дадено преди 40 години).

Мека система в реално време (softPLC)

Както бе споменато по-горе, меката система в реално време не гарантира навременното изпълнение на задачата. Следователно те не се използват за системи за управление на движението. Вместо това, softPLCs са предпочитани за комуникации от завод-магазин, интерфейси човек-машина, системи за надзорен контрол и събиране на данни (SCADA). Възможно е някои PCA да бъдат SoftPLC.

Вградени компютри

Вграденият индустриален компютър не е компютър с общо предназначение. Той е проектиран и оптимизиран за едно потребителско приложение. Всички негови компоненти, като правило, са разположени на една и съща платка, включително микроконтролери или микропроцесори, I / O шини, памет и други потребителски микросхеми. Устройството дори включва софтуер или фърмуер (фърмуерът обикновено се намира в ROM или памет само за четене). Вградените компютри наистина са пресечната точка между хардуер и софтуер, тъй като има тясна връзка между двете части – едната не може да работи без другата. Проектите за вграден компютър могат да отговорят на нуждите на твърдо или меко в реално време.

В производството се извършва от технологичен персонал, следователно общоприетите езици за програмиране за микропроцесори и персонални компютри не са подходящи за програмиране на индустриални контролери, тъй като изискват специални умения и знания от персонала. Участието на инженерни компании от трети страни в програмирането често води до привързаност на крайния потребител към конкретен изпълнител. Следователно програмирането изисква по-разбираеми, прости и визуални езици за програмиране, които са отворени за обща употреба. През 1979 г. в рамките на Международната електротехническа комисия (IEC или английското съкращение IEC) е създадена специална група от технически експерти по въпроси, включително хардуер, инсталация, тестване, документация и комуникации. Резултатът от работата на тази комисия е пускането през 1982 г. на стандарта IEC 1131. Текущото издание на стандарта (което се нарича IEC 61131 от 1997 г.) включва 8 раздела:

  1. Главна информация.
  2. Изисквания към оборудването и тестовете.
  3. Програмни езици.
  4. Ръководства за потребителя.
  5. Спецификация на съобщението.
  6. Полеви мрежи.
  7. Програмиране с размита логика.
  8. Насоки за прилагане и внедряване на PLC езици.

Раздел 3 от този стандарт на IEC (IEC 61131-3) регулира използването на пет стандартни езика за програмиране на PLC (индустриален контролер): език на функционалния блок (FBD), език на стълбовата логика (LD), език на последователната функционална диаграма (SFC), език на инструкциите (IL) и език за структуриран текст (ST). Изборът на тези езици се дължи на простотата и яснотата на представяне на управляващите алгоритми с тяхна помощ. Въвеждането на стандарта IEC 61131 даде основата за създаване на единно училище за обучение на специалисти в областта на PLC програмирането. Също така, след появата на стандарта, стана възможно създаването на хардуерно независими библиотеки.

Кратко описание на стандартните езици за програмиране за промишлени контролери (PLC)

Език на стълбата (LD)

Езикът на стълбовата логика се използва за описване на логически изрази с различни нива на сложност с помощта на електромеханични елементи (релета и контакти). На езика на релейната логика логическите операции като И, ИЛИ, НЕ се изпълняват най-лесно и ясно. Езикът за програмиране LD също така предвижда изпълнението на условни прескачания между програмни блокове.

Език на диаграмата на последователните функции (SFC).

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

Език на инструкциите (IL)

Език на текста на ниско ниво. Принципът на програмиране, командите и структурата на писане на команди е същият като в асемблерните езици. Езикът на инструкциите (IL) е стандартизиран и не зависи от използваната хардуерна платформа. Всяка инструкция може да съдържа четири полета, разделени с интервали или табулатори. Структурата на командите в езика на инструкциите е както следва:

<Метка> : <Оператор> + <Модификатор> <Операнд> <Комментарий>

Етикетът, модификаторът и коментарът на реда с инструкции са незадължителни и незадължителни. Операторът трябва винаги да присъства в низа, но операндът понякога може да отсъства. Етикетът е символно име (адрес) на някаква област на паметта, която съхранява номера на реда, маркиран с етикета в списъка с команди. Етикетът трябва да бъде последван от двоеточие. Заедно с етикетите се използват командите за условни (изпълнени, когато са изпълнени определени условия) и безусловни (изпълнени винаги) скокове (съответно JMPC или JMP оператори). Преходите трябва да се използват достатъчно внимателно, за да не се получи безкраен цикъл. Операторът е директна инструкция, която изпълнява специфично действие върху операнд. Заедно с оператора може да има модификатор, който е предназначен да преобразува оператора в необходимата форма. Така модификаторът N инвертира операнда преди да изпълни самата инструкция, а модификаторът C добавя проверка на съдържанието на акумулатора и изпълнява оператора само ако стойността в акумулатора е вярна (true).

Език на структуриран текст (ST)

Структурираният текстов език е език за текстово програмиране от високо ниво за създаване на гъвкави процедури за обработка на данни. Този език е подобен по структура на Pascal. Езикът на структурирания текст (ST) се основава на изрази, всеки от които трябва да завършва с точка и запетая. Операторът ":=" се използва за присвояване на стойности на променливи. Общи символи се използват за описване на математически изрази: +, *, /, (,),<, <=, >=, > и т.н. Редът на оценка на изразите е същият като в алгебрата - действията се извършват отляво надясно. Първо се извършват операциите, затворени в скоби, след това операциите на умножение или деление и едва след това - събиране или изваждане. За да увеличи функционалността на езика на структурирания текст, той предоставя изрази за избор (IF ... THEN ... ELSE ... ENDIF) , оператори с множество избори (CASE ... OF ... ELSE ... ENDCASE), цикъл изрази ( WHILE ... DO ... ENDWHILE, REPEAT ... ДО ... ENDREPEAT или FOR ... TO ... BY ... DO ... ENDFOR) .

В края на статията си струва да споменем характеристиките на програмирането на промишлени контролери (PLC). Когато програмирате PLC, винаги трябва да помните, че изпълнението на програми в индустриален контролер се извършва циклично, а времето за изпълнение на един цикъл може да бъде фиксирано или асинхронно (нов цикъл започва веднага след края на предишния цикъл). Алгоритъмът за изпълнение на програмата е както следва. На първата стъпка PLC получава информация за състоянието на управляващия обект, необходима за обработка - чете се входните променливи (входове на аналогови и дискретни входни модули). По-нататък се извършва директна обработка на получената информация - изпълнява се основната PLC програма. В резултат на обработката на информацията се формират команди за управление, които на следващата стъпка се предават на изходите на индустриалния контролер - процедурата за актуализиране на изходните променливи.



Свързани статии: