Allmänt meddelande

Collapse
No announcement yet.

Agera 1 minuten

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Agera 1 minuten

    Rikard,
    jag har sökt i forumet men hittar inte scriptet

    Agera första minuten i 15 min script
    utan hittar bara detta som agerar 14:e minuten i 15 min script:

    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    rest:=Mod(totalt,15)
    tidsignal:=Ge(rest,14)

    Jag vill att scriptet ska vara aktivt den första minuten i 15 min script, vara
    inaktiv minut 2 tom 15, hur kan man skriva om det?

  • #2
    Om vi bryter ner scriptet lite och tittar på vad som händer steg för steg:

    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)

    här beräknas hur många minuter som gått sedan midnatt.


    rest:=Mod(totalt,15)


    Modulo-funktionen delar upp värdet i "totalt" i 15-minutersstaplar, dvs har det gått tex 720 minuter sedan midnatt är det exakt 48 staplar, och värdet i "rest" blir antalet minuter som har gått i innevarande stapel. Alltså, rest räknar från noll till 14, där noll motsvarar första minuten varje period, och 14 motsvarar sista minuten varje period.


    tidsignal:=Ge(rest,14)

    Sista raden kan då användas så att den blir sann när "rest" motsvarar önskad minut. Jag tror du fixar det nu!




    /Rikard

    Comment


    • #3
      Ursprungligen postat av Rikard Nilsson Visa inlägg
      Om vi bryter ner scriptet lite och tittar på vad som händer steg för steg:

      tidnu:=Frac(DATE())
      totalt:=Mult(tidnu,1440)

      här beräknas hur många minuter som gått sedan midnatt.


      rest:=Mod(totalt,15)


      Modulo-funktionen delar upp värdet i "totalt" i 15-minutersstaplar, dvs har det gått tex 720 minuter sedan midnatt är det exakt 48 staplar, och värdet i "rest" blir antalet minuter som har gått i innevarande stapel. Alltså, rest räknar från noll till 14, där noll motsvarar första minuten varje period, och 14 motsvarar sista minuten varje period.


      tidsignal:=Ge(rest,14)

      Sista raden kan då användas så att den blir sann när "rest" motsvarar önskad minut. Jag tror du fixar det nu!




      /Rikard
      Om man ex sätter ge(rest,1) blir scriptet sant i den 1:a minuten och resterande minut 2, 3, 4 osv, scriptet stoppar inte efter minut 1.

      Det behövs nog ett villkor där scriptet är sant minut 1 men ej minut 2 tom 15.

      Comment


      • #4
        Exakt, och vilket villkor är det? Det räcker att byta Ge till något som tester om "rest" är lika med 1....

        Comment


        • #5
          ...nja, det här är lite lurigt.

          Tänk på att värdet i "rest" går från 0 till 14.

          Alltså Jörgen, om du vill att scriptet bara ska vara giltigt under första minuten, måste du testa mot noll. Det borde bli nånting sånt här:

          tidsignal:=Lt(rest,1)

          Lycka till!

          Comment


          • #6
            Ursprungligen postat av Torsten Visa inlägg
            ...nja, det här är lite lurigt.

            Tänk på att värdet i "rest" går från 0 till 14.

            Alltså Jörgen, om du vill att scriptet bara ska vara giltigt under första minuten, måste du testa mot noll. Det borde bli nånting sånt här:

            tidsignal:=Lt(rest,1)

            Lycka till!
            Testar det Torsten, Rikards variant fungerade inte...

            Comment


            • #7
              Joho, klart det fungerar:

              tidsignal:=Eqv(rest,0)

              Comment

              Working...
              X