Elektroda.pl
Elektroda.pl
X
SterControl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak najlepiej połaczyć PLC w sieć? RS232, RS485, Micrologix.

06 Sie 2008 09:11 3873 12
  • Poziom 39  
    Mam trzy sterowniki (Allen-Bradley Micrologix 1200) działające niezależnie sterujące pracą jednego procesu technologicznego. Sterowniki są oddalone od siebie o kilkanaście-kilkadziesiąt metrów. Gdyby je ze sobą skomunikować możnaby bardzo ułatwić życie obsłudze i sobie samemu (chociażby sygnalizować w jednym miejscu błędy które się pojawiły). Porty komunikacyjne sterowników mogą pracować w reżimie RS232 i RS485. Ponieważ specyfikacja RS485 umożliwia pracę do 63 urządzeń w jednej sieci pomyślałem że bez większych nakładów finansowych możnaby sterowniki ze sobą spiąć i przesyłać między nimi dane.
    O ile ze spięciem i ustanowieniem komunikacji dwóch sterowników via RS232 nie mam problemu - przy trzech i RS485 pojawia się problem - nie mam pojęcia jak to ugryźć.
    Jeszcze ładniej byłoby kupić konwertery RS232 - Ethernet. Ale tutaj moje doświadczenie jest również zerowe.
    Wiem że można kupić moduły Ethernetowe do Micrologixów ale moduł kosztuje tyle co dwa Micrologixy 1200.
    Może ktoś z kolegów bawił się w takie niekonwencjonalne sieci i mógłby podpowiedzieć jak temat ugryźć...
  • SterControl
  • SterControl
  • Poziom 16  
    Ale RS485 to jest warstwa fizyczna a z tego właśnie korzysta ProfiBus, kwestia tylko czy sterowik obsługuje ten protokół. Ja na Bradleyach nic nie robiłem więc nie wiem.
  • Poziom 16  
    Pewnym problemem może być że port jest w specyfikacji 232/485 i nie jestem przekonany ze obsluguja pelna specyfikacje 485 (troche sie domyslam bo nie sprawdzalem)
    Na stronie http://www.lammertbies.nl/comm/info/RS-485.html znajdziesz troche informacji na temat sieci na RS485. Moze pomoze :)
  • Poziom 21  
    hm elektrycznie to moze i sie da ale co z protokolem ktory obsluzy ta wymiane, skoro ethernet jest taki drogi to moze DeviceNet i modul 1761-Net-Dni
  • Poziom 39  
    Devicenet też niestety jest drogi. Troche zakręciłem się z Profibusem na początek - bo przejrzałem troche dokumentacji swojego czasu i nic na temat nie znalazłem.

    Może ktoś z kolegów używa micrologixów 1100 (z LCD i ethernetem)? Ciekaw jestem czy i jak można między kilkoma sterownikami wymieniać tam informacje...


    Micrologix 1100 kosztuje ~ tyle co 1200. A moduły sieciowe do tych sterowników tyle co 2 sterowniki :(
  • Poziom 14  
    Jest tak jak piszesz tylko leczy cię dodatkowa karta do profibus-a , chyba że masz możliwość wymienić to na PLC5/40 a tam możesz spiąć procesory koncentrykiem w CONTROLNET, tam gdzie pracuję jeszcze tego używamy .
  • Poziom 39  
    Ahh... Ceny tych kart są zatważające...

    W akcie desperacji myślałem o komunikacji po RS232 albo 485 przez przesyłanie danych albo jako ASCII albo wykorzystując bloczek MSG. Mając trzy sterowniki A B i C, możnaby dołożyć do tego hardwareowy układ - taki jakby switch przełączający komunikację A->B A->C. Sterowik A musiałby pracować jako master i za jego pomocą (jedno wyjście cyfrowe) odbywałoby się przełączanie. Wiem że rozwiązanie mało eleganckie i do zastosowania w ostateczności, ale widze szanse na jego prawidłowe działanie...
  • Poziom 19  
    A ja proponuję Ci, abyś wykorzystał ten RS485 i połączył wszystkie trzy sterowniki razem.

    Teraz musisz pamiętać, aby tylko jeden sterownik w danej chwili mógł nadawać.

    Musisz wybrać, który sterownik będzie jako master - będzie on wysyłać zapytania do dwóch pozostałych. Wszystkie trzy sterowniki muszą mieć swój adres, np. 1, 2 oraz 3.

    Zaprojektuj sobie prosty protokół transmisji.

    Np.:
    A - sterownik master, adres 1
    B - sterownik slave, adres 2
    C - sterownik slave, adres 3

    Twoja ramka może wyglądać tak:

    [BJAT-ile_bajtów][BAJT-adres_odbiorcy][BAJT-adres_adresata][BAJT-polecenie][ew.bajty danych]
    (przydałby się na końcu CRC, ale to już bajka ;) )

    teraz np. sterownik A chce sprawdzić, czy były błędy. Powiedzmy, że polecenie o ID = 64 to polecenie sprawdzania błędów. Robi tak:

    A -> 3|2|1|64
    czeka na odpowiedź z B
    B -> 3|1|2|0
    czyli nie ma błędów, wysyłamy teraz do C
    A -> 3|3|1|64
    C -> 3|1|3|10
    błąd np. pompy

    Musisz to sobie dokładnie rozpisać i najważniejsze żebyś się nie pogubił i nie pomieszał czegoś w implementacji - bo odnalezienie błędów podczas transmisji danych, jeżeli coś gdzieś jest źle wysyłane - to jest makabra...

    W ten sposób podłączysz ile chcesz sterowników i obejdzie się bez żadnych switchy :)
  • Poziom 39  
    Wczoraj miałem w końcu okazje pogrzebać w sterownikach. Okazało się że transmisję jednego portu można ustawić jako Modbus RTU. Podejrzewam że rozwiąże to problem. Trzeba będzie "jedynie" przejść z RS232 na 485 (jest do tego odpowiedni konwerterek).
  • Poziom 12  
    Witam

    Ten post z wymiana mnie rozbawił wymiana MicroLogix 1200 (około 2 500 zł) na PLC5/40 gdzie sam procek to pewnie z 30 000 zł kosztuje, do tego kaseta i moduły i nie produkowany od lat tylko częsci zamienne - gratuluje.

    Profibus - to też się nie opłaca, pozatym tego nie produkuje Allen Bradley tylko firma Prosoft.

    DeviceNet - sieć dla modułów oddalonych I/O, jest moduł NET-DNI można by się też pobawić w spięcie - ale wydaje mi się że to dużo pracy.

    Rozwiązanie to:
    - moduł NET-ENI - ethernet
    - można by sie zastanowic nad NET-AIC (DH485) - tego nie próbowałem, ale powalczyć można.

    A sterownik masz dwuportowy? 1762-LxxxxxR (R na końcu)


    Pozdrawiam