UNIVERZITET U ISTOČNOM SARAJEVU
ELEKTROTEHNIČKI FAKULTET
SOFTVER ZA UNOS E - MOBILNIH KLJUČEVA
Diplomski rad
Mentor:
Prof.dr.Stevan Stankovski
Kandidat:
Cerovina Dražen
Istočno Sarajevo, 2004
SADRŽAJ:
Sadržaj
Zadatak
Uvod
Osnovni pregled strukture PLC-a
1.
1.1.
1.1.1.
1.1.2.
1.1.3.
1.2.
1.3.
1.4.
1.5.
Dijelovi od kojih se sastoji PLC
Central Procesing Unit (CPU)
Sistemska memorija
Input/Output moduli
Spoljni izgled PLC-a
Programiranje PLC-a
Izvršavanje programa
Primjena i prednosti PLC-a
GSM tehnoligije
2.
2.1.
2.2.
SMS poruke
TCS (Telecom Control Systems) Easygate
2.2.1.
2.2.2.
2.2.3.
2.2.4.
2.2.5.
2.2.6.
2.2.7.
2.3.
2.3.1.
2.3.2.
2.3.3.
Povezivanje na računar
SIM i PIN pravila
Pokretanje TCS-a
Uključivanje TCS-a
Opcija modem sharing
SMS naredbe
Struktura SMS naredbi
2.4.
2.5.
Ulazni brojači i podbrojači
Temperatura
Ulazi, poruke i GSM brojevi telefona
Ulazne poruke
Brojevi telefona
Od ulaza do GSM matrice
2.5.1. Podešavanje temperaturnog alarma
2.5.2. Hronotermostat
2.6.
2.7.
2.8.
AC napajanje i pomoćna baterija
Izlazi (Outputs)
TCS voice (glasovne) opcije
2.8.1. Osnovni koncepti
2.8.2. Unos brojeva u listu
Interpretator komandi (CI)
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
Komandna ulazna jedinica
Ulančavanje CI komande
Masovni prikaz
Zaštita lozinkom
Pregled CI komandi
Aktiviranje CI/Prijavljivanje
3.6.1. COM1 METH
3.7.
Komande za prikaz operanada i stanja
2
5
6
6
7
7
9
9
9
9
10
10
11
11
12
13
13
13
13
14
14
15
16
16
17
17
18
18
18
19
19
19
20
20
20
22
23
23
24
24
24
25
25
26
2
3.8.
3.9.
3.10.
3.11.
Komande za modifikovanje vrijednosti
Komande kontrole programa
Komande za prebacivanje ulaza i izlaza
Komande ugrađene u drajverima
Nizovi
4.
4.1.
4.2.
4.3.
4.4.
Konfigurisanje drajvera i podešavanje parametara
Inicijalizacija nizova
Proširene CI komande za nizove
Moduli za upravljanje nizovima
4.4.1.
4.4.2.
4.4.3.
4.4.4.
4.4.5.
4.4.6.
4.4.7.
4.4.8.
4.4.9.
4.4.10.
4.4.11.
4.4.12.
4.4.13.
4.4.14.
4.4.15.
4.4.16.
4.4.17.
4.4.18.
4.4.19.
4.4.20.
4.4.21.
4.4.22.
4.4.23.
4.4.24.
4.4.25.
4.4.26.
4.4.27.
4.4.28.
4.4.29.
4.4.30.
4.4.31.
4.4.32.
4.4.33.
4.4.34.
4.4.35.
4.4.36.
4.4.37.
STRADDR
STRAPPND
STRATOH
STRATOIX
STRATOU
STRCAT
STRCHECK
STRCHGET
STRCHSET
STRCI
STRCLR
STRCMP
STRCPY
STRDEL
STRDUMP
STRFILL
STRFILLW
STRFINDC
STRGROW
STRHTOA
STRICMP
STRINSRT
STRINIT
STRITOA
STRLEFT
STRLEN
STRLOWER
STRMID
STRNCMP
STRNICMP
STRRIGHT
STRSTAT
STRUPPER
STRUSAGE
STRUTOA
STR2FLAG
FLAG2STR
Prikaz rada u realizovanom softveru i opis sistema
5.
5.1.
Kako softver funkcioniše
27
28
29
30
31
31
31
32
32
34
34
34
35
35
35
35
35
36
36
36
36
36
37
37
37
37
37
38
38
38
38
39
39
39
39
39
40
40
40
41
41
41
41
41
41
42
43
43
3
Zaključak
Literatura
48
49
4
ZADATAK
U cilju izrade softvera za unos e-mobilnih ključeva potrebno je uraditi sljedeće:
-
Dati osnovni pregled structure PLC-a;
Dati osnovni pregled GSM tehnologije, sa posebnim osvrtom na korišćenje
u automatizovanim sistemima;
Dati pregled CI komandi;
Prikazati i objasniti realizovani softver.
5
UVOD
1. Osnovni pregled strukture PLC-a
* Programmable Logical Controler (PLC)
Slika 1.Izgled PLC-a.
U našem jeziku se koristi izraz Programabilno Logički Kontroler (PLK). PLC
predstavlja digitalni računarski uređaj koji se zasniva na mikroprocesorskoj
tehnologiji. PLC je ustvari napravljen da bi se olakšalo upravljanje mašinama. Ovaj
uređaj omogućava izvršavanje upravljačkih algoritama (programa) u realnom
vremenu. Korisnik unosi program, obično koristeći softver za unos, da bi dobio
željene rezultate.Taj program predstavlja vezu između ulaza i izlaza na PLC-u.
Kako PLC funkcioniše? Tako što stalno skenira program. Ovaj ciklus skeniranja se
sastoji od tri koraka:provjera ulaznog stanja (check input status - da li su ulazi
uključeni ili ne odnosno da li su senzori spojeni na ulaze aktivni), izvršavanje
programa (execute program - instrukciju po instrukciju) i očitavanje stanja izlaza
(update output status). Nakon završetka trećeg koraka PLC se vraća na prvi korak i
ponavlja korake kontinualno (slika2).[1]
Slika 2. Rad PLC-a.
6
1.1. Dijelovi od kojih se sastoji PLC
PLC se sastoji od tri dijela :
- Central Processing Unit (CPU)
- Sistemska memorija
- Input / Output moduli
1.1.1. Central Processing Unit (CPU)
Centralni procesor (CPU) je najvažnija komponenta PLC-a. On upravlja
memorijom, izvršavanjem programa, komunikacijom, nadgledanjem ulaza i
postavljanjem izlaza. Moguće greške koje se javljaju na PLC-u takođe uočava
centralni procesor provjeravanjem samog PLC-a . Korisnik može da uoči grešku na
PLC-u pomoću dioda za signalizaciju greške, koje svijetle kada se javi greška,
postavljenih na kućištu kontrolera. Odabir centralnog procesora se vrši u zavisnosti od
zadatka koji treba da se izvrši i broja ulaza i izlaza.
Vrijeme skeniranja (koje iznosi do 100 ms) predstavlja vrijeme za koje
program mora da se izvrši u cjelosti i to je takođe vrijeme odabiranja digitalnih
ulaza/izlaza. PLC ne reaguje na vrijeme brže od 100 ms.
Dijelovi CPU-a su :
Aritmetical Logical Unit (ALU)
Registri
Magistrale (sabirnice)
Aritmetical Logical Unit (ALU) ili aritmetičko logička jedinica se sastoji od
logičkih kola. Omogućava izvršavanje aritmetičkih i logičkih operacija nad podacima
u binarnom obliku i sadrži registre koji služe za upisivanje u vidu digitalnih reči.
Registri predstavljaju specijalne memorijske lokacije u centralnom procesoru
i takođe su fizički dijelovi centralnog procesora. Podaci se u većini uređaja ovakve
vrste čitaju prvo iz memorijskih lokacija i upišu u registre pa se tek onda mogu vršiti
određene operacije nad tim podacima. Ovo se dešava iz razloga što su izlazi na
registrima električnim provodnicima povezani sa upravljačkom logikom. Na ovaj
način se naredbe brže izvršavaju.
Posebna vrsta registara koju posjeduju ove mašine su akumulatori (ACC).
Akumulator mora biti jedan od dva radna registra centralnog procesora nad čijim se
sadržajem izvršava zadata operacija. Rezultat te operacije se uvijek upisuje u
akumulator koji predstavlja vezu između memorije i procesora.
Magistrale (sabirnice) predstavljaju snopove električnih provodnika koji su
grupisani prema prirodi digitalnih signala koje prenose. Takođe predstavljaju vezu
između hardverskih komponenti.
Magistrale mogu biti:
• Upravljačka magistrala - predstavlja više provodnika koji povezuju
centralni procesor, memoriju i ulazno/izlazne portove (slika 3). Koristi
se za prenos informacija i bitova o vrsti aktivnosti koja treba da se izvši
u tekućem procesu. Smjer prenosa infomacija kroz upravljačku
7
•
•
magistralu je samo od centralnog procesora ka memoriji i
ulazno/izlaznim portovima. Vrste aktivnosti koje se mogu izvršavati u
procesu su: čitaj sadržaj memorijske lokacije, upiši podatak u
memorijsku lokaciju, čitaj prispjeli podatak na ulazno/izlaznom portu i
dr. Zbog toga što se magistrale sastoje iz većeg broja provodnika,
povezivanje parova velikog broja komponenti računara je olakšano jer
povezivanjem sa više pojedinačnih provodnika dobijamo gomilu žica
za koje ne znamo šta povezuju.
Adresna magistrala povezuje centralni procesor sa memorijom i
ulazno/izlaznim portovima. Prenosi adrese memorijskih lokacija ili
ulazno/izlaznih portova od centralnog procesora ka memoriji ili
ulazno/izlaznim portovima (slika 3).
Magistrala podataka prenosi podatke između centralnog procesora,
memorije i ulazno/izlaznih portova u oba smjera (slika 3).[6]
Slika 3. Veza osnovnih komponenti sa magistralama (sabirnicama).
8
1.1.2. Sistemska memorija
Upisivanje i/ili čitanje podataka potrebnih za funkcionisanje programa i samih
programa su operacije koje se vrše nad memorijom programabilno-logičkog
kontrolera.
ROM (Read Only Memory) je tip memorije koja čuva programe i podatke koji
se izvršavaju svaki put kada se uključi kontroler odnosno podaci se ne brišu kada se
isključi napajanje. Podaci se u ROM memoriju upisuju programiranjem pri izradi
memorije i kao što joj ime kaže u ovu memoriju se ne upisuju podaci već se isti samo
čitaju iz nje.
RAM (Random Access Memory) je tip memorije u koju se upisuju podaci.
Njen sadržaj je uvek dostupan procesoru ali se gubi nakon isključivanja napajanja.
Korisnik u RAM memoriju unosi program preko računara ili putem programatora.
1.1.3. Input/Output moduli
Ovi moduli prihvataju digitalne signale u programabilno-logički kontroler i u
isto vrijeme omogućavaju izdavanje obrađenih ulaznih veličina u digitalnom obliku.
Unutar PLC-a se vrše operacije nad ulaznim veličinama definisane korisničkim
programom. Ako ugradimo analogne ulazno/izlazne module kontroler može da vrši
obradu i analognih signala.
Podjela PLC-a po broju ulaza/izlaza se vrši na: male (8 ulaza 8 izlaza; 16
ulaza 16 izlaza), srednje (128 ulaza 128 izlaza) i velike (hiljade ulaza /izlaza).
Za komunikaciju PLC – PLC(s) ili PLC – računar se koristi komunikacioni
modul. Najčešće se koristi RS232 interfejs jer se podaci prenose u ASCII formatu.[2]
1.2. Spoljni izgled PLC-a
Tri načina realizacije PLC-a :
• Modularni – odgovarajući broj ulaza i izlaza se dovodi na module
pri čemu na svakom modulu postoji centralna jedinica na koju se
dovodi još ulaznih i izlaznih modula. Veći broj modula se može
povezati putem mreže.
• Sa fiksnim brojem ulaza i izlaza – pošto je broj ulaza uvijek veći od
broja izlaza ne može se uticati na konfiguraciju.
• Sa fiksnim kućištem i karticama – kartice imaju istu funkciju kao i
modul. Moguće je mijenjati samo broj ulaza i izlaza a dimenzije se
mijenjaju dodavanjem modula.[4]
1.3. Programiranje PLC-a
Ranije su se za programiranje PLC-a koristili programski jezici kao što su
FORTRAN, BASIC, C idr. Radi lakšeg programiranja IEC (International
Electrotechnical Commission) je propisala standard koji omogućava korišćenje više
programskih jezika (jedan od pet jezika IEC standarda) za programiranje jednog
procesora. Ovo znači da ako bi se koristio PLC drugog proizvođača, nije obavezno
9
učenje programskog jezika za programiranje tog PLC-a (svaki proizvođač koristi svoj
programski jezik).
Pet programskih jezika koje obuhvata IEC standard: Structured Text (ST),
Functional Bloc Diagram (FDB), Ladder Diagram (LD), Instruction List (IL),
Sequential Function Chart (SFC).
Programski jezici IEC standarda omogućavaju lakše pisanje i shvatanje
programa koji se koriste za programiranje PLC-ova.
1.4. Izvršavanje programa
Korisnički program sadrži: ulaze (inputs), izlaze (outputs), tajmere, counters
(brojače), aritmetičko - logičke funkcije, specijalne funkcije, registre.
Ulazi i izlazi imaju dvije vrijednosti: logička 0 ili logička 1. Stanje sa ulaznog
modula se, prije obrade od strane centralnog procesora, upisuje u memoriju CPU-a.
Izlazni signali, koji su rezultat obrade ulaznih signala od strane CPU-a, se upisuju u
memoriju izlaza i na kraju šalju na odgovarajući izlazni modul na PLC-u.
Korisnički program se izvršava ciklično (kad dođe do kraja počinje novi ciklus
i ponovo počinje izvršavanje programa). Prije početka novog ciklusa pročita se stanje
sa ulaznih modula i upiše u memorijsku zonu ulaza, a na kraju izvršavanja programa
izlazne vrijednosti iz memorijske zone izlaza se šalju na izlazne module.[4]
1.5. Primjena i prednosti PLC-a
Programabilno–logički kontroleri su zastupljeni u svim granama industrije bilo
da se radi o pakovanju, upravljanju transportom materijala, automatizovanoj montaži
ili drugim poslovima. Skoro svaka aplikacija koja ima potrebu za nekom vrstom
elektro upravljanja ima potrebu za PLC-om. Ako se ne koristi PLC u ovim
aplikacijama onda je to gubljenje vremena i novca.
PLC je jeftinije i pouzdanije rješenje od konvencionalnog pristupa rješavanju
problema ove vrste. Greške u funkcionisanju sistema se otkrivaju brzo i lako
otklanjaju.
10
2.
GSM Tehnologije
GSM predstavlja skraćenicu za Global System for Mobile communications,
odnosno standard za globalni sistem mobilne komunikacije.
GSM mreža se sastoji od:
•
•
•
Mobilne stanice (telefon koji posjeduje korisnik);
Podsistema bazne stanice (upravlja povezivanjem radio veza sa
telefonom);
Mrežnog podsistema (osnovni dio GSM centrale koji spaja vezu
između korisnika mobilnog telefona sa drugim korisnikom mobilnog
telefona ili između korisnika mobilnog telefona sa korisnikom fiksnog
telefona).
Mobilna stanica sa sastoji od terminala (telefona) i smart kartice. Smart kartica
je plastična kartica u kojoj se nalazi kompjuterski čip koji zovemo SIM (Subscriber
Identity Module). Smart kartice imaju zaštitni kod, PIN kod, koji zna samo korisnik i
tako se štiti SIM kartica od zloupotrebe. Na SIM katricu je omogućen unos podataka i
obrada istih. Ona povezuje mobilni telefon sa GSM mrežom.
Podsistem bazne stanice se sastoji iz bazne stanice i kontrolera bazne stanice.
Ove dvije komponente komuniciraju putem A–bis interfejsa (linija razdvajanja
između bazne stanice i kontrolera baznih stanica). Bazna stanica sadrži radio
primopredajnik koji povezuje stanicu sa ostatkom mreže. Radio primopredajnik se
sastoji od prijemnika, odašiljača, antene i interfejsa. Bazna stanica može da ima jednu
antenu za sve pravce ili tri antene za tri pravca. Kontroler baznih stanica se stara o
radu i održavanju veza.
Mrežni podsistem sadrži komponentu koja se zove Mobile services Switching
Center. Ovo je najvažnija komponenta mrežnog podsistema i omogućava registraciju,
provjeru autentičnosti, ažuriranje lokacija, usmjeravanje poziva za korisnike sa
roaming–om i vezu sa fiksnim mrežama. Roaming je vrsta usluge koju obezbjeđuje
GSM i ona omogućava korišćenje mobilnih telefona u mrežama drugih operatera.
Kada korisnik uđe u inostranu zemlju automatski se prepoznaje i registruje SIM
kartica.
Equipment Identity Register je baza podataka koja sadrži listu mobilnih
stanica koje su na mreži. Sastoji se od tri baze podataka : White List (sadrži sve
važeće identifikacione brojeve), Black List (sadrži sve nevažeće brojeve), Grey List
(sadrži sve sumnjive brojeve).[7]
2.1. SMS Poruke
SMS (Short Message Service) predstavlja mogućnost slanja tekstualnih poruka putem
mobilnog telefona. Poruke su dužine do 160 znakova. Osim sa jednog mobilnog
telefona na drugi poruke se mogu slati i sa jednog na više telefona istovremeno (opcija
group na telefonu, ali ovo važi samo za novije tipove telefona) i takođe sa telefona na
LAN (Local Area Network), WAN (Wide Area Network), ISDN (International
Standard for Digital Network) mrežne kompatibilne uređaje. Poruka se skladišti kod
operatera ako korisnik nije dostupan pa se kasnije proslijeđuje tom korisniku kada
bude bio dostupan.
11
2.2. TCS (Telecom Control Systems) Easygate
TCS je mikroračunar koji radi sa Simensovim TC35 GSM modulom i ima
mogućnost razmjene podataka, glasovne i SMS komunikacije. [5]
Slika 4.
TCS Easygate (1- 230v AC adapter, 2- antena, 3- kraj kabla koji se povezuje na
dugme za otvaranje vrata, 4- SIM kartica, 5- GSM modul).
12
2.2.1.
Povezivanje na računar
Povezivanje se vrši pomoću serijskog kabla. TCS se poveže na COM port na
PC-u. Koristi se jedan od navedenih softvera: Hyperterminal ili Xtalk na 9600 N 8 1
ili TCS Logger.
2.2.2. SIM I PIN pravila
PIN I PUK kodovi se koriste da bi se kartica zaštitila od zloupotrebe. Ako se
PIN kod unese pogrešno više od tri puta kartica će tražiti PUK (PIN Unblocking Key)
kod. PUK kod služi da se odblokira SIM kartica blokirana pogrešnim unošenjem PIN
koda. Otključavanje SIM kartice se može pokušati deset puta. Poslije toga je kartica
zaključana trajno i postaje beskorisna.
Pomoću programa TCS 3.5 se može programirati PIN kod u TCS-u tako da
može komunicirati sa SIM karticom na zahtjev (uključenje sistema). Ovo je zgodno
ako se uređaj nalazi na mjestu gdje SIM kartica može da se ukrade.
SIM kartica može imati tri vrste broja: glasovni (voice), data i fax. Ako se
posjeduje kartica koja ima i voice i data broj ta dva broja se moraju razlikovati. SIM
sa jednim brojem može slati podatke ali ne može da se pozove sa data pozivom. Fax
broj je uključen u voice broju.
2.2.3. Pokretanje TCS–a
Ako se programiranje TCS-a vrši korišćenjem direktne veze sa personalnim
računarom onda nije potrebno imati SIM karticu sa data brojem već kabal koji se
poveže na serijski port. Nakon povezivanja se može pristupiti TCS–u pomoću
Hyperterminala ili Xtalk-a ili drugog softvera. Programski paket TCS Windows
takođe omogućava jednostavnu vezu sa TCS-om i svim SMS opcijama vezanim za
Easygate.
Posjedovanjem SIM kartice sa data brojem se može rekonfigurisati TCS uređaj
iz daljine (remote control). Obično je moguće pozvati GSM modul koristeći
standardni PC modem . Svejedno se može desiti da tokom nepravilnog konfigurisanja,
od strane GSM operatera, ova opcija bude nemoguća i pri pokušaju poziva se
detektuje zauzeće veze. Ako se ovo desi, tu grešku otklanja operater.
2.2.4. Uključivanje TCS-a
Nakon ubacivanja SIM kartice u TCS uređaj čuje se dugo beep i opet isti zvuk
nakon par sekundi što znači da je SIM kartica prepoznata i registrovana na mreži. Ova
mogućnost je implementirana da se izbjegne uništavanje baterije kad se skroz isprazni.
TCS će se uvek uključiti sam kad se aktvira AC/DC napajanje preko solarne
ploče ili drugog izvora napajanja. Ako nema takvog napajanja i TCS je isključen i ako
se dovede napon sa baterije TCS se neće uključiti (startovati) ako se ne pritisne start
dugme.
13
2.2.5. Opcija modem sharing
U nekim aplikacijama (industrijska automatizacija, upravljanje mašinama)
PLC već ima RS232 port za komunikaciju sa modemom pa se njime već može
upravljati daljinski korišćenjem GSM modema bez potrebe za TCS pločom.
Ipak u većini slučajeva ove instalacije nemaju dovoljno lokalne inteligencije
da prime i pošalju podatke preko SMS–a ili da izvrše osnovne naredbe opcije
dostupne na TCS ploči.
Veoma važno pitanje koje se postavlja je da li se može iskoristiti modem
instaliran u TCS ploči za komunikaciju sa PLC–om. Može sa TCS 3.5 pločom ali
postoji samo jedan modem i ne mogu se povezati dvije stvari u isto vrijeme. Ako se
odlučimo za prebacivaje modema na eksterni uređaj moramo biti svjesni da se tada
TCS neće moći kontrolisati jer nema pristup modemu pa ne može slati poruke ili
primati naredbe. Ovaj problem rešavaju DDC (switched Direct Data Call) naredbe.
DDC naredbe omogućavaju mjesta na koje će biti proslijeđeni slijedeći podaci koji
stignu. Naredba #DDC0 proslijeđuje podatke do eksternog RS232 porta, a naredba
#DDC1 proslijeđuje podatke do TCS operativnog sistema. Da bi dozvolili PC–u ili
eksternom uređaju direktan pristup modemu u TCS–u i autonomno korišćenje istog
mora se implementirati naredba #CTR. Kad je jednom unijeta ova naredba povezuje
RS232 port direktno na modem za par sekundi. Poslije tih nekoliko sekundi TCS opet
dobija kontrolu nad modemom. Da bi se ovo moglo koristiti treba pravilno rukovati
modemom i zadavati naredbe na način koji ne smeta sistemu da funkcioniše.
2.2.6. SMS naredbe
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Lista naredbi dostupnih na TCS 3.5 ploči sa softverom izdanje 5.1[5]
?: Help on-line ( pomoć u svakom trenutku )
#ACM: izabira pristupni mod (ACcess Mode) za fukciju voice poziv
#ALR: omogućava ili onemogućava generisanje SMS alarma (ALeRt SMS)
#AMS: čuva i isčitava tekst za alarm poruke (Alarm MeSsages) od 1 do 8
#CAP: mijenja administratorsku lozinku (Change Admin Password)
#CCA: čita/upisuje vrijednosti Counter CompArator–a na ulazima 1 do 6
#CLB: ponovo poziva (CalL Back) naznačen data broj telefona
#CLK: postavlja sat (CLocK) i datum na prave vrijednosti
#CNP: čita/upisuje djelimično stanje pod brojača (sub CouNters (Partial)) na
ulazima 1 do 6
#CNT: čita/upisuje cjelokupno stanje brojača (CouNters Total) na ulazima 1
do 6
#CTR: formira COM TRansparent : postavlja RS232 port u direktnu vezu sa
GSM modemom za xxxxx dužinu vremena (u sekundama)
#CUP: mijenja korisničku lozinku (Change User Password)
#DBG: DeBuG : šalje kopije svih poruka koje pristižu na telefon
#DDC: Switch Direct Data Call : prebacuje slijedeći poziv, upućen na data
broj, na TCS komandni mod ili COM port
#END: izlaz iz TCS komandnog moda
#GIO: Get Input Output ; isčitava trenutni ulazno-izlazni status
#IDT: Input Delay Time : pokazuje koliko vremena ulaz mora da bude aktivan
prije generisanja alarma
14
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#INI: INItialize: inicijalizuje parametre na vrijednosti definisane od strane
proizvođača
#IPM: podešava ulazni mod (InPut Mode) za svaki ulaz pojedinačno
#LLA?:duge liste svih (Long Lists of All) stanja TCS programabilnih
parametara
#MHD: Message HeaDer: čita/upisuje TCS ID i SMS serijski broj
#MTX: MaTriX: čita/upisuje matrice asocijacija između telefonskih brojeva i
ulaza (8 plus 3 dodatna)
#NOA: NO Acknowledgement : ometa potvrdu prijema SMS poruka
#OUT: uključuje ili isključuje izlazne (OUTput) priključke
#PIN: aktivira PIN kod za SMS karticu
#PWD: aktivira lozinku (PassWorD) za pokretanje bilo koje naredne naredbe
od strane SMS-a
#PWR: čita/upisuje PoWeR varijable
#RES: softver resetuje (RESets) ploču
#SCA: čita/upisuje adresu servis centra (Service Center Adress)
#SCT: namješta interni sat (Sets internal Clock) koristeći Telecom operator
clock and date
#SMC: SMs Counters: čita/upisuje SMS sa brojača
#SNS: vrijednost analognog ulaza
#SSM: šalje SMS telefonu (Send a Short Message)
#TEL: određuje GSM brojeve telefona (TELephone), do 8 brojeva, na koje će
biti poslan alarm
#TMP: čita temperaturu, čita/upisuje granice za uključivanje alarma
#VCF: funkcije glasovnog poziva (Voice Call Functions)
#VER?: verzija softvera (softvare VERsion)
#WHL: čita/upisuje broj telefona u listu (WHite List)
Specijalne verzije softvera
Hronotermostat (ChronoThermostat)
#DAY: ispisuje temperature za odabrane dane u nedelji (uključuje i STP
naredbu)
#SHD: prikazuje dijagram promjene temperature
#SHS: prikazuje dijagram promjene vremena
#SSE: postavlja godišnja doba (ljeto/zima)
#CTO: postavlja izlaze (1 do 8) pomoću hronotermostat softvera
2.2.7. Struktura SMS naredbi
Svakoj naredbi koja je poslata u vidu SMS–a mora da prethodi znak # i
naredba mora da bude velikim slovima. Prva naredba koja se zadaje mora biti #PWD
(password). Postoji administratorska i korisnička lozinka sa različitim nivoom
kontrole i pristupa. Obje lozinke su u početku 123456 i mogu da se promijene.
Da bi se mogao poslati SMS, TCS mora znati odgovarajući broj servis centra
(SCA). Ovo je broj SMS servis centra koji nam daje provajder. TCS onda može slati
SMS poruke na taj broj i mreža će ih proslijediti do primaoca.
Da bi se inicijalizovao TCS poslati slijedeću poruku:
15
#PWD123456#INI#SCA+387*********#SCT
Poslije nekoliko sekundi bi trebalo da stigne poruka koja potvrđuje svaki dio
zadate naredbe i signalizira greške. Ako se ne želi primiti ova poruka dodati naredbu
#NOA na kraju komandnog niza.
Kad je sistem jednom podešen sve funkcije mogu da rade putem SMS–a.
Kada je poslata naredba, stićiće odgovor iako GSM broj nije na internoj GSM
listi zbog toga što TCS prepoznaje ID onog koji zove i šalje mu odgovor.
2.3. Ulazi, poruke i GSM brojevi telefona
Jedna od najvažnijih funkcija TCS–a je da prima poruke upozorenja (alarme).
Ovo ćemo nazvati alert funkcija. Da bi se ova fukcija mogla odvijati TCS–u mora da
sadrži podatke o tome koji su brojevi primaoca i ko treba da primi poruku za neki
određeni ulaz.
2.3.1. Ulazne poruke
Bitno je znati da za bilo koji ulaz postoji poruka (max 40 karaktera) koja može
biti programirana od strane korisnika.
Ulazi od 1 do 8 su pravi ulazi i u zavisnosti od verzije softvera koju korisnik
posjeduje, ostali ulazi alarma su:
IN[9] temperatura
IN[10] isključivanje
IN[11] 4-20 mA ulaz
Mogu se programirati samo poruke za ulaze 1 do 8 dok drugi alarmi imaju
svoje poruke:
Temperature1: '' Low Temp Alarm '' – temperatura je u stepenima Celzijusa
Temperature2: '' High Temp Alarm '' – temperatura je u stepenima Celzijusa
Power1: '' Warning!AC Power OFF '' – isključeno AC napajanje
Power2: '' AC Power ON '' – uključeno AC napajanje nakon resetovanja
Power3: '' SHUTING DOWN!Low batt VBAT = xxxx mV ''
4-20-1: '' Warning!4-20 mA sensor error '' –nije priključen senzor
4-20-1: '' Warning!4-20 mA xx %'' – pređen prag vrijednosti koji je postavljen
Može se programirati tekst poruke bilo sa data pozivom, korišćenjem TCS
menija ili putem SMS poruka:
#PWD123456#AMS01ovo je test za input 1 poruku
AMS naredba mora biti izdata sama poslije PWD naredbe. Za tekst se može
koristiti bilo koji karakter ali poruka mora biti do 40 karaktera.
16
2.3.2. Brojevi telefona
SMS poruke se mogu slati samo putem GSM telefona pa se moraju unijeti
brojevi telefona kojima se žele slati poruke. 8 telefonskih brojeva mogu biti sačuvani u
sistemu. Za svaki ulaz je moguće poslati poruku, dodijeljenu tom ulazu, bilo kojem od
8 brojeva ili svim tim brojevima.
Za unos brojeva telefona korisnika kojima se želi poslati alarm može se
koristiti data poziv ili bolje SMS:
#PWD123456#TEL01+387*********
#PWD123456#TEL02+387*********
.
.
.
#PWD123456#TEL08+387*********
Brojevi telefona se mogu mijenjati po potrebi.
2.3.3. Od ulaza do GSM matrice
Svakom ulazu može biti dodeljen jedan od 8 telefonskih brojeva koje korisnik
izabere sa liste[5].
GSM matrica pokazuje koji alarm generiše koliko poruka za koje brojeve telefona:
INPUT1 = 1,0,0,0,0,0,0,0
INPUT2 = 1,2,0,0,0,0,0,0
INPUT3 = 1,1,2,2,0,0,0,0
INPUT4 = 2,3,4,5,0,0,0,0
INPUT5 = 7,0,0,0,0,0,0,0
INPUT6 = 4,0,0,0,0,0,0,0
INPUT7 = 1,2,3,4,5,6,7,8
INPUT8 = 0,0,0,0,0,0,0,0
INPUT9 = 1,0,0,0,0,0,0,0
INPUT10 = 1,0,0,0,0,0,0,0
INPUT11 = 0,0,0,0,0,0,0,0
Pretpostavimo da je korisnik unio svih 8 brojeva, ali ne mora ih unijeti.
Svaki alarm koji dolazi sa ulaza 1 generisaće SMS za GSM 1
Svaki alarm koji dolazi sa ulaza 2 generisaće SMS za GSM 1 i 2
Svaki alarm koji dolazi sa ulaza 3 generisaće 2 SMS - a za GSM 1 i 2
Svaki alarm koji dolazi sa ulaza 4 generisaće SMS za GSM 2,3,4,5
Svaki alarm koji dolazi sa ulaza 5 generisaće SMS za GSM 7
Svaki alarm koji dolazi sa ulaza 6 generisaće SMS za GSM 4
Svaki alarm koji dolazi sa ulaza 7 generisaće SMS za svih osam brojeva
Svaki alarm koji dolazi sa ulaza 8 neće generisati SMS uopšte
Svaki alarm koji dolazi sa ulaza 9(temperatura) generisaće SMS za GSM 1
Svaki alarm koji dolazi sa ulaza 9(AC napajanje) generisaće SMS za GSM 1
Proizvođač je naznačio da je definisana vrijednost za sve ulaze 1,0,0,0,0,0,0,0.
17
Novo u verziji TCS 3.5 je da se ulaz matrice može čitati ili upisivati putem
SMS–a, naredbi preko RS232 ili data pozivom.
2.4. Ulazni brojači i podbrojači
Svi ulazi mogu biti aktivni ili neaktivni. Oni generišu alarm kad god su
aktivirani duže od programiranog vremenskog perioda (2 do 32000 sekundi). Stanje
ulaza se uvijek može očitati naredbom #GIO.
Ulazi od 1 do 6 mogu biti individualno programirani da se drugačije ponašaju i
da broje ulazne aktivne impulse (brzine do 14 ms). Ovo znači da se ulazi mogu
povezati na mehanički brojač i brojati impulse (taktove). Svaki impuls će uvećavati
brojač koji se odnosi na taj ulaz (counter1 za input1) i podbrojač koji se takođe odnosi
na taj ulaz. Podbrojač će se uvećavati sve do vrijednosti jednake onoj sa kojom se
poredi, koja je sačuvana u vrijednosti komparatora dostupnoj za svaki ulaz od 1 do 6.
Sve vrijednosti brojača, podbrojača, komparatora se mogu programirati
naredbama #CNT, #CNP, #CCA.
2.5. Temperatura
TCS omogućava jednostavno mjerenje temperature od -25 do 100 stepeni
Celzijusa. Ovo je moguće samo ako se kupi dodatak za TCS ploču sa ovom opcijom i
temperaturnom sondom. Dostupna su dva modela: za vazduh i tečnost. Tačnost je 1
stepen po Celzijusu.
Kad je sonda spojena putem SMS–a se može zahtjevati temperatura naredbom:
#PWD123456#TMP?
Nakon zadavanja ove komande korisniku stiže SMS sa temperaturnom
vrijednosti.
2.5.1. Podešavanje temperaturnog alarma
Moguće je postaviti donju i gornju temperaturnu granicu da bi TCS slao
alarme i temperaturnu vrijednost GSM brojevima naznačenim u matrici za ulaz 9
(temperatura).
Alarm će biti poslat kada temperatura bude manja od donje ili veća od gornje
granice. Granice se mogu postaviti putem SMS–a:
#PWD123456#TMPON,0,50
U ovoj naredbi se vidi da je donja granica 0, a gornja 50 stepeni Celzijusa.
Temperaturni alarm može biti uključen ili isključen naredbama #TMPON ili
#TMPOFF. Proizvođač je definisao da temperatura bude u granicama od -25
do 100 stepeni Celzijusa i da je alarm uključen.
18
2.5.2. Hronotermostat
Ovo je posebna opcija koja dozvoljava automatsku kontrolu temperature u
prostoriji za dan, nedelju i može da se podešava putem SMS–a. Radi u rasponu od 5
do 30 stepeni Celzijusa. Sa ovom softverskom opcijom može se poslati SMS poruka
koja podešava temperaturu za četiri intervala svakog dana, 7 dana u nedelji,
programirana korišćenjem naredbe:
#DAY[1234567]#STP HH:MM gc HH:MM gc HH:MM gc
Primjer: #DAY1345#STP=08:00 22.4,16:15 18
Ovaj primjer predstavlja programiranje temperature za ponedeljak, srijedu,
četvrtak, petak na 22.4 stepena u 08:00 časova i 18 stepeni u 16:15 u pomenutim
danima.
TCS hronotermostat ima mogućnost podešavanja softvera za ljetnji i zimski
period i kontroliše temperaturu preko izlaza 7. Ako temperatura pređe postavljene
granice šalje se alarm.
2.6. AC napajanje i pomoćna baterija
TCS uređaj se dobija sa konekcijom za pomoćnu bateriju i ima ugrađen
punjač baterija za LEAD baterije.
TCS se može napajati direktno sa 12 do 24VAC ili 12 do 35VDC. Da bi se
zadržala puna baterija minimalno je potreban napon od 15VDC. Kao izvor napajanja
se mogu koristiti i solarne ploče koje proizvode napon od 18V.
U slučaju da dođe do prekida napajanja (stradao izvor napajanja) TCS će
koristiti pomoćnu bateriju i poslaće alarm GSM brojevima spojenim na ulaz 10 (AC
napajanje).
Da bi dobili podatke o napunjenosti baterije i tipu napajanja možemo poslati
naredbu putem SMS–a:
#PWD123456#PWR?
Ako napon baterije padne ispod 10.5V i nema AC napajanja TCS će se
isključiti da bi se spriječilo naglo pražnjenje koje bi uništilo bateriju. Prije ovoga će
biti poslata poruka upozorenja svim telefonima sa liste (GSM 1 do 8 ).
Da bi se osposobio alarm za isključivanje TCS–a , TCS–u mora biti poslata
poruka #PWROFF.
Ako se isključi zbog toga što se baterija ispraznila, kada se ponovo uključi
TCS će normalno nastaviti sa radom.
2.7. Izlazi (Outputs)
Da bi korisnik podesio izlaze onako kako njemu odgovara mora poslati SMS
specificirajući broj izlaza i ako želi broj sekundi koliko izlaz treba da ostane aktiviran.
Ako se ne specificira ovaj parametar izlaz će ostati aktiviran sve dok ga slijedeća
naredba ne isključi.
19
Primjer : #PWD123456#OUT1ON,10#OUT2ON
Ova naredba aktivira izlaz 1 na 10 sekundi dok izlaz 2 ostaje aktivan dok ne
stigne naredba za njegovo deaktiviranje.
Stanje izlaza (i ulaza) se može očitati naredbom #GIO:
#PWD123456#GIO?
Takođe je moguće postaviti, resetovati ili provjeravati izlaze u voice ili DTMF
modu ako su uključene voice opcije.
Izlaz 8 je priključen na relej na TCS ploči. Ovaj relej je nisko naponski uređaj i
ograničen je naponom max 48VAC 1A.
2.8. TCS voice (glasovne) opcije
Opcija otvaranje vrata (gate opener) je dostupna kao standardna opcija na svim
TCS pločama. Ostale mogućnosti su dostupne ako se instaliraju.
Ako je korisnik dokupio TCS voice i DTMF opcije onda ima mogućnost
kontrole ulaza i izlaza korišćenjem običnog telefona (GSM, fiksni, prenosni) sa
DTMF tonovima.
2.8.1. Osnovni koncepti
White List je lista brojeva (64 broja) koja pokreće događaj po pozivu iz voice
moda. Ako broj sa liste pozove, i ako je izabran pristupni mod liste, funkcija izabrana
iz glasovnih opcija će se automatski izvršavati. TCS tada poredi ID onog koji zove sa
brojevima u listi i aktivira funkciju ako je pronašao broj u listi. Poređenje brojeva
počinje od krajnjeg desnog karaktera do poslijednjeg karaktera (max 10 karaktera).
Može se vršiti upoređivanje znakova na određenoj poziciji korišćenjem
znaka “?“ na mestu znaka koji se želi uporediti.
2.8.2. Unos brojeva u listu
Brojevi se unose naredbom #WHL putem SMS–a ili komandne linije.
Da bi korisnik zatražio broj telefona putem SMS–a mora da specificira
poziciju na kojoj se taj broj nalazi: SMS #WHL01 vraća korisniku broj telefona na
poziciji 01.
Ako se želi omogućiti prolaz svim brojevima od 6411111000 do 6411111999
može korišćenjem: 6411111???
20
Ako se želi omogućiti prolaz svim brojevima koji završavaju sa 321 treba
unijeti 321 jer TCS poredi znakove od kraja i to samo one koji su unijeti (max do 10
znakova).
Slika 4. Jedna od primjena Easy Gate – a.
21
3. Interpretator komandi (CI)
Svi Festo kontroleri imaju Interpretatora Komandi. On se obično naziva CI. CI
nije međuveza između čovjeka i mašine. Međutim, često se koristi ručno, pošto
obezbjeđuje zaista jednostavnu međuvezu. Međuveza Interpretatora Komandi se
takođe koristi za niz zadataka FST programske alatke. Razni programski dijelovi FST
softvera automatski upravljaju komunikacijom sa spojenim kontrolerom i obezbjeđuju
mnogo jaču i uobičajeniju korisničku međuvezu.
CI, koji je dio FST PLC operativnog sistema, može se koristiti kao terminal ili
emulator terminala, preko kontrolorove serijske međuveze (obično COM ili COM1).
Kao mogućnost, COM priključak koji je upotrebljen za CI na kontroleru može se
promjeniti u drugi COM ulaz u Podešavanjima Kontrolera svakog projekta. Ovo je
posebno korisno, ukoliko želimo iskoristiti FIFO koji, recimo, podržava COM2, ali ne
i COM1.
Ovo je dogovoreno imenovanje glavnih CI COM ulaza za različite tipove
kontrolera:
kontroler
broj porta
FECs
0
HC0X
0
1
2
HC1X
1
2
HC2X
1
opis
ugra•eni „COM“ ulaz
ugra•eni „COM“ ulaz
(pretpostavljeni)
„COM1“ port na dodatnom CP3x
modulatoru
„COM2“ port na dodatnom CP3x
modulatoru
ugra•eni „COM1“ ulaz
(pretpostavljeni)ili
„COM1“ port na dodatnom CP3x
modulatoru
ukoliko je ugra•eni „COM1“ ulaz
isklju•en
„COM2“ port na dodatnom CP3x
modulatoru
ugra•eni „COM“ ulaz
(pretpostavljeni)ili
„COM1“ port na dodatnom CP3x
modulatoru
ukoliko je ugrađeni „COM“ ulaz
isključen
2
„COM2“ port na dodatnom CP3x
modulatoru
Kao dodatak CI međuvezi na COM ulazu, CI komande mogu se unositi preko
priključene tastature i rezultati će se prikazivati na priključenom monitoru za HC1X i
HC2X centralne procesorske jedinice.
Korišćenjem FST drajvera CI međuveza može se učiniti dostupnom na
dodatnim međuvezama kao što su COM ulazi ili preko TCP/IP.
Treba uočiti da su dodatne CI međuveze ograničene u nekim mogućnostima.
3.1. Komandna ulazna jedinica
22
Komande CI sastoje se uglavnom od pojedinačne linije kao ulazne jedinice i
odgovora u istom redu. Većina komandi nije osjetljiva na velika i mala slova.
Pogrešan unos može se ispraviti tipkom Backspace (Ctrl H) prije zaključivanja sa CR
(Enter).
Primjer:
>DF=0,0,0
>
DF komande ispituju status grešaka kod kontrolera. Ukoliko nijedna greška
nije prisutna, kontroler odgovara „=0,0,0“. Daljim pritiskanjem tipki D, F i CR, unos
se prikazuje na ekranu i IPC dodaje svoj odgovor i ponovo prikazuje njegov odzivnik.
Pogrešne komande rezultiraju porukom o grešci „ACCESS ERROR“, ili,
rijeđe, skraćenim oblikom „ERR“. Takođe, čuje se zvučni signal iz zvučnika.
Komanda
Odgovor
Odgovor o grešci
<command> \r
<command> <response> \r\n>\21
<command>
b\r\nACCESS ERROR\r\n>\21
3.2. Ulančavanje CI komandi
Gotovo sve komande mogu biti ulančane. CI procesuira ulančane komande u
nizu i odgovarajući odgovori se grupišu. Komande se moraju odvajati od različitih
komandnih grupa znakom „tačka-zarez“.
Primjer:
Pojedinačne komande za startovanje programa P0 i ispitivanje statusa
programa su:
>RPO
>DPO=0,0,3,2,0
>
Ulančan, isti niz komandi ima oblik:
>RPO;DPO=0,0,3,2,0,0
>
Komande u istoj komandnoj grupi (tj, nekoliko prikazujućih ili modificirajućih
komandi) mogu se odvajati samo zarezima, bez ponavljanja prvog znaka za odabir
komandne grupe.
Primjer:
R0, FW16 i 10.3 trebaju biti prikazani. Kao pojedinačne komande:
>DR0=432
>DMW16=0
>DE0.3=1
>
Isti niz komandi, ulančan:
>DR0, FW16, E0.3=432=0=1
>
23
Višelinijske komande ne mogu biti ulančane. Na primjer, komande za
promjenu vrijednosti sa unosom stare vrijednosti. Ulančavanje takođe nije moguće za
komande koje trebaju biti proslijeđene drajverima.
3.3. Masovni prikaz
Znak minus može se dodati na kraj komandi radi prikaza vrijednosti. Tada 16
konsekventnih vrijednosti bude prikazano kao masovni prikaz. Ovaj metod
prikazivanja je takođe dopustiv i za bit operande.
Primjer:
Komanda „DR1“ prikazuje Registar 1.
>DR1=0
>
Suprotno, komanda „DR1-“ simultano pokazuje Registre od 1 do 16.
>DR1-=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
>
3.4. Zaštita lozinkom
Pristup kontroleru može se osigurati lozinkom. Ako je lozinka postavljena,
pristup modifikovanju i pristup drajverima u CI je isključen.
Komande potrebne da se postavi lozinka (LC) u da se zaključa ili otključa
kontrolor (LX) su opisane u daljim odjeljcima. Evo nekoliko pravila u vezi sa
zaštitnom lozinkom:
• Lozinka se sastoji od 3 do 20 vidljivih ASCII znakova sa izuzetkom zareza (tj,
bez praznih prostora, TAB-ova itd.).
• Ukoliko je lozinka podešena, ona je pohranjena u kontroleru dok je ovaj
ugašen, ukoliko su aktivirani operatori koji je čuvaju. Tako će, ukoliko bude
uključen ili resetovan, kontroler biti zaključan ukoliko je lozinka postavljena.
• Ukoliko nije dostupna memorija za čuvanje, lozinka se takođe može čuvati
unutar projekta. U tom slučaju, lozinka će biti postavljena i kontroler zaključan
kad se projekat pokrene. Lozinka za projekat se podešava unutar Podešavanja
Kontrolera u projektu.
3.5. Pregled CI komandi
Slijedeći opis komandi koristi skraćenice prema dole prikazanoj tabeli:
<BN>
<BN>
<DN>
<PN>
<RN>
<TN>
<WN>
<CN>
Broj
Broj
Broj
Broj
Broj
Broj
Broj
Broj
bita
bloka
drajvera
programa
registra
tajmera
rije•i
broja•a
24
<YN>
Broj stanice
Unesite validnu vrijednost umjesto „“. Opseg vrijednosti zavisi od operanda.
3.6. Aktiviranje CI/Prijavljivanje
DC (Ctrl T)
Logon and output of the kernel version
CI izvještava priključeni terminal bilo nakon što se unese DC4 (Ctrl T) ili se
primi hardversko BREAK. Svaka komanda koja se procesuira bude prekinuta.
Kontroler odgovara sa „FESTO IPC V2.nn“ i normalnim odzivnikom „<“ u slijedećoj
liniji.
Molimo uočite da hardversko BREAK neće biti uočeno od strane FEC i HC0X
kontrolera!
Slanje hardverskog BREAK takođe podešava brzinu prenosa na strani
kontrolera na standardnu brzinu od 9600 ili 2400 Bauda, što zavisi od jedne od
slijedećih metoda:
1. Nakon BREAK podesite kružno 2 puta na 9600 Bauda, 1 put na 2400 Bauda
(podrazumijevano).
2. Uvijek 9600 Bauda (stari metod).
3. Uvijek 2400 Bauda (korisno za spore modemske veze i Field PCNet inače zvani
MpRAM).
4. Nakon BREAK podesite kružno 3 puta na 2400 Bauda, 2 puta na 9600 Bauda.
Svi metodi dopuštaju promjenu na bilo koju brzinu prenosa nakon
prijavljivanja (vidjeti MV komandu). Nakon paljenja, metod 1 biće odabran. Nakon
pokretanja projekta korišćenjem Field PCNet metod 4 će se automatski izvršiti.
Metodi 1, 2, i 4 dopuštaju povezivanje sa softverom bilo kog starog FST domaćina.
Ponekad prijavljivanje neće uspjeti iz prvog pokušaja. Pokušavajte ponovo
pritiskanjem tipke kao što vam prikazuje softver FST domaćina. Softver 3.21 novih
FST domaćina poznaje različite brzine prenosa i prilagodiće im se.
Metod prijavljivanja može se takođe odabrati funkcionalnim modulom
COM1METH.
3.6.1. COM1METH
Ulazni parametri
FU32
Povratni parametri FU32
X
Osloboditi me•uvezu
0
2x9600, 1x2400
1
uvijek 9600
2
uvijek 2400
3
3x2400, 2x9600
teku•i/novi metod prijavljivanja
Komanda X oslobađa serijski ulaz iskorišćen za CI (obično COM1). Ova
komanda radi samo kada je unešena preko serijskog ulaza.
3.7. Komande za prikaz operanda i stanja
25
DA[<YN>.]<WN>.<BN>
DAW[<YN>.]<WN>
DB<BN>
Prikazati izlazni bit
Prikazati izlaznu rije•
Prikazati programski modul.
Odgovor se sastoji od „=, 0, ,“.
•
•
•
•
Prva vrijednost je tip modula, bilo STL=0 LDR/FUP=1 ili C=2.
Druga vrijednost, opseg memorije, je uvijek 0.
Treća vrijednost pokazuje status programa za zvanje.
Posljednja vrijednost je tekući broj koraka unutar modula.
DBF<BN>
Prikazati funkcionalni modul
Odgovor se sastoji od „=, 0, ,“.
•
•
•
•
Prva vrijednost je tip modula, bilo STL=0 LDR/FUP=1 ili C=2.
Druga vrijednost, opseg memorije, je uvijek 0.
Treća vrijednost pokazuje status programa za zvanje.
Posljednja vrijednost je tekući broj koraka unutar modula.
DD
•
•
•
Prikazati teku•e postavke za
decimalno/heksadecimalno prikazivanje
rije•i
Izlaz je
„=D“ za decimalni prikaz, bez predznaka
„=S“ za decimalni prikaz, sa predznacima
„=H“ za heksadecimalni prikaz.
DE[<YN>.]<WN>.<BN>
DEW[<YN>.]<WN>
DF
Prikazati izlazni bit
Prikazati izlaznu rije•
Prikazati riječ o stanju grešaka
Izlaz:
• Vrijednost statusne riječi
• Broj programa u kome se greška pojavila
• Broj koraka unutar programa
na primjer „=59,3,24“.
U slučaju ulazno/izlaznih grešaka, broj programa pokazuje vrijednost 255, a
broj koraka pokazuje broj ulazne ili izlazne riječi u kojoj se greška pojavila.
DM<WN>.<BN>
DMW<WN>
DO<WN>
Prikazati indikator bita
Prikazati indikator rije•i
Prikazati funkcionalnu jedinicu
Globalne funkcionalne jedinice FU0 do FU31 i FU39 do FU255 mogu biti
prikazane.
Lokalne funkcionalne jedinice FU32 do FU38 mogu biti prikazane. Ove
funkcionalne jedinice su odvojene za svaki program.
DP<PN>
Prikazati status programa
6 vrijednosti je dato kao odgovor26
•
•
•
•
•
Prva vrijednost je tip modula, bilo STL=0 LDR/FUP=1 ili C=2.
Druga vrijednost, opseg memorije, je uvijek 0.
Status programa je treća vrijednost. Može biti nula za neaktivan, 2 za aktivan i
zadržan i 3 za aktivan i procesirajući.
Četvrta vrijednost je broj koraka. Ona nije nula za korake STL programa i
ljestvične dijagrame sa granama sve dok je program aktivan. Kada korak
programa još nije aktivan, on je u koraku 0.
Posljednje dvije vrijednosti su broj i korak pozvanog modula, ukoliko je
odgovarajući.
DR<RN>
DS<PN>
DT<TN>
DTA<TN>
DTE<TN>
DTV<TN>
DTW<TN>
DV
Prikazati
Prikazati
programa
Prikazati
Prikazati
gašenja
Prikazati
paljenja
Prikazati
Prikazati
Prikazati
registar
indikator po•etnog izvršenja
status tajmera za tajmer pulsa
status tajmera za tajmer odlaganja
status tajmera za tajmer odlaganja
podešene postavke tajmera
rije• tajmera
brzinu prenosa podataka
Komanda DV pokazuje tekuće postavke brzine prenosa podataka. Moguće
vrijednosti su „=1200“, „=2400“, „=4800“, „=9600“, „=19200“, „=38400“ ili
„=56000“.
DZ<ZN>
DZV<ZN>
DZW<ZN>
Prikazati status broja•a
Prikazati podešene postavke broja•a
Prikazati rije• broja•a
3.8. Komande za modifikovanje vrijednosti
Komande za modifikovanje operanda mogu se takođe davati bez unošenja
nove vrijednosti, tj. kao prikazana komanda. Tekuća vrijednost je onda vraćena i
može se resetovati sa novom vrijednošću ili zadržati pritiskom na Enter.
MA[<YN>.]<WN>.<BN>={0 | 1}
MAW[<YN>.]<WN>=
MD={D | S | H}
Modifikovati izlazni bit
Modifikovati izlaznu rije•
Podesiti vid prikaza
Vid prikaza može se podesiti na decimalni bez predznaka „=D“, decimalni sa
predznacima „=S“ ili na heksadecimalni „=H“.
ME[<YN>.]<WN>.<BN>={0 | 1}
MEW[<YN>.]<WN>=
MF=<number>
Modifikovati ulazni bit
Modifikovati ulaznu rije•
Modifikovati pogrešnu rije•
Vrijednost 0 briše tekuću grešku. Svaka druga vrijednost generiše
odgovarajuću grešku tokom obrade.
MM<WN>.<BN>={0 | 1}
MMW<WN>=<number>
MO<WN>=<number>
Modifikovati
Modifikovati
Modifikovati
funkcionalnu
indikator bita
indikator rije•i
globalnu
jedinicu
Modifikuje globalne funkcionalne jedinice FU0 do FU31 i FU39 do FU255.
27
MO<PN>.<WN>=<number>
Modifikovati lokalnu funkcionalnu
jedinicu.
Modifikuje lokalne funkcionalne jedinice FU32 do FU38. Ove funkcionalne
jedinice su odvojene za svaki program.
MR<RN>=<number>
MT<TN>=={0 | 1}
MTA<TN>=={0 | 1}
MTE<TN>={0 | 1}
MTV<TN>=<number>
MTW<TN>=<number>
MV=<baud>
Modifikovati registar
Modifikovati (start/stop) tajmer
pulsa
Modifikovati (start/stop) tajmer
odlaganja gašenja
Modifikovati (start/stop) tajmer
odlaganja paljenja
Modifikovati podešene postavke
tajmera
Modifikovati rije• tajmera
Podesiti brzinu prenosa podataka
Brzina prenosa podataka postavljena je na „MV=1200“, „MV=2400“,
„MV=4800“, „MV=9600“, „MV=19200“, „MV=38400“ ili „MV=56000“. Ona se
može skratiti na dva znaka, npr. „MV=96“. Napomena! „MV=56000“ nije dostupna
za FEC i HC0X kontrolore.
MZ<ZN>={0 | 1}
MZV<ZN>=<number>
MZW<ZN>=<number>
Podesiti broja•
Podesiti postavke broja•a
Postaviti rije• broja•a
3.9. Komande kontrole programa
B
BP<PN>
R
Prekinuti sve programe koji su u
toku
Prekinuti pojedina•ni program
Po•eti ili nastaviti program
Ukoliko je opcija „Resetovati programe“ selektovana u Podešavanjima
Kontrolera, program P0 se počinje ili nastavlja. Ukoliko indikator nije podešen, svi
prekinuti (zaustavljeni) programi se takođe nastavljaju.
RB<no>[,<FU32>[,<FU33>[, ... [,<FU37>[,<FU38>]]]]]]]
Pozvati programski modul
Komanda „RB“ poziva učitani programski modul (onaj koji je uključen u
projekat). Napomena! Komanda koristi kontekst programa P63, koji se treba čuvati u
rezervi u ovu svrhu. Traženi parametri moraju biti proslijeđeni sa pozivom. Neki
parametar može biti izostavljen. U ovom slučaju, koristi se prethodna vrijednost. To
vraća =<FU32>, <FU33>, <FU34>,<FU35>,<FU36>,<FU37>,<FU38>.
Primjer:
RB7,14,,9=4712,103,0,0,0,0,0
Pozovite CMP 7 sa FU32=14, FU33=Stara vrijednost, FU34=9, Rezultati
FU32=4712, FU33=103, FU34 do 38=0
RF<no>[,FU32>[,FU33>[, ... [,<FU37[,<FU38>]]]]]]]
Pozvati programski modul
28
Komanda „RF“ poziva učitani programski modul (onaj koji je uključen u
projekat). Napomena! Komanda koristi kontekst programa P63, koji se treba čuvati u
rezervi u ovu svrhu. Traženi parametri moraju biti proslijeđeni sa pozivom. Neki
parametar može biti izostavljen. U ovom slučaju, koristi se prethodna vrijednost. To
vraća =<FU32>, <FU33>, <FU34>,<FU35>,<FU36>,<FU37>,<FU38>.
RP<PN>
S
SP<PN>
Po•eti ili nastaviti program
Prekinuti sve programe
Prekinuti program <PN>
3.10. Komande za prebacivanje ulaza i izlaza
Svi ulazi i izlazi mogu biti selektivno prebačeni na 0 ili 1. Ukoliko je bit ulaza
prebačen na 0 ili 1, to je vidljivo za program i CI. Ukoliko je bit izlaza prebačen na 0
ili 1, to ostaje nevidljivo za program i CI, tj, učitavanje izlaznih bita ostaje
nepromijenjeno. Potpune ulazne i izlazne riječi takođe mogu biti prebacivane.
Napomena! Ulazi/izlazi mogu biti prebacivani samo tokom pronalaženja
grešaka. „Završen“ projekat ne smije sadržati prebacivane ulaze/izlaze.
Napomena! Tabela sile nije zadrživa.
Napomena! Tabela sile se automatski briše komandom Y ili učitavanjem
projekta.
Napomena! Ova osobina nije dostupna za sve tipove kontrolera. Prebacivanje
je generalno podržano kod HC1x i HC20 procesnih jedinica i za FECs i HC0X
procesne jedinice počevši od verzije kernela 2.25.
Slijedeće CI komande su dostupne za prebacivanje ulaza/izlaza:
YF
DAF<YN>.<BN>
Obrisati kompletnu tabelu sile
Prikazati izlazni bit
Rezultat
=0
=1
=N
Preba•en na 0
Preba•en na 1
Nije preba•en
DAWF<WN>
Prikazati izlaznu rije•
Rezultat „=xxxxxxxxxxxxxxxx“ bitvajs sa
=0
=1
=N
Preba•en na 0
Preba•en na 1
Nije preba•en
DEF<WN>.<BN>
Prikazati ulazni bit
Rezultat „=xxxxxxxxxxxxxxxx“ bitvajs sa
=0
=1
=N
Preba•en na 0
Preba•en na 1
Nije preba•en
DEWF<WN>
Prikazati ulaznu rije•
Rezultat „=xxxxxxxxxxxxxxxx“ bitvajs sa
=0
=1
=N
Preba•en na 0
Preba•en na 1
Nije preba•en
MAF<WN>.<BN>={0 | 1 | N}
=0
=1
Unos u tabeli sile za podešavanje
izlaznog bita
Prebaci na 0
Prebaci na 1
29
=N
Ne prebacuj
MAWF<WN>={val | N}
=val
=N
Unos u tabeli sile za podešavanje
izlazne rije•i
Prebaci na datu vrijednost
Ne prebacuj
MEF<WN>.<BN>={0 | 1 | N}
ulaznog bita
=0
Prebaci na 0
=1
Prebaci na 1
=N
Ne prebacuj
MEWF<WN>={val | N}
=val
=N
Unos u tabeli sile za podešavanje
Unos u tabeli sile za podešavanje ulazne riječi
Prebaci na datu vrijednost
Ne prebacuj
3.11. Komande ugrađene u drajverima
FST PLC operativni sistem dopušta drajverima u projektu da dopunjavaju
standardne komande sa komandama specifičnim za drajvere. Komande specifične za
drajvere unose se sa početnim uzvičnikom „!“ praćenim brojem drajvera i samom
komandom>!<DN><komanda>
>
Drajver, međutim, ne mora podržavati vlastite komande. Mnogi drajveri
odgovaraju na praznu komandu sa informacijom o statusu. Generalno, komande
drajvera imaju sličnu strukturu standardnim komandama. Na primjer, drajver niza sa
brojem drajvera 3 ima komande prikaza za nizove u kojima je korišćen odgovarajući
broj niza.
Primjer:
>!3d12='FESTO
>
4. Nizovi
Verzija 1.01
FST drajver za nizove čini dostupnim novi, dodatni tip podataka: tip podatka
STRING (niz). Podešene postavke pružaju podršku za 256 nizova. Pojedinačnim
nizovima se pristupa posredstvom broja niza. Nizovi mogu sadržavati sve znakove sa
izuzetkom znaka NULE (heksadecimalno $00). Oni mogu biti dugi koliko je potrebno,
u domenu zahtjeva podešene memorije. Nizovi nisu zadrživi.
4.1. Konfigurisanje drajvera i podešavanje parametara
Ukoliko želimo koristiti nizove u FST IPC projektu, moramo unijeti STRINGS
drajver u konfigurator drajvera i podesiti neophodne parametre.
IPC drajv:
30
Naznačimo drajv na kojem je smješten ili na koji treba biti učitan drajver niza
STRINGS.EXE.
Rezervisana memorija u bajtima:
Unesemo maksimalni kapacitet memorije koji nizovi trebaju koristiti.
Dopušteni opseg je od 5 do 65000 bajta. Podešena postavka je 5 bajta. Ovo
podešavanje se takođe može naznačiti ili modifikovati upotrebom STRINIT modula
Broj nizova:
Unesemo maksimalni broj nizova. Dopušteni opseg je od 5 do 1024 nizova.
Podešena postavka je 256 nizova.
Datoteka sa početnim postavkama:
Unesemo naziv datoteke koja sadrži inicijalne vrijednosti za nizove. Format
ove datoteke opisan je u slijedećem odjeljku.
4.2. Inicijalizacija nizova
Jednostavna tekstualna datoteka se koristi za inicijaliziranje nizova. Ona mora
imati ime sa ekstenzijom „TXT“. Svaki red u datoteci je niz. Prva linija je niz 0.
Nizovi koji nedostaju se inicijaliziraju kao prazni nizovi.
Svi znakovi u novom redu (CR ili CF) u tekstualnoj datoteci su uklonjeni.
Posebni znakovi su predstavljeni kombinacijom dva znaka, \ znak i drugi znak.
Mogući su slijedeći posebni znaci:
\a
\b
alert
backspace
\f
formfeed
Pomjeranje obrasca (FF)
\n
linefeed
Prelaz u slijedeći red (LF)
\r
return
Novi red (CR)
\t
tab
Znak tabulatora
\<no>
Znak zvona (slušni signal)
Pomjeriti položaj jednog znaka ulijevo
Heksadecimalna definicija znaka;
<no> mora početi sa cifrom,
na primjer “\0AB” (ispravno)
prije nego “\AB” (neispravno).
Znak ‘\’ predstavlja se sa dvije obrnute kose crte ‘\\’.
31
4.3. Proširene CI komande za nizove
Kada se nizovi koriste u projektu, drugim riječima kada je drajver niza učitan,
komandni set CI je snabdjeven drajverom niza. Dodatne komande za drajver niza su
prikazane dalje:
!Dx
Prikazati niz x
!3Mx=text
Uskladiti niz x sa poretkom
znakova 'text'
!3S
Oznaka statusa
Rezultat „=count=<XX>,storage=<YY>,<ZZ>“, gdje je
XX
YY
ZZ
=
=
=
=
Broj nizova
Kapacitet zauzete memorije
OK, ako je memorija niza OK, ili
BAD, ako je memorija niza sa greškama
U ovim komandama, „!3“ je prefiks za CI poziv u drajveru; u ovom slučaju to
je u drajveru 3 za nizove.
4.4. Moduli za upravljanje nizovima
Postoji jedan broj unaprijed pripremljenih modula koji se mogu koristiti za
upravljanje nizovima. Oni se moraju uvesti u projekat na uobičajen način. Različiti
razmotreni nizovi naznačeni su brojem niza. Da bi obrisali niz 5, tj. da bi ga reducirali
na dužinu 0, mora se pozvati STRCLR modul. Taj modul se, na primjer, može uvesti
kao CMP 73;
U STL programski redovi pojavljuju se kako slijedi:
THEN ...
CMP 73
WITH V5
'' obrisati sa STRCLR
'' od niza 5
Da bi kopirali niz 6 u niz 12, mora se pozvati modul STRCPY. Taj modul se,
na primjer, može uvesti kao CMP 74.
U STL programski redovi pojavljuju se kako slijedi:
THEN ...
CMP 74
WITH R0
WITH V12
'' kopirati sa STRCPY
'' od niza sa brojem u R0
'' do niza 12
Većina modula nizova vraća rezultat usljed otkrivanja greške.
32
Pregled modula:
STRADDR
STRAPPND
STRATOH
STRATOI
STRATOIX
STRATOU
STRCAT
STRCHECK
STRCHGET
STRCHSET
STRCI
STRCLR
STRCMP
STRCPY
STRDEL
STRDUMP
STRFILL
STRFILLW
STRFINDC
STRFINDS
STRGROW
STRHTOA
STRICMP
STRINIT
STRINSRT
STRITOA
STRLEFT
STRLEN
STRLOWER
STRMID
STRNCMP
STRNICMP
STRRIGHT
STRSTAT
STRUPPER
STRUSAGE
STRUTOA
Odrediti internu adresu niza
Dodati znak na kraj niza
Konvertovati heksadecimalni niz u riječ
Konverovati niz u riječ s predznakom
Konverovati niz u riječ s predznakom
Konverovati niz u riječ bez predznaka
Kombinovati dva niza u treći niz
Provjera memorije za memoriju niza
Izdvojiti znak iz niza
Zamijeniti znak u nizu
Izvršiti CI komandu
Obrisati niz
Uporediti dva niza znak po znak,
Uporediti dva niza znak po znak,
praveći razliku između velikih i malih slova
Kopirati niz
Obrisati dio niza
Prikazati broj nizova
Stvoriti niz sa naznačenim brojem identičnih znakova
Ispuniti niz drugim nizom, uravnanim lijevo ili desno
Pronaći znak u nizu
Pronaći podniz u nizu
Proširiti memoriju niza za pojedinačni niz
Pretvoriti riječ u heksadecimalni niz
Uporediti dva niza znak po znak,
ne praveći razliku između velikih i malih slova
Inicijalizacija ili re-inicijalizacija
Ubaciti niz u drugi niz
Konvertovati riječ sa predznakom u niz
Lijevi podniz
Dužina niza
Konvertovati niz u mala slova
Srednji podniz
Uporediti prve znakove dva niza,
praveći razliku između velikih i malih slova
Uporediti prve znakove dva niza,
ne praveći razliku između velikih i malih slova
Desni podniz
Status drajvera niza
Konvertovati niz u velika slova
Upotrebljena i slobodna memorija
Konvertovati riječ bez predznaka u niz
4.4.1. STRADDR
Odrediti internu adresu niza.
33
Ulazni parametri
Povratni parametri
FU32
FU32
FU33
Broj niza
Grana adrese
0 ukoliko je broj niza nevažeći
Dio adrese
0 ukoliko je broj niza nevažeći
Kako su dužine upotrebljenih nizova podložne dinamičkoj promjeni, možda
bude potrebno pomjeriti nizove unutar memorije niza. Direktna posljedica ovoga je da
se, nakon što je adresa niza određena, on može odmah promjeniti kao rezultat
operacija niza sa drugim nizovima. Adrese nizova stoga treba koristiti pod posebnim
uslovima.
4.4.2. STRAPPND
Dodati znak na kraj niza.
Ulazni parametri
Povratni parametri
FU32
FU34
FU32
Broj niza
znakovi koje treba dodati
0 ako je uspješno, inače greška
4.4.3. STRATOH
Konvertovati heksadecimalni niz u riječ.
Ulazni parametri
Povratni parametri
FU32
FU32
FU33
Broj niza
0 ako je uspješno, inače greška
Rezultirajuća vrijednost
Znakovi za prazan prostor i tabulatorni znakovi na početku i kraju niza su
dopušteni. Takođe, dopušteni su i znakovi '+' ili '-' prije brojčanih znakova.
4.4.4. STRATOIX
Konverovati niz u riječ s predznakom.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
FU33
FU34
Broj niza
Pozicija niza za konverziju
0 ako je uspješno, inače greška
Rezultirajuća vrijednost
Broj znakova korišćenih za konverziju
Znakovi za prazan prostor i tabulatorni znakovi na početku i kraju niza su
dopušteni. Takođe, dopušteni su i znakovi '+' ili '-' prije brojčanih znakova.
4.4.5. STRATOU
Konverovati niz u riječ bez predznaka
Ulazni parametri
FU32
Broj niza
34
Povratni parametri
FU32
FU33
0 ako je uspješno, inače greška
Rezultirajuća vrijednost
Znakovi za prazan prostor i tabulatorni znakovi na početku i kraju niza su
dopušteni. Takođe, dopušteni su i znakovi '+' ili '-' prije brojčanih znakova.
4.4.6. STRCAT
Kombinovati dva niza u treći niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj prvog izvornog niza
Broj drugog izvornog niza
Broj ciljnog niza
0 ako je uspješno, inače greška
4.4.7. STRCHECK
Provjera memorije za memoriju niza.
Ulazni parametr
Povratni parametri
Nijedan
FU32
0 ako je uspješno, inače greška
4.4.8. STRCHGET
Izdvojiti znak iz niza.
Ulazni parametri
FU32
FU33
Povratni parametri
FU32
FU33
Broj niza
Indeks znaka,
1 za prvi znak niza
0 ako je uspješno, inače greška
Izdvojeni znak
4.4.9. STRCHSET
Zamijeniti indeksirani znak u nizu.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj niza
Indeks znaka, 1 za prvi znak
Znak zamjene u bitu nižeg reda
0 ako je uspješno, inače greška
4.4.10. STRCI
Izvršiti CI komandu.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
Broj niza sa CI komandom
Broj niza za rezultat ovoga
0 ako je uspješno, inače greška
35
Niz koji nastane iz ove komande mora biti ne duži od 80 znakova. Rezultat CI
komande nije tumačen.
4.4.11. STRCLR
Obrisati niz.
Ulazni parametri
Povratni parametri
FU32
FU32
Broj niza
0 ako je uspješno, inače greška
Ovo je isto kao čišćenje niza ili reduciranje njegove dužine na 0.
4.4.12. STRCMP
Uporediti dva niza znak po znak.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
FU33
Broj prvog niza
Broj drugog niza
0 ako je uspješno, inače greška
1 ako su znakovi u prvom nizu
> od znakova u drugom nizu
-1 ako su znakovi u prvom nizu
< od znakova u drugom nizu
Velika i mala slova se razlikuju. Velika slova imaju nižu vrijednost nego
mala.
4.4.13. STRCPY
Kopirati jedan niz u drugi niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
Broj izvornog niza
Broj ciljnog niza
0 ako je uspješno, inače greška
4.4.14. STRDEL
Obrisati dio niza.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj niza
Indeks za prvi znak koji treba biti obrisan,
1 za prvi znak
Broj znakova
0 ako je uspješno, inače greška
4.4.15. STRDUMP
Proizvesti izlaz čistač grešaka serije nizova na monitoru IPC.
36
Ulazni parametri
Povratni parametri
FU32
FU33
Nijedan
Broj prvog niza
Broj posljednjeg niza
Ovaj modul ne bi se trebao koristiti pri normalnim operacijama. Ukoliko je
neophodno, mogu se koristiti proširene komande drajvera niza.
4.4.16. STRFILL
Stvoriti niz sa naznačenim brojem identičnih znakova.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj niza
Broj znakova
Znak koji popunjava
0 ako je uspješno, inače greška
4.4.17. STRFILLW
Ispuniti niz drugim nizom, uravnanim lijevo ili desno.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj nizova koje treba stvoriti
Broj znakova za ovaj niz
>0 za uravnane desno
<0 za uravnane lijevo
Broj nizova koje treba prebaciti
0 ako je uspješno, inače greška
Ukoliko je naznačena dužina za niz koji treba kreirati prekratka, rezultirajući
niz je skraćen.
4.4.18. STRFINDC
Pronaći znak u nizu.
Ulazni parametri
FU32
FU33
Povratni parametri FU32
Broj niza u kome se traži
Broj podniza koji treba naći
0 ako je uspješno, inače greška
>0 pozicija, 1 za prvi znak
0 ukoliko podniz nije nađen
4.4.19. STRGROW
Proširiti memoriju niza za pojedinačni niz iz dostupne memorije.
Ulazni parametri
FU32
FU33
Povratni parametri
FU32
Broj niza
Nova maksimalna veličina niza u znakovima
(bez \0 na kraju niza)
0 ako je uspješno, inače greška
Postojeći niz je zadržan nepromijenjen. Nakon ovoga, niz sa dužinom do
maksimalne veličine ovdje postavljene može biti upisan na adresu određenu sa
37
STRADDR. Svako drugo pozivanje modula niza može ponovo promijeniti podešenu
vrijednost.
4.4.20. STRHTOA
Konvertovati riječ u heksadecimalni niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
Vrijednost koju treba konvertovati
Broj niza
0 ako je uspješno, inače greška
Znak '$' je ubačen prije četiri heksadecimalna numerička znaka.
4.4.21. STRICMP
Uporediti dva niza znak po znak.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
FU33
Broj prvog niza
Broj drugog niza
0 ako je uspješno, inače greška
1 ako su znakovi u prvom nizu
> od znakova u drugom nizu
-1 ako su znakovi u prvom nizu
< od znakova u drugom nizu
Nema razlike između velikih i malih slova.
4.4.22. STRINSRT
Ubaciti niz u drugi niz sa naznačene pozicije.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj niza u koji treba ubaciti drugi niz
Pozicija prije koje treba ubaciti niz
1 = prije prvog znaka
Broj niza koji treba biti ubačen
0 ako je uspješno, inače greška
4.4.23. STRINIT
Podešava veličinu memorije za nizove i maksimalan broj nizova i uspostavlja
inicijalne vrijednosti nizova.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
Veličina memorije niza (minimum 1000)
Maksimalan broj nizova (minimum 10)
0 ako je uspješno, inače greška
4.4.24. STRITOA
Konvertovati riječ sa predznakom u niz.
38
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
Vrijednost koju treba konvertovati
Broj niza
0 ako je uspješno, inače greška
Ako je neophodno, znak '-' ubacuje se prije numeričkih znakova.
4.4.25. STRLEFT
Prebaciti lijevi podniz naznačene dužine u niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj izvornog niza
Broj znakova
Broj ciljnog niza
0 ako je uspješno, inače greška
Ako je izvorni niz kraći od naznačene dužine, izvorni niz se kopira.
4.4.26. STRLEN
Dužina niza.
Ulazni parametri
Povratni parametri
FU32
FU32
FU33
Broj niza
0 ako je uspješno, inače greška
Dužina
4.4.27. STRLOWER
Konvertovati niz u mala slova.
Ulazni parametri
FU32
Broj niza
Povratni parametri FU32
0 ako je uspješno, inače greška
Napomena! Znakovi specifični za neku zemlju se ne konvertuju.
4.4.28. STRMID
Konvertovati srednji podniz sa naznačene polazne pozicije i specifične dužine
u niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU35
FU32
Broj izvornog niza
Početni znak u izvornom nizu,
1 za prvi znak izvornog niza
Broj znakova
Broj ciljnog niza
0 ako je uspješno, inače greška
Ukoliko se polazna pozicija ne nađe u izvornom nizu, proizvodi se prazan niz.
Ukoliko je izvorni niz prekratak, ciljni niz se skraćuje prema njemu.
4.4.29. STRNCMP
39
Uporediti prve znakove dva niza.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
FU33
Broj prvog niza
Broj drugog niza
Broj znakova
0 ako je uspješno, inače greška
1 ako su znakovi u prvom nizu
> od znakova u drugom nizu
0 ako su oba niza identična
-1 ako su znakovi u prvom nizu
< od znakova u drugom nizu
Velika i mala slova se razlikuju. Velika slova imaju nižu vrijednost nego mala.
4.4.30. STRNICMP
Uporediti prve znakove dva niza.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
FU33
Broj prvog niza
Broj drugog niza
Broj znakova
0 ako je uspješno, inače greška
1 ako su znakovi u prvom nizu
> od znakova u drugom nizu
0 ako su oba niza identična
-1 ako su znakovi u prvom nizu
< od znakova u drugom nizu
Nema razlike između velikih i malih slova.
4.4.31. STRRIGHT
Prebaciti desni podniz naznačene dužine u niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj izvornog niza
Broj znakova
Broj ciljnog niza
0 ako je uspješno, inače greška
Ako je izvorni niz kraći od naznačene dužine, izvorni niz se kopira.
4.4.32. STRSTAT
Ispitati status drajvera niza.
Ulazni parametri
Povratni parametri
Nijedan
FU32
Podešena veličina memorije za nizove
40
FU33
FU34
FU35
Maksimalan broj nizova
Memorija iskorišćena od nizova
Slobodna memorija koja je preostala
4.4.33. STRUPPER
Konvertuje niz u velika slova.
Ulazni parametri
Povratni parametri
FU32
FU32
Broj niza
0 ako je uspješno, inače greška
Napomena! Znakovi specifični za neku zemlju se ne konvertuju.
4.4.34. STRUSAGE
Odrediti količinu iskorišćene i slobodne memorije za nizove.
Ulazni parametri
Povratni parametri
Nijedan
FU32
FU33
Memorija iskorišćena od nizova
Slobodna memorija koja je preostala
4.4.35. STRUTOA
Konvertovati riječ bez predznaka u niz.
Ulazni parametri
Povratni parametri
FU32
FU33
FU32
Vrijednost koju treba konvertovati
Broj niza
0 ako je uspješno, inače greška
4.4.36. STR2FLAG
Kopirati niz u zonu riječi sa indikatorom.
Ulazni parametri
FU32
Broj niza
FU33
Maksimalan broj znakova koji se mogu kopirati
FU34
Broj riječi sa indikatorom
Povratni parametri FU32
0 ako je uspješno, inače greška
FU33
Broj znakova koji su zaista kopirani
4.4.37. FLAG2STR
Kopirati riječ sa indikatorom u niz
Ulazni parametri
Povratni parametri
FU32
FU33
FU34
FU32
Broj niza
Broj znakova koje treba kopirati
Broj riječi sa indikatorom
0 ako je uspješno, inače greška
Svaka riječ sa indikatorom sadrži dva znaka.
41
Moduli STR2FLAG i FLAG2STR su posebno korisni povezani sa modulima
datoteka FREAD i FWRITE kada je neophodno upisati nizove u datoteku. Naznačena
zona riječi sa indikatorom se koristi za posredno pohranjivanje.
5.
Prikaz rada u realizovanom softveru i opis sistema
Softver za unos e-mobilnih ključeva je urađen u Microsoft Visual Basic-u
6.0. Softver treba da ima mogućnost komuniciranja sa PLC-om preko RS 232 porta.
Takođe treba da očita zadati broj stringova, prikaže ih i ima mogućnost izmjene.
5.1.
Kako softver funkcioniše
Na (slici 6.) je prikazan prozor gdje se pišu programski kodovi koji se
izvršavaju. Klikom na komandno dugme pojavljuje se prozor koda u okviru koga se
definišu naredbe koda.
42
Slika 5. Izgled prozora gdje se pišu programski kodovi.
U konkretnom slučaju bilo je potrebno napisati programski kod za prikaz
stringa, kao i programski kod koji šalje string prema serijskom portu.
43
Slika 6. Programski kod za prikaz stringa.
44
Slika 7. Programski kod koji šalje string prema serijskom portu.
Nakon završetka pisanja kodova pokrene se program. U pokrenutom
programu je naznačeno u koja polja šta treba da se unese. Kada u prokrenutom
programu kliknemo na komandno dugme “Dodaj” prikazuje se string (slika. 8.).
45
Slika 8. Prikaz stringa.
46
Takođe, u pokrenutom programu klikom na komandno dugme “Izmjeni”
vidimo da je string poslat prema serijskom portu (slika 9.).
Slika 9. Prikazuje da je string poslat prema serijskom portu.
47
Zaključak
Poslijednjih godina je veoma rasprostranjena upotreba PLC–a u svim
granama industrije kao i drugim oblastima gdje se to zahtijeva. Danas se gotovo ne
može zamisliti proces proizvodnje bez korišćenja PLC–a pogotovo u upravljanju
radom mašina. Upravljanje komplikovanim procesima biva jednostavnije i takođe je
olakšano otkrivanje grešaka i njihovo otklanjanje. Upotrebom PLC–a se omogućava
veća fleksibilnost u realizaciji upravljačkog sistema. Takođe je prije puštanja
programa u rad moguće simulirati rad programa i otkriti greške na vrijeme.
Upotreba mobilnih telefona je takođe veoma rasprostranjena. Današnji
mobilni telefoni su dostupni svakom potencijalnom korisniku kako zbog jednostavne
upotrebe tako i zbog cijene. GSM tehnologija je nekoliko godina unazad veoma
napredovala tako da su današnji mobilni telefoni mnogo manjiih dimenzija ali sa
mnogo više mogućnosti nego telefoni npr: prije tri godine.
Sada u telefonima postoje kamere što dovodi do ozbiljnog problema
korišćenja mobilnih telefona na radnim mjestima na kojima je zabranjeno slikanje
objekata (elektrane, vojni objekti, dobrostojeće kompanije itd) ili na mjestima na
kojima je moguće ugroziti privatnost ljudi ( saune, solarijumi itd).
Takođe, čip u telefonu je daleko razvijeniji tako da neki modeli telefona
ustvari predstavljaju manje računare (noviji modeli marke NOKIA).
Broj korisnika GSM tehnologije se svakog dana povećava. Istraživanja
pokazuju da neki ljudi ne mogu da zamisle svoj život bez mobilnih telefona. Svaki
korisnik ima jedinstven broj telefona i dodatne mogućnosti koje pružaju operateri.
Roaming na primer je veoma korisna mogućnost iako je skupa.
Softver za unos e–mobilnih ključeva je predviđen za otključavanje ulaza na
zgradama ili samih stanova korišćenjem mobilnog telefona. Kada korisnik pozove broj
telefona SIM kartice koja se nalazi u TCS uređaju i ako se njegov broj nalazi na listi
(objašnjeno u prethodnom poglavlju) električni signal poslat sa izlaza na PLC–u
otključava vrata. Ovo je jednostavno realizovano ali bez PLC–a, mobilnog telefona i
TCS uređaja ne bi moglo da funkcioniše. Svaka od ove tri komponente ima veoma
značajnu ulogu u realizaciji rješenja predstavljenog u ovom radu.
Predstavljeno rješenje može biti iskorišteno i u industriji da se ograniči
pristup u fabrike i radnicima u neke prostorije unutar fabrika za koje nemaju
ovlašćenja.
Cilj ovog rada je bio da olakša unos novih i izmjenu postojećih korisnika i da
na taj način olakša korišćenje čitavog sistema.
48
Literatura
1. Your Personal PLC Tutor Site, http://www.plcs.net
2. http://www.plcautomations.com
3. Mobile phone history: digital mobile telephony - http://www.Mobile phone
history digital mobile telephony.htm
4. Diplomski rad, Dragana Škrinjar, Novi Sad 2004
5. DPS – Promatic telecom Control Systems, TCS 3.5 and TCS OS 5.1x
Instruction List
6. Uvod u industrijske PLC kontrolere , Nebojša Matić , Mikroelektronika ,
Beograd 2001
7. http://www.telefonnet/tehnologije/arhitekture.htm
8.
Festo controler’s
49
Download

Diplomski rad - Elektrotehnički fakultet Istočno Sarajevo