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

Jak odczytać i parsować dane z web serwera S7 1200 bez OPC i prodave?

zamsz 20 Lut 2012 12:21 4608 11
  • #1 10571662
    zamsz
    Poziom 2  
    Posty: 3
    Ocena: 2
    Sytuacja wygląda w ten sposób, że wystawiam dane na web serwerze S7 1200 i chciałbym własnym programem wczytywać zawartość strony parsować ją wyłuskując dane z PLC. Czy ktoś w ogóle próbował takiej kombinacji? Czy jest to realne i właściwe podejście do tematu?

    Chwilowo z różnych względów wykluczam użycie serwer OPC bądź też bibliotek typu prodave.
  • #2 10573136
    jestam
    Specjalista Automatyk
    Posty: 1794
    Pomógł: 210
    Ocena: 144
    Sposób sprawdzony w praktyce sterowników różnych producentów. Niestety nie na S7, ale nie ma powodu dla którego miałoby to nie działać. Uwaga: diabeł tkwi w szczegółach.
  • #4 10573992
    zamsz
    Poziom 2  
    Posty: 3
    Ocena: 2
    elektrokuba napisał:
    Nie bardzo rozumiem co chcesz otrzymać ale sam nie dalej jak tydzień temu się tym zajmowałem i to na s7-1200. Działa i mogę pomóc tylko skonkretyzuj wymagania.

    W zasadzie wszystko zrobiłem w oparciu o pomoce z poniższej stronki siemens'a:
    https://www.automation.siemens.com/forum/gues...ow.aspx?PostID=303897&Language=en&PageIndex=1


    Interesuje mnie pełna dynamiczna wizualizacja procesu czyli wyświetlanie danych z PLC + grafika, jakieś drobne animacje. Inaczej mówiąc SCADA własnej "produkcji" niestety sam html nie wystarczy do tego przedsięwzięcia. Wpadłem więc na pomysł parsowania dodatkowym programem zawartości www generowanej przez PLC.

    Podany przez Ciebie link to przykład uruchomienia web serwera ze statyczną wizualizacją w html. To mi nie wystarcza.
  • #5 10574609
    elektrokuba
    Poziom 12  
    Posty: 101
    Pomógł: 2
    Ocena: 5
    Aha... No bo zrozumiałem że chcesz po prostu odpalić web serwer. Też próbowałem coś kombinować z animacjami, podobno jave się da jakoś w to wplątać ale jedyne co mi się udało to wklejanie GIFów ;) Z tego co wiem to da się wstawić obrazki zmieniające się w zależności od zmiennych PLC, ale nie doszedłem do tego jak to zrobić. Do scady to temu bedzie daleko bo odświeżanie będzie słabe ...
    Zrobiłem podstawową stronkę w HTMLu z zakładkami tekstem/wartościami zmieniającymi się w zależności od stanu w PLC. Niestety z robienia stronek jestem kiepski więc na tym poprzestałem i w tym mogę pomóc.
    Niemniej jak byś coś wymyślił to będę wdzięczny za jakieś informacje.
    Puki co pozdrawiam i sorry za zamieszanie.
  • #6 10574896
    jestam
    Specjalista Automatyk
    Posty: 1794
    Pomógł: 210
    Ocena: 144
    zamsz napisał:
    Inaczej mówiąc SCADA własnej "produkcji

    Trzeba przygotować stronę (strony) z odpowiednimi znacznikami do odczytu zmiennych i/lub deklaracjami <!--AWP --> dla zapisu.

    Odczyt wykonuje się żądaniem HTTP GET, zapis HTTP POST. Żądania trzeba wygenerować po stronie klienta (w przeglądarce): javascript, aplet java, Flash, etc. Meta refresh się niezbyt nadaje.
  • #7 13031201
    nuszek
    Poziom 30  
    Posty: 1421
    Pomógł: 123
    Ocena: 388
    Dzień Dobry

    Może to nie jest odpowiedz na pytanie, ale dotyczy tematu

    Poszukuję przykładu jak wczytać do S7 1200 stronę www, za pomocą której odczytam zmienne, zmienię stan styku, zmienię wartości nastaw np. czasówki, itp.
    Jak taka strona powinna wyglądać, co i gdzie trzeba ustawić i wczytać, proszę pisać konkretnie, a nie ze tu i tu jest opisane.

    Jak ktoś może mi pomóc proszę na pw, ale dla dobra wszystkich możemy dyskutować na forum.

    Jak wiemy, na przykładach najwięcej się uczymy.
  • #8 13173655
    MarasTej
    Poziom 12  
    Posty: 28
    Tutaj znajdziesz bardzo prosty i przyjemny tutorial S7-1200 web serwer: Link
  • #9 14621801
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    Dołączę się do tematu.
    Jest możliwe wykorzystanie tego WEB SERVERA w aplikacji napisanej w C#. Tzn. miałbym aplikacje w C#, która symuluje obiekt i w czasie rzeczywistym przy pomocy WEB SERVERA wysyła i odczytuje dane ze sterownika S7-1200. I do tego powstała by prosta wizka w C# (ale to już jest najmniejszy problem).
  • #10 14622077
    jestam
    Specjalista Automatyk
    Posty: 1794
    Pomógł: 210
    Ocena: 144
    Da się to zrobić, ale symulowany obiekt nie może być zbyt szybki - cykl odczyt/zapis po HTTP to jakieś kilkaset ms.
  • #11 14622380
    tos18
    Poziom 42  
    Posty: 7052
    Pomógł: 1094
    Ocena: 1824
    Czy nie lepiej wysyłać cyklicznie paczkę z danymi przez TCP lub UDP ?
    Instrukcja rozdział 10.2 oraz Easy Book (po polsku) rozdział 7.
  • #12 14622572
    jestam
    Specjalista Automatyk
    Posty: 1794
    Pomógł: 210
    Ocena: 144
    Co kto lubi.

    HTTP jest mniej pracochłonne po stronie PC (w skrajnym przypadku jedna linia kodu w C#) i po stronie PLC (wystarczy gotowiec z przykładu plus strona HTML dla danego projektu). A są też sterowniki, które obsługują HTTP wprost w firmware.

Podsumowanie tematu

✨ Użytkownik poszukuje sposobu na odczyt i parsowanie danych z web serwera S7-1200 bez użycia serwera OPC ani bibliotek typu Prodave. W odpowiedziach podano, że jest to możliwe, a użytkownicy dzielili się doświadczeniami związanymi z tworzeniem dynamicznych wizualizacji procesów oraz odczytem danych z PLC. Wskazano na konieczność przygotowania odpowiednich stron HTML z znacznikami do odczytu zmiennych oraz użycia żądań HTTP GET i POST. Zauważono, że odświeżanie danych może być ograniczone, a alternatywą może być przesyłanie danych przez TCP lub UDP. Użytkownicy podzielili się również przykładami i tutorialami, które mogą pomóc w realizacji projektu.
Wygenerowane przez model językowy.
REKLAMA