Witaj w kolejnej części cyklu o bibliotekach .Net do komunikacji ze sterownikami Siemensa.
Moim zdaniem najlepiej uczyć się nowych rozwiązań za pomocą działających przykładów. W związku z tym, zamiast prezentować „na sucho” działanie bibliotek zdecydowałem się przygotować trochę kodu, który pozwoli je przetestować w praktyce. W związku z tym przygotowałem projekt prostego programu dla sterownika oraz szkic prostej aplikacji WinForms, która posłuży nam do testów.
Program sterownika przygotowany jest dla PLC S7-1200 w środowisku TIA Portal V14 SP1. Zdecydowałem się na takie rozwiązanie, ponieważ jest to najpopularniejsza seria przystępnych cenowo sterowników oferowanych przez Siemens-a. Projekt taki bardzo łatwo można przekształcić też na projekt dla sterownika S7-1500. Nie mam w tej chwili niestety dostępu do najprostszego sterownika LOGO!, który jest programowany za pomocą innego narzędzia.
Powstaje w ten sposób pewne ograniczenie, które wymaga posiadania sterownika do przetestowania komunikacji, ale zakładam że osoby zainteresowane tym cyklem postów czytają go raczej z założeniem, że taką komunikację będą wcześniej czy później realizować – a więc posiadają samo urządzenie.
Sterownik S7-1200 można kupić stosunkowo niedrogo w formie zestawu startowego np. w sklepie Kamami
Do załadowania programu w zupełności wystarczy wersja Trial oprogramowania TIA Portal.
PROGRAM STEROWNIKA
Do wglądu/pobrania z https://github.com/pstrejczek/PlcNetLibrariesS7TestProject
W projekcie wykorzystałem samo CPU 1212 w wersji AC/DC/RLY (zasilane z 230V). W przypadku wykorzystania innego sterownika trzeba dokonać podmiany w konfiguracji hardware projektu.
Trzeba również przypisać odpowiedni adres IP, aby sterownik był dostępny w sieci w której chcemy się z nim komunikować.
Sam program jest bardzo prosty. W bloku danych DB10 znajdują się parametry, które będziemy wymieniać ze sterownikiem.
Program inkrementuje licznik przechowywany w zmiennej CurrentValue aż do osiągnięcia wartości SetPoint a następnie resetuje się do wartości 0. Ustawienie bitu Start spowoduje rozpoczęcie odliczania, natomiast ustawienie bitu Stop powoduje zakończenie odliczania i wyzerowanie CurrentValue. Zmienna ProcessInProgress będzie nas informować czy proces odliczania trwa, czy też nie.
APLIKACJA .NET
Znajduje się na github: https://github.com/pstrejczek/PlcNetLibraries
To będzie prosta aplikacja w Windows Forms, która zapewni nam podstawowe GUI pozwalające testować komunikację. Warstwę komunikacyjną bazującą na różnych bibliotekach będziemy podłączać w formie bibliotek dll. Wydaje mi się, że takie rozwiązanie będzie tutaj najlepsze. Póki co, repozytorium zawiera jedynie wstępny szkic, który będzie rozwijany wraz z opisami kolejnych bibliotek.
W następnej części zajmiemy się (nareszcie 🙂 ) konkretnie pierwszą z bibliotek.
Wszystkie posty w tym cyklu:
Biblioteki .Net do komunikacji ze sterownikami PLC Siemens – wstęp
Biblioteki .Net do komunikacji ze sterownikami PLC Siemens – protokół S7 i konfiguracja sterownika
Biblioteki .Net do komunikacji ze sterownikami PLC Siemens – projekty testowe
Biblioteki .Net do komunikacji ze sterownikami PLC Siemens – biblioteka s7netplus
Biblioteki .Net do komunikacji ze sterownikami PLC Siemens – biblioteka Sharp7 (Snap7)
Biblioteki .Net do komunikacji ze sterownikami PLC Siemens – biblioteka DotNetSiemensPlcToolboxLibrary
[…] prostą aplikację, która tak naprawdę jest klonem tego, co przygotowałem przy postach o bibliotekach C# do komunikacji ze sterownikami. Komunikuje się ona z dokładnie tym samym programem w S7-1200 jak ten, z którego korzystałem w […]