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

Relevanta dokument
Styrteknik : Funktioner och funktionsblock

Programmerbar logik. Kapitel 4

Twincat: PLC Control

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Drivrutinen DrvTC2 används för att kommunicera via ADS och PLC:er från Beckhoff.

CoDeSys 2.3.x.x Svensk installationsguide

Sekvensstyrning Grafcet och IEC

Repetition C-programmering

F5: Högnivåprogrammering

Exempel på ett litet Ada-program

Styrsystem. SoMachine TM241 / 251. Kom-igång med SoMachine projekt. Skapad: Rev

F5: Högnivåprogrammering

Styrsystem. SoMachine TM241 / 251. Kom-igång med SoMachine projekt. Skapad: Rev

Föreläsning 3: Booleans, if, switch

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Introduktion C-programmering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Föreläsning 6: Introduktion av listor

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Assemblerprogrammering för ARM del 2

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

F4. programmeringsteknik och Matlab

TDIU01 - Programmering i C++, grundkurs

Styrteknik: MELSEC FX och numeriska värden

Funktioner och programstruktur. Föreläsning 5

Tentamen Grundläggande programmering

KOM IGÅNG GUIDE e!cockpit Av Carsten Holm

Styrteknik 4.5/7.5 hp distans: Tidskretsar, räknare

Funktioner och programstruktur. Föreläsning 5

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

LABORATIONSINSTRUKTION

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Lathund. C för inbyggda system

Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright

Grunderna i stegkodsprogrammering

Högskolan Dalarna Sida 1 av 8 Elektroteknik Per Liljas

OOP Objekt-orienterad programmering

Imperativ programmering. Föreläsning 2

Styrteknik : Programmering med IEC Styrteknik

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Övervakning & Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

tentaplugg.nu av studenter för studenter

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Sökning och sortering. Sökning och sortering - definitioner. Sökning i oordnad lista. Sökning med vaktpost i oordnad lista

Digitalteknik och Datorarkitektur

Sökning och sortering

Datalogi, grundkurs 1. Lösningsförslag till tentamen

Variabler och konstanter

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

OOP Objekt-orienterad programmering

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Omgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem.

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

LABORATIONSINSTRUKTION

Visual Basic, en snabbgenomgång

Programmering av ett industrikap med GRAPH 7 / Programming of an industrial cutting machine in GRAPH 7

Digitala System: Datorteknik ERIK LARSSON

Pascal... Pascal. Pascal... Pascal...

SMD 134 Objektorienterad programmering

Laboration 1 Styrteknik

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Styrteknik 4.5/7.5 hp distans: Programmering med IEC PLC1B:1. Styrteknik

Ladderprogrammering steg för steg

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;

Grundkurs Programmering

Programmering A. Johan Eliasson

GOTO och lägen. Några saker till och lite om snabbare sortering. GOTO och lägen (3) GOTO och lägen (2)

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.

Några saker till och lite om snabbare sortering

Lathund. C för inbyggda system

Deklarationer/definitioner/specifikationer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

F4: Assemblerprogrammering

Övervakning & Programspråk

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Enkla datatyper minne

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

Objektorienterad Programmering (TDDC77)

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Styrteknik: Tidskretsar, räknare

Obligatorisk uppgift 5

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

DSV A Procedurell programmering 5 poäng Tentamen

Transkript:

Delstandard av IEC 61131, vilken totalt består av - IEC 61131-1: Allmän information - IEC 61131-2: Hårdvara - : 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

Standard för PLC-programmeringsspråk - 5 olika programmeringsspråk: - IL (Instruktionslista) - LD (Ladderdiagram) - FBD (Funktionsblocksdiagram) - ST (Strukturerad Text) - SFC (Sequential Function Chart)

De 5 olika programmeringsspråken Instruction List LD A ANDN B ST C Step 1 N FILL Transition 1 AND B Sequential Function Chart C:= A AND NOT B Function Block Diagram A Structured Text A B C Step 2 Ladder Diagram C - -- / ----------------( ) S Transition 2 Step 3 Empty

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

Ladderdiagram (LD) - Symboler motsvarande kontakter och reläer - Direkt grafisk motsvarighet till IL A and not B equals C - -- / ----------------( )

Funktionsblocksdiagram (FBD) - Inkluderar de vanliga logiska symbolerna - Annan grafisk variant av IL, fast mer generell AND A B C

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

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 Transition 1 Step 2 S Transition 2 Step 3 Empty

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

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 )

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

Exempel på ett funktionsblock med en inparameter och två utparametrar Grafisk representation:

Exempel på deklarationer

Exempel på deklarationsblock

Variabeltyper - Tillåtna deklarationer

Kategorier av variabeltyper

Grundläggande datatyper: No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Keyword Data Type Bits BOOL SINT INT DINT LINT USINT Boolean Short integer Integer Double integer Long integer Unsigned short integer 1 8 16 32 64 8 UINT UDINT ULINT REAL LREAL TIME DATE TIME_OF_DAY or TOD DATE_AND_TIME or DT STRING BYTE WORD DWORD LWORD Unsigned integer Unsigned double integer Unsigned long integer Real numbers Long reals Duration Date (only) Time of day (only) 16 32 64 32 64 Date and time of day Character string Bit string of length 8 Bit string of length 16 Bit string of length 32 Bit string of length 64 8 16 32 64

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)

Konventioner för adresserbara I/O %IXs.c %IDs.c %ISs.c %QXs.c %QDs.c %QSs.c Boolean Integer Message Boolean Integer Message input input input output output output s = slot number c = channel number

Prefix för I/O- och minnesadresser Pos Prefix Type 1 1 1 I Q M Input location Output location Memory location 2 2 2 2 2 2 X none B W D L Single bit size Single bit size Byte (8 bits) size Word (16 bits) size Double word (32 bits) size Long word (64 bits) size

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)

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

Möjliga anropsalternativ

Anrop av funktion och funktionsblock dels i IL och dels i ST

Exempel på enkel funktionsdeklaration

Exempel på typdeklarationer

Sammansatt datatyp: ARRAY

Exempel på deklaration av ARRAY-variabler

Sammansatt datatyp: STRUCT

Exempel på deklaration av STRUCT

Kombination av STRUCT och ARRAY

Strukturerad text (ST): Språkkonstruktioner

Strukturerad text: Litet exempel (FB)

PLCopen http://www.plcopen.org/ - Oberoende organisation grundad 1992 - Uppföljning av IEC61131-3 samma år - Ytterligare standardisering av programmeringsmiljön

PLCopen Fördelar - Snabbare applikationsutveckling - Kortare driftsättningstid - Minskad livscykelskostnad - Utvidgning och förbättring av - Tidig identifiering av trender

PLCopen - Organisation

CoDeSys http://www.codesys.com/ - Hårdvaruoberoende programmeringsmiljö i 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

CoDeSys: Övergripande arkitektur

CoDeSys: Utvecklingsmiljö

CoDeSys: Programmering av HMI integrerat