Bewegungsmelder

Begonnen von ulrichkuhn, 25. Oktober 2016, 11:11:12

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

ulrichkuhn

Lieber Forumsteilnehmer,

zunächst freue ich mich, hier zu sein und möchte mich und mein Projekt kurz vorstellen.
Als Kinder- und Jugendarzt habe ich in unserem Haus beim Bau 2007 die Verkabelung komplett selbst gemacht.
Für die Verteilung vom Hausanschluss zu meinen drei Unterverteilern hatte ich die Hilfe eines Elektrikers, den Aufbau der Unterverteiler inklusive Anschluss der SPS habe ich dann zusammen mit einerm Freund (Elektro-Ingenieur) gemacht.
Meine SPS besteht aus einem CX1000 in der "Zentrale" und zwei BC9000 bzw. BC9100 in den zwei "Filialen".
Die Programmierung habe dann wieder ich übernommen - bis dahin ohne Programmiererfahrung.
Soweit hat alles geklappt. Bisher laufen aber (nur) Lichter und Rolladen über die SPS. Verkabelungen für weiter Aufgaben sind eingeplant und vorhanden, aber noch nicht genutzt.
Jetzt wird erstmals ein Bewegungsmelder zur Schaltung einer Lampe benötigt.
Und da kommen meine Fragen ... ???
Was ich habe (auch schon angeschlossen) ist ein Infrarot Alarmmelder mit 12 V DC Versorgung (funktioniert) und beim "Alarm"schaltkreis für 24V DC eine C -  und eine NC-Klemme.
Wenn ich nun C mit 24 V und NC mit der Eingangsklemme verbinde und über switch-I ins Projekt einbinde, geht das (Dauer-)Licht bei Bewegung aus.
Das ist schonmal ein Ergebnis - aber nicht das, das ich möchte.
Wenn ich die Polung vertausche geht es zwar an, aber auch bei fehlender Bewegung schnell wieder aus. Auf T_on_max gibt es keine Reaktion.
Nach längerer Suche habe ich leider keine Lösung gefunden, die mir weiterhilft.
Deshalb meine Bitte hier: Kann mir als Low level -User jemand dabei weiter helfen?

Beste Grüße

Ulrich


mattsches

Hallo Ulrich,

was macht denn das Peripheriesignal selbst (=der Digitaleingang)? Geht es bei erkannter Bewegung auf TRUE oder auf FALSE?

Abhängig davon, und in Unterstellung, dass du lediglich bei nach erkannter Bewegung die Lampe weiter für eine gewisse Zeit eingeschaltet lassen möchtest. Das nennt sich Ausschaltverzögerer. Realisieren kannst du das ganz einfach über einen TOF-Baustein (nicht OSCAT, sondern Teil der Standard-Lib).

Wenn dein Eingang bei Bewegung auf TRUE geht, einfach unverändert an den TOF (IN) übergeben und den Ausgang Q auf den Digitalausgang für die Lampe schalten. Wenn der Eingang bei Bewegung auf FALSE geht, diesen vor Übergabe an den TOF invertieren (in CFC über das Kontextmenü am Bausteineingang, in ST mittels NOT).

Hilft dir das weiter?

Gruß,
mattsches

ulrichkuhn

Hallo Mattsches,

das gibt mir schonmal eine Idee. Ich schaue mal, ob ich weiter komme.
Nur mit CFC und ST als Abkürzungen kann ich nichts anfangen.
Könntest Du mir das bitte noch auflösen.

Danke

Ulrich

mattsches

CFC = Continuous Flow Chart
ST = Structured Text

Verschiedene Programmiersprachen, die (neben anderen) in CODESYS/TwinCAT unterstützt werden.

In welcher Sprache hast Du denn Deine Haussteuerung programmiert? Letztlich ist es egal, was man nimmt, den o. g. Baustein kannst Du in jeder der verfügbaren Sprachen nutzen.

Gruß,
mattsches

ulrichkuhn

Alles klar, jetzt weiß ich, was Du meinst.
Das dürfte bei mir dann wohl ST sein.
Verstehe ich das richtig, dass ich dann bei TOF, wenn der Eingang für den BWM (E_BWM) permanent an und nur bei Bewegung aus ist schreibe:

in:= NOT E_BWM

und dann wird das Licht eingeschaltet, wenn der Eingang ausgeht?

Grüße

Ulrich

mattsches

Genau. Z. B. so:


VAR
tofBewegungsmelder : TOF;
END_VAR



tofBewegungsmelder(IN:= NOT E_BWM , PT:= t#1m, Q=> A_LAMPE, ET=> );


Damit hast du halt keine zusätzliche Steuermöglichkeit über Taster, die Lampe geht ausschließlich über den Bewegungsmelder an (hier beispielhaft für eine Minute) - das ist also die puristische Variante, ohne OSCAT.

Alternativ könntest Du doch den SWITCH_I nehmen, hängst an dessen SET-Eingang den mittels NOT invertierten E_BWM und an IN einen Taster. Dann funktioniert T_on_max als Ausschaltverzögerer für den BWM, so wie oben. Über den Taster könntest Du zusätzlich die Lampe ein- oder ausschalten. Wobei sie auch nach manuellem Einschalten nach derselben Zeit T_on_max wie beim BWM wieder abschaltet.

Gruß,
mattsches

ulrichkuhn

Hallo Mattsches,

heureka, es tut!

Vielen Dank.

Grüße

Ulrich