Simulacija PLC kontolera pomou PIC 16 F 877

  • Slides: 47
Download presentation
Simulacija PLC kontolera pomoću PIC 16 F 877 mikrokontrolera Aleksandar Gošić 11486 Aleksandar Lakićević

Simulacija PLC kontolera pomoću PIC 16 F 877 mikrokontrolera Aleksandar Gošić 11486 Aleksandar Lakićević 11523

UVOD Smisao ovog zadatka je da se pomoću PIC 16 F 877 mikrokontrolera simulira

UVOD Smisao ovog zadatka je da se pomoću PIC 16 F 877 mikrokontrolera simulira rad programabilnog logičkog kontrolera (PLC). Za pisanje koda koristili smo kompajler mikro. C, a za upis koda u mikrokontroler koristili smo mikro. Bootloader, produkte firme Mikro. Elektronika iz Beograda.

PLC - industrijski računar čiji su hardver i softver posebno prilagođeni radu u industrijskim

PLC - industrijski računar čiji su hardver i softver posebno prilagođeni radu u industrijskim uslovima, a koji se može lako programirati i ugrađivati u nove i postojeće industrijske sisteme. PLC - digitalni elektronski uređaj koji poseduje programabilnu memoriju za smeštanje instrukcija kojima se realizuju specifične funkcije, kao što su logičko sekvenciranje, tajming, brojanje i artimetičke operacije, a u cilju upravljanja različitim mašinama i procesima putem digitalnih ili analognih ulazno/izlaznih modula

PLC sistem Na narednim slajdovima biće, u obliku blok dijagrama, prikazane četiri osnovne jedinice

PLC sistem Na narednim slajdovima biće, u obliku blok dijagrama, prikazane četiri osnovne jedinice svakog PLC sistema kao i načina na koji su medusobno povezane:

PLC sistem 1. Centralna procesorksa jedinica (CPU) ili logička jedinica a. Mikroprocesor. b. Memorija

PLC sistem 1. Centralna procesorksa jedinica (CPU) ili logička jedinica a. Mikroprocesor. b. Memorija – za cuvanje sistemskog softvera i korisnickog programa c. Izvor napajanja - obezbeduje napajanje mikroprocesora, memorije, ulaznog i izlaznog modula.

PLC sistem 2. 3. 4. Programator/Monitor (PM). U/I moduli. Rekovi i šasije. PLC sistem

PLC sistem 2. 3. 4. Programator/Monitor (PM). U/I moduli. Rekovi i šasije. PLC sistem

Programiranje PLC-a. Ladder dijagrami Kao što je već ranije istaknuto, PLC je početno razvijen

Programiranje PLC-a. Ladder dijagrami Kao što je već ranije istaknuto, PLC je početno razvijen sa idejom da zameni relejne sisteme. To znači da se očekivalo da on realizuje odgovarajuću vremensku sekvencu logičkih operacija. Pored toga, uspešna primena PLC-a u praksi, zahtevala je i da se njegovo programiranje prilagodi tehnici koja je svim korisnicima relejnih sistema dobro poznata. Iz svih ovih razloga, za projektovanje PLCova razvijen je programski jezik zasnovan na leder (lestvičastim) dijagramima – leder programski jezik.

Programiranje PLC-a. Ladder dijagrami Jedan prostiji primer ladder dijagrama je prikazan na sledećoj slici.

Programiranje PLC-a. Ladder dijagrami Jedan prostiji primer ladder dijagrama je prikazan na sledećoj slici. Primer ladder dijagrama

Programiranje PLC-a. Ladder dijagrami Kao što se vidi sa slike, ladder dijagram se sastoji

Programiranje PLC-a. Ladder dijagrami Kao što se vidi sa slike, ladder dijagram se sastoji od uslova funkcije sa leve strane i akcije sa desne strane. Osnovni tipovi uslova (bit naredbe za definiasanje uslova) su normalno otvoren prekidač( ) i normalno zatvoren prekidač ( ). Pomoću njih je moguće realizovati sve osnovne logičke funkcije o čemu će biti reči kasnije. Simbol za akciju je ( ) i ona se izvršava ako je iskaz (uslov) na levoj strani dijagrama istinit.

Projektni zadatak Kao što smo već napomenuli zadatak ovog projekta je bio da se

Projektni zadatak Kao što smo već napomenuli zadatak ovog projekta je bio da se pomoću mikrokontrolera simulira rad PLC-a, tako što bi sa jedne strane bili prekidači povezani na ulaz kontrolera, a sa druge strane na izlazu kontrolera LED diode za indikaciju stanja. Osnovne kombinacione funkcije su opisane u softveru a njihovim pozivanjem realizuju se kompletne složene funkicije.

Projektni zadatak Za realizaciju ovog simulatora upotrebljene su sledeće komponente: n n n n

Projektni zadatak Za realizaciju ovog simulatora upotrebljene su sledeće komponente: n n n n mikrokontroler PIC 16 F 877 kao centralna procesorska jedinica; MAX 232 sa propratnim interfejsom za serijsku komunikaciju sa računarom putem koje se vrši programiranje kontrolera; klik-klak prekidači koji definišu logičke ulaze kontrolera (visok ili nizak nivo na ulazu kontrolera ); LED diode za indikaciju logičkih stanja na izlazu kontrolera; 74 HC 241 drajver za poduđivanje LED dioda; RESET kolo za vraćanje kontrolera na početno stanje (resetovanje); blok za napajanje sa stabilizatorom napona na 5 V.

Projektni zadatak Na sledećim slikama su prikazane blok šema celog sistema kao i šema

Projektni zadatak Na sledećim slikama su prikazane blok šema celog sistema kao i šema štampane ploče odnosno PCB-a koje su izrađene u programskom paketu DXP korišćenjem programa Protel 2004.

Blok šema komletnog sistema Blok šema kompletnog sistema

Blok šema komletnog sistema Blok šema kompletnog sistema

Štampana ploča Izgled štampane ploče sistema

Štampana ploča Izgled štampane ploče sistema

PLC simulator Realizovani PLC simulator

PLC simulator Realizovani PLC simulator

MIKROC – Softver za programiranje PIC mikrokontrolera mikro. C prestavlja moćan softverski alat, koji

MIKROC – Softver za programiranje PIC mikrokontrolera mikro. C prestavlja moćan softverski alat, koji je razvila beogradska Mikro. Elektronika, i namenjen je pisanju koda za MICROCHIP-ove PIC mikrokontrolere. Koristeći mikro. C, programeru je omogućen jednostavan način da kontroliše proces programiranja i napravi kvalitetan firmware.

MIKROC – Softver za programiranje PIC mikrokontrolera Nadalje će biti opisana instalacija mikro. C

MIKROC – Softver za programiranje PIC mikrokontrolera Nadalje će biti opisana instalacija mikro. C softvera i editovanje koda u njemu.

Instalacija

Instalacija

Editovanje koda

Editovanje koda

Editovanje koda

Editovanje koda

Učitavanje HEX fajla u mikrokontroler – Programiranje mikrokontrolera Hex fajl koji izgeneriše mikro. C

Učitavanje HEX fajla u mikrokontroler – Programiranje mikrokontrolera Hex fajl koji izgeneriše mikro. C na svom izlazu se učitava u mikrokontoler preko mikro. Bootloadera što je nadalje opisano:

Učitavanje HEX fajla u mikrokontroler Kada je program mikro. Bootloader pokrenut potrebno je podesiti

Učitavanje HEX fajla u mikrokontroler Kada je program mikro. Bootloader pokrenut potrebno je podesiti RS-232 komunikaciju biranjem opcije Setup Port na način prikazan na sledećoj slici:

Učitavanje HEX fajla u mikrokontroler Pošto je sve to obavljeno neophodno je resetovati mikrokontroler

Učitavanje HEX fajla u mikrokontroler Pošto je sve to obavljeno neophodno je resetovati mikrokontroler pritiskom na taster predviđen za reset i u roku od dve sekunde inicirati konekciju pritiskom na opciju Connect. Ako je konekcija uspešno obavljena pojaviće se prozor kao na sledećoj slici: Ukoliko se ne pojavi dati prozor potrebno je ponoviti postupak konektovanja iz početka

Učitavanje HEX fajla u mikrokontroler Ako je konekcija uspešno izvršena potrebno je učitati već

Učitavanje HEX fajla u mikrokontroler Ako je konekcija uspešno izvršena potrebno je učitati već izgenerisani HEX fajl sa zadatom funkcijom, biranjem opcije Open HEX file kao na sledećim slikama:

Učitavanje HEX fajla u mikrokontroler Na kraju treba startovati učitavanje hex fajla pritiskom na

Učitavanje HEX fajla u mikrokontroler Na kraju treba startovati učitavanje hex fajla pritiskom na dugme ”Start bootloader”. Posle ušitavanja hex fajla potrebno je resetovati kontroler.

Realizacija softvera - Realizacija zadate kombinacione funkcije Dole navedene proste kombinacione funkcije su opisane

Realizacija softvera - Realizacija zadate kombinacione funkcije Dole navedene proste kombinacione funkcije su opisane u mikro. C-u i permanentno učitane u mikrokontoler kako bi mogle da se pozivaju i pomoću njih realizuju zadate složene funkcije: n AND 2 - dvoulazno „I“ kolo; n AND 3 – trulazno „I“ kolo; n OR 2 – dvoulazno „ILI“ kolo; n OR 3 – troulazno „ILI“ kolo; n XOR – „ekskluzivno ILI“ kolo; n NOT – Invertor.

Realizacija softvera - Realizacija zadate kombinacione funkcije Ispod su navedeni delovi koda u kome

Realizacija softvera - Realizacija zadate kombinacione funkcije Ispod su navedeni delovi koda u kome su opisane date funkcije u mikro. C kompajleru koje zapravo predstavljaju osnovna logička kola digitalne elektronike kao i njihovi odgovarajući simboli sa leve strane i ekvivalenti simboli ladder dijagrama sa desne strane:

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Opis logičkih funkcija

Transformacija ladder dijagrama u mikro. C kod Primer : Na osnovu zadatog ladder dijagrama

Transformacija ladder dijagrama u mikro. C kod Primer : Na osnovu zadatog ladder dijagrama sa naredne slike isprogramirati kontroler da obavlja datu kombinacionu funkciju.

Transformacija ladder dijagrama u mikro. C kod Prvi korak je transformisanje ladder dijagrama u

Transformacija ladder dijagrama u mikro. C kod Prvi korak je transformisanje ladder dijagrama u dijagram logičkih funcija (digitalne elektornike). Najpre je potrebno uočiti segmente ladder dijagrama koji se direktno mogu zameniti ekvivalentnom logičkom funkcijom kao što je prethodno objašnjeno. Sledeće slike iliustruju kako se od zadatog ladder diajagrama sa prethodne slike prelazi na dijagram osnovnih logičkih funkcija, korak po korak.

Transformacija ladder dijagrama u logičku šemu Transformacija prve lestvice ladder dijagrama u logičku šemu

Transformacija ladder dijagrama u logičku šemu Transformacija prve lestvice ladder dijagrama u logičku šemu

Transformacija ladder dijagrama u logičku šemu Transformacija druge lestvice ladder dijagrama u logičku šemu

Transformacija ladder dijagrama u logičku šemu Transformacija druge lestvice ladder dijagrama u logičku šemu

Transformacija ladder dijagrama u logičku šemu Transformacija treće lestvice ladder dijagrama u logičku šemu

Transformacija ladder dijagrama u logičku šemu Transformacija treće lestvice ladder dijagrama u logičku šemu

Transformacija ladder dijagrama u logičku šemu Pošto su prethodno ilustrovane lestvice ladder dijagrama povezene

Transformacija ladder dijagrama u logičku šemu Pošto su prethodno ilustrovane lestvice ladder dijagrama povezene paraleleno, zaključu je se da su sve logičke šeme povezane u jedno troulazno “ILI” kolo, pa se na taj način dobija kompletna logička funkcija kao na sledećoj slici, koja je potpuno ekvivalentna ladder dijagramu sa početne slike. Izlaz A date konbinacione funkcije odgovara akciji A sa početne slike.

Transformacija ladder dijagrama u mikro. C kod Drugi korak predstavlja transformaciju dobijene logičke šeme

Transformacija ladder dijagrama u mikro. C kod Drugi korak predstavlja transformaciju dobijene logičke šeme u mikro. C kod za programiranje kontrolera. Sada je najpre potrebno obeležiti interne signale kao što je prikazano na sledećoj slici da bi se u kodu omogućilo spajanje dobijenih logičkih funkcija.

Transformacija ladder dijagrama u mikro. C kod Formiranje potrebnog koda na osnovu ovako dobijene

Transformacija ladder dijagrama u mikro. C kod Formiranje potrebnog koda na osnovu ovako dobijene funkcije se vrši na sledeći način: Prvo je neophodno definisati sve interne promenljive, što je predstaljeno u narednom delu koda: /*Deklarisanje neophodnih promenljivih*/ /*Ovaj deo koda je prilagodljiv korisnickim potrebama*/ volatile char a, b, c, d, e, f, b 1, d 1, f 1, i, j, k; /*Do ovog dela kod je prilagodljiv korisnickim potrebama*/

Transformacija ladder dijagrama u mikro. C kod Nakon toga je potrebno ulazne signale (In

Transformacija ladder dijagrama u mikro. C kod Nakon toga je potrebno ulazne signale (In 1 do In 8, koji su osetljivi na promene stanja ulaznih pinova kontrolera) povezati sa internim signalima koji predstavljaju ulaze u logička kola prvog nivoa što je prikazano u sledećem delu koda: b. f 0=In 1; c. f 0=In 2; d. f 0=In 3; e. f 0=In 4; f. f 0=In 5;

Transformacija ladder dijagrama u mikro. C kod Sledeći korak je povezivanje pojedinačnih logičkih kola

Transformacija ladder dijagrama u mikro. C kod Sledeći korak je povezivanje pojedinačnih logičkih kola tako da se formira kompletna zadata logička šema što prikazuje sledeći deo koda: b 1. f 0=INV(b. f 0); d 1. f 0=INV(d. f 0); f 1. f 0=INV(f. f 0); i. f 0=AND 3(b 1. f 0, c. f 0, d 1. f 0); j. f 0=AND 3(b 1. f 0, c. f 0, e. f 0); k. f 0=AND 3(b 1. f 0, c. f 0, f 1. f 0); a. f 0=OR 3(i. f 0, j. f 0, k. f 0);

Transformacija ladder dijagrama u mikro. C kod Bitno je da redosled pozivanja funkcija odgovara

Transformacija ladder dijagrama u mikro. C kod Bitno je da redosled pozivanja funkcija odgovara nivoima logičkih funkcija tj. da de prvo obradi prvi nivo, pa drugi i tako redom do zadnjeg nivoa logičkih kola što se vidi iz gore navedenog koda. Na kraju je potrebno interne signale sa izlaza logičkih kola zadnjeg nivoa povezati sa izlaznim signalima (Out 1 do Out 8, koji pobuđuju izlazne pinove kontolera) što u ovom slučaju predstavlja sledeći deo koda: Out 1=a. f 0; Na ovaj način se dobijaju sledeći delovi koda koje treba ugraditi u kompletan softver za programiranje kontolera.

Deo mikro. C koda /*Deklarisanje neophodnih promenljivih*/ /*Ovaj deo koda je prilagodljiv korisnickim potrebama*/

Deo mikro. C koda /*Deklarisanje neophodnih promenljivih*/ /*Ovaj deo koda je prilagodljiv korisnickim potrebama*/ volatile char a, b, c, d, e, f, b 1, d 1, f 1, i, j, k; /*Do ovog dela kod je prilagodljiv korisnickim potrebama*/ /*Zadavanje konkretne slozene funkcije*/ /*Ovaj deo koda je prilagodljiv korisnickim potrebama*/ b. f 0=In 1; c. f 0=In 2; d. f 0=In 3; e. f 0=In 4; f. f 0=In 5; b 1. f 0=INV(b. f 0); d 1. f 0=INV(d. f 0); f 1. f 0=INV(f. f 0); i. f 0=AND 3(b 1. f 0, c. f 0, d 1. f 0); j. f 0=AND 3(b 1. f 0, c. f 0, e. f 0); k. f 0=AND 3(b 1. f 0, c. f 0, f 1. f 0); a. f 0=OR 3(i. f 0, j. f 0, k. f 0); Out 1=a. f 0; /*Do ovog dela kod je prilagodljiv korisnickim potrebama*/

Transformacija ladder dijagrama u mikro. C kod Bitno je zapaziti da su definisane promenljive

Transformacija ladder dijagrama u mikro. C kod Bitno je zapaziti da su definisane promenljive tipa char, što znači da one zauzimaju memoriju veličine 1 bajt (8 bitova), pošto je u ovom kompajleru nemoguće definisati promenljivu tipa bit (kakva bi u ovom slučaju odgovarala jer su svi signali jedno-bitni). Da ne bi došlo do kolizije, neophodno je u označenom delu koda, svakoj promenljivoj dodati eksteziju “. fo” što označava da se primenjene operacije izvršavaju samo nad njenim prvim bitom čime je ostvarena kompatibilnost između realnih signala i promenljivih koje su im dodeljene, kao što je prikazano u gore navedenom delu koda. Kada je potrebno realizovati odgovarajuću zadatu funkciju u gore navedenom kodu je potrebno zameniti samo one delove koda koji su obeleženi kao “delovi koda prilagodljivi korisničkim potrebama”.

Biografije autora:

Biografije autora: