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



Teraz jest 3 lut 2025, o 11:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 18 wrz 2014, o 13:57 
Offline
Użytkownik
Avatar użytkownika

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

Powitać,
Mam pytanie do "wyjadaczy" i nie tylko.
Jak gdzieś już wspominałem kiedyś, ujarzmiam potwora, który się zwie ModBus RTU. A żeby było lepiej, to przy pomocy C, w którym dopiero stawiam pierwsze nieśmiałe kroki.
Wszystko na razie na płytce stykowej i zestawie EvB4.3 z atmega32 na pokładzie. Gada to sobie po modbusie RTU z sterownikiem PLC. Wszystko śmiga bardzo ładnie, ale....
Mam ustawione, że używam 30 Holding Registers od 1000 (401000) do 1029 (401029),
problem sprawia pierwsze 6 rejestrów odpowiadających za sterowanie ściemniaczem RGB, który podpięty jest pod tą samą linię RS485 co atmega i PLC. Działa to tak, że ja na "atmedze" wpisuję wartość 0-1000 do rejestru np 401000. Wartość ta jest przesyłana do odpowiedniego rejestru w plc, a dalej do sterownika RGB. Wszystko działa jak trzeba, ale do momentu jak chcę zmienić rejestry za pomocą panelu operatorskiego. Wtedy niby zmieniam, ale zdarzają się momenty kiedy atmega natychmiast nadpisuje je swoimi nastawami.
Jako, że PLC jest MASTERem a atmego to SLAVE, mam komunikację rozpisaną w PLC tak:
krok 1. PLC (master) zapisuje do atmegi (slave o adresie 12) wartości rejestrów odpowiedzialnych za jasności R,G,B
krok 2. PLC wysyła zapytanie do atmegi o wartości rejestrów, a ta odpowiada.
krok 3. PLC op otrzymaniu odpowiedzi przekazuje wartości do ściemniacza.

i Wszystko działa niby ok, ale do momentu jak nie trafię z regulacją (zmianą rejestrów w PLC) przez panel operatorski(HMI)w momenci chwilkę po kroku pierwszym. Wtedy wygląda to tak:
PLC wysyła do atmegi rejestr, ja w tym czasie go zmieniam a atmega nie wiedząc jeszcze o zmianie wysyła z powrotem starą wartość do PLC.
Kombinowałem jak to obejść, ale narazie bez skutku.
uuuf ale dużo... ;]

Miał ktoś z was styczność z takim czymś??

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2014, o 19:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

Uściślijmy, bo trochę chatotycznie opisałeś system:
1. Sterownik PLC.
2. Panel HMI.
3. Atmega.
4. Ściemniacz RGB.

Rozumiem że to wszystko jest spięte RS485, każde urządzenie posiada inny numer i wszystkie urządzenia są slave oprócz sterownika PLC, który jest master?

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2014, o 20:59 
Offline
Użytkownik
Avatar użytkownika

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

Blisko.
Sprzęt tak jak wpisałeś, plus kilka nie istotnych (tak mi się wydaje). Mam w sumie teraz dwa sciemniacze RGB plus dwa jednokanalowe na zwykłe żarówki oraz czteropunktowy termometr (4xDS18B20+ATMEGA8).
Wszystko spięte razem po rs485. PLC master reszta slave. Wyjątek to hmi - jest na oddzielnym rs-ie i używa innego protokołu ale steruje tez sciemniaczami.
Wiem ze wydaje się to chaotyczne ale ciężko to opisać dokładnie.
Ogólnie cały system będzie bardziej rozbudowany ale atmega ma mieć dostęp tylko do w/w sprzętu.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2014, o 21:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

skalarro napisał(a):
Blisko.
Sprzęt tak jak wpisałeś, plus kilka nie istotnych (tak mi się wydaje). Mam w sumie teraz dwa sciemniacze RGB plus dwa jednokanalowe na zwykłe żarówki oraz czteropunktowy termometr (4xDS18B20+ATMEGA8).
Wszystko spięte razem po rs485. PLC master reszta slave. Wyjątek to hmi - jest na oddzielnym rs-ie i używa innego protokołu ale steruje tez sciemniaczami.
Wiem ze wydaje się to chaotyczne ale ciężko to opisać dokładnie.
Ogólnie cały system będzie bardziej rozbudowany ale atmega ma mieć dostęp tylko do w/w sprzętu.


Nie wiem czy dobrze rozumiem, ale chcesz mieć dostęp do zmiennych z poziomu dwóch urządzeń: PLC i ATMEGA.
W systemie opartym na modbus-ie tylko jedno urządzenie może być master (czyli PLC). A jak dobrze rozumiem jeszcze
ATMEG-ą chcesz modyfikować zmienne w PLC.
Bo rozumiem że pod ten sam adres wpisujesz różne wartości z dwóch urządzeń: panela HMI i ATMEG-i.

A czy nie możesz nadać tym zmiennym innych adresów (inny adres dla ATMEG-i a inny adres dla panela HMI)?

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2014, o 21:28 
Offline
Użytkownik
Avatar użytkownika

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

Tak. Co wiecej, atmega modyfikuje z powodzeniem te rejestry jako slave. Po prostu plc odpytuje atmege o te wlasnie rejestry.
Nie moge uzyc innych rejestrow, bo w tym caly urok tego. Atnega ma byc takim miniHMI. No moze to za duze slowo. Powiedzmy takim lepszym wlacznikiem swiatla. A do sciemniaczy ma byc dostep z kazdego miejsca.
I to dziala. Ale zeby tak bylo to plc musi najpierw poinformowac atmege o stanie sciemniaczy wysylajac ramke z wartosciami rejestrow po czym odpytuje ja o to samo. Gdy atmega w tym czasie znieni je, odpowie juz nowymi wartosciami.
Problem pojawia sie w momencie jak plc wysle wartosci rejestrow do atmegi a ja w tej samej chwili zmienie je na hmi. Rejestry sie zmienia a atmega w tym czasie przesyla odpowiedz na zapytanie i kasuje zmiany, bo jak dostawala swoja paczke danych, to zmian jeszcze nie bylo.

Znowu namieszalem ale mam nadzieje ze w miare jasno. Sorry za brak pl ale pisane na tel.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2014, o 21:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

skalarro napisał(a):
Nie moge uzyc innych rejestrow, bo w tym caly urok tego. Atnega ma byc takim miniHMI. No moze to za duze slowo.

A możesz powiedzieć dlaczego nie możesz tego rejestru rozdzielić na inne adresy?
Inny adres dla ATMEG-i inny dla panela HMI?
I dopiero sterownik PLC uaktualniałby właściwy adres, tzn. PLC decydowałby która wartość została ostatnio zmieniona (tzn. z którego adresu).

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2014, o 11:01 
Offline
Użytkownik
Avatar użytkownika

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

takiej wersji nie brałem pod uwagę, uparłem się że atmega mawszystko ogarnąć. Chciałem żeby drabinka w PLC była jak najprostsza, bo i tak jest już bardzo skomplikowana.
Muszę zobaczyć jak to wyjdzie w praktyce, czy sprawdzanie który rejestr był ostatnio odświeżony nie będzie za mocno skomplikowane. Ale jest to jakiś pomysł

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2014, o 12:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

skalarro napisał(a):
takiej wersji nie brałem pod uwagę, uparłem się że atmega mawszystko ogarnąć. Chciałem żeby drabinka w PLC była jak najprostsza, bo i tak jest już bardzo skomplikowana.
Muszę zobaczyć jak to wyjdzie w praktyce, czy sprawdzanie który rejestr był ostatnio odświeżony nie będzie za mocno skomplikowane. Ale jest to jakiś pomysł


A czy możesz podać jakiego sterownika PLC i jaki panel HMI używasz?

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2014, o 13:03 
Offline
Użytkownik
Avatar użytkownika

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

ooooczywiśście

PLC to Fatek , na razie robię na FBs-24MC, docelowo FBs-60MC.
HMI to Weintek 10" nie pamiętam teraz jaki model(w sumie będą dwa takie).
ściemniacze to SCL-3P do RGB oraz SCB-3A i SCR-3A do żarówek( firma ESEA).

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO