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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 3 maja 2025, o 12:09


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 31 paź 2017, o 16:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 08 gru 2013
    Posty: 366
    Lokalizacja: Wałbrzych
    Pomógł: 7

    Witam mam mały problem napisałem sobie terminal rs232 w delphi i zgodnie z poradnikiem 004j chciałem sobie zrobić by nie pokazywał mi się błąd przy odłączeniu przejściówki rs232.
    Błąd mam dalej.


    W zdarzeniu oncomdetect mam

    Składnia: [ Pobierz ] [ Ukryj ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Wyglada jak by za wolno zamykał się port com .

    cały program wygląda tak :
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Z góry dzięki za pomoc.


    a oto błędy
    Obrazek


    Obrazek

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 paź 2017, o 16:39 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    a czy w trakcie rozłączania masz wysyłanie jakichś danych przez COM ? bo jeśli tak to może być właśnie taki problem albo gdy są odbierane

    poza tym mówiłem w poradniku, że to nie jest i tak eleganckie rozwiązanie i być może - zdarzy się, że kiedyś nie zadziała

    Ja mogę tylko podpowiedzieć, że jestem w trakcie pisania komponentu do komunikacji przez port COM - który będzie działać w 100% normalnie i nie będzie potrzeba takich kocich tricków robić ... jak się przetnie siekierą kabel albo rozłączy FIFI albo Bluetooth to najnormalniej w świecie port się sam rozłączy właściwie a nawet będzie wbudowany mechanizm ;) żeby mógł się automatycznie sam włączyć gdy awaria minie ;) ... no ale to jeszcze trzeba troszkę poczekać

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 paź 2017, o 16:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 08 gru 2013
    Posty: 366
    Lokalizacja: Wałbrzych
    Pomógł: 7

    Witam.
    Dane nie są wysyłane .

    a czy odbierane hmm tego nie wiem . Mam położony komponent ComTerminal może on coś nasłuchuje .

    -- 4 minutach --

    Fajnie!! Na pewno komponent zakupie . Delfi narazie ma wiele plusów . Co do b4j się trochę sparzyłem. Przez to ze napisać jakiś program by działał na win xp graniczy z cudem .
    A tu proszę wrzucam i działa. Fajne są te komponenty takie gotowe jak to okno terminala czy to ze można dodawać nowe komponenty . Super wręcz.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 19:00 
    Offline
    Użytkownik

    Dołączył(a): 20 lut 2013
    Posty: 166
    Pomógł: 0

    Ja też zauważyłem podobny problem jak kolega driver0207 (Comport+ComDataPacket+MkUsbbDetector) że port nie zawsze się zamyka port po odłączeniu kabla (właśnie w moim przypadku dane w tym czasie są odbierane przez COM) :/ Także liczymy na pana Panie Mirku i czekamy z niecierpliwością na ten nowy fajniuśki komponent ;)

    Edit:
    Dzisiaj wyszła kolejna "ciekawa przypadłość". Na początek dodam że MkUsbbDetector w najnowszej wersji tj. 1.6. Sytuacja wygląda tak: Mam jedno urządzenia z FT232 wykrywane pod COM35, z problemami (jak wyżej), ale go wykrywa apka w Delphi. Dzisiaj złożyłem drugi takie samo urządzenie i podłączam do kompa tylko to nowe i wykrywa je jako COM43 (tak jest w Menadrzeże urządzeń i przez Putty na tym porcie jest komunikacja jak należy). Włączam apkę i boom MkUsbbDetector wykrywa i łączy się z portem COM35 czyli ten od "starego urządzenia" chociaż fizycznie go NIEMA! jest tylko ten nowym COM43. Dodam że nie zapamiętuje niczego w plikach INI.

    Kawałek kodu:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    PS. teraz dopatrzyłem że miałem wpisany COM35 do cPortu, ale to tak teraz wychodzi że on sobie otwiera ten port zamiast otwierać ten który tego if sprawdzającego pid itd. :/

    Obrazek

    Nawet jak zostawię to pole Port puste to łączy się z pierwszym portem czyli COM1 :/. Jak się może z nim łączyć skoro nie spełniony jest warunek z if'a więc nie wywołuje procedury StartComPort; ???



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 19:14 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    Chciałbym pomóc ale sorki - kompletnie nie rozumiem twojego problemu :(

    faber33 napisał(a):
    Włączam apkę i boom MkUsbbDetector wykrywa i łączy się z portem COM35

    kto się łączy ? MkUsbDetector ? a co on ma wspólnego z łączeniem ?

    Dla mnie to troszkę namieszałeś z podejściem do wyboru portów COM ... po co ta cała zabawa w CheckCurrentComID; ? Co to ma na celu ?

    Ja proponuję może opisz jaki jest twój cel ? co chcesz osiągnąć ? zakładam, że musisz mieć możliwość dostępu do jednej z przejściówek do którejś konkretnej - ok - tylko jak można najpierw startować jakieś połączenie a dopiero później próbować przypisać nowy port

    StartComPort;
    cominfo.ComPort := prt;
    cominfo.ComID := id;

    albo czegoś mocno nie rozumiem ....

    jak mówię uprość pytanie, sprowadź do prostego problemu a nie tak - bo ciężko pomóc

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 19:23 
    Offline
    Użytkownik

    Dołączył(a): 20 lut 2013
    Posty: 166
    Pomógł: 0

    Ok to prościej :D

    Założenie jest takie:

    Podłączam swoje urządzenie(FT232, który ma swoje PID, VID, Manufacturer i Serial) i teraz potrzebuje żeby apka jeśli "zobaczy" podłączony układ, który ma takie ustawienia:

    ComPID_def := 'PID_6001';
    ComVID_def := 'VID_0403';
    ComManufacturer_def := 'FTDI';
    ComSerial_Start := 'A9';

    Połączyła się z tym urządzeniem.

    Ogólnie rzecz biorąc to chciałbym uzyskać coś takiego jak w mkAVRCalculator czyli żeby apka wiedziała że to jest "moje urządzenie" i tylko z nim się łączyła :)

    PS. Rzeczywiście z tym Startowaniem popłynąłem :D ale nic to nie zmieniło bo po podłaczeniu urządzenia i tak łączy się z COM1(jeśli pole "Port" w cPort1 jest puste) :/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 19:29 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    faber33 napisał(a):
    ale nic to nie zmieniło bo po podłaczeniu urządzenia i tak łączy się z COM1 :/

    ale nie pisz tak - że nic to nie zmieniło - bo robisz gdzieś okrutnego babola ;)

    jednak na początek - daj sobie spokój z tym:
    faber33 napisał(a):
    i teraz potrzebuje żeby apka jeśli "zobaczy" podłączony układ, który ma takie ustawienia:

    ComPID_def := 'PID_6001';
    ComVID_def := 'VID_0403';
    ComManufacturer_def := 'FTDI';
    ComSerial_Start := 'A9';

    Połączyła się z tym urządzeniem.


    i zostaw sam ComSerial ;) po co ci badanie tych wszystkich dziwactw vid, pid itp itd - jeden serial wystarczy to po pierwsze
    a po drugie

    przed połączeniem NAJPIERW ROZŁĄCZ się poprawnie bo inaczej NIGDY się poprawnie nie podłączysz

    pamiętaj też że proces rozłączania może być procesem asynchronicznym o ile wiesz co to w tym wypadku znaczy

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 20:08 
    Offline
    Użytkownik

    Dołączył(a): 20 lut 2013
    Posty: 166
    Pomógł: 0

    Wywaliłem to co zbędne ale dalej się łączy z COM1 :/

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 22:03 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    przecież ja pokazywałem zdaje się w poradniku wideło jak to robić czy nie - bo teraz myślami jestem daleko od tego ... a się zastanawiam co ty w ogóle robisz że ci wciąż na COM1 się łączy ? ;)

    poza tym wyjdź z odpalaniem kodu wprost ze zdarzeń MkUsbDetectora - zrób to na początek ręcznie i sprawdź bo ja już nie rozumiem - po co walczyć z MkUsbDetectorem skoro ci ciągle na com1 się łączy

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2017, o 22:52 
    Offline
    Użytkownik

    Dołączył(a): 20 lut 2013
    Posty: 166
    Pomógł: 0

    Co mogę robić jeszcze innego niby źle ... jak wszystko co tyczy się COM masz wyżej ? Pisałem przecież wyżej że jak wybiorę COM35 tutaj to łączy z nim dobrze

    Obrazek

    Jak to pole jest puste to po podłączeniu COM35 on się podłącza pod COM1. Mimo że w cominfo.ComPort jest dobrze COM35

    Pomogło dopisanie cPort1.Port := cominfo.ComPort; ;) teraz to ma sens

    PS. Jakieś postępy z tym nowym komponentem ? Bo pomijając te rzeczy wyżej to dalej jest problem z "traceniem danych" tzn. po jakimś czasie różnie to jest czasem wykłada się na pierwszych stringach a czasem działa dobrze kilka minut ... Tzn traci się odbiór jakby przestawało/zawieszało się parsowanie. I to jest ciekawe że z aplikacji komunikacja dalej działa i dane do urządzenia są wysyłane poprawnie ale w drugą stronę kaplica.

    No i ten efekt tzw. uciętego kabla czyli po prostu odłączonego nie zawsze rozłącza COM. I tutaj ciekawa rzecz:

    Składnia: [ Pobierz ] [ Ukryj ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    I efekt na Statusbarze1 mam taki:

    Obrazek

    Według programu FT_Prog Serial jest taki A91IFT5T a zapisało go w cominfo.ComID jako A91LFT5T

    Dziwna podmiana i teraz niema co się dziwić że nie rozłącza :/ O co w tym biega ? Bo raz wpisuje do cominfo.ComID przy wykryciu A91IFT5T a raz A91LFT5T a ciągle podłączam przecież to samo urządzenie!

    Zmieniłem ten Serial na taki A915FT5T i teraz jest okej ... no ale to nie powinno tak być że on sobie raz wykrywa jako ten z "L" a raz jako ten poprawny z "I". Jakiś babol musi być w MkUsbDetector moim zdaniem ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 gru 2017, o 01:55 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    sprawdź kod ASCII tego znaku .. powinny być cyfry liczby zdaje się a nie jakieś pałki w serialu

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 gru 2017, o 17:49 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    Btw czasami male L (jak lejek) i duze I (jak Irena) wygladaja tak samo :)



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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