LOGIKSTYRNING/18/2: Laboration. 1 Uppgiften. Figur 1: Tågbanan

Relevanta dokument
Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Lathund - Konfiguration av PLC och dator

Programmerbar logik. Kapitel 4

Grunderna i stegkodsprogrammering

Programmera Avant 5 med PC mjukvara

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

Ladderprogrammering steg för steg

Industriella styrsystem, TSIU06. Föreläsning 2

Styrteknik : Programmering med IEC Styrteknik

Automation Laboration: Överföring över PROFIBUS

Programmerbara styrsystem

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Ladderprogrammering steg för steg

Styrteknik: MELSEC FX och numeriska värden

Sekvensstyrning Grafcet och IEC

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

GPIO - General Purpose Input Output

Hjälp och tips till RSLogix och InTouch

ATU. Användarmanual. Larmöverföringsenhet Firmware Version

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

+5V. start. Styrsystem. stopp. Tillståndsmaskiner

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

Flödesschema som visar hur man använder Quartus II.

Digital- och datorteknik

BICT:01 BICT. sv-se. Användarinstruktion Gäller från BICT Utgåva 5. Scania CV AB 2015, Sweden

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

+5V. start. Styrsystem. stopp. Tillståndsmaskiner

WAGO IO System Service Seminar. Diagnostik

KOM IGÅNG GUIDE e!cockpit Av Carsten Holm

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Digital- och datorteknik

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

M7005 och IBR Användarhandbok

Modbus. WAGO Contact SA TSS STR

Innehåll i detta dokument

Sortering av cylindrar

Legorobot. Lär dig programmera en legorobot. Teknikåttan Ola Ringdahl Lena Kallin Westin

USB styrt DMX gränssnitt

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

LABORATIONSINSTRUKTION

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

LABORATIONSINSTRUKTION

SEKVENSKRETSAR. Innehåll

Manual för banläggning i OCAD IF ÅLAND

Lösningar till tentamen i EIT070 Datorteknik

LABORATIONSINSTRUKTION

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

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

Föreläsning 2. Operativsystem och programmering

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

Introduktion till xdigiflex-simulatorn

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

F5 Introduktion till digitalteknik

Modbus över Ethernet. WAGO Contact SA TSS STR

PROGRAMMERING AV MCU LABORATION6. Laborationens syfte

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

SB168-ES och LS9 Quick Setup Guide Svensk version

Introduktion till syntesverktyget Altera Max+PlusII

LABORATIONSINSTRUKTION

Översikt Banstyrning v. 0.5 Sida 1 av 6

LABORATIONER I STYRTEKNIK. Grundläggande PLC- programmering

GX IEC Developer Sekvensstyrning och SFC-editor

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

Installationsanvisning för Su Officemallar 2007 För PC Word och PowerPoint

Manual för Autostart Speed Control

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Styrteknik: E-Designer och E-1000

Antares Användning och installation

Sekvensnät Som Du kommer ihåg

EV3 Roboten. Sida 1 av 13

MaxxECU MDash Android App

Roboten. Sida 1 av 11

Laboration 2 i Styrteknik

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

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

Gränssnitt för FakeGranska. Lars Mattsson

Tentamen i Digitalteknik, EITF65

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Smart Rogic Manual. Robostick Manual

Välkommen till. Styrteknik grundkurs

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Försättsblad till skriftlig tentamen vid Linköpings universitet

Digitalteknik: CoolRunner-II CPLD Starter Kit

Industriella styrsystem, TSIU04. Föreläsning 1

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

Styrteknik: Grundläggande logiska funktioner D2:1

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Instruktion Programmeringsapp och gränssnitt

Lego Robot [ ] [ ] [ ]

Laboration Fuzzy Logic

Installation av fjärrströmbrytare HE842, HE843 och HE862(2).

PNSPO! Tips! CP1W-AD och DA. 14 mars 2012 OMRON Corporation

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

Kodlås. Kopplingsschema över kodlåset PAL-18

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Tentamen i Digitalteknik 5p

Industriella Styrsystem Övningskompendium

Transkript:

LOGIKSTYRNING/18/2: Laboration Figur 1: Tågbanan 1 Uppgiften En programmerbar logik (PLC) skall programmeras för ett transportör-problem med en transportör (tåg) och ett antal stationer (se figur 1). Vid varje station finns en ljussensor och tåget styrs genom två signaler: KÖR och BYT RIKTNING. Det finns åtta versioner av uppgiften, givna i tabell 1. Tåget skall köra en bestämd rutt (t.ex. A B C( A o.s.v.) i version 1) och stanna vid varje station i 2 s. Förutom dessa tre stationer finns det en fjärde station (station D i version 1), som tåget skall köra till efter en knapptryckning (exempelvis knapp D). Tåget skall sedan vänta vid denna specialstation tills användaren trycker på en startknapp. Efter det skall tåget först köra till station A och sedan börja köra sin normala rutt. Dessutom skall lampan i specialknappen tändas då användaren trycker på knappen och den skall lysa ända tills tåget når specialstationen. Praktiskt tips: Hantering av specialknappen görs enklast genom att definiera ett skilt tillstånd som kommer ihåg att vi har tryckt på knappen. Detta tillstånd behöver inte komma med i tillståndsgrafen, utan det hanteras som en insignal, i stället för knappens insignal. Man kan och får då skjuta upp hanteringen av specialknappen tills det är mest 1

Version Sekvens Specialstation 1 A B C D 2 A C B D 3 A B D C 4 A D B C 5 A B E D 6 A E B D 7 A B D E 8 A D B E Tabell 1: Versionerna ändamålsenligt och enkelt att hantera, man måste inte genast rusa till specialstationen (utan att bry sig om passagerarna/godset som man för tillfället transporterar). Bonus: De som vill ha extra utmaning kan låta systemet kontrollera om spåret mellan stationerna B och D är blockerat (d.v.s. ljussensor 7 ger signal) innan tåget kör den vägen. Ifall spåret är blockerat skall tåget köra via station A. Uppgiften utförs i grupper av 1-2 personer. För att göra arbetet smidigare är labbuppgiften uppdelad i en teoretisk och en praktisk del. Gruppen lämnar in en gemensam lösning till den teoretiska delen. När denna har godkänts av assistenten får gruppen börja med den praktiska delen, d.v.s. att programmera PLCn. Assistenten ger vid behov närmare anvisningar. Individuella labbrapporter fordras efter slutförd laboration. Labbrapporten skall innehålla en utförlig beskrivning av programmets funktion, inklusive det som behandlats i den teoretiska delen med ändringar och tillägg. Teoretisk del: a. Planera ett styrsystem för processen. Konstruera en tillståndsgraf och en primitiv tillståndstabell från vilken alla omöjliga insignalkombinationer har lämnats bort. Reducera tillståndstabellen om det är möjligt. b. Bestäm de booleska uttryck som beskriver systemet. c. Konstruera ett kontaktdiagram för systemet. Praktisk del: d. Programmera PLCn vid Laboratoriet för reglerteknik enligt den erhållna tillståndsgrafen. Då programmet fungerar enligt de uppställda specifikationerna demonstreras programmets funktion för assistenten. 2

2 Översikt av en programmerbar logik-enhet Laboratoriet för reglerteknik har en SLC 500 programmerbar logik av märket Allen- Bradley. Den har en SLC 5/03 OS 302 processormodul med 12 kb programminne (totalt 16 kb), en digital inputmodul med 16 ingångar, en digital outputmodul med 16 utgångar, två analoga inputmoduler med 4 ingångar var och en analog outputmodul med 4 utgångar. I denna tillämpning används endast de digitala modulerna. Minnet i SLC 5/03 har delats in i ett antal minnesregister för olika ändamål, t.ex. B3: (bit data), T4: (timer), C5: (counter), I: (input), O: (output). En digital input-enhet i PLCn fungerar så att den lagrar en bit (0/1) i minnet beroende på om en input-kanal är utsatt för en bestämd spänning (10 V) eller inte. Bitregistret B3: är indelat i 256 stycken 16 bitars ord. De enskilda bitarnas adresser ges enligt formen B3:o/b, där o anger ordets nummer (0 till 255) och b bitens nummer (0 till 15). PLCn är kopplad till en PC, som används för programmering. PLCn har tre lägen: PROGram, RUN och REMote. I Remote-läget kan PLCns operation styras från PCn, och man kan också följa med programmets exekvering i realtid från PCn. I detta arrangemang finns det 12 insignaler till PLCn och 11 utsignaler till tåget, växlarna och lamporna i knapparna. PLCn har 7 stycken modulportar, av vilka port 0 alltid är reserverad åt processormodulen. Outputmodulen är i detta fall satt i modulport 1 och inputmodulen i port 2. Intresserade kan hitta mera information på www.ab.com/programmablecontrol/plc/ slcsystem. Transformatorn som styr tåget är kopplad till PLCn via två releär, en för att köra / stanna och en för att ge riktningsbytessignal till tåget. Tåget byter riktning genom att ge en åtminstone 200 ms lång signal till O:1/2, och under den tiden kommer tåget även att stanna. Om båda reläerna är på, kommer BYT RIKTNING att vara signalen som vinner. Minnesadresser för in- och utsignalerna finns i tabellerna 2 och 3. Insignal Ljussensor 1 Ljussensor 2 Ljussensor 3 Ljussensor 4 Ljussensor 5 Ljussensor 6 Ljussensor 7 Knapp A Knapp B Knapp C Knapp D Knapp E Adress I:2/1 I:2/2 I:2/3 I:2/4 I:2/5 I:2/6 I:2/7 I:2/11 I:2/12 I:2/13 I:2/14 I:2/15 Tabell 2: Insignalerna 3

Utsignal Adress Värden Kör O:1/1 0 = Stå 1 = Kör Byt riktning O:1/2 1 = Ge riktningsbytessignal a Ljus i knapp A O:1/4 0 = Av 1 = På Ljus i knapp B O:1/5 0 = Av 1 = På Ljus i knapp C O:1/6 0 = Av 1 = På Ljus i knapp D O:1/7 0 = Av 1 = På Ljus i knapp E O:1/8 0 = Av 1 = På Växel 1 O:1/11 0 = Rakt 1 = Åt sidan Växel 2 O:1/12 0 = Rakt 1 = Åt sidan Växel 3 O:1/13 0 = Rakt 1 = Åt sidan Växel 4 O:1/14 0 = Rakt 1 = Åt sidan a Måste vara åtminstone 200 ms lång, helst längre. Tabell 3: Utsignalerna 3 Kort presentation av programmeringsspråket Den ovan beskrivna PLCn programmeras med hjälp av programmeringsverktyget RSLogix 500 för Windows. Programmet matas in som ett kontaktdiagram (e. ladder diagram). Ett kontaktdiagram är ett slags grafiskt programmeringsspråk med ett bibliotek av färdiga logiska rutiner, matematiska funktioner, samt input- och output-instruktioner. De logiska villkoren med vilka programmets funktionssätt beskrivs matas in i form av ett antal förgrenade vågräta linjer ( stegpinnar, e. rung) med de behövliga instruktionerna. Programmet har ett grafiskt användargränssnitt och normala editeringsfunktioner som Copy/Paste och drag-and-drop. I det följande genomgås endast de viktigaste instruktionerna som kan användas vid sekvensstyrningsproblemets lösning. Mera information om instruktionerna finns i manualen och online-hjälpen till RSLogix 500. Examine if Closed (XIC) Examine if Open (XIO) XIC-instruktionen undersöker om biten i argumentadressen är 1. XIC sätter utgången till 1 om villkoret är sant, och till 0 om villkoret är falskt. XIO-instruktionen undersöker om biten i argumentadressen är 0. XIO sätter utgången till 1 om villkoret är sant, och till 0 om villkoret är falskt. Less Than (LES) LES-instruktionen jämför de två aritmetiska värdena (A och B) i adresserna, som ges som dess input-argument. LES sätter utgången till 1 om villkoret A < B är sant, och till 0 om villkoret är falskt. 4

One-Shot Rising (OSR) Output Energize (OTE) Instruktionerna efter OSR-instruktionen exekveras en gång när instruktionerna före OSR går från falskt till sant. Kräver en unik minnesbit som argument. OTE är en output-instruktion som sätter biten i argumentadressen till 1 om input-värdet till modulen är 1. OTE sätter argumentadressen till 0 om input-värdet till modulen är 0. Output Latch (OTL) OTL-instruktionen motsvarar kontaktdiagrammets SET-funktion. OTL sätter biten i argumentadressen till 1 om input-värdet till modulen är 1, men i motsats till OTE sätter OTL inte argumentadressen till 0 om input-värdet till modulen blir 0. Output Unlatch (OTU) OTU-instruktionen motsvarar kontaktdiagrammets RESET-funktion. OTU sätter biten i argumentadressen till 0 om input-värdet till modulen är 1. En RS-vippa åstadkoms genom att låta en OTL och en OTU operera på samma bit. Timer On-Delay (TON) TON-instruktionen sätter Timer-Done-utgången (DN) till 1 efter att den har väntat en bestämd tid (PRE). Timern startar räknandet då input-värdet till modulen övergår från 0 till 1 och räknandet upphör om räknarens accumulerade värde (ACC) är lika med den totala väntetiden (PRE) eller om input-värdet till TON-modulen övergår till 0. Timer-Done blir noll efter att timerns ingång blir låg. Timer-Timing-biten (TT) är 1 alltid när TON räknar och inte har räknat upp till den totala väntetiden. Timer-Enable-biten (EN) är 1 alltid när TON räknar (oberoende om räknaren har räknat upp till totala väntetiden). Alla timer-funktionerna använder speciella register i minnet (t.ex. T4:0) för att lagra argument och räknarens mellanresultat. De enskilda bitarnas adresser är av formen T4:0/DN, T4:0/EN och T4:0/TT. 4 Anvisningar för programmering i praktiken 4.1 Att skapa ett nytt projekt: 1. Klicka på ikonen RSLogix 500. 2. Välj New från File-menyn. 3. Programmet frågar nu vilken typ av PLC du tänker programmera, som alltså var SLC 5/03 OS 302. 5

4. Tre fönster hoppar fram. Det vänstra visar projektträdet och det högra visar kontaktdiagrammet. Ovanför diagramfönstret finns en meny med alla instruktionsmodulerna. 5. Dubbelklicka på I/O Configuration i projektträdet och tryck på Read I/O Config så att PCn får veta vilka moduler PLCn har. 6. Placera ut symbolerna i diagramfönstret. 7. Välj Comms > Download från menyn eller klicka uppe till vänster där det står Offline. Ifall det finns fel i programmet öppnas ett nytt fönster som anger var felet finns och felets natur. Kill the bugs och tryck igen på Comms > Download. När programmet frågar Change to program mode?, svara Yes. När programmet frågar Change to run mode?, svara Yes. När programmet frågar Do you want to go online?, svara Yes. 8. PLCn börjar nu exekvera programmet. Registrenas värden kan observeras och vid behov modifieras från projektträdet. När du vill göra ändringar i programmet kan du göra det antingen i online-mode eller i offline-mode. För offline-editering, välj Comms > Offline. När du gjort ändringarna måste du ladda ner programmet på nytt. I online-mode kan du ändra på en koppling genom att välja Edit > Start Rung Edits. När editeringen är färdig välj Edit > Accept Rung. Kopplingen testas med Test Edits och läggs till med Assemble Edits. Kommandona är också tillgängliga genom ett höger-klick. 4.2 Några råd Win95 är mycket instabilt, så Save early, save often. Det lönar sig att hela tiden ha PLCns nyckel i REMote-positionen, så att man inte behöver vrida på nyckeln när man skriver och testar programmet. För att underlätta programmeringen kan man namnge de olika minnesplatserna. När du har ett instruktion med en adress kan du helt enkelt aktivera instruktionen (genom att klicka på den) och skriva in namnet som du vill att adressen skall ha. I fortsättningen behöver du bara skriva namnet och programmet sätter in adressen automatiskt. Namn/address-referenser kan också modifieras i Address/Symbolfönstret som kan öppnas från projektträdet. Man kan också sätta in kommentarer i kontaktdiagrammet, vilket gör det mer lättläst. I kontaktdiagrammet måste alla Output Latch-instruktioner komma efter varandra i en klunga, därefter alla Output Unlatch-instruktioner. Orsaken till detta är att det annars finns en risk för att det sker en övergång från det nuvarande tillståndet innan 6

en övergång till följande tillstånd. Resultatet är att systemet plötsligt inte befinner sig i något tillstånd alls. Det har då och då förekommit ett sådant fel i systemet, att Märklin-transformatorn inte ger tillräckligt med spänning för BYT RIKTNING-signalen, och att tåget istället för att byta riktning kör framåt hårdare är någonsin. Om sådant händer, lönar det sig att stänga av hela PLCn och vänta en stund. Orsaken till detta är okänd. Stäng av systemet (PLC och de två transformatorerna) när du slutar jobba genom att vrida på brytaren brevid PLCn. Viktigt: Eftersom systemet inte från början vet i vilken riktning tåget kommer att köra, behövs ett initialiseringstillstånd. Detta kan åstadkommas t.ex. genom att låta tåget köra ända tills det kommer till en ändstation. Då vet man både var tåget befinner sig, och vilken riktning den för tillfället kör. 7