| 
  
  
    
      
      
      
         Ovladač je určen pro spojení systému Control Web
        s průmyslovými automaty (PLC) SIMATIC S7 přes rozhraní Ethernet. 
        Seznam sekcí: - Činnost ovladače
 
      - Parametry ovladače
 
      - Kanály ovladače
 
      - Procedury ovladače
 
      - Mapovací soubor ovladače a datové typy
 
      - Zpracování a stavy výjimek ovladače
 
      - Chybové kódy
 
      - Příklad použití ovladače
 
       
        Činnost ovladače
          
          
            Ovladač komunikuje pouze přes standardní síťové rozhraní
            počítače. Podporuje komunikaci s PLC S7-300, 400, 200(CP243),
            LOGO!, 1200, 1500. Ovladač ke komunikaci používá vlastní
            prostředky (nevyžaduje žádnou další programovou podporu). 
            Pomocí ovladače je možno číst nebo zapisovat data z datových
            oblastí D, V, M, A, E, T, Z. 
            Ovladač interpretuje datové elementy PLC jako svoje kanály, což
            jsou číselné nebo logické hodnoty (boolean) popřípadě
            řetězce o max. délce 254 znaků. Datový element je zpravidla byte
            (v oblastech D, V, M, A, E) nebo word (oblasti T, Z). Číselné
            kanály mohou být různých typů (int8, uint8,
            int16, uint16, int32,
            uint32, float32, float32s),
            podle toho kolik datových elementů zabírají. Logické kanály mohou
            být také různých typů (bits, sbit,
            bool8) podle toho, jestli se jedná o jednotlivé bity
            elementů nebo o celé elementy (nulová hodnota = false,
            nenulová hodnota = true). Dále umožňuje ovladač číst
            a zapistovat datum a čas v PLC nebo synchronizovat čas v PLC s
            časem v počítači. Datové kanály ovladače (jejich počet a typ) se
            konfigurují v souboru parametrů podle požadavků uživatele. 
          
        
        Parametry ovladače
          
          
            Pomocí souboru parametrů je možno nastavit parametry komunikace
            a definovat kanály ovladače, popřípadě nastavit další doplňující
            parametry. Celý soubor parametrů je rozdělen do několika sekcí.
            Název sekce je uveden v hranatých závorkách. V sekci jsou uvedeny
            za jménem a znakem = jednotlivé parametry. Na jednom
            řádku může být definován jeden parametr. 
            
            Definice spojení - sekce [Connection]
              
              
                V této sekci se definují všechna zařízení (PLC), se kterými
                má ovladač komunikovat. Každému zařízení se přiřadí jméno,
                podle kterého se identifikuje v sekci [Channels]
                a dále se specifikuje adresa a další parametry k určení
                zařízení. 
                Spojení u ovladače S7_TCP se definují takto: 
                [Connection]
  <Id> = station:<Adr>, segment:<N>, rack:<N>, slot:<N>, cpu:<N>
  <Id> = station:<Adr>, tsap:<H.H>, contype:<C>, cpu:<N>
  <Id> = ...
  ... 
                
                  Id - identifikátor spojení, který se
                  použije v sekci [Channels]. Je to libovolný
                  řetězec o maximální délce 32 znaků.  
                  Adr - adresa PLC. Pro komunikaci
                  přes MPI nebo PROFIBUS je to číslo stanice. Pro komunikaci
                  přes Industrial Ethernet je to buď IP adresa nebo tzv. MAC
                  adresa (pouze u S_MPI). IP adresa je skupina 4 čísel (každé
                  maximálně 255) vzájemně oddělených tečkami. MAC adresa je
                  skupina 6 čísel v hexadecimálním tvaru vzájemně oddělených
                  pomlčkami.  
                  N - číselná hodnota. Může být
                  zapsána dekadicky nebo hexadecimálně (ukončena znakem H).  
                  H - číselná hodnota v hexadecimálním
                  tvaru (bez ukončovacího znaku H).  
                  C - typ spojení. Může to být 'PG'
                  (programming console), 'OP' (Siemens HMI panel) nebo hodnota
                  3 až 16 (S7 Basic - generic data transfer
                  connection).  
                 
                Parametr cpu slouží k rozlišení řady PLC. Pro řadu S7-200
                se zadává hodnota 200. Pro vyšší řady (S7-300/400/M7/C7) se
                zadává hodnota 300. Kromě tohoto zápisu je možno použít také
                zkrácený zápis, kdy se napravo od rovnítka uvedou pouze čísla
                v pořadí: station, segment, rack,
                slot, cpu. U ovladače S7_TCP může
                parametr cpu nabývat navíc hodnoty 1200 resp. 1500 pro typy
                S7-1200 resp. S7-1500. 
                Parametr tsap je třeba zadávat v případě komunikace s PLC
                S7-200 přes CP243 
                
                
                Upozornění: Řídicí systémy Siemens SIMATIC S7-1200 (od
                firmware verze 4.0) a SIMATIC S7-1500 mají v sobě zabudovaný
                firewall. Ve výchozím nastavení je aktivována maximální
                ochrana. Pro navázání spojení s těmito PLC modely je třeba
                povolit komunikaci se zařízeními třetích stran. Toto nastavení
                je k dispozici ve vývojovém prostředí TIA
                Portal. Postup:  1. V prostředí TIA Portal
                otevřete váš PLC projekt.  2. Klikněte na PLC a z
                nabídky vyberte příkaz Properties.  3. Na záložce
                General klikněte na Protection a ujistěte se, že je vybrána
                volba Full access (no protection). 4. Nakonec dole na
                stránce zaškrtněte volbu Permit access with PUT/GET
                communication from remote partner.  
                Upozornění: Pro přístup k datablokům (DB) u řídicích systémů
                Siemens SIMATIC S7-1200 a S7-1500 je třeba vzít v úvahu
                následující pravidla: 1. Pro komunikaci jsou přístupné
                jsou pouze globální DB. 2. V PLC musí být vypnutý
                parametr Optimized block access (TIA Portal).
                 3. Musí být nastaven úplný přístup (Access level -
                full) a spojení musí mít povoleno mechanizmus
                GET/PUT.  
                Příklady parametrů v sekci [Connection]ovladače: 
                [Connection]
  CPU1 = 192.168.1.55, 0, 0, 2, 300
  CPU2 = station:192.168.1.55, tsap:01.02, contype:PG, cpu:300
  CPU3 = 192.168.1.55, 01.02, PG, 300 
              
            
            Parametry pro základní nastavení ovladače - sekce [Settings]
              
              
                Tato sekce obsahuje parametry, které slouží ke konfiguraci
                ovladače z hlediska komunikace. Následuje způsob zápisu
                parametrů a jejich možné hodnoty. Společné parametry pro oba
                ovladače: 
                [Settings]
  SwapBytes = true | false
  MaxExceptions = <N>
  CheckTime = <N>
  FinalizeAfterEachBlock = false | true
  WritePriority = true | false
  LocalTSAP = <H.H>
  Timeout = <N>
  PingDisable = true | false
  Trace = none | log | xtrace | windows 
                | N | číselná hodnota. Může být zapsána dekadicky nebo
                  hexadecimálně (ukončena znakem H).  |  | H |  číselná hodnota v hexadecimálním tvaru (bez
                  ukončovacího znaku H).  |   
                Následuje výčet a popis jednotlivých
                  parametrů: | SwapBytes | Příznak, který určuje zda se prohazuje pořadí byte ve
                  slově. Tento příznak je globální pro všechny bloky. Pokud
                  bude nastaven na false nebo nebude uveden, je možno nastavit
                  individuálně přehazování byte v rámci bloků kanálů.  |  | MaxExceptions | Velikost fronty pro nezpracované výjimky od ovladače.
                  Implicitní nastavení je 4096.  |  | FinalizeAfterEachBlock | Pomocí tohoto parametru se zadává, jestli budou data
                  předána do aplikace po každé komunikaci (hodnota parametru =
                  true) nebo až po dokončení přenosu všech bloků,
                  které se řeší v rámci daného časového kroku. Implicitní
                  nastavení je false.  |  | WritePriority | Tento parametr ovlivňuje způsob komunikace ovladače s
                  PLC. Je-li nastaven na hodnotu false, jsou
                  střídavě odbavovány všechny požadavky na čtení kanálů a poté
                  všechny požadavky na zápis kanálů. Je-li parametr nastaven
                  na hodnotu true, požadavky na zápis kanálů do
                  PLC mají přednost. Implicitní nastavení je true.  |  | CheckTime | Tento parametr nastavuje prodlevu v sekundách pro
                  další pokus o navázání spojení v případě, že se s PLC
                  nekomunikuje. Implicitní nastavení je 20 sekund.  |  | Timeout | Tento parametr nastavuje dobu čekání na spojení nebo
                  odpověď od zařízení v milisekundách. Implicitní nastavení je
                  3000 milisekund.  |  | LocalTSAP | TSAP počítače pro spojení s PLC (např. pro S7-200).
                  Není-li parametr uveden, bude použita hodnota
                  01.00.  |  | PingDisable | Je-li tento parametr nastaven na hodnotu true,
                  vypne se vysílání ICMP paketu echo (ping) při spojování s
                  PLC. Implicitní nastavení je false.  |  | Trace | Zapnutí trasovacích výpisů komunikace. Je-li nutno
                  sledovat komunikaci ovladače se zařízením, je možno zvolit
                  tímto parametrem cíl trasovacích výpisů.  |   
                Možné hodnoty parametru Trace
                  jsou: | Hodnota | Význam | 
|---|
 | none | žádné trasovací výpisy  |  | log | výpisy jsou nasměrovány do Okna zpráv
                  záložky Ladicí výpisy systému Control Web  |  | xtrace | výpisy jsou nasměrovány do souboru
                  '\XTRACE.TXT'  |  | windows | výpisy jsou nasměrovány do ladicího okna systému
                  Windows  |  
  
                Upozornění: Trasovací výpisy zpomalují činnost aplikace,
                popřípadě mohou vést ke zmenšování prostoru v paměti nebo na
                disku. Proto se nedoporučuje používat trasovací
                výpisy ve finální aplikaci.  
                Příklad parametrů v sekci [Settings]: 
                [Settings]
  SwapBytes = false
  MaxExceptions = 1000
  CheckTime = 60
  FinalizeAfterEachBlock = false
  Trace = log
  LocalTSAP = 01.02 
              
            
            Konfigurace kanálů ovladače - sekce [Channels]
              
              
                Tato sekce definuje jednotlivé kanály nebo skupiny kanálů
                ovladače a jejich reprezentaci v paměti PLC. Skupiny se
                definují po jednotlivých blocích. Blok je definován intervalem
                kanálů, identifikátorem spojení, datovou oblastí v PLC,
                datovým typem, a počáteční adresou v dané oblasti. V případě
                použití obousměrných kanálů je možno definovat parametr
                bidirect, který zamezí vzniku kolizí při současném čtení
                i zápisu stejného kanálu - pak jsou v ovladači vytvořeny dva
                zvláštní bloky, jeden pro čtení, druhý pro zápis. Další
                nepovinný parametr určuje prohození pořadí byte u typů
                zabírajících více než jeden byte v paměti PLC. Součástí
                definice bloku může být i komentář. Ten musí být uveden na
                samostatném řádku a musí začínat středníkem. 
                Z pohledu komunikace představuje jeden blok maximální
                celistvý úsek, který se dá přenést najednou v rámci jedné
                komunikace se stanicí. Použitý komunikační protokol resp.
                nižší komunikační vrstvy tuto hodnotu dále upravují. Bude-li
                definován delší blok než je možno přenést najednou a budou-li
                zadány požadavky na čtení nebo zápis všech kanálů bloku,
                rozpadne se komunikace na několik částí tak, aby byla všechna
                data přenesena. 
                Následuje způsob zápisu parametrů a jejich možné hodnoty.
                Každé skupině (bloku) kanálů odpovídá jeden řádek textu.
                V hranatých závorkách jsou uvedeny nepovinné nebo doplňující
                parametry: 
                [Channels]
  Block = <From>,<To>,<Con>,<Area>[,<Type>][,<Adr>][,Bidirect][,SwapBytes][,Id:<Name>]
  Block = ...
  ... 
                | From | číslo prvního kanálu v bloku.  |  | To | číslo posledního kanálu v bloku.  |  | Con | identifikátor spojení (sekce [Connection]).  |  | Area | kód datové oblasti v PLC. Možné hodnoty jsou: | D | oblast paměti D (datablocks).  |  | V | oblast paměti V (variable memory). Je dostupná
                      pouze u S7-200.  |  | M | oblast paměti M (flag bytes).  |  | A | oblast binárních výstupů. Je možno použít také
                      symbol O nebo Q.  |  | E | oblast binárních vstupů. Je možno použít také
                      symbol I.  |  | T | oblast časovačů. Parametry bloku Type
                      a Adr se nezadávají.  |  | Z |  oblast čítačů. Je možno použít také symbol C.
                      Parametry bloku Type a Adr se
                      nezadávají.  |  | DT | takto označená oblast se využívá pro čtení nebo
                      zápis data a času v PLC. Blok by měl obsahovat šest
                      kanálů. Struktura data a času je přístupná přes
                      jednotlivé kanály bloku po položkách v pořadí: rok,
                      měsíc, den, hodina, minuta, sekunda. Parametry bloku
                      Type a Adr se nezadávají.
                        |  | DTStr | takto označená oblast se využívá pro čtení nebo
                      zápis data a času v PLC. Datum a čas se přenáší jako
                      textový řetězec ve formátu 'YYYY-MM-DD hh:mm:ss'.
                      Parametry bloku Type a Adr se
                      nezadávají.  |  | DTSync | takto označená oblast se využívá pro
                      synchronizaci času PLC s časem v počítači. Kánál v bloku
                      je určen pouze pro zápis a jeho obsah nemá význam -
                      zápisem libovolné hodnoty do kanálu vyvolá synchronizaci
                      času v PLC. Parametry bloku Type a Adr
                      se nezadávají.  |  
  |  | Type | typ dat v oblasti. Možné hodnoty jsou: | bits | 8 boolean kanálů v jednom byte
                      paměti. Typ bits pracuje vždy s celým byte
                      v paměti PLC. Je-li nastaven tento typ, pak bude
                      nejmenší přenesené množství dat 1 byte.  |  | sbit | tento typ slouží pro nastavení (zápis)
                      jednotlivých bitů v oblastech D (Data blocks), M
                      (Merkers) a A (Outputs). Při zápisu více než 8 bitů
                      najednou je efektivnější použít typ bits.
                      Při čtení dat typu sbit z PLC se bude
                      komunikovat stejně jako u typu bits po
                      celých byte.  |  | bool8 | jeden boolean kanál v jednom byte
                      paměti PLC. Nulová hodnota je false,
                      nenulová hodnota je true.  |  | uint8 | 8-bitové číslo bez znaménka  |  | int8 | 8-bitové číslo se znaménkem  |  | uint16 | 16-bitové číslo bez znaménka  |  | int16 | 16-bitové číslo se znaménkem  |  | uint32 | 32-bitové číslo bez znaménka  |  | int32 | 32-bitové číslo se znaménkem  |  | float32 | 32-bitové desetinné číslo podle normy
                      IEEE-754  |  | float32s | 32-bitové reálné číslo používané u PLC SIMATIC S5
                      (formát KG)  |  | string[N] | Textový řetězec. Do hranatých závorek se uvede
                      velikost řetězce. Řetězec je vlastně struktura, ve které
                      první byte obsahuje velikost, druhý byte obsahuje
                      aktuální délku a pak následují znaky řetězce. Do
                      aplikace se první dva byte nepředávají (jsou vynechány).
                      Řetězec se komunikuje vždy celý, i když jeho aktuální
                      délka je menší. V takovém případě je řetězec doplněn do
                      své velikosti nulami. Součástí komunikovaného řetězce
                      do/z PLC je i jeho velikost a aktuální délka. Maximální
                      velikost řetězce je 254 znaků.  |  
  |  | Adr | počáteční adresa v datové oblasti. Adresace je po
                  jednotlivých byte. Pouze u typy T a Z mají délku 2 byte
                  (word).  |  | Bidirect | příznak toho, že blok slouží jak pro zápis, tak pro
                  čtení. Tento parametr je nepovinný.  |  | SwapBytes | příznak, který určuje zda se prohazuje pořadí byte ve
                  slovech v rámci definovaného bloku. Tento parametr je
                  nepovinný.  |  | Id | Name je jméno identifikátoru bloku.
                  Identifikátor slouží pro dynamickou změnu počáteční adresy
                  definovaného bloku za běhu aplikace. Změna adresy se provádí
                  pomocí procedur ovladače SetBlockId a SetBlockOffset.
                  Délka identifikátoru může být max. 32 znaků. Tento parametr
                  je nepovinný.  |   
                
                Příklad parametrů v sekci [Channels]: 
                [Channels]
  Block = 100,  100,  CPU315, DTSync
  Block = 110,  115,  CPU315, DT
  Block = 120,  120,  CPU315, DTStr 
  Block = 200,  299,  CPU315, M,    sbit,      50
  Block = 300,  347,  CPU314, A,    bits,      124  
  Block = 500,  547,  CPU314, A,    bits,      124  
  Block = 1100, 1999, CPU315, D100, uint16,    50,  Id:InD100
  Block = 2100, 2999, CPU315, D100, uint16,    50,  Id:OutD100
  Block = 3000, 3009, CPU315, Z,               0
  Block = 4000, 4009, CPU315, T,               0 
              
            
          
        
        Kanály ovladače
          
          
            Ovladač může jednotlivé prvky různých datových oblastí
            připojených stanic interpretovat jako svoje kanály, což jsou
            číselné nebo logické hodnoty (bity). Definice kanálů se děje
            prostřednictvím souboru parametrů v sekci [Channels],
            jak je popsáno v kapitole Parametry ovladače. 
            Vyhražené kanály ovladače
              
              
                Kromě uživatelsky definovaných kanálů, viz sekce [Channels],
                má ovladač skupinu kanálů, které jsou pevně definovány. Tyto
                kanály jsou vyhraženy pro poskytování stavových informací
                o ovladači a pro řízení jeho činnosti. Jsou mapovány do
                intervalu 1 až 99. Proto kanály s těmito čísly nepoužívejte
                v definici bloků pro komunikaci. 
                
                  kanál č.1 - real input - stav
                  výjimky od ovladače  
                  kanál č.2 - boolean output -
                  povolení výjimky od ovladače  
                  kanál č.3 - real input - počet
                  zpracovaných výjimek od ovladače  
                  kanál č.4 - real input - počet
                  nezpracovaných výjimek, které má ovladač ve frontě  
                  kanál č.5 - real input - adresa
                  stanice, která způsobila výjimku  
                  kanál č.6 - real input -
                  chybový kód  
                  kanál č.7 - string input -
                  popis chyby  
                  kanál č.8 - real input - číslo
                  prvního kanálu bloku, při jehož přenosu vznikla
                  chyba  
                  kanál č.9 - real input - číslo
                  posledního kanálu bloku, při jehož přenosu vznikla
                  chyba  
                  kanál č.10 - real input - kód
                  oblasti, při jejímž přenosu vznikla chyba: 
                      68 - oblast D  
                      86 - oblast V  
                      77 - oblast M  
                      65 - oblast A  
                      69 - oblast E  
                      84 - oblast T  
                      90 - oblast Z  
                      48 - oblast DTSync  
                      49 - oblast DT  
                      50 - oblast DTStr  
                     Jedná se vlastně o číselné kódy jednotlivých
                  znaků. Pomocí funkce char v aplikaci
                  Control Web lze kód oblasti převést na
                  řetězec.  
                  kanál č.11 - real input - počet
                  chyb čtení.  
                  kanál č.12 - boolean output -
                  vynulování počítadla chyb čtení.  
                  kanál č.13 - real input - počet
                  chyb zápisu.  
                  kanál č.14 - boolean output -
                  vynulování počítadla chyb zápisu.  
                  kanál č.15 - není využitý.  
                  kanál č.16 - real input -
                  chybový kód zařízení.  
                  kanál č.17 - není využitý.  
                  kanál č.18 - string input -
                  popis chyby zařízení.  
                 
              
            
            Automatická konverze typů
              
              
                Při definování kanálů ovladače je nutno kromě zápisu bloků
                v souboru parametrů vytvořit také soubor '*.DMF',
                který obsahuje seznam kanálů a jejich typů pro aplikaci.
                Ovladač nevyžaduje striktní dodržování stejných typů
                v definici bloků a souboru '*.DMF'. Pouze
                doporučujeme aby kanály typu boolean v souboru
                '*.DMF' měly své protějšky v blocích v souboru
                '*.PAR' jako typy bits, sbit
                nebo bool8. Ostatní číselné typy se mohou
                kombinovat. Např. v souboru '*.DMF' mohou být
                všechny číselné kanály typu real a v blocích
                ovladače mohou být uvedeny třeba jako int16. 
                 
 Příklad automatické konverze typu int16 na
                  real.  
              
            
          
        
        Procedury ovladače
          
          
            Aplikace může volat ovladači určité procedury, pomocí nichž je
            možno řídit chování ovladače nebo získat důležité informace. To se
            děje prostřednictvím systémové procedury: 
            system.DriverQueryProc( DriverName : string; Param1 : any; &Param2 : any ) 
            Její parametry mají následující význam: 
            
              DriverName je symbolické jméno ovladače,
              definované v aplikaci.  
              Param1 slouží k zadání povelu (jména procedury
              ovladače).  
              Param2 je použit jako parametr nebo návratová
              hodnota.  
             
            DriverName a Param1 se zadávají jako textové
            řetězce. Param2 je různého typu podle významu procedury.
            Některé procedury, sloužící k nastavení parametrů, mohou skončit
            chybou. Výsledek naposled vykonané procedury je možno získat
            voláním procedury GetResult. 
            Přehled a význam jednotlivých procedur ovladače (parametr Param1)
              
                - GetResult
 
                - 
                  
Vrátí výsledek naposledy volané procedury ovladače.
                  Výsledkem je některý z chybových kódů, popsaných v kapitole
                  Chybové kódy. Tato procedura by
                  se měla volat po volání těch procedur, u kterých může nastat
                  chyba. 
                 
              
              
                - GetVersion
 
                - 
                  
Vrátí v Param2 řetězec popisující jméno a verzi
                  ovladače. 
                 
              
              
                - GetMajorVersion
 
                - 
                  
Vrátí vyšší slovo verze produktu Control Web. 
                 
              
              
                - GetMinorVersion
 
                - 
                  
Vrátí nižší slovo verze produktu Control Web. 
                 
              
              
                - GetAPIMajorVersion
 
                - 
                  
Vrátí vyšší slovo verze API produktu Control Web. 
                 
              
              
                - GetAPIMinorVersion
 
                - 
                  
Vrátí nižší slovo verze API produktu Control Web. 
                 
              
              
                - EnableException
 
                - 
                  
Voláním této procedury se povolí další výjimka od
                  ovladače. 
                 
              
              
                - GetErrorCode
 
                - 
                  
Vrátí číslo chyby právě zpracovávané výjimky
                  ovladače. 
                 
              
              
                - GetErrorString
 
                - 
                  
Vrátí popis chyby právě zpracovávané výjimky
                  ovladače. 
                 
              
              
                - GetExcStatus
 
                - 
                  
Vrací kód právě zpracovávané výjimky ovladače. 
                 
              
              
                - SetTraceOutput
 
                - 
                  
Nastaví cíl trasovacích výpisů komunikace. Parametr udává
                  cíl výpisů: 
                  
                    0 - žádné trasovací výpisy  
                    1 - výpisy jsou nasměrovány do ladicího
                    okna systému Windows.  
                    2 - výpisy jsou nasměrovány do Okna
                    zpráv záložky Ladicí výpisy systému
                    Control Web  
                    3 - výpisy jsou nasměrovány do souboru
                    '\XTRACE.TXT'  
                   
                 
              
              
                - SetBlockId
 
                - 
                  
Nastaví identifikátor aktuálního bloku kanálů pro změnu
                  adresy (offsetu) v paměti PLC. Param2 je typu string
                  a předává se v něm identifikátor bloku (maximálně 32 znaků).
                  Tento identifikátor musí být shodný s identifikátorem
                  v definici bloků v souboru parametrů. 
                 
              
              
                - SetBlockOffset
 
                - 
                  
Nastavuje adresu (offset) začátku bloku v paměti PLC.
                  Blok je určen svým identifikátorem v souboru parametrů a
                  vybrán pomocí procedury SetBlockId. Parametr
                  udává adresu a může být libovolného číselného typu. 
                  Upozornění: Rozsah parametru se nehlídá.  
                 
              
              
          
        
        Mapovací soubor ovladače a datové typy
          
          
            Tento soubor obsahuje typy kanálů ovladače. Protože ovladač má
            jak pevnou množinu kanálů, tak proměnnou množinu kanálů, měl by
            tento soubor obsahovat vždy shodnou definici pro vyhrazené kanály
            a různou (podle požadavků aplikace) pro kanály definované
            uživatelsky v souboru parametrů v sekci [Channels]. 
            
              
               
                
                  | Typ dat | 
                  Typ kanálu | 
                  Popis | 
                 
                
                  | uint32 | 
                  číslo | 
                  32-bitová hodnota bez znaménka - 4 byte | 
                 
                
                  | int32 | 
                  číslo | 
                  32-bitová hodnota se znaménkem - 4 byte | 
                 
                
                  | float32 | 
                  číslo | 
                  32-bitová real hodnota - 4 byte | 
                 
                
                  | float32s | 
                  číslo | 
                  32-bitová real hodnota - 4 byte | 
                 
                
                  |   | 
                 
                
                  | uint16 | 
                  číslo | 
                  16bitová hodnota bez znaménka - 2 byte | 
                 
                
                  | int16 | 
                  číslo | 
                  16bitová hodnota se znaménkem - 2 byte | 
                 
                
                  |   | 
                 
                
                  | uint8 | 
                  číslo | 
                  8bitová hodnota bez znaménka - 1 byte | 
                 
                
                  | int8 | 
                  číslo | 
                  8bitová hodnota se znaménkem - 1 byte | 
                 
                
                  | bool8 | 
                  boolean | 
                  1 boolean hodnota - 1 byte | 
                 
                
                  | bits | 
                  boolean | 
                  1-bitová hodnota - 8 v 1 byte | 
                 
                
                  |   | 
                 
                
                  | string[N] | 
                  string | 
                  textový řetězec o max. velikosti 254 znaků. N je
                  velikost řetězce | 
                 
               
            Přehled datových typů ovladače  
          
        
        Zpracování a stavy výjimek ovladače
          
          
            Při výskytu chyby komunikace vznikne událost, kterou ovladač
            může přenést jako výjimku do aplikace. V aplikaci musí být
            definován objekt (virtuální přístroj), který má definován parametr
            driver_exception se symbolickým jménem tohoto
            ovladače. V tomto případě je takový přístroj výjimkou aktivován.
            V rámci jeho činnosti je třeba zapsat na kanál č.2 hodnotu true
            nebo zavolat proceduru ovladače EnableException. Tím
            se povolí vyvolání další výjimky, jakmile nastane nebo pokud není
            fronta výjimek prázdná. Přečtením kanálu č.1 je možno zjistit stav
            výjimky. Při použití kanálu č.2 je třeba pamatovat na to, aby měl
            virtuální přístroj nastaven parametr send_same_data.
            Pokud aplikace výjimky nezpracovává, přidávají se do fronty, jejíž
            maximální velikost je určena parametrem MaxExceptions
            v sekci [Settings]. 
            Kódy pro stavy výjimek ovladače
              
              
                
                  0 - žádná výjimka od ovladače  
                  1 - výjimka signalizuje chybu při čtení dat.
                  Její kód a popis je možno získat voláním procedury ovladače
                  GetErrorCode nebo čtením kanálu č.6.  
                  2 - výjimka signalizuje chybu při zápisu
                  dat. Její kód a popis je možno získat voláním procedury
                  ovladače GetErrorCode nebo čtením kanálu č.6.
                    
                  3 - změna dat v zařízení. U asynchronních
                  komunikací nebo v případě, že ovladač vystupuje jako
                  podřízená stanice (slave), se takto signalizuje změna dat
                  v zařízení.  
                  4 - chyba procedury ovladače. Vykonání
                  některých procedur ovladače může zabrat poměrně dlouhou
                  dobu. Proto běží zpravidla ve zvláštním threadu, aby
                  nezdržovaly běh aplikace. Pokud procedura skončí chybou,
                  způsobí generování výjimky s tímto kódem.  
                 
              
            
          
        
        Chybové kódy
          
          
            Ovladač generuje následující chybové kódy. Tyto kódy jsou
            k dispozici na kanále č.6. Kód a popis chyby je také možno získat
            voláním procedur ovladače GetErrorCode a GetErrorString.
            Při vzniku chyby se současně vypíše hlášení do Okna
            zpráv systému Control Web. 
            
              0 - úspěšná operace  
              1 - chyba timeoutu  
              2 - neplatná hodnota  
              3 - neexistující kanál  
             
            
              1000 - vnitřní chyba  
              1001 - chyba kontrolního součtu  
              1002 - vstupní komunikační buffer je
              plný  
              1003 - nesprávná adresa stanice  
              1004 - nesprávný kód povelu (funkce)  
              1005 - přijatá data mají nesprávnou
              délku  
              1006 - chyba potvrzení  
              1007 - nesprávná odpověď  
              1020 - nesprávný parametr procedury  
              1021 - data nejsou k dispozici  
              1022 - neznámá procedura ovladače  
              1023 - nesprávný identifikátor bloku  
              1024 - neplatný offset bloku  
              1025 - zařízení není připojeno  
              1026 - datový element je určen pouze pro
              čtení  
             
          
        
        Příklad použití ovladače
          
          
            Součástí instalace je několik příkladů použití ovladače. Tyto
            příklady naleznete v adresáři '%PUBLIC%\Documents\Control Web
            7\Examples\S7_TCP Examples'. Součástí příkladů jsou také
            soubory '*.DMF' a '*.PAR'. Před spuštěním
            příkladů si nejprve tyto soubory upravte podle aktuální
            konfigurace. 
          
        
      
    
  
 |