Prázdný košík
Úvodní stránka
Přihlásit
Hledat 
 Control Web 8
 Ovladače pro Control Web
 DataLab
 DataCam
 DataLight
 Pro školy
 Ostatní software
 Control Web – předchozí verze
 Služby
 Školení

Simatic S7/PPI
 

Simatic S7/PPI


Kód:CW-S7PPI
Cena pro integrátory (bez DPH):6 900 Kč
Koncová cena (bez DPH):7 650 Kč
Výrobce:Moravské přístroje
 
CELKEM
Vaše cena (bez DPH):
Celková cena (bez DPH):
*) Předpokládaná dostupnost se může lišit podle volitelných parametrů produktu. Předpokládaná dostupnost nezahrnuje dobu přepravy a jedná se o nezávazný údaj.

Ovladač slouží ke komunikaci s PLC Simatic řady 200 přes sériové rozhraní. Ovladač komunikuje s automatem prostřednictvím PPI protokolu. Ovladač může vystupovat jako master nebo jako slave.

Ovladač slouží ke komunikaci s PLC Simatic řady 200 přes sériové rozhraní. Ovladač komunikuje s automatem prostřednictvím PPI protokolu. Ovladač může vystupovat jako master nebo jako slave.

  • V módu master vystupuje jako nadřízený systém a řídí veškerou komunikaci s podřízenými stanicemi. V tomto módu rovněž umožňuje čtení a zápis systémového času PLC (pouze u těch CPU, které tyto služby podporují).

  • V módu slave se ovladač chová podobně jako PLC v módu slave s tím rozdílem, že reaguje pouze na požadavky o čtení a zápis dat. Ovladač emuluje všechny paměťové oblasti PLC. Narozdíl od PLC se zde neuplatňují rozdíly v přístupových právech k jednotlivým paměťovým oblastem. To znamená, že ze všech paměťových míst lze jak číst, tak do nich zapisovat. Vzhledem k aplikaci se potom ovladač v módu slave chová tak, že při požadavku na čtení kanálu nevyvolá komunikaci s danou stanicí, ale vrátí okamžitě hodnotu z uvedené oblasti emulované paměti PLC. Při zápisu je tomu obdobně. Uživatel má možnost měnit mód ovladače za běhu aplikace pomocí volání systémové DriverQueryProc funkce.

Seznam sekcí:

Datové typy
Vlastnosti ovladače
Informační kanály a služby ovladače
Problematika více master stanic v jedné síti :
Popis parametrického souboru

Datové typy

Ovladač využívá ke komunikaci služby pro čtení a zápis dat. Ke komunikaci s PLC jsou využívány tyto datové typy : byte, word, dword, counter, timer a high speed counter. Navenek má uživatel k dispozici tyto datové typy :

  • byte : velikost 8b.

  • word : velikost 16b.

  • dword : velikost 32b.

  • bitset : velikost 8b. 8 binárních kanálů mapovaných na jeden B.

  • float : velikost 32b. Reálné číslo.

Pomocí těchto typů definuje uživatel, jakým způsobem budou data získaná z PLC prezentována. Například u typu float se z PLC přečtou pro každý čtený kanál 4B a ty se posléze prezentují jako reálná čísla. U typu bitset se přečte pro každých 8 binárních kanálů 1B. Stav jednotlivých bitů v bytech se promítne do příslušných osmic kanálů.

Vlastnosti ovladače

V módu master ovladač shromažďuje jednotlivé požadavky na čtení nebo zápis kanálů. Po skončení časového kroku se požadavky vyhodnocují a skládají do bloků podle toho, jak jsou definované v parametrickém souboru.

  • Čtení: Komunikuje se vždy první až poslední požadovaný kanál z bloku definovaného v parametrickém souboru. Bude-li aplikace číst v jednom časovém kroku kanály 110, 120 a 130 z bloku kanálů 100-160, způsobí tím komunikaci 21 kanálů (kanály 110 až 130). Pokud by byly kanály 110, 120 a 130 každý v jiném bloku, ovladač by je komunikoval postupně, napřed jeden kanál 110, pak 120 a nakonec kanál 130. Z toho plyne, že pokud je potřeba přenášet větší množství dat ze spojité paměťové oblasti PLC je výhodné mít kanály mapující tuto oblast definované v jednom bloku parametrického souboru.

  • Zápis: Při zápisu se ovladač chová podobně jako při čtení dat, pouze s tím rozdílem, že se nekomunikuje první až poslední požadovaný kanál, ale pouze spojité bloky dat. Bude-li mít ovladač v jednom časovém kroku požadavky na zápis kanálů 100-110, 125 a 127 z jednoho bloku, vyvolá s PLC celkem 3 komunikace. V první zapíše obsah kanálů 100-110, ve druhé obsah kanálu 125 a nakonec kanál 127. V módu slave ovladač nekomunikuje s PLC, pouze podle požadavků čte nebo zapisuje data emulované paměti PLC.

Informační kanály a služby ovladače

K sledování průběhu a kvality komunikace slouží informační kanál s číslem 0. Kanál je typu real a je určen pouze pro čtení. Při každém čtení kanálu v něm ovladač vrací vždy aktuální chybový kód. Seznam chybových kódů.

  • 0 - OK: Stav, kdy komunikace probíhá bez chyb.

  • 1 - TIMEOUT: Na výzvu ovladače nebylo odpovězeno do timeoutu.

  • 2 - ERR_CHS: Chyba kontrolního součtu.

  • 3 - PDU_REF: V PPI protokolu jsou jednotlivé komunikace (dotaz-odpověď) číslovány. Master tedy vždy dotazu přiřadí určité číslo a očekává, že mu ho slave v odpovědi vrátí. Pokud se tak nestane odpověď od slave stanice se odmítne.

Čtení/zápis data a času :

Uživatel má možnost z aplikace zapsat do libovolné stanice lokální čas. Lokální čas je složen z roku, měsíce, dne, hodiny, minuty, sekundy a dne v týdnu. Lokální čas ovladač získá prostřednictvím služby operačního systému. K zápisu lokálního času do PLC slouží procedura ovladače, která má následující syntax:

system.DriverQueryProc( 'jméno ovladače', Parametr2, Parametr3 );

První parametr je jméno ovladače( je definováno v sekci drivers - end_drivers ). Druhý parametr je řetězec, který identifikuje danou službu.Je to :

  • set_time : Zapíše lokální čas do PLC. Třetí parametr je číslo stanice, do které se čas zapíše. Druhý parametr je typu string třetí parametr je typu real.

  • get_time : Přečte datum a čas stanice identifikované číslem ve třetím parametru. Druhý parametr je typu string třetí parametr je typu real.

Po příchodu požadavku na zápis času ovladač nejprve dokončí všechny požadavky na zápis a čtení dat. Tato operace může trvat řádově až sekundy. Potom ovladač zapíše lokální čas do požadované stanice. Příklad zápisu a čtení datumu a času :

  system.DriverQueryProc( 's200ppi', 'set_time', 1 );    (* zapiš čas na stanici 1  *)
  system.DriverQueryProc( 's200ppi', 'get_time', 1 );    (* přečte čas ze stanice 1 *)

Pro vyčtení právě získaného času slouží kanály 1-7. Jsou v nich uloženy následující údaje :

  • 1 : rok

  • 2 : měsíc

  • 3 : den

  • 4 : hodina

  • 5 : minuta

  • 6 : sekunda

  • 7 : den v týdnu

Po startu aplikace jsou hodnoty těchto kanálů nastaveny na nulu a to až do prvního úspěšného přečtení datumu a času z PLC.

Ladící výpisy :

Pro potřeby ladění komunikace mezi PLC stanicemi a ovladačem lze použít ladící výpisy. Lze je za běhu aplikace libovolně programově zapínat a vypínat.

  system.DriverQueryProc( 's200ppi', 'start_xtrace', 0 );    (* zapne výpisy *)
  system.DriverQueryProc( 's200ppi', 'stop_xtrace', 0 ) ;    (* vypne výpisy *)
Výpisy se ukládají do textového souboru, který se vytvoří v kořenovém adresáři disku C.

Problematika více master stanic v jedné síti :

Jak už bylo řečeno dříve, ovladač může vystupovat v síti jako plnohodnotná slave stanice. V tomto případě není s více master stanicemi žádný problém. Problém může nastat, pokud je ovladač v módu master. Pokud komunikuje s více stanicemi a některá z nich potřebuje občas komunikovat s jinou stanicí (být na chvíli master) musí se tento stav dobře časově sesynchronizovat s aplikací. Pokud z aplikace do ovladače nechodí žádné požadavky na zápis nebo čtení dat, nevyvolává ovladač žádnou komunikaci a nechává linku volnou. V tomto okamžiku mají prostor jiné master stanice, které mohou podle potřeby komunikovat. Pokud ale je na síti master stanice, která komunikuje nepřetržitě (např Siemens TD200) nemá ovladač žádnou možnost, jak komunikovat s jednotlivými stanicemi, komunikace se tedy nepodaří. Následující diagram znázorňuje jedno z možných časových rozvržení komunikací více master stanic :

  • t0-t1 V tomto časovém úseku chodí do ovladače požadavky na komunikaci se stanicí "STATION B". Ovladač vystupuje jako master.

  • t1-t2 Na lince je klid.

  • t2-t3 Stanice "STATION A" přechází do módu master a komunikuje se stanicí "STATION B". Do ovladače nechodí z aplikace žádné požadavky a tudíž komunikaci nijak neovlivňuje.

  • t3-t4 Na lince je klid.

  • t4-t5 Do ovladače přišel z aplikace požadavek na komunikaci se stanicí "STATION A".

Popis parametrického souboru

Parametrický soubor sestává ze tří sekcí. První sekce [comm] slouží k nastavení parametrů komunikace. Podrobný popis je uveden v dokumentaci ovladače ASCDRV, který je součástí systému Control Web. Druhá sekce [S200PPI] slouží k nastavení parametrů ovladače. Význam jednotlivých parametrů:

  • ComDriver: Komunikační knihovna a číslo sériového portu.

  • TIMEOUT: Doba čekání na odpověď PLC.

  • REPEAT: Počet opakování zprávy v případě neúspěchu.

  • ADDRESS: Adresa, která bude přidělena PC.

  • MODE: Inicializační mód ovladače. Může být master nebo slave.

  • PDU_SIZE: Maximální povolená velikost PDU jednotky. Tato velikost se liší podle verze CPU. Povolené hodnoty jsou 112 a 240B.

  • INTER_MESSAGE_DELAY: Prodleva před vysláním dalšího požadavku na komunikaci v milisekundách.

V sekci [BLOCKS] jsou definovány jednotlivé datové bloky.

  • block: Definice bloku. Blok má šest povinných a jeden nepovinný parametr, které se oddělují mezerou nebo čárkou. Význam parametrů bloku je následující:

    Parametr 1: Stanice, se kterou bude blok spojován.

    Parametr 2: První kanál bloku.

    Parametr 3: Počet kanálů bloku.

    Parametr 4: Typ přenášených dat. Povoleny jsou následující typy : 'bit', 'byte', 'word', 'dword', 'bitset', 'real'.

    Parametr 5: Paměťová oblast, se kterou bude kanál spojován. Podporovány jsou následující paměťové oblasti : 'S', 'SM', 'AI', 'AQ', 'C', 'T', 'HC', 'I', 'Q', 'M', 'V'.

    Parametr 6: Offset v paměťové oblasti, od kterého se budou data zapisovat nebo číst. Offset je udáván v bytech.

    Parametr 7: 'swap' - tento parametr je nepovinný. Pokud je uveden, budou se vzájemně zaměňovat vyšší a nižší byte přenášených dat.

    Příklad bloku pro PLC s adresou 25, se kterým budou komunikovány kanály 100 .. 1100 typu real do paměťové oblasti V na offset 50:

    block = 25, 100, 1000, real, V, 50

    Příklad parametrického souboru:

    [comm]
      baudrate = 9600
      databits = 8
      parity = even
      stopbits = 1
      rx_buffer = 500
      tx_buffer = 500
      rx_frame_buffer = 500
      tx_frame_buffer = 500
      cts_flow = disable
      dsr_flow = disable
      dtr_control = disable
      rts_control = disable
      dsr_sense = low
      rx_interchar_timeout = 0
      rx_char_timeout = 0
      rx_timeout = 0
      tx_char_timeout = 0
      tx_timeout = 0
    
    [S200PPI]
      ComDriver = cwcomm, com2
      TIMEOUT = 1000
      REPEAT = 1
      MODE = master
    
    [BLOCKS]
      block =  3,    10,    1,    byte,   V,  2
      block =  3,    11,    1,    byte,   V, 10
    
      block =  3,    50,    8,  bitset,   Q,  0
      block =  3,    70,    8,  bitset,   I,  0
      block =  3,    90,    8,  bitset,   V,  1
      block =  3,   500,   48,  bitset,  SM,  0
      block =  3,   600,   10,   dword,   T,  0
      block =  3,   610,   10,    word,   C,  0
      block =  3,   620,   10,   dword,  HC,  0
    
      block =  3,  1000, 1000,    byte,   V, 20
      block =  3,  2000, 1000,    byte,   V, 20