Styrteknik: MELSEC FX och numeriska värden



Relevanta dokument
LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION

Programmerbar logik. Kapitel 4

Programmerbara styrsystem

Styrteknik : Programmering med IEC Styrteknik

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

LABORATIONSINSTRUKTION

Grunderna i stegkodsprogrammering

Styrteknik : Funktioner och funktionsblock

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

Repetition C-programmering

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

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

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Tentamen. Datorteknik Y, TSEA28

LABORATIONSINSTRUKTION

Styrteknik: Tidskretsar, räknare

TDDC77 Objektorienterad Programmering

GX IEC Developer Sekvensstyrning och SFC-editor

Introduktion C-programmering

Övervakning & Programspråk

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Digital- och datorteknik

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

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

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

VHDL och laborationer i digitalteknik

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

LABORATIONSINSTRUKTION

Sekvensstyrning Grafcet och IEC

Tentamen. Datorteknik Y, TSEA28

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Digital- och datorteknik

Logik och kontrollstrukturer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Automation Laboration: Överföring över PROFIBUS

CE_O3. Nios II. Inför lab nios2time

Objektorienterad programmering Föreläsning 4

Det finns en hemsida. Adressen är

Tentamen i Digitalteknik, EITF65

Styrteknik: Grundläggande logiska funktioner D2:1

CE_O1. Nios II. Enkla assembler-instruktioner.

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

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

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

Digital- och datorteknik

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

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

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

Extrauppgifter för CPU12

Tentamen. Datorteknik Y, TSEA28

Laboration 2 i Datorteknik- Assemblerprogrammering II

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Analog till Digitalomvandling

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Digital- och datorteknik

Ladda upp filer fra n PLC till PC

Tentamen. Datorteknik Y, TSEA28

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Tentamen. Datorteknik Y, TSEA28

Följddiagram för händelsestyrda rörelser

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

Q64AD, Q68ADV/ADI, analoga ingångsmoduler KI00105E

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Logiska Funktioner X10

Högskolan Dalarna Sida 1 av 8 Elektroteknik Per Liljas

Inledande programmering med C# (1DV402) 85%43=42. OBS! Heltal 1 (14)

Extramaterial till Matematik Y

Tentamen. Datorteknik Y, TSEA28

Digitalteknik: CoolRunner-II CPLD Starter Kit

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Digital- och datorteknik

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

Analog till Digitalomvandling

Digital- och datorteknik

IE1205 Digital Design: F6 : Digital aritmetik 2

2-14 Binära talsystemet-fördjupning Namn:

Digital- och datorteknik

LABORATIONSINSTRUKTION

Lösningar till tentamen i EIT070 Datorteknik

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

Tentamen ID1004 Objektorienterad programmering October 29, 2013

A-del motsvarande KS1

Tentamen. Datorteknik Y, TSEA28

Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Övning2 Datorteknik, HH vt12 - Programmering

Övervakning & Programspråk

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Tentamen (Exempel) Datorteknik Y, TSEA28

*1 Alternativ lösning Serial/IP COM Port Redirector v4.8 from tacticalsoftware.com För mer info se

Institutionen för datavetenskap 2014/15

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Digital elektronik CL0090

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Transkript:

PLC2C:1 MELSEC FX I kursen styrteknik används styrsystemet FX1S som är ett litet system i MELSEC FX-serien. Vår version av FX1S har endast digitala in- och utgångar men oftast finns det både digitala och analoga in- och utgångar även till små styrsystem. De analoga signalerna omvandlas till numeriska värden kan behandlas på olika sätt med ett stort antal programmerings- instruktioner. Instruktionerna behövs för att t.ex.: jämföra numeriska värden. kunna utföra aritmetiska operationer. flytta data mellan olika enheter. För vår version av FX1S är behovet mindre men ibland måste man utföra aritmetiska operationer på värden i tidskretsar och räknare. Den här texten kommer att visa några exempel.

PLC2C:2 Tabellen visar de vanligaste instruktionerna för numeriska värden. (Manualen MELSEC FX Family, kap 5.1)

PLC2C:3 Instruktionen CMP Instruktionen jämför två numeriska värden som kan vara konstanter eller dataregister. Beroende på resultatet (greater than, equal, less than) ettställs en av tre bitar (M). EX: D0 = register, 16 bit (D0) = innehållet i D0 K100 = konstant med värdet 100 M0 = minnescell CMP K100 D0 M0 Om 100>(D0) => M0 sättes till 1 100=(D0) => M1 sättes till 1 100<(D0) => M2 sättes till 1

PLC2C:4 Program MELSEC IL: Program med FBD D8030 är en ställbar potentiometer bredvid programmeringssladden FX1S, värdet är inställbart 0 till 128. Sista värdet på M20- M21 behålles även om SW_KGS är noll. Variabeln en_arr är en array (vektor) med tre element av typen BOOL. Variabeln innehåller de tre värdena som sparades i M20 till M22 i det vänstra exemplet.

PLC2C:5 Instruktionen MOV The MOV instruction moves data from the specified source to the specified destination

PLC2C:6 Program MELSEC IL: Program FBD: LD BTN_VAN1 MOV D8030 D20 MOV D20 K1Y0 Programmet använder hiss-sidan på labkortet. LD BTN_VAN1 När BTN_VAN1 är hög körs programmet. MOV D8030 D20 Innebär att innehållet i D8030 flyttas till D20. D8030 är en ställbar potentiometer bredvid programmeringssladden i FX1S, värdet är inställbart 0 till 128. MOV D20 K1Y0 D20 flyttas till K1Y0. K1 är de fyra sista bitarna. De fyra sista bitarna flyttas till Y3 Y2 Y1 Y0 som är fyra lysdioder på labkortet. Program FBD enligt IEC: Antag att D8030 innehåller värdet 37. Viket värde överförs till K1Y0?

PLC2C:7 Några kommentarer: Ett dataregister har normalt 16 bitar och datatypen INT i FXsystemet. Det numeriska värdet i registret får då talområdet -32768 till +32767. Värdet +37 i registret D20 lagras som: D20 = 0000 0000 0010 0101 Värdet kan delas i fyra delar dekader där varje dekad är en grupp om 4 bitar. Dekaderna är numrerade K4 K3 K2 K1 d.v.s. I det här fallet är K1 = 0101. Om man vill skicka K1 till utgångarna Y3 Y2 Y1 Y0 så skriver man MOV D20 K1Y0 Instruktionen innebär att de fyra minst signifikanta bitarna i D20 ska skickas till utgångarna Y3 Y2 Y1 Y0. MOV K2X0 D30 innebär att 8 värden från X7 till X0 ska skickas till register D30. OBS K37 innebär konstanten 37, ex: MOV K37 D20 MOV D20 K1X0 KnX, KnY, KnM, KnS Innebär att n-dekader ska överföras till binära kanaler. Bokstaven n anger antal dekader, n = 1,2,3,4 K följt av enbart ett numerisk värde innebär en konstant. Ex: K37 (värdet 37) K1 (värdet 1) K-1 (värdet -1) (där -1 = FFFF)

PLC2C:8 Instruktionen DMOV För att flytta 32 bitar kan instruktionen DMOV användas. Ex, med monitor: I exemplet används två 16-bitars register, D8030 och D8031, som flyttas gemensamt med instruktionen DMOV. Programmet fungerar i MELSEC IL men är svårt att göra med editorn FBD. I FBD krävs att variablerna är deklarerade som 32-bitars register. För FX1S är det tillräckligt att arbeta med 16 bitars register i de allra flesta fall. D8030, D8031 är de två potentiometrarna i FX1S Instruktionerna MOV finns även med aktivering vid positiv flank i FBD:

PLC2C:9 Addition Instruktionen ADD beräknar summan av två 16-bit eller 32-bit värden och sparar resultatet ett tredje. Program med FBD IEC Program med FBD, Manufacturer Program med MELSEC IL Programmet måste innehålla åtminstone en logisk instruktion, annars blir det ERROR. Simulering med Monitorn visar värdena: Med Upload projekt erhålles MELSEC IL-koden från FBD-programmet. Observera att den logiska instruktionen LD M8000 har lagts till.

PLC2C:10 Multiplikation Instruktionen MUL beräknar produkten av två 16-bit eller 32-bit värden och sparar resultatet ett tredje. Resultatet måste sparas i ett 32 eller 64 bitars register. Program med MELSEC IL Simulering med Monitorn Resultatet sparas i variabeln var_d20, 32 bitar. Program med FBD Manufacturer IEC-symbolen för MUL kräver samma datatyp på in- och utgångar. Den ger fel resultat om produkten blir för stor!!!?

Ytterligare instruktioner för jämförelser, Compare Program MELSEC IL PLC2C:11 Instruktionerna som inleds med LD jämför två argument och ger ett utvärde av typen BOOL. I det här fallet testas om D3080 >= D8031. Om jämförelsen är sann får uttrycket (RR) värdet 1 och den LED3_GUL tänds. Program FBD, samma exempel. Simulering med monitorn. GE ska tolkas som Greatar Than or Equal OBS Compare-instruktionerna som inleds med AND eller OR används bara med MELSEC IL och ska inte användas under kursen.

PLC2C:12 Instruktionerna Increment, Decrement Instruktionerna ökar/minskar innehållet i ett register med 1. I exemplet används INC_P, dvs öka med ett vid positiv flank (puls). Vad händer annars? Program med MELSEC IL Program med MELSEC IL Decrement, monitor Program med FBD Instruktionerna INC/DEC förekommer i alla räknare. Det är oftast bättre att använda räknare.

PLC2C:13 Instruktionen Logical AND Operationen innebär att ett antal bitar i två register bearbetas parallellt eller bitvis. Resultatet överförs till ett tredje register med lika många bitar. Program med MELSEC IL Instruktionerna OR, XOR, NEG fungerar på ungefär samma sätt. Instruktionerna för bitvisa operationer med AND, OR, XOR etc. ingår inte i kursen. Program med FBD

PLC2C:14 Jämförelseoperatorerna i MELSEC FX Observera ordningen mellan insignalerna. Den här bilden kom inte med i inspelningen. Nästa gång gör den det!

PLC2C:15