Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=963&lang=405, vytištěno: 30.04.2025 16:00:20
Hlavní stránka▹Podpora▹Dokumentace▹Ovladače pro Control Web | 8.1.2019 |
---|
Ovladač pro komunikaci s PLC SIEMENS SIMATIC S7 pomocí síťového protokolu TCP/IP |
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čeOvladač 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čePomocí 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. Poznámka: U názvů sekcí a parametrů je třeba dodržet správný zápis velkých a malých písmen. 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> = ... ...
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 Poznámka: U zkráceného zápisu se musí parametr segment zadat také pro IP adresu. V tomto případě je ale jeho hodnota ignorována. Poznámka: Pro PLC S7-1200 nebo S7-1500 se zadávají hodnoty rack a slot buď 0, 0 nebo 0, 1. 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ásleduje výčet a popis jednotlivých parametrů:
Možné hodnoty parametru Trace jsou:
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 = ... ...
Poznámka: Typ sbit se uplatňuje pouze na datovou oblast D, M a A. U datových oblastí T a Z se neuvádí typ. Ten je vždy uint16. 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čeOvladač 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čeKromě 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.
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čeAplikace 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 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)
Mapovací soubor ovladače a datové typyTento 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].
Přehled datových typů ovladače Zpracování a stavy výjimek ovladačePř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
Chybové kódyOvladač 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.
Příklad použití ovladačeSoučá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. |