Keresés

Új hozzászólás Aktív témák

  • Onishi

    tag

    Sziasztok!

    Előre is bocs a kisregényért.
    Visual Basic Script-ben történő soros port kezeléssel kapcsolatos problémába ütköztem. Hátha van köztetek olyan aki jártas ebben.
    Egy fényújságot kellene vezérelnem, amin állandóan változó adatokat kellene megjelenítenem. A scripttel amit írtam, 5-20 másodperc közötti időtartamonként küldök ki új szöveget rá.
    2 problémába ütköztem:

    1.) A script ilyen szempontból jól működik, küldi is az adatokat szépen, de van amikor egyszercsak meghülyül a soros port kezelés és elkezdi megállás nélkül ontani magából a teljesen értelmetlen adatokat (többnyire csak 0-ákat, de van hogy random karaktereket), amiket a scriptben biztos, hogy nem generálok, és olyan sebességgel történik mindez, amit szintén nem küldök a scriptből, hiszen azt másodpercenként hívom meg, de mint már említettem leggyorsabb kiküldés is minimum 5 másodpercenként van. Szóval valami behülyül, és ezt csak úgy tudom megfékezni, hogy leállítom a scriptet és a soros drivert is újraindítom (soros-ethernet átalakító van a pc és fényújság között). Gondoltam az utóbbira is, hogy annak van valami baja, de a gép saját soros portján küldve az adatokat szintén előjön a hibajelenség.

    2.) Ha a fényújságot tegyük fel áramtalanítják, vagy nem elérhető, attól még a script küldi az adakat, ami telíti a buffert, majd ha a fényújságot visszakapcsolják, akkor az összegyűlt adatokat elkezdi kiküldeni megállás nélkül, amit a fényújság nem tud értelmezni és meghülyül tőle. Erre valószínű jó lenne az OutBufferCount = 0 parancs, de ez csak MSCOMM32-vel működne, de azt nem tudom használni VBScript alól, mert licenszet kér. Helyette az ingyenesen letölthető NetCommOCX-et használom, de az nem tudja ezt a parancsot, vagy legalábbis nem működik.

    Bemásolom a soros port kezelés részt a scriptből:

    Set objComport = CreateObject("NETCommOCX.NETComm")
    objComport.CommPort = 2
    objComport.Settings = "9600,N,8,N"
    objComport.PortOpen = True
    objComport.OutBufferCount = 0
    objComport.Output = Chr(21)
    objComport.Output = Chr(18)
    objComport.Output = Chr(5)
    'Küldendő szöveg:
    objComport.Output = fenyero + out + kifutas
    'Lezárás:
    objComport.Output = Chr(254)
    objComport.Output = Chr(lezaras)
    objComport.PortOpen = False

    Először a sima OpenTextFile-eljárással próbálkoztam, de az állandóan átállítja a soros portot 1200baud-ra, holott nekem 9600 kellene. MSCOMM32 nem működik, így marad a NetCommOCX verzió. Mást eljárást nem találtam.

    Esetleg valaki belefutott már ilyen problémákba? Van esetleg valamilyen tippetek?

    Előre is köszönöm.

  • Onishi

    tag

    Sziasztok!

    VBScript-el kapcsolatos kérdésem lenne. Leszögezem kezdő vagyok.
    Azt kellene megoldanom, hogy egy bizonyos weblapról információt kinyerni és egy változóban eltárolni.
    Konkréten napi időjárás adatokat kéne szereznem internetről, amit naplózás céljából el kell mentenem.

    Ezt a google keresést kéne megnyitnom, az aktuális hőmérsékletre és a időjárás jellegére vonatkozó szövegre (Esős, Derült stb.) lenne szükségem: [link]

    Nézegettem a forrásfájlját az oldalnak és ezt találtam:

    Egyáltalán nem értek web programozáshoz, de az a "wob_tm" az egy változó? Vajon ez tartalmazza a hőmérsékletet?

    Hogyan kéne erre írni egy scriptet?

    Köszi előre is a segítséget.

Új hozzászólás Aktív témák

Hirdetés