Hirdetés

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

  • cog777

    őstag

    válasz asuspc96 #2766 üzenetére

    A kododbol kiindulva es legegyszerubben, berakod egy ciklusba :D
    while True:
        for i in range(len(self.relay_threads)):
                self.relay_threads[i].start()

    Mert ahogy latom, vegigfut a feladatokon aztan kilep a szalbol.
    (Csak erdekessegnek megemlitem hogy esp32-n futo micropythonon, ha sokszor keszul szal es lepsz ki belole akkor nem szabaditja fel a stack-et es par nap utan crash, igy kenytelen voltam allando 4 szalat kesziteni a halozati kezeleshez)

    Ha a releket viszonylag sok ideig tartod nyitva es zarva akkor vegulis az en egyszerubb megoldasom is mukodhet. Sok ido itt: masodperc.

    Beagyazott rendszereknel szokas hogy van egy ciklus amelynek iteracioja rovid, tehat gyorsan vegig tud menni az osszes feladaton. Sot, ha mindig kivarja az idejet a kovetkezo iteraciora, hiaba vegzett az osszes feladataval, akkor remekul lehet az egyes feladatok idejet megtervezni es akar ido diagrammon abrazolni.

    Tehat:
    Vezerlo ciklus:
       Rele 1 vezerles (nyit/zar/semmit nem csinal, tablazattol fuggoen)
    Rele 2 vezerles (nyit/zar/semmit nem csinal, tablazattol fuggoen)
       Rele 3 vezerles (nyit/zar/semmit nem csinal, tablazattol fuggoen)
       Rele 4 vezerles (nyit/zar/semmit nem csinal, tablazattol fuggoen)
       Var (legalabb 1ms legyen ez az iteracio)

    Ilyenkor teljes kontrol alatt van a vezerlese a hardvernek. Ez nem ritka implementacio, emlekszem hogy egy uzemben egy kis teljesitmenyu proci vezerelt komoly dolgokat igy, abban nem voltak szalak. (Ja, nem azert irom h ne probald ki a szalakat, csak mint erdekesseg)

    Bocs ha ezt mar tudtad, nem derult ki szamomra hogy mennyire vagy szakertoje a temanak.

    Mas: a print utasitas is lassit :D a fontos idoziteseket elronthatja. Ilyenkor szoktak kulon szalban/processzben futo naplozasba beletenni az esemenyeket... de ha tobb mp-es idok vannak akkor nem szamit itt.

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