Styrteknik : Funktioner och funktionsblock



Relevanta dokument
1 Strömmen I skall mätas med en amperemeter. Amperemetern är inställd på området 30 ma. Vad kommer amperemetern att visa?

LABORATIONSINSTRUKTION

Högskolan Dalarna Sida 1 av 8 Elektroteknik Per Liljas

Laboration 1 Styrteknik

Styrteknik: Tidskretsar, räknare

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

Styrteknik : Programmering med IEC Styrteknik

LABORATIONSINSTRUKTION

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

Programmerbar logik. Kapitel 4

Beijer Electronics AB 2000, MA00336A,

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

GX IEC Developer Sekvensstyrning och SFC-editor

LABORATIONSINSTRUKTION

Styrteknik: MELSEC FX och numeriska värden

SkillGuide. Bruksanvisning. Svenska

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Det finns en handledning till kortet på hemsidan. AVR STK500.

PNSPO! Använda NJ med NS System Memory. 14 mars 2012 OMRON Corporation

Programmerbara styrsystem

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

Twincat: PLC Control

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Grundläggande logiska funktioner D2:1

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Allt om datalogging och datakommunikation!

Styrteknik 7.5 hp distans: SFC med GX IEC

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

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

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

Safe Logic Compact. Konfigurering av Rexroth säkerhets PLC. Snabbguide Svenska

BRUKSANVISNING. Oscilla 910

Tentamen SSY 065, lördag 14/4, 08:30-12:30, M. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation

HÖGSKOLAN I KALMAR Institutionen för teknik Erik Loxbo LABORATION I PLC-TEKNIK SEKVENSSTYRNING AV TRANSPORTBAND SIMATIC S7 - GRAPH

Isolda Purchase - EDI

OMRON. PLC till PLC kommunikation (CP1L-E) Ethernet. 22 april 2014 OMRON Corporation

LABORATIONSINSTRUKTION

Webbregistrering pa kurs och termin

Laboration 1 Styrteknik

Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs

DATORÖVNING 4: DISKRETA

LABORATIONSINSTRUKTION

Application Note SW

Styrsystem. Quantum, M340 o Momentum. Kom-igång med konvertera Concept till Unity Rev

FORTA M315. Installation. 218 mm.

Lektion 3. Anteckningar

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2)

Grunderna i stegkodsprogrammering

Programmering A. Johan Eliasson

4 grundregler. Minneshantering. Problemet. Windows minkrav

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

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

LOG/iC2. Introduction

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Plain A262. För T16 (T5) lysrör. Innehåll. Monteringsanvisning. A. Instruktion för rampmontering

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

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Examples on Analog Transmission

Sekvensstyrning Grafcet och IEC

Modbus över Ethernet. WAGO Contact SA TSS STR

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Preschool Kindergarten

Styrteknik: Tidskretsar, räknare

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

Processidentifiering och Polplacerad Reglering

CoDeSys 2.3.x.x Svensk installationsguide

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

2.1 Installation of driver using Internet Installation of driver from disk... 3

Sortering av cylindrar

Introduk+on +ll programmering i JavaScript

Windlass Control Panel v1.0.1

Tentamen PC-teknik 5 p

KOM IGÅNG GUIDE e!cockpit Av Carsten Holm

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

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Programmeringsteknik med C och Matlab

Skyddande av frågebanken

Övningar Dag 2 En första klass

Webbreg öppen: 26/ /

Installation Instructions

Styrteknik: E-Designer och E-1000

HANTERING AV UPS CX

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal

Writing with context. Att skriva med sammanhang

Boiler with heatpump / Värmepumpsberedare

Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration


IKSU-kort Ordinarie avtal

Användarhandbok. MHL to HDMI Adapter IM750


F ξ (x) = f(y, x)dydx = 1. We say that a random variable ξ has a distribution F (x), if. F (x) =

2. Lära sig beskriva en variabel numeriskt med "proc univariate" 4. Lära sig rita diagram med avseende på en annan variabel

Discovery FSQ, IAA Utgåva/Edition 11. SE Habo. Klass 2 IAA FSQ-I 26W. 4 mm c c mm N L

Transkript:

PLC2A:1 Variabler och datatyper Allmänt om funktioner och funktionsblock Programmering av funktioner Programmering av funktionsblock

PLC2A:2 Variabler i GX IEC Developer Global and Local Variables Variables contain the values of inputs, outputs or internal memory locations in the PLC. There are two types of variables: Global Variables Local Variables Global Variables Global variables are defined for the entire project. They are accessible from any POU body, action or transition, and they make it possible to exchange data between all the sub-programs that go to make up the project. Local Variables Local variables (VAR) are only accessible within the one specific program organisation unit (POU) in which they are declared. Thus, they cannot be used for exchanging data between POUs.

PLC2A:3 Globala och lokala variabler OBS adressen är inte definierad i den lokala variabellistan.

PLC2A:4 Variable declarations Each variable declaration has the following elements: Class, Identifier, Data type, Initial value (automatically), Comment (optional), Remark (optional).

Varje variabel har en Class och en Type. Type visar vilken typ av data som variabeln innehåller. Class indikerar vad man göra med variabeln. PLC2A:5 Observera det finns tre olika typer av POU:er PRG = PROGRAM FUN = FUNCTION FB = FUNCTION BLOCK

PLC2A:6 Variabelnamn och adresser Identifiers and Absolute Addresses Each variable is given a symbolic address, i.e. a name. This is referred to as the identifier; it consists of a string of alphanumeric characters and underline characters. The identifier must always begin with a letter or an underline character. Spaces and mathematical operatorcharacters (e.g. +, -, *) are not permitted. Examples of identifiers: FAULT ZEROSIG LIM_SW_5 When global variables are declared absolute addresses can be assigned that reference the memory location of the variable in the CPU or a physical input or output. When local variables are declared in the header of the POU they are automatically assigned a suitable memory location in the CPU.

PLC2A:7 When you define global variables you must specify the hardware addresses for each individual variable. The address declarations are shown in the table below. X Bit device W Word device D Double word device Andra typer av device i FX-serien: labels (P), Step flags (S)

PLC2A:8 Absoluta adresser för: räknare, Counter tidskretsar,timer Se kap 6.10 Ref manual Exempel räknaren C20: CC20 = Räknarens identitet, räknaren som ska används, 1 Bit CS20 = Status på utgången, 1 Bit CN20 = Aktuellt räknarvärde, 1 Word eller Double Word? Motsvarande beteckningar för tidskretsarna. Exempel kommer på senare föreläsning.

PLC2A:9 Från menykommadot: Extras/Options

PLC2A:10 Datatyperna INT och DINT använder 2-komplement-representation

PLC2A:11 Allmänt om funktioner och funktionsblock Genom att använda funktioner och funktionsblock förenklas programmeringen och det blir enklare att få ett strukturerat och lättförståeligt PLC-program. Skriv egna funktioner (FUN) och egna funktionsblock (FB) för att strukturera programmet. Använd editor IL, LD, ST eller FBD för att skriva programkoden. Använd färdiga funktioner och funktionsblock för Timer, Counter etc. Funktioner och Funktionsblock är enklast att använda med någon av de grafiska editorerna LD eller FBD.

PLC2A:12 Exempel 1: Funktion för att styra ljuset i ett rum med hjälp av 3 strömbrytare. Se PLC 1B:22. Lösning med LD: Gränssnitt med PLC:n FX1S

PLC2A:13 Skapa en ny POU som består av en funktion Definition av POU:ns namn. POU:n är en FUN (Function). Funktionen ska beskrivas med editorn Function Block Diagram (FBD). Funktionen ska ge ett resultat av datatypen BOOL.

PLC2A:14 Skriv funktionen Definiera insignalerna lokalt Definition av Insignalen A Den lokala headern med def för A,B och C

PLC2A:15 Funktionen testas med en program POU Under Function Block finns den nya symbolen för three_sw Signalerna ansluts till laborationsplattan

PLC2A:16 Task my_main anropar POU:n test_three_sw POU test_three_sw anropar POU:n three_sw POU three_sw Programmet kräver 33 programsteg (program steps)

Melsec-koden i PLC:n (28 programsteg ~33?) PLC2A:17 M8000 Run-indikering CALL P_30 Anrop av subrutinen P_30 Skriv ett FBD-diagram för subrutinen!

PLC2A:18 Exempel 2: I en luftsluss finns en begränsad mängd syre som ska räcka till de personerna som vistas i luftslussen. Skriv en funktion OXYGEN som ger en signal när syret är slut! Funktionen ska ha följande ingångar: en_in BOOL Enableingång antal_inne INT Personer inne i luftslussen antal_sec INT Antal sekunder med personer i luftslussen maxvarde INT Maxvärde för produkten av antal_inne och antal_sec Funktionen ska ge en utsignal av typen BOOL när syret är slut. Tips:

PLC2A:19 Exempel 3: Skriv en funktion ROOM_FULL som kontrollerar att det inte finns för många personer i maskinprogrammets källarkrypin på högskolan. Funktionen ska ha följande ingångar: RST BOOL Nollställer antalpersonerräknaren CNT_D BOOL Minskar antalpersonerräknaren med 1 CNT_U BOOL Ökar antalpersonerräknaren med 1 MAX_NR INT Max tillåtet antal personer i lokalen Funktionen ska ge en utsignal av typen BOOL när lokalen är full. Lokalen får inte innehålla negativa studenter. Funktionens Header med Insignaler VAR_INPUT Interna variabler VAR Program som använder funktionen

PLC2A:20 Funktionen ROOM_FULL, förslag till lösning. Hela programmet kräver 53 programsteg.

PLC2A:21 För ett FUNKTIONSBLOCK (FB) gäller: Godtyckligt antal ingångar Godtyckligt antal utgångar Funktionsblocket måste instansieras med ett eget namn Funktionsblock kan innehålla andra funktionsblock och funktioner. För ett FUNKTIONER (FUN) gäller: Godtyckligt antal ingångar 1 utgång med samma namn som funktionen Funktionsblock kan innehålla andra funktioner.

PLC2A:22 Exemplet 3, kontroll av antal personer i en lokal, kan även lösas med ett funktionsblock. I lösningen kan man i så fall använda andra funktionsblock. Se nedan. Exempel 4: Skriv ett funktionsblock room_full_fb som kontrollerar att det inte finns för många personer i maskinprogrammets källarkrypin på högskolan. Funktionsblocket ska följa IEC-standarden. Funktionsblocket ska ha följande ingångar: RST BOOL Nollställer antalpersonerräknaren CNT_D BOOL Minskar antalpersonerräknaren med 1 CNT_U BOOL Ökar antalpersonerräknaren med 1 MAX_NR INT Max tillåtet antal personer i lokalen Funktionsblocket ska ha följande utgångar: ROOM_FULL BOOL Hög nivå när lokalen är full CNT_VALUE INT Antal personer i lokalen

I exemplet kan räknaren CTUD (FB) användas PLC2A:23 M7 ettställs när räknarvärdet (CV) är >=3. M27 ettställs när räknarvärdet <=0. Räknaren räknar uppåt vid positiv flank på X0 Räknaren räknar nedåt på positiv flank på X1. X4 nollställer räknarvärdet. X5 läser in PV som räknarvärde.

PLC2A:24 POU:n som använder funktionsblocket room_full_fb