IEC 61131-3. PLCopen. CoDeSys

Preview:

Citation preview

IEC 61131-3

● Delstandard av IEC 61131, vilken totalt består av

- IEC 61131-1: Allmän information

- IEC 61131-2: Hårdvara

- IEC 61131-3: Programmeringsspråken (IL, LD, FBD, SFC, ST)

- IEC 61131-4: Riktlinjer för användare

- IEC 61131-5: Kommunikation

- IEC 61131-6: Funktionell säkerhet

- IEC 61131-7: Programmering för Fuzzy Control

- IEC 61131-8: Riktlinjer för programmering i de 5 språken

IEC 61131-3

● Standard för PLC-programmeringsspråk- 5 olika programmeringsspråk:

- IL (Instruktionslista)

- LD (Ladderdiagram)

- FBD (Funktionsblocksdiagram)

- ST (Strukturerad Text)

- SFC (Sequential Function Chart)

IEC 61131-3

● De 5 olika programmeringsspråken

Instruction List Structured Text Sequential Function Chart

Function Block Diagram Ladder Diagram

LD A

ANDN B

ST C

C:= A AND NOT B

A B C

-| |--|/|----------------( )

AND

A C

B

Step 1 N FILL

Step 3

Step 2 S Empty

Transition 1

Transition 2

IEC 61131-3

● Instruktionslista (IL)

- Enkla instruktioner med ett ackumulatorregister (ungefär som assembler)

- Observera att ”ST” (Store) är samma som ”OUT” (och ”ANDN” samma som ”ANI”)

LD A

ANDN B

ST C

IEC 61131-3

● Ladderdiagram (LD)

- Symboler motsvarande kontakter och reläer

- Direkt grafisk motsvarighet till IL

A and not B equals C

-| |--|/|----------------( )

IEC 61131-3

● Funktionsblocksdiagram (FBD)

- Inkluderar de vanliga logiska symbolerna

- Annan grafisk variant av IL, fast mer generell

AND

A C

B

IEC 61131-3

● Strukturerad text (ST)

- Högnivåspråk med blockstruktur (som Java och C)- PASCAL-liknande syntax- Stöd för - IF-THEN-ELSE, CASE - WHILE-DO, REPEAT-UNTIL, FOR osv

C:= A AND NOT B

IEC 61131-3

● Sequential Function Chart (SFC)- Sekvensbaserade flödesdiagram- Avpassat för övergripande programstruktur- Delar (övergångsvillkor, aktiveteter) kan kodas i något av de andra 4 språken (IL, LD, FBD, ST)

Step 1 N FILL

Step 3

Step 2 S Empty

Transition 1

Transition 2

IEC 61131-3

● Hierarki av strukturer- Konfiguration (Configuration) – Språkelement för ett helt PLC-system

- Resurs (Resource) – Språkelement som motsvarar en enskild CPU

- Task – Element bestående av en lista av program som ska exekveras

- POU (Program Organization Unit) – Programenhet i 3 olika varianter:

- Program

- Funktionsblock (FB)

- Funktion

http://www.automation.com/library/articles-white-papers/coder146s-corner-the-iec-61131-3-software-model

IEC 61131-3● POU (Program Organization Unit)

POU-typ Nyckelord Betydelse

Program PROGRAM Huvudprogram. Innehåller deklaration av globala variabler och kopplingar till in- och utsignaler. Kan anropa funktionsblock och funktioner

Funktionsblock (FB) FUNCTION_BLOCK Block med in- och utsignaler.Har statiska variabler (”med minne”). Kan anropa andra funktionsblock samt funktioner

Funktion (FUN) FUNCTION Funktion med in- och utparametrar samt returvärde.Har inga statiska variabler (dvs ”inget minne”)

IEC 61131-3● Gemensam struktur hos de 3 POU-typerna

http://link.springer.com.ludwig.lub.lu.se/book/10.1007/978-3-642-12015-2/page/1

IEC 61131-3● Exempel på ett funktionsblock med

en inparameter och två utparametrar

Grafisk representation:

IEC 61131-3● Exempel på deklarationer

IEC 61131-3● Exempel på deklarationsblock

IEC 61131-3● Variabeltyper

- Tillåtna deklarationer

IEC 61131-3● Kategorier av variabeltyper

IEC 61131-3● Grundläggande datatyper:

No. Keyword Data Type Bits 1 2 3 4 5 6 7 8 91011121314

15

1617181920

BOOLSINTINTDINTLINTUSINT

UINTUDINTULINTREALLREALTIMEDATETIME_OF_DAYor TODDATE_AND_TIMEor DTSTRINGBYTEWORDDWORDLWORD

BooleanShort integerIntegerDouble integerLong integerUnsigned short integer

Unsigned integerUnsigned double integerUnsigned long integerReal numbersLong realsDurationDate (only)Time of day (only)

Date and time of day

Character stringBit string of length 8Bit string of length 16Bit string of length 32Bit string of length 64

1 8 16 32 64 8

16 32 64 32 64

8 16 32 64

IEC 61131-3

● Datatyper grupperade efter kategori

Bit string types (BOOL, BYTE, WORD, DWORD, LWORD)

Integer types (SINT, INT, DINT, LINT)

Unsigned integer types (USINT, UINT, UDINT, ULINT)

Real types (REAL, LREAL)

Time types (TIME, DATE, TIME_OF_DAY, DATE_AND_TIME)

Character types (STRING)

IEC 61131-3

● Konventioner för adresserbara I/O

%IXs.c Boolean input%IDs.c Integer input%ISs.c Message input%QXs.c Boolean output%QDs.c Integer output%QSs.c Message output

s = slot number c = channel number

IEC 61131-3

● Prefix för I/O- och minnesadresser

Pos Prefix Type

1 I Input location 1 Q Output location 1 M Memory location

2 X Single bit size 2 none Single bit size 2 B Byte (8 bits) size 2 W Word (16 bits) size 2 D Double word (32 bits) size 2 L Long word (64 bits) size

IEC 61131-3

● Standardfunktioner

Bit string functions  (AND, OR, XOR, NOT, SHL, SHR, ROL, ROR)

Numerical functions  (ADD, SUB, MUL, DIV, MOD, EXPT, ABS,             SQRT, LN, LOG, EXP, SIN, COS,     

                            TAN, ASIN, ACOS, ATAN)

Type conversions (e.g. USINT_TO_DINT, BOOL_TO_BYTE)

Selection functions  (SEL, MIN, MAX, LIMIT, MUX)

Comparison functions  (GT, GE, EQ, LT, LE, NE)

String functions      (LEN, LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, FIND)

IEC 61131-3

● Diverse standardfunktionsblock

Flip-Flop (SR, RS)Edge detection (R_TRIG, F_TRIG)Counters (CTU, CTD, CTUD)Timers (TP, TON, TOF, RTC)Data operation (BSL, BSR, FFL, FFU)

IEC 61131-3

● Möjliga anropsalternativ

IEC 61131-3

● Anrop av funktion och funktionsblockdels i IL och dels i ST

IEC 61131-3

● Exempel på enkel funktionsdeklaration

IEC 61131-3

● Exempel på typdeklarationer

IEC 61131-3

● Sammansatt datatyp: ARRAY

IEC 61131-3

● Exempel på deklaration av ARRAY-variabler

IEC 61131-3

● Sammansatt datatyp: STRUCT

IEC 61131-3

● Exempel på deklaration av STRUCT

IEC 61131-3

● Kombination av STRUCT och ARRAY

IEC 61131-3

● Strukturerad text (ST): Språkkonstruktioner

IEC 61131-3

● Strukturerad text: Litet exempel (FB)

IEC 61131-3

● PLCopen

- Oberoende organisation grundad 1992

- Uppföljning av IEC61131-3 samma år

- Ytterligare standardisering av programmeringsmiljön

http://www.plcopen.org/

IEC 61131-3

● PLCopen – Fördelar

- Snabbare applikationsutveckling

- Kortare driftsättningstid

- Minskad livscykelskostnad

- Utvidgning och förbättring av IEC 61131-3

- Tidig identifiering av trender

IEC 61131-3

● PLCopen - Organisation

IEC 61131-3

● CoDeSys

- Hårdvaruoberoende programmeringsmiljö i IEC 61131-3 tillgänglig för Windows utvecklad av 3S-Smart Software Solutions GmbH i Tyskland

- Senaste version av utvecklingsplattformen: 3.5 SP4 Patch 1 (nerladdningsbar efter registrering)

- Kompilatorer/drivrutiner finns för ett flertal PLC-typer

http://www.codesys.com/

IEC 61131-3

● CoDeSys: Övergripande arkitektur

IEC 61131-3

● CoDeSys: Utvecklingsmiljö

IEC 61131-3

● CoDeSys: Programmering av HMI integrerat

Recommended