Danas dijelim praktičan članak koji će vam pomoći razumjeti kako izgleda savršen PLC program i pruža standarde PLC programiranja i prijedloge za praktičan rad.
Zahtjevi dizajna za savršen PLC program:
Cjeloviti PLC program nije samo pokretanje sustava; također zahtijeva potpune komentare, dobro-strukturiranu arhitekturu, dobru skalabilnost, sveobuhvatan alarmni i zaštitni sustav te-sustav simulacije prije pokretanja.
1. Jednostavnost
Učinite PLC program što jednostavnijim. Jednostavnost znači korištenje standardiziranog okvira programa i jednostavnih uputa. Općenito govoreći, to uključuje optimizaciju strukture programa i pojednostavljenje programa s uputama za kontrolu toka. Točnije, to znači zamjenu pojedinačnih-funkcijskih instrukcija moćnijima i obraćanje pozornosti na redoslijed instrukcija.
2. Čitljivost
Dizajnirani program treba biti vrlo čitljiv. Ovo ne samo da pomaže programeru da bolje razumije program i olakšava otklanjanje pogrešaka, već ga i drugima čini lakšim za razumijevanje i korisnicima za održavanje. Također bi trebao olakšati širenje programa kada je to potrebno.
Kako bi se osigurala dobra čitljivost, dizajn programa trebao bi biti što jasniji. Obratite pozornost na hijerarhiju i modularnost, čak i korištenjem objektno{1}}orijentiranih metoda dizajna. Koristite standardne prakse dizajna što je više moguće.
Ako se programski jezici koriste u posebnim slučajevima, u većini slučajeva treba koristiti ljestvičaste dijagrame radi lakše čitljivosti. Dodjela I/O treba biti sustavna radi lakšeg pamćenja i razumijevanja. Dodajte komentare kada je potrebno. Korištenje unutarnjih komponenti također treba biti sustavno; izbjegavajte ih nasumično koristiti.
Čitljivost treba uzeti u obzir od početka dizajna programa. To nije lako u potpunosti postići, jer tijekom otklanjanja pogrešaka programa, dodavanje ili uklanjanje uputa i promjena u korištenju internih komponenti mogu izvorno jasan program učiniti pomalo neurednim. Stoga dopustite prilagodbe tijekom otklanjanja pogrešaka u fazi projektiranja, a zatim pospremite nakon uklanjanja pogrešaka. To će rezultirati kvalitetnijim programom.
Komentari programa trebali bi uključivati barem sljedeće:
A. Komentari sustava: Nositelj autorskih prava i svrha cijelog programa; B. Komentari bloka: Glavna svrha i autor bloka; C. Komentari segmenta: Svrha segmenta koda; D. Varijabilni komentari: Važnost -očigledna, uključujući I/O komentare i međukomentare varijabli. Što se tiče pitanja povjerljivosti, njima se treba pozabaviti algoritmom šifriranja ili blok enkripcijom programa, a ne smanjenjem komentara.
3. Ispravnost
PLC program mora biti ispravan i provjeren kroz stvarni rad kako bi se dokazala njegova ispravna funkcija. Ovo je najosnovniji zahtjev za PLC program; ako se to ne postigne, ma koliko drugi aspekti bili dobri, beskorisni su.
Kako bi se osigurala ispravnost programa, upute i interni uređaji moraju se koristiti točno. Točna uporaba uputa povezana je s njihovim točnim razumijevanjem; stoga se značenje i uvjeti uporabe uputa moraju temeljito razumjeti. Ako je potrebno, mogu se napisati mali programi za testiranje nekih nejasnih uputa.
Za istu uputu, zbog razlika u proizvodnim serijama PLC-a ili serijskim modelima, neki detalji uputa mogu varirati. Treba pažljivo proučiti priručnik za programiranje.
Važna je i pravilna uporaba unutarnjih uređaja. Na primjer, neki PLC-ovi imaju-zaštitu od isključenja napajanja, dok drugi nemaju. Neophodno je osigurati da se koriste uređaji koji zahtijevaju-zaštitu od isključenja napajanja, i obrnuto.
Ukratko, najtemeljniji zahtjev za PLC programe je točno korištenje uputa i ispravno korištenje unutarnjih komponenti kako bi se osiguralo da se programirani program ispravno izvršava.
Za jednostavan primjer, Siemensovi PLC-ovi zahtijevaju varijable s funkcijom pohranjivanja kao srednje varijable za rastuće i padajuće rubove, kao što su M-točke ili DB-točke. Korištenje FC-ove varijable temp uzrokovalo bi probleme.
4. Pouzdanost
Programi moraju biti ne samo ispravni nego i pouzdani. Pouzdanost odražava stabilnost PLC programa, što je također osnovni zahtjev.
Neki PLC programi rade ispravno u normalnim radnim uvjetima ili tijekom legalnih operacija, ali ne funkcioniraju ispravno u neuobičajenim radnim uvjetima (kao što je privremeni prekid napajanja nakon kojeg slijedi brza obnova napajanja) ili nakon ilegalnih operacija (kao što je pritiskanje gumba izvan niza ili pritiskanje nekoliko gumba istovremeno). Takvi programi su nepouzdani, nestabilni ili loše dizajnirani.
Dobri PLC programi mogu prepoznati nenormalne radne uvjete i neprimjetno ih integrirati s normalnim uvjetima, omogućujući programu da se prilagodi različitim situacijama. Dobar PLC program može odbiti ilegalne operacije bez ostavljanja ikakvog "traga", prihvaćajući samo legalne operacije.
Blokiranje je uobičajena metoda za odbijanje ilegalnih operacija; relejni krugovi često koriste ovu metodu, a PLC-ovi također mogu naslijediti ovaj pristup.
5. Jednostavnost izmjene
Program bi se trebao lako mijenjati. Jedna od karakteristika PLC-a je njegova pogodnost i fleksibilnost u prilagodbi različitim situacijama. To se postiže modificiranjem ili redizajniranjem programa.
Redizajniranje programa koristi se kada je potrebno promijeniti zahtjeve aplikacije PLC procesa. Ne samo da je program ponovno napisan, već se I/O također treba preraspodijeliti. U većini slučajeva ponovno pisanje programa nije potrebno; dovoljne su manje izmjene. To zahtijeva da se program lako mijenja.
Lakoća modifikacije također znači fleksibilnost, zahtijevajući samo manje promjene da bi se postigla svrha mijenjanja parametara ili modificiranja radnji.
6. Proširivost
Mnogi programi mogu biti unaprijed-programirani prije postavljanja na web-mjesto, no možda će biti potrebno dodati dodatne programe na-site. Kako bi se izbjeglo ometanje ukupne strukture sustava, potrebno je rezervirati dovoljno prostora u svakom funkcionalnom području za rezervni hardver. Softver bi trebao biti dizajniran s ručnim, automatskim i polu-automatskim radom na umu, a prostor bi trebao biti dodijeljen u skladu s tim.
7. Sveobuhvatni alarmni sustav
PLC sustavi često se koriste u industrijskim okruženjima, gdje svaka nezgoda može uzrokovati gubitke, velike ili male. Kako bi se osigurala prevencija nesreće ili smanjili gubici tijekom nesreće, PLC-ove alarmne i zaštitne funkcije moraju biti naglašene. Stoga je to istaknuto kao važna komponenta sustava.
8. Simulacija programa
Kako bi se osigurao-napredak otklanjanja pogrešaka na licu mjesta ili za demonstracije korisnicima, često je potrebna potpuno automatska simulacija programa prije implementacije. To zahtijeva dodavanje odjeljka simulacijskog programa postojećem programu, koji se isključuje nakon normalnog rada na-licu mjesta. Da biste programu omogućili izvođenje simulacije, potrebni su sljedeći koraci:
(1) Pretvorite stvarne I/O točke PLC-a u srednje varijable ili varijable bloka podataka;
(2) Napišite simulacijske programe za svaki dio opreme prema zahtjevima procesa.
Dobrim PLC programom može se smatrati onaj koji ispunjava gore navedene zahtjeve.
Specifikacije programiranja PLC-a
1. Odaberite odgovarajući PLC model i broj I/O točaka. Odaberite posebne funkcionalne module za specifične funkcionalne zahtjeve.
2. Budite upoznati s odabranim uputama za programiranje PLC-a i softverom za kompilaciju.
3. Planirajte soft komponente, uključujući interne releje, releje za zadržavanje, registre podataka, mjerače vremena i brojače.
4. Planirajte program, općenito slijedeći redoslijed izdvajanja grešaka, rukovanja greškama, ručnog rukovanja, automatskog rukovanja i rukovanja izlazom. Veće projekte ili opremu treba podijeliti u funkcionalne jedinice, kao što su dizala, uređaji za prijenos i uređaji za podizanje/rotiranje u automatiziranoj proizvodnoj liniji. Oni bi trebali biti programirani u segmentima i blokovima u skladu s gornjom jediničnom strukturom.
5. Dodajte kratke komentare segmenta prije svakog segmentiranog ili blok-temeljenog programa, objašnjavajući njegovu funkciju. Ako je potrebno, označite odgovarajući tok procesa. Redoslijed segmentiranih ili blok-temeljenih programa unutar cjelokupnog programa općenito bi trebao slijediti slijed toka procesa radi čitljivosti.
6. Prije dizajna programa, opremu treba apstrahirati. Uobičajene čimbenike kao što su zaustavljanje, zaustavljanje u nuždi, preopterećenje, preko-ograničenje, vremensko ograničenje, sigurnosna svjetlosna zavjesa, zaustavljanje u slučaju sudara i prekidač na vratima treba izdvojiti i postaviti u-pokretni krug ili pokreta-glavni upravljački krug i sklop za zaključavanje. Ovo služi kao sveobuhvatna premisa cijele strukture programa. Na temelju toga, program je zatim podijeljen u dva glavna funkcionalna područja: automatsko i ručno.
7. Uobičajeni čimbenici u ručnom funkcionalnom području programske strukture, poput ručnog rada i čimbenika koji ugrožavaju opremu i osobnu sigurnost, trebaju biti izdvojeni i postavljeni u ručni glavni upravljački krug i sklop blokade radi zaštite, zaštite i alarma za ručno upravljanje.
8. Uobičajeni čimbenici u automatskom funkcionalnom području programske strukture, kao što je automatski rad, preko-ograničenje i čimbenici vremenskog ograničenja, trebaju se izdvojiti i smjestiti u automatski glavni upravljački krug i sklop za zaključavanje radi zaštite, zaštite i alarma za opremu pod automatskom kontrolom. Općenito načelo je strogo ograničiti ulazak opreme uz labavo ograničavanje izlaska opreme, čime se osigurava sigurnost.
9. Funkciju glavnog resetiranja treba osmisliti u programu kako bi se omogućilo brzo i jednostavno vraćanje normalnog rada opreme u slučaju kvara. Glavni reset trebao bi u potpunosti uzeti u obzir sigurnost opreme i osoblja tijekom procesa resetiranja.
10. Prilikom prebacivanja iz automatskog načina rada u ručni način rada, program treba obrisati izlaze i međustanja iz automatskog načina rada. Posebno kada koristite instrukciju SET u automatskom načinu rada, mora se izbrisati pomoću instrukcije RESET u ručnom načinu rada.
11. Dvostruki izlazi su strogo zabranjeni u programiranju; to jest, ista izlazna izjava ili ista izlazna zavojnica pojavljuju se dva ili više puta u programu. Za istu izlaznu točku pod različitim uvjetima načina rada, koristite srednji relej za prijenos i na kraju ih kombinirajte u jednu izlaznu točku.
12. Kada koristite zaslon osjetljiv na dodir, područje upravljanja i područje statusa koje dijele zaslon osjetljiv na dodir i PLC ne smiju se koristiti za druga funkcionalna programiranja.
13. Prije korištenja bilo kojeg posebnog PLC modula, provjerite zauzimaju li njegovo kontrolno područje i statusno područje radne riječi. Ako je tako, nemojte programirati ove radne riječi za druge svrhe.
14. PLC ulazi, izlazi, srednji releji, mjerači vremena, brojači i registri podataka moraju biti označeni kineskim znakovima. Ulazi i izlazi također moraju sadržavati nazive komponenti i brojeve oznaka. Odgovarajuće ulazne točke općenito su zadane kao NO kontakti povezani s vanjskim prekidačima. Za ulaze koji zahtijevaju NC kontakte, to mora biti navedeno u komentarima. Svi komentari trebaju biti jasni i nedvosmisleni, izbjegavajući nesporazume i minimizirajući korištenje generičkih pojmova.
15. Nakon što je otklanjanje pogrešaka projekta završeno, konačni softverski program mora se zadržati. Naziv spremljene datoteke treba sadržavati broj projekta, autora, datum i broj verzije.
16. Što se tiče enkripcije programa: Lozinka za šifrirani program mora biti pohranjena u namjenskoj datoteci, uz jasno naznačeno korisničko ime, lozinku i dopuštenja. Ovu datoteku treba podijeliti najmanje dvjema osobama da nauče lozinku i spriječe da program bude nedostupan zbog gubitka lozinke.
Prijedlozi za programiranje
1. Kada PLC i glavno računalo (ili ekran osjetljiv na dodir) formiraju sustav nadzora, ekran često treba prikazati načine upravljanja kao što su "ručni" i "automatski" (općenito, više načina može imati samo jedan). U programu se može koristiti instrukcija "MOV". Na primjer, kada je odabrano "ručno", konstanta 1 se premješta u registar VB10; kada je odabrano "automatski", 2 se premješta u isti registar VB10. Provjerom podataka u očevidniku može se odrediti način upravljanja sustavom. Prednost ovog pristupa je njegova lakoća razumijevanja i izbjegavanje potrebe za složenim postupcima kao što je međusobno blokiranje.
2. Kada program uključuje kontrolu analognog signala, ako očitani analogni signal nema praktički nikakvu grešku, vremensko filtriranje se može koristiti za odgodu ulaza. Ako očitani podaci imaju veliku pogrešku, potrebne su druge metode filtriranja, poput izračunavanja prosjeka. Dodatne informacije potražite u relevantnoj dokumentaciji.
3. Tijekom otklanjanja pogrešaka programa, ako je uvjet zadovoljen, ali izlazna zavojnica nije aktivirana, provjerite nalazi li se ovaj odjeljak vašeg programa unutar takvih izjava, kao što je `JUMP go to`. Druga je mogućnost da je nakon prekida programa uvjet ispunjen, ali nema izlaza; to obično znači da se ovaj dio programa ne skenira.
4. U sekvencijalnim upravljačkim programima, tj. kada je jedna radnja završena i sljedeća je pokrenuta, način upravljanja +10+10 je vrlo prikladan. Ideja je sljedeća: registar je unaprijed postavljen na 0 tijekom inicijalizacije. Nakon pokretanja sustava, povećava se za 10, dovodeći vrijednost registra na 10. S registrom na 10, može se izvesti prva akcija. Nakon prve radnje, registar se ponovno povećava za 10, dovodeći vrijednost registra na 20, dopuštajući izvođenje druge akcije. Nakon druge akcije, ponovno se povećava za 10, čime se vrijednost registra dovodi na 30. Na taj način se provjerom vrijednosti u registru može odrediti željena akcija. Kada je potrebna akcija skoka, povećanje se može promijeniti od 10 do 20, 30 itd., ovisno o specifičnim zahtjevima.
Zašto povećavati za 10 umjesto za 1? Budući da nakon povećanja za 10, ako segment treba umetnuti, može se umetnuti u bilo koji od 10 dostupnih utora.
5. Prilikom dizajniranja programa, ako se pojavi greška-povezana s procesom (koju ne kontrolira kontrolni sustav), najbolje je održavati pojavu greške i osigurati vizualne i zvučne alarme dok operater ne resetira sustav, tako da bude svjestan greške. Inače, ako se sustav zaustavi, drugi bi mogli pretpostaviti da postoji problem s programom. Ove točke općenito treba uzeti u obzir pri projektiranju novog sustava.
6. Često pozivane podrutine mogu se pretvoriti u podmodule za česte pozive.
7. Budući da svaki korak u radnom ciklusu proizvodnog stroja zahtijeva određeno vrijeme za izvršenje, a ta vremena imaju određena ograničenja, mjerač vremena može se pokrenuti istovremeno s početkom koraka koji se prati. Postavka vremena mjerača vremena trebala bi biti 20%–30% duža od uobičajenog trajanja radnje. Izlazni signal mjerača vremena može se koristiti za alarme ili uređaje za automatsko isključivanje. Kada vrijeme koraka premaši navedeno vrijeme, dostižući odgovarajuće unaprijed postavljeno vrijeme mjerača vremena, a prije početka sljedećeg koraka, mjerač vremena izdaje signal greške. Ovaj signal zaustavlja normalan radni ciklus i pokreće postupak alarma ili isključivanja; to je ono što obično zovemo zaštita od-ciklusa.
8. Neki sigurnosni prekidači za otkrivanje (kao što su gumbi za hitno zaustavljanje, sigurnosne svjetlosne zavjese, granični prekidači itd.) trebaju koristiti normalno zatvorene (NC) ulaze.
9. Radi sigurnosti i uštede energije, izlazi bi trebali biti dizajnirani tako da se aktiviraju samo kada je to potrebno i da se zaustave kada je radnja dovršena, umjesto da budu dizajnirani da izlaze kontinuirano dok se ne zahtijeva zaustavljanje.
10. Radni princip za aktuatore trebao bi biti: bolje ostati miran nego se kretati nepravilno.
11. Kontrola opreme pojedinačne-jedinice: Svaka jedinica mora imati funkciju ručnog/automatskog prebacivanja i funkciju pokretanja/zaustavljanja tijekom ručnog rada. Prilikom prelaska s automatskog na ručni način rada oprema se ne smije zaustaviti; pri prebacivanju s ručnog na automatski, pokretanje/zaustavljanje opreme ovisi o automatskom programu.
12. Svaka jedinica opreme (pumpa, ventilator i druga velika oprema) mora se rotirati nakon 24 sata rada i mora postojati zapis o kumulativnom vremenu rada, osim ako slijed pokretanja/zaustavljanja ne postavlja glavno računalo; u protivnom, operater ga mora postaviti ručno.





