logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

S7 1200 - Wybór między serwerem OPC a biblioteką do komunikacji z PLC

JimMorr 10 Gru 2014 08:36 2136 5
  • #1 14208495
    JimMorr
    Poziom 2  
    Posty: 4
    Witam,
    przygotowuję rozwiązanie które ma odczytywać z maszyn i urządzeń rozproszonych po zakładzie parametry i poprzez kilka PLC i Ethernet dostarczać je do bazy danych SQL. W przyszłości być może będę chciał wymusić z poziomu PC stan wyjścia któregoś z PLC. Liczba PLC w systemie do 20.

    Wstępnie wybór padł na sterowniki Siemensa S7 1200

    Zauważyłem, że do komunikacji pomiędzy PLC a PC mam do dyspozycji dwie klasy rozwiązań: biblioteki do komunikacji, pozwalające na dostęp do rejestrów i bloków pamięci sterownika oraz serwery OPC. Oba i tak wymagają prac programistycznych. Mam jednak wrażenie, że umyka mi jakaś istotna różnica pomiędzy tymi dwoma rozwiązaniami.

    - Czym się różni Serwer OPC od bibliotek do komunikacji, które z tych rozwiązań będzie lepsze do opisanego powyżej zastosowania?

    - Czy ktoś ma doświadczenie z którymiś bibliotekami dla .net (ASComm.NET)?
  • #2 14208543
    kornik280
    Poziom 18  
    Posty: 466
    Pomógł: 36
    Ocena: 14
    Różni się to tym, że serwery OPC są płatne,a biblioteki są darmowe (zresztą nie są one niezbędne).

    Najprościej jest użyć ModbusTcp do odczytu rejestrów, później te dane możesz wrzucać do bazy danych, nie potrzeba tu żadnego płatnego softu (poza step7 ale to oczywiste). Wszystko można napisać w VS Express.

    Rozwiązania:
    1.OPC+SCADA- oba płatne
    2.OPC+własny soft-płatne OPC
    3.ModbusTCP-własny soft, za darmo
  • #3 14208683
    JimMorr
    Poziom 2  
    Posty: 4
    Hmm... biblioteki które znalazłem bynajmniej nie były darmowe, poza kilkoma projektami OpenSource w różnym stopniu rozgrzebania. Co gorsza z licencją developerską nie pozwalały na tworzenie aplikacji komercyjnych z darmowym runtimem - wymagały wykupienia dodatkowej licencji na każdą instancję runtime'a.

    Ale być może przegapiłem opcję wykorzystania ModBusa - wydawało mi się, że S7 Modbusa nie wspiera, tylko wewnętrzny protokół Siemensa. Zdaje się zmieniło się to z którymś firmware (?). STEP 7 Basic jest potrzebny do skonfigurowania połączeń, czy musi potem uczestniczyć w komunikacji?
  • Pomocny post
    #4 14208734
    kornik280
    Poziom 18  
    Posty: 466
    Pomógł: 36
    Ocena: 14
    W wątku "c# i komunikacja przez modbus rtu", są przykłady darmowych bibliotek, co prawda wątek tyczy się Modbusa Rtu ale dla tcp też są. Poza tym żadne biblioteki nie są niezbędne, można samemu napisać.

    Wystarczy do każdego sterownika dać bloczek modbus tcp slave który jest powiązany z blokiem danych do którego chcesz mieć dostęp i na tym się kończy konfiguracja w Stepie (jeśli chodzi o transmisje).Każdemu sterownikowi nadajesz Ip i wpinasz w sieć. Następnie piszesz program który się łączy z każdym sterownikiem po TCP i pobiera z niego dane ,a później wrzuca dane do bazy.

    Generalnie nawet nie trzeba używać Modbusa możesz użyć "open user communication" np. bloki TSEND czy TRCV lub ich odpowiedniki dla UDP, wtedy nie trzeba sie trzymać sztywnie protokołu,możliwości jest wiele
  • #5 14210649
    LukaszZas1234
    Poziom 10  
    Posty: 28
    Ocena: 2
    20 sterowników w sieci to już jest coś. Jak masz same Siemensy to kupuj scade WinCC. Tam możesz komunikować się z PLC przez opc i driver Simatic S7 SUIT. Oba rozwiązania testowałem i generalnie wszystko. S7 Suit jest mniej awaryjny. Przy takiej liczbie sterowników to nie ma sensu rzeźbić w g...
  • #6 14210895
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    S7-1200 ma serwer WWW, przez który można czytać dane ze sterownika oraz zapisywać do wybranych zmiennych.
REKLAMA