FS20 PIRA Befehlsproblem mit Studio

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Antworten
leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

FS20 PIRA Befehlsproblem mit Studio

Beitrag von leknilk0815 » 20.01.2009, 18:31

Servus,
ich hab einen FS20 PIRA, der bei Auslösung im Sekundenabstand 5 Bilder über eine Kamera auslöst (via DOS- Batch).
Das funktioniert. Allerdings passiert es gelegentlich, daß der Funkbefehl verlorengeht. Deshalb dachte ich mir, aktivierst du einfach den zweiten Kanal des PIRA, gibst ihm die gleiche Adresse wie Kanal 1, dann kommen 2 Funkbefehle nacheinander. Funktioniert auch. Aber nun macht die Kamera statt 5 Bildern deren 10, da sie ja 2x ausgelöst wird.
Was kann ich an dem Makro ändern, daß immer nur ein Funkbefehl verarbeitet wird, wenn zwei nacheinander kommen?

Hier das Makro des PIRA:

wenn FS20PIRAK11 eingeschaltet dann
Starte Windows-Programm ("C:\livebilder\Door\wcopy.bat")
wenn-Block-Ende

Danke!
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von buempi » 20.01.2009, 19:31

Hallo Toni

Ich denke, am einfachsten ist es, die Schaltzeit zu verwenden. Das ist eine Variable CT (change time), die es in allen Objekten gibt, die sich verändern können. Damit es funktioniert, muss aber der PIRA auch wieder ausgeschaltet werden:

Code: Alles auswählen

wenn FS20PIRAK11 eingeschaltet und Stoppzeit(FS20PIRAK11.ct) < "00:00:02" dann
   Starte Windows-Programm ("C:\livebilder\Door\wcopy.bat")
   warte("00:00:03")
wenn-Block-Ende
FS20PIRAK11 ausschalten
Viele Grüsse
Bümpi

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von leknilk0815 » 20.01.2009, 19:44

Servus Bümpi,
besten Dank, werd ich ausprobieren.
Ich hab mir derweilen so beholfen, daß ich vor dem Windowsbefehl 1s Wartezeit eingefügt habe.
Scheint zu funktionieren...
Ich melde mich wieder mit dem Ergebnis. Jetzt muss ich mein NB runterfahren, weil die Festplatte am abnippeln ist. Also schnell ein Image ziehen (USB 1.1...gähn)
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von buempi » 20.01.2009, 19:53

Hallo Toni

Ich weiss zwar nicht, was "abnippeln" bedeutet, aber deine Lösung mit dem WARTE vor dem Windows-Befehl funktioniert bestimmt genau so gut. Nur, dass man dann eben etwas auf die Bilder warten muss.

Viele Grüsse
Bümpi

Benutzeravatar
squeeezer
Beiträge: 545
Registriert: 17.07.2006, 00:00
Wohnort: Idstein

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von squeeezer » 22.01.2009, 00:10

ein herzlich-hessisches "gude" (=guten tag) bümpi ...

jaja, die schweizer :-) ... abnippeln (oder hessisch "abnibbele") meint, dass leknilk's festplatte kurz vor einem defekt steht und er schnell noch eine datensicherung brauch, bevor sie ganz den geist aufgibt ... (aber das nur am rande)

@leknilk ... ich habe das grundsätzlich auch so gemacht bei allen empfängern, die 2 kanäle haben. die entsprechenden makros sind alle mit einer 1-sek-warte-anweisung versehen (was sich allerdings fast immer verschmerzen lässt). da ein erneutes senden der sender das makro neu startet, ist das - denke ich - die einfachste lösung ...

viele grüße ...
... squeeezer

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von Sanys » 22.01.2009, 08:13

Hallo Toni,

das Problem müßte auch so zu lösen sein:

Code: Alles auswählen

wenn Stoppzeit(FS20PIRAK11.ct) > "00:00:02" dann
Startwin ("C:\livebilder\Door\wcopy.bat")
wenn-Block-Ende
warte 00:00:03
FS20PIRAK11 ausschalten
das hat den Effekt, das das Makro immer angestossen wir, sobald der PIRA sendet. Allerdings wird das Windows-Programm nur gestartet, wenn der PIRA in den letzten 2 sec NICHT gesendet hat. Somit wird bei 2 kurz hintereinander empfangenen Signalen (d.h. beide Kanäle habe gesendet und wurden empfangen) nur die erste Sendung ausgewertet, und falls nur ein Signal durchkommt dann eben dieses. Da der Mindestsendeabstand des PIRA sowieso 8 sec ist sollte die Bedingung ">2sec" bei 2 erkannten Bewegungen auf jeden Fall erfüllt sein.

Probiers mal aus und lass es uns wissen.

ABER: Beide Kanäle benutzen heißt auch: Die Batterie leert sich schneller....... und darüber gibt es ja auch einige INfos im Forum :wink:

Viel Erfolg!


sanys
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von buempi » 22.01.2009, 09:45

Hallo zusammen

Wenn der Bewegungsmelder ausgeschaltet war und Bewegung meldet, ist die "Stoppzeit CT" IMMER kleiner als 2 Sekunden. Die DOS-Batch würde nie ausgeführt... Deshalb wird auch mein Makro nicht funktionieren, weil da die DOS-Batch einfach IMMER ausgeführt wird.

Das wäre noch eine Lösung:

Code: Alles auswählen

wenn Stoppzeit(FS20PIRAK11.ct) < "00:00:02" dann
   FS20PIRAK11.ct := Zeit - "00:00:05"
   Startwin ("C:\livebilder\Door\wcopy.bat")
wenn-Block-Ende

warte("00:00:03")
FS20PIRAK11 ausschalten
Die Abfrage, ob FS20PIRAK11 eingeschaltet ist in meinem ersten Vorschlag kann man tatsächlich weglassen. Der Bewegungsmelder sendet ja nur EIN-Signale.

Viele Grüsse
Bümpi

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Re: FS20 PIRA Befehlsproblem mit Studio

Beitrag von Sanys » 29.01.2009, 18:36

Hallo Toni,

um nochmal zum Thema zurückzukommen: Buempi hat vollkommen recht, bei meiner Lösung wird die Batch-Datei nie ausgeführt, da ja jedesmal beim Empfang die FS20PIRAK11.ct neu gesetzt wird. Also muß man den letzten Sendezeitpunkt zwischenspeichern und diesen vergleichen.
Das sieht dann so aus:
Variable LetzteSendung vom Typ Uhr im Objekt anlegen.

Code: Alles auswählen

WENN Stoppzeit(LetzteSendung) > "00:00:02" DANN
  Startwin ("C:\livebilder\Door\wcopy.bat")
  Startuhr(LetzteSendung)
ENDEWENN

warte 00:00:03
FS20PIRAK11 ausschalten
angenommen Studio wird neu gestartet und der Pira hat noch nicht gesendet: Die Variable LetzteSendung enthält die Uhrzeit vom Studiostart.
Sendet der Pira wird verglichen: ist die Zeitdifferenz von Jetzt und der gespeicherten Zeit in LetzteSendung größer als 2 sec? Ja, davon kann man jetzt ausgehen also Startwin ausführen. Danach wird wiederum die aktuelle Zeit in die Variable LetzteSendung gespeichert und dann 3 sec gewartet. Wenn der Pira nun das 2te mal sendet wird der Wartebefehl abgebrochen und das Makro erneut gestartet. Nun ist aber die Bedingung falsch, da die Zeitspanne ja nur Millisekunden ist, also wird der Startwin-Befehl und das erneute setzen der Variable übersprungen. Nun dauert es ja mindestens die bekannten 8 sec (kleinster einstellbarer Sendeabstand des Pira), somit ist die Bedingung beim ersten Empfang des Pira-Signals immer erfüllt und Startwin wird ausgeführt.
Das ist die Version, bei der gleich ausgeführt wird ihne zu warten.
Wenn Du magst probier es mal aus, würde mich über Feedback freuen.

Viel Erfolg !!


sanys
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“