Vänta x minuter innan

Relevanta dokument
Styrning från telefon. Styrning mellan två Robofonsändare. Styrning via SMS. Styrning via dator

SNABB-GUIDE FÖR GOOGOL T1 PROGRAMMERING.

Användning av givare. Avläsning av analoga mätvärden (telefon/klartext) Text Insert-funktionen

BAS-SMS RT Inkopplings exempel

Handhavandebeskrivning för ROC Communication Panel

Eventum II Larmdator

Kretskortslayout TU-3

Bruksanvisning Fördelar med Vision II Plus

Manual för PC-program Larm

Digitala Kopplingsur DATA Micro+ DATA MICRO 2+

Eventum III Larmdator

MANUAL RS-120/S GSM. Inkoppling av GSM-kort (Mobil 67) till larmsändaren RS-120/S

Innehållsförteckning

LAN 63 Masterpanel. RUTAB Lerbacksgatan Nässjö Tel: Fax: info@rutab.se LAN 63 Larmpanel Master

Handhavandebeskrivning

BYGG-VAKT. v i d s t r ö m a v b r o t t. Manual Bygg-Vakt

MANUAL RS-120/S GSM. Inkoppling av GSM-kort (Mobil 63) till larmsändaren RS-120/S

Gsm A6a2 Larm Driftsättning

Handhavandebeskrivning

Programmeringsformulär S8

SMS-Temperaturlarm med både intern och extern givare

ELDES ESIM252 Kom igång

Spelschema för årets fotbollsmästerskap! island tyskland Söndag 14/7 Växjö Arena, Växjö. Söndag 14/7 Kalmar Arena, Kalmar

Handhavandebeskrivning

Referensmanual för Googol-produkterna. GoogolT1 GoogolD1 GoogolGSM

Klockslag resp. kopplingstid

Ett tips innan du börjar! Ställ in en stol i badrummet och tänd alla lampor. Du bör sitta bekvämt för knappsats och siffror är små och svåra att se!

Bruksanvisning Sportstimer

Falck 6604 VaktFalk TeleLarm

1. Övre lock 1 2. Display/Fönster 2 3. Nedre lock 3 4. Batterilock 4 5. Solenoid Dränering Ventilvred 9. 8.

Utdrag ur larmlagen HANDHAVANDEMANUAL FÖR CENTRALAPPARAT. DS7090i och DS7090TMi

============================================================================

Filtrena AB Hjalmar Petris väg VÄXJÖ Tel Fax

ATU. Användarmanual. Larmöverföringsenhet Firmware Version

Anfallslarm EPI-2000(-P) Bruksanvisning

Jobbschemaläggare. Morgan N. Sandquist Utvecklare: Gary Meyer Granskare: Lauri Watts Översättare: Stefan Asserhäll

1. Sprängskiss. 2. Montering av automatventilen

Gsm A22 Dolda kommando

Installationsmanual. Installera systemet: För att installera systemet korrekt så krävs följande: Steg 1.1- Förbered systemet.

Utdrag ur larmlagen HANDHAVANDEMANUAL FÖR CENTRALAPPARAT DS7100

ABT Tel: Fax: Org nr CR Fastighetsteknik AB Östra Trädal Ytterby Sweden

Handhavandebeskrivning

Manual för. Kundmötesmätning Synsam. Startdatum för besök: Se systemet. Slutdatum för besök: Se systemet

Cloud. Manual. Version

ESIM251. Inkopplingsanvisning

Manual, GSM-relä rev

Exempelkonfigureringar

LARMPAKET S Inkopplingsanvisning

PROGRAMMERING GSM-A4. A4 Prg 3 jan -01

Manual för digital CPU-styrning

Lego Robot [ ] [ ] [ ]

13. SIM-korthållare När du sätter i SIM-kortet måste den interna och den externa strömförsörjningen vara bortkopplad.

Bruksanvisning Kopplingsur

Utbildningsmaterial SBFF Personlarmspaket 2019

Total Control snabbguide

Driftinstruktion Digitalt dagkopplingsur 7LF41. 7LF VAC 1-kanal utan specialfunktioner

Installationsanvisning Automatik J40-J175

GSM-modul. Inkoppling av GSM-modul till Rego 400. Artikel nr: Version 2.3

ESIM364. Inkopplingsanvisning

Safeline 1000-Porttelefon Montering och Programmerings manual Augusti 2002

LARMPAKET XS Inkopplingsanvisning

Automatisk Vattentimer. Användarmanual

Handhavandeinstruktion

Användarmanual Personräknare med LCD Display TP 002

KOSTNAD FÖR TRYGGHETSLARM

JA-63 Profi Användarmanual

DIGITALT VECKOKOPPLINGSUR + PROGRAMMERINGSKNAPP

Galcon 6001/6051. WaterBoys AB Tel. Mail: Hemsida: Org.nr. Ekebogatan Alvesta

INSTALLATION- och DRIFTSANVISNING ARITERM GSM A2

Manual Uppdaterad UDR-plus. Axema Access Control AB Box Stockholm, Sweden

INSTALLATION-OCH BRUKSANVISNING RETURSPOLNINGSAUTOMATIK XYLEM FÖR GÖINGEFILTER KOMBI

Rutin för hantering av personlarm SRT306

INTAB INTERFACE-TEKNIK AB Manual för SMS-temp. SMS-temp

TIME CARE POOL WEBB. Personlig kalender (ikon i vänsterkolumnen)

LAN 53-2 och LAN 54-2 manual

NEO Speech. Trygghetstelefon. Användarmanual (SE)

INSTALLATION- och DRIFTSANVISNING ARITERM GSM A2

Installationsmanual AUL-filter

Concept V2.6. Quantum. Programmering via modem

Användarmenyn. S k r i v d i n k o d...

Cadex Armbandsklocka. Art.nr.:

ASSA RX. Webbaserat passersystem för dig som jobbar med annat. ASSA ABLOY, the global leader in door opening solutions. 1

Rekonditionering. EPIsafe 2 GSM. Art.nr Programversion x.x.x eller senare. Rev PA1 SE

Bruksanvisning för astrour typ

SafeLine 1000 R2 Manual

Personsökare RX-300 Bruksanvisning

MINIVOICE MANUAL ANVÄNDARMANUAL TILL ERT TALSVAR I VÄXELN VIKTIGA HANDLINGAR SPARAS!

6. BRUKSANVISNING MILLENIUM PLC

QR 550. Instruktionsbok (both Malmö & Sthlm) Krusegränd 42 C MALMÖ

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

HANDHAVANDEBESKRIVNING LARMNET Instruktion för. Säkerhetsansvarig. Skrivare. Div. larmutgångar. Databussledningar 4 st. NÄT TELE.

HANDHAVANDE LARMIA DUC LS 920

Ditt trygghetslarm Praktisk guide till ditt trygghetslarm

Datorteknik 2 (AVR 2)

ESIM264. Inkopplingsanvisning

Elektronisk timer. Ställa in aktuell tid. Inställning av vinter-/sommartid. Använda klockan tillsammans med ugnen. Ställa in tillagningstiden

LAN BES 1A/K-R LARMSÄNDARE BES-1A/KR. Beskrivning Vers. 1.1

UDR-plus Universellt dörrlarm

TM-6331H--1~4 TM ~4 TM-6331AB--1~2 TM ~4 TM-619H--1~4 TM-619L--1~4

Trygghetstelefon Classic. Bruksanvisning

Transkript:

Ingångsfördröjningar Tidsloopar Vänta x minuter innan Användning av tid- och datumvariabler i GoogolScript

INNEHÅLLSFÖRTECKNING 1. ALLMÄN BESKRIVNING...3 2. TIDSLOOPAR...3 För tidsloopar på 0-255 sekunder...3 För tidsloopar på 0-255 minuter...4 För tidsloopar på 0-255 timmar...4 Avbryt en tidsloop...5 2.2 FÄRDIGT EXEMPEL I FUNKTIONSBIBLIOTEKET...6 3. ATT STÄLLA VILLKOR MED HJÄLP AV DE VARIABLER SOM FINNS I GOOGOLSCRIPT....7 3.1 STÄLLA KLOCKAN...7 3.2 ANVÄNDNING AV TID- OCH DATUMVARIABLER...8 4. ANVÄNDNINGSOMRÅDEN...10 2

1. Allmän beskrivning Tidshantering är viktig i många sammanhang. I stort sett är det två principer som är bra att känna till vid programmeringen. Det ena handlar om villkor med de variabler som finns tillgängliga i scriptet, som t.ex. YEAR, MONTH, DAY, WEEKDAY, osv (se manualen). Den andra möjligheten handlar om att använda sig av en sekundvariabel, T, som räknas ned med ett varje sekund. Detta används i alla de fall då man vill ha en fördröjning innan något ska hända på x antal sekunder, minuter eller timmar från det ögonblick något börjar hända. Det första som beskrivs nedan är dessa tidsloopar. För tydlighetens skull har nummer lagts till framför programraderna, men de ska inte vara med i programmet. 2. Tidsloopar Det som kommer användas är sekundvariabeln T (kan anta värden mellan 0-255). Denna räknas ned med ett per sekund. Vi delar därför upp fördröjningen i sekunder, minuter respektive timmar. Scenario: T1:an ligger och kontinuerligt känner av telelinjen. Då det inte finns någon telelinje ska ett larm gå iväg via en alternativ uppringningsväg (GSM-modul). Eftersom det är en ganska osäker linje med bortfall lite titt som tätt vill vi ändå ha en fördröjning innan larmet går iväg. Så här skapar man en fördröjning. För tidsloopar på 0-255 sekunder 1 LET T=55 ;Här sätter vi tidsfördöjningen till 55 sekunder 2 :SLINGA ;Skapa en plats för vår tidsslinga 3 IF T>0 GOTO SLINGA ;T kommer att räknas ned med ett steg varje sekund, med början på 55. Eftersom T då kommer att vara större än noll i 55 sekunder ligger programmet och snurrar mellan 2 & 3. 3

För tidsloopar på 0-255 minuter Eftersom sekundvariabeln T inte kan anta ett större värde än 255, måste vi införa en ny variabel som också kan räknas ner allt eftersom sekunderna räknas ned. I det här fallet införs variabeln A. 1 LET A=10 ;Vi vill ha en fördröjning på 10 minuter 2 :NY_MINUT ;Skapa en plats för minutnedräkning 3 LET T=60 4 :SEKUNDER (se tidsloopar 0-255 sekunder) 5 IF T>0 GOTO SEKUNDER 6 LET A=A-1 ;Då 60 sekunder har gått räknas minutvariabeln A ned med ett 7 IF A>0 GOTO NY_MINUT ;Så länge A är större än noll har inte tiden gått ut utan en ny minut påbörjas uppe på rad 2. För tidsloopar på 0-255 timmar Ibland kan man vilja ha riktigt långa fördröjningar innan något ska hända. T.ex. kanske man vill att ett provlarm ska skickas en gång per dygn. Då kan man antingen välja att ställa tiden på realtidsklockan i T1:an alternativt använda följande slinga 1 LET B=24 ;Vi vill ha en nedräkning på 24 timmar och B är i vårt program en timvariabel. 2 :NY_TIMME ;En programplats skapas som startpunkt för varje ny timme 3 LET A=60 4 :NY_MINUT 5 LET T=60 6 :SEKUNDER (se tidsloopar 0-255 minuter) 7 IF T>0 GOTO SEKUNDER 8 LET A=A-1 9 IF A>0 GOTO NY_MINUT 10 LET B=B-1 ;Timvariabeln B räknas ned med ett 11 IF B>0 GOTO NY_TIMME ;Har B hunnit bli noll? Om inte går det tillbaka upp till platsen NY_TIMME. Har den blivit noll går den vidare i programmet 4

Avbryt en tidsloop Ibland kan det ju också vara aktuellt att avbryta tidsloopen. Det kan ju till exempel vara så att om telelinjen kommer tillbaka så bör ju inte tidsloopen fortsätta utan börja om först nästa gång linjen faller ifrån. Som programmet ser ut nu så är vi tvungna att vänta tills tiden har gått ut och först då fråga oss en gång till om linjen fortfarande är borta. Vad som hänt däremellan vet vi ju egentligen inte. Lösningen är att inuti sekundloopen (0-255 sekunder) lägga in ett villkor så att den också varje sekund kollar av om telelinjen kommit tillbaka, ingången återgått eller vad det nu är som vi testar. Det kommer se ut som: 1 LET T=55 2 :SLINGA 3 IF LINESTAT > 0 GOTO START 4 IF T>0 GOTO SLINGA ;Om linjestatusen har förändrats går vi ur tidsloopen och hoppar upp till START (början på programmet). ;På samma sätt går det givetvis att lägga in att ett värde på en ingång har ändrats, en knapp har tryckts in eller vad som helst 5

2.2 Färdigt exempel i funktionsbiblioteket Ett färdigt funktionsexempel i funktionsbiblioteket, som använder sig av dessa slingor är Provlarm 1/dygn. Det visas nedan och principerna är beskrivna ovan. 6

3. Att ställa villkor med hjälp av de variabler som finns i GoogolScript. T1:an har en intern realtidsklocka, men ingen batteribackup på klockan vilket innebär att den måste ställas på nytt efter varje omstart. Lyckligtvis finns det olika sätt att på smidigt sätt ställa klockan och det kan även skötas per automatik så att man inte behöver åka ut och ställa klockan varje gång ett spänningsbortfall inträffat. 3.1 Ställa klockan De olika sätt varpå man kan ställa klockan är: 1) Genom att ansluta en PRO-06 programmeringsdosa och trycka *. Därefter matas tid och datum in enligt formatet YYMMDDHHMMSSW - År, Månad, Dag, Timme, Minut, Sekund och Veckodag, där veckodagen är 0-6 med början på söndag. 2) Om det finns en GSM-modul ansluten kan tiden ställas genom att skicka in ett SMS till T1:an med formatet Accesskod följt av skiljetecken och därefter TYYMMDDHHMMSSW se punkt 1) 3) Gör ett litet program där T1:an börjar med att ringa en mottagart1:a och skicka en kortare text med GoogolProtokollet. Det den samtidigt gör då är att den ställer klockan automatiskt mot mottagarens internklocka. Programmet kan bestå endast av tre rader: DIAL T01 K01 Googol) :LOOP GOTO LOOP snurrar till omstart. ;Ringer iväg kodmall 1 till telefonnummer 1 (använd ;Skapa programplats LOOP ;Går upp till LOOP här ligger den och 4) Via dator kan klockan ställas med hjälp av STX-ETX-protokollet. Kommandot T följt av samma format som ovan (YYMMDDHHMMSSW) ställer realtidsklockan i T1:an. 7

3.2 Användning av tid- och datumvariabler Om klockan väl är inställd korrekt finns det en rad olika tillfällen då det kan vara praktiskt att använda sig av de inbyggda tid- och datumvariablerna. Scenario: På en maskin sitter en T1:a som övervakar att allt går rätt till. För att veta att larmsändaren har linje och är i drift kan den på valfritt klockslag ringa iväg en gång per dygn och berätta att den fungerar som den ska. Vi vill att den skickar ett larm klockan 03:15 varje söndag eftersom maskinen ändå inte är i drift då. Kommer inte larmet bör det ses över innan maskinen sätts i drift på måndag morgon. Denna provlarmsfunktion skulle ha följande rader: 1 :STOP ;Skapar programplatsen STOP 2 IF WEEKDAY!=0 GOTO STOP ;Om veckodagen inte är 0 (söndag) ska den gå tillbaka till STOPP. Den kommer alltså inte vidare om det är någon annan dag. 3 IF HOUR!=03 GOTO STOP ;Är timmen inte 03 kommer den inte förbi det här villkoret heller. Nu måste alltså klockan vara 3 på en söndag. 4 IF MINUTE!=15 GOTO STOP ;Nästa villkor blir att minutvariabeln på T1:an måste vara 15. Den kommer att gå vidare i programmet först om klockan är 03:15 på en söndag. 5 DIAL R10 T01 K01 ;Klockan är 03:15 (söndag) och provlarmet skickas 6 :LOOP ;Återställningsprogramplats 7 IF MINUTE=15 GOTO LOOP ;Så länge minutvariabeln fortfarande är 15 väntar programmet här mellan 6 och 7 8 GOTO STOP ;En minut har gått och programmet kan gå tillbaka upp till början utan att fler larm skickas. 8

På samma sätt kan alla de olika variablerna användas för att ställa villkor. Ett annat fall där liknande programmering används är i fallet av jourpersonal. Då vill man att larmet ska gå till en personal vissa tider på dygnet eller vissa dagar i veckan och till annan personal vid andra tider. Delar ur ett program som kan visa på hur det skulle kunna programmeras. 3 IF WEEKDAY = 3 GOTO LASSE 4 IF WEEKDAY = 4 GOTO PELLE ;Är veckodagen onsdag ska larmet ringas iväg till Lasse ;Är veckodagen torsdag ska larmet ringas iväg till Pelle 15 :LASSE 16 DIAL T01 K02 17 GOTO ÅTERSTÄLLNING 25 :PELLE 26 DIAL T02 K02 27 GOTO ÅTERSTÄLLNING 9

4. Användningsområden Tidsloopar kan användas vid t.ex. Ingångsfördröjningar Undvika kontaktstudsar Undvika spikar/tillfälliga bortfall på spänningen Se till så att inte instabila telelinjer larmar hela tiden Provlarmsändningar med regelbundna intervall Pulsade utgångssignaler (t.ex. på en siren, eller pannvärmare) Variablerna som finns i GoogolScript kan t.ex. användas för Jourpersonalsscheman (sommarschema, helgpersonal, vissa dagar ) Provlarm på valbara klockslag Meddela tid och datum vid larmsändningar 10