единица 6 / 9

Индустриална автоматизация и програмиране на PLC

Печалби:

  • Възможност за създаване на Ladder логика и структури на структуриран текст (ST) като чернови с AI
  • Възможност за конфигуриране на вериги за безопасност, блокировки и автомати с помощта на AI
  • Възможност за проверка на генерираната от AI PLC логика спрямо I/O карта и изисквания за безопасност

Името на надеждността във фабричната област е PLC (Програмируем логически контролер). Конвейери, роботизирани клетки, линии за пълнене, преси; всички управлявани от PLC. Програмирането на PLC е свят, различен от настолния софтуер: Ladder Logic (LD) е визуален език, който имитира логиката на релето, докато Structured Text (ST) е текстов език, подобен на Pascal; и двете са определени в стандарта IEC 61131-3. В тази среда най-важното нещо не е функционалността, а безопасността; тъй като логическа грешка може да изключи пресата в неподходящ момент, застрашавайки оператора. AI помага при генерирането на стълби и ST чернови, изграждането на държавни машини и документирането на логиката. Защитните вериги, блокировките и окончателната проверка обаче са отговорност на инженера и не могат да бъдат делегирани на AI. В този модул ние разглеждаме как да конструираме и проверяваме логиката на PLC с AI.

Работна логика на PLC: Цикъл на сканиране

PLC не просто изпълнява кода веднъж и е готово; Той изпълнява непрекъснат цикъл на сканиране. Във всеки цикъл: (1) чете всички входове, (2) изпълнява логика отгоре надолу, (3) актуализира всички изходи. Този цикъл продължава милисекунди и се повтаря безкрайно. Това поведение има критични последици при писане на PLC логика:

  • Изходите се актуализират в края на цикъла; Ако присвоите стойност на изход на повече от едно място в рамките на цикъла, последното присвояване печели.
  • Логиката работи от нулата във всеки цикъл; така че latch или променливите на състоянието се използват за "запомняне" на състоянието.
  • Бързите събития могат да бъдат пропуснати, ако времето за сканиране се удължи; критичните събития се улавят от хардуерно прекъсване или високоскоростен брояч.
Съвет: Когато пишете PLC логика към AI, кажете „вземете под внимание поведението на цикъла на сканиране, без конфликтни присвоявания към един и същ изход, използвайте latch/state machine за състояние“. AI понякога мисли като логиката на работния плот и пропуска поведението на сканиране.

Стълбова логика и структуриран текст

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

СТЪЛБА (текстов дисплей): Стартиране, спиране на двигателя---| |------|/|-------------( )--- | Двигател |---| |------+ (Контактът на двигателя се запазва -> запечатва) Обяснение: Когато се натисне Старт, двигателят се захранва; Моторът поддържа ток чрез собствен контакт (уплътнение). Когато се натисне Stop (NC), веригата се срязва.

(* Същата логика като СТРУКТУРИРАНИЯ ТЕКСТ *)АКО Стартирайте И НЕ СПИРАТЕ ТОГАВА Engine := TRUE;END_IF;IF Stop THEN Engine := FALSE; (* Stop винаги има приоритет *)END_IF;(* Забележка: Бутонът Stop е физически свързан към NC (нормално затворен); така че ако кабелът се скъса, Stop=FALSE и системата превключва на безопасна страна. *)

Подробностите за безопасност тук са от решаващо значение: Бутонът за спиране е физически свързан нормално затворен (NC). По този начин, в случай на скъсване на кабела или повреда на контакта, сигналът се прекъсва и системата преминава в посока "стоп" (fail-safe). Ако NO (нормално отворен) е свързан, стопът няма да работи, ако кабелът се скъса - опасна тиха повреда. Дори ако AI кодът изглежда логически правилен, това решение за физическа връзка зависи от инженера.

Безопасност: E-Stop, Lockout и Fail-Safe

Безопасността в индустриалната автоматизация не е проблем, който може да бъде „обработен в софтуера“; Това е слоесто сътрудничество на хардуер и софтуер. Основни принципи:

принцип

Значение

Приложение

безотказен

Провалът трябва да води към безопасната страна

NC контакт, повреда=стоп

Излишък

Критична функция двоен канал

Два контакта, кръстосано наблюдение

Блокиране

Предотвратете опасна ситуация

Машината не работи, когато вратата е отворена

е-стоп

Независимо аварийно спиране

На хардуерно ниво, независимо от PLC

Критичен момент: E-stop не е оставен само на софтуера. Свързаното с безопасността аварийно спиране често също се прекъсва на хардуерно ниво от релета за безопасност или PLC за безопасност; стандартният PLC софтуер е допълнителен слой върху това. ISO 13849 (безопасност на машината) и IEC 62061 осигуряват рамката за тези проекти.

Внимание: Не приемайте, че генерираната от AI логика за аварийно спиране или заключване е „достатъчна софтуерна“. Функциите за безопасност са проектирани съгласно съответните стандарти (ISO 13849 PL, IEC 62061 SIL), включват хардуерен слой и се проверяват чрез оценка на риска. Тази оценка е отговорност на инженера и организацията; AI може да създава само контури и контролни списъци.

Държавни машини

Сложната логика на автоматизация е организирана с машина със състояния, а не с разхвърлян if-else: системата намира определени състояния (Idle, Starting, Running, Stopping, Error) и преминава през определени преходи. Тази структура е едновременно четлива и проверима.

(* Проста машина за състояние на бензиностанция *) CASE Case OF 0: (* BOSTA *) IF StartButton AND CoverClosed THEN Case := 10; END_IF; 10: (* FILL *) Клапан := TRUE; IF LevelFull THEN Valve := FALSE; Статус := 20; END_IF; АКО НЕ Капакът е затворен, ТОГАВА Клапан := FALSE; Статус := 90; END_IF; (* безопасност *) 20: (* ИЗТОЧВАНЕ *) PURGE := TRUE; IF LevelEmpty THEN Empty := FALSE; Статус := 0; END_IF; 90: (* ГРЕШКА *) Клапан := FALSE; Празно := FALSE; (* всички задвижващи механизми са безопасни *) IF ResetButton THEN Status := 0; END_IF;END_CASE;

В тази структура безопасните преходи (преминете в състояние на грешка, ако капакът е отворен, затворете всички задвижващи механизми) са ясно включени във всяка ситуация. AI генерира бързо скелета на държавната машина; Но кой инцидент с безопасността ще излезе от коя ситуация идва от вашия анализ на риска.

Слаба подкана / Силна подкана

СЛАБО: „Напишете PLC код за конвейер.“ (Няма вход/изход, няма безопасност, неясен език. Не може да се направи чернова на поле.) СИЛНО: „Напишете контрол на конвейер с IEC 61131-3 структуриран текст. Входове: Старт (NO), Стоп (NC), PhotocellProductVar (NO), CoverOpen (NC безопасност). Изходи: ConveyorMotor, WarningLamp. Използвайте държавна машина (Idle, Running, Error) Stop винаги има предимство, отидете на Error, когато капакът е отворен и изключете двигателя.

Мини калъф

Инженерът по автоматизация Толга иска ST код от AI за линия за опаковане. AI произвежда код, който изглежда работи, но когато Толга го валидира спрямо I/O картата, той открива два проблема. Първо: AI е третирал бутона Stop с НЕ (нормално отворена) логика; Tolga превръща това в логика за безопасност на NC, защото ако кабелът се скъса, линията трябва да спре. Второ: блокировката, при която машината трябва да спре, когато предпазният капак е отворен, се проверява само при стартиране, а не по време на работа; Tolga го коригира, така че да се проверява при всеки цикъл на сканиране. Той също така потвърждава, че действителното аварийно спиране не е оставено на софтуера, но също така се прекъсва в хардуера с релето за безопасност. AI даде своя логически скелет бързо; Но проверката на инженера осигури три решения за безопасност: безопасно свързване, постоянно заключване и хардуерно аварийно спиране.

Често срещани грешки

  • Свързване на бутона Stop/E-stop към NO и загуба на безопасното поведение в случай на скъсване на кабела.
  • Проверка на блокировката (капак, светлинна завеса) само при стартиране и пропускане при работа.
  • Оставяйки функцията за сигурност изцяло на софтуера и пренебрегвайки хардуерния слой.
  • Забравяне на поведението на цикъла на сканиране и правене на противоречиви присвоявания на един и същ изход.
  • Направете сложната логика непроверима, като я напишете с разхвърлян if-else вместо държавна машина.
  • Приемане на тълкуването на AI на стандарта за сигурност, без да го проверява с официалния текст.

В обобщение

  • PLC работи с непрекъснат цикъл на сканиране; Резултатите се актуализират в края на цикъла.
  • Стълбата и структурираният текст изразяват една и съща логика на два различни езика на IEC 61131-3.
  • Бутони Stop/E-stop NC и fail-safe са свързани; провалът трябва да води към безопасната страна.
  • Блокировките се проверяват на всеки цикъл на сканиране; Включва защитен хардуерен слой.
  • State machine прави сложната логика четима и проверима.
  • Оценката на безопасността (ISO 13849/IEC 62061) е отговорност на инженера; AI генерира чернова.

Задача за приложение

Изберете прост сценарий за автоматизация (напр. стартиране/спиране на самозаключващ се двигател, двупозиционен задвижващ механизъм или малка бензиностанция). Запишете своя I/O списък и изискванията за безопасност (кой бутон е NC, кой е блокиращ). Накарайте изкуствения интелект да генерира машина за състояние на структуриран текст с този контекст. След това проверете изхода за безопасност: (1) Стоп осигурява ли безопасно излизане от всяко състояние, (2) проверява ли се блокировката във всеки цикъл на сканиране, (3) всички задвижващи механизми преминават ли в безопасно състояние в случай на грешка? Отбележете всички пропуски в безопасността и корекции, които откриете.