Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 20:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 
Autor Wiadomość
PostNapisane: 10 maja 2017, o 20:44 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Witam,

Podczas majówki walczyłem z komunikacją poprzez RS485 oraz biblioteką freemodbus. Niestety, gdy kolega chciał mi bardzo pomóc moje konto omyłkowo zostało zbanowane oraz posty skasowane :/ Konto odzyskane (Dzięki Mirku) ale problem z RS485 i modbusem pozostał więc zacznę od początku w telegraficznym skrócie oraz większą ilością informacji.

Posiadam ATB 1.0.5 oraz PLC pfc200 Wago. PLC podpięłem pod złącze ARC w zestawie i piny spod wyświetlacza do PD0, PD1 (RX, TX na krzyż) oraz DE do PB0 oraz rozwarłem zworkę terminatora.

Dodatkowo wpiełem równolegle Salae logic analyzera i widać że PLC wysyła zapytania Modbus.

Obrazek

PLC skonfigurowany jak poniżej:

udiBaudrate := 9600,
usiDataBits := 8,
eParity := eTTYParity.None,
eStopBits := eTTYStopBits.One,
eHandshake := eTTYHandshake.None,
ePhysical := eTTYPhysicalLayer.RS485_HalfDuplex,
eFrameType := eMbFrameType.RTU,

Niestety, program demo nie odpowiada w żaden sposób (próbowalem zarówno Read Holding Registers (3) oraz Read Input Registers(4) bez rezultatu)

Program demo.c poniżej:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


port.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Z góry dzięki za skierowanie mnie na dobrą drogę.

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2017, o 21:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

a już myślałem, że ostatnio coś napisałeś nie tak i post został wypalony laserem.

Procek nie odpowiada w ogóle czy odpowiada błędem??
Jeżeli milczy całkiem, to znaczy że prawdopodobnie coś z komunikacją. Jakby slave był wywołany do odpowiedzi jakiejkolwiek (dobrze lub źle) czy;i przyszłoa by ramka dla adresu 0x08 i posiadająca dobrą sumę kontrolną, procek by dał odpowiedź. Wykonałby polecenie w przypadku prawidłowego zapytania lub zwrócił błąd, że nie zna funkcji, zły zakres danych czy cokolwiek innego.

Zobacz czy nie zamieniłeś linii na magistrali. Powinno być A-A i B-B. zamień na chwilę, nic nie uszkodzisz. Może masz max485 źle obsadzony w podstawce?? sprawdź z notą katalogową wyprowadzenia.

wywal to: const UCHAR ucSlaveID[] = { 0xAA, 0xBB, 0xCC };

spróbuj z parity even

ustal czy procek milczy czy odpowiada błędem - wtedy będziemy wiedzieć w którą strona z poszukiwaniami się udać

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2017, o 21:58 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Spróbowałem chyba wszystkich kombinacji:

1. Zamienione TX z RX pod wyświetlaczem
2. Zamieniona linia A i B
3. Zmienione na Parity Even (musiałem przy okazji dać upgrade softu analyzera bo nie miał wsparcia dla Parity Even w poprzedniej wersji)
4. Podłączyłem logic analyzera do TX pod wyświetlaczem (i masy atmega) i "jakieś krzaki" tam są.

Dodalem do programu miganie diodą led na początku każdej funkcji callback z demo.c - nie mignęła ani razu.
PLC również nie pokazuje że jakiś błąd komunikacji wystąpił.

Wychodzi na to że atmega nie potrafi rozkodować prawidłowo danych z pinu TX pod wyświetlaczem (ale jak wspomniałem - jakieś "krzaki" tam się pojawiają)

A miało być tak prosto :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2017, o 05:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

bpx03 napisał(a):
ale jak wspomniałem - jakieś "krzaki" tam się pojawiają


hmmm, co to znaczy jakieś krzaki??
nie baw się saleae tylko weź normalną przejściówkę rs232, podłącz się pod piny RX, potem TX przy procku i użyj terminala. Najlepiej realterm - będziesz miał możliwość przełączenia się na HEX i oblądanie gotowych ramek modbusa. zobaczysz gdzie leży problem.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2017, o 07:13 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Po wpięciu sie rownolegle do złącza Arc na płytce Salae pokazuje mi ładnie ramkę modbus po użyciu filtra. Gdy podepnę sie pod TX (pod zegarkiem) ramka modbus sie nie pokazuje tylko jakiś randomowy ciąg 0 1 (moze poprostu mam cos nie tak ustawione?) ale powiem szczerze ze nie sprawdzałem czy jest w tych jeżach ramka modbus bo myślałem ze ja wykryje gdyby tak było.

Spróbuje pozniej użyć zestawu jako przejściówkę i zobaczymy czy cos z tego wyjdzie.


Zakładam ze pod J9 w zestawie mam podpiąć piny z pod wyświetlacza i mieć rozwarte zworki Jp7 i JP6. Prawda?

Dzieki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2017, o 16:02 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

A czy ty przypadkiem nie próbujesz podłączyć się Saleae do linii różnicowej?

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2017, o 20:09 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

[quote="micky"]A czy ty przypadkiem nie próbujesz podłączyć się Saleae do linii różnicowej?

Zgadza się i w tym przypadku działa całkiem dobrze co widać na screenie z pierwszego posta :)

Czytałem w dokumentacji Saleae że powinienem podłączyć się pod masę i niby ma wystarczyć w tym przypadku podłączenie się do jednego przewodu. Niestety, to mi nie działało więc podłączałem na chybił trafił wszędzie...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2017, o 20:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 162
Pomógł: 6

jaki masz procesor?
mam sprawdzony projekt dla M328 i M324 jako slavey mogę Ci "pożyczyć"
https://youtu.be/1yAbmi7NLRA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2017, o 21:17 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Procek domyślny w ATB 1.0.5 - Atmega32A PU.
Z chęcią bym skorzystał i "pożyczył" do sprawdzenia kilka linijek.. Może uda się znaleźć jakiegoś buga u siebie...

Podłączone mam tak:

Obrazek

Zworka terminatora zdjęta, podobnie jak JP6 i JP7.

W eclipse target ustawiony jako ATmega32 z taktowaniem 11059200.

Cały projekt dołączony poniżej.

Pomóżcie bo osiwieje jeszcze bardziej;)

edit: Znalazłem w swojej skrzynce w której jest wszystko kilka sztuk M328 więc z ogromną przyjemnością bym zobaczył w jaki sposób Tobie chodzi :)


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2017, o 09:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 162
Pomógł: 6

Rzuciłem okiem na Twoje pliki i są one inne niż moje - masz jakąś inną wersję.

w załączniku znajdziesz projekt z działającym Modbusem na M324. To jest program dla tej płytki z wyświetlaczem 7-seg z filmu kilka postów wyżej.

drugi jest na M328. Ten pobiera nastawy z potencjometrów i czujnika ds18b20.

Wywaliłem kilka plików które nie dotyczą modbusa, od wyświetlacza i 1Wire. Musisz tylko w pliku main.c zamienić wszystkie odwołania do wyświetlania na własne w zależności jaki masz wyświetlacz.

w razie pytań pisz.
Udanej zabawy.


Autor postu otrzymał pochwałę

Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Ostatnio edytowano 12 maja 2017, o 10:07 przez aaadamw, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2017, o 09:57 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Wielkie dzięki aaadamw, już się nie mogę doczekać aż będę mógł to sprawdzić popołudniu :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2017, o 23:15 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Tak więc skompilowałem, wrzuciłem na 328 i... zero odzewu. Podłączyłem trzy piny z pod wyświetlacza pod PD0, PD1, PD2 (DE).

Nie widzę chyba innej opcji jak wymienić Maxa bo może jest padnięty i wszystko psuje :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2017, o 06:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 162
Pomógł: 6

Zanim wymienisz maxa sprawdź tym swoim saleae czy masz przebieg uart za nim.
Po drugie skąd wiesz że Master jest prawidłowo zaprogramowany? Jakie rejestry odpytujesz? Jaką funkcją?
Po trzecie. Na początek jako mastera użyłbym komputera i jakiegoś programu MODBUS master. Wtedy lączysz to bez maxa. Tylko uart.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2017, o 18:01 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

aaadamw napisał(a):
Zanim wymienisz maxa sprawdź tym swoim saleae czy masz przebieg uart za nim.
Po drugie skąd wiesz że Master jest prawidłowo zaprogramowany? Jakie rejestry odpytujesz? Jaką funkcją?
Po trzecie. Na początek jako mastera użyłbym komputera i jakiegoś programu MODBUS master. Wtedy lączysz to bez maxa. Tylko uart.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2017, o 21:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

hej, widzę że jeszcze walczysz...

Teraz tak spojrzałem na ramkę wysyłaną przez Twój PLC i powiem Ci - nie podoba mi się ramka wysyłana przez niego. Przede wszystkim suma kontrolna dla slave 8, funkcja 3, adres 1000, ilość danych 1 powinna być 04E3 a u Ciebie jest E304.

Cała ramka z zapytaniem od mastera powinna wyglądać: [08][03][03][E8][00][01][04][E3]

ściągnij sobie program ModbusMAT i zamiast PLC użyj komputera w roli mastera. Ale uwaga! -potrzebujesz przejściówki usb-rs485. jak nie masz to użyj uart ale wtedy pomiń max485 (tylko nie wiem czy zadziała tak).

I jeszcze jedno. Zaobserwowałem kiedyś, że ModbusMAT zaniża adresy w wysyłanej ramce. czyli jak wyślesz ramkę j.w. on zamieni adres z 1000 na 999 i wyśle ramkę [08][03][03][E7][00][01][34][E0], jak zrobisz adres 1001, w ramce dostaniesz 0x03E8 czyli 1000.

Spróbuj, bo błąd sumy kontrolnej tłumaczyłby dlaczego procesor nie odpowiada na zapytania. Po prostu ramki są traktowane jako uszkodzone i ignorowane

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2017, o 21:40 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Dzięki za odzew skalarro :)

Z całym szacunkiem za Twój sokoli wzrok, ale wydaje mi się że CRC powinno być dobre.. Wkońcu PLC za 5k+ :P
Dodatkowo Salae gdy wykryje zły CRC daje znać u góry "Invalid CRC" czyli wydaje mi się że ten wysłany przez PLC powinien być dobry.

Mam przejściówkę RS485 wbudowaną w ATB więc jutro jeszcze powalcze i zobaczę co z tego wyjdzie.

Jak nie wypali to zamówię "kilka" maxów i może na którymś zadziała jak powinno.

Pozdrawiam

------------------------ [ Dodano po: 12 minutach ]

skalarro napisał(a):
hej, widzę że jeszcze walczysz...

Teraz tak spojrzałem na ramkę wysyłaną przez Twój PLC i powiem Ci - nie podoba mi się ramka wysyłana przez niego. Przede wszystkim suma kontrolna dla slave 8, funkcja 3, adres 1000, ilość danych 1 powinna być 04E3 a u Ciebie jest E304.


Czytając ponownie Twój post zauważyłem że jest może jakiś problem z byte order.. 04 E3 a E3 04 to prawie to samo tylko w innej kolejności..



Ostatnio edytowano 13 maja 2017, o 21:59 przez bpx03, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2017, o 21:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

bpx03 napisał(a):
Z całym szacunkiem za Twój sokoli wzrok, ale wydaje mi się że CRC powinno być dobre.. Wkońcu PLC za 5k+


Jak tam uważasz, ale mój nie tak wypasiony PLC, bo chińczyk za 1,2kpln i taki mniejszy za 600pln wysyła inne ramki i działa ;] ale jak tam chcesz...

może Cię przekonają ramki z mbpoll:
Obrazek

i z modbusMAT1.1:
Obrazek

otrzymuję timeouty bo nie podłączyłem slavea żadnego ale widzisz o co chodzi?

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 09:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 162
Pomógł: 6

Sprawdziłem jeszcze raz na swoim PLC za 600zł i wszystko działa jak działało...
Żeby było łatwiej tobie sprawdzić podłączyłem Atmegę do komputera zwykłą przejściówką UART za 1$ ;) i działa jak należy. Poniżej fotki z których wszystko możesz wyczytać.
a ... program na kompie to Baseblock ComTest Pro - polecam.

ObrazekObrazekObrazek
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 10:21 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Wielkie dzięki chłopaki za zainteresowanie tematem!

Właśnie pogrzebałem trochę w necie odnośnie tych bajtów w CRC.

Wychodzi na to że wszystko jest w porządku. Standardowe bajty jak adresy, dane itp w ramce modbus są przesyłane w ten sposób że High Byte jest przesyłany najpierw później Low Byte. W CRC natomiast jest odwrotnie - Low Byte | High Byte.

To by się zgadzało dlaczego w Twoim Raw-ie wyglądają na odwrócone a mimo tego Salae nie wyświetla tego jako błędu CRC.

Wielkie dzięki chłopaki za zainteresowanie.
Chyba faktycznie pozostaje sprawdzić Max-a bo za nim nie widać w żaden sposób interesujących danych.

Czy po wpięciu się w RX (TX) za maksem (do pinów pod wyświetlaczem LCD w zestawie ATB) i bez zmiany zadnych ustawien w Salae powinienem widzieć ramkę w ten sam sposób jak po wpięciu pod A i B?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 11:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 162
Pomógł: 6

idziesz jakąś dziwną drogą ze sprawdzaniem tego wszystkiego.
Zrób tak:
1. podłącz zestaw ATB samym uartem z PC - sprawdź jakimś programem na kompie czy działa ci program na atmedze.
2. Jak zadziała to zamień uart na RS485
3. Jak zadziała to zamień kompa na PLC.
4. Jak nie zadziała to podłącz PLC z kompem po RS485 a na kompie uruchom jakiś program działający jako SLAVE.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 18:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

masz zwykłą przejściówkę usb-rs232 za 4-10 zł?? na pewno masz ich kilka ;]

Ja bym uruchomił komunikację jak dotychczas - czyli PLC i slave na atmedze (w ATB) a wspomnianą przejściówką podpiąłbym się pod pin RX atmegi czyli PD0. Podsłuchaj linię jakimś terminalem ale takim gdzie możesz przełączyć na hex (realterm jest bardzo ok) i zobacz co się dzieje na linii. Za jednym razem wykluczysz uszkodzenie max485 i zabaczysz jak wygląda ramka i czy CRC jest w odwrotnej kolejności. Zdziwisz się ;]

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 20:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

bpx03 napisał(a):
Właśnie pogrzebałem trochę w necie odnośnie tych bajtów w CRC.

Wychodzi na to że wszystko jest w porządku. Standardowe bajty jak adresy, dane itp w ramce modbus są przesyłane w ten sposób że High Byte jest przesyłany najpierw później Low Byte. W CRC natomiast jest odwrotnie - Low Byte | High Byte.

To by się zgadzało dlaczego w Twoim Raw-ie wyglądają na odwrócone a mimo tego Salae nie wyświetla tego jako błędu CRC.


Trochę mnie to zaintrygowało i zrobiłem mały test. Niestety nie mam saleae ale to nie problem. Mamy google ;]

Znalazłem takie coś:
Obrazek

Co możemy z tego wyczytać??
Adres 0x01
funkcja 0x10 czyli funkcja 16 - write multiple regs
start adress 0x00 0x01 czyli 1
N regs - 0x04 0x08 czyli cztery adresy po 2 bajty = 8bajt
wartość1 - 0x55 0x04 czyli w dec 21764
wartość2 - 0x00 0x00 czyli 0
wartość3 - j.w.
wartość4 - j.w.
CRC - 0xCB 0x7A.

Wpiszmy zatem takie coś w program jakikolwiek - dajmy na to ModbusPoll
Obrazek

i teraz najlepsze!!!
po wysłaniu tego na magistralę otrzymujemy:

Obrazek

czyli dokładnie to, co w saleae. Zwróć uwagę na CRC. Nie jest przestawione, czyli twoja teoria jakoś się nie sprawdza. Tak więc podtrzymuję moją pierwszą wersję - zajmij się sumą kontrolną.
Proponuję - j.w. -podsłuchaj transmisję terminalem i pokaż co śmiga po magistrali. Bo na razie my się produkujemy a Ty niewiele robisz z tego

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 20:43 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Dzięki skalarro za dogłębne śledztwo :)

Posłuchałem rady, znalazłem przejściówkę podłączyłem i..

Upewniłem się czy działa i wrzuciłem kod z BB na szybko. Działa, RealTerm pokazywał dane..

Wpięłem się również do RX i TX pod wyświetlaczem aby zobaczyć co wychodzi z MAX-a.. praktycznie głucho.

Przełączyłem linie A i B i ponowiłem próbę... Bezskutecznie..

W Salae pokazuje bez problemu że dane modbusa docierają.

Spróbowałem jeszcze podpiąć się bezpośrednio do nóżki Maxa.. Nic nie pokazuje.

"Przedzwoniłem" linię A i B w złączu ARC z nóżkami Maxa, jest ok. Sprawdziłem czy dochodzi zasilanie, też wszystko ok. Sprawdziłem również czy jest przejście pomiedzy Maxem a tymi pinami pod wyświetlaczem, jest dobrze.

Pozostaje mi myśleć że to jednak problem z Maxem..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 21:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

bpx03 napisał(a):
Pozostaje mi myśleć że to jednak problem z Maxem.


Jak tam sobie chcesz, rób jak uważasz.. możesz zmienić maxa ale to nie bedzie to

Podłącz się tym real term pod PD0 i posłuchaj przez przejściówkę co się dzieje na linii. Potem wywal ten wypasiony PLC za pięć koła i wyślij prawidłową ramkę za pomocą modbuspoll. Oczywiście pomiń max485 i wepnik się pod uart bezpośrednio. Chyba, że masz też przejściówkę rs485 na usb lub COM1. Wtedy od razu pod zaciski A B w atb. Musi odpowiedzieć.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 21:23 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

skalarro, napisałem wyżej że praktycznie nic nie dochodzi ani do PD0 ani PD1 z Max-a.

Odpaliłem ModbusMat i wgralem pierwszy programik z którym mi pomogłeś.

Podpiełem się przejsciówką i działa ok :)

Skoro program działa dobrze, PLC wysyła dane a jedyne z czym problem to to że max nie wysyła sygnałów no to nie ma mocnych - Musi być problem z Maxem.

Gdyby jakiekolwiek dane pojawiały się po podłączeniu bezpośrednio do Max-a to można byłoby go wykluczyć i kombinować z różnymi innymi rzeczami.

Kupuję Maxy i mam nadzieję że szybko dojdą :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2017, o 21:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Ok. Daj znać jak postępy

Wysłane z mojego SM-G850F przy użyciu Tapatalka

------------------------ [ Dodano po: 13 minutach ]

Cytuj:
Gdyby jakiekolwiek dane pojawiały się po podłączeniu bezpośrednio do Max-a

A jeszcze jeden drobiazg sprawdź. Nie masz ty czasem maxa cały czas w trybie nadawania? Odłącz re/de od pinu procka i podłącz (teraz nie pamiętam) do gnd lub vcc. Zobacz czy wtedy coś do niego dotrze. Nie wiem czy tedy droga ale sprawdzić nie zaszkodzi.


Autor postu otrzymał pochwałę

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2017, o 07:30 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Ehh chyba poprzednio nie wcisnąłem "wyślij".

Oczywiście sprawdziłem odrazu gdy zasugerowałeś ten pomysł. Podłączyłem i do GND i do VCC. Oczywiście zero danych na wyjściu.

Pozostaje cierpliwie czekać na kuriera i mam nadzieję że po raz pierwszy będę się cieszył że coś jest zepsute. W przeciwnym wypadku chyba włosy mi do końca wypadną :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2017, o 08:37 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

Witam Ponownie :)

Po ciężkim weekendzie udało mi się zmusić atmegę do odpowiedzi jako slave :)
Max 485 okazał się być padnięty i do tego (aż wstyd się przyznać) podpiełem się nie pod ten pin co trzeba w DB9 co zauważyłem dziś o 1 nad ranem..

To że Salae pokazywał dobre ramki powodowało że nawet nie myślałem z której strony wtyczki patrząc te piny są opisane i łatwo tam się pomylić.. :roll:

Teraz jedyny problem mam z bitami parzystości - ustawiając none wszystko śmiga dobrze, przy innym ustawieniu PLC wyrzuca error że jest błąd parzystości. Może w wolnej chwili troszkę z tym pokombinuje ale bez parzystości też da się żyć :)

Wielkie dzięki jeszcze raz Panowie za wielkie zaangażowanie w pomoc!

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2017, o 08:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Dobrze, że się udało z tym ruszyć. Sprawdź teraz jeszcze raz starego RSa, pewnie dobry ;]

Jak co to pisz śmiało...

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2017, o 08:57 
Offline
Nowy

Dołączył(a): 11 gru 2016
Posty: 16
Lokalizacja: Gdańsk
Pomógł: 0

skalarro napisał(a):
Sprawdź teraz jeszcze raz starego RSa, pewnie dobry ;]


Dzięki ale po 100 godzinach próby rozwiązania tego problemu nawet nie chcę wiedzieć czy był dobry ;)
Wolę żyć z myślą że gdy włożyłem nowego Maxa jakieś dane jednak zostały wyłapywane czy przez terminal czy przez Salae (i walczyłem z odwrócona kolejnością bitów czy jakoś tak, zmiana A i B nie pomagała) a w przypadku starego totalna pustka..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO