Allmänt meddelande

Collapse
No announcement yet.

Larm

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

  • Larm

    Hej ,
    Jag är ny på forumet och likaså ny användare av NN autostock.

    Har en fråga angående larm.
    Har ställt in att det ska larmas vid en viss nivå på kursen
    Det fungerar att det kommer larm , men larmen fortsätter så länge kursen har gått över eller under kurslarmnivån.
    Detta innebär att det skickas väldigt många mail.

    Kan man på något sätt ställa in detta så man bara får ett larm var gång den passerar larmnivån.
    Om man ställt in att det ska larmas om kursen går under 50 kr och kursen
    sedan går över 50 kr och vänder ned igen under 50 kr vill jag ha ett nytt larm.

    Någon som vet?

    Mvh Dan

  • #2
    Nedanstående kurssnutt larmar bara om larmnivån passeras ovanifrån. Larmet ligger sedan kvar högst 5 minuter, beroende på "i5(".
    Som NAT är kostruerad är det bara den första signalen i 5-minuterssekvensen som går till riktigt larm i meddelandefönstret om sekvensen under hela perioden ligger under larmnivån.
    Om kursen sedan vänder upp och återigen vänder ned komer ett nytt larm.

    larmnivå:=50

    i5(
    signal=and(ge(aref(c,1),larmnivå),lt(c,larmnivå))
    )


    Comment


    • #3
      Tack för ett snabbt svar.
      Ska testa detta.

      Comment


      • #4
        LillWicke eller någon annan,
        Efter lite funderande undrar jag om det är så att man måste ändra i koden när man vill ha en annan larmnivå?
        Om så kan man göra att detta blir autom. då man flyttar larmnivån i grafiken?
        Du skriver att NAT bara larmar en gång , någon aning om varför jag får oändligt med larm då en nivå bryts?

        Comment


        • #5
          1) Om du vill ha en annan larmnivå och den ska sättas automatiskt, kan man göra på ett par olika sätt.

          a) Man kan låta larmnivån flyta med kursen och när en högsta/lägsta punkt nås räkna ut larmnivån med ett fast tal utifrån den senaste högsta/lägsta toppen/botten, exempelvis 4 punkter från högsta/lägsta. Färdig kod för detta att studera finns i modellen "Stopploss mini"

          b) Man kan rita trendlinjer (lutande eller horisontella) manuellt i grafen och låta scriptet larma när någon av dessa passeras. Färdig kod för detta att studera finns i modellerna "Trend enter/exit".

          2) Vad det beror på att NAT larmar fler gånger vid passerandet av linjen är svårt att veta utan att titta på hur scriptkoden är konstruerad. En gissning är att just när linjen ska passeras börjar kursen pendla upp och ner omkring linjen innan den slutligen bestämmer sig för vilken riktning den ska ta.

          Last edited by LillWicke; 2012-08-26, 19:54.

          Comment


          • #6
            Jag tror Dala menar "Larmad nivå", alltså inga script. Då får man larm hela tiden (vilket vi redan har en notering om och kommer att ändra). Men, tillsvidare kan man tex kryssa för "Larma max 1 ggr/dag" under Inställningar > Egenskaper för hela programmet.

            Annars går det ju fint att använda script för att trigga larmet enligt ovan, men ett tips är att lägga larmnivån som ett värde i valfritt fält i Indata script (klicka ENTER på instrumentet > Indata script), så kan man använda samma script till flera papper (utan att ändra i koden) samtidigt men ändå ha olika larmnivåer:

            larmnivå:=scrpar(32) {läser nivån från fält 32}
            gt(c,larmnivå)


            Kryssa för Autobevakat för det här scriptet så triggas larm varje gång kursen korsar larmnivån, men inte hela tiden om kursen konstant ligger ovanför.

            Comment


            • #7
              Rikard,

              Tack för ditt svar.
              Det lustiga är att rutan Larma max 1 ggr.... faktiskt är i kryssad.

              Ska testa ditt andra förslag måste dock läsa på lite om script och hur man implementerar dessa.
              //Dan

              Comment


              • #8
                Rikard,
                Jag testade ditt script och det fungerade .
                Skrev om det så här:
                larmnivå:=scrpar(32)
                gt(c,larmnivå)
                larmnivåmin:=scrpar(31)
                lt(c,larmnivåmin)

                La in ett värde 13154 i ruta 32 och 13150 i ruta 31
                Då skickades ett larm när kursen gick under 13150 , men inte över 13154.
                Gör jag fel eller tänker jag fel?

                Comment


                • #9
                  Hm, då behövs två script - ett som larmar för nivå över gränsvärde och ett annat som larmar för undre gränsvärde.

                  Som det är skrivet nu blir det lite knas eftersom båda funktionerna ligger i samma script.

                  Comment


                  • #10
                    OK,
                    Perfekt
                    Misstänkte det , men det är inga problem.

                    Ska testa det.

                    Comment


                    • #11
                      Fungerade precis som jag ville.
                      Ska bli trevligt att fortsätta med detta program
                      :-)
                      Dan

                      Comment


                      • #12
                        ...en liten detalj bara, Dala.

                        Kolla på denna kod:
                        +++++++++++++++++++++++++++++++++++++++++++
                        Skrev om det så här:
                        larmnivå:=scrpar(32)
                        gt(c,larmnivå)
                        larmnivåmin:=scrpar(31)
                        lt(c,larmnivåmin)
                        +++++++++++++++++++++++++++++++++++++++++++

                        textsträngen "larmnivå" förekommer dels som eget datanamn men också som delnamn i "larmnivåmin", detta kan till och från ge problem då du exekverar scriptet. Använd ALLTID helt unika datanamn, "larmnivå" kan du exempelvis ersätta med "laarmnivå" då får du inga sammanblandningar av datanamnen.

                        Comment


                        • #13
                          Tack för er hjälp.
                          Kör med två olika scriptade larm.
                          Fungerar bra , men hade varit bättre om den funktionen hade varit kopplad till grafiken .
                          Alltså att man kunde flyttat larmnivån grafiskt.

                          Comment


                          • #14
                            Absolut, och det kommer bli så.

                            Comment


                            • #15
                              Ursprungligen postat av Dala Visa inlägg
                              Fungerar bra , men hade varit bättre om den funktionen hade varit kopplad till grafiken .
                              Alltså att man kunde flyttat larmnivån grafiskt.
                              Enkelt fixat.
                              larmnivåmax:=trend(3)
                              gt(c,larmnivåmax)

                              larmnivåmin:=trend(4)
                              lt(c,larmnivåmin)

                              Du ritar en trendlinje i diagrammet och ser till att det blir en passiv linje.
                              Du ser samtidigt till att den trendlinje som skall bevaka uppåt får ID:3 och den som skall bevaka nedåt får ID:4

                              Det fungerar lika bra oavsett om linjen är horisontell eller sned. Du kan också flytta linjerna i diagrammet efter det att du ritat dem.

                              Comment

                              Working...
                              X