Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: Enocean: Eltako Minihandsender FMH1W-sz auswerten

  1. #1
    Registriert seit
    21.06.2012
    Beiträge
    113
    Danke
    29
    Erhielt 6 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich bin gerade dabei den Eltako Minihandsender FMH1W-sz (https://www.enocean-alliance.org/de/...held_fmh1w-sz/) an meiner WAGO 750-881 anzubinden.
    Ich möchte eigentlich nur den Tastendruck auf den Handsender auswerten ...

    Die ID des Minihandsender konnte ich schon mittels dem FB FbShow_ID_By_Click ermitteln.
    Jedoch fehlt mir irgendwie in der Enocean_05.lib ein FB zum Auswerten eines "einzelnen" Clicks?!

    Ich hab jetzt mal einfach den FB FbEnocean_1BYTE_Receive verwendet, der mir auch bei einem Click auf den Handsender eine 16 am Ausgang bDataByte liefert.

    Jedoch scheint mir das jetzt nicht wirklich die sauberste Lösung zu sein!
    Hat hier vielleicht jemand eine bessere Lösung?
    Bzw. was soll ich in dem Fall verwenden? Die anderen FB für Taster sind für 2 oder mehr Kanäle gemacht ...

    @WagoSupport: Irgendwie wäre es oft recht hilfreich, wenn man die Source zu den FB aus den Gebäude-Libs (wie z.B. der Enocean_05.lib) einsehen könnte!
    Zitieren Zitieren Enocean: Eltako Minihandsender FMH1W-sz auswerten  

  2. #2
    Registriert seit
    29.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    136
    Danke
    7
    Erhielt 67 Danke für 20 Beiträge

    Standard

    Hallo

    Wago bietet dir einige, auf bestehende Produkte, vorgefertigte „Funktionsbausteine“.
    Das Produktportfolio der Hersteller, welche EnOcean Produkte anbieten, wächst von Jahr zu Jahr.
    Daher bitten wir um Verständnis, dass wir nicht zu jedem Hersteller und Produkttypen einen separaten Funktionsbaustein erstellen können.

    Die Wago Bibliothek „EnOcean_05.lib“ stellt dir unter dem Kapitel Rohdaten, den von dir bereits angesprochenen Funktionsbaustein, „FbEnOcean_1Byte_Recieve“ zur Verfügung.
    Dieser Baustein gibt dir die Nutzdaten aus dem „Databyte 3“ eines „1BS“- oder „RPS“ Telegramm aus.

    Leider liegen uns keine genaueren Produktinformationen vor. Daher könnte man nur die Informationen direkt von „Eltako“ anfordern.

    Oder du wertest das Schaltverhalten anhand der Informationen aus dem „Databyte 3“, im Schaltmoment, direkt aus.
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com

    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

  3. #3
    dast ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.06.2012
    Beiträge
    113
    Danke
    29
    Erhielt 6 Danke für 5 Beiträge

    Standard

    Zitat Zitat von .:WAGO::016347:. Beitrag anzeigen
    Hallo

    Wago bietet dir einige, auf bestehende Produkte, vorgefertigte „Funktionsbausteine“.
    Das Produktportfolio der Hersteller, welche EnOcean Produkte anbieten, wächst von Jahr zu Jahr.
    Daher bitten wir um Verständnis, dass wir nicht zu jedem Hersteller und Produkttypen einen separaten Funktionsbaustein erstellen können.

    Die Wago Bibliothek „EnOcean_05.lib“ stellt dir unter dem Kapitel Rohdaten, den von dir bereits angesprochenen Funktionsbaustein, „FbEnOcean_1Byte_Recieve“ zur Verfügung.
    Dieser Baustein gibt dir die Nutzdaten aus dem „Databyte 3“ eines „1BS“- oder „RPS“ Telegramm aus.

    Leider liegen uns keine genaueren Produktinformationen vor. Daher könnte man nur die Informationen direkt von „Eltako“ anfordern.

    Oder du wertest das Schaltverhalten anhand der Informationen aus dem „Databyte 3“, im Schaltmoment, direkt aus.
    Vielen Dank! Ich habe mir inzwischen auch schon die Struktur typEnocean etwas näher angesehen, das vom FB FbEnoceanReceive zurückgegeben wird.
    Hier sehe ich z.B. im Schaltmoment im Databyte 3 den Wert 16 (0x10), was vermutlich "Energie Bow Pressed" bedeutet.
    Was ich weiter sehen konnte ist, dass der Member .NU von FALSE auf TRUE wechselt und das .ToggelBit von TRUE auf FALSE.
    Was das .NU bedeutet habe ich aus der Enocean Spezifikation entnommen.

    Jedoch fehlt mir noch die Information was das .ToggelBit bedeutet!

    Bzw. zu: "Oder du wertest das Schaltverhalten anhand der Informationen aus dem „Databyte 3“, im Schaltmoment, direkt aus."
    Wann ist der Schaltmoment? Ist dazu vielleicht das .ToggelBit?

    EDIT: Entspricht das .ToggelBit vielleicht dem bReceive in der Enocean-Lib von Beckhoff (http://infosys.beckhoff.com/content/...c.htm?id=25377)?
    ...
    bReceive: Bei empfangenem EnOcean Telegramm wird dieser Wert für einen Zyklus auf FALSE gesetzt.
    Geändert von dast (04.09.2015 um 15:12 Uhr)

  4. #4
    dast ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.06.2012
    Beiträge
    113
    Danke
    29
    Erhielt 6 Danke für 5 Beiträge

    Standard

    Zitat Zitat von dast Beitrag anzeigen
    ...
    Jedoch fehlt mir noch die Information was das .ToggelBit bedeutet!

    Bzw. zu: "Oder du wertest das Schaltverhalten anhand der Informationen aus dem „Databyte 3“, im Schaltmoment, direkt aus."
    Wann ist der Schaltmoment? Ist dazu vielleicht das .ToggelBit?

    EDIT: Entspricht das .ToggelBit vielleicht dem bReceive in der Enocean-Lib von Beckhoff (http://infosys.beckhoff.com/content/...c.htm?id=25377)?
    ...
    bReceive: Bei empfangenem EnOcean Telegramm wird dieser Wert für einen Zyklus auf FALSE gesetzt.
    Jetzt hab ichs selber herausgefunden ...
    Das .ToggelBit ist initial auf FALSE gesetzt und wechselt bei jedem empfangenem Enoceam-Telegramm seinen Zustand. Heißt also, der Schaltmoment entspricht genau einem Zustandswechsel von .ToggelBit.

    Ist auch in den Kommentaren der typEnocean Struktur in der Enocean_05.lib zu finden:

    STRUCT
    MSG_Type : BYTE:=0; (* ORG: 5-> RPS; 6->1BS; 7-> 4BS; 8-> HRC *)
    ID : DWORD:=0; (* Transmitter ID *)
    Data_Byte_0 : BYTE:=0; (* DATA_BYTE0*)
    Data_Byte_1 : BYTE:=0; (* DATA_BYTE1*)
    Data_Byte_2 : BYTE:=0; (* DATA_BYTE2*)
    Data_Byte_3 : BYTE:=0; (* DATA_BYTE3*)
    T21 : BOOL:=FALSE; (* PTM switch module of type 1 / 2 *)
    NU : BOOL:=FALSE; (* U-message / N-message *)
    RP_Counter : BYTE:=0; (* Repeater level *)
    ToggelBit : BOOL:=FALSE; (* Flag for telegram updates*)
    Status : BYTE:=0; (* Status byte*)
    xBusy : BOOL:=FALSE; (* Sendeauftrag aktiv*)
    xStartSend : BOOL:=FALSE; (* Flag for send activation*)
    bAddress : BYTE:=0; (* Slave Adress for multiple receiver *)
    END_STRUCT

  5. #5
    dast ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.06.2012
    Beiträge
    113
    Danke
    29
    Erhielt 6 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So, hab das ganze jetzt mal in einen FB gepackt:

    Code:
    FUNCTION_BLOCK FbEltakoFMH1Wsz
    
    VAR_INPUT
        typEnocean    : typEnocean;    (* Input data from "FbEnoceanReceive" *)
        dwID        : DWORD := 0;    (* ID of the switch *)
    END_VAR
    
    VAR_OUTPUT
        xButton        : BOOL := FALSE;
    END_VAR
    
    (*Internal use only*)
    VAR
        xOldMsgToggelBit    : BOOL := FALSE;    (* save current telegram update flag *)
    END_VAR
    
    xButton := FALSE;
    IF typEnocean.ToggelBit <> xOldMsgToggelBit THEN
        IF typEnocean.ID = dwID AND typEnocean.MSG_Type = 5 AND typEnocean.T21 THEN
            IF typEnocean.NU AND typEnocean.Data_Byte_3 = 16 THEN
                xButton := TRUE;
            END_IF;
        END_IF;
        xOldMsgToggelBit := typEnocean.ToggelBit;
    END_IF;
    Empfängt der FB ein Enocean-Telegramm mit der entsprechenden ID, wird nachgesehn,
    ob der "Energie Bow" gedrückt wurde. Falls ja, wird für einen Zyklus am Ausgang xButton
    ein Impuls erzeugt, welcher dann weiter ausgewertet werden kann.

    Der Handsender sendet sowohl ein Telegramm beim Drücken, als auch beim Loslassen.
    Zuerst wollte ich diesen "gedrückt gehalten" Zustand auf den Ausgang xButton abbilden.
    Also solange der "Energie Bow" gedrückt, solange ist xButton auf TRUE.
    Kleines Problem hierbei ist, dass es sein kann dass man beim Loslassen des Handsenders
    außerhalb des Empfangsbereiches kommt und dieses Telegramm dann verloren geht.
    D.h. man bekommt das "Loslassen" Kommando nicht mehr mit .

    Da ich aber eh nur auf einen Klick reagieren muss, hab ich das eben wie oben beschrieben
    gemacht ...
    Geändert von dast (05.09.2015 um 17:34 Uhr)

Ähnliche Themen

  1. Step 7 Eltako Multisensor MS an S7
    Von the_elk im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 15.10.2015, 16:53
  2. Sonstiges ELTAKO und SPS S7
    Von emilio20 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 05.07.2015, 21:33
  3. Biete: Wago / Eltako
    Von kenzo im Forum Suche - Biete
    Antworten: 1
    Letzter Beitrag: 03.02.2015, 23:15
  4. Wago / Eltako
    Von kenzo im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 28.09.2013, 13:33
  5. Eltako Funktion
    Von BMLLER6758 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 31.12.2004, 02:45

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •