FAQ: 00000041/PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0



Podobne dokumenty
FAQ: /PL Data: 9/04/2013 WinCC v7 Wymiana danych ze sterownikiem serii S poprzez protokół Modbus TCP

Komunikacja z wykorzystaniem Protokołu TCP oraz funkcji AG_SEND/AG_RECV

FAQ: /PL Data: 26/11/2008 Komunikacja w protokole MPI za pomocą Global Data (GD) pomiędzy sterownikami S7-300

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji BSEND/BRCV

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

asix4 Podręcznik użytkownika SAPIS7 - drajwer protokołu SAPIS7 Podręcznik użytkownika

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

asix4 Podręcznik użytkownika CAN_AC_PCI - drajwer protokołu CANBUS dla karty CAN_ACx_PCI Podręcznik użytkownika

FAQ: /PL Data: 02/06/2014 WinCC Professional Alarmowanie programowe z PLC S7-1500

asix4 Podręcznik użytkownika S7_TCPIP - drajwer do wymiany danych ze sterownikami SIMATIC poprzez Ethernet

asix4 Podręcznik użytkownika SRTP - drajwer protokołu SRTP Podręcznik użytkownika

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

asix4 Podręcznik użytkownika CANOPEN drajwer protokołu CANBUS dla karty PCI_712 NT Podręcznik użytkownika

FAQ: /PL Data: 01/06/2015 WinCC Professional konfiguracja struktury klient-serwer

Komunikacja master-slave w protokole PROFIBUS DP z wykorzystaniem kart komunikacyjnych CP 342-5

Bit 11 pierwszego słowa komunikacji acyklicznej ustawny jest na wartość 0 i nie podlega modyfikacji.

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Projekt Komputerowych Systemów Sterowania Wymiana danych pomiędzy dwoma sterownikami Siemens S7-300 po sieci Profibus DP

Zaawansowany WinCC SCADA. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1708)

Wymagania programowe: STEP 7 STEP 7-Micro/Win

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

Galileo v10 pierwszy program

Integracja z modułem komunikacyjnym

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

Komunikacja między sterownikami przez protokół ADS

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Instrukcja EQU Kantech

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji:

Tworzenie programu i konfiguracja w LOGO! Soft Comfort V8

DEMERO Automation Systems

Konfiguracja. 1. Stworzenie zmiennych wewnętrznych WinCC

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

DEMERO Automation Systems

Instrukcja obsługi. Helpdesk. Styczeń 2018

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

1. Wymagane komponenty:

Siemens S Konfiguracja regulatora PID

Str t a r żn ż ik k Moc o y c Um U o m wnej e (SMU M ) U - 1 -

Autorzy. Zespół SABUR Sp. Z o.o. Wydanie Data. Sierpień SABUR Sp. Z o. o. Wszelkie prawa zastrzeżone

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Spis treści. Dzień 1. I Zastosowanie systemów HMI (wersja 1309) II Pierwszy projekt (wersja 1309) Kurs Wizualizacja z WinCC flexible

Kurs ZAAWANSOWANY WINCC PANELE TIA. Spis treści. Dzień 1

Ćwiczenia z S Komunikacja S z przyciskowym panelem HMI KP300 PN. FAQ Marzec 2012

Synchronizowanie czasu kontrolera PACSystems do urządzeń HMI

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS

asix4 Podręcznik użytkownika CtMus04 - drajwer do wymiany danych z urządzeniami sterującymi MUS-04 firmy ELEKTORMETAL S.A.

PROSTY PRZYKŁAD STEROWANIA BARIERKAMI NA PRZEJEŹDZIE KOLEJOWYM

EasyLog czyli jak archiwizować dane z Simatic S7-300/400

Część 3 - Konfiguracja

Kurs Konfiguracja Paneli Operatorskich w SIMATIC WinCC TIA. Spis treści. Dzień 1

FAQ: /PL Data: 29/07/2013. WinCC v7 Ukrywanie szczegółowych elementów wizualizacji trybu RT.

5.2. Pierwsze kroki z bazami danych

CoDeSys 3 programowanie w języku drabinkowym LD

Jak ustawić cele kampanii?

asix4 Podręcznik użytkownika MUPASZ - drajwer protokołu sterownika MUPASZ Podręcznik użytkownika

DEMERO Automation Systems

FAQ: /PL Data: 10/04/2014 Binarna prezentacja graficzna zmiennych archiwalnych WinCC V7.x

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

Kurs Zaawansowany S7. Spis treści. Dzień 1

Zadania do ćwiczeń laboratoryjnych Systemy rozproszone automatyki - laboratorium

GRM-10 - APLIKACJA PC

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

asix5 Podręcznik użytkownika Strategia buforowa

Politechnika Warszawska. Temat: Układ ważący. Opiekun: mgr inż. Marek Peryt

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

KS-ZSA. Korporacyjne grupy towarowe

Istota rozwiązania. EasyInput First Steps 2

INSTRUKCJA. Konfiguracja skrytki na platformie epuap dla potrzeb rekrutacji na studia w Uniwersytecie Jagiellońskim

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Spotkania z wiedzą webinarium

INSTRUKCJA UŻYTKOWNIKA Repozytorium Dokumentów Elektronicznych KS-EDE ISO 9001:2008 Dokument: Wydanie:

Lekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna

Instrukcja obsługi programu PLOMP PLUS FM

Zmiany w sposobie obsługi e-deklaracji w systemach Sz@rk KP, Sz@rk FK i Sz@rk KE

Komunikacja w sterownikach Horner APG w sieci CsCAN

FAQ: /PL Data: 12/07/2013 WinCC V7.0 Komunikacja ze sterownikiem serii S poprzez serwer OPC

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

10. Płatności Płatności Definicje

Ćwiczenie: JavaScript Cookies (3x45 minut)

asix4 Podręcznik użytkownika S700 - drajwer protokołu analizatorów gazowych firmy MAIHAK Podręcznik użytkownika

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Opis systemu CitectFacilities. (nadrzędny system sterowania i kontroli procesu technologicznego)

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

1 second UPS. Poziom trudności: łatwy. Wersja dokumentacji: 1.3. Aktualizacja: Beckhoff Automation Sp. z o. o.

Klient poczty elektronicznej - Thunderbird

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

asix4 Podręcznik użytkownika AS512 - drajwer protokołu AS512 dla SIMATIC S5 Podręcznik użytkownika

Konfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Transkrypt:

Zmienne typu Raw Data są typem danych surowych nieprzetworzonych. Ten typ danych daje użytkownikowi możliwość przesyłania do oraz z WinCC dużych ilości danych odpowiednio 208 bajtów dla sterowników serii S7-300 oraz 448 bajtów dla S7-400 przy wykorzystaniu zaledwie jednej zmiennej typu Raw Data. Dane przesyłane są w postaci telegramu (wymiana cykliczna nie jest wskazana), natomiast sama obróbka danych musi zostać wykonana ręcznie poprzez skrypt. WinCC rozróżnia dwa typy zmiennych Raw Data: do swobodnych aplikacji oraz wewnętrzne funkcje do wymiany danych S7. W poniższej instrukcji zajmiemy się aplikacjami użytkownika, czyli przesyłaniem bloków danych pomiędzy WinCC a PLC serii S7. Danych typu Raw Data nie powinno wykorzystywać się do komunikacji z danymi sterującymi bądź wymagającymi szybkiej prezentacji lub odpowiedzi. Zastosowanie tego typu danych służyć może do: odczytu danych pomiarowych + archiwizacja przesyłania nastaw lub receptur, User Archives podglądu zbiorczego bloków danych, wejść/wyjść, markerów Przy odpowiednim wykorzystaniu omawianego typu danych komunikacyjnych zaletami zastosowania zmiennych Raw Data są m.in.: odciążenie łącza komunikacyjnego danych wymienianych cyklicznie sposobność zmniejszenia ilości zmiennych licencyjnych deklarowanych w projekcie przetwarzanie zmiennych Raw Data odbywa się na zmiennych lokalnych szybka wymiana pakietów danych z PLC oraz lokalna obróbka danych zbiorczych na stacji operatorskiej poprzez skrypty 1. W celu skonfigurowania wymiany danych Raw Data, zakładamy istnienie projektu ze skonfigurowaną stacją S7, np. S7-300/400 lub po prostu sterownika z blokiem danych. Sterownik powinien być połączony w module NetPro z odpowiednią magistralą komunikacyjną(np.mpi). Blok danych, z którego będziemy chcieli pobierać dane nazwijmy np. Dane_DB_PLC. W DB stwórzmy kilka zmiennych, np. typu BYE lub WORD. Doradztwo techniczne: simatic.pl@siemens.com 1

Należy zwrócić uwagę na fakt, że dane typu Raw Data są typem nieprzetworzonym, więc niezależnie, jakiego typu zmienne będziemy posiadać w bloku danych, informacje przesyłać będziemy w postaci ciągu bajtów, słów lub podwójnych słów, co definiujemy na etapie tworzenia zmiennej typu Raw. Późniejsze odczytanie danych innego typu niż w/w należy wykonać poprzez odpowiednie funkcje skryptowe bądź wielokrotne wywołanie funkcji czytających przestrzeń bloku danych od strony WinCC. Dane, jakie będziemy czytać ze sterownika nie muszą znajdować się w bloku danych może być to również przestrzeń adresowa I/O lub M. 2. Stację operatorską możemy stworzyć sobie w projekcie Simatic Manager klikając w nazwę projektu Insert Object OS. Otwieramy projekt WinCC klikając na stacji OS Open Object. 3. W projekcie WinCC należy w pierwszym kroku stworzyć zmienną Raw Data Type, a w jej parametrach adresacji wskazać interesującą nas przestrzeń adresową naszego bloku danych. Może być to również przestrzeń adresowa wejść/wyjść lub pamięci M. Jeśli projekt WinCC był wcześniej zintegrowany z Simatic Manager połączenie ze sterownikiem utworzone zostanie automatycznie, jeśli projekt WinCC działa niezależnie dodajemy odpowiedni kanał komunikacyjny, parametryzujemy jego ustawienia komunikacyjne i wstawiamy zmienną jak pokazano na poniższym obrazie. Ponieważ odczytujemy przestrzeń bloku danych DB1 w postaci dwóch zmiennych typu BYTE i dwóch WORD począwszy od bajtu zerowego daje nam to w sumie 6 bajtów, które musimy odczytać. W przypadku przekroczenia w momencie deklaracji przestrzeni adresowej czytanej przez Raw Data, zakresu danych zdefiniowanych w bloku danych funkcja odczytująca wywołana w skrypcie nie będzie działać Doradztwo techniczne: simatic.pl@siemens.com 2

poprawnie. Należy zwrócić uwagę, iż deklarując jedynie jedną zmienną licencyjną możemy odczytać dane długości 208 lub nawet 448 bajtów w zależności od zastosowanego sterownika S7. Dane nie są pobierane cyklicznie odczyt lub zapis danych wykonuje się w momencie wywołania odpowiedniej funkcji w skrypcie C lub VBS. 4. Kolejny etapem konfiguracji jest deklaracja zmiennych wewnętrznych (Internal Tags), do których - poprzez skrypt - zostaną przepisane wyodrębnione zmienne zadeklarowane wcześniej w bloku danych Dane_DB_PLC. Zmienne wewnętrzne WinCC nie są wliczane w pulę zmiennych licencjonowanych gdyż nie są one wymieniane bezpośrednio ze sterownikiem poprzez kanał komunikacyjny. Dla przykładu w grupie Internal Tags zadeklarowane zostały następujące zmienne: 5. Pozostaje stworzenie ekranu procesowego z przyciskami służącymi do odczytywania i zapisywania zmiennych sterownika. Dla celów testowych możemy utworzyć sobie pola typu I/O Field, które będą służyć wyświetlaniu wartości powyższych zmiennych wewnętrznych WinCC. Wykorzystując edytor skryptów zarówno lokalnych jak i globalnych warto umieścić sobie na synoptyce okno diagnostyki skryptów, które bezpośrednio w trybie Runtime poinformuje użytkownikach o wszelkich błędach, jakie zwrócił skrypt, daje również możliwość wyświetlenia komunikatów użytkownika, np. potwierdzających poprawne wykonanie skryptu lub dających informacje o wynikach obliczeń, etc. Kontrolka znajduje się w przyborniku Standard Smart Objects Application Window. Po stawieniu na ekran procesowy wybieramy Global Script GSC Diagnostics. 6. Zadanie odczytywania i zapisywania zmiennych Raw Data można wykonywać cyklicznie, lecz cykl powinien być stosunkowo długi w zależności od wielkości przesyłanych danych. Może to jednak powodować znaczne obciążenie łącza komunikacyjnego, dlatego lepiej jest wykonać zdarzeniowy transfer danych tego typu. W przykładowym projekcie dodano dwa przyciski wysyłanie oraz odbieranie danych, gdzie pod zdarzenie kliknięcia myszą przypisane zostały odpowiednie zdarzenia skryptowe opisanie poniżej. Działanie skryptu odczytywania przestrzeni adresowej bloku danych odbywa się w następujących krokach: deklaracja stałych oraz zmiennych deklaracja tablicy danych typu BYTE, do której wpisane zostaną kolejne bajty wczytane ze zmiennej Raw Data, w naszym przypadku jest to 6 bajtów wywołanie funkcji odczytującej wartości wcześniej utworzonej zmiennej Raw Data Dane_DB_PLC i przepisującej dane do powyższej tablicy (z funkcja oczekiwania na pełny odbiór danych Wait ) przepisanie odczytanych wartości do zmiennych wewnętrznych WinCC w przypadku zmiennych typu WORD wykonane zostało połączenie odpowiednich par bajtów przez operacje logiczne, a następnie przepisanie ich do 16-bitowych zmiennych wewnętrznych WinCC Doradztwo techniczne: simatic.pl@siemens.com 3

wyświetlenie komunikatu potwierdzające wykonanie skryptu #define ILOSC_DANYCH 6 //deklaracja długości danych (tutaj w bajtach) WORD Zmienna_3_word; //zmienne tymczasowe służące połączeniu WORD Zmienna_4_word; //zmiennych typu BYTE w zmienne typu WORD BYTE Dane_Raw_Byte[ILOSC_DANYCH]; //deklaracja tablica bajtów dla Raw Data GetTagRawWait("Dane_DB_PLC",Dane_Raw_Byte, ILOSC_DANYCH); //odbiór danych Raw z PLC SetTagByte("Zmienna_1_WinCC", Dane_Raw_Byte[0]); //przypisanie odebranych bajtów SetTagByte("Zmienna_2_WinCC", Dane_Raw_Byte[1]); //do zmiennych wewnętrznych WinCC Zmienna_3_word =(Dane_Raw_Byte[2]*256) Dane_Raw_Byte[3]; //połączenie kolejnych Zmienna_4_word =(Dane_Raw_Byte[4]*256) Dane_Raw_Byte[5]; //bajtów w zmienne WORD SetTagWord("Zmienna_3_WinCC", Zmienna_3_word); //przypisanie zmiennych WORD SetTagWord("Zmienna_4_WinCC", Zmienna_4_word); //do zmiennych wewnętrznych WinCC printf("dane odczytane poprawnie z PLC.\n"); //potwierdzenie wykonania skryptu Działanie skryptu zapisującego dane w DB jest analogiczne do przykładu powyższego. Różnicą jest wykonanie funkcji w odwrotnej kolejności, mianowicie: deklaracja stałych oraz zmiennych deklaracja tablicy danych typu BYTE, do której wpisane zostaną wartości zmiennych wewnętrznych WinCC, w naszym przypadku jest to w sumie 6 bajtów danych przepisanie wartości zmiennych wewnętrznych WinCC do zmiennych tymczasowych skryptu rozbicie zmiennych typu WORD na zmienne typu BYTE i przepisanie wszystkich wartości ze zmiennych tymczasowych do tablicy danych zmapowanie danych tablicy skryptu na zmienną Raw Data wysłanie danych do bloku DB sterownika wyświetlenie komunikatu potwierdzające wykonanie skryptu #define ILOSC_DANYCH 6 //deklaracja długości danych (tutaj w bajtach) BYTE Zmienna_1, Zmienna_2; //zmienne tymczasowe przechowujące wartości WORD Zmienna_3, Zmienna_4; //zmiennych wewnętrznych WinCC typu 8- oraz 16-bitowego BYTE Dane_Raw_Byte[ILOSC_DANYCH]; //deklaracja tablica bajtów dla Raw Data Zmienna_1 = GetTagByte("Zmienna_1_WinCC"); //przepisanie wartości zmiennych Zmienna_2 = GetTagByte("Zmienna_2_WinCC"); //wewnętrznych WinCC do Zmienna_3 = GetTagWord("Zmienna_3_WinCC"); //zmiennych tymczasowych Zmienna_4 = GetTagWord("Zmienna_4_WinCC"); //wewnętrznych skryptu Dane_Raw_Byte[0] = Zmienna_1; //wpisanie wartości zmiennych wewnętrznych WinCC Dane_Raw_Byte[1] = Zmienna_2; //do kolejnych elementów przygotowanej tablicy bajtów Dane_Raw_Byte[2] = Zmienna_3/256; //rozbicie zmiennych typu WORD Dane_Raw_Byte[3] = Zmienna_3; //na zmienne przewidziane w tablicy czyli BYTE Dane_Raw_Byte[4] = Zmienna_4/256; //oraz przepisanie ich wartości Dane_Raw_Byte[5] = Zmienna_4; //do kolejnych elementów tablicy SetTagRaw("Dane_DB_PLC",Dane_Raw_Byte, ILOSC_DANYCH); //przepisanie wartości //umieszczonych w tablicy do bloku danych Dane_DB_PLC w PLC przez zmienną Raw Data printf("dane zapisane poprawnie w PLC.\n"); //potwierdzenie wykonania skryptu Doradztwo techniczne: simatic.pl@siemens.com 4

7. Poprawne wykonanie powyższych skryptów powinno wynikować wymianą danych zawartych w zmiennych Umieszczenie przycisków funkcyjnych oraz odpowiednich elementów prezentacji wartości interesujących nas zmiennych potwierdza poprawność działania programu. Poniżej porównanie wartości wprowadzonych z poziomu WinCC z wartościami bloku danych sterownika. Więcej informacji na temat zmiennych typu Raw Data można odszukać w tematach pomocy WinCC pod hasłem: Raw Data Tag lub na stronach internetowych wsparcia technicznego: http://support.automation.siemens.com/ww/view/en/37436840 http://support.automation.siemens.com/ww/view/en/37572697 Doradztwo techniczne: simatic.pl@siemens.com 5