Strona 2 z 2

Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 09 mar 2015 14:02
autor: darekc
Wartość 2 zapisz do rejestru o adresie 25 przy użyciu polecenia Preset Single Register (kod 6, może dla VI z biblioteki to polecenie ma inną nazwę np. Write Single Register?). Poza tym, jeśli chcesz w jednej ramce struktury wykonać dwa polecenia to VI-je połącz szeregowo, a nie tak, jak na diagramie blokowym zamieszczonym w poprzedniej wiadomości. Zlecasz tam też wykonanie polecenia Read Coils (w terminologii Modbusowej Read Coil Status, kod 1), a regulator go nie wykonuje, dlatego dostajesz błąd 6002.

Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 10 mar 2015 09:34
autor: Jamal79
Witaj.
Cos ci sie pomieszalo, nie dotykaj coilscow, bo z nimi niemasz nic do czynienia. Z tego co pamietam z dokumentacji twojego urzadzenia to masz do dyspozycji tylko rejestry.
Czyli zapisujesz tylko do Write Multiple Registers.
Niewiemy jak co masz podlaczone Fizycznie do twojego Kontrolera.
Odczytujac register 6 - powinienes otrzymac info o statusie wszystkich outpotow. ON/OFF (1/0)
Register 7 podaje wartosci voltowe na wyjsciu...
Ale zalozmy za masz grzalke podlaczona do 2.
Aktywujesz ja podajac wartosc 1 na register 29
Grzanie odbywa sie automatycznie poprzez wprowadzenie wartosci PID- Mozesz to zrobic z wyswietlacza badz z poziomu labview.
Wszystko jest napisane w tym linku

http://www.apar.pl/images/oldprodukt/um_ar6x0_eng.pdf ostatnia tabelka..

Pierwsza kolumna to numery registrow, druga to dopuszczalne wartosic, opis, mozliwe akcje R/WR...

Re: Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 10 mar 2015 09:42
autor: darekc
Nie można użyć polecenia Write Multiple Registers (w terminologii Modbusowej Preset Multiple Registers, kod 16, http://web.eecs.umich.edu/~modbus/docum ... US_300.pdf, strony 46-47), gdyż jest ono przez regulator nie obsługiwane - w http://www.apar.pl/images/oldprodukt/inst_ar6x0.pdf na stronie 20 jest napisane ,,Dostępne funkcje : READ - 3 lub 4, WRITE - 6".

Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 10 mar 2015 11:26
autor: Jamal79
Czyli musi zapisywac je pojedynczo... nie studiowalem calego manuala. Tym powinien sie zajac zainteresowany.

Re: Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 11 mar 2015 16:58
autor: studentfizyki
Witam wszystkich!
Udało mi się napisać działający program. Bardzo dziękuje za wszystkie wskazówki, które zostały mi udzielone. Jesteście wielcy :D Jak skończę poprawianie drobnostek (ustawianie parametrów PID) to podeślę parę screenów żeby się pochwalić. Jeszcze raz DZIĘKI

Re: Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 12 mar 2015 14:25
autor: studentfizyki
Witam. Mam jeszcze jedno pytanie. Chciałem aby użytkownik z poziomu Labview ustawiał zadaną temperaturę i zrobiłem coś takiego jak na fotografii. W rejestrze 26 zapisuję wartość podana przez użytkownika. Nie dość, że na wyświetlaczu pojawiają się przypadkowe liczby to aby program działał trzeba co chwilę klikać continue na komunikacji (na fotografii). Próbowałem podbiąć całość pod różne porty USB bez skutku. Mielibyście dla mnie jakieś inne rady.

EDIT: Juz poprawiłem wyświetlanie danych na wyświetlaczu, jest o.k. ale ten komunikat wciąż i wciąż wraca (tak co 1 minutę).

Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 13 mar 2015 09:04
autor: Jamal79
Modbus jest prostym protokolem i ma swoje humorki. Problem z czasem jest czesto pojawiajacym sie bledem. Tzn jak ocos go zapytasz, to musisz czekac na odpowiedz. Jezeli w czasie pomiedzy pytaniem a odpowiedzia chcesz wykonac inne czynnosci/zapytania czesto wywala blad. Czas jest uzalezniony od wielu czynnikow, zarowno fizycznych jak i softwerowych. Dlugosc kabla, jego srednica, szybkosc transmisji, ilosc daneych do przeslania itd.

Pobaw sie opoznieniami, lub zrob kolejki...

Re: Pomoc w pisaniu programu z wykorzystaniem MODBUS

: 13 mar 2015 12:44
autor: studentfizyki
Dzięki za radę. Zrobiłem opóźnienie i faktycznie to pomogło.