150 likes | 318 Views
Styrteknik: MELSEC FX och numeriska värden PLC2C:1. MELSEC FX
E N D
Styrteknik: MELSEC FX och numeriska värden 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.
Styrteknik: MELSEC FX och numeriska värden PLC2C:2 Tabellen visar de vanligaste instruktionerna för numeriska värden. (Manualen MELSEC FX Family, kap 5.1)
Styrteknik: MELSEC FX och numeriska värden 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
Styrteknik: MELSEC FX och numeriska värden PLC2C:4 Program med FBD Program MELSEC IL: 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.
Styrteknik: MELSEC FX och numeriska värden PLC2C:5 Instruktionen MOV The MOV instruction ”moves” data from the specified source to the specified destination
Styrteknik: MELSEC FX och numeriska värden 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?
Styrteknik: MELSEC FX och numeriska värden PLC2C:7 Några kommentarer: Ett dataregister har normalt 16 bitar och datatypen INT i FX-systemet. 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)
Styrteknik: MELSEC FX och numeriska värden 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. Instruktionerna MOV finns även med aktivering vid positiv flank i FBD: D8030, D8031 är de två potentiometrarna i FX1S
Styrteknik: MELSEC FX och numeriska värden 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, Manufacturer Program med FBD IEC 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.
Styrteknik: MELSEC FX och numeriska värden 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!!!?
Styrteknik: MELSEC FX och numeriska värden PLC2C:11 Ytterligare instruktioner för jämförelser, Compare Program MELSEC IL 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.
Styrteknik: MELSEC FX och numeriska värden 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 Decrement, monitor Program med MELSEC IL Program med FBD Instruktionerna INC/DEC förekommer i alla räknare. Det är oftast bättre att använda räknare.
Styrteknik: MELSEC FX och numeriska värden 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
Styrteknik: MELSEC FX och numeriska värden 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!