Upload
nguyennhu
View
295
Download
6
Embed Size (px)
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