ATNEL tech-forum
https://forum.atnel.pl/

Stacja pogodowa dla sterownika PLC
https://forum.atnel.pl/topic14760.html
Strona 1 z 1

Autor:  skalarro [ 6 mar 2016, o 17:23 ]
Tytuł:  Stacja pogodowa dla sterownika PLC

Obrazek
Witam,
dzisiaj pochwalę się moją nową zabawką - nietypową Stacją Pogody.

Nietypową, bo sama w sobie nie wyświetla pogody. Jest to swego rodzaju "translator" pogody z www na dane zrozumiałe dla sterownika PLC czyli na rejestry przesyłane po MODBUS RTU. Sprzęcik jest częścią bardziej ambitnego projektu, jakim jest inteligentn instalacja w domu jednorodzinnym (którą mam nadzieję też tu zaprezentować po ukończeniu).

Obrazek
Obrazek
Na wstępie dwa słowa wyjaśnienia po co ta stacja w ogóle?
Wspomniana instalacja w domu zawiadywana jest przez sterownik PLC a obsługiwana (poza normalnymi włącznikami na ścianie) przez dwa dotykowe panele operatorskie12" HMI. Aż się prosiło aby podczas normalnej pracy ekranu na tzw pulpicie głównym, czy tapecie - jak kto woli - wyświetlać coś poza obrazkiem i godziną czy temperaturą. Tu padł pomysł aby była to pogoda, ale pojawiły się schody. Panele mają dostęp do internetu ale tylko w celach komunikacji ze sobą czy jako server VNC. Potrzebne było coś, co pozwoli wyświetlić pogodę w jakiś sposób na tym ekranie. I tu z pomocą idealnie w czasie pojawił się Mirek ze swoim wifi232 i poradnikami o kliencie www.

Stacja łączy się za pomocą wifi z serwisem pogodowym ( u mnie akurat pogoda.onet.pl) i pobiera stronę z pogodą dla mojego miasta. Stronka leci przez ATNEL-WIFI232-T w trybie transparentnym do procka, w którym jest parsowana. Dużą trudnością było "rozpracowanie" strony tak, aby możliwe było "wyłuskanie" odpowiednich danych. Ostatecznie udało się i otrzymałem kilkanaście zmiennych reprezentujących pogodę w moim mieście na dziś i następne dwa dni.

Następnym problemem była obróbka tych danych abym mógł je przesłać do sterownika PLC po Modbusie RTU czyli jako 16-bitowe słowa.
Program (napisany oczywiście w C - tak, jest ciężko ale dzięki BB jakoś idzie ;]) podzielony jest jakby na kilkanaście kroków, a w każdym z nich następuje jedno pobranie strony i za każdym razem poszukuję innego parametru. Po otrzymaniu potrzebnych danych dokonuję zmian na zmienne liczbowe i przypisuję je do odpowiednich rejestrów.
np.:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Całość leci po ModbusieRTU do sterownika PLC.
Panel operatorski powieszony na ścianie koło salonu cały czas otrzymuje te rejestry i wyświetla już jako dane pogodowe na ekranie głównym. I tu z kolei sytuacja się odwraca - pod wartości liczbowe , tam dzie jest to konieczne podstawiane są odpowiednie grafiki przedstawiające aktualną sytuację pogodową.

Teraz trochę o samym urządzeniu. Sercem układu jest Atmega128A napędzana kwarcem 16MHz. Układ zasilany jest z zasilacza na miniUSB 5v 300mA. Za komunikację ze światem odpowiada ATNEL-WIFI232-T, a obsługa modbusa to kość SN75176B czyli zwykły RS485.
Płytkę dwustronną wykonały małe rączki bardzo daleko stąd.
Obrazek

Adres magistrali ustawiany jest w zakresie 1-63 za pomocą sześciu przełączników DIP-switcha. pozostałe przełączniki służą do wyboru prędkośći 9600/57600 oraz rodzaju modbusa ASCII/RTU.
Oczywiście nie obyło się bez błędów, co widać na jednym ze zdjęć. niestery na jednym UARTcie żle połączyłem sygnały - dałem TX-TX i RX-RX, co dało mi godzinę poszukiwań dlaczego nie działą jak powinno. Na szczęscie dwa kawałki kynaru i minuta zabawy rozwiązały problem.
Obrazek

Myślę, że filmik najlepiej pokaże co i jak.
Na filmiku trochę muli, bo nagrywanie ekranu bezpośrednio telefonem nie dawało zadowalających efektów. Nagrywałem pulpit komputera naktórym odpaliłem klienta VNC i opdłączyłem się pod panel. stąd widoczne powolne odświeżanie ekranu itp.
Obrazek

ObrazekObrazek
Obrazek

Obrazki - tła odzwierciedlają faktyczny stan i są inne dla dnia i pory nocnej. Przykładowe tła wrzuciłem tutaj:http://www.skalar.cba.pl
Chmurki podobnie się zmieniają ale nie wrzucam bo jest ich ponad 60 różnych sztuk.


miłego czytania.

Autor:  icer_cmg [ 6 mar 2016, o 17:44 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Myślę, że swobodnie mógłbyś parsować stronę szukając kilku danych przy jednokrotnym wywołaniu co w efekcie da szybsze uaktualnienie danych. Zaraz podrzucę temat głębiej.
Poczatek: https://youtu.be/DJpRk3CVQCc?t=13m14s
A dokładniej 16:20. Bardzo fajne podejście i rozwiązanie.

Ogólnie to kawał dobrej roboty.

Autor:  skalarro [ 6 mar 2016, o 17:51 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Wiem, że pewnie mógłbym, myślałem nawet żeby tak to zrobić. Tylko, że tak: roboty z programem dużo więcej a pożytek niewielki. świadomie zrobiłem tak jak jest teraz. Daje to odświeżanie pogody całej w ok 5 minut?? nie mierzyłem w sumie ;]
Tylko po starcie programu musimy poczekać a potem już jest ok. Pogoda nie zmienia się z minuty na minutę, żeby być tak na bieżąco.
Co więcej, w programie celowo jeszcze opóźniłem wysyłania zapytań tak, że jak odpyta komplet danych, to robi przerwę, żeby nie mielił cały czas strony z pogodą.
Może pomyślę kiedyś nad zmianą tego ale jak na moją znajomość C, to chyba za dużo główkowania nad tym.

------------------------ [ Dodano po: 6 minutach ]

icer_cmg napisał(a):
Poczatek: https://youtu.be/DJpRk3CVQCc?t=13m14s
A dokładniej 16:20. Bardzo fajne podejście i rozwiązanie.

tak, znam te filmiki ale u mnie się tak nie uda. Ja muszę na kilka razy podchodzić do tematu.
Podejrzyj sobie źródło strony http://pogoda.onet.pl/prognoza-pogody/d ... ,9204.html to zrozumiesz mnie.
Niektóre dane muszę wyciągać an kilka razy. Np najpierw muszę poszukać dzień tygodnia, który jest dużo dalej na stronie, potem go skleić z innym stringiem i wrócić do początku strony za jednym przejściem strony się chyba nie da. Zbyt podobne kawałki kodu są.

Autor:  krzysssztof [ 6 mar 2016, o 18:42 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

A ja zapytam z innej beczki: co to za sterownik, PLC, którego używasz ? 2 panele HMI i pewnie sporo wejść/wyjść do różnych sprzętów domowych, czyli chyba jakiś wypasiony model.
I podobne pytanko: jakie panele ?

Podpytuję, bo myślę o czymś podobnym ale ceny tych sprzętów są dość wysokie :P

Autor:  skalarro [ 6 mar 2016, o 18:53 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Już odpowiadam:
PLC to Fatek, dokładnie FBs-60MC, są różne, mam też jego mniejszą siostrę FBs-20MC.
Obrazek
Obrazek
HMI to Weintek - model eMT3120A - dwa takie same.
Obrazek
Linków do sprzętu nie wklejam co by reklamy ie robić ale poszukasz to znajdziesz. Jest w PL fajny dystrybutor jednego i drugiego. Ma też kilka innych przydatnych w IB urządzeń.

Autor:  icer_cmg [ 6 mar 2016, o 19:24 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Da radę bez najmniejszego problemu odczytać wszystko.

Autor:  majster [ 6 mar 2016, o 19:31 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

icer_cmg napisał(a):
Da radę bez najmniejszego problemu odczytać wszystko.


Dokładnie wszystko za jednym odpytaniem da się wyłuskać ze strony :) projekcik fajniaszczy :)

Autor:  skalarro [ 7 mar 2016, o 10:13 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

majster napisał(a):
za jednym odpytaniem da się wyłuskać ze strony

teoretycznie jest to do zrobienia ale nie wiem czy procek się z wszystkim obrobi. Strona jest bardzo obszerna, parsowane stringi są dość długie a jeszcze wygląda to tak, że odczytuje z jednego stringu np dzień tygodnia, żeby go podstawić do następnego i szukać dalej. Już teraz musiałem obniżyć prędkość na uart do 38400 bo gubił kawałki strony i parsowanie nie dawało wyniku. Tak więc na razie zadowoliłem się tym co jest, może pokuszę się o inne rozwiązanie przy czasie. Może na 9600 się wyrobi?? Zobaczymy.
majster napisał(a):
projekcik fajniaszczy

Dzięki ;]

Autor:  mirekk36 [ 7 mar 2016, o 11:10 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

nie wiem dlaczego wczoraj tego nie zauważyłem ;) .... ale może i dobrze bo dopiero dzisiaj zbieram szczękę z podłogi ;) .... EXTRA PROJEKT :lol: Coś niesamowitego oglądać takie prace w DIY

Autor:  skalarro [ 7 mar 2016, o 12:01 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

mirekk36 napisał(a):
dopiero dzisiaj zbieram szczękę z podłogi

To zdecydowanie lepiej!! Głupio tak przed rodziną, a co gorsza przy wspólnym obiedzie z wywaloną szczęką siedzieć ;]

p.s. Dzięki za edycję zdjęcia na początku. Fajne!

Autor:  majster [ 7 mar 2016, o 18:06 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

skalarro widzę że też nadziałeś się na bibliotekę stabilizatora lm1117 :) też raz się głowiłem co jest nie tak :) i poczyniłem swoją bibliotekę do tego stabilizatora i od tej pory nie mam z nim problemu :)

Autor:  skalarro [ 7 mar 2016, o 18:31 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

ta, bo to chore jest żeby dwa praktycznie bliźniacze układy w tej samej obudowie różnie miały wyprowadzenia.

majster za dużo nie wizisz czasem?? ;] specjalnie nie wspomniałem słowem o tym w opisie bo wstyd :oops:

Autor:  majster [ 7 mar 2016, o 18:40 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Żaden tam wstyd :) zwróciłem uwagę na lutowanie stabilizatora i jakoś mi nie pasował ten duży pad przy jego nodze i sobie przypomniałem jak sam się męczyłem dlaczego mam 1,2V zamiast 3.3 V co prawda 2 stabilizatory zabiłem zanim się pokapowałem że w eagle jest inaczej niż w rzeczywistości ... to nauczyło mnie sprawdzać biblioteki z kartami katalogowymi :) dlatego nie rozumie dlaczego się wstydzisz ?

Uważam że warto ostrzegać kolegów :)

Autor:  skalarro [ 7 mar 2016, o 19:06 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

majster napisał(a):
Uważam że warto ostrzegać kolegów


Pewnie, że tak.
Tylko ja to widzę tak, że to nie błąd w bibliotece tylko MÓJ błąd!
Użyłem LM2936DT-3.3, która faktycznie wejście ma na pierwszej nodze a masę na "plecach", a kupiłem LM1117, który ma to zupełnie inaczej. Nie wpadłęm na to, żeby takie coś sprawdzać. W ciemno obstawiłem, że jak jedno i drugie jest w TO252 to będzie ok. Nie było.

Tak czy inaczej mam nauczkę. Dobrze, że napięcia pomierzyłem jak jeszcze nie było megi i wifi na pokładzie. Praktycznie było minimum czyli ten nieszczęsny LM i tranzystory od konwersji napięć.

Autor:  Radziu [ 7 mar 2016, o 19:38 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Projekcik robi duże wrażenie. I pewnie nieźle to kosztowało, bo sterowniki i panele przemysłowe do tanich nie należą.

Autor:  skalarro [ 7 mar 2016, o 21:29 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Cytuj:
pewnie nieźle to kosztowało, bo sterowniki i panele przemysłowe do tanich nie należą

Jak to mówił Ferdek Kiepski - to nie są tanie rzeczy cycu jeden...

A tak poważnie - pozornie można pomyśleć, że trochę kosztują takie zabawki ale wystarczy porównać ceny z systemami choćby takimi jak KNX, LCN, Fibaro itp, a wyjdzie ze to ułamek tamtej ceny. A funkcjonalność i elastyczność systemu podobna jak nie większa. Ale o tym niebawem.....

Autor:  tomson5 [ 8 mar 2016, o 11:23 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Pytanie mam.
Jaki masz rozmiar bufora RX? i jaką prędkość transmisji?

Autor:  skalarro [ 8 mar 2016, o 13:07 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Bufor - z tego co pamiętam to ostatecznie stanęło chyba na 256 bajtów.
Prędkość mam po stronie WiFi 38400 a Modbus jest zmieniany za pomocą dip-switcha z 9600 na 57600.

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

Autor:  tomson5 [ 8 mar 2016, o 13:37 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Strona się mieści w takim buforze? Aż muszę sam to zobaczyć :-)
BTW. Bardzo fajny projekt.

Autor:  skalarro [ 8 mar 2016, o 15:22 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Ale bufor całej strony nie musi pomieścić. Strona leci przez bufor a funkcja szuka znacznika początku i końca interesującego nas fragmentu. Reszta jest ignorowana

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

Autor:  tomson5 [ 8 mar 2016, o 15:59 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Tego właśnie nie mogę ogarnąć trochę. Bo skoro dane przylatują to czemu bufor nie może być wielkości 32?
Sam coś dłubie i musiałem zwiększyć do 256 aby mi się procek nie resetował.

Autor:  elektronikq [ 27 mar 2016, o 18:52 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Kolega używa modułów analogowych w projekcie swojego domku?
Czekam zdecydowanie na troszkę więcej informacji co do projektu:) A myślałem że modbus już dawno umarł.

Autor:  micky [ 27 mar 2016, o 18:55 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Modbus jest bardzo często używany w rozwiązaniach przemysłowych. Tak szybko nie umrze ;)

Sent from my mobile.

Autor:  skalarro [ 27 mar 2016, o 18:59 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

elektronikq napisał(a):
Kolega używa modułów analogowych w projekcie swojego domku?
Czekam zdecydowanie na troszkę więcej informacji co do projektu:) A myślałem że modbus już dawno umarł.

Co masz na myśli mówiąc analogowe?
Co więcej chciałbyś wiedzieć?

A Modbus nie umarł. I ma się bardzo dobrze. W przemyśle jest bardzo popularny.

Autor:  elektronikq [ 5 kwi 2016, o 14:24 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Ja najczęściej miałem do czynienia z profibusem a ostatnio profinetem.
Analogowe w sensie Analogowe, czyli 4-20mA albo 0-10V?

Autor:  Szafa [ 15 cze 2016, o 07:50 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Ja tak z innej beczki. Jak sprawuje się ten Fatek? Podobno fajne rozwiązanie trochę tańsze od tych wszystkich Siemensów, Mitsubishi, Beckhoffów itd. I podobno troche prościej się to programuje. Jakie wrażenia?

Z panelami Wainteka miałem styczność. Elegancko się programuje i komunikuje z PLC. bardzo dobry wybór ;)

Autor:  skalarro [ 15 cze 2016, o 07:54 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Fatek? Powiem tak. PLC jak PLC. Z założenia ma działać jak każdy inny i być niezawodny. I tak jest.
Programie się to bardzo przyjemnie drabinkami komunikacja ok, jest rs232 rs485 jest LAN można służyć inne. Ogólnie całkiem fajne to to.

Autor:  toch88 [ 11 wrz 2016, o 12:23 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Skąd wiedziałeś jak ma wyglądać ramka danych da MODBUSA? Czy sam ją konfigurowałeś? nie wiem jak to wygląda w twoim systemie. Pozdrawiam fajny projekt.

Autor:  skalarro [ 11 wrz 2016, o 14:41 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

Napisz co jest dla Ciebie niejasne, postaram się napisać.
Ogólnie modbus jest bardzo dobrze opisanym protokołem. W moim systemie, tak jak pisałem wcześniej, masterem jest sterownik PLC, stacja pogody jest jednym z wielu sleve'ów na wspólnej magistrali RS485.
Sam nie składam ramki od początku, są do tego gotowe biblioteki z implementacją protokołu. Sprowadza się to do konfiguracji parametrów UARTa, adresu urządzenia, rozmiaru i adresu tablicy oraz cyklicznego wywoływania pollingu, czyli funkcji sprawdzającej, czy nie nadeszła ramka modbusa. I tyle.

Co do budowy samej ramki modbus - jest różna w zależności od wywoływanej funkcji. ogólnie dłuższy temat. Jak chcesz jeszcze coś wiedzieć - pisz

Autor:  aaadamw [ 12 wrz 2016, o 19:19 ]
Tytuł:  Re: Stacja pogodowa dla sterownika PLC

MODBUS jest bardzo prosty do uruchomienia dzięki freemodbus
Tu masz wątek na ten temat. Jest tam efekt moich ćwiczeń z freemodbus
viewtopic.php?t=1523

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/