40
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. PLCopen. CoDeSys

Embed Size (px)

Citation preview

Page 1: IEC 61131-3. PLCopen. CoDeSys

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

Page 2: IEC 61131-3. PLCopen. CoDeSys

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)

Page 3: IEC 61131-3. PLCopen. CoDeSys

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

Page 4: IEC 61131-3. PLCopen. CoDeSys

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

Page 5: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Ladderdiagram (LD)

- Symboler motsvarande kontakter och reläer

- Direkt grafisk motsvarighet till IL

A and not B equals C

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

Page 6: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Funktionsblocksdiagram (FBD)

- Inkluderar de vanliga logiska symbolerna

- Annan grafisk variant av IL, fast mer generell

AND

A C

B

Page 7: IEC 61131-3. PLCopen. CoDeSys

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

Page 8: IEC 61131-3. PLCopen. CoDeSys

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

Page 9: IEC 61131-3. PLCopen. CoDeSys

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

Page 10: IEC 61131-3. PLCopen. CoDeSys

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”)

Page 11: IEC 61131-3. PLCopen. CoDeSys

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

Page 12: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3● Exempel på ett funktionsblock med

en inparameter och två utparametrar

Grafisk representation:

Page 13: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3● Exempel på deklarationer

Page 14: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3● Exempel på deklarationsblock

Page 15: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3● Variabeltyper

- Tillåtna deklarationer

Page 16: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3● Kategorier av variabeltyper

Page 17: IEC 61131-3. PLCopen. CoDeSys

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

Page 18: IEC 61131-3. PLCopen. CoDeSys

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)

Page 19: IEC 61131-3. PLCopen. CoDeSys

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

Page 20: IEC 61131-3. PLCopen. CoDeSys

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

Page 21: IEC 61131-3. PLCopen. CoDeSys

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)

Page 22: IEC 61131-3. PLCopen. CoDeSys

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)

Page 23: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Möjliga anropsalternativ

Page 24: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

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

Page 25: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Exempel på enkel funktionsdeklaration

Page 26: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Exempel på typdeklarationer

Page 27: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Sammansatt datatyp: ARRAY

Page 28: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Exempel på deklaration av ARRAY-variabler

Page 29: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Sammansatt datatyp: STRUCT

Page 30: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Exempel på deklaration av STRUCT

Page 31: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Kombination av STRUCT och ARRAY

Page 32: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Strukturerad text (ST): Språkkonstruktioner

Page 33: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● Strukturerad text: Litet exempel (FB)

Page 34: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● PLCopen

- Oberoende organisation grundad 1992

- Uppföljning av IEC61131-3 samma år

- Ytterligare standardisering av programmeringsmiljön

http://www.plcopen.org/

Page 35: IEC 61131-3. PLCopen. CoDeSys

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

Page 36: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● PLCopen - Organisation

Page 37: IEC 61131-3. PLCopen. CoDeSys

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/

Page 38: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● CoDeSys: Övergripande arkitektur

Page 39: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● CoDeSys: Utvecklingsmiljö

Page 40: IEC 61131-3. PLCopen. CoDeSys

IEC 61131-3

● CoDeSys: Programmering av HMI integrerat