Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
MetalWorkMetalWork
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Dlaczego nie działają tagi w serwerze OPC ??

18 Jan 2019 13:31 582 17
  • Level 4  
    Cześć,

    mam problem z serwerem OPC(KEPServerEx). Mam kilka modułów I/O podłączonych pod RS-485 wszystko działa, ramki są wysyłane i odbierane z konkretnych urządzeń. Dlaczego wartość "Quaity" cały czas jest "Bad" w Quick Client??? Już wszystkiego próbowałem, bez tego nie mogę zrobić aplikacji w InTouch'u ,
    Dlaczego nie działają tagi w serwerze OPC ??
  • MetalWorkMetalWork
  • Automation specialist
    Witam,

    Miałem podobny problem ale z DASserverm do InTocha. Problemem był
    program antywirusowy który blokował wymianę danych.

    Pozdrawiam,
  • MetalWorkMetalWork
  • Level 21  
    Testowałeś innym programem komunikację z tego komputera? Jakimś ModbusTesterm?
    Co masz w logu w KEPserwerze?
    Od lat używam KEP i jak nie było komunikacji w OPC Quick Client oznaczało to złe ustawienia w KEP czy to parametry komunikacji czy też definicji Tag.
    O antywirusie blokującym po RS-sie nie słyszałam.
  • Automation specialist
    eljarkos wrote:

    O antywirusie blokującym po RS-sie nie słyszałam.


    Ajjjjj wybaczcie...źle doczytałem, ja pisałem o TCP/IP...

    Pozdrawiam,
  • Level 4  
    Testowałem tylko narzędziem Modbus Slave Simulator i wtedy tagi działają. Robiłem wszystko w ten sam sposób tylko na wirtualnym porcie. Dlaczego nie działają tagi w serwerze OPC ??
    Dlaczego nie działają tagi w serwerze OPC ?? Dlaczego nie działają tagi w serwerze OPC ?? Dlaczego nie działają tagi w serwerze OPC ??
  • Level 21  
    Nic z tego nie wiem. Raz masz urządzenie SM_1 raz Device1. W momencie jak uruchomisz Quick Client w logu KEP serwera (nie Quick clienta) powinny pojawić się wpisy. Sprawdź ustawiania komunikacji dla kanału oraz parametry adresacji. Masza na pewno podłączone urządzenia pod RS? Opisz dokładanie jak masz wszytko połączone.
  • Level 4  
    Projekt, w którym jest urządzenie "Device1" został zrobiony na szybko aby sprawdzić, czy działa wymiana danych między Quick Client'em a Modbus Serial Simulator. Ten projekt zrobiłem według poradnika dlatego ustawione są tagi Q0,0 itd. W tym projekcie dane w Quick Client zmieniają się w zależności od wpisanej wartości w symulatorze co widać na jednym z zrzutów ekranu.

    Ja chciałbym po prostu odczytać jeden rejestr o wartości 7503( wartość na wejściu 1) dla fizycznego modułu SM1 firmy Lumel i chciałbym aby otrzymane wyniki pojawiły się się po uruchomieniu Quick Client'a w tabeli "value". Wszystko mam podłączone pod RS-485, później konwerter RS-232/485 i przez port szeregowy MOXA 1130 do komputera. Połączenie jest, ramki są wysyłane i odbierane, można je zobaczyć w diagnostyce, ale w Quick Client nie pojawiają się wartości tego rejestru.

    Wydaje mi się, że wszystko jest poprawnie ale w Quick Client nie ma tych wartości tylko cały czas jest value "unknown".
  • Level 21  
    A parametry typu bit stopu, parzystość itp. są dobrze ustawione? Co to za Lumel?
  • Level 4  
    Tak są dobrze ustawione. To 2-kanałowy moduł wejść analogowych o 2 wejściach 0...10 V
  • Level 21  
    Wystaw plik konfiguracyjny z KEP. Zobaczę jutro. Jaki to typ modułu?
  • Automation specialist
    Witam,
    Mnie to wygląda na odpytywanie Lumela z rejestrów 32bit. Spróbuj odpytać o tę sam parametr ale z rejestrów 16bit. (np. 7503 32 bit, jest również w 7006 i 7007 16bit.) W KEPserwer odpytaj o 47007@FLOAT (jeśli masz skonfigurowane adresowanie 5 cyfrowe).
    Pozdrawiam
    Paweł
  • Automation specialist
    Nie ma czegoś takiego jak Modbus z rejestrami 32 bit. Lumel powinien nazwać ten "innowacyjny" protokół jakoś inaczej, bo narobili zamieszania. Może "Lodbus" :roll:
  • Automation specialist
    Witam,

    jestam wrote:
    Nie ma czegoś takiego jak Modbus z rejestrami 32 bit. Lumel powinien nazwać ten "innowacyjny" protokół jakoś inaczej, bo narobili zamieszania. Może "Lodbus" :roll:


    W dokumentacji np do miernik NA6 mamy":

    Quote:
    Zakres adresów: 7000, Typ wartości: float (32 bity), Wartość umieszczona
    jest w dwóch kolejnych rejestrach 16 bitowych. Rejestry zawierają te same
    dane co rejestry 32 bitowe z obszaru 7500. Rejestry są tylko do odczytu.


    Jak widać mają rejestry 16bit i 32bit ;) Taki podział pamięci.

    Pozdrawiam,
  • Automation specialist
    Rariusz wrote:
    Jak widać mają rejestry 16bit i 32bit


    Protokół Modbus ma wyłącznie rejestry 16 bitowe. Czyli protokół komunikacji Lumela jest podobny do Modbus, ale nie jest to Modbus.

    "Innowacja" Lumela:
    https://www.lumel.com.pl/resources/Pliki%20do%20pobrania/NA6/NA6_service_manual_rev.D.pdf strona 33:
    "The implemented protocol is compatible with the PI-MBUS-300 Rev G Modicon Company specification."

    Request 01 03 1DBD 0002 CRC CRC
    Response 01 03 08 xx xx xx xx yy yy yy yy CRC CRC

    Modbus wg specyfikacji na którą powołuje się Lumel:
    http://modbus.org/docs/PI_MBUS_300.pdf strona 29
    Request 01 03 1DBD 0002 CRC CRC
    Response 01 03 04 xx xx yy yy CRC CRC

    To nie jest ten sam protokół, dlatego serwer OPC zgłupiał.

    Pomijam już, że to jest opis implementacji dla Modicon, a nie samego standardu, który jest tutaj http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf

    Ktoœ tam zapewne chciał nawet dobrze, ale wyszło jak zwykle. W sumie trzeba się cieszyć, że nie zmienili sobie znaczenia paru bitów w nagłówku TCP w sprzęcie z Modbus TCP ….
  • Level 4  
    Jak próbuję odczytać rejestr o wartości 7503 czyli 0x1D4F ( adresuję go jako 47503, typ float) to otrzymuje taką odpowiedź w diagnostyce, a jak adresuję ten sam rejestr jako 47006 to otrzymuję błąd.

    Dlaczego nie działają tagi w serwerze OPC ??

    Nie rozumiem tego serwera OPC
  • Automation specialist
    adiizioom wrote:

    Nie rozumiem tego serwera OPC


    OPC działa dobrze, to urządzenie odpowiada niezgodnie z protokołem, odsyłając 8 bajtów danych zamiast 4.

    Nie używaj adresów opisanych w dokumentacji Lumela jako "32 bitowe"

    Spróbuj adres 47206, albo zmień kolejność LO/HI word w konfiguracji tagu opc (jeśli jest). Float zajmuje dwa rejestry i opc musi je złożyć w całość we właściwej kolejności.
  • Level 21  
    Odczytaj jako Word 407006 i jak kolega jestam podpowiada ewentualnie zmień kolejność w parametrach Modbus Byte Order lub First Word Low.

    KEP Serwer to jeden z lepszych serwerów z mnogością możliwości.

    Zdarzyło mi się również, że adresacja nie zaczynała się od zera tylko od jeden. Wtedy parametr Zero-Based Addressing trzeba było zmienić.

    Jeszcze spróbuj typ Double. Tam jest 8 bajtów.
    Dlaczego nie działają tagi w serwerze OPC ??
  • Automation specialist
    Witam,
    Jaki model wybrałeś do komunikacji? Podejrzewam "Dynamic Fluid Meter", tutaj rzeczywiście możesz odpytywać rejestry 32bit,z zakresu 7000-8000. Pozostały przedział jest 16bit, dlatego masz błędy przy odpytywaniu rejestrów 7006.
    Pozdrawiam
    Paweł