_MENÜ____________

NYITÓLAP

LETÖLTÉS

KÉPEK

VIDEÓK

FST WEB DEMO

KAPCSOLAT

_DOKUMENTÁCIÓ___

INTERNET

TCP/IP MODELL

RÉTEG KAPCSOLAT

VILÁGHÁLÓ

HTML

PLC

FEC PLC

SZERVOPNEUMATIKA

PALETTÁZÓ

WEB FELÜLET

ÖSSZEGZÉS

IRODALOM


PLCweb Project


Budapesti Mûszaki és Gazdaságtudományi Egyetem
Mechatronika, Optika és Mûszertechnika Tanszék


 
   

Webes felület

 

A Weboldalunkat bármilyen HTML-szerkesztõvel elkészíthetjük, akár a hagyományos Microsoft FrontPage vagy a Dreamweaver MX használatával. Aki most lát neki az elsõ weboldalának megszerkesztéséhez, annak az utóbbi programot javaslom. A Dreamweaver MX a Macromedia Dreamweaver, a díjmentes HTML-szerkesztõ és webalkalmazás-fejlesztõ eszköz legújabb változata. A Dreamweaver használatával rögtön láthatjuk a tervezés alatt álló weboldalt, és bármilyen mûködésre könnyedén rá is bírhatjuk. A weboldalak HTML nyelven íródnak, de rengeteg dolgot megtehetünk anélkül, hogy egyetlen sornyi HTML-t is látnunk kellene. A Dreamweaver egy „azt kapod, amit látsz” típusú weboldal-szerkesztõ, mely nagyon hatékony, ugyanakkor egyszerûen használható.
Az általános HTML nyelvbe, a FESTO PLC programozási nyelvben használt hivatkozásokat, utasításokat bele kell csempészni valahogyan, azért hogy a PLC és a weboldal, egymás számára érthetõ nyelven tudjon kommunikálni. Sajnos nem állt rendelkezésre olyan forrás, amelyben ez részletesen le lett volna írva. Egy létezõ demo verziójú FESTO weboldal kielemzése, valamint a PLC utasításlistás kódelemeinek megismerése után, sikerült olyan HTML-ben megírt weboldalt szerkeszteni, amellyel különféle folyamatok vezérelhetõk, felügyelhetõk. A szervopneumatikus palettázó berendezés mûködtetését megvalósító weboldalak bemutatása közben könnyen megérthetõk ezen utasítások.
A legfontosabb, hogy a PLC-n lévõ FTP szerver B könyvtárába (ahol a PLC mûködéséért felelõs megírt program is tárolódik) egy web elnevezésû alkönyvtárt (27. ábra) hozzunk létre.


27. ábra PLC FTP szerver B könyvtára

A beágyazott webszerver ebbõl a könyvtárból (28. ábra) fog dolgozni, itt találja meg a felhasználó által kért oldalakat és az oldalhoz tartozó elemeket (képek, animációk, videók…). Ebbe a könyvtárban kell elhelyezni a JavaScipt számára értelmezhetõ fst.js fájlt is. Oda kell figyelnünk még arra is, hogy amit fõoldalként nyit meg böngészõnk, amikor elérjük a PLC Web-szerverét, annak main.htm nevûnek kell lennie, különben „A lap nem jeleníthetõ meg” hibaüzenetet kapunk. A további oldalakat, amikre a fõoldalból jutunk, már tetszés szerint nevezhetjük el.

28. ábra WEB könyvtár

A fõoldal (29. ábra, main.htm) HTML szerkezete a html segédletben látható. Dreamweaver programot használva, annyi elõnyünk van, hogy ezekbõl a HTML- kódokból egy darabot sem kell beírnunk, mindezt megteszi helyettünk a szerkesztõ program, csak a szükséges elemeket kell behúznunk a szerkesztõ felületbe.

29. ábra main.htm oldal

A main.htm oldal (29. ábra) mûködését tekintve két fõ feladata van. A teszt oldal elõhívása és a web kamera képének megjelenítése. A web kamera oldalának elõhívása egy nyomógomb lenyomására hajtódik végre, HTML kódja (html segédlet) a 22. sorban olvasható. Funkcióját tekintve egy új böngészõ ablakban a http://152.66.24.253/home.htm címen regisztrált web kamera honlapját jeleníti meg, melyen keresztül figyelhetjük a palettázó berendezés mûködését. Megjelenik egy elõugró üzenet is, mely közli a látogató számára a web kamera oldalának hozzáférési kódjait.
A palettázó berendezés képén a start gomb fölé mozgatva a kurzort START felirat jelenik meg, rákattintva a test.htm oldalra jutunk el, ezt a 27. sor írja le.
A fejlécben (2.- 13. HTML kódsor) a honlap nevének megadása történt, és a JavaScript számára meghatározásra kerül a használni kívánt script.

A következõ megszerkesztett oldal a test.htm oldal, mely oldalra a fõoldalról az imént olvasott módon juthatunk el. A teljes HTML felépítés helyett, inkább a vezérlés és visszajelzés számára lényeges dolgokat emelném ki az oldal bemutatása során.
A PLC mûködését tekintve, ha valaki a honlapot felkeresve az ott lévõ nyomógombokat benyomja, a palettázó berendezést semmilyen mûvelet végrehajtására nem tudja rávenni, míg az „Üzemen kívül” felirat olvasható a HTML oldalon (30. ábra). Valójában ez a funkció egy visszajelzést szolgál, információt ad, hogy a berendezés mûködtethetõ-e, vagy sem.
Az interneten keresztüli vezérlés engedélyezése, indítása a palettázó berendezés mellett elhelyezett reteszelhetõ nyomógomb benyomásával érhetõ el. A nyomógomb benyomásával egy memória szó (FW2) értékét állítjuk be. A különbözõ értékekhez üzeneteket rendelünk a HTML oldalon. A kiolvasás egy rendelkezésünkre álló FESTO-s oldalakat kezelõ JavaScript használatával történik, ami egy HTML fájlokba tervezett objektumorientált nyelv. Alapjai a C és C++ nyelvek, így ezekre sokban hasonlít. Tulajdonképpen a JavaScript a weboldal motorja. Elõször is be kell olvastatni a JavaScript által felhasznált fst.js script-et. Ezt az eljárást már a weboldal fejlécében meg kell valósítanunk:

<script language="JavaScript" src="fst.js">
</script>


A visszajelzés HTML-kódja:
< script language="JavaScript">
switch ( <FSTCI dmw2> )
{ case 0: document.write("Üzemen kívül"); break;
case 1: document.write("Üzem alatt"); break;
default: document.write("Kapcsolódás"); break;
}
</script>


,azaz a FESTO FEC PLC belsõ regiszterébõl kiolvassa a 2-es memória szó aktuális értékét. 0-ra „Üzemen kívül”, 1-re pedig „Üzem alatt” feliratot (31. ábra) ír ki, amit mi definiáltunk elõzõleg. Köztes állapot esetén, amikor nem érkezik válasz a PLC felõl (pl.: a hálózat megterhelt, lassú) „Kapcsolódás” felirat olvasható.
A PLC programozásban a szavak kezelésére az FW megjelölés használatos, a hivatkozásban mégis MW jelölést láthatunk (<FSTCI dmw2>). Az eltérés abból adódhat, hogy a PLC Flag angol kifejezést használja, a Web-es alkalmazás, pedig a Merker német kifejezést.
A folyamatos adatkiolvasást az oldal állandó frissítésével érjük el. A HTML szerkezetében közvetlenül a fejrészbe tehetjük frissítõ parancsunkat, meghatározva a frissítés gyakoriságát [sec]:

<meta http-equiv="Refresh" content="3;url=test.htm">


30. ábra test.htm

Ugyanilyen adatkiolvasási eljárással jelenítõdik meg az egyes tengelyek lépés számlálóinak értékei. CW0 és CW1 értékét direktbe is kiírathatjuk a webes felületen, vagy értékeihez üzeneteket köthetünk, mint az üzemállapot megjelenítésénél. Jelen esetben nem a konkrét értékek kerültek kijelzésre. Ennek oka az volt, hogy a számláló a felsõ határnál tovább számlált a nyomógombok megnyomásakor, a berendezés viszont (a helyes mûködésnek megfelelõen) a paletta határán továbblépés nélkül mozdulatlanul állt. A továbbszámlálás figyelmen kívül hagyásaként, hamis lépésadatok esetén „Véghelyzet” felirat kerül kijelzésére.
A HTML parancs: <FSTCI dzw0> és <FSTCI dzw1> a CW0 (X koordináta) és CW1 (Y koordináta) értékeinek kiolvastatására. Szintén szintaktikai eltérés mutatkozik a PLC programozásában ismert kód és a HTML-es kód között a számláló használatára. A PLC Counter angol kifejezést használja, a Web-es alkalmazás, pedig a Zähler német kifejezést.

31. ábra test.htm üzem közben

Az egyes tengelyeken történõ lépéseket számláló regiszterek értékeinek kiolvastatása az alábbiak szerint történik.
A PLC programban az X tengelyhez a CW0 számláló lett rendelve, ennek megfelelõen:

< script language="JavaScript">
switch ( <FSTCI dzw0> )
{ case -1: document.write("-1"); break;
case 0: document.write("0"); break;
case 1: document.write("1"); break;
case 2: document.write("2"); break;
case 3: document.write("3"); break;
case 4: document.write("4"); break;
case 5: document.write("5"); break;
default: document.write("Véghelyzet"); break; }
</script>

Látható egy negatív érték is, mert az X tengelyen a nullponthoz képest egyet léphetünk negatív irányban is a palettán. Az Y tengelyhez, pedig a CW1 számláló lett rendelve, így:
< script language="JavaScript">
switch ( <FSTCI dzw1> )
{ case 0: document.write("0"); break;
case 1: document.write("1"); break;
case 2: document.write("2"); break;
case 3: document.write("3"); break;
case 4: document.write("4"); break;
case 5: document.write("5"); break;
case 6: document.write("6"); break;
default: document.write("Véghelyzet"); break; }
</script>


A rendszerfelügyelet így tehát megoldott, a vezérlést pedig, a nyomógombok akció funkciójának felhasználásával valósíthatjuk meg. Ezen funkcióval, rákattintás hatására a JavaScript lefordít a PLC számára –az fst.js scriptnek megfelelõen- értelmezhetõ nyelvre egy belsõmemória címzést és annak egy beírtatni kívánt értéket.
A PLC programban minden egyes feladathoz tartozó bitkombinációt, amit az SPC200 számára ad ki, az FW1 belsõ regiszter értékétõl tettük függõvé.
Következõ FW1 értékek kerülnek elküldésre:
• 0, akkor a PLC P5 programja fog mûködni, az SPC200 nullpontfelvétel hajt végre.
< input name="button" type="button" onClick="CISend('MW1', '0')" value="Nullpont felvétel">

A HTML nyelvben a gomb pozícióját és feliratát definiálva, az akció meghatározása történik.
Rákattintás hatására az FW1 memória szót 0 decimális értékûre írja át a PLC memóriájában. A 0 decimális érték beírás hatására a PLC belsõ memóriájának 1-s szó összes bitjének értéke 0 lesz (21. táblázat).

21. táblázat FW1=0 esetén a PLC belsõ regisztereinek értéke

• 1, akkor a P1 program fog mûködni az SPC200, X tengely menti pozícionálást hajt végre.
< input name="button1" type="button" onClick="CISend('MW1', '1')" value=" + ">
Rákattintás hatására az FW1 memória szót 1 decimális értékure írja át a PLC memóriájában.
Az 1 decimális érték beírás hatására a PLC belsõ memóriájának 1-s szavának 0-s bitjének értéke 1 lesz (22. táblázat).

22. táblázat FW1=1 esetén a PLC belsõ regisztereinek értéke

• 2, P2 program fog mûködni, az SPC200 Y tengely menti pozícionálást hajt végre.
< input name="button2" type="button" onClick="CISend('MW1', '2')" value=" + ">
• 3, P1 programból a negatív irányú pozícionálás bitkombinációja kerül elküldésre.
< input name="button11" type="button" onClick="CISend('MW1', '3')" value=" - ">
• 4, P2 programból a negatív irányú pozícionálás bitkombinációja kerül elküldésre.
< input name="button21" type="button" onClick="CISend('MW1', '4')" value=" - ">
• 5, P3 programból a megfogót záró bitkombináció állítódik be.
< input name="button3" type="button" onClick="CISend('MW1', '5')" value="ZÁR">
• 7, P3 programból a megfogót nyitó bitkombináció állítódik be.
< input name="button31" type="button" onClick="CISend('MW1', '7')" value="NYIT">
• 9, P4 programból a Z tengelyt felsõ pozícióba küldõ bitkombináció állítódik be.
< input name="button4" type="button" onClick="CISend('MW1', '9')" value="FEL">

• 11, P4-bõl a Z tengelyt alsó pozícióba küldõ bitkombináció állítódik be.
< input name="button41" type="button" onClick="CISend('MW1', '11')" value="LE">
• 13, P6 programból a megfogó elforgatásának bitkombinációja válik aktívvá.
< input name="button5" type="button" onClick="CISend('MW1', '13')" value="Megfogó alaphelyzetbe">
• 14, P7 program szerinti komplett ciklus hajtódik végre.
< input name="button6" type="button" onClick="CISend('MW1', '14')" value="Alaphelyzetfelvétel">

Lap tetejére

 

 

 

D

 

O

 

K

 

U

 

M

 

E

 

N

 

T

 

Á

 

C

 

I

 

Ó

 

-

 

D

 

O

 

K

 

U

 

M

 

E

 

N

 

T

 

Á

 

C

 

I

 

Ó

 

D

 

O

 

K

 

U

 

M

 

E

 

N

 

T

 

Á

 

C

 

I

 

Ó

 

D

 

O

 

K

 

U

 

M

 

E

 

N

 

T

 

Á

 

C

 

I

 

Ó

 

D

 

O

 

K

 

U

 

M

 

E

 

N

 

T

 

Á

 

C

 

I

 

Ó

 

D

 

O

 

K

 

U

 

M

 

E

 

N

 

T

 

Á

 

C

 

I

 

Ó

 

 

Nyitólap | Letöltés | Képek | Videók | WebDemo | Kapcsolat

Internet | TCP/IP | Rétegek | Világháló | HTML | PLC | FEC | Servo | Palettázó | Web felület | Összegzés | Irodalom

© NaZsi