Spring navigationen over og gå direkte til indhold

IEC 61131-3 Motion programmering

Standard til programmering af industrielle styringssystemer

Det har i mange år været en naturlig tendens i industrien til at benytte sig af standarder, hvad enten det drejer sig om hardware eller software. Programmering af motion kontrol er ingen undtagelse.

Dedikerede motion styresystemer har eksisteret i flere årtier og i de tidlige år havde de næsten alle deres eget unikke programmeringssprog.

Selvom dette generelt ikke var et problem, ville et mere standardiseret sprog gøre det lettere at understøtte og arbejde på tværs af platforme i et fabriks- eller produktionsmiljø.

 

Fem standardiserede programmeringssprog

Tiden og teknologien udvikler sig og behovet for mere standardisering inden for programmering af motion kontrol er blevet stadig mere udtalt. Her er den europæiske standard IEC 61131-3 kommet ind i billedet.

Med IEC 61131-3 bliver programmering af PLC'er, distribuerede styresystemer og motion kontrollere fra forskellige producenter mere overskuelig. Den International Electrotechnical Commission (IEC) identificerer fem standardiserede programmeringssprog som de mest almindelige til både proces- og diskrete programmerbare styringer:

1)  Ladder Diagram (LD)
2)  Funktionsblokdiagram (FBD)
3)  Sekventielt funktionsdiagram (SFC)
4)  Struktureret tekst (ST) 
5)  Instruktionsliste (IL)


IEC 61131-3 er den tredje del af den åbne internatio-nale standard IEC 61131 for programmerbare logiske controllere (PLC'er), som først blev udgivet i 1993 af IEC og senere revideret igennem årene.

Forskellige IEC-programmerings stilarter

Standardens Del 3 omhandler specifikt de fem programmeringssprog.

Den europæiske standard er blevet mere populær i USA i de senere år og er især blevet adopteret af dedikerede bevægelsesstyringsvirksomheder som Trio Motion Technology.

Ved at inkorporere standarden og derefter tilføje avancerede motion funktioner som knastkurver, gearing og interpoleret bevægelse, kan der nu etableres en ensartet programmeringsmetode for PLC'er og controllere, der specialiserer sig i motion- og maskinstyring.

I denne artikel vil vi se nærmere på de forskellige IEC-programmeringsstilarter og hvordan de specifikt kan anvendes til motion styring.

Hvornår bør man vælge den ene programmeringsstil frem for den anden?

Det er naturligvis muligt at programmere en applikation ved hjælp af flere IEC-sprog på controlleren og det kan endda være den ideelle løsning. Men ved at kende styrkerne og svaghederne ved hver stilart kan man forenkle opgaven og samtidig udnytte controllerens fulde potentiale.

Ladder Diagram (LD)

Latter Diagrammet er sandsynligvis den mest genkendelige programmeringsstil på grund af dets udbredte brug i PLC'er og dets lighed med virkelige kredsløb. LD-programmering er et grafisk sprog, der generelt er bedst egnet til applikationer, hvor der kun kræves binære variabler og hvor sammenkobling og sekventiel styring af punkter er det primære styrings problem.

Et eksempel kunne være materialehåndtering på et transportbånd med sensorer og diskrete outputhandlinger. Udførelsen af Ladder rækker sker sekventielt inden for et program.

LD gør det nemt at visualisere maskinens funktioner og drift langs en stigerække, da det tæt repræsenterer de fysiske forbindelser i et system. Dette gør det lettere for ikke-programmører at fejlfinde, hvilket bestemt er en faktor at overveje, når man bruger LD i en bevægelsesapplikation.

Specifikke bevægelsesfunktioner er ikke en del af IEC-standarden, men tilføjes af controllerens producent. Bevægelsesfunktionsblokken opsættes på samme måde som andre IEC-funktioner, hvor der kræves specifikke input og genereres output.

For en simpel indeksbevægelse angives en indgangsværdi for en akse og en afstand. Datatypen for hver værdi er påkrævet, og i det viste eksempel anvendes USINT (lille usigneret heltal) til aksenummeret og LREAL (lang reelt flydende punkt) til afstanden.

Fig.: LD-program med en grundlæggende sammenkobling og en udløst bevægelse med en Busy og Done output.

Et BOOL-enable-input aktiverer bevægelsen, hvilket f.eks. kunne ske ved, at en kasse passerer en fotocelle på et transportbånd. Denne grundlæggende sammenkobling og udløste bevægelse er ideel til LD – let at implementere og nem at følge.

Functional Block Diagram (FBD)

Et andet grafisk sprog, der ligner LD i funktionalitet og stilart, er Funktionsblokdiagram. FBD muliggør en mere fleksibel programmeringsstilart ved at forbinde funktionsblokke og tags i et kredsløbslignende format.

Da det er grafisk er det let at følge og fejlfinde. Redigering af et FBD-program er også enkelt, da det bruger en drag and drop-metode, hvor blokke forbindes med "ledninger".

FBD er ideelt til relativt simple motion processer, men det er også muligt at håndtere mere komplekse bevægelser, såsom flying shears eller traverserende oprullere, ved hjælp af avancerede synkroniseringsblokke til bevægelsesstyring.

FBD'er er ikke ideel til store, komplekse motion programmer. Det store ark, der kræves, kan hurtigt blive svært at følge, hvis det ikke planlægges omhyggeligt. I et FBD-program er der ingen venstre-højre samleskinner som i et LD. Diagrammet scannes fra venstre mod højre, oppefra og ned, og det stopper eller venter ikke. Flag og variabler sættes for at styre driftsforløbet.

For eksempel kan Busy-udgangsbitten fra TC_MOVE1-bevægelsesblokken bruges til at overvåge den igangværende bevægelse via en anden funktionsblok.

Structured Text (ST)

Det tredje sprog i IEC-standarden er Structured Text (ST).

ST er et højniveau, tekstbaseret programmeringssprog, der minder om PASCAL eller BASIC. Derfor er det populært blandt yngre ingeniører, som har en stærkere baggrund i tekstbaseret programmering frem for en kredsløbsbaseret stil.

I stedet for en grafisk bevægelsesblok bruger ST de samme ind- og udgange, blot skrevet ud i kode. Akse-nummer og distance angives, ligesom Busy, Done og andre udgange.

En fysisk indgang anvendes til at udføre bevægelsen. Bemærk, at denne kode kontinuerligt looper (scannes), selv uden en eksplicit løkkestruktur. Dette adskiller sig fra et traditionelt motion programmeringssprog som Trio BASIC, der tillader brugeren at programmere en WAIT UNTIL-kommando til at afvente en hændelse.

ST har nogle meget kraftige fordele i forhold til de grafiske programmeringsstile.

For det første vil et meget omfattende program være langt mere kompakt og overskueligt. En kompleks maskine med et højt antal akser, såsom trykning med automatisk registreringskorrektion eller 2D/3D CNC med filhåndtering, vil være langt bedre at implementere i et ST-program end i LD eller FBD.

Den simple proces med at liste og indstille parametre håndteres mere effektivt i ST.


Fig.: ST-programmet angiver eksplicit ind-og
udgange til en bevægelsesfunktion.

Sequential Function Chart (SFC)

Den fjerde stil i IEC-standarden er Sequential Function Chart (SFC). SFC svarer til et flowdiagram og er egentlig ikke et programmeringssprog i sig selv, men snarere en metode til at organisere og styre et procesforløb.

Konceptet i et SFC-program er ret simpelt: En handlingsboks (step) med kode skrevet i et hvilket som helst IEC-sprog forbliver aktiv, indtil transitionen umiddelbart nedenfor aktiveres. Derefter bliver den næste handlingsboks aktiv. Trin i et SFC-diagram kan være aktive eller inaktive, og handlinger udføres kun for aktive trin.

Fordele ved SFC til bevægelses- og proceskontrol

SFC giver en overskuelig struktur, hvilket gør det lettere at organisere og følge hændelsesforløb. Dette kan være særligt nyttigt for slutbrugere, der skal udvikle og vedligeholde en applikation.

For eksempel kan en bevægelsesfunktion tilføjes inde i en handlingsboks ved hjælp af forskellige undertrin:

P1 (set): Kører én gang ved indgangen til handlingsboksen. Dette kunne være en initial "move-to-start"-bevægelse eller aktivering af en udgang.

N (continuous): Kører kontinuerligt, så længe trinnet er aktivt. Dette er typisk, hvor selve bevægelses- og logikstyringen håndteres.

P0 (reset): Kører én gang lige før trinnet afsluttes. Overgangen til næste trin kan f.eks. udløses af en sensor, der registrerer en pakke, eller en anden reel hændelse.

Når overgangen bliver sand, fortsætter SFC-programmet til næste trin, hvor P1 køres én gang, derefter N kontinuerligt osv.

Anvendelsesområder

SFC er særligt velegnet til pick-and-place-operationer eller lignende processer, der har klart definerede og gentagende trin under kørsel.

 


Fig.: SFC-programmet ligner flowdiagram-programmering og er ideelt til bevægelser, der er defineret i trin.

Instructional List (IL)

Det sidste og mindst anvendte sprog i IEC-standarden er Instruction List (IL).

IL er et lavniveau-sprog, der minder om assembly. Det bruger meget simple instruktioner, ligesom de oprindelige mnemoniske programmeringssprog udviklet til PLC'er.

Karakteristika ved IL

Som det laveste niveau i IEC-standarden har IL nogle bemærkelsesværdige egenskaber:

  • Alle IEC-programmer kan konverteres til IL.
  • Højere grad af portabilitet sammenlignet med de andre sprog.

Fig.: IL-programmer bruger lavniveau-metoder, der ligner as-sembly-sprog, hvilket gør det upraktisk til de fleste motion styringsapplikationer.

Begrænsninger for motion styring

IL har dog væsentlige ulemper, især til motion control:

  • Komplekse beregninger, PID-regulering og avancerede funktioner er besværlige at programmere.
  • En simpel gearet bevægelsesblok i LD eller FBD kræver mange lavniveau-instruktioner i IL, hvilket gør det upraktisk til de fleste bevægelsesstyringsapplikationer.

Sammenfatning

IEC 61131-3-standarden definerer 5 programmeringssprog for PLC'er og distribu-erede kontrolsystemer. Dedikerede motion firmaer som Trio Motion Technology har integreret standarden i deres motion kontrolhardware. Ved at tilføje specifikke funktioner som kamsty-ring, elektronisk gearing og interpoleret bevægelse, har styringerne en bredt understøttet anvendelighed på fabriksgulvet.

Desuden kan sådanne styringer være meget kompakte og omkostningseffektive, hvilket gør dem til et godt valg til en bred vifte af maskiner.

For enkle og moderate bevægelsesapplikationer, herunder materialehåndtering, pick-and-place og flyvende saks, er LD og FBD programmeringssprog godt egnede. SFC-programmering bruger en flowchart-tilgang til at organisere en proces og indeholder ethvert andet IEC-sprog i hvert trin.

Hvis en motion applikation kan repræsenteres som en tilstandsautomat, er SFC et ideelt valg, da det er nemt at følge og fejlfinde. Når applikationer bliver mere komplekse, som ved tryk med højhastighedsregistrering eller 2D og 3D CNC-maskiner, kan en kombination af ST og andre sprog bruges til at udnytte controllerens programmeringsfleksibilitet.

Standard IEC/EN 61131-3

Programmerbare controllere - Del 3: Programmeringssprog.Omhandler grundlæggende softwarearkitektur og programmeringssprog for styreprogrammet i PLC. Den definerer tre grafiske og to tekstuelle programmerings sprog standarder:

LD, FBD, ST, IL og SFC.

SFC har elementer til at organisere programmering til sekventiel og parallel kontrolbehandling, grafisk.