Differences
This shows you the differences between two versions of the page.
hu:s7:valtozotipusok_es_ob_k [2017/09/08 15:51] |
hu:s7:valtozotipusok_es_ob_k [2022/04/21 15:04] () |
||
---|---|---|---|
1: | 1: | ||
+ | ====== S7 változótípusok, | ||
+ | en: S7 Software | ||
+ | Ebben a fejezetben a német szintaktikát alkalmazom (azaz nem A, mint AND, hanem U, mint UND a parancs például). | ||
+ | |||
+ | További kapcsolódó oldalak: \\ | ||
+ | [[hu: | ||
+ | [[hu: | ||
+ | |||
+ | ===== A Simatic Step 7 változótípusai ===== | ||
+ | |||
+ | A változótípusok csoportosítása hosszuk szerint: | ||
+ | |||
+ | ^Bit (1 bit)^Byte (8 bit)^Szó (16 bit)^Duplaszó (32 bit)^64 bit| | ||
+ | | [[# | ||
+ | | | [[# | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | |[[# | ||
+ | |||
+ | A fentiektől eltérő hosszú paraméter-típusok: | ||
+ | |||
+ | Egyéb (változó hosszú) deklarációk: | ||
+ | |||
+ | ===== Simatic S7 változójegyzék ===== | ||
+ | |||
+ | ==== ANY ==== | ||
+ | |||
+ | Az ANY típussal összefüggő adatmezők definiálhatók, | ||
+ | |||
+ | p# [kezdőcím BYTE.BIT] [Adattípus] [Ismétlési faktor] | ||
+ | |||
+ | Legjellemzőbb alkalmazása a BLKMOV funkció hívása. | ||
+ | |||
+ | == Példák az ANY típus megadására == | ||
+ | |||
+ | ^Megadott ANY paraméter^Leírása| | ||
+ | |p# M 70.0 BYTE 11|10 byte-os merker terület kijelölése\\ MB70 - MB80| | ||
+ | |p# DB22.DBX5.0 S5TIME 3|Három, a DB22-be lementett S5TIME változó kijelölése (az S5TIME szó hosszú változó)\\ DB 22 Byte 5 - DB 22 Byte 10.| | ||
+ | |p# A 21.3 BOOL 4|4 bit kijelölése a kimeneten\\ A 21.3 - A 21.6| | ||
+ | |||
+ | == SCL ANY típus definició == | ||
+ | |||
+ | < | ||
+ | FUNCTION FC111 : INT | ||
+ | |||
+ | VAR_TEMP | ||
+ | Quelle : ANY; | ||
+ | i : DINT; | ||
+ | test : WORD; | ||
+ | QuellPointer AT Quelle : STRUCT | ||
+ | SyntaxID : BYTE; | ||
+ | Datentyp : BYTE; | ||
+ | Laenge : INT; | ||
+ | db_Nummer : INT; | ||
+ | BytePointer : DWORD; | ||
+ | END_STRUCT; | ||
+ | |||
+ | END_VAR | ||
+ | |||
+ | // | ||
+ | |||
+ | QuellPointer.SyntaxID | ||
+ | QuellPointer.Datentyp | ||
+ | QuellPointer.Laenge | ||
+ | QuellPointer.db_nummer | ||
+ | QuellPointer.BytePointer := dw# | ||
+ | |||
+ | |||
+ | FC111 := 100; | ||
+ | END_FUNCTION | ||
+ | </ | ||
+ | |||
+ | ==== ARRAY ==== | ||
+ | |||
+ | Az array-jel tömböt lehet definiálni, | ||
+ | |||
+ | Az ARRAY indexe nem eshet kívül az alábbi tartományon: | ||
+ | |||
+ | A típus nem dinamikus, és legalább két elemet kell, hogy tartalmazzon. Minden dimmenzió két határértékkel definiálható, | ||
+ | |||
+ | Egy dimmenziós tömb: ARRAY [-10..-1] | ||
+ | |||
+ | Három dimmenziós tömb: ARRAY [1..12, 0..1, -5..-2] | ||
+ | |||
+ | A lenti példán egy kezdőérték megadás látható, ahol az 5 elsődleges dimmenzió rendre 0.0, +100.0, 0.0 értékekkel kerül feltöltésre: | ||
+ | |||
+ | < | ||
+ | Meres : ARRAY [1 .. 5, 1 .. 3 ] OF REAL := 0.0, +100.0, 0.0, 0.0, +100.0, 0.0, 0.0, +100.0, 0.0, 0.0, +100.0, 0.0, 0.0, +100.0, 0.0; | ||
+ | </ | ||
+ | |||
+ | ==== BOOL ==== | ||
+ | |||
+ | Bit változó típus. A bit a legkisebb egység a plc-n, értéke TRUE vagy FALSE lehet. | ||
+ | |||
+ | Az AWL-ben elvégezhető bit logikai műveleteket itt találja: [[hu: | ||
+ | |||
+ | ==== BYTE ==== | ||
+ | |||
+ | A byte 8 bitet tartalmaz. A biteket hátulról előre számozzuk, a byte 0.bitje mindig a legutolsó.\\ Egy byte értéke 0 -- 255 --ig terjedhet (B#16#0 - B#16#FF). | ||
+ | |||
+ | {{: | ||
+ | |||
+ | A byte felső és alsó 4 bitjét rendre [[hu: | ||
+ | |||
+ | ==== CHAR ==== | ||
+ | |||
+ | A karakter változótípust plc-n meglehetősen ritkán alkalmazzuk. | ||
+ | |||
+ | ==== DATE ==== | ||
+ | |||
+ | A dátum típus 2 byte-on, előjel nélkül a napok számát adja a kezdeti időponttól. A kezdet az S7 esetén 1990.01.01, ezen időpont előtti dátum ezzel a típussal nem írható le. A maximálisan leírható dátum pedig: 2168.12.31.\\ A biteket ebben az esetben is hátulról előre számozzuk: | ||
+ | |||
+ | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | ||
+ | |||
+ | ==== DATE_AND_TIME (DT) ==== | ||
+ | {{anchor: | ||
+ | |||
+ | A típus 64 bites, és BCD formátumban tartalmazza az információkat az alábbi tagolás szerint: | ||
+ | |||
+ | ^0. byte^1. byte^2. byte^3. byte^4. byte^5. byte^6. byte^7. byte^ | ||
+ | | Év\\ 90 .. 89 | Hónap\\ 01 .. 12 | Nap\\ 01 .. 31 | Óra\\ 00 .. 23 | Perc\\ 00 .. 59 | Másodperc\\ 00 .. 59 | MSec\\ 00 .. 99\\ (MSD) | **[[hu: | ||
+ | |||
+ | ^ **Év**\\ (0.byte) | 90-nel indul (1990) és 89-nel ér véget (2089) | | ||
+ | ^ **Hónap**\\ (1.byte) | Január -- December | | ||
+ | ^ **Msec**\\ (6.byte és 7.byte [[hu: | ||
+ | ^ **Munkanap**\\ (7.byte LSB) | A munkanap kódját a 7.byte alsó (LSB) négy bitje tartalmazza: | ||
+ | |||
+ | A DT típus alkalmazási intervalluma: | ||
+ | |||
+ | **BCD kód**: a számjegyeknek azok kettes számrendszerbeli értéke felel meg. Egy számjegyet 4 helyi értéken ábrázolunk. Bővebb leírása [[hu: | ||
+ | |||
+ | ==== DINT ==== | ||
+ | |||
+ | Dupla integer (32 bit), működése megegyezik az [[# | ||
+ | |||
+ | |**7**|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0| | ||
+ | | 0. byte |||||||| 1.byte |||||||| 2.byte |||||||| 3.byte |||||||| | ||
+ | |||
+ | Az első pozícióban (0. byte 7. bit) található bit az előjel (0: plusz, 1: mínusz).\\ Látható, hogy a biteket hátulról előre, míg a byte-okat előről hátrafelé számozzuk. | ||
+ | |||
+ | ==== DWORD ==== | ||
+ | |||
+ | A DWORD 32 bitet tartalmaz. A bitek számot „nem írnak le”, tartalma pusztán bitek halmaza. | ||
+ | |||
+ | |7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0| | ||
+ | | 0. byte |||||||| 1.byte |||||||| 2.byte |||||||| 3.byte |||||||| | ||
+ | |||
+ | Intervalluma: | ||
+ | |||
+ | ^formátum^minimuma^maximuma| | ||
+ | |bineáris|0|1111 1111 1111 1111 1111 1111 1111 1111| | ||
+ | |hexadecimális|DW# | ||
+ | |BCD|0|9999 9999| | ||
+ | |előjel nélküli decimális|B# | ||
+ | |||
+ | A típus lényege, hogy tartalmára nem vonatkozik formai megkötés.\\ Két -- egymást követő - [[hu: | ||
+ | |||
+ | ==== INT ==== | ||
+ | |||
+ | Az integer (16 bit) működése megegyezik a [[# | ||
+ | |||
+ | Az INT minimuma -32.768, a maximuma +32.767. (Egyszerűbben megjegyezhető az, hogy az INT nagyjából mínusz harminckétezertől plusz harminckétezerig használható). Az INT felépítése: | ||
+ | |||
+ | |**7**|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0| | ||
+ | | 0. byte |||||||| 1.byte |||||||| | ||
+ | |||
+ | Az első pozícióban (0. byte 7. bit) található bit az előjel (0: plusz, 1: mínusz). | ||
+ | Látható, hogy a biteket hátulról előre, míg a byte-okat elölről hátrafelé számozzuk. | ||
+ | |||
+ | ==== REAL ==== | ||
+ | |||
+ | A real típus 32 biten a számokat [[hu: | ||
+ | |||
+ | Az IEEE (Institute for Electrical and Electronics Engineers) standard 754. definiálja a lebegőpontos (en: floating point) számok tárolását és feldolgozását, | ||
+ | |||
+ | A REAL típusú számok tárolási határai: | ||
+ | |||
+ | ^ **Minimum pozitív:** ^ **Maximum pozitív:** | | ||
+ | | +1.175495e-38 | +3.402823e+38 | | ||
+ | ^ **Minimum negatív:** ^ **Maximum negatív:** | | ||
+ | | -1.175495e-38 | -3.402823e+38 | | ||
+ | |||
+ | A Real típus felépítése: | ||
+ | |||
+ | |7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0| | ||
+ | | 0.byte |||||||| 1.byte |||||||| 2.byte |||||||| 3.byte |||||||| | ||
+ | |elő\\ jel|Karakterisztika\\ 8 bit||||||||Mantissza\\ 23 bit||||||||||||||||||||||| | ||
+ | |||
+ | * Az előjel 1: negatív szám, 0: pozitív szám | ||
+ | * Karakterisztika: | ||
+ | * Mantissza: A szám kerekített pontosságú leírása | ||
+ | |||
+ | ==== S5TIME ==== | ||
+ | |||
+ | Az S5time (16 bit) típus még az S7 előtti S5 termékcsaládból öröklődött. Kissé körülményesebb használni, mint a normál idődefiníciót, | ||
+ | |||
+ | Felépítése: | ||
+ | |||
+ | ^ 0.byte ^^^^^^^^ 1.byte ^^^^^^^| | ||
+ | | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | ||
+ | ^ szó ^^^^^^^^^^^^^^^| | ||
+ | | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | ||
+ | | üres || Időköz || 2.BCD |||| 1.BCD |||| 0.BCD |||| | ||
+ | |||
+ | Az idő definiciójánál 4 időbázis közűl választhatunk, | ||
+ | |||
+ | ^ időbázis\\ (felbontás) ^bineáris kód\\ (12 - 13 bit)^teljes definiálható időhossz\\ minimum^ teljes definiálható időhossz\\ maximum | | ||
+ | |10 ms|00|10MS|9S_990MS| | ||
+ | |100 ms|01|100MS|1M_39S_900MS| | ||
+ | |1 s|10|1S|16M_39S| | ||
+ | |10 s|11|10S|2H_46M_30S| | ||
+ | |||
+ | A [[plc_szoftver_alapfogalmak# | ||
+ | |||
+ | A lenti példán a 173 sec megadása látható, másodperces bázisban: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== STRING ==== | ||
+ | |||
+ | A String típussal szövegeket tudunk tárolni. Hossza maximum 254 byte, tetszőleges. A String[n] esetén n hosszú szöveg tárolására alkalmas a változó, de a valóságban 2 byte-tal többet foglal el, mert az első byte-ján tárolja a maximális hosszat (n), a második byte-on pedig a valós hosszat. Ha például String[6] változónkba a „BUMM” szót tároljuk, akkor a változó 8 byte-ot foglal el, első byte-ja 6-t, második pedig 4-et fog tárolni. A tartalma így néz ki ebben az esetben: | ||
+ | |||
+ | ^ 0.byte ^ 1.byte ^ 2.byte ^ 3.byte ^ 4.byte ^ 5.byte ^ 6.byte ^ 7.byte | | ||
+ | | 6 | 4 | „B” | „U” | „M” | „M” | | ||
+ | |||
+ | ==== STRUCT ==== | ||
+ | |||
+ | A struktúra egy összegző adattípus, melyben maximum 8 szint mélységig lehet változó-struktúrákat definiálni. A Struct az alábbi paraméter típusokat NEM tartalmazhatja: | ||
+ | |||
+ | A típusnak legalább két komponenst kell tartalmaznia. A struktúra definiciója a STRUCT és az END_STRUCT kulcsszavak között található. A Struct alkalmazását tekintve gyakorlatilag megegyezik az UDT-vel. | ||
+ | |||
+ | A lenti példán egy " | ||
+ | |||
+ | {{: | ||
+ | //" | ||
+ | |||
+ | ==== TIME ==== | ||
+ | |||
+ | A különböző időfunkciókhoz leginkább a Time típusú definíciót szokás használni. A típus 32 bites, gyakorlatilag egy előjeles egész számot tartalmaz, melynek értéke -65.535 és +65.535 között változhat. Ez az érték a milliszekundumokat jelenti, és hogy ne legyen ilyen bonyolult az életünk (v.ö.: minden időt milliszekundumban kellene megadni), a definíciónál | ||
+ | |||
+ | * A megadható idő maximuma: T# | ||
+ | * A megadható idő minimuma: | ||
+ | |||
+ | Persze nem kell mindig, minden paramétert kitölteni, érvényes definíció a **T# | ||
+ | |||
+ | A „time” típus felépítése: | ||
+ | |||
+ | |**7**|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0| | ||
+ | | 0. byte |||||||| 1.byte |||||||| 2.byte |||||||| 3.byte |||||||| | ||
+ | |||
+ | A 0.byte 7.bitje az előjelet tartalmazza. Képzése megegyezik a [[# | ||
+ | |||
+ | ==== TIME_OF_DAY (TOD) ==== | ||
+ | {{anchor: | ||
+ | A TOD típus 32 bites, tartalma egy előjel nélküli egész szám, mely a milliszekundumokat tárolja. | ||
+ | |||
+ | Felépítése: | ||
+ | |||
+ | |7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0| | ||
+ | | 0. byte |||||||| 1.byte |||||||| 2.byte |||||||| 3.byte |||||||| | ||
+ | |||
+ | ==== TIMER ==== | ||
+ | |||
+ | Az időfunkciók legegyszerűbb kezelési módja a timer. Gyakorlatilag minden időméréshez független timer funkció rendelhető, | ||
+ | |||
+ | |||
+ | |||
+ | ==== UDT ==== | ||
+ | en: user definied type, hu: Felhasználó által definiált típus | ||
+ | |||
+ | A típus gyakorlatilag a magas szintű nyelvek cluster változó-típusának felel meg, a többi típustól annyi eltéréssel, | ||
+ | |||
+ | Az UDT megadható az AWL editorban, vagy file-ból is generálható, | ||
+ | |||
+ | {{: | ||
+ | //UDT1 definiálása az AWL editorban// | ||
+ | |||
+ | A már létrehozott UDT-t a strukturához hasonló hivatkozással, | ||
+ | |||
+ | {{: | ||
+ | A fent definiált UDT 1 felhasználása az FC 1-ben, IN típusú változóként | ||
+ | |||
+ | ==== WORD ==== | ||
+ | |||
+ | A Word (Wort) típus 16 bitet tartalmaz. A bitek számot „nem írnak le”, tartalma pusztán bitek halmaza. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Intervalluma: | ||
+ | |||
+ | ^formátum^minimuma^maximuma| | ||
+ | |bineáris|0|1111 1111 1111 1111| | ||
+ | |hexadecimális|W# | ||
+ | |BCD|0|9999| | ||
+ | |előjel nélküli decimális|B# | ||
+ | |||
+ | A típus lényege, hogy tartalmára nem vonatkozik formai megkötés.\\ Két -- egymást követő - Word típusú változó egy [[# | ||
+ | |||
+ | ==== A Simatic Step 7 változóknál konstansok megadása ==== | ||
+ | |||
+ | Konstansok megadásánál figyelni kell a pontos formátumra, | ||
+ | |||
+ | ^ Formátum ^ Megadási forma ^ Típus | | ||
+ | | bináris | TRUE vagy FALSE\\ 0 vagy 1 | [[# | ||
+ | | Előjel nélküli 16 bites egész szám | B#(0,0) -től\\ B#(255,255) - ig | [[# | ||
+ | | Előjel nélküli 32 bites egész szám | B# (0,0,0,0) -től\\ B#(255, 255, | ||
+ | | Előjeles 16 bites egész szám | -32768 -tól\\ 32767 --ig | [[# | ||
+ | | Előjeles 32 bites egész szám | -2.147.483.648 -tól\\ +2.147.483.647 --ig | [[# | ||
+ | | Hexadecimális\\ megadás | B#16#0 -től\\ B#16#FF -ig | [[# | ||
+ | | B#16#0 -től\\ B#16#FFFF -ig | [[# | ||
+ | | B#16#0 -től\\ B# | ||
+ | | Dual megadás | 2#0 -től\\ 2# | ||
+ | | 2#0 -től\\ 2# | ||
+ | | IEEE típusú törtszám | +1.175495e-38 (pozitív minimum)\\ +3.402823e+38 (pozitív maximum)\\ -1.175495e -38 (negatív minimum)\\ -3.402823e +38 (negatív maximum) | [[# | ||
+ | | BCD megadás | C#0 -tól\\ C#999 --ig | [[# | ||
+ | | S5TIME | ||
+ | | CPU idő konstans\\ TIME | T# -24d20h31m23s647ms -tól\\ T# | ||
+ | | T# -65535ms -tól\\ T#+65535ms --ig | [[# | ||
+ | | CPU idő konstans\\ DATE | D# | ||
+ | | CPU idő konstans\\ TIME_OF_DAY | TOD# | ||
+ | | CPU idő konstans\\ DATE_AND_TIME | DT# | ||
+ | | karakter | „a”\\ (ASCII kód) | [[# | ||
+ | | karakterlánc | 2-től 254 karakterig a vezérlőkarakterekkel együtt\\ Vezérlőkarakterek: | ||
+ | | Pointer\\ konstansok | P#x.y (megadott tartományon belül) | POINTER | | ||
+ | | P# | ||
+ | | P# | ||
+ | |||
+ | === Néhány példa a konstansok alkalmazására === | ||
+ | |||
+ | ^ Példa a konstans alkalmazására\\ (több sor esetén azonos az eredmény) ^ Leírás | | ||
+ | | L + 12 | Egy előjeles egész szám (16 bit) betöltése az AKKU1-L-L-be. | | ||
+ | | L 1.2345e-2\\ L 0.012345 | Egy IEEE formátumú törtszám (32 bit) betöltése az AKKU1-be | | ||
+ | | L 2# | ||
+ | | L B#(12,22) | Két előjel nélküli byte (16 bit) betöltés az AKKU1-L-be | | ||
+ | | L B# | ||
+ | | L B# | ||
+ | | L W# | ||
+ | | L DW# | ||
+ | | L S5T#20.4 S | 20,4 sec betöltése S5T formátumban az AKKU1-L-be | | ||
+ | | L C#123 | 123 betöltése BCD formátumban az AKKU1-L-be | | ||
+ | | OW W# | ||
+ | |||
+ | ===== Adatterületek csoportosítása az S7 esetén ===== | ||
+ | |||
+ | ^ Operand terület ^ Megnevezés ^ S7\\ jelölés ^ Jellemzés | | ||
+ | | Bementi változók Prozessabbild der\\ Eingänge | Bemenet (bit)\\ Eingang | **E** | Minden ciklus kezdetén a CPU beolvassa a bemeneteket a bemeneti változókba. | | ||
+ | | Bemeneti byte\\ Eingangsbyte | **EB** | | ||
+ | | Bemeneti szó\\ Eingangswort | **EW** | | ||
+ | | Bemeneti duplaszó\\ Eingangsdoppelwort | **ED** | | ||
+ | | Kimeneti változók Prozessabbild der\\ Ausgänge | Kimenet (bit)\\ Ausgang | **A** | Minden ciklus végeztével a CPU a kimeneti változókat kiadja a kimenetekre. | | ||
+ | | Kimeneti byte\\ Ausgangsbyte | **AB** | | ||
+ | | Kimeneti szó\\ Ausgangswort | **AW** | | ||
+ | | Kimeneti duplaszó\\ Ausgangsdoppelwort | **AD** | | ||
+ | | Merker\\ Merker | Merker (bit)\\ Merker | **M** | Merker memória | | ||
+ | | Merkerbyte\\ Merkerbyte | **MB** | | ||
+ | | Merker-szó\\ Merkerwort | **MW** | | ||
+ | | Merker-duplaszó\\ Merkerdoppelwort | **MD** | | ||
+ | | Idők\\ Zeiten | Timer\\ Zeit | **T** | Időfunkciók | | ||
+ | | Számlálók\\ Zähleren | Számláló\\ Zähler | **Z** | Számláló funkciók | | ||
+ | | DB\\ Datenbaustein | | ||
+ | | Global DB\\ Global Datenbaustein\\ AUF DB-vel hívható | **DB** | Globális DB jelölések\\ Global Datenbaustein Notation | | ||
+ | | DB bit\\ Datenbit | **DBX** | | ||
+ | | DB byte\\ Datenbyte | **DBB** | | ||
+ | | DB szó\\ Datenwort | **DBW** | | ||
+ | | DB duplaszó\\ Datendoppelwort | **DBD** | | ||
+ | | Instant DI\\ Instanz Datenbaustein\\ AUF DI-vel hívható | **DI** | Instant DB változók\\ Instanz Datenbaustein Notation | | ||
+ | | DI bit\\ Datenbit | **DIX** | | ||
+ | | DI byte\\ Datenbyte | **DIB** | | ||
+ | | DI szó\\ Datenwort | **DIW** | | ||
+ | | DI duplaszó\\ Datendoppelwort | **DID** | | ||
+ | | Lokális változók\\ Lokaldaten | Lokális bit\\ Lokaldatenbit | **L** | A lokális változók az OB-ken és FC-ken belül definiált változók. | | ||
+ | | Lokális byte\\ Lokaldatenbyte | **LB** | | ||
+ | | Lokális szó\\ Lokaldatenwort | **LW** | | ||
+ | | Lokális duplaszó\\ Lokaldatendoppelwort | **LD** | | ||
+ | | Periféria bemenetek\\ Peripheriebereich: | ||
+ | | Periféria bemeneti szó\\ Peripherieeingangswort | **PEW** | | ||
+ | | Periféria bemeneti duplaszó\\ Peripherieeingangsdoppelwort | **PED** | | ||
+ | | Periféria kimenetek\\ Peripheriebereich: | ||
+ | | Periféria kimeneti szó\\ Peripherieausgangswort | **PAW** | | ||
+ | | Periféria kimeneti duplaszó\\ Peripherieausgangsdoppelwort | **PAD** | | ||
+ | |||
+ | ===== S7 OB-k teljes jegyzéke, leírással ===== | ||
+ | |||
+ | ^OB\\ száma^megnevezés^leírás^PLC\\ megkötésesk| | ||
+ | ^OB1|ciklikus végrehajtás\\ Zyklisches Programm|Az OB1 a PLC-n ciklikusan kerül végrehajtásra. Ha véget ért, PLC elküldi a Global-adatokat és lezárja a ciklust.\\ Ez a legalacsonyabb prioritású OB, azaz minden más OB ennek a futását szakítja meg. [[soft_basic# | ||
+ | ^OB10 -\\ OB17|egyszeri vagy periodikus hívású\\ OB-k\\ Uhrzeitalarm-OBs|Ezeknek az OB-knak a hívás-sűrűsége az alábbiak szeint állítható: | ||
+ | ^OB20 -\\ OB23|Késleltetett hívású OB-k\\ Verzögerungsalarm-OBs|Késleltetett indítású OB-k. Az OB-kat az SFC 32 " | ||
+ | ^OB30 -\\ OB38|időzített OB-k \\ Weckalarm-OBs| A wekker OB-k meghatározott idok szerint kerülnek hívásra. A magasabb prioritású OB-k az alacsonyabb prioritással rendelkezoket megszakítják. (Az OB1-et alapértelmezés szeint mindegyik megszakítja). Az alapértelmezett idők átállíthatók.\\ OB _ default idő-raszter _ Prioritás \\ OB30 _ 5s _ 7 \\ OB31 _ 2s _ 8 \\ OB32 _ 1s _ 9 \\ OB33 _ 500ms _ 10 \\ OB34 _ 200ms _ 11 \\ OB35 _ **100ms** _ **12** \\ OB36 _ 50ms _ 13 \\ OB37 _ 20ms _ 14 \\ OB38 _ 10ms _ 15 |A 300-as PLC-ken jellemzően csak az OB35 hívható, és csak a 317/319-en érhető el az OB32, 33, 34.| | ||
+ | ^OB40 -\\ OB47|Folyamat OB-k\\ Prozessalarm-OBs|Folyamatokhoz köthető ezeknek az OB-knak a futtatása. Jellemzően az I/O vagy FM kártyákon definiált csatornák értékváltásai tudják aktiválni a hozzájuk rendelt folyamat OB-t.|Az S7- 300-asokon csak az OB40 áll rendelkezésre.| | ||
+ | ^OB55|DPV1-állapot OB\\ Statusalarm-OB|Akkor aktiválódik, | ||
+ | ^OB56|DPV1 update OB\\ Update-Alarm-OB|Akkor aktiválódik, | ||
+ | ^OB57|DPV1 gyártóspecifikus OB\\ OB für herstellerspezifische Alarme|Akkor aktiválódik, | ||
+ | ^OB 60|Multicomputingalarm-OB|Ezzel a OB-vel elérhető, hogy egy adott eseményre több CPU szinkronizáltan egyszerre reagáljon. Az OB aktiválását az SFC 35 " | ||
+ | ^OB 61-\\ OB 64|DP-szinkron OB-s\\ Taktsynchronalarm-OBs|Az OB lehetővé teszi a DP hivásokkal szinkronban történő végrehajtást.|S7-300 esetén csak az OB61, és csak a CPU315-2PN/ | ||
+ | ^OB 65|Technologiesynchronalarm-OB|Az OB lehetővé teszi, hogy a technológiai DB aktualizálásával szinkronban futtasunk programot.|Csak a " | ||
+ | ^OB 70|Peripherie-Redundanzfehler-OB|A H-CPU akkor hívja fel az OB-t, ha redundancia-kiesés lép fel a Profibus-DP-n ( például buszkiesés az aktív DP-master-en, | ||
+ | ^OB 72|CPU-Redundanzfehler-OB|Az OB72 futását az alábbi események válthatják ki: Redundanciakiesés a CPU-n Tartalék - Master átkapcsolás Szikronizációs hiba Hiba egy SYNC modulban Átváltás megszakítása Hasonlítási hiba (RAM, PAA) |Csak H-s PLC-ken érhető el.[[hard_basic# | ||
+ | ^OB 73|Kommunikations-Redundanzfehler-OB|A H-CPU az első " | ||
+ | ^OB 80|Ciklusidő túllépés OB\\ Zeitfehler-OB|Ciklusidő túllépés (Überschreiten der Zykluszeit) esetén kerül meghívásra az OB. A CPU nem megy STOP-ba, ha az adott esemény bekövetkezésekor az OB meghívásra kerül. Amennyiben azomban az adott ciklusban másodszor is meghívásra kerül az OB, a STOP elkerülhetetlen. (Végtelenített ciklusokra az OB nem ad megoldást.)| | | ||
+ | ^OB 81|Tápellátás hiba OB\\ Stromversorgungsfehler-OB|Az OB a tápellátás hiba (" | ||
+ | ^OB 82|diagnózis hiba OB\\ Diagnosealarm-OB|Az OB-t a beérkező (kommendes Ereignis) és a kifutó (gehendes Ereignis) hibák aktiválják. Ezek a hibák azokról a modulokról érkezhetnek, | ||
+ | ^OB 83|Ki / Becsatlakoztatás OB\\ Ziehen/ | ||
+ | ^OB 84|CPU-Hardwarefehler-OB|Az OB az alábbi esetekben kerül meghívásra: | ||
+ | ^OB 85|Programmablauffehler-OB|Az OB az alábbi esetekben kerül meghívásra: | ||
+ | ^OB 86|Baugruppenträgerausfall-OB|Az OB az alábbi esetekben kerül meghívásra: | ||
+ | ^OB 87|Kommunikationsfehler-OB|Az OB kommunikációs hiba hatására kerül meghívásra. A CPU nem megy STOP-ba, ha az adott esemény bekövetkezésekor az OB 87 meghívásra kerül. S7-400 CPU esetén Az OB működését az SFC 39 - SFC 42 befolyásolhatja.| | | ||
+ | ^OB 88|Bearbeitungsabbruch-OB|Az OB akkor kerül meghívásra, | ||
+ | ^OB 90|Hintergrund-OB|Az S7 felügyeli a maximális ciklusidőt és garantálja annak minimális szintjét. Amennyiben az aktuális ciklusidő kisebb - minden egyéb OB megszakítással és a rendszer által foglalt időkkel - mint a minimális ciklusidő, akkor ha a CPU-ra fel lett töltve az OB90, akkor meghívja azt ha a CPU-n nem található az OB, akkor a rendszer késlelteti a következő OB1 indítást, ezáltal tartja a garantált minimum ciklusidőt\\ Amennyiben a minimális ciklusidő és a ciklus felügyeleti idő egymáshoz közel lettek definiálva, | ||
+ | ^OB\\ 100 -\\ OB\\ 102|felfutás OB-k\\ Anlauf-OBs|A felfutás lehetséges oka, és az ezáltal meghívott OB: Ismételt felfutás (Wiederanlauf) : **OB 101** Újraindítás (Neustart - Warmstart) : **OB 100** Hideg indítás (Kaltstart) : **OB 102** |Az ismételt felfutás (Wiederanlauf) S7-300 és S7-400H esetén nem lehetséges.| | ||
+ | ^OB\\ 121|programozói hiba OB\\ Programmierfehler-OB|Programozói hiba fellépése esetén az OB 121 kerül meghívásra. Ennek oka lehet: Olyan program felhívása, | ||
+ | ^OB\\ 122|Peripheriezugriffsfehler-OB|Periféria olvasási hiba esetén az OB meghívásra kerül. Ha az OB a hiba bekövetkezésének idején le van töltve a CPU-ra, akkor a CPU nem megy STOP-ba, egyébként viszont igen.\\ Az SFC 36 " | ||
+ | |||
+ | Minden OB-nak van lokális adatterülete, | ||
+ | |||
+ | A hibakezelő OB-k használata fejlesztés alatt nem előnyös, mert ilyenkor sokkal egyszerűbben visszakereshető egy hiba forrása, ha a PLC rögtön, |