Печалби:
- Възможност за създаване на 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) всички задвижващи механизми преминават ли в безопасно състояние в случай на грешка? Отбележете всички пропуски в безопасността и корекции, които откриете.