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

SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS

filu 05 Mar 2011 19:51 7547 23
REKLAMA
  • #1 9239481
    filu
    Poziom 16  
    Posty: 276
    Ocena: 15
    Próbuję już od jakiegoś czasu zrobić komunikację po Modbusie pomiędzy sterownikiem SAIA (PCD4) ustawionym jako SLAVE, a innym, jakimkolwiek Master-em (np. Modbus Poll , InTouch).
    Biblioteka Modbus posiada bloczki widoczne na poniższym zdjęciu :

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS

    Poniżej to co sam stworzyłem, ale nie ma żadnego rezultatu. Nie wiem jak to ugryźć. Nie mam żadnego opisu czy HELP-a.
    Co oznaczają te skróty w bloczkach :Err,ErS. ?
    Gdzie wpisywać adresy Modbusa np. 40010 ?
    Bardzo proszę o wszelkie sugestie, może z innych sterowników.

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
  • REKLAMA
  • #2 9240190
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Biblioteka Modbus dla PCD4 jest autorstwa Engiby; aktualna wersja 2 ma inne bloki niż na Twoim obrazku. Być może jest to wersja 1 od Engiby albo coś z zupełnie innego źródła. Wystaw gdzieś pliki biblioteki (może być na priv, żeby piractwa nie wspierać) to do niej zajrzę.
  • #4 9240624
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Wersja 1.31 nie jest już wspierana. Za http://engiby.ch/modbus/tcpfaq.htm
    Cytat:

    If you already have a licensed Modbus 1 package, version 1.5x, 1.6x or 1.7x, you can upgrade to Modbus 2. If you have an earlier version, you must buy a new license.
  • #5 9307307
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    Witam, nie chciałbym zakładać nowego posta, rownierz zainstersowany jestem modbusem i moja iplemntacja fupla wyglada jak na obrazku ponizej:
    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
    rozumiem ze we wlasciwosciach bloku "Def Unit Server" Unit ID jest to adres slave ?
  • #6 9311525
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    Powiedzmy ze problem powyzej rozwiazalem bo odpowiedzialem na niego sobie sam, ale czy moglby mi ktos pomoc, gdy po wgraniu tego programu do sterownika pojawia sie blad i nie potrafi zinicjalizowac portu, co widac na obrazku ponizej:

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS

    z gory dziekuje za zainteresowania i za pomoc
  • #7 9311599
    CervantesJ.
    Poziom 18  
    Posty: 216
    Pomógł: 24
    Ocena: 19
    To po wystąpieniu błędu podaj "1" na wejście Clear bloczku inicjalizacji a nie na stałe wpisujesz "0"
    Ja zawsze na stałe Clear ustawiam na "1"
  • REKLAMA
  • #8 9312052
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    po ustawieniu na "1" dzieje mi sie tak dalej...obrazek ponizej:

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS

    jednak po zastosowaniu bloku rozszerzonego z tymi samymi ustawieniami blad znika:

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
  • #9 9313489
    filu
    Poziom 16  
    Posty: 276
    Ocena: 15
    Też próbowałem z moich bloczków zrobić jakąś komunikację ale nic mi się nie udało wysłać (nasłuchiwałem po RS-ie czegokolwiek). Popatrz sobie na te aplikacje, może coś podpatrzysz. Nie jest to Modbus tylko jakieś inne komunikacyjne , S-Bus czy coś takiego.

    Nie wiem tylko co to jest to H w kwadracie (zaznaczone na zdjęciu).

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
  • #10 9314782
    CervantesJ.
    Poziom 18  
    Posty: 216
    Pomógł: 24
    Ocena: 19
    To "H" w kwadracie to stan wysoki - to samo co logiczna "1"
    Kolega obscure84 chyba pracuje na jakiejś nowszej wersji PG5 np 2.0 bo troche inaczej wygląda niż wersja której ja używam (PG5 1.4.300) i bloczki są nieco inne. ModBus na Saiach jest łatwiutki do opanowania. Kożystam z bibliotek ENGIBY
    Generalnie w ustawieniach Settings>Hardware zakładka Serial, pole Serial S-Bus Port jest wyłączony.
    Definicja M-Bus Master jak poniżej
    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS

    Przykładowy odczyt rejestrów po MBus
    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
  • REKLAMA
  • #11 9317138
    filu
    Poziom 16  
    Posty: 276
    Ocena: 15
    Dzięki CervantesJ. Bardzo pomocne materiały mimo że mam starszą wersje. Siadam zaraz i kombinuje dalej.

    Możesz mnie jeszcze tylko nakierować czy dobrze rozumuje.
    Chcę połączyć sterownik SAIA z InTouch-em. Z tego co się orientuje to InTouch jest Masterem. Mam już w InTouchu skonfigurowany DAServer Manager. Wysyłam z niego informacje pod rejestrem 40010.

    Rozumiem że sterownik muszę skonfigurować do komunikacji po Modbusie jako SLAVE. Czyli wstawiam blok SLAVE i do odbioru blok MBUS-Rcv -widok na zdjęciu poniżej (wiem że moje biblioteki są starsze ale chodzi mi tylko o ogólną koncepcje).

    Gdzie w moim programie i jak mam przechwycić i odczytać rejestr 40010 z InToucha ?

    SAIA PCD4 - Konfiguracja bloczków Modbus jako SLAVE, znaczenie skrótów Err, ErS
  • REKLAMA
  • Pomocny post
    #12 9317200
    CervantesJ.
    Poziom 18  
    Posty: 216
    Pomógł: 24
    Ocena: 19
    Jeżeli SAIA jest tylko SLAVE to nie używasz bloczków RCV. W SAI wstawiasz tylko MBus-Slv i nic więcej. Za pomocą InTouch nadpisujesz rejestry w SAIA.
    Nie znam InTouch i nie wiem jak się tam robi zapis do urządzeń Slave.

    Bloczki RCV wykorzystywane są dopiero jak SAIA jest Masterem sieci i to saia ciągnie dane z urządzeń SLAVE i wpisuje np do swoich rejestrów.
  • #13 9322996
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Tutaj jest opis nowych bloczków Modbus dla PCD3 i PCD2.M5.

    Bloczki Modbus od Engiby są inne niż te udostępniane przez Saia dla PCD3 i PCD2.M5.
  • #14 9374964
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    To ja chcialem powrocic z moim problemem wiec juz pisze w czym problem:
    jak zrobie build all to nie mam zadnych bledow , natomiast gdy wgram program i uruchomie program to swieci mi sie error i modbus nie dziala, mimo ze jak odpale to okienko do podgladu niby jest OK.
    Jak usune bloki init server i def uid to lampka sie juz nie swieci na czerwono i problemu nie ma...ale modbusa tez nie ma....ale.... zauwazylem ze jak wgrywam device configuration to po wgraniu na sterownik wszytskich modulow (uzywam pcd1.m135) oraz socketu A na ktorym jest F150 to niby jest OK. Jednak jak dam upload device configuration to pobiera mi wsyztskie moduly ale tego komunikacyjnego F150 nie ma.... i teraz sie zastanawaim czy jakies zworki mam gdzies ustawic? czy moze to miec wplyw...
  • #15 9375586
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Odpowiedź w poście wyżej. Do PCD1.M135 musisz użyć płatnej biblioteki od Engiby. Darmowy modbus wymaga odpowiedniego firmware, który nie jest dostępny dla PCD1.M135.
  • #16 9398687
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    Nie chcialbym narzekac na ten sterownik ale nie spotkalem sie jeszcze z urzadzeniem zeby dodatkowo placic za modbusa za sama biblioteke, szczerze uwazam ze ten sterownik to jest porazka pod tym wzgledem...
  • #17 9398973
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Taka branża, że za wszystko się płaci.

    Jeśli Modbus jest absolutnie niezbędny w Twojej aplikacji, zawsze możesz wymienić sterownik na PCD1.M2120.
    Możesz też własnoręcznie oprogramować wymianę danych, ale wyjdzie drożej niż kupić gotową bibliotekę.

    Cytat:
    nie spotkalem sie jeszcze z urzadzeniem zeby dodatkowo placic za modbusa za sama biblioteke

    sprawdż ile kosztuje Modbus RTU dla sterowników Beckhoff :)
  • #18 9399454
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    Jezeli o mnie chodzi to ja bym nawet sterownikow Saia nie stosowal, ale niestety mam inwestora ktory niestety nie pozwolil mi dokonywac zadnych zmian w projekcie , ale zastanawialem sie nad tym modbusem stosowanym w fupla to jest wiadomo autorstwa enigby bodaj, a czy te wywolania w IL CSF sa tez ich autostrwa czy sa darmowe? bo ja muszre tylko server i UID zaimplementowac bo moj terownik ma byc jako slave, dzieki tak wogole za pomoc
  • #19 9399787
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    CSF to wywołanie funkcji systemowej z firmware. PCD1.M135 nie ma tych funkcji w firmware.

    Biblioteka Engiby obsługuje całą komunikację przez port szeregowy samodzielnie - tworzy i analizuje ramki. Dlatego działa na sterownikach bez Modbusa w firmware.

    Skoro PCD ma być slave, to czym jest master? PCtem z wizualizacją? Dlaczego akurat musi być modbus?
  • #20 9399857
    obscure84
    Poziom 10  
    Posty: 19
    Ocena: 4
    musi byc modbus bo inwestor ma kilka obiektow polaczonych po modbusie i chce to na jeden master dorzucic a z facetem sie ciezko dogadac... a co do tego modbusa to dzieki teraz zrozumialem ze m135 nie ma tego firmware, no szkoda
  • #23 12552117
    cegreg
    Poziom 11  
    Posty: 67
    Ocena: 17
    Odgrzebuję stary temat, bo mam problem o tej samej tematyce.

    Muszę skomunikować sterownik automatyki budynkowej z sterownikiem SAIA PCD3. Nie mam na co dzień do czynienia z plc, także proszę o pomoc. W ograniczonym stopniu mam też dostęp do saia z PG5, także muszę się dobrze przygotować teoretycznie ;)
    - mój sterownik automatyki budynkowej jest masterem Modbus
    - Saia PCD3 ma być Slave
    - komunikacja Modbus RTU

    Zgodnie z dokumentacją Saia jeżeli w modbusie jest Slave to w PG5 jest opisywana jako Server. Zatem używam bloczków Server. Do zdefiniowania komunikacji w PG5 używam dwóch bloczków:
    - init Server
    - def unit server

    To sprawdziłem, ustawiłem zgodnie z komunikacją w moim sterowniku i po wgraniu programu do Saia wygląda jakby działało. Bloczki zaświeciły się na zielono ;). Mój sterownik też widział, że nie jest sam na magistrali.

    Nie zdążyłem natomiast przetestować udostępnianie danych.
    Z tego co wyczytałem w manualu do udostępniania danych muszę użyć kolejnego bloczka. Nie spisałem nazwy z PG5 ale nazywał się mapping czy jakoś tak.

    Powiedzmy, że chcę udostępnić wyjście OC o adresie w Saia nr 8 i wejście binarne o adresie 16.

    Zatem potrzebuję dwóch bloczków mapping.
    W pierwszym bloczku w pozycji "Access Type" wybieram "coils".
    W cześci Modbus, w pozycji "media type" wybieram "ReadWrite" - chcę mieć możliwość odczytu stanu wyjścia oraz możliwość zmiany tego stanu z poziomu mojego sterownika;
    w pozycji "Start Adres" wybieram 1, a w pozycji "Range" 1.
    W części PCD, w "Media Type" wybieram "I/O";
    w "start adress" wpisuję "8" i w "range" wpisuję "1".
    W "area type" wybieram "coils"

    Analogicznie w przypadku wejścia nr 16 tylko inne adresy i typy na input.
    Adres na modbus to "2" i range "1" a PCD adres "16" i range też "1".

    Czy ktoś może spojrzeć na to czy to jest poprawne, czy może adresowania powinno wyglądać inaczej ?

    Dzięki!
  • #24 12552279
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Def Unit Server ma opcję Active default mapping: Yes lub No. Domyślnie Yes - wtedy działają automatyczne mapowania adresów. Domyślnie "Coils" z Modbusa są mapowane na flagi w PCD. Ale w Modbus są też "Discrete Inputs" - łatwo można się pomylić. Które są używane przez Twojego mastera?

    "Coil 1" może być mapowany na F 0 lub F 1 - zależnie od ustawienia kolejnej opcji Def Unit Server o nazwie Offset 0->1. Uważaj na tą opcję.

    Parametr Fix Unit Identifier ustawiasz na id slave pod którym ma być widziany PCD.

    Użycie bloczków do mapowania adresów daje większą kontrolę, ale wtedy Active default mapping musi być ustawione na No

    Bloczek Def Mapping Binary ustawiasz tak:
    Unit identifier - id slave ustawione jak w Def Unit Server
    Partner media code/start address/range ustawiasz zgodnie z tym co wysyła Master.
    Map to PCD media type/start address/range na obszar, który chcesz czytać/pisać w PCD
    Area Type = Binary
    Access Type wg potrzeb.

    Uwaga: lepiej jest mapować operacje Modbusa na flagi. W programie PCD trzeba wtedy dodać kopiowanie flagi na wyjście i wejścia na flagę.

    Jeśli będą jakieś problemy, zacznij od podejrzenia na komputerze co dokładnie wysyła master (jakiś program typu Modbus Slave się przyda) i podaj na forum. Podaj też: która wersja PG5, typ sterownika, wersja firmware sterownika.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownicy dyskutują o konfiguracji komunikacji Modbus pomiędzy sterownikiem SAIA PCD4 ustawionym jako SLAVE a różnymi Masterami, takimi jak Modbus Poll i InTouch. Problemy obejmują brak dokumentacji, błędy inicjalizacji portu oraz nieprawidłowe mapowanie adresów Modbus. Wskazówki dotyczące użycia bloczków Modbus od Engiby oraz konieczności posiadania odpowiedniego firmware dla PCD1.M135 są również poruszane. Użytkownicy dzielą się doświadczeniami związanymi z ustawieniami bloczków, takimi jak "Def Unit Server" oraz "MBus-Slv", a także omawiają znaczenie skrótów Err i ErS. Wskazówki dotyczące adresowania rejestrów Modbus oraz mapowania danych są również istotnym elementem dyskusji.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA