Enhet 8 / 9

Automation, PLC Logik och Sensor/IoT Data

Vinster:

  • Möjlighet att dela upp ett automationsscenario i input/output lista och logiska steg och begära stege/ST utkast från AI
  • Möjlighet att övervaka AI-genererad PLC-logik när det gäller säkerhetslås, nödstopp och tävlingsförhållanden
  • Möjlighet att verifiera kalibrering, volym och felsignaler vid tolkning av sensor- och IoT-telemetridata med AI

Industriell automation är ett av de mest berörande områdena inom el- och elektronikteknik: en PLC (Programmable Logic Controller) läser signaler från sensorer och driver motorer, ventiler och larm enligt en viss logik. Ett logiskt fel här är inte bara en "fel utgång"; En transportör som har fastnat, en ventil som förblir öppen eller ett nödstopp som inte kopplar in kan leda till faktiska skador. AI är snabb på att beskriva automationslogik, föreslå stege/ST-kod och tolka sensor/IoT-telemetridata; Men säkerhetslås och felsäker design är ingenjörens ansvar. I den här enheten kommer vi att täcka hur man definierar automatiseringsscenariot för AI, hur man styr den genererade PLC-logiken och hur man säkert tolkar sensordata.

Konfigurera automationsscenariot: I/O-lista och logiska steg

Att säga till AI att "programmera en transportör" är otillräckligt. Separera först processen i ingång (sensor, knapp), utgång (motor, ventil, lampa) och logiska steg. Denna distinktion både förtydligar prompten och gör logiken kontrollerbar.

Example I/O list (simple filling station):Inputs: I0.0 Start button, I0.1 Stop button, I0.2 E-stop (NC), I0.3 Bottle detection sensor, I0.4 Occupancy sensorOutputs: Q0.0 Conveyor motor, Q0.1 Filling valve, Q0.2 Error lampLogic steps:1) Allow operation if E-stop is NOT pressed and the system is ready.2) Transportör med Start retur; Stoppa transportören när flasksensorn utlöses.3) Öppna påfyllningsventilen; Stäng ventilen när närvarosensorn är full.4) Starta om transportören; Processen upprepas.5) Nödstopp eller Stop tar alla utgångar till den säkra sidan när som helst.

Svag prompt / Stark prompt

SVAG:"Skriv PLC-kod för transportören."(Resultat: I/O-adresser, säkerhetsspärrar och statuslogik är oklara; en potentiellt farlig ofullständig kod.)STARK:"Föreslå PLC-logikutkast (Structured Text) för en bensinstation baserat på I/O-listan och logiska stegen ovan. FÖRSÄKRA:- E-stop är inställt med normalt prioriterat och prioriterat tillstånd. lägger alla utgångar på den säkra sidan.- Transportör och ventil "Skapa inte en farlig situation samtidigt (lås). - Kommentera varje steg. Ange att detta är ett utkast; säkerhetskedjan, felsäker och fälttester tillhör ingenjören."

Styrning av PLC-logik: säkerhet, felsäker, tävlingsförhållanden

Det räcker inte med att den logik som produceras "verkar fungera". Följ denna checklista:

kontroll

Vad ska man leta efter

nödstopp

NC-kontakt, felsäker, högsta prioritet, växlar alla utgångar till den säkra sidan

Förreglingar

Motstridiga utgångar ska inte vara aktiva samtidigt

loppets skick

Motstridiga uppdrag i samma cykel, odefinierad situation

initialtillstånd

Startar i ett säkert, känt tillstånd när den är strömsatt

Timer/räknare

Rätt logik, spill, återställ tillstånd

sensorfel

Säkert beteende vid sensoravbrott/kortslutning

Nödstopp (Nödstopp) är den mest kritiska punkten. Säkerhetsfunktionen måste vara felsäker: det vill säga om en kabel går sönder, en kontakt går sönder, systemet måste falla på den säkra sidan, inte farligt. Därför upprättas nödstopp med en normalt sluten (NC) kontakt; Om kabeln går sönder öppnas kretsen och systemet stannar. Dessutom räcker inte enbart mjukvarulogik; En hårdvarusäkerhetskedja (säkerhetsrelä/kontaktor) måste konstrueras och verifieras av ingenjören.

Varning: Om du ser i en AI-genererad stege/ST-kod att nödstoppet är inställt med en normalt öppen (NO) kontakt eller bara en mjukvaruflagga är detta en sårbarhet. Säkerhetsfunktioner lämnas aldrig till programvaran ensam; Felsäker hårdvarukedja och överensstämmelse med relevanta maskinsäkerhetsstandarder är ingenjörens ansvar och verifieras genom fälttester.

Tävlingsförhållanden och statliga maskiner

PLC-logik fungerar cykliskt; All logik bearbetas från början till slut i varje cykel. AI skriver ibland motstridiga rader som ställer in samma utdata på ett ställe och återställer det på ett annat; detta får utdata att flimra oförutsägbart (racetillstånd). Att konstruera komplexa processer som en explicit tillståndsmaskin minskar denna risk: systemet är hela tiden i ett enda, specifikt tillstånd, med övergångar beroende på tydliga förhållanden.

Tolka sensor- och IoT-data: kalibrering, enhet, felsignal

Även om sensor- och IoT-telemetridata (temperatur, tryck, vibrationer, ström) är värdefulla för analys, kan de vara missvisande i sin råa form. När AI sammanfattar dessa data måste du verifiera tre saker:

  1. Kalibrering och skala. Är sensorns utmatning det råa ADC-värdet eller den faktiska fysiska enheten? AI 4-20 mA kan felaktigt skala en sensor och förvirra det fysiska värdet.
  2. Enhet. °C eller °F, bar eller kPa, RMS eller topp? Enhetsförvirring förstör hela tolkningen.
  3. Felsignaler. Fastnat värde, plötsligt fall till noll, avläsning utanför intervallet; Dessa är inte faktiska mätningar utan kan vara fel på sensor/ledning. Om AI:n tolkar dessa som "intressanta data" skulle du ha fel.

# 4-20 mA-sensor -> fysisk värdeskalning (0-100 °C-intervall) def ma_to_temp(ma): om ma < 3,5: # Under 4 mA -> linje bruten/felretur Ingen # markera som ogiltig retur (ma - 4,0) / (20,0 - 4,0) * 100 [4,0, 0,0,0 för avläsning 2.0]: t = ma_to_temp(reading) print(reading, "mA ->", "FAULT" om t är Ingen annan f"{t:.1f} C")

Tips: När du tolkar IoT-data, fråga först "är detta värde fysiskt möjligt?" Ställ frågan. Om en rumstemperaturgivare visar 300 °C är detta inte riktigt, det är troligen ett kalibrerings-/linjefel. Eliminera felsignaler innan AI:s tolkning.

Minifodral

En underhållsingenjör låter AI tolka en pumps IoT-vibrationsdata. AI säger "vibrationen ökade med 200 % under den senaste veckan, risk för omedelbart fel" och föreslår ett larm. The engineer looks at the raw data: the value is "stuck" at a fixed high number after a certain time, never changing. Detta är inte ökad vibration, utan sensorfrysning/fel. Vid ett verkligt mekaniskt haveri fluktuerar värdet. Ingenjören kontrollerar sensorn; Kabelanslutningen är lös. AI:n tolkade det fasta värdet som "bullish". Lektion: uteslut felsignaturer (fast, utanför räckvidd, sputtering) innan sensordata tolkas; AI frågar inte efter rådata.

Vanliga misstag

  • Ställa in nödstopp med NO-kontakt eller endast mjukvaruflagga (ej felsäker).
  • Överlåter säkerhetsfunktionen enbart till programvaran, utan hårdvarukedja.
  • Skapa ett tävlingstillstånd med motstridiga set/återställningslinjer.
  • Definierar inte ett säkert initialtillstånd när den är strömsatt.
  • Tolkning av sensordata från kalibrering och enhetsverifiering.
  • Misstag av felsignaler (fastnat, utanför räckvidd) för riktiga mätningar.

Sammanfattningsvis

  • Bryt upp automationsscenariot i en I/O-lista och rensa logiska steg och fråga AI på det sättet.
  • Nödstopp och säkerhetsfunktioner måste vara felsäkra (NC), högsta prioritet och hårdvarukedjade; verifierad genom fälttester.
  • Motstridiga uppdrag skapar ett racetillstånd; Ställ in komplexa processer med en tillståndsmaskin.
  • Säkerheten lämnas aldrig till programvaran ensam; Ingenjörsgodkännande är obligatoriskt.
  • Kalibrering, enhet och felsignaler i sensor/IoT-data verifieras först.
  • Fysiskt omöjliga värden och avläsningar som har fastnat är tecken på fel, inte faktiska data.

Applikationsuppgift

Skriv en lista över I/O och logiska steg för ett enkelt automatiseringsscenario (fyllning, grindkontroll, nivåjustering); Fråga AI om ST/stegedjupgående. Kontrollera sedan den genererade logiken: (1) Är nödstopp felsäkert och prioriterat, (2) finns det ett lås för motstridiga utgångar, (3) är säker start vid start definierad? Be AI för kommentarer om en serie sensoravläsningar (flera normala, en fast, en utanför intervallet) och kontrollera att den korrekt eliminerar felvärden. Rätta eventuella fel och skriv ner dem.