Wystąpił problem z dostępnością numeru Serwisu. Do czasu uruchomienia numeru głównego prosimy o kontakt pod numerem 605-780-882

Profil użytkownika

janusz

 

 

Rejestracja: 2011-10-21 08:37

Logowanie: 2026-01-09 06:42

Urządzenia: 1

Tematy: 8

Posty: 285

posty użytkownika 
Pierwsza stronaPoprzednia strona14 / 15Następna stronaOstatnia strona
2014-04-08 17:46 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
def setDmuchawaMoc(self, value):
Widać że oczekuje na wartość Value  w moim odczuciu czeka na liczbę
KM dla dmuchawy w zakresie 25-40 już ci podam jak to będzie ci pomocne
Sub Ustaw_Dmuchawe(Na As Integer)
    Dim MyRequest As Object, arr
    Dim Bk As String
    On Error Resume Next
    Select Case Na
    Case 25
        Bk = "/?com=02010002000F020019009903"
    Case 26
        Bk = "/?com=02010002000F02001A00B403"
    Case 27
        Bk = "/?com=02010002000F02001B004003"
    Case 28
        Bk = "/?com=02010002000F02001C00EE03"
    Case 29
        Bk = "/?com=02010002000F02001D001A03"
    Case 30
        Bk = "/?com=02010002000F02001E003703"
    Case 31
        Bk = "/?com=02010002000F02001F00C303"
    Case 32
        Bk = "/?com=02010002000F02002000E803"
    Case 33
        Bk = "/?com=02010002000F020021001C03"
    Case 34
        Bk = "/?com=02010002000F020022003103"
    Case 35
        Bk = "/?com=02010002000F02002300C503"
    Case 36
        Bk = "/?com=02010002000F020024006B03"
    Case 37
        Bk = "/?com=02010002000F020025009F03"
    Case 38
        Bk = "/?com=02010002000F02002600B203"
    Case 39
        Bk = "/?com=02010002000F020027004603"
    Case 40
        Bk = "/?com=02010002000F02002800DF03"
    End Select
    Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    MyRequest.Open "GET", str_Url & Bk
    MyRequest.SetCredentials str_User, str_Password, 0
    MyRequest.send
End Sub

[Verb/b] Czy to jest konwersja na KM ?
Na to wygląda
2014-04-08 17:32 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Ja dokładnie tak działam wysyłam do sterownika ( "kody maszynowe") skrótowo KM 
dla sterownika są jednoznaczne 
a zapis c.setDmuchawaMoc(mocDmuchawaPrzedmuch);
jest zmieniany w bibliotece na KM  i jeżeli wartość mocDmuchawaPrzedmuch nie będzie on liczbą to może KM będzie nieczytelny dla biblioteki ale takiej wiedzy nie posiadam 
2014-04-08 17:12 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Ok drukuje to widać po komendzie print
Tylko jak wysyłasz dane do sterownika ?
Jest bynajmniej w VB typ zmiennej i tak przykładowo 
jeżeli zechcesz dodać 2 wartości 57 + 3 to wynik powinien być 60
a przedrostek str mi mówi że dodajesz zmienną typu string
str(c.getTempCO())
i w takiej sytuacji otrzymasz wynik dla  57 +3  =573
gdy zadeklarujesz  z przedrostkiem mówiącym że to zmienna typu wartość np Val 
 wynik będzie 60 
tylko jak w pythonie określać zmienne na obecną chwilę nie wiem
 
i tu może być błąd bo sterownik otrzyma od kompilatora dane nie zgodne  z oczekiwaniem 
bo widać ze zgłasza błąd dotyczący DATA a to są dane w bajtach wiec dla nas nie czytelne 
no chyba ze znamy strukturę i potrafimy dokonać konwersji
2014-04-08 16:35 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Verb dokładnie o takie coś chodzi
Linia skryptu
 print (time.asctime(time.localtime()) + ": CO: " + str(c.getTempCO()) + "°C. " + " CWU: " + str(c.getTempCWU()) + "°C. " + " Spaliny: " + str(c.getTempSpaliny()) + "°C. - Dopalanie.");
wymaga dłuższej analizy nie wszystko jest dla mnie tak jednoznaczne jak w VB 
a skrypt
c.setDmuchawa(True);
        c.setDmuchawaMoc(mocDmuchawaDopalanie);
        time.sleep(czasDopalanie);


To jest to !


Stan jak  udostępnisz  skrypt TRK  to do końca bo chyba ostatni gdzie była funkcja sprawdzania temp Co

jakoś brakowało mi zakończenia pętli While 



2014-04-08 16:07 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Stan  Wiesz czego brakuje mi w sterowniku 
Opcji która po zakończeniu cyklu pracy pozwali na uruchomienie dmuchawy z określoną mocą  i przez określony czas może być opcjonalne 
Ja bym decydował jak długo i z jaką mocą pracuje dmuchawa celem dopalenia opału


Ty i Verb macie dobry kontakt z ES może im coś takiego zaproponujecie  można to zaadoptować z opcji pieca zasypowego ( przedmuchy)


Janusz
2014-04-08 15:44 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Oczywiście ale to wymagało dodatkowych nakładów finansowych
i własnej  robocizny  
a  o sobie powiem tak nie jestem leniwy jak twierdzi małżonka  lecz "energooszczędny"


Janusz
2014-04-08 15:01 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Jak zrobią poprawkę to można myśleć o własnym procesie sterowania


Na chwilę obecną ja nie podejmę takiego ryzyka
Jak przerwie połączenie gdy załączę podajnik to dla mnie dramat 
wywali cały zasobnik do pieca 


Janusz 


Ps 
Mam połączenie na kablu a i tak zdarza się że gubię połączenie 
2014-04-08 12:54 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Stan napisał » 2014-04-07 21:34
Chyba łapię, czyli wystarczy że w naszych skryptach podmienimy polecenia symboliczne na te nazwijmy to "kody maszynowe" i powinno działać.



Już blisko 
np wysłanie do sterownika polecenia
self._getRequest("02010005000B0100018403 ") załączy dmuchawę (w trybie ręcznym)


self._getRequest("02010002002802003900E603") ustawi temp Co na wartość 57 deg (w trybie auto)


self._getRequest("02010002000F02001E003703") ustawi moc dmuchawy na wartość 37 %  (w trybie auto)


self._getRequest("020100020023020046003E03") ustawi czas postoju podajnika na 70 sek (w trybie auto)


itd....


Każdej zmianie wartości odpowiada inne polecenie
To po prostu nic innego jak zmiana dokonana za pomocą panela www
zmieniasz wartość panel wysyła do sterownika odpowiednie polecenie


Napisałeś fajną funkcję sprawdzającą temp.CO i to już jest początek
Ja też mam taką funkcje którą to cyklicznie (kontrolka timer) sprawdzam temp Co
i na tej podstawie ustalam ( zmienna typu logicznego o nazwie "Wzrost") stan temp Co (TCO)
Jeżeli  TCO wzrasta w porównaniu do poprzedniego odczytu  zmienna Wzrost otrzymuje wartość true
Następny odczyt  if  Wzrost=true i TCO zbliża się do temp żądanej nakazuję sterownikowi aby zakończył tryb pracy
Natomiast przy spadku jeżeli  Wzrost = false 
if TCO w spadku zbliża się do temp żądanej nakazuję sterownikowi wznowienie pracy


Takich if-ow jest więcej bo przy spadkach temp koryguję moc palnika skracając np czas postoju podajnika  
podnosząc moc dmuchawy itp...  tak skrótowo by to wyglądało


Czy u was można to wykonać podejrzewam że tak 


Janusz
 

2014-04-07 22:56 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Stan napisał: "Ja zrozumiałem że Twój sterownik jest w trybie automatycznym a Ty możesz mu wysłać kolejne zestawy poleceń do wykonania.
Gdyby tak było to byłoby to bardzo interesujące gdyż utrata komunikacji powodowałaby tylko pracę z ostatnimi parametrami.
Może inaczej, rozumiem to tak wysyłasz polecenie włącz podajnik na 3 sekundy, włącz dmuchawę na 30 sekund z mocą 39% i sterownik w trybie automatyczny to robi, w razie utraty połączenia wykonuje dalej te sekwencję."

Tak sterownik w trybie Auto
 Ja po prostu koryguję ustawienie jakie ma obecnie
np nakazuje zmienić moc dmuchawy ,czas postoju w podawaniu lub czas podawania paliwa
i co najistotniejsze to ja decyduję kiedy ma rozpocząć a kiedy zakończyć pracę  
wiem ile ma podać paliwa co jaki czas podać  z jaką siłą dmuchnąć  
na tej podstawie wyliczam trend temp Co i w zależności od potrzeb 
zwiększam moc palnika lub ją zmniejszam
i to by było na tyle
sorry jeżeli wprowadziłem zamieszanie
Janusz
2014-04-07 22:36 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Verb napisał : Kodu automatu, na razie nikomu nie udostępniam. Nie da się sensownie wyciąć kawałka, dotyczącego wyłącznie wątku dmuchawy 


Chyba źle mnie odczytałeś 


W przykładach Ven-a jest fragment skryptu 
# Dmuchawa
    def getDmuchawa(self):
        if (bool(self.s_statusdata)):
            return self.s_statusdata[32] & (1 << 0) != 0;
            
    def setDmuchawa(self, state):
        if (state):
            self._getRequest("02010005000B0100018403");
        else:
            self._getRequest("02010005000B010000B503");

    def getDmuchawaMoc(self):
        if (bool(self.s_statusdata)):
            return self.s_statusdata[39];
który ja odczytuje następująco że w zależności od odczytanego statusu dmuchawy 
można wysłać polecenie 
self._getRequest("02010005000B0100018403 ")załącza dmuchawę i nie ma bata dmuchawa musi zastartowaćVerb napisał:W bibliotece "sterownik" wpisano sprawdzanie statusu. Zmieniałem na False. Skrypt się uruchamia, ale log sypie błędami komunikacji. Być może coś przeoczyłem.


a  status dmuchawy odczytujemy z zapytania 
02010006000000006103
jest on podawany jako (39) element zwracanej tablicy zawiera wartość  0 dla wyłączonej 1 dla włączonej
Lecz powiem że bez nawet fragmentu typu w/w nie pokazującego  co wysyłasz co sterownika kicha...
Janusz

2014-04-07 21:29 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Verb napisał : "Interesujące, jak możesz i chcesz to otwórz nowy wątek i napisz coś więcej."
Problem w tym czy w takim wątku dotyczącym " VB " będą chętni do rozmowy


Martwy wątek nie ma sensu ale przyznam że bardzo chętnie bym wymienił sie doświadczeniami z osobą piszącą w VB


Pytasz jak to zrobiłem?
Łącze sie ze sterownikiem za pomocą biblioteki  WinHttp 
pewnie podobna w działaniu do tej jakiej używacie
" #conn = httplib"
u mnie to proste definiuję obiekt
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
otwieram połączenie 
MyRequest.Open "GET", str_Url & "/?com=02010005000B0100018403"
Uruchamia dmuchawę  trybie ręcznym

    MyRequest.SetCredentials NazwaUsera, Password, 0
    MyRequest.Send
i poszło dmuchawa załączona
mogę programowo zmienić chyba wszystko w sterowniku
Lecz nie namawiam Cię na naukę nowego języka 
Ale jak byś chciał .....
Piszesz że Twój  skrypt coś nie działa ?
Zapodaj może fragment kodu (skryptu ) lub cały gdzie ma startować dmuchawa 
może dam radę przerobić żeby zatrybiło 
Jak za duże na forum prześlij na priv 
odpowiem 


Janusz



2014-04-06 20:58 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
glaca1900 napisał » 2014-04-06 14:58
re: energotop
Czy wiesz ile godzin trzeba testować coś nowego, aby stwierdzić, że jest OK lub do de?
.



Zdajemy sobie z tego doskonale sprawę że testy powinny trwać do czasu uzyskania pewności że jest Ok a nie do de


Na potwierdzenie zasadności prowadzenia sterownika wg. własnej koncepcji załączam 
 własne wykresy generowane z mojego "oprogramowania" prezentujące prace kotła 
1 Wykres z dnia 4-04-2014 sterownik prowadzony przez 24 h z "własnego oprogramowania" 
Temp zew spada poniżej do -1,3 spadki temp CWU a kociołek idzie jak po przysłowiowym sznurku linia trendu zużycia opału stała 




2 Wykres z dnia 6-04-2014
Do godz 7:30 prowadzony wg mojego "oprogramowania" dalej pracuje samodzielnie 




Tak więc ja widzę zasadność w dalszych pracach a "ekszpertom" powiem wara od nas


Janusz

2014-04-06 19:08 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285
Verb nigdzie nie wysiadaj bo to by oznaczało porażkę 
Jeden "złośliwiec" nie może mieć wpływu na to co robicie 
Jak pisałem nie zabierałem głosu w tej dyskusji bo nie moje środowisko
programowania ale bardzo wam kibicuję i chętnie poczytam o dalszych waszych
spostrzeżeniach
To że macie inny język programowania mi nie przeszkadza chodzi o myśl w nim zawartą
Potrafię odczytać wasz kod i przerobić na własne potrzeby a im więcej pomysłów tym lepiej
dla rozwiązania


Janusz
2014-04-06 00:06 Temat: eSterownik.pl » Uwagi do działania Biblioteki.
  janusz Posty: 285





Nie zabierałem głosu bo nie piszę w Pythonie a wątek tego języka dotyczy
Moja wiedza pozwala mi na wykonanie tego zadania ale w Visual Basic
i taki programik do sterowania sobie wyskrobałem
Biorąc pod uwagę wasze opinie że tryb ręczny jest niepewny 
postanowiłem "sterować" inaczej czyli wprowadzam korekty do pracy automatycznej 
Jak raz w nocy straciłem połączenie ze sterownikiem (reset kompa  po aktualizacji ) to nie wielka strata
do rana pracował na ustawieniach jakie ostatnio zostały zadane 


 Jaki osiągnąłem efekt ? 
Wyprostowałem na wykresach linię temp Co prawie do ideału 
Na palniku zmian brak jak było ok tak jest
Ale zużycie spadło i to wcale nie mało 


Więc może dobierzcie sie do korekty pracy automatycznej
2014-03-19 15:59 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  janusz Posty: 285
Pytanie do zawsze pomocnego kol   Seba

Czy jest możliwe poznanie zasady konstruowania końcówki "?com"
dla trybu grzanie dla zadanej wartości  :
Temp Co , czasu pracy podajnika , mocy dmuchawy oraz czasu postoju podajnika ?
np ?com=02010002002802002F00D203" 'tmp co na 47
Janusz
2014-03-08 02:17 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  janusz Posty: 285
To może jako aktywny zaapelujesz do ES 
żeby tak jak pliki arch i params pozostały na karcie 
to by było super rozwiązanie wszystko pod ręką 
2014-03-07 23:05 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  janusz Posty: 285
Wpisując w przeglądarce http://ip_strownika/sync/sync.dat
pobierze ci ten plik 
lub http://ip_strownika/sync/sync.tmp
wyświetli go na stronie


tylko problem jest taki że po takim zapytaniu plik jest "ubijany"
Można to bez niszczenia pliku zapytać programowo 
ja odczytuję za pomocą Visual Basic bo taką mam wiedzę 


Oczywiście  połączenie przez stronę esterownik kończy się 
likwidacją plików



2014-03-07 21:51 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  janusz Posty: 285
No tak zgadza się 
lecz takiej sytuacji nie przewidziałem że na moje żądanie tak zareaguje 
Więc jak nie będę go molestował to powinien pisać do jednego pliku ?





2014-03-07 21:43 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  janusz Posty: 285
Ok logiczne 


Tylko jak mam połączenie z internetem nieaktywne ?
to jak może pytać jak nie ma dostępu ?


 Włamał się hakerką pachnie
2014-03-07 21:26 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  janusz Posty: 285
Mam jeszcze małe pytanie
W katalogu sync sterownik zapisuje dane do plików
sync.tmp lub sync.dat 
dane z dnia 07-03 do godz 09:00
zapisywał do  sync.dat  
a od godz 10:00 rozpoczął 
zapisywać do  sync.tmp
nie potrafię wyłapać reguły w tym sposobie zapisu
może nie tak istotny problem ale warto by było  wiedzieć 


Janusz
Pierwsza stronaPoprzednia strona14 / 15Następna stronaOstatnia strona