Styrteknik: Programmering med MELSEC IL PLC2A:1 Introduktion till MELSEC IL (Instruction List) MELSEC IL är ett maskinberoende maskinspråk som används av olika styrsystem från Mitsubishi. I detta fall kommer styrsystemet FX1S att användas som exempel. När ett styrsystem programmeras överförs programmet med instruktioner som är avsedda för det speciella styrsystemet. Det är viktigt att kunna tolka program som är skrivna på detta sätt. När man skriver program använder man oftast/alltid något annat språk, t.ex. Function Block Diagram (FBD), Ladder diagram (LD), Sequential Function Chart Language (SFC).
Styrteknik: Programmering med MELSEC IL PLC2A:2 MELSEC Basic Instruction Set, Part 1: Grundl. Logiska operationer De flesta styrprogram kan beskrivas med följande 9 basinstruktioner…… Ref: MELSEC FX Family; Programmable Logic Controllers; Beginners Manual. Manualen finns på kurswebben.
Styrteknik: Programmering med MELSEC IL PLC2A:3 LD, LDI En styrfunktion börjar alltid med instruktionen LD/LDI. Värdet sparas internt (RR) i styrsystemet. Instruktionerna kan användas på olika kanaler t.ex.: ingångar, utgångar, minnen, timers, counters. AND, ANI Logiskt OCH mellan styrsystemets interna värde (RR) och den angivna kanalen. OR, ORI Logiskt ELLER mellan styrsystemets interna värde (RR) och den angivna kanalen. OUT Det interna värdet (RR) matas ut till en utkanal: utgång, minne, timer, counter. (RR kan tolkas som ”Styrsystemets Interna en-bitsminne” eller ”ResultatRegister” )
Styrteknik: Programmering med MELSEC IL PLC2A:4 Några exempel 17 programsteg 16 programsteg 17 programsteg
Styrteknik: Programmering med MELSEC IL PLC2A:5 ANB Logiskt OCH mellan styrsystemets föregående interna värde (RR) och det nya interna värdet på RR. Kan tolkas som seriekoppling av två block med parallella grenar ORB Logiskt OR mellan styrsystemets föregående interna värde (RR) och det nya värdet på RR. Kan tolkas som parallellkoppling av två block med seriella grenar
Styrteknik: Programmering med MELSEC IL PLC2A:6 Exempel med ANB Exempel med ORB
Styrteknik: Programmering med MELSEC IL PLC2A:7 MELSEC Basic Instruction Set, Part 2: Pulstriggade operationer Instruktionerna nedan kan bara(?) utföras med MELSEC IL och de är inte definierade i IEC Instruction List. Instruktionerna ingår inte i kursen men pulstriggade operationer är viktiga och görs på annat sätt. I Ladderschemat finns beteckningar för positiv flank (rising edge) och negativ flank (falling edge).
Styrteknik: Programmering med MELSEC IL PLC2A:8 Principen för en pulstriggad signal: OBS Programvaran GX Developer (inte IEC) kan använda pulstriggade instruktioner i Ladderdiagram.
Styrteknik: Programmering med MELSEC IL PLC2A:9 LDP_M är en (Manufacturer) Function, dvs icke IEC-standard som kan användas i GX IEC Developer. Funktionen använder den pulstriggade instruktionen LDP. Symbolen för funktionen kan användas i schema av typen LD, FBD. Funktionen motsvarar MELSEC koden: X6 Y4
Styrteknik: Programmering med MELSEC IL PLC2A:10 MELSEC Basic Instruction Set, Part 3: Setting and resetting devices SET kan användas för att ett-sätta Utgångar (Y), Minnen (M) RST kan användas för att ett-sätta Utgångar (Y), Minnen (M), Timers (T), Counters (C), Registers (D,V,Z) SET och RST kan användas i stället för ”Hållkretsar” se exempel i laboration 1.
Styrteknik: Programmering med MELSEC IL PLC2A:11 Exempel med SET och RST Från laboration i styrteknik LD Ladder Diagram MELSEC IL LD med funktionsblock FBD Function Block Diagram Att blanda Ladderdiagram med funktionsblock är tillåtet.
Styrteknik: Programmering med MELSEC IL PLC2A:12 MELSEC Basic Instruction Set, Part 4: Store, Read, Delete to/from the stack Resultaten av en logisk operation sparas normalt i ett en-bitars register (RR). I vissa fall vill man spara värdet av RR och det kan göras i en så kallad stack. En stack finns i alla datorsystem och är ett vanligt begrepp i datateknik..
Styrteknik: Programmering med MELSEC IL PLC2A:13 Exempel: Användning av stacken. Instruktionerna kan genereras automatiskt från ladder-diagrammet . Att använda stacken kan ge snabbare program. Exakt samma exempel, annan ”koppling”.
Styrteknik: Programmering med MELSEC IL PLC2A:14 MELSEC Basic Instruction Set, Part 5: Pulse Instuctions Program med IEC LD: Program med MELSEC IL:
Styrteknik: Programmering med MELSEC IL PLC2A:15 MELSEC Basic Instruction Set, Part 6: Master Control, Invert Figuren visar principen med Master Control/Master Control Reset. Om inte M10 är aktiverad så utförs inte instruktionerna på rad 4,6,8. Programmet hoppar direkt till rad 10. Principen var (är?) ganska vanlig när man vill att bara en del av styrlogiken ska vara inkopplad.
Styrteknik: Programmering med MELSEC IL PLC2A:16 Exempel med Master Control/Master Control Reset Program med IEC LD: Program med MELSEC IL:
Styrteknik: Programmering med MELSEC IL PLC2A:17 MELSEC Basic Instruction Set, Part 6: Invert Program med GX IEC LD: Så här blev MELSEC koden: Instruktionen INV används inte?
Styrteknik: Programmering med MELSEC IL PLC2A:18 Med MELSEC Basic Instruction Set kan man ersätta ett reläbaserat styrsystem med en PLC. Basinstruktionerna hanterar enbart binära signaler men en modern PLC kan mycket mer. Eftersom en PLC är uppbyggd kring en vanlig mikroprocessor så kan den även utföra operationer på numeriska storheter. Det finns ytterligare åtminstone 150 olika instruktioner. Instruktionerna kallas ofta applied eller application instructions. Med dessa instruktioner kan matematiska beräkningar, jämförelser, omvandlingar etc. utföras. De flesta av instruktionerna används mot olika typer av register som har en viss datatyp.
Styrteknik: Programmering med MELSEC IL PLC2A:19 MELSEC IL: Hela Basic Instruction Set Se MELSEC FX Family Manual