Enhed 6 / 9

Industriel automation og PLC-programmering

Gevinster:

  • Evne til at producere ladderlogik og strukturerede tekststrukturer (ST) som udkast med AI
  • Evne til at konfigurere sikkerhedskredsløb, interlocks og tilstandsmaskiner ved hjælp af AI
  • Evne til at verificere AI-genereret PLC-logik mod I/O-kort og sikkerhedskrav

Navnet på pålidelighed i fabriksområdet er PLC (Programmable Logic Controller). Transportører, robotceller, påfyldningslinjer, presser; alt styret af PLC'er. PLC-programmering er en verden bortset fra desktop-software: Ladder Logic (LD) er et visuelt sprog, der efterligner relælogik, mens Structured Text (ST) er et Pascal-lignende tekstsprog; begge er defineret i IEC 61131-3 standarden. I dette miljø er det vigtigste ikke funktionalitet, men sikkerhed; fordi en logisk fejl kan lukke en presse ned på det forkerte tidspunkt og bringe en operatør i fare. AI hjælper med at generere stige- og ST-udkast, bygge statsmaskiner og dokumentere logik. Sikkerhedskredsløb, aflåsninger og endelig verifikation er dog ingeniørens ansvar og kan ikke delegeres til AI. I denne enhed dækker vi, hvordan man konstruerer og verificerer PLC-logik med AI.

Arbejdslogik af PLC: Scanningscyklus

PLC kører ikke bare koden én gang, og den er færdig; Den udfører en kontinuerlig scanningscyklus. I hver sløjfe: (1) læser alle input, (2) udfører logik fra top til bund, (3) opdaterer alle output. Denne cyklus varer millisekunder og gentages i det uendelige. Denne adfærd har kritiske konsekvenser, når du skriver PLC-logik:

  • Udgangene opdateres i slutningen af ​​løkken; Hvis du tildeler en værdi til et output mere end ét sted i løkken, vinder den sidste tildeling.
  • Logik fungerer fra bunden i hver cyklus; så låse- eller tilstandsvariabler bruges til at "huske" tilstand.
  • Hurtige hændelser kan gå glip af, hvis scanningstiden forlænges; kritiske hændelser fanges af hardwareafbrydelser eller højhastighedstæller.
Tip: Når du skriver PLC-logik til AI, skal du sige "tag hensyn til scanningsløkkeadfærd, ingen modstridende tildelinger til samme output, brug låse-/tilstandsmaskine til tilstand". AI tænker nogle gange som skrivebordslogik og springer scanningsadfærd over.

Stigelogik og struktureret tekst

Den samme logik kan skrives på begge sprog. Et simpelt eksempel: en motor starter, når der trykkes på startknappen, stopper og låser sig selv, når der trykkes på stopknappen.

STIGE (tekstdisplay): Start Stop motor---| |------|/|-------------( )--- | Motor |---| |------+ (Motorkontakten holder sig selv -> tætning)Forklaring: Når der trykkes på Start, er motoren aktiveret; Motoren holder strømmen gennem sin egen kontakt (seal-in). Når der trykkes på Stop (NC), skæres kæden over.

(* Samme logik som STRUKTURERT TEKST *)HVIS Start OG IKKE Stop SÅ Motor := TRUE;END_IF;IF Stop SÅ Motor := FALSK; (* Stop har altid prioritet *)END_IF;(* Bemærk: Stop-knappen er fysisk forbundet til NC (normalt lukket); så hvis kablet går i stykker, Stop=FALSK og systemet skifter til den sikre side. *)

Sikkerhedsdetaljerne her er kritiske: Stopknappen er fysisk forbundet normalt lukket (NC). I tilfælde af kabelbrud eller kontaktfejl afbrydes signalet således, og systemet går i "stop" retning (fejlsikkert). Hvis NO (normalt åben) er tilsluttet, vil stoppet ikke fungere, hvis kablet går i stykker - en farlig stille fejl. Selvom AI-koden virker logisk korrekt, er denne fysiske forbindelsesbeslutning op til ingeniøren.

Sikkerhed: E-Stop, Lockout og Fail-Safe

Sikkerhed i industriel automation er ikke et problem, der kan "håndteres i software"; Det er et lagdelt samarbejde mellem hardware og software. Grundlæggende principper:

princip

Betydning

Ansøgning

fejlsikker

Fejl bør føre til den sikre side

NC-kontakt, fejl=stop

Redundans

Kritisk funktion dobbeltkanal

To kontakter, krydsovervågning

Sammenlåsende

Undgå farlige situationer

Maskinen fungerer ikke, når døren er åben

e-stop

Uafhængig nødstop

På hardwareniveau, uafhængig af PLC

Kritisk punkt: E-stop er ikke overladt til softwaren alene. Sikkerhedsrelateret nødstop afbrydes ofte også på hardwareniveau af sikkerhedsrelæer eller sikkerheds-PLC; standard PLC-software er et ekstra lag oveni dette. ISO 13849 (maskinsikkerhed) og IEC 62061 udgør rammerne for disse designs.

Forsigtig: Antag ikke, at en AI-genereret nødstop eller låselogik er "software nok". Sikkerhedsfunktioner er designet i henhold til relevante standarder (ISO 13849 PL, IEC 62061 SIL), inkluderer et hardwarelag og er verificeret ved risikovurdering. Denne evaluering er ingeniørens og organisationens ansvar; AI kan kun producere skitser og tjeklister.

Statsmaskiner

Kompleks automatiseringslogik er organiseret med en tilstandsmaskine snarere end en rodet if-else: Systemet finder visse tilstande (Idle, Starting, Running, Stopping, Error) og fortsætter gennem definerede overgange. Denne struktur er både læsbar og verificerbar.

(* Simpel tankstation tilstand maskine *) CASE Tilfælde AF 0: (* BOSTA *) HVIS StartKnap OG Låg Lukket SÅ Sag := 10; END_IF; 10: (* FYLD *) Ventil := SAND; HVIS LevelFull SÅ Ventil := FALSK; Status:= 20; END_IF; HVIS IKKE Dæksel er lukket SÅ Ventil := FALSK; Status := 90; END_IF; (* sikkerhed *) 20: (* DÆN *) PULSNING := SAND; IF LevelEmpty THEN Empty := FALSK; Status := 0; END_IF; 90: (* FEJL *) Ventil := FALSK; Tom := FALSK; (* alle aktuatorer er sikre *) HVIS Reset-knap SÅ Status := 0; END_IF;END_CASE;

I denne struktur er sikkerhedsovergange (gå til fejltilstand, hvis dækslet er åbnet, luk alle aktuatorer) klart inkluderet i enhver situation. AI genererer hurtigt statsmaskineskelet; Men hvilken sikkerhedshændelse der kommer ud af hvilken situation kommer fra din risikoanalyse.

Svag prompt / stærk prompt

SWAG:"Skriv PLC-kode til en transportør."(Ingen I/O, ingen sikkerhed, uklart sprog. Kan ikke udkast til marken.)STÆRK:"Skriv en transportørkontrol med IEC 61131-3 struktureret tekst. Indgange:Start (NO), Stop (NC), PhotocellProductVar (NO), CoverOpen.Sikkerhed, ConveyOamp., ConveyOamp. maskine (tomgang, kører, fejl) Stop har altid forrang, gå til Fejl, når låget er åbent, og sluk for motoren. Antag sikkerhedsevalueringen af denne kode.

Mini etui

Automationsingeniør Tolga anmoder om ST-kode fra AI til en pakkelinje. AI'en producerer kode, der ser ud til at virke, men da Tolga validerer den mod I/O-kortet, finder han to problemer. For det første: AI har behandlet Stop-knappen med NO (normalt åben) logik; Tolga gør dette til NC-fejlsikker logik, for hvis kablet går i stykker, skal ledningen stoppe. For det andet: låsen, hvor maskinen skal stoppe, når beskyttelsesdækslet er åbent, kontrolleres kun ved opstart, ikke under drift; Tolga retter det, så det kontrolleres i hver scanningscyklus. Det bekræfter også, at selve nødstoppet ikke overlades til softwaren, men også afbrydes i hardware med sikkerhedsrelæet. AI gav hurtigt sit logiske skelet; Men ingeniørens verifikation sikrede tre sikkerhedsbeslutninger: fejlsikker forbindelse, permanent låsning og hardware-nødstop.

Almindelige fejl

  • Tilslutning af stop/nødstop-knappen til NO og tab af fejlsikre adfærd i tilfælde af kabelbrud.
  • Kontroller kun aflåsningen (låg, lysgardin) ved opstart og springer den over i drift.
  • At overlade sikkerhedsfunktionen helt til softwaren og negligere hardwarelaget.
  • Glemmer scanningsløkkens adfærd og laver modstridende tildelinger til det samme output.
  • Gør kompleks logik uverificerbar ved at skrive den med rodet if-else i stedet for en tilstandsmaskine.
  • Accepterer AI's fortolkning af sikkerhedsstandarden uden at verificere den med den officielle tekst.

Sammenfattende

  • PLC fungerer med en kontinuerlig scanningscyklus; Udgangene opdateres i slutningen af ​​løkken.
  • Stige og struktureret tekst udtrykker den samme logik på to forskellige IEC 61131-3-sprog.
  • Stop/E-stop knapper NC og fejlsikret er forbundet; fiasko bør føre til den sikre side.
  • Lockouts kontrolleres hver scanningscyklus; Inkluderer sikkerhedshardwarelag.
  • State machine gør kompleks logik læsbar og verificerbar.
  • Sikkerhedsvurdering (ISO 13849/IEC 62061) er ingeniørens ansvar; AI genererer udkast.

Ansøgningsopgave

Vælg et simpelt automatiseringsscenarie (f.eks. start/stop selvlåsende motor, en to-positions aktuator eller en lille tankstation). Skriv din I/O-liste og sikkerhedskrav ned (hvilken knap er NC, som er sammenlåsende). Få AI til at generere en struktureret tekst-tilstandsmaskine med denne kontekst. Bekræft derefter outputtet for sikkerhed: (1) giver Stop sikker udgang fra hver tilstand, (2) er sammenlåsning kontrolleret i hver scanningscyklus, (3) går alle aktuatorer til sikker tilstand i tilfælde af fejl? Notér eventuelle sikkerhedsmangler og rettelser, du finder.