Záznam dat v paměti S7-1200 na MC kartu ve formátu csv

  • středa, 10 červen 2015 04:00

Jak upravit data v PLC programu tak, aby byla použitelná třeba pro další analýzu ve formátu csv pro Excel? Jde to, ale má to přece jen několik menších háčků.

Více dotazů na záznam proměnných na MC kartu končily obecným konstatováním "to je jednoduché, zaznamená se to na paměťovou kartu v PLC". Není to ale úplně tak, jak si vyzkoušíme a ukážeme dále s PLC SIMATIC S7-1200.


První dogma které překonáme. Paměťová karta pro vytvoření a záznam dat do csv souboru není potřeba. Soubor se vytváří v Load memory a ta se u S7-1200 rozšiřuje jen MC kartou. Takže pokud není MC karta v PLC, tak se soubor vytvoří v Load paměti PLC, pokud je paměť rozšířena MC kartou, tak na samotné kartě. Dále kartu nelze vyjmout za provozu, takže manipulace s ní je pro uživatele značně omezena. Lze s ní manipulovat jen při vypnutém PLC a to bývá většinou v rozvaděči, kde není volný přístup. Jak na to správně jít uvidíme dále.

Datalog Simatic S7-1200


Neměli jsme k dispozici originál kartu Siemens, ale ta od Helmholz udělá také stejnou službu. Jen je potřeba si ověřit, jak velká může být do PLC vložena. Existuje totiž omezení podle typu a firmware jednotlivých PLC.

Datalog Simatic S7-1200


Například novější CPU1212C s firmwarem V4x schroustne až 2GB, stejné PLC s firmwarem V3x je omezeno na 24MB.

Datalog Simatic S7-1200


Velikost paměti uvedeného PLC online, rozšíření MC kartou 12MB.  

Datalog Simatic S7-1200


Jen pro zajímavost, taková příprava záznamu dat, když se jedná třeba o operace s plovoucí čárkou, si ze strojového času PLC občas vezme to svoje.

Datalog Simatic S7-1200


Takto nějak by měl náš výsledný csv soubor v Load paměti PLC vypadat.

Datalog Simatic S7-1200


Pro pochopení celého principu je nejlepší tento seznam instrukcí v PLC. Každý csv soubor, do kterého chceme data (proměnné) zaznamenat, musíme v PLC definovanou posloupností nejprve vytvořit (DatLogCreate), dále otevřít pro záznam, následně zapsat proměnné do souboru a na závěr soubor zavřít. Tohle je klíčový postup, jinak to nepůjde.

Datalog Simatic S7-1200


Instrukce pro vytvoření souboru potřebuje ještě kromě vlastního databloku ještě další DB (DB82) s parametry pro csv soubor. Hlavně jméno pro csv soubor a jeho ID. Dále nepovinný text pro hlavičku a oblast dat, odkud se vezmou proměnné pro zápis do csv souboru. Hodnota 1001 v proměnné RECORD pak udává, kolik řádků bude mít csv soubor, než se začnou staré řádky přepisovat novými. Drobná poznámka, vytvoření nového souboru někdy trvá velmi dlouho.

Klikněte na obrázek pro zvětšení. 

Datalog Simatic S7-1200


DB82_datalog s uvedenými parametry pro csv soubor. Tyto data ve struktuře Value, budou zaznamenána do csv, kde vytvoří jeden řádek, viz. předchozí obrázek csv souboru.

Datový blok si uděláme "Retain", tedy takový, který si podrží hodnoty i po vypnutí PLC. 

Datalog Simatic S7-1200


Pokud jsme úspěšně vytvořili csv soubor, musíme jej otevřít pro zápis. Po vytvoření je u některých firmware již automaticky otevřen, ale pro jistotu si jej otevřeme znovu.

Informaci o správně vykonané instrukci udává v PLC programu bitový signál DONE, a také ERROR s kódem chyby v proměnné STATUS.

Datalog Simatic S7-1200


Zápis dat do csv proběhne na povel od nástupné hrany na REQ vstupu instrukce. Jeden zápis vytvoří jeden řádek v csv. Další povel pro zápis pak přidá další řádek a tak dále. Jakmile soubor naplníme maximálním počtem řádků, další nový řádek přepíše ten nejstarší. Po ukončení zápisu můžeme soubor pro zapisování uzavřít.

Datalog Simatic S7-1200


My jsme si povely pro práci s daty vložili na jednu obrazovku HMI včetně signalizace, že se soubor vytváří, je vytvořen, otevřen, zapisuje se do něj a tak dále. Souborů můžeme mít v paměti PLC kolik chceme, respektive kolik se jich nám tam vejde.

Datalog Simatic S7-1200


Do vytvořeného souboru se dá zapisovat stále. Jestliže nám tedy vyhovuje, stačí jej vždy jen pro zápis otevřít, není nutné jej vytvářet znovu. Ani to nejde. Při pokusu o vytvoření již existujícího souboru zahlásí instrukce chybu a v kódu chyby najdeme informaci o tom, že soubor již existuje.

Datalog Simatic S7-1200


I když je paměťovou kartu se záznamem možné přečíst v běžném PC, tato operace se moc nedoporučuje. PLC v tu dobu totiž nemůže fungovat a existuje riziko, že někdo vymaže z karty důležité soubory. Proto je k přístupu do csv souboru vhodnější využít webový server v PLC. Takže si vytvoříme uživatele "boy" s omezenými právy, který bude moci csv soubor kopírovat do PC.

Datalog Simatic S7-1200


Následně se do PLC přihlásíme z jakéhokoliv notebooku nebo PC s běžným internetovým prohlížečem.

Datalog Simatic S7-1200


V menu PLC prohlížení souborů uvidíme kromě jiného složku DataLogs, kde by mohly být všechny naše csv soubory.

Datalog Simatic S7-1200


A jsou skutečně tam. Můžeme je jednoduše kopírovat na PC, mazat a podobně. Například poslední soubor je plný dat v 1000 řádcích, takže lehce zjistíme, kolik takových souborů se nám vleze na kartu.

Datalog Simatic S7-1200


Otevřeme uvedený soubor v Excelu a vidíme, že je opravdu plný, záznam probíhá již podruhé dokola. V prvním sloupci je číslo záznamu 1002 a my jsme si na začátku ukázky vytvořili soubor pro 1001 řádků.

Datalog Simatic S7-1200


 

Závěr: 

Je potřeba postupovat opravdu krok za krokem a vytvořit si více různých souborů pro vyzkoušení zákonitostí při zápisu. No a samozřejmě si v PLC programu připravit data, vyhodnotit průběhy instrukcí, abychom vždy věděli, co se v PLC událo nebo neudálo a ošetřit poruchové stavy.

Jaroslav Blažek


Doplňující odkazy k článku:

CPU Simatic S7-1200: http://stest1.etnetera.cz/ad/current/index.php?vw=0&ctxnh=5dc8474325&ctxp=home                 

Blaja automation portal

1 komentář

  • Odkaz Komentáře Marian Ivan středa, 30 říjen 2019 10:37 napsal(a) Marian Ivan

    Ahoj
    dík za návod vše funguje jak má.
    Mám dotaz neřešil někdo jak tento soubor automaticky pravidelně podle nastaveného času stahovat do PC ?

Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209