Miesięcznik Murator ONLINE

Skocz do zawartości

Programowalne instalacje elektryczne - wątek dla entuzjastów


Recommended Posts

Dobra, skoro tym razem ja "umarłem wątek", to spróbuję go też wskrzesić. Zrobiłem z grbusza swój program obsługi nawadniania. Jeszcze go nie testowałem, ale jakieś szansę działać toto ma.

Założenia już gdzieś tu podawałem, ale powtórzę:

- obsługa do 32 "harmonogramów",

- każdy harmonogram z osobnym czasem startu i stopu (definiowanymi przez pary miesiac+dzien oraz godzina+minuta

- każdy harmonogram może dotyczyć dowolnej liczby z maksymalnie 16 sekcji

- możliwość zablokowania nawadniania osobno w każdej sekcji

 

W jakiś sposób (najlepiej przez modbus oczywiście) do PLC trzeba wpisać dane "harmonogramów". Oto lista używanych dalej rejestrów "programujących":

Blokady sekcji - rejestr D1000

Liczba harmonogramów - rejestr D1001

Miesiące i dni aktywności harmonogramów (pary start i stop - 4 bajty) - rejestry D1002-D1065

Godziny i minutyaktywności harmonogramów (pary start i stop - 4 bajty) - rejestry D1066-D1129

Aktywne sekcje (jedno słowo, 2 bajty, dla każdego harmonogramu) - rejestry D1130-D1161

 

Czyli dane nie są "ciągłe", tj. zapis nie jest kolejny wszystkich wartości dla każdego kolejnego harmonoogramu, a to ze względu na wykorzystanie instrukcji BKCMP w kodzie.

 

 

Kod z grubsza wygląda tak:

 

W osobnym module (unit) definiujemy procedurę

65.LBL PODLEJ

 

Przenosimy do roboczego rejestru bierzącą datę i godzinę

08.MOV R4135 R3000

 

Przenosimy do roboczego rejestru numer miesiąca

08.MOV R4132 R3001

Przesuwamy numer miesiąca do starszego bajtu

46.SWAP R3001

W młodszy bajt wklejamy dzień miesiąca

44.BYMV R4131 0 R3001 0

 

Zerujemy wynikowe flagi aktywności harmonogramów

114.Z-WR M1464 32

 

Wszystkie powyższe kroki to de facto jedynie "przygotowanie środowiska". Faktyczne wyliczenia zaczynamy dopiero tutaj.

 

Do markerów M1400-1431 trafiają flagi aktywnych harmonogramów ze względu na ich daty aktywności

112.BKCMP R3001 D1002 D1001 M1400

 

Do markerów M1432-1463 trafiają flagi aktywnych harmonogramów ze względu na ich godziny aktywności

112.BKCMP R3000 D1066 D1001 M1432

 

Do markerów M1464-1495 trafia suma logiczna dwóch powyższych wartości, czyli faktyczne flagi aktywności dla kązdego harmonogramu

18.D.AND WM1400 WM1432 WM1464

 

Teraz czas zweryfikować, które faktycznie sekcje powinny być w tym momencie aktywne:

 

Najpierw przygotowujemy rejestry robocze:

08.D.MOV 0 WM800

08.MOV 1130 P0

08.MOV 0 P1

 

No i czas na pętlę:

70.FOR D1001

 

Odczytujemy flagę aktywności kolejnego harmonogramu (tego o numerze z rejestru P1) i trafia ona do markera M1496

40.D.BITRD WM1464 P1 OTB=M1496

 

Jeśli ten harmonogram jest aktywny, to jego sekcje, do listy aktualnie aktywnych sekcji (markery M800-831)

A(M1496) 19.OR DP0P1 WM800 WM800

 

No i "zawijamy" pętlę

15.INC P1

71.NEXT

 

Na koniec na filtrujemy listę aktywnych sekcji flagą blokad (rejestr D1000)

18.AND WM800 D1000 WM800

 

No i pozostało dla wybranych sekcji uruchomić wybrane wyjścia PLC (to już oczywiście w zależności od konkretnych połączeń fizycznych "na zewnątrz" sterownika)

A(M800) O(Yxxx)

...

 

Koniec procedury

68.RTS

 

 

W głównym module (main unit) trzeba dodać jeszcze wywołanie procedury (w tym wypadku co minutę):

U(M1923) 67.P.CALL PODLEJ

 

 

No i to by było na tyle. Ostatni "drobiazg" do zrobienia, to jak te harmonogramy wpisać do PLC...

 

Ktoś widzi jakiś oczywisty błąd? Ja tego jeszcze nie miałem okazji przetestować, więc jest szansa, że to jednak niczego sensownego nie zrobi... ;-)

 

Oczywistą wadą programu jest zużycie aż 129 markerów (rejestrów M), ale to głównie ze względu na ograniczenia instrukcji BKCMP. Można by nieco tą pamięciożerność ograniczyć (o połowę), ale mi się nie chciało ;-)

 

PS. Przyjąłem sobie tu jakąś tam notację funkcji i poleceń Fateka. Po zestawieniu tego z WinProLadderem (czy nawet dokumentacją) nie powinno być problemu ze zrozumieniem co jest co ;-)

Edytowane przez ravbc
Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 3,6k
  • Utworzony
  • Ostatnia odpowiedź

Najaktywniejsi w wątku

Najaktywniejsi w wątku

Dodane zdjęcia

  • 3 weeks później...

Chciałem się podzielić ciekawym odkryciem w sprawie tradycyjnych przcisków sterujących na ścianę.

 

Do tej pory przekonany byłem, że podstawą "klawiszologii" w domu będzie berker 503404, aż natknąłem się na informację o TEM Modul.

Większej gęstości upakowania niż ww berker 503404 toto nie ma, ale jest większa elastyczność i niższa cena.

 

Wygląda ciekawie, mam zamiar przetestować.

Odnośnik do komentarza
Udostępnij na innych stronach

Odnośnie TEM'a - przyglądałem się temu juz pół roku temu i zdecydowałem się właśnie na ten system. We Wrocławiu (gdzie mieszkam) działą jeden z dwóch dystrybutorów tego systemu - Nota Bene. Polecam kontakt z nimi - spotkałem właściciel ana jednych targach, ta firma PRODUKUJE przyciski w bardzo eleganckich formach - a ceny są do uzgodnienia, bo to robota trochę rzemieślinicza, więc wszystko możliwe. Po prostu zrobią Ci przyciski takie, jakie sobie wymarzysz, a ceny wyglądały porównywalnie z TEM'em, jakbyś miał zestawiać z pojedynczych modułów. I nie ma problemu dodanie diodek itp. Ja najpewniej będę sie decydował na nie.
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks później...

Witam!

Zainteresował mnie temat wykorzystania sheevaplug/guruplug jako web serwer. civic9 mógłbyś przybliżyć w jaki sposób połączyłeś guru z plc? Rozumiem, że masz te urządzenia ze sobą połączone? Poprawcie mnie jeśli źle myślę - na guru postawiona jest strona do której można się odnieść z jakiegokolwiek urządzenia z przeglądarką i przy pomocy tej strony sterujemy funkcjami zaprogramowanymi w plc? O ile z PLC sobie poradzę bez problemu to podejrzewam że z guru może być kłopot:D

Odnośnik do komentarza
Udostępnij na innych stronach

Trzeba sobie "wygenerować" bramkę modbus-ową (po serialu lub TCP, zależy co tam Twój PLC wystawia). To oczywiście dotyczy połączenia jakiegokolwiek kompa z PLC. Można niby próbować jakimiś półśrodkami, ale IMHO tylko tego typu pełna wymiana danych (dwukierunkowa!) pozwoli uzyskać sensownie użyteczne UI
Odnośnik do komentarza
Udostępnij na innych stronach

Wracając do tematu podlewania,

ICM nie udostępni danych numerycznych.

 

Ale http://www.pogodynka.pl/ dałoby się oskryptować i przynajmniej wyciągnąć informacje typu "słabe opady deszczu".

Poszukaj informacji o METAR. Powinno dać się ładnie wciągać.

Np. http://pogoda.teleaudio.com.pl/cgi-bin/metar.cgi?kraj=Poland&lotnisko=%28EPPO%29%20Poznan-Lawica

Edytowane przez Tomkii
Odnośnik do komentarza
Udostępnij na innych stronach

Hehe, jak się ma lotnisko "pod nosem" to pewnie jest to całkiem niezły pomysł. Gorzej jak do lotniska (ze stacją meteo) daleko...

No to jest jeszcze inna opcja. Można skorzystać z prywatnych amatorskich stacji pogodowych i brać komunikat w APRSie. No i można próbować uzyskać dane z portali skupiających amatorskie stacje:

http://www.wunderground.com

http://www.pwsweather.com

http://www.awekas.at

http://www.wedaal.de

Do tego są jeszcze 2 albo 3 polskie projekty tego typu:

http://www.meteo.2o.pl

http://amt.achjoj.info/index.html (tylko temperatura)

http://www.meteo24h.pl/stacje-meteo.html

Odnośnik do komentarza
Udostępnij na innych stronach

Witam serdecznie wszystkich entuzjastów automatyki w domu :) Wczoraj skończyłem czytanie całego wątku - od deski do deski 166 stron ;) Ogromny zbiór wiedzy i doświadczeń.

W toku lektury natknąłem się na wzmiankę o sterownikach Array, oferowanych przez firmę Telmatik. Szczerze mówiąc bardzo mnie one interesują, jednak mało jest o nich materiałów i informacji. Czy ktoś z szanownego grona miał z nimi do czynienia ? Chodzi mi zwłaszcza o serie APB - np. APB-22MTDL . Czy warto ? Nie ukrywam, że głównym atutem jest język programowania. Radzę sobie z drabinką, ale parę sterowników będzie musiało być przeprogramowywanych przez osoby znające tylko jezyk FBD. Z góry dziękuję za odpowiedź i gorąco wszystkich pozdrawiam !

 

PS - w wątku przewijał się często temat przycisków i wyłączników. Może dorzucę swoje 3 grosze do dyskusji - jeśli szuka ktoś przycisków wielokrotnych to proszę zwrócić uwagę na produkty firmy MK ( Honeywell ) z serii Grid. System ten składa się z : "płyty czołowej" , modułów czyli przycisków, wyłączników, kontrolek, ściemniaczy itp, ramek w których te moduły są montowane i puszek na lub pod tynkowych. System dostępny w wielu kolorach, również w metalu ( chrom błyszczący i matowy itp ) System bardzo popularny w Anglii i Irlandii ( gdzie miałem okazję go sprzedawać ) Oto link do strony producenta : http://www.mkelectric.com/en-gb/Products/WD/Superswitch/grid/frontplates/flatplate/Pages/SW568.aspx Wystarczy wybrać akcesoria.

 

W Polsce można je zakupić m.in tu :http://www.mkelectric.com/en-gb/Products/WD/Superswitch/grid/frontplates/flatplate/Pages/SW568.aspx

 

W razie pytań służę pomocą :)

Edytowane przez wazoski
Odnośnik do komentarza
Udostępnij na innych stronach

raczej nastawiam się na ręczne bypassy niż oprogramowanie tego na plc (choć może dodam) na razie cały mój projekt automatyki to wiele tabelek i pomysłów, brak budowy i sterownika :)

 

bypass programowy w mojej ocenie ma zastosowanie jeden, przełączenie wszystkiego na zasilenie z wodociągu.

Edytowane przez nysander
Odnośnik do komentarza
Udostępnij na innych stronach

Panowie pomóżcie. Czy mając WinProladder 2.5 z symulatorem jest jakaś opcja na symulowanie obecności RTC i rejestrów daty i czasu.

Czy na czas pisania tylko w symulatorze (brak fizycznego plc) muszę sobie RTC symulować definiując na czas symulacji pożądane wartości zapisując je do rejestrów odpowiedzialnych za wskazania daty.

 

pytanie nr dwa, jak obsłużyć przejście z ostatniego dnia miesiąca na dzień kolejny (chodzi mi o zaprogramowanie opóźnienia jakiegoś procesu o 1 dzień (ale niekoniecznie o równe 24 godziny)

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.




×
×
  • Dodaj nową pozycję...