W nowym sofcie do sterowników PELLO dodaliśmy obsługę BUFORA. Więcej informacji na forum lub w tym pliku
Forum  eSterownik.pl  Konfigurowanie TRK Subskrybuj
Pierwsza stronaPoprzednia strona1 / 3Następna stronaOstatnia strona
2014-10-23 22:31
  Stan Posty: 2564 Ostrzeżenie: 0

Ściągamy paczkę z plikami do TRK Zawsze najnowsza wersja
Rozpakowujemy całość na swoim komputerze, i teraz możemy wyedytować i dopasować do swoich potrzeb pliki konfiguracyjne.
Do tego ceku musimy użyć narzędzia które nie naśmieci tak więc MS Word odpada , proponuję ściągnąć sobie darmowy program Notepad++, doskonale się do tego będzie nadawał.

Na początek otwieramy plik konf_polaczenie.

#============ Parametry logowania do sterownika ================================
#     wpisz: rodzaj polaczenia, nr IP sterownika, swoj login i haslo
typ   = "ethernet"
ip    = "192.168.2.2"
login = "admin"
haslo = "admin"

Wpisujemy własne IP sterownika oraz login i hasło do niego i kopiujemy do katalogu ze skryptami, jeśli używamy jakiegoś urządzenia na linuksie to nadajemy uprawnienia 755.

Następnie edytujemy plik konfig_TRK.Poniżej wklejam pełen przykładowy  konfig TRK dla standardowego dwustanu, w kolejnych postach opiszę poszczególne elementy.


#===============================================================================
#                         Parametry wspolne
#
# Tutaj wpisz parametry globalne pracy
#===============================================================================
#======== parametry CO ===============

tempZadanaGora = 50.2;
tempZadanaDol = 50;
# po spadku ponizej tempZadanejGora uruchamia bloki normal
wymuszonahistereza = False

#======== parametry podtrzymania ===============

podtrzymanie_postoj = 60 # w minutach
podtrzymanie_podajnik = 5
podtrzymanie_przerwa = 40
podtrzymanie_nadmuch = 41

#======== paramtery autoregulacji dopalania
tspalin = 100
deltaspalin = 10
min_obr_dmuchawy = 25
max_obr_dmuchawy = 52
tryb_autodopalania = False
opoznienie = 3
max_temp_podajnika = 50

#======== Korekta grupowa =============

czasPodawania = 0;
czasPrzerwy   = 0;
czasNawiewu   = 0;
mocNawiewu    = 0;

#========== Parametry blokow ===================================================
# mozliwe tryby to - start, stop, normal, 1start, 1normal, 1stop

czas_podawania = [ 5,5 ]
czas_przerwy   = [ 40,40]
czas_nawiewu   = [ 40,40]
moc_nawiewu    = [ 40,40]
tryb = ['start','normal']

#=========== Parametry trybu Lato ==============================================

Tryb_autolato = False
T_zewnetrzna_lato = 15;
T_dolna_CWU = 44;
dodane 2014-10-22 14:14
Stan napisał » 2014-10-22 14:02


#======== parametry CO ===============

tempZadanaGora = 50.2;
tempZadanaDol = 50;
# po spadku ponizej tempZadanejGora uruchamia bloki normal
wymuszonahistereza = False



Tutaj określamy górną i dolną granicę parametrów CO, jest to rodzaj histerezy w granicach jakiej ma działać algorytm.
Mamy tu jeszcze jeden parametr "wymuszonahistereza" - o co chodzi ?
Normalnie TRK działa w ten sposób - grzeje do przekroczenia zadanej górnej temperatury CO po czym odstawia się i czeka do spadku CO poniżej zadanej dolnej temperatury CO i ponownie uruchamia grzanie.
Po włączeniu (czyli wpisaniu zamiast False, True) grzanie uruchamia się po spadku poniżej zadanej górnej temperatury CO.
dodane 2014-10-22 14:20Następne są parametry podtrzymania.
Pełen standard, nie ma co omawiać.
dodane 2014-10-22 14:37
Stan napisał » 2014-10-22 14:20



#======== paramtery autoregulacji dopalania
tspalin = 100
deltaspalin = 10
min_obr_dmuchawy = 25
max_obr_dmuchawy = 52
tryb_autodopalania = False
opoznienie = 3
max_temp_podajnika = 50



Autoregulacja dopalania, o co chodzi ?
Jest to tryb pracy dmuchawy którego zadaniem jest dopalenie resztek paliwa pozostałych po zakończonym cyklu grzania.
Tryb można włączyć lub wyłączyć, przełącznikiem False, True, jeżeli go włączymy to uruchomi się on po zakończonym pełnym cyklu grzania jako jego ostatni element.
Możemy tu określić:
Temperaturę spalin wokół której algorytm będzie starał się oscylować.
Deltę spalin - jest to parametr który określa przy jakiej różnicy temperatury spalin z kolejnych pomiarów algorytm autodopalania ma się zakoćczyć.
Minimalne i maksymalne obroty dmuchawy w zakresie których algorytm autodopalania ma nią sterować.
Kolejny parametr to włączenie lub wyłączenie autodopalania.
Opóźnienie to parametr regulujący można powiedzieć czułość zadziałania autodopalania.
Ostatni parametr to zabezpieczenie przed nadmiernym wypaleniem żaru na palniku, określamy tu temperaturę podajnika po przekroczeniu której algorytm zostanie przerwany.

dodane 2014-10-22 14:42Korekta grupowa.
tutaj mamy możliwość dodania (lub odjęcia) czasu dla parametrów we wszystkich blokach.
Przydaje się to gdy mamy wiele bloków (nie tak jak w tym przykładzie gdzie są tylko dwa) i chcemy na przykład we wszystkich  zwiększyć podawanie o 3 sekundy.
dodane 2014-10-22 15:01
Stan napisał » 2014-10-22 14:42



#========== Parametry blokow ===================================================
# mozliwe tryby to - start, stop, normal, 1start, 1normal, 1stop


czas_podawania = [ 5,5 ]
czas_przerwy   = [ 40,40]
czas_nawiewu   = [ 40,40]
moc_nawiewu    = [ 40,40]
tryb = ['start','normal']


Parametry bloków
Blok to jest zestaw parametrów z którymi w danej chwili zostanie uruchomiony piec. Takich bloków może być wiele i mogą się one uruchamiać w różnych momentach histerezy lub przed i za nią.
Możemy tu określić:
Czas podawania - czyli dawka paliwa.
Czas przerwy - czyli maksymalny czas na jaki blok będzie uruchomiony.
Czas nawiewu - wiadomo, jedno ograniczenie to czas ten nie może być dłuższy od czasu przerwy.
Moc nawiewu - wiadomo
Tryb - wybieramy tu specyfikę i miejsce zadziałania bloku
Możliwe tryby do wyboru są wymienione wyżej, a jak działają?
Blok typu:
start - uruchamia się cyklicznie w zakresie temperatury CO poniżej dolnej zadanej.
stop - uruchamia się po przekroczeniu temperatury CO górnej zadanej.
normal - uruchamia się w widełkach pomiędzy dolną i górną zadaną CO
Bloki z przedrostkiem 1 uruchamiają się jak ich odpowiedniki bez tych przedrostków ale tylko jeden raz w całym cyklu.

dodane 2014-10-22 17:07Jak widać żeby ustawić TRK do pracy jako tradycyjny dwustan musimy podać takie parametry

czas_podawania = [ 5,5 ]
czas_przerwy   = [ 40,40]
czas_nawiewu   = [ 40,40]
moc_nawiewu    = [ 40,40]
tryb = ['start','normal']

Oczywiście podane czasy są przykładowe, czas przerwy możemy podać dłuższy niż nawiewu (odwrotnie nie) jeśli chcemy aby paliwo po podaniu i nawiewie chwilę poleżało zanim dojdzie kolejna dawka.
Jako tryb wybieramy normal zapisany w konfigu z apostrofami czyli tak 'normal' i oczywiście wszystkie parametry umieszczone są w nawiasach kwadratowych.
I jak to będzie działać.
Gdy temperatura CO spadnie poniżej dolnej zadanej algorytm zacznie podawać określoną (przez czas w sekundach) dawkę paliwa i włączy na określony czas i ustawioną moc dmuchawę i jeśli czas przerwy jest dłuższy niż nawiewu to poczeka i ponownie załączy sekwencję, będzie tak robił aż temperatura CO przekroczy górną zadaną i się odstawi. Będzie czekał aż temperatura CO spadnie poniżej dolnej zadanej i rozpocznie cykl od początku. Jeśli przerwa pomiędzy cyklami będzie odpowiednio długa to uruchomi się podtrzymanie.


dodane 2014-10-22 19:40Teraz pytanie, dlaczego użyłem dwóch bloków? Czy nie da rady tak prostego trybu wykonać na jednym bloku?
Oczywiście można, trzeba by użyć tylko bloku start, ale dzięki użyciu dwóch bloków (start i normal) możemy operować w obrębie histerezy. Gdy użyjemy tylko bloku start dolna zadana CO stanie się temperaturą docelową dla pieca.
dodane 2014-10-22 20:20Kolejny krok, mając dwa bloki możemy je wykorzystać do poprawy pracy pieca.
Dobrze byłoby gdyby gdy CO jest poniżej zadanej dolnej piec dysponował większą mocą wtedy szybciej dobije nam do widełek histerezy. Tak więc dlaczego by nie ustawić innych parametrów dla bloku start a innych dla bloku normal.
czas_podawania = [ 8,5 ]
czas_przerwy   = [ 40,40]
czas_nawiewu   = [ 40,40]
moc_nawiewu    = [ 43,40]
tryb = ['start','normal']


Dzięki takiemu zabiegowi, gdy temperatura CO jest poniżej dolnej zadanej ślimak pracuje przez 8 sekund a dmuchawa wieje mocniej i tak się dzieje cyklicznie aż temperatura przekroczy dolną zadaną wtedy dawka zmniejszy się do 5 sekund.
Tak więc mamy teraz prostą pracę dwumocową, większa moc gdy woda jest zimniejsza i mniejsza gdy CO ma temperaturę zbliżoną do tej jaką chcemy mieć.

dodane 2014-10-22 20:48Nasz hipotetyczny piecyk pracuje w tej chwili dwumocowo więc czas na dołożenie kolejnego bloku.
Byłoby dobrze gdyby na starcie nasz piecyk dostał nieco więcej powietrza , przedmuchalibyśmy dysze i rozgrzali żar przed wprowadzeniem pierwszej dawki paliwa po postoju.
Założenie jest więc takie potrzebujemy jednorazowego silnego przedmuchu po uruchomieniu pieca z postoju.
Do tego celu użyjemy bloku 1start, uruchamia się on raz na pełen cykl i w obszarze temperatury która nas interesuje czyli poniżej dolnej zadanej.
Ustalamy że jego parametry to czas pracy i nawiewu 20 sekund moc dmuchawy 50% bez podawania paliwa.
Tak więc konfig będzie wyglądał tak:
czas_podawania = [ 0,8,5 ]
czas_przerwy   = [ 20,40,40]
czas_nawiewu   = [ 20,40,40]
moc_nawiewu    = [ 50,43,40]
tryb = ['1start','start','normal']
dodane 2014-10-23 20:31W tej chwili nasz piec umie pracować z większą mocą gdy jest duże zapotrzebowanie na ciepło i z mniejszą mocą gdy to zapotrzebowanie jest minimalne.
Przydało by się poprawić nieco jego charakterystykę pracy, bo w tej chwili niepotrzebnie czeka aż temperatura CO spadnie poniżej dolnej zadanej przez co uruchamia dużą moc nawet gdy nie jest ona potrzebna i wystarczyłaby ta mniejsza.
Zrobimy to poprzez uaktywnienie przełącznika który znajduje się  w "parametrach CO" i nazywa się "wymuszonahistereza". Przełącznik ten domyślnie jest wyłączony czyli False, aby go włączyć wpisujemy tam True, tak więc będzie to wyglądało tak:
#======== parametry CO ===============

tempZadanaGora = 50.2;
tempZadanaDol = 50;
# po spadku ponizej tempZadanejGora uruchamia bloki normal
wymuszonahistereza = True


Kolejna rzecz to przydało by się trochę podmuchać gdy skończy się podawanie paliwa aby je dopalić i zostawić na palniku tylko żar.
Dołożymy w tym celu jeszcze jeden blok tym razem typu stop, czyli taki który uruchamia się po przekroczeniu temperatury górnej zadanej CO, będzie to sam nawiew bez podań, stosunkowo słaby ale dość długi. Nasz konfig w tym miejscu będzie wyglądał tak:
czas_podawania = [ 0,8,5,0 ]
czas_przerwy   = [ 20,40,40,90]
czas_nawiewu   = [ 20,40,40,90]
moc_nawiewu    = [ 50,43,40,38]
tryb = ['1start','start','normal','stop']
2014-10-24 20:57
  uzi18 Posty: 1346 Ostrzeżenie: 0
Doszło trochę nowych parametrów może mógłbyś je tez opisać.
Fajnie gdyby dać jakiś rysunek co to obrazowo pokaże aby było łatwiej zrozumieć ideę,
oczywiście do każdego przykładu inny.
2014-10-29 21:35
  Stan Posty: 2564 Ostrzeżenie: 0
Oczywiście, uzupełnię pierwszy post.
Co do rysunku to muszę poszukać, jakiś rok temu zrobiłem i tu na forum zamieściłem taki rysunek objaśniający ideę TRK.
dodane 2014-10-24 20:15A teraz wklejam swój aktualnie działający konfig i wykres z dzisiejszego dnia.


#===============================================================================
#                         Parametry wspolne
#
# Tutaj wpisz parametry globalne pracy
#===============================================================================
#======== parametry CO ===============

tempZadanaGora = 55.5;
tempZadanaDol = 54;
# po spadku ponizej tempZadanejGora uruchamia bloki normal
wymuszonahistereza = True

#======== parametry podtrzymania ===============

podtrzymanie_postoj = 30 # w minutach
podtrzymanie_podajnik = 4
podtrzymanie_przerwa = 40
podtrzymanie_nadmuch = 41

#======== paramtery autoregulacji dopalania
tspalin = 80
deltaspalin = 10
min_obr_dmuchawy = 30
max_obr_dmuchawy = 35
tryb_autodopalania = True
opoznienie = 3
max_temp_podajnika = 50

#======== Korekta grupowa =============

czasPodawania = 0;
czasPrzerwy   = 0;
czasNawiewu   = 0;
mocNawiewu    = 0;

#========== Parametry blokow ===================================================
# mozliwe tryby to - start, stop, normal, 1start, 1normal, 1stop

czas_podawania = [ 0, 7 ,  0,  4,  3,  0,  0]
czas_przerwy   = [25, 25, 30, 60, 25, 30, 15]
czas_nawiewu   = [25, 25, 30, 60, 25, 30, 15]
moc_nawiewu    = [65, 42, 41, 60, 42, 40, 50]
tryb = ['1start', 'start','start','1normal','normal','normal','stop']

#=========== Parametry trybu Lato ==============================================

Tryb_autolato = True
T_zewnetrzna_lato = 15;
T_dolna_CWU = 48;

dodane 2014-10-24 20:16
dodane 2014-10-24 20:22Węgiel to czech, podobno komorany , ciepło odbierane jest przez bojler i dwa grzejniki typu drabinka (mała) w łazience i WC.




dodane 2014-10-29 20:35
Doszły nowe parametry ułatwiające życie i poszerzające możliwości TRK.



# automatycznie przelaczanie w tryb manual sterownika i w tryb auto po zatrzymaniu skryptu
autotrybmanual = False
#======== parametry CO ===============

tempZadanaGora = 50.2;
tempZadanaDol = 50;
tempZalaczeniaPomp = 45.0
# po spadku ponizej tempZadanejGora uruchamia bloki normal
wymuszonahistereza = False
histerezaBlokuStop = 0.0

Autotrybmanual to typomy ułatwiacz życia , możemy go włączyć (czyli wpisać True) lub pozostawić domyślnie wyłączonego (False), Na czym polega jego zadanie ? Po ustawieniu na True i odpaleniu TRK skrypt sam przestawi sterownik w tryb ręczny i przejmie nad nim kontrolę, gdy skrypt zatrzymamy to wyśle on komendę uruchamiającą sterownik w trybie auto.

HisterezaBlokuStop - pozwala nam ustawić TRK do pracy w trzech mocach, czyli w blokach stop można ustawić podanie paliwa, bloki stop będą działać w ramach od zadana górna do zadana górna +  histerezaBlokuStop.
2014-10-30 15:32
  uzi18 Posty: 1346 Ostrzeżenie: 0
Autotrybmanual - zapamietuje tryb pracy sterownika przed uruchomieniem skryptu TRK i gdy zatrzymamy skrypt przywroci ten stan.
2014-10-30 16:19
  Stan Posty: 2564 Ostrzeżenie: 0
Dzięki za sprostowanie
2014-10-31 00:19
  uzi18 Posty: 1346 Ostrzeżenie: 0
Stan: moze jako uzupelniene opisz konfiguracje grupowego spalania na przykladzie TRK.

dodane 2014-10-30 23:19Tak sobie mysle ze mozna te informacje wrzucic na wiki, tam gdzie jest projekt na serwerze - jest taka mozliwosc
2014-10-31 00:27
  Stan Posty: 2564 Ostrzeżenie: 0
Jeśli można to czemu nie
2014-10-31 00:29
  uzi18 Posty: 1346 Ostrzeżenie: 0
zaloz konto to Cie dodam do projektu
2014-10-31 09:57
  mark3k Posty: 484 Ostrzeżenie: 0
Mała sugestia do nazewnictwa bloków.
Proponuje zamiast bloków:
"start" - "MocHigh";
"normal" - "Moc Low";
"jeden_start" - "kickstart" ;
"stop" - "dopalanie"
"jeden_normal" - zaproponujcie coś....
Moim zdaniem takie oznaczenie byłoby bardziej czytelne dla potencjalych userów-testerów. .
2014-10-31 11:30
  Stan Posty: 2564 Ostrzeżenie: 0
Chyba potrzebne jest coś bardziej neutralnego, bo przecież w żadnym konkretnym bloku nie musi być podawania węgla tylko może być więc jaka tam będzie terminologiczna moc ?

Myślę że uzi ma racje i nazwijmy je po prostu kolejnymi wielkimi literami alfabetu, i gdyby wpadł kiedys pomysł o rozbudowę o kolejne bloki to nie będzie problemu z nazewnictwem
2014-10-31 11:46
  mark3k Posty: 484 Ostrzeżenie: 0
Ok. To tylko propozycja ułatwiająca życie nowicjuszom - tak sadziłem.
Dla mnie bez znaczenia. gdy będzie już wersja stabilna, to zrobię opisy w/g własnego uznania.
2014-10-31 19:28
  uzi18 Posty: 1346 Ostrzeżenie: 0
mysle ze jeden_normal powinen sie nazywac ostatni_start albo cos okolo.
jeden_normal powinien sie ruchamiac po spadku temp i kwalifikacji dla tej mocy pozniej bloki normal a na koniec ostatni_normal (a nie stop)
i na kazdym bloku ostatni_x powinno byc ewentualne dopalanie.
wogole to mozna te bloki zrobic wirtualne (takie domyslne) przeszlismy sekwencje jednego rodzaju bloku ... to dopalamy
jedyny atut dla jawnych blokow dopalajacych ... to taki ze jest to jednoznaczne i czytelne.

dodane 2014-10-31 18:28czyli : dla kazdej mocy bylby taki start, normal i stop
2014-10-31 21:34
  Stan Posty: 2564 Ostrzeżenie: 0
Czy to nie wprowadzi ograniczenia ? Teraz bloków każdego rodzaju może być teoretycznie nieograniczona ilość i jak je ułożysz zależy tylko od Ciebie. A jak byłoby w Twoim pomyśle ?
dodane 2014-10-31 20:34Co do nazwy bloków to po prostu nazwijmy je A,B,C... bloki typu jeden A1, B1, C1.
2014-10-31 23:41
  uzi18 Posty: 1346 Ostrzeżenie: 0
Zaczac trzeba od ... tego ile  rodzajow mocy zakladamy, ze obsluzymy
2014-11-01 00:13
  Stan Posty: 2564 Ostrzeżenie: 0
No nie wiem, sprawa do dyskusji, ale trzeba przemyśleć nazewnictwo zmiennych bo już teraz robi się to niejasne.
Od razu mam propozycje co do histerezy.
Załóżmy że nazwiemy bloki A.B.C itd (jeśli taka będzie potrzeba)
To zamiast histerezy można zrobić temperaturę wyjścia z bloku A, .. bloku B itd
Czyli mamy blok A i TcoA, blok B i TcoB, blok C TcoC itd, i wiadomo że zawsze chodzi o górną temperaturę bloku która zarazem jest dolną bloku wyższego.
dodane 2014-10-31 23:13Tak się zastanawiam, rozpisanie tego na więcej mocy (bloków) z drabinką temperaturową (przykładowo) co 1 deg i skutecznym autodopalaniem możliwym do uruchomienia w każdym bloku dałoby nam automat.
Już teraz raz wyregulowane działa praktycznie automatycznie, z większa ilością bloków powinno wygładzić wykres i powinna poprawić się elastyczność.
2014-11-02 02:03
  uzi18 Posty: 1346 Ostrzeżenie: 0
Lepiej sie dobrze zastanowic ... mysle ze na ten czas ... trzeba poprawic wieksze
bledy w tym co jest, a nowe bajery to juz w nowej wersji ...
2014-11-04 22:47
  Stan Posty: 2564 Ostrzeżenie: 0
Tu oczywiście masz rację , czas najwyższy wypuścić stabilną wersję.
Myślę o następnych krokach, popatrz na mój wykres, gdyby dołożyć mu jeszcze ze dwie trzy moce pośrednie byłby niemal płaski a piec pracowałby w sposób ciągły.
dodane 2014-11-04 21:47Zaktualizowałem opis po zmianie nazewnictwa bloków  jeden_start na 1start, jeden_normal na 1normal, jeden_stop na 1stop.
2014-11-04 23:54
  uzi18 Posty: 1346 Ostrzeżenie: 0
Super, doszedl nowy parametr, ...
2014-11-05 07:38
  Stan Posty: 2564 Ostrzeżenie: 0
Jaki ? Szybciej to przerabiasz niż ja nadążę testować  
dodane 2014-11-05 06:38Już doczytałem
2014-12-08 23:37
  uzi18 Posty: 1346 Ostrzeżenie: 0
Czyli teraz mamy takie moce posrednie, o ktorych pisales ...
Pierwsza stronaPoprzednia strona1 / 3Następna stronaOstatnia strona
Użytkownicy online: