Introduktionskurs i styrteknik med Xlogic-MikroPLC
Vad som skall styras 1. Produktionsliner (och dess maskiner och automater) inom olika typer av industri (verkstadsindustri, läkemedelsindustri, livsmedelsindustri, processindustri, stålverk osv.) 2. Automater och system inom energisektorn (kraftverk, system för energidistribution mm) 3. Enheter och system inom fastighetssidan (hissar, ventilation, värmeanläggningar, infotainmentsystem mm. i exempelvis flerfamiljhus, båtar, flyg osv.) 4. Maskiner inom hushållen (tvättmaskiner, hushållsassistenter mm.) 5. Olika delsystem i Fordon (bilar, tåg, flygplan, båtar, lastfordon osv.)
Exempel på styrsystem med specialanpassning Robotar med tillhörande robotstyrsystem Bearbetningsmaskiner med tillhörande CNCstyrsystem Regulatorer för processindustrin Motorstyrningar och bromssystem för olika fordon Belysningssystem för industrifastigheter
Styrteknikens delmoment a. Hur de vanligaste komponenterna fungerar b. Hur man kopplar samman dem c. De grundläggande logiska funktionerna d. Hur man kopplar in dem till olika styrsystem e. Hur styrsystemen kan programmeras f. Hur man samordnar olika styrsystem
Medium El (DC, 1-fas AC, 3-fas AC)(kontakter, spolar, givare, motorer mm.) Pneumatik (tryckluft)(kompressorer, ventiler, cylindrar, gripdon, vakuum, sug, blås, motorer) Hydraulik (vätska, bla hydraulolja)(ventiler, cylindrar, pumpar)
PC/PG HMI MES Ethernet /Profibus /RS232 /USB OPC knappar givare ingångar CPU utgångar lampor kontaktorer/motorer magnetventiler andra systems signaler Profibus Profinet B uss-signaler andra systems signaler
Editorer (instruktionstyper) STL-Statement List (maskinnära instruktionskoder) LAD-LADder (reläschema) FBD-FunktionBlocksDiagram (logiska block) SFC-Sequential FlowChart (GRAPH, funktionsdiagram dvs. Grafcet påminner om flödesscheman och används med fördel för sekventiella rutiner) SCL-Structured ControlLanguage (strukturerad text)
Adresser IEC61131-3 %I - Ingångar %Q - Utgångar %M - minnen (minnesflaggor etc.) %T - Timer %C- Räknare (counter)
Signaler digitala ingångar Givarsignaler Knappar Signaler från andra styrsystem Genom programmering bildar dessa villkor för att sakar skall utföras
Signaler digitala ingångar ingångar Tänkbara värden: 2 olika (1 och 0)
Signaler digitala ingångar
Digitalt Ingångsblock Main är en digital ingång i huvudenheten Ext är en digital ingång i en expansionsenhet Q är utgången från blocket som sedan knyts till ett lämpligt annat block (på en inkommande variabel på detta block) Simulation-fliken möjliggör normalt öppen eller sluten funktion samt monostabil funktion för simuleringsdelen Comment-fliken möjliggör att förklara användningen av blocket, här tex vad som är anslutet
Signaler digitala utgångar Lampor Kontaktorer Magnetventiler Signaler till andra styrsystem Det som efter programmering utförs efter att villkor har uppfyllts
Signaler digitala utgångar utgångar Tänkbara värden: 2 olika (1 och 0)
Signaler digitala utgångar reläutgångar transistorutgångar
Digitalt utgångsblock Main är en digital utgång i huvudenheten Ext är en digital utgång i en expansionsenhet Block name är för att förklara vad blocket är till för Q är utgången från blocket som sedan knyts till ett lämpligt annat block (på en inkommande variabel på detta block) - möjliggör tex en hållkrets Comment-fliken möjliggör att förklara användningen av blocket, här tex vad som är anslutet
Signaler analoga ingångar 0-10 VDC 4-20 ma Tänkbara värden: runt 65000 olika mellan ett minvärde och ett maxvärde
Analogt ingångsblock Main är en analog ingång i huvudenheten Ext är en analog ingång i en expansionsenhet Block name är för att förklara vad blocket är till för Q är utgången från blocket som sedan knyts till ett lämpligt annat block (på en inkommande variabel på detta block) Simulation-fliken möjliggör att ange nuvarande värde samt min och maxvärden för simuleringsdelen Comment-fliken möjliggör att förklara användningen av blocket, här tex vad som är anslutet
Jämförarblock Sensor är för typ av signal (spänning, ström eller PT100) Meas range är för att ange mätområde Block name är för att förklara vad blocket är till för Gain är förstärkning av mätområdet (att multiplicera området med) Offset är förskjutning av mätområdet (att addera till mätområdet) Q är utgången från blocket som sedan knyts till ett lämpligt annat block (på en inkommande variabel på detta block) Unit mörjiggör olika enheter för temperatur om PT100 har valts
Signaler analoga utgångar 0-10 VDC 4-20 ma Tänkbara värden: runt 65000 olika mellan ett minvärde och ett maxvärde
Analogt utgångsblock Main är en analog utgång i huvudenheten Ext är en analog utgång i en expansionsenhet Block name är för att förklara vad blocket är till för Q är utgången från blocket som sedan knyts till ett lämpligt annat block (på en inkommande variabel på detta block) Comment-fliken möjliggör att förklara användningen av blocket, här tex vad som är anslutet
Signaler exempel på PLC
Logiska block eller & och Eller (parallell) Någon eller båda till Och (serie) Båda till
Och (serie) Alla till Logiska block och
Eller (parallell) Någon, några eller alla till Logiska block eller
Logiska block OCH-Alla OCH med p-flank - Alla med positiv flank (just då alla aktiverats) INTE OCH Inte alla INTE OCH med n-flank alla inte till med negativ flank (just då någon avaktiverats) ELLER Någon, några eller alla INTE ELLER- Ingen Exklusiv ELLER Endast någon
Timerblock - tillslagsfördröjning On-delay är tid att fördröja med (anges tex i sekunder och i hundradels sekunder) Block name är för att förklara vad blocket är till för Show parameters om du vill se valda parametrar eller ej i editorn I detta exemplet släpps signalen ut på utgången från blocket efter 1.5 sekunder
Räknarblock updown count On threshold räknarvärde när blocket släpper vidare på utgången från blocket Off thershold räknarvärde när blocket slutar släppa vidare på utgången från blocket Start value är begynnelsevärdet för räknaren Block name är för att förklara vad blocket är till för Show parameters om du vill se valda parametrar eller ej i editorn I detta exemplet släpps signalen ut på utgången från blocket efter att räknaren fått värdet 5 eller mer och den slås sedan av om värdet når 3 eller lägre
Programexempel med räknare I1 knuten till R-variabeln (ger räknaren startvärdet) I2 knuten till Cnt-variabeln (räknar upp räknaren om Dirvariabeln ej aktiverats) I3 knuten till Dir-variabeln (byter mellan upp- och nedräkning)
Programexempel med timer och I1 knuten till ett eller-block (parallellkoppling) Q1 knuten till en timer och dessutom som ett alternati till eller-blocket (för självhållning i en hållkrets) B1 är en tillslagsfördröjd timerinstruktion (i detta fall inställd att släppa fram ström till utgångsblocket Q1 efter 2 sekunder Detta exempel saknar funktions för att bryta hållkretsen hållkrets
Programexempel med RS-vippa I1 knuten till ett tillslagsfördröjt timerblock på 2 sekunder Timerblocket är kopplat till ett latchrelay-block som i detta fallet används som RS-vippa. Timern har kopplats till Set-variabeln för at starta hålkretsen då tiden har gått. I2 är koplad till R-variabeln på RS-vippan för att bryta hållkretsen Skulle jag vilja ha en SR-vippa istället får jag koppla ett NOTblock efter RS-blocket. Då blir allt tvärtom (strömmen från blocket går till på förhand osv). som hållkrets
Programexempel skapa ett 1 File-New function block diagram och välj rätt systemtyp under hardware eget program
Programexempel skapa ett 2. Placera ut block och parametrera dem genom att dubbelklicka på dem (in- och utgångarna ligger högst upp i blockkatalogen) eget program
Programexempel skapa ett 3. Koppla samman blocken med trådning genom Conectikonen (eller F5). Flytta dem genom att först välja Selectikonen och därefter dra enstaka block dit du vill ha dem. Om du vill flytta flera kan du dra ett fönster runt flera. Kopiera genom att välja och ta ctrl+c samt Ctrl+V och liknande eget program
Programexempel skapa ett 4. Provkör genom simulering genom att ta Simulationikonen (F3). Man kan då klicka på blocken för att aktivera digitala ingångar eller klicka på det simulerade PLC-systemet i det nedre området. eget program
Programexempel skapa ett 5. Överför programmet till det fysiska PLC-systemet (om du har ett). Stäng först av sim uleringen och anslut kommunikationskabeln till styrsystemet (USB eller LAN). Ange anslutningsmetod efter att ha valt Tools- Configuration (USB innebär ett com-portsnummer som programmet hittar åt dig då drivrutinerna är klara) Starta överföringen med PC->ELC-ikonen Om allt är OK arbetar systemet upop till 100% (visas nedtill). Annars meddelas vad som gått fel. eget program Vill ni se hur systemet arbetar kan ni starta monitorering av programmet med Online monit-ikonen. Då ser det ut som vid simuleringen
Programexempel skapa ett 5. Överför programmet till det fysiska PLC-systemet (om du har ett). Använd den röda ikonen för laddning till PLC och den blå för laddning från PLC. Du kan följa hur långt laddningen har hunnit i procent nedtill i fönstret. Då laddningen är klar kan du monitorera programmet med onlinemonitor-ikonen (ser ut som vid simulering). eget program anslut Ladda ner Ladda upp monitorera
Typer av styrsystem Kompakta PLC:er Modulära PLC:er Soft-PLC Slot-PLC Industri PC Robotstyrsystem CNC-styrsystem
Moduler Strömförsörjning CPU utbyggnadsmoduler kommunikationsmoduler digitala ingångar digitala utgångar analoga ingångar analoga utgångar felsäkra I/O:n PID-regulatorer Positioneringsmoduler (tex för stegmotorer eller servomotorer)
HMI Typer OP-paneler OP-terminaler SCADA Innehåll Knappar Lampor Visare Displayer Rullister Inmatningsfält Bilder För att Övervaka Påverka Felsöka
ANSLUTNING av PG/HMI Seriell PCMCIA Minneskort Fabrikatsbundna nät Fältbuss Ethernet USB
Kommunikation I/O:n (traditionellt) Seriell Fabrikatsbundna nät Fältbuss Profibus DP (system till system) AS-i (säkerhetskretsar, givare, ventilblock) CAN-bus DeviceNet Interbus osv Industrial Ethernet (intranet) (överordnat) Industrial Ethernet (internet) (distans) GSM (distans)
Minnestyper i ett PLC Laddningsminne (RAM eller minneskort för användarprogram) Arbetsminne (batteriuppbackat RAM för data för aktuell körning) Systemminne (integrerat minne för processavbilder för I, Q, M, T, C & L) Remanent minne (beständigt minne som lagrar värden från systemminnet även om man ej batteribackup av detta)
Användarprogram Systemdata (hårdvara och kommunikation) Olika block (med/utan lokala variabler) Symboltabell (globala variabler) Källfiler Variabeltabeller
Standard datatyper Type and description Size in Bits Format- Options Tänkbara värden (från minsta till största) Example BOOL (Bit) 1 Boolean text TRUE/FALSE TRUE BYTE (Byte) 8 Hexadecimal B#16#0 to B#16#FF B#16#10 number WORD (Word) 16 Binary number 2#0 to 2#0001_0000_0000_0000 2#1111_1111_1111_1111 Hexadecimal W#16#0 to W#16#FFFF W#16#1000 number BCD C#0 to C#999 C#998 Decimal number unsigned B#(0,0) to B#(255,255) B#(10,20) DWORD (Double word) 32 Binary number 2#0 to 2#1111_1111_1111_1111_111 1_1111_1111_1111 Hexadecimal number Decimal number unsigned INT (Integer) 16 Decimal number signed DINT (Int,32 bit) 32 Decimal number signed REAL (Floating-point number) 32 IEEE floatingpoint number S5TIME (Simatic-Time) TIME (IEC-Date) DATE (IEC-Date) 16 S7-Time in steps of 10 ms 32 IEC-Time in steps from 1ms, integer signed 16 IEC-Date in steps of 1 day TIME_OF_DAY (Time) 32 Time in steps of 1ms 2#1000_0001_0001_1000_1011_10 11_0111_1111 DW#16#0000_0000 to DW#16#00A2_1234 DW#16#FFFF_FFFF B#(0,0,0,0) to B#(1,14,100,120) B#(255,255,255,255) -32768 to 32767 1 L#-2147483648 to L#2147483647 Upper limit: +/-3.402823e+38 Lower limit: +/-1.175495e-38 S5T#0H_0M_0S_10MS to S5T#2H_46M_30S_0MS and S5T#0H_0M_0S_0MS - T#24D_20H_31M_23S_648MS to T#24D_20H_31M_23S_647MS D#1990-1-1 to D#2168-12-31 TOD#0:0:0.0 to TOD#23:59:59.999 L#1 1.234567e+13 S5T#0H_1M_0S_0MS S5TIME#1H_1M_0S_0MS T#0D_1H_1M_0S_0MS TIME#0D_1H_1M_0S_0MS DATE#1994-3-15 TIME_OF_DAY#1:10:3.3
1. Elementära datatyper Typ Format Längd (bitar) Värden BOOL Boolsk 1 1 el 0 (true, false)) BYTE Hexadecimal 8 B#16#0 till B#16#FF BYTE Binär 8 2#0 till 2#11111111 CHAR Ascii-tecken 8 (1 byte) Tex A, B el C WORD Hexadecimal 16 (2 byte) W#16#0 till W#16#FFFF WORD Binär 16 (2 byte) 2#0 till 2#1111111111111111 WORD Unsigned bytes 16 (2 byte) B#(0,0) till B#(255,255) INT Signed integer 16 (2 byte) -32768 till +32768 (heltal) DATE Year-Month- 16 (2 byte) D#1990-01-01 till D#2168-12-31 Day S5TIME H, min, s eller 16 (2 byte) S5T#0ms till S5T#2h46m30s min, s, ms DWORD Hexadecimal 32 (4 byte) DW#16#0 till DW#16#FFFFFFFF DWORD Binär 32 (4 byte) 2#00000000000000000000000000000000 till 2#11111111111111111111111111111111 DWORD Unsigned bytes 32 (4 byte) B#(0,0,0,0) till B#(255,255255,255) DINT Signed integer 32 (4 byte) L#-2147483648 till L+2147483648 (heltal) REAL Floating point 32 (4 byte) +1.175495e-38 till +3.402823e+38 TIME (flyttal) + or - Days Hours Minutes Seconds Milliseconds -1.175495e-38 till -3.402823e+38 32 (4 byte) T#-24d20h31m23s647ms till T# +24d20h31m23s647ms T# -65535 till T# +65535 för s och ms (dag, timma, minut, s, ms - alla måste ej anges) TOD Time of day 32 (4 byte) TOD#00:00:00.000 till TOD#23:59:59.999 (timma, minut, sekund, ms - alla anges) Adresserna kan betecknas utgående från olika datatyper: I (ingångsbit), IB (ingångsbyte), IW (ingångsord), ID (ingångsdubbelord). Upplösningar för S5T#: Upplösning Möjligt område 0.01 s 10 ms till 9 s 990 ms 0.1 s 100 ms till 1 m 39 s 900 ms 1 s 1 s till 16 m 39 s 10 s 10 s till 2 h 46 m 30 s
Ord Bit 0 (1 om aktiv) Bit 1 (2 om aktiv) Totalt 2-bitars upplösning 0 0 0 1 0 1 0 1 2 1 1 3 4 alternativa värden mellan 0 och 3 med 2-bitars upplösning (tex BCDkod) Bit 0 (1 om aktiv) Bit 1 (2 om aktiv) Bit 2 (4 om aktiv) Totalt 3-bitars upplösning 0 0 0 0 1 0 0 1 0 1 0 2 1 1 0 3 0 0 1 4 1 0 1 5 0 1 1 6 1 1 1 7 8 alternativa värden mellan 0 och 7 med 3- bitars upplösning (tex BCD-kod)
Programstrukturering 1. I/O-lista omvandlas till symboltabell 2. Systematisering av projektet (flödesschema?) 3. Konfiguration av systemet inklusive de ingående enheterna och nätverken (tex PLC:er, IO-enheter, motorstyrningar, HMI:er mm) 4. Programmera huvudsekvens (stegvis och testa?) 5. Provkör hela huvudsekvensen (simulering?) 6. Programmera HMI (HMI-delarna var-för-sig? Tex olika stopp,. Återställning, omstartsfunktioner mm) 7. Provkör de olika HMI-delarna
Kommunikation Siemens S7-inriktning
Kommunikation OSI-modellen 7-nivåer: 1 fysiskt 2 överföring 3 nätverk 4 transport 5 placering 6 framställning 7 användning Profibus repeater Länk mellan Profibus DP och EIB (för fastighetsauto mation) DP-
Profibus DP GSD-Files PROFIBUS configuration tool PLC GSD GSD GSD GSD GSD GSD Electronic Device Data Sheets (GSD-files) PROFIBUS
HMI Typer OP-paneler OP-terminaler SCADA Innehåll Knappar Lampor Visare Diplayer Rullister Inamtningsfält Bilder För att Övervaka Påverka Felsöka
Bildbyggande i win cc flexible