Page 1 of 1
Komunikacja Modbus z chińskim modułem

Posted:
Tue 31. Jan 2023 20:55:09
by Slawko
Witam.
Mam chińską płytkę z 4 wejściami i 4 wyjściami.
Z większością funkcji już się uporałem i działają mi w Promoticu
Nie wiem jak zrobić odczyt wejść z modułu.
Aby odczytać stan wejść należy wysłać komendę
FF 02 00 00 00 08 6C 12
FF - adres, 02- to pewnie funkcja , 6C 12 - to suma kontrolna
Układ odpowiada
FF 02 01 00 [suma kontrolna] - wszystkie wejścia wyłączone
FF 02 01 01 [suma kontrolna] - 1 wejście aktywne
FF 02 01 02 [suma kontrolna] - 2 wejście aktywne
Jest to chyba jakaś głęboko-chińska odmiana protokołu.
Wysyłając te dane normalnie w terminalu układ odpowiada tak jak w chińskiej instrukcji.
Problem jak wysłać to zapytanie i jak odczytać odpowiedź w Promoticu. Jeśli wybiorę funkcję 02 - to dalej można wybrać tylko nr bitu i nic więcej. DA się to zrobić czy nie ma szans na implementację tego dziwnego protokołu.
Re: Komunikacja Modbus z chińskim modułem

Posted:
Fri 10. Feb 2023 14:30:03
by Robert Siwek
Witam,
istnieją dwa sposoby, jak to rozwiązać:
1. do obiektu PmaComm wstawić obiekt PmaCommMsg i odpowiednio ustawić parametry w karcie Dane wysłanie
2. zbudować od podstaw komunikację przy pomocy protokołu PmChar (znając rqamkę zapytania i jej odpowiedź)
Robert.
Re: Komunikacja Modbus z chińskim modułem

Posted:
Wed 22. Feb 2023 16:52:39
by Slawko
Dziękuję za odpowiedź ale nie pomogło mi to rozwiązać problemu.
Próbuję jak pan radził.
Wstawiłem PmaComm, PmaCommMsg.
W dane-wysłanie PmaCommMsg wpisałem FF 02 00 00 00 08 6C 12
wstawiłem przycisk dodając zdarzenie OnButtonDown , wpisałem z waszej www
var oCommMsg = pMe.Pm("../Comm/mr0");
if (oCommMsg.GetReady())
{
oCommMsg.Run();
}
Nie mam pojęcia czy ta nada wogóle się wysyła . Raczej watpię bo po uruchomieniu w zakładce info są błędy po przyciskaniu przycisku.
Ale nawet jakby to zadziałało to zupełnie nie wiem jak odczytać odpowiedź ze modułu.
Mogłbym poprosić o jakaś bardziej szczegółową poradę?
Jak wysłać prawidłowo daną
FF 02 00 00 00 08 6C 12
Jak odczytać odpowiedź modułu
Re: Komunikacja Modbus z chińskim modułem

Posted:
Thu 23. Feb 2023 15:41:57
by Kazimierz Heczko
Witam,
jeżeli ta płytka rzeczywiście ma zaimplementowanego Modbus-a, to spróbowałbym na początek jeszcze raz zastosować PmaCommMsg.
W tym PmaCommMsg w karcie "Parametry" ustawić w "Parametrach wiadomości" funkcję 02, ilość danych 4 i zatwierdzić to ustawienie.
Zatwierdzenie spowoduje wytworzenie odpowiednich zmiennych w kartach Dane-wysłanie (Slave - modbus adres danego urządzenia, Addr - adres pierwszej odczytywanej wartości) i Dane-odbiór (w tym wypadku 4 zmienne typu boolean).
Po uruchomieniu aplikacji możne za pomocą systemu INFO (Ctrl + I) przejść do tego obiektu i w karcie WriteVars ustawić odpowiedni adres urządzenia (chyba że zostanie to ustawione w trybie deweloperskim), adres pierwszej odczytywanej wartości można pozostawić domyślnie na 0.
Po tym należy przejść do karty Object i za pomocą prawego klawisza myszki należy wywołać menu i z tego menu można wywołać metodę Run (powoduje rozpoczęcie komunikacji).
Na tej karcie jest również widoczny stan takiej komunikacji, jeżeli zostanie zakończona pomyślnie, to w karcie ReadVars będą widoczne bieżące stany poszczególnych wejść.
Jeżeli próba takiego odczytu zakończy się błędem, to można zerknąć do INFO systemu na pozycję Comm/dana komunikacja, gdzie w karcie Monitor będzie widoczny przebieg komunikacji bajt po bajcie, z czego można spróbować wywnioskować, gdzie jest problem.
Mam nadzieję, że powyższy opis będzie Panu pomocny.
Pozdrawiam
Re: Komunikacja Modbus z chińskim modułem

Posted:
Thu 23. Feb 2023 23:46:07
by Slawko
Dziękuję bardzo.
Opis pierwsza liga.
Co prawda nie zadziałało to od razu bo nie wiem dlaczego wg Pana opisu wysyłał FF 02 00 00 00 04 +CRC (nie wiem skąd ta 04 się brała) zamiast FF 02 00 00 00 08 +CRC i w żadne sposób nie mogłem tego zmienić ale zbudowałem jakoś od podstaw własną ramkę i zaczęło to działać.
Opis podglądu przebiegu komunikacji mega mi pomógł. Wszystko widać jak na dłoni.
Wstawiam screena z konfiguracji może ktoś będzie w podobnej potrzebie

- promotic.jpg (105.83 KiB) Viewed 15065 times
Dziękuję i pozdrawiam
Sławek