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

Czy uda się komunikować z komputerem przez port RS232? Sterowniki PLC.

plcsystem 27 Lut 2015 22:34 1293 14
  • #1 14484923
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    Witam!

    Czy w sterownikach PLC z portem RS232, możliwa jest komunikacja z komputerem przez ten port i przesyłanie sygnałów I/O?
  • #2 14484958
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Tak, komunikacja jest możliwa.

    Podasz jakieś szczegóły?
  • #3 14484978
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    Może być też przez Ethernet itd. Ma to być komunikacja dwukierunkowa. W komputerze będzie zaimplementowany wirtualny model obiektu w języku C++ lub Matlabie.
  • #4 14485017
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Trochę mało tych szczegółów... Jaki sterownik, jakie masz narzędzia do dyspozycji, jak miałoby to działać wg Twojego pomysłu?
  • #5 14485027
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    Sterownik jeszcze nie wybrany może to będzie Unitronics, może Beckhoff. Narzędzia Matlab, Visual. Zaimplementowany w komputerze model miałby symulować w czasie rzeczywistym działanie obiektu i wystawiać na wejście wartości binarne i analogowe. Ze strony wyjść sterownika miałby oczywiście otrzymywać dane. W sterowniku będą zaimplementowane dwa regulatory PID i jeszcze kilka dodatkowych biarnych.
  • #6 14485124
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Stan wyjść sterownika da się odczytać, ale nie da się zapisać stanu wejść.

    Zamiast tego, należy używać w programie sterownika tylko flag i rejestrów, z których część będzie "wejściami" (komputer zapisuje wartości) a część "wyjściami" (komputer odczytuje wartości).

    Komputer powinien być masterem w komunikacji, tj. program symulujący obiekt powinien cyklicznie odczytywać dane z obszaru flag/rejestrów "wyjść" sterownika, wyliczać nowy stan obiektu i zapisywać go na "wejścia".

    Da się zrobić odwrotnie - sterownik PLC jako master, ale będzie to wymagało znacznie więcej pracy.

    Dla Unitronics (jaki model?) możesz użyć protokołu Modbus RTU lub Modbus TCP.

    http://support.elmark.com.pl/unitronics/PDF/MODBUS.pdf
    http://support.elmark.com.pl/unitronics/PDF/MODBUS_IP.pdf
  • #7 14485141
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    jestam napisał:

    Zamiast tego, należy używać w programie sterownika tylko flag i rejestrów, z których część będzie "wejściami" (komputer zapisuje wartości) a część "wyjściami" (komputer odczytuje wartości).
    znacznie więcej pracy.

    Dla Unitronics (jaki model?) możesz użyć protokołu Modbus RTU lub Modbus TCP.

    Jeśli dobrze rozumiem, to chodzi o to żeby nie używać np styków Input i cewek Output w programie w języku LAD tylko markery,flagi i np. zmienne word.

    A jeśli chodzi o sterownik to jeszcze nie wiem dokładnie jaki. Ale rozumiem, że w takim przypadku może być z jak najmniejszą liczbą I/O i AI/AO.

    A co jeśli chciałbym skorzystać z Matlaba?
  • #8 14487436
    aut0matyk

    Poziom 17  
    Posty: 199
    Pomógł: 15
    Ocena: 15
    Mogę zaproponować użycie takiego sterownika:
    - 8 wejść cyfrowych,
    - 8 wyjść (4 przekaźnikowe i 4 tranzystorowe),
    - 2 wejścia analogowe 0..10V
    - 2 wejścia analogowe do mierzenia temperatury za pomocą PT100,
    - 2 wyjścia analogowe 0..10V.
    I wyposażony jest w RS232. Można w nim dowolnie skonfigurować ramki danych
    wysyłanych i odbieranych przez RS232.
    http://www.e-tronix.eu/3,sterownik-plc-programowalny-su-1-5.html
    Konto firmowe:
    E-TRONIX
    ul. Ściegiennego 89/42, Kraków, 30-809 | Strona WWW: www.e-tronix.eu
  • #9 14487496
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    plcsystem napisał:
    to chodzi o to żeby nie używać np styków Input i cewek Output w programie w języku LAD tylko markery,flagi i np. zmienne word.

    Zgadza się.

    plcsystem napisał:
    A jeśli chodzi o sterownik to jeszcze nie wiem dokładnie jaki

    Jeśli masz wybór, wygodniej obsługuje się Modbus TCP niż RTU. Nie każdy model Unitronicsa ma Modbus TCP. Do Beckhoffa potrzebne są odpowiednie biblioteki.

    plcsystem napisał:
    A co jeśli chciałbym skorzystać z Matlaba?

    Zasadniczo podobnie jak używając dowolnego innego języka programowania: jako Master (czy Klient) musisz nawiązać połączenie TCP/IP, wygenerować i przesłać ciąg bajtów zgodnie z protokołem Modbus TCP.

    Specyfikację protokołu znajdziesz na www.modbus.org. Przykład z google http://www.mathworks.com/matlabcentral/answers/73725-modbus-over-tcp-ip. Może jakieś biblioteki do Matlaba da się znaleźć, nie wiem, nie potrzebowałem.
  • #10 14499712
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    jestam napisał:

    Jeśli masz wybór, wygodniej obsługuje się Modbus TCP niż RTU. Nie każdy model Unitronicsa ma Modbus TCP. Do Beckhoffa potrzebne są odpowiednie biblioteki.

    plcsystem napisał:
    A co jeśli chciałbym skorzystać z Matlaba?

    Zasadniczo podobnie jak używając dowolnego innego języka programowania: jako Master (czy Klient) musisz nawiązać połączenie TCP/IP, wygenerować i przesłać ciąg bajtów zgodnie z protokołem Modbus TCP.

    Specyfikację protokołu znajdziesz na www.modbus.org. Przykład z google http://www.mathworks.com/matlabcentral/answers/73725-modbus-over-tcp-ip. Może jakieś biblioteki do Matlaba da się znaleźć, nie wiem, nie potrzebowałem.


    Jeśli chodzi o sterownik to mam w domu akurat Unitronics Jazz. Mam jeszcze LOGO!8 z wbudowanym portem Ethernet. I zastanawiam się czy LOGO by wystarczyło i czy nawiązałoby komunikację z PC i ze SCADĄ...

    Aha w sklepie elmark znalazłem coś intresującego: https://www.elmark.com.pl/pl/sklep/unitronics/mj20-et1
    w opisie podane jest:
    Cytat:
    możliwość komunikacji z innymi urządzeniami (Modbus TCP Client lub Server)
  • #12 14501923
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    Jazz2 to są te modele, które mają na początku w nazwie JZ20? Bo nie widzę podziału na Jazz i Jazz2 tylko na Jazz i Jazz-J.
  • #13 14502027
    gervee
    Specjalista Automatyk
    Posty: 1077
    Pomógł: 100
    Ocena: 94
    Seria J to taka z płaskim panelem w kolorze czarnym.
    Masz:
    JZ20 i JZ10 - niebieski z szarym ->https://www.elmark.com.pl/producenci/sklep/unitronics-seria-jazz
    JZ20-J i JZ10-J -> https://www.elmark.com.pl/producenci/sklep/unitronics-seria-jazz-j

    Przy czym JZ20 to seria nowsza względem JZ10 i chyba tylko do tych jest interface ethernetowy.
  • #14 14502405
    plcsystem
    Poziom 15  
    Posty: 255
    Pomógł: 5
    Ocena: 17
    To dobrze bo dysponuje akurat JZ20.
  • #15 14502536
    gervee
    Specjalista Automatyk
    Posty: 1077
    Pomógł: 100
    Ocena: 94
    Dla świętego spokoju skontaktuj się z firmą Elmark, która sprzedaje sterowniki Unitronics - podaj typ swojego sterownika i dowiedz się czy faktycznie interface będzie z nim działać.

Podsumowanie tematu

✨ W dyskusji poruszono możliwość komunikacji między komputerem a sterownikami PLC za pomocą portu RS232, z naciskiem na dwukierunkową wymianę danych. Użytkownik planuje implementację modelu obiektu w C++ lub Matlabie, a także wykorzystanie protokołów Modbus RTU i TCP. Wskazano na konieczność używania flag i rejestrów zamiast bezpośredniego odczytu i zapisu stanów wejść i wyjść. Użytkownicy sugerowali różne modele sterowników, w tym Unitronics i Beckhoff, oraz omawiali ich funkcjonalności, takie jak liczba wejść/wyjść i wsparcie dla protokołów komunikacyjnych. Wspomniano również o modelach Unitronics Jazz, w tym JZ20, oraz LOGO!8, z pytaniami o ich zdolność do komunikacji z PC i SCADĄ.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA