PARTNERZY

www.sick.pl
tel: +48 22 539 41 00
oferty@sick.pl
PRODUKTY I SKLEP POZNAJ SICK

Od automatyzacji produkcji i logistyki, aż po automatyzację procesów technologicznych — SICK należy do ścisłej czołówki wśród producentów czujników. Jako lider rynku w dziedzinie technologii, firma SICK ze swoimi czujnikami i rozwiązaniami aplikacyjnymi tworzy doskonałe podstawy dla bezpiecznego i efektywnego sterowania procesami, ochrony ludzi przed wypadkami oraz ochrony środowiska naturalnego.

pl.mitsubishielectric.com
tel: +48 12 347 65 00
mpl@mpl.mee.com
NEWSY / BLOG POZNAJ MITSUBISHI ELECTRIC ODDZIAŁ POLSKA

Korporacja Mitsubishi Electric, posiadająca 90 lat doświadczenia w zakresie dostarczania niezawodnych, wysokiej jakości innowacyjnych produktów w dziedzinie automatyki przemysłowej, produkcji, marketingu i sprzedaży urządzeń elektrycznych i elektronicznych. Programowalne sterowniki PLC, rozwiązania napędowe, roboty przemysłowe, panele dotykowe, wycinarki laserowe i sterownie CNC firmy Mitsubishi Electric zaliczają się do produktów najwydajniejszych na rynku i gwarantują sukcesy firmy już od ponad 30 lat.

www.findernet.com
tel: +48 61 865 94 07
finder.pl@findernet.com
KATALOG PRODUKTÓW POZNAJ FINDER

Od 1954 Finder pracował wyłącznie w zakresie przekaźników i timerów. Nasz wysoki stopień specjalizacji zaowocował ponad 10.000 różnych produktów w jednej z najszerszych dostępnych ofert. Firma szeroko się rozwija i inwestuje w przyszłość uzupełniając gamę swojego asortymentu. Prócz przekaźników oferuje rozwiązania przemysłu elektrycznego do zastosowań domowych jak i komercyjnych poprzez przekaźniki, urządzenia przeciwprzepięciowe, termostaty panelowe, zasilacze i liczniki energii. Gama asortymentu obejmuje ponad 12 tysięcy produktów.

www.wago.pl
tel: +48 71 360 29 70
wago.elwag@wago.com
BLOG WAGO POZNAJ WAGO

Rozwiązania dostarczane przez WAGO. już od wielu lat wspierają naszych klientów w dążeniu do sukcesu. Poczynając od prostych instalacji elektrycznych, a kończąc na skomplikowanej infrastrukturze zarządzającej procesami przemysłowymi czy automatyką budynkową. Sprawdźcie jak rozwiązania WAGO, mogą wesprzeć Was w drodze do Waszego sukcesu.

panasonic-electric-works.com
tel: +48 42 230 96 33
info.pewpl@eu.panasonic.com
KATALOG ONLINE POZNAJ PANASONIC

Panasonic Electric Works Europe zajmuje się produkcją oraz dystrybucją komponentów automatyki, takich jak: czujniki przemysłowe, sterowniki programowalne, napędy przemysłowe i systemy znakowania laserowego. W ścisłej kooperacji z europejskimi klientami, oferują rozwiązania dla różnych obszarów biznesu, takich jak przemysł motoryzacyjny, pojazdy elektryczne, automatyzacja procesów technologicznych oraz budynków, odnawialnych źródeł energii czy zarządzania środowiskowego.

www.eaton.com
tel: +48 58 554 79 00
oferty@staport.pl
Poznaj easyE4 POZNAJ EATON

Eaton Electric jest producentem najwyższej jakości automatyki przemysłowej, aparatury sygnalizacyjnej, łączeniowej, zabezpieczającej i instalacyjnej oraz systemów rozdziału energii niskiego napięcia. Międzynarodowe nagrody oraz certyfikaty są dowodem, iż produkty Eaton Electric odpowiadają najnowszym standardom bezpieczeństwa i wymaganiom jakości. Wszystkie nasze wyroby gwarantują długoletnie działanie.

pepperl-fuchs.com
tel: +48 22 256 97 70
info@pl.pepperl-fuchs.com
PRODUKTY POZNAJ PEPPERL+FUCHS

Automatyzacja to nasz świat. Perfekcyjne rozwiązania - nasz cel.

Obecnie firma Pepperl+Fuchs jest znana klientom na całym świecie jako przedsiębiorstwo pionierskie i innowacyjne w dziedzinach takich, jak ochrona przeciwwybuchowa instalacji elektrycznych czy technologie czujników. Zawsze koncentrujemy się na wymaganiach klientów. Pasja, z jaką poświęcamy się automatyce, oraz przełomowe technologie, jakimi dysponujemy, pozwalają nam owocnie współpracować z klientami — tak dziś, jak i w przyszłości.

MENU PROFIL

Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka

IIoT z Raspberry – bramka do świata IT

658 wyświetleń, autor: dawleg.

Autor przybliżył nam w tym artykule ideę IIoT oraz w przystępny sposób przedstawił możliwości Raspberry Pi. Postanowiłem podzielić się z Wami moim projektem oraz przedstawić praktyczne wykorzystanie tej koncepcji w połączeniu z sterownikiem firmy Beckhoff i systemem Twincat 2. Zachęcam gorąco do przeczytania wspomnianego wcześniej artykułu, a następnie do zapoznania się z poniższym tekstem opisującym zbliżony projekt.

Zobacz artykuł… Raspberry Pi w warunkach przemysłowych?

Koncepcja:

  1.  Warstwa PLC.
  2.  Raspberry Pi jako bramka IIoT.
  3.  Prywatny serwer do gromadzenia oraz wizualizacji danych.

O możliwościach sterowników PLC zapewne większość z czytelników miała okazję przekonać się lub wykorzystywać je w praktyce. Na potrzeby projektu wykonano prosty program z licznikiem inkrementującym swoją wartość co sekundę.

Następnie, wartość tę odczytano przy pomocy skryptu działającego na Raspberry oraz zapisano wartość na prywatnym wirtualnym serwerze w bazie danych MySQL. Komunikacja pomiędzy Raspberry Pi a sterownikiem PLC odbywa się w ramach lokalnej sieci.

Na serwerze uruchomiono aplikację z poziomu której możliwe jest wyświetlanie oraz resetowanie wartości licznika.

Raspberry oraz VPS (Virtual Private Server) komunikują się w ramach sieci VPN (Virtual Private Network). Aplikacja wizualizacyjna dostępna jest z poziomu dowolnego urządzenia obsługującego przeglądarkę internetową oraz z dostępem do Internetu.

Reklama


Koncepcję przedstawiono na poniższej grafice:

Założenia projektowe:

  1.  Inkrementacja wartości INT w sterowniku PLC.
  2.  Odczyt aktualnej wartości i zapis do bazy danych MySQL.
  3.  Podgląd aktualnej wartości licznika z poziomu przeglądarki internetowej.
  4.  Możliwość resetowania licznika z poziomu przeglądarki internetowej.

Warstwa PLC

Pracę nad projektem rozpoczęto od napisania programu. Na poniższych zrzutach ekranu przedstawiono funkcję MAIN oraz wykorzystane zmienne globalne.

W pierwszym Networku przygotowano wyjście Timera do inkrementacji licznika. W drugim Networku przygotowano resetowanie licznika w oparciu o wartość licznika (100), a także zmianę stanu flagi F_0_1. W Networku 3 przygotowano licznik i przepisano wartość aktualną do zmiennej globalnej.

Następnie przystąpiono do przygotowania konfiguracji w Twincat System Manager oraz załadowania programu do sterownika. Warto w tym miejscu wspomnieć, że w celu wykorzystania interfejsu ADS do komunikacji Raspberry<->PLC należy dodać trasę komunikacyjną dla sterownika. Przykładową konfigurację pokazano na poniższym zrzucie ekranu.

W pole AmsNetId należy wpisać adres IP Raspberry rozszerzony o .1.1

Konfiguracja VPS

Przed przystąpieniem do konfiguracji Raspberry należało przygotować konfigurację oraz oprogramowanie wirtualnego serwera.

Do uruchomienia aplikacji wykorzystano Apache HTTP serwer oraz MySQL jako serwer baz danych. Osoby zainteresowane materiałami pomocnymi w zainstalowaniu zestawu LAMP (Linux, Apache, MySQL, PHP) mogą zajrzeć pod linki: ang, pl.

Na serwerze uruchomiono aplikację do wizualizacji danych napisaną z wykorzystaniem micro framework’a Slim

Poniżej przedstawiono kilka zrzutów ekranu z telefonu, gdzie otworzono aplikację:

Reklama


Następnie przygotowano dwie tablice dla zmiennych. Jedna dla zmiennych typu Bool, druga dla wartości liczbowych. W tym celu wykorzystano narzędzie phpmyadmin, a przykładowe wypełnienie pól dla zmiennych logicznych pokazano na poniższym zrzucie ekranu.

W podobny sposób przygotowano drugą tablicę gdzie zapisywano wartości licznika.

Konfiguracja Raspberry Pi

Mając przygotowaną warstwę sprzętową (PLC), oraz warstwę „Internetową” (VPS) przystąpiono do przygotowania „łącznika” obu warstw – do programowania Raspberry Pi.

Do zrealizowania programowego były trzy zadania:

  •  odczyt danych ze sterownika,
  •  zapis odczytanych danych w tablicy MySQL,
  •  Sprawdzenie wartości przycisku resetującego i wykonanie określonych działań w zależności od wartości.

Zadania należy wykonywać cyklicznie. W tym celu wykorzystano program napisany w języku Python.

Komentarz do zamieszczonego powyżej kodu (pogrubionym tekstem opisano numery linii kodu):

  • 1-5 – import modułów,
  •  8 oraz 43 – fragment pozwalający wykonywać program w ciągłem pętli z interwałem czasowym 500ms,
  •  9, 35, 37 – obsługa błędów i wyjątków. W pierwszej kolejności wykonywany jest program w ramach klauzuli try. W przypadku gdy nie udało wykonać się kodu zawartego w try program przerywa wykonanie klauzuli, a następnie wykonywana jest obsługa błędów zawarta w except. W except zwracany jest komunikat o nieudanej próbie odczytu danych z bazy danych oraz komunikat błędu. Klauzula finally wykonywana jest niezależnie od tego, czy udało się wykonać klauzulę try czy została ona przerwana w jakiś sposób,
  •  10-13 – zdefiniowano parametry połączenia oraz połączono się z bazą danych podając adres IP hosta, nazwę bazy danych oraz dane autoryzacyjne,
  •  17-18 – odczytano i wykonano formatowanie odczytanych danych ze sterownika przez przesunięcie bitowe. Dane odczytano przy pomocy skompilowanego programu C++ readValueInt.bin. W celu nawiązania połączenia ze sterownikiem i odczytania danych wykorzystano biblioteki udostępnione przez firmę Beckhoff z tego repozytorium,
  •  19-21 – wykonano zapis wartości licznika do tablicy,
  •  22-28 – odczytano wartość przycisku. W tym celu wykorzystano przygotowaną w linijce 15 instrukcję MySQL,
  •  30-33 – wykonano zmianę wartości zmiennej typu Bool poprzez wywołanie wcześniej skompilowanego programu oraz zmieniono wartość przycisku na 0.

Poniżej zamieszczono wykorzystany kod do zbudowania plików readValueInt.bin oraz writeValueBool.bin.

1. Zrzut pierwszy przedstawia główną funkcję, w której wywołano funkcję zamieszczoną na drugim zrzucie oraz w której uwzględniono obsługę wyjątków.

2. Zrzut drugi przedstawia funkcję runExample, w której wykonano pożądane instrukcje:

  •  40-41 – zdefiniowano adres AmsNetID oraz adres IP sterownika PLC,
  •  44 – zdefiniowano adres AmsNetID dla lokalnej maszyny – Raspberry,
  •  47-50 – dodano połączenie do sterownika,
  •  53-57 – otwarto połączenie ze sterownikiem,
  •  59 – zdefiniowano handler dla połączenia,
  •  61 – wywołano polecenie zmiany wartości bitowej pod wskazanym adresem,
  •  63-67 – zamknięto połączenie.

3. Zrzut trzeci oraz zrzut czwarty przedstawia wykorzystane funkcje odczytu oraz zapisu zmiennych w sterowniku PLC.

Rezultat

Uruchomieniu skryptu napisanego w pythonie pozwala na przetestowanie działania wizualizacji oraz możliwości resetowania licznika.

Postarałem się pokazać to na poniższych zrzutach ekranu gdzie w prawym dolnym rogu pokazałem podgląd online wartości licznika:

Podsumowanie

Mam nadzieję, że opisując powyższy projekt udało mi się pokazać, jak świat automatyki może stopniowo zmierzać w kierunku świata IT. Być może, w niedalekiej przyszłości, będziemy w sytuacji gdzie do standardu należeć będzie programowanie sterowników PLC w języku wysokiego poziomu? Być może producenci popularnych sterowników PLC pójdą w kierunku integracji swoich urządzeń z bramkami IIoT, a typowym zadaniem inżyniera automatyki będzie integrowanie urządzeń z systemami uruchomionymi w chmurach obliczeniowych?

Artykuł został nagrodzony w Konkursie iAutomatyka – edycja Listopad 2019

Nagrodę Stripax + zestaw gadżetów dostarcza ambasador konkursu, firma Weidmüller

.

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!

Zapoznałem się i akceptuję klauzulę informacyjną.
28 listopada 2019 / Kategoria: , , ,

Reklama

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Bezpłatny webinar „Solid Edge Electrical – Początki projektowania Twojego okablowania”

Bezpłatny webinar „Solid Edge Electrical – Początki projektowania Twojego okablowania”

>KLIKNIJ<

Bezprzewodowa komunikacja dla krytycznych aplikacji z M!DGE2 i RipEX

Bezprzewodowa komunikacja dla krytycznych aplikacji z M!DGE2 i RipEX

>KLIKNIJ<

Zwiększenie wydajności kontroli ruchu układów bramowych z dwuosiowymi napędami COPLEY Plus

Zwiększenie wydajności kontroli ruchu układów bramowych z dwuosiowymi napędami COPLEY Plus

>KLIKNIJ<

Po co nam TAP w sieci PROFINET?

Po co nam TAP w sieci PROFINET?

>KLIKNIJ<

Monitorowanie poziomów cieczy, jako źródło wiedzy o posiadanych zasobach

Monitorowanie poziomów cieczy, jako źródło wiedzy o posiadanych zasobach

>KLIKNIJ<

Powrót do historii? – Sterowanie przekaźnikowe

Powrót do historii? – Sterowanie przekaźnikowe

>KLIKNIJ<

16 Korzyści z kompleksowego rozwiązania IIoT od IXON w produkcji

16 Korzyści z kompleksowego rozwiązania IIoT od IXON w produkcji

>KLIKNIJ<

Poznaj CPL410 – część 5: Podstawy bazy danych SQLite [FILM]

Poznaj CPL410 – część 5: Podstawy bazy danych SQLite [FILM]

>KLIKNIJ<

Bezpłatne seminaria online od Siemens – Zarządzenie Projektami i Wspomaganie Innowacyjności R&D

Bezpłatne seminaria online od Siemens – Zarządzenie Projektami i Wspomaganie Innowacyjności R&D

>KLIKNIJ<

MAXOLUTION® – nowe oblicze automatyzacji

MAXOLUTION® – nowe oblicze automatyzacji

>KLIKNIJ<

Pełna kontrola produktu. Czytnik kodów czy smart camera?

Pełna kontrola produktu. Czytnik kodów czy smart camera?

>KLIKNIJ<

Czy maszyna zastąpi człowieka przy budowie szaf? Wywiad z inżynierami Weidmuller

Czy maszyna zastąpi człowieka przy budowie szaf? Wywiad z inżynierami Weidmuller

>KLIKNIJ<

Wyzwania dynamicznych stref bezpieczeństwa – praktyczny przykład realizacji

Wyzwania dynamicznych stref bezpieczeństwa – praktyczny przykład realizacji

>KLIKNIJ<

Twój dostawca wycofuje serwonapędy? Skontaktuj się z ich producentem.

Twój dostawca wycofuje serwonapędy? Skontaktuj się z ich producentem.

>KLIKNIJ<

KONKURS IAUTOMATYKA GRUDZIEŃ 2019

KONKURS IAUTOMATYKA GRUDZIEŃ 2019

>KLIKNIJ<

Katalog igus teraz też po polsku

Katalog igus teraz też po polsku

>KLIKNIJ<

Czujniki siły dla robotów przemysłowych. Jak zwiększyć skuteczność montażu delikatnych detali?

Czujniki siły dla robotów przemysłowych. Jak zwiększyć skuteczność montażu delikatnych detali?

>KLIKNIJ<

Jak dostosować się do potrzeb IIoT klienta w sektorze produkcyjnym?

Jak dostosować się do potrzeb IIoT klienta w sektorze produkcyjnym?

>KLIKNIJ<

Darmowa i ładna SCADA? Niemożliwe? Sprawdź Node-RED!

Darmowa i ładna SCADA? Niemożliwe? Sprawdź Node-RED!

>KLIKNIJ<

Sysmac – Platforma automatyzacji firmy Omron – Podstawowa konfiguracja komunikacji

Sysmac – Platforma automatyzacji firmy Omron – Podstawowa konfiguracja komunikacji





MOŻESZ SIĘ TYM ZAINTERESOWAĆ




KATEGORIE ARTYKUŁÓW
POLECANE ARTYKUŁY
Wydarzenia

Wszystko stanie się prostsze po zalogowaniu :)

Przypomnij hasło

Nie masz konta? Zarejestruj się

Forgot your password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Close
z

Przetwarzamy pliki... jeszcze chwilka…