Látványterv a technológiai folyamatok


2.1 ábra - nézet a szimbólum táblázat Simbol szerkesztő


Itt a szöveg a program nyelvét STL


ORGANIZATION_BLOCK OB 1

OB1_EV_CLASS. BYTE; // Bit 0-3 = 1 (Coming esemény), 4-7 biteket = 1 (Esemény 1. osztály)

OB1_SCAN_1. BYTE; // 1 (hidegindítást szkennelési 1 OB 1), 3 (Scan 2-n OB 1)

OB1_PRIORITY. BYTE; // 1 (Prioritás 1 a legalacsonyabb)

OB1_OB_NUMBR. BYTE; // 1 (Szervezet blokk 1, OB1)

OB1_RESERVED_1. BYTE; // fenntartva rendszer

OB1_RESERVED_2. BYTE; // fenntartva rendszer

OB1_PREV_CYCLE. INT; // ciklusideje előző OB1 scan (ezredmásodperc)

OB1_MIN_CYCLE. INT; // minimális ciklusideje OB1 (milliszekundum)

OB1_MAX_CYCLE. INT; // Maximum ciklusidő OB1 (ezredmásodperc)

OB1_DATE_TIME. DATE_AND_TIME; // dátum és idő OB1 kezdődött

CÍM = INITIALIZE, 1. fázis


Szervezet blokk OB100 meghatározza a kezdeti értékek időintervallumok már végrehajtásra csak egyszer, amikor az adatkezelő a Run átviteli módot. A fenti program végrehajthat egy közlekedési lámpa vezérlési funkciók előre beállított értékek fázisok alatt. Az idő módosításához az egyes fázisok és vizualizációs jelzőlámpánál dolgozunk a WinCC projekt jött létre. Mint már említettük, a projekt számos olyan feladatot, így a program megjelenik a főablak megkezdése után, a 2.2 ábrán látható.



2.2 ábra - Start ablakhoz


Miután a Start gomb megnyomásával a program átvált egy ablakot, ahol kiválaszthatja, hogyan működik a vezérlő, és hogyan lehet megoldani a problémát. Kiválasztása a kiválasztási ablak bal alsó gomb „lámpavezérlés” találjuk magunkat, egy dobozban, ahol megjelenítésére és ellenőrizzék a közlekedési lámpák, a nézet ablak a 2.4 ábra. Meg tudjuk változtatni az értékeket a időintervallumok, vagy használja a fel / le gombokkal vagy a bemeneti / kimeneti mezőben (lásd. Ábra. 2.5). Kérelme gyalogosok állítható át akár WinCC nyomógomb vagy kapcsoló bemenetére csatlakozik I 0.0 mikrokontroller.



2.3 ábra - Ablakváltó megoldandó probléma



2.4 ábra - Ablakvezérlő közlekedési lámpák



2.5 ábra - Az idő beállítása a közlekedési lámpák munkafázisok


Ahhoz, hogy láthatóvá tegyük a közlekedési lámpák munka használt eleven folyamat táblázatban felsorolt ​​változókat 2.3. A megjelenítés geometriai primitívek (kör, négyzet) jött létre azzal a tárgy mezők a felhasználó által meghatározott. Az egyik mező COLORS már bekerült az új területeken. Ezen a területen, a tulajdonságait körök háttérszíne (3 tulajdonságok, egy-egy minden fény) adunk hozzá. Közlekedési lámpa a gyalogosoknak jött létre alapján a közlekedési lámpa az autók eltávolítása a tárgy egy kör a sárga fény. A háttér színe tulajdonságokat Dialog Dynamic dinamikája került hozzáadásra (lásd. Ábra. 2.6)


2.3 táblázat használt változókat az aktuális forgalmat

SetTagByte ( "segvalue", érték); // Vissza - Típus: BOOL

ha (formask) SetPropDouble (lpszPictureName, "Egyedi object1", tulajdon [i], zöld);

mást SetPropDouble (lpszPictureName, "Egyedi object1", tulajdon [i], szürke);


A program a mikrokontroller nyelven írt STL, a jelen esetben a szállítmány byte belső memória a digitális kimenetek. Itt a szöveg a program


ORGANIZATION_BLOCK OB 1

OB1_EV_CLASS. BYTE; // Bit 0-3 = 1 (Coming esemény), 4-7 biteket = 1 (Esemény 1. osztály)

OB1_SCAN_1. BYTE; // 1 (hidegindítást szkennelési 1 OB 1), 3 (Scan 2-n OB 1)

OB1_PRIORITY. BYTE; // 1 (Prioritás 1 a legalacsonyabb)

OB1_OB_NUMBR. BYTE; // 1 (Szervezet blokk 1, OB1)

OB1_RESERVED_1. BYTE; // fenntartva rendszer

OB1_RESERVED_2. BYTE; // fenntartva rendszer

OB1_PREV_CYCLE. INT; // ciklusideje előző OB1 scan (ezredmásodperc)

OB1_MIN_CYCLE. INT; // minimális ciklusideje OB1 (milliszekundum)

OB1_MAX_CYCLE. INT; // Maximum ciklusidő OB1 (ezredmásodperc)

OB1_DATE_TIME. DATE_AND_TIME; // dátum és idő OB1 kezdődött


2.3 Monitoring tartályfeltöltés


Állvány modellezés tank, akkor a következőket tartalmazza:

  1. tartály maga;

  2. az analóg szabályozás folyadékadagoló csappantyú (folyamatosan kontroll

0-10);

  1. digitális vezérlő szelep folyadékot szállít (nyitott / zárt);

  2. Tartály töltési szint érzékelője (0-10 V kimeneti jel, amely megfelel 0-100%);

  3. Két digitális vezérlő bemenet, hogy megkezdik a leeresztő szelepek;

  4. szenzor kiáramlási sebesség a folyadék a tartályból (0-10, amely megfelel

0-100%).


tartály vezérlő ablak ábra 2.10. A felső rész az ablak egy vezérlő rész, az alsó rész - vizualizációja helyzet a tartályban. Az elv a következőképpen működik: a tetején, mi meg feszültséget, amely megnyitja a folyadék csapját, a feladat lehet végezni mind a csúszka-a, valamint a digitális bemenet I / O Field.



2.10 ábra Window szintű kezelési program


A változás a tulajdonságok Process Pilóta Connection csúszka objektum a következő C akció

érvényteleníti OnPropertyChanged (char * lpszPictureName, char * lpszObjectName, char * lpszPropertyName, hosszú érték)

SetTagWord ( "Analogvalve", neuval); // Vissza-típus: BOOL

SetPropDouble (lpszPictureName, "I / O Field3", "OutputValue", érték / 10,0); // Vissza-típus: BOOL


+ 10V érték megfelel az értéke 27520, de Slider manipulált százalékkal, majd elosztják 10, megkapjuk 275,2. Ebben az esetben, egy lépést, amely megváltoztathatja a feszültség 0.1V. Ezért az új értéket szorozzuk 275,2, figyelembe véve a méretezés és a számok ábrázolása a mikrokontroller DAC a második sor kódot.

A pontos feltérképezése alkalmazni a gate feszültség, valamint a lehetőséget, manuális bemeneti biztosított pontos I / O Field. Összekapcsolására a bemeneti értékek az I / O c mező elemi csúszkát, és fordítva az I / O Field van írva P-akció változás ingatlan bemeneti érték. Itt a szöveg a C-részvények

érvényteleníti OnPropertyChanged (char * lpszPictureName, char * lpszObjectName, char * lpszPropertyName, char * érték)

Val = GetTagDouble ( "TEMP1"); // Vissza típus: franciaágy

SetPropWord (lpszPictureName, "csúszka object1", "Process", outval); // Vissza-típus: BOOL


Ez a P-tag olvasási művelet az I / O Field, megszorozza ezt az értéket 10, a csúszka tárgy manipulálja érdeklődés és kiírja ezt az értéket lépésben előállított csúszka tulajdonság az objektum. Így a töltés után az I / O mezőt, majd nyomja meg az Enter gombot a DAC kimenő feszültség a megfelelő értéket, és a csúszka csúszka is elhelyezve kell.

Ellenőrzésére digitális bemenet nyit / zár szelep folyadékot szállít, és a nyitás / zárás ürítőcsapokat 3 gomb található. Ezekkel a gombokkal okozza a következő C-részvények.

érvényteleníti OnLButtonDown (char * lpszPictureName, char * lpszObjectName, char * lpszPropertyName, UINT nFlags, int x, int y)

rövid int szelepek, maszk;

mask = 1; // 1-st bites képviseli digitális bemeneti szelep

szelepek = GetTagByte ( "controlvalves"); // Vissza-Type: BYTE

SetPropChar (lpszPictureName, "Static Text8", "szöveg", "Close"); // Vissza-típus: BOOL

SetPropChar (lpszPictureName, "Static Text8", "szöveg", "Open"); // Vissza-típus: BOOL

SetTagByte ( "controlvalves", szelepek); // Vissza-típus: BOOL

érvényteleníti OnLButtonDown (char * lpszPictureName, char * lpszObjectName, char * lpszPropertyName, UINT nFlags, int x, int y)

rövid int szelepek, maszk;

mask = 2; // 1-st bites képviseli digitális bemeneti szelep

szelepek = GetTagByte ( "controlvalves"); // Vissza-Type: BYTE

SetPropChar (lpszPictureName, "Static Text8", "szöveg", "Close"); // Vissza-típus: BOOL

SetPropChar (lpszPictureName, "Static Text8", "szöveg", "Open"); // Vissza-típus: BOOL

SetTagByte ( "controlvalves", szelepek); // Vissza-típus: BOOL

érvényteleníti OnLButtonDown (char * lpszPictureName, char * lpszObjectName, char * lpszPropertyName, UINT nFlags, int x, int y)

rövid int szelepek, maszk;

mask = 4; // 3 bit képviseli digitális bemenet szelep

szelepek = GetTagByte ( "controlvalves"); // Vissza-Type: BYTE

SetPropChar (lpszPictureName, "Static Text8", "szöveg", "Close"); // Vissza-típus: BOOL

SetPropChar (lpszPictureName, "Static Text8", "szöveg", "Open"); // Vissza-típus: BOOL

SetTagByte ( "controlvalves", szelepek); // Vissza-típus: BOOL


Három jegyzett részvények a következőket jelentik. A projekt egy technológiai tag controlvalves, amely kapcsolatban van bájtmemória mikrokontroller 18 (MB 18). Szabályozására a nyitó / záró csappantyúk használnak első három bit Ez a bájt, a 0. bit - nyitásához / zárásához a folyadék tápszelep, az 1. bit - nyissa zárt első leeresztő szelep, a 2. bit - nyitásához / zárásához a második leeresztő szelep. C-akció a gomb megnyomása beolvassa az aktuális érték tag controlvalves, majd elfedi a kapott érték, az eltolódások a 0. pozíció és ellenőrzi 1 vagy 0.

Ha 1, akkor a szárny fel ezen a ponton van nyitva, és le kell zárni a művelet (Logikai szorzás) Kötelező bit nullára van állítva.

Ha 0, a csappantyú az adott pillanatban zárva volt, és meg kell nyitni működés | (Logikai ADD) a kívánt bit be van állítva, hogy egy.

A szabályozás a töltési szint a tartály és kinyitja a leeresztő szelepek esetén kitöltésével a kívánt szintre visszük globális P-share. A globális-lokális cselekvés eltér, hogy nem kötődik

semmilyen tárgyat a forma, a globális kampány van kötve csak a változás egy tag (vagy csak az egyik szabványos ciklusban) és a változó ezt a címkét. Itt a szöveg a C-részvények kontroll nyit / zár ürítőcsapokat.


int gscAction (void)

rövid int preflevel, curlevper, vez;

CurrentLevel = GetTagSWord ( "fill_level"); // nyers formában, azaz a 10V = 27520

preflevel = GetTagByte ( "preffilllevel"); // a per cent

curlevper = (CurrentLevel / 27520) * 100; // jelenlegi szintre per cent

Kapcsolódó cikkek