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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 34

Thema: IR Empfänger für SPS

  1. #21
    Registriert seit
    29.08.2007
    Beiträge
    17
    Danke
    1
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Im Anhang die FuseBit Einstellung. Die bei mir läuft.
    Angehängte Grafiken Angehängte Grafiken

  2. #22
    Registriert seit
    29.08.2007
    Beiträge
    17
    Danke
    1
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hallo edison,
    im Anhang findest Du das abgeänderte Programm (txt -> hex). Nun werden die Ausgänge des µC nach einer kleinen Zeit zurückgesetzt.

    Übrigens würde ich gerne mal ein Bild von Deiner Platine sehen.


    Gruß
    Marcus
    Angehängte Dateien Angehängte Dateien

  3. Folgender Benutzer sagt Danke zu automationLab für den nützlichen Beitrag:

    edison (10.10.2007)

  4. #23
    Avatar von edison
    edison ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Ort
    Wuppertal
    Beiträge
    664
    Danke
    122
    Erhielt 105 Danke für 91 Beiträge

    Standard

    Wow, schon über 650 Hits auf diesen Thread - und dabei schreiben nur 2 Personen hinein.
    Scheint ja doch Interesse vorhanden zu sein.
    Aber wer outet sich schon, das Er eine SPS privat einsetzt.

    Mal ein kleiner Zwischenbericht:
    Schaltung ist Fertig, auf Lochrasterplatine aufgebaut und getestet.
    Programm auf dem Atmega aufgespielt und getestet.
    Alles zusammen provisorisch im Wohnzimmer montiert.
    S7 Programm ist in Arbeit.
    Angehängte Grafiken Angehängte Grafiken
    Die meisten Menschen sind zu gut erzogen, um mit vollem Mund zu sprechen, aber sie haben keine Bedenken, dies mit leerem Kopf zu tun.
    Wenn ich sage: Ich mache das, dann mache ich das - da braucht man mich auch nicht jedes halbe Jahr daran zu erinnern!

  5. Folgende 2 Benutzer sagen Danke zu edison für den nützlichen Beitrag:

    automationLab (11.10.2007),gerry_mobil (30.10.2007)

  6. #24
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Wie jetzt, die Kiste ist in deinem Wohnzimmer, was sagt deine Frau dazu?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #25
    Registriert seit
    09.06.2007
    Ort
    Coburg
    Beiträge
    72
    Danke
    34
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Wow, schon über 650 Hits auf diesen Thread - und dabei schreiben nur 2 Personen hinein.
    Scheint ja doch Interesse vorhanden zu sein.
    Aber wer outet sich schon, das Er eine SPS privat einsetzt.
    Ich hab ne S7-224 (Ich denke die reicht aus.vor allem vom platzaufwand) am laufen.Funst super hab ein TP177micro im Flur.
    Bin gerade an der Heizungssteuerung Planung (Steckdosen und Licht sind ja am Laufen) . Die Realisierung mit s7 ist wesentlich günstiger als wie eib.
    Die verkablung ist eben aufwendiger.
    MfG Andy

    Zitieren Zitieren Ich Oute mich...  

  8. #26
    Registriert seit
    29.08.2007
    Beiträge
    17
    Danke
    1
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Zitat Zitat von edison Beitrag anzeigen
    S7 Programm ist in Arbeit.
    Ich würde Das so machen:

    Programm
    Code:
    FUNCTION FC123 : INT
    TITLE = 'IR2PLC'
    VERSION : '0.1'
    AUTHOR  : AutoLab
    NAME    : IR2PLC
    FAMILY  : BASIC
    
    VAR_INPUT
      DB_No     :INT;           (* Nummer des Datenbausteins    *)      
      IRcmd0    :BOOL;  
      IRcmd1    :BOOL;  
      IRcmd2    :BOOL;  
      IRcmd3    :BOOL;  
      IRcmd4    :BOOL;  
      IRcmd5    :BOOL;  
      IRaktiv   :BOOL;
    END_VAR
    
    VAR_TEMP
      // temporäre Variablen
      myCMD       :INT;     (* Kommando von der IR-FB       *)
      myByteNo    :INT;     (* Bytenummer im DB             *)
      myBitNo     :INT;     (* Bitnummer  im DB             *)
      myDB_No     :WORD;    (* Datenbausteinnummer intern   *)
    
    END_VAR
    
      // Anweisungsteil
      myCMD := 0;
      IF IRcmd0 THEN myCMD := myCMD +  1; END_IF;
      IF IRcmd1 THEN myCMD := myCMD +  2; END_IF;  
      IF IRcmd2 THEN myCMD := myCMD +  4; END_IF;
      IF IRcmd3 THEN myCMD := myCMD +  8; END_IF;
      IF IRcmd4 THEN myCMD := myCMD + 16; END_IF;  
      IF IRcmd5 THEN myCMD := myCMD + 32; END_IF;  
    
      myByteNo := myCMD DIV 8;
      myBitNo  := myCMD MOD 8;
      myDB_No  := INT_TO_WORD(DB_No);
    
      WORD_TO_BLOCK_DB(myDB_No).DD[0] := 0;  
      WORD_TO_BLOCK_DB(myDB_No).DD[4] := 0;  
      WORD_TO_BLOCK_DB(myDB_No).DX[myByteNo, myBitNo] := IRaktiv;  
    
      IF NOT IRaktiv THEN 
        myCMD := -1;
      END_IF;
    
      FC123 := myCMD;
    END_FUNCTION
    Datenbaustein:
    Code:
    DATA_BLOCK "IR2PLC_DB"
    TITLE =
    VERSION : 0.1
      STRUCT    
        IRcmd00    : BOOL ; //IR Kommando 0    
        IRcmd01    : BOOL ; //IR Kommando 1    
        IRcmd02    : BOOL ; //IR Kommando 2    
        IRcmd03    : BOOL ; //IR Kommando 3    
        IRcmd04    : BOOL ; //IR Kommando 4    
        IRcmd05    : BOOL ; //IR Kommando 5    
        IRcmd06    : BOOL ; //IR Kommando 6    
        IRcmd07    : BOOL ; //IR Kommando 7    
        IRcmd08    : BOOL ; //IR Kommando 8    
        IRcmd09    : BOOL ; //IR Kommando 9    
        IRcmd10    : BOOL ; //IR Kommando 10    
        IRcmd11    : BOOL ; //IR Kommando 11    
        IRcmd12    : BOOL ; //IR Kommando 12    
        IRcmd13    : BOOL ; //IR Kommando 13    
        IRcmd14    : BOOL ; //IR Kommando 14    
        IRcmd15    : BOOL ; //IR Kommando 15    
        IRcmd16    : BOOL ; //IR Kommando 16    
        IRcmd17    : BOOL ; //IR Kommando 17    
        IRcmd18    : BOOL ; //IR Kommando 18    
        IRcmd19    : BOOL ; //IR Kommando 19    
        IRcmd20    : BOOL ; //IR Kommando 20    
        IRcmd21    : BOOL ; //IR Kommando 21    
        IRcmd22    : BOOL ; //IR Kommando 22    
        IRcmd23    : BOOL ; //IR Kommando 23    
        IRcmd24    : BOOL ; //IR Kommando 24    
        IRcmd25    : BOOL ; //IR Kommando 25    
        IRcmd26    : BOOL ; //IR Kommando 26    
        IRcmd27    : BOOL ; //IR Kommando 27    
        IRcmd28    : BOOL ; //IR Kommando 28    
        IRcmd29    : BOOL ; //IR Kommando 29    
        IRcmd30    : BOOL ; //IR Kommando 30    
        IRcmd31    : BOOL ; //IR Kommando 31    
        IRcmd32    : BOOL ; //IR Kommando 32    
        IRcmd33    : BOOL ; //IR Kommando 33    
        IRcmd34    : BOOL ; //IR Kommando 34    
        IRcmd35    : BOOL ; //IR Kommando 35    
        IRcmd36    : BOOL ; //IR Kommando 36    
        IRcmd37    : BOOL ; //IR Kommando 37    
        IRcmd38    : BOOL ; //IR Kommando 38    
        IRcmd39    : BOOL ; //IR Kommando 39    
        IRcmd40    : BOOL ; //IR Kommando 40    
        IRcmd41    : BOOL ; //IR Kommando 41    
        IRcmd42    : BOOL ; //IR Kommando 42    
        IRcmd43    : BOOL ; //IR Kommando 43    
        IRcmd44    : BOOL ; //IR Kommando 44    
        IRcmd45    : BOOL ; //IR Kommando 45    
        IRcmd46    : BOOL ; //IR Kommando 46    
        IRcmd47    : BOOL ; //IR Kommando 47    
        IRcmd48    : BOOL ; //IR Kommando 48    
        IRcmd49    : BOOL ; //IR Kommando 49    
        IRcmd50    : BOOL ; //IR Kommando 50    
        IRcmd51    : BOOL ; //IR Kommando 51    
        IRcmd52    : BOOL ; //IR Kommando 52    
        IRcmd53    : BOOL ; //IR Kommando 53    
        IRcmd54    : BOOL ; //IR Kommando 54    
        IRcmd55    : BOOL ; //IR Kommando 55    
        IRcmd56    : BOOL ; //IR Kommando 56    
        IRcmd57    : BOOL ; //IR Kommando 57    
        IRcmd58    : BOOL ; //IR Kommando 58    
        IRcmd59    : BOOL ; //IR Kommando 59    
        IRcmd60    : BOOL ; //IR Kommando 60    
        IRcmd61    : BOOL ; //IR Kommando 61    
        IRcmd62    : BOOL ; //IR Kommando 62    
        IRcmd63    : BOOL ; //IR Kommando 63    
                   
      END_STRUCT ;  
    BEGIN
        IRcmd00    := FALSE; 
        IRcmd01    := FALSE; 
        IRcmd02    := FALSE; 
        IRcmd03    := FALSE; 
        IRcmd04    := FALSE; 
        IRcmd05    := FALSE; 
        IRcmd06    := FALSE; 
        IRcmd07    := FALSE; 
        IRcmd08    := FALSE; 
        IRcmd09    := FALSE; 
        IRcmd10    := FALSE; 
        IRcmd11    := FALSE; 
        IRcmd12    := FALSE; 
        IRcmd13    := FALSE; 
        IRcmd14    := FALSE; 
        IRcmd15    := FALSE; 
        IRcmd16    := FALSE; 
        IRcmd17    := FALSE; 
        IRcmd18    := FALSE; 
        IRcmd19    := FALSE; 
        IRcmd20    := FALSE; 
        IRcmd21    := FALSE; 
        IRcmd22    := FALSE; 
        IRcmd23    := FALSE; 
        IRcmd24    := FALSE; 
        IRcmd25    := FALSE; 
        IRcmd26    := FALSE; 
        IRcmd27    := FALSE; 
        IRcmd28    := FALSE; 
        IRcmd29    := FALSE; 
        IRcmd30    := FALSE; 
        IRcmd31    := FALSE; 
        IRcmd32    := FALSE; 
        IRcmd33    := FALSE; 
        IRcmd34    := FALSE; 
        IRcmd35    := FALSE; 
        IRcmd36    := FALSE; 
        IRcmd37    := FALSE; 
        IRcmd38    := FALSE; 
        IRcmd39    := FALSE; 
        IRcmd40    := FALSE; 
        IRcmd41    := FALSE; 
        IRcmd42    := FALSE; 
        IRcmd43    := FALSE; 
        IRcmd44    := FALSE; 
        IRcmd45    := FALSE; 
        IRcmd46    := FALSE; 
        IRcmd47    := FALSE; 
        IRcmd48    := FALSE; 
        IRcmd49    := FALSE; 
        IRcmd50    := FALSE; 
        IRcmd51    := FALSE; 
        IRcmd52    := FALSE; 
        IRcmd53    := FALSE; 
        IRcmd54    := FALSE; 
        IRcmd55    := FALSE; 
        IRcmd56    := FALSE; 
        IRcmd57    := FALSE; 
        IRcmd58    := FALSE; 
        IRcmd59    := FALSE; 
        IRcmd60    := FALSE; 
        IRcmd61    := FALSE; 
        IRcmd62    := FALSE; 
        IRcmd63    := FALSE; 
    END_DATA_BLOCK
    Dann kannst Du im restlichen Programm einfach mit dem BOOL aus dem DB arbeiten als wäre es ein Taster.

  9. Folgender Benutzer sagt Danke zu automationLab für den nützlichen Beitrag:

    edison (13.10.2007)

  10. #27
    Avatar von edison
    edison ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Ort
    Wuppertal
    Beiträge
    664
    Danke
    122
    Erhielt 105 Danke für 91 Beiträge

    Standard

    Die Empangenen Codes als Bits in einem DB aufzuschlüsseln finde ich eine schöne Sache, Danke
    Darauf war ich noch garnicht gekommen.
    IF IRcmd1 THEN myCMD := myCMD + 2; END_IF;
    Feine Sache
    SCL beherrsche ich leider nicht somit hab ich meine FC in AWL geschrieben.
    Hier mal mein Code, auf das Auswerten der Adresse hab ich erstmal verzichtet ggfs. später.
    Code:
    FUNCTION "IR2PLC" : VOID
    TITLE =
    VERSION : 0.1
     
    VAR_INPUT
      EW : WORD ; //Eingangswort IR2PLC
    END_VAR
    VAR_OUTPUT
      Adresse : BYTE ; 
      Befehl : BYTE ; 
    END_VAR
    VAR_TEMP
      eing : WORD ; 
      Bef : BYTE ; 
      Adr : BYTE ; 
      Taste_aktiv : BOOL ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =Fernbedienungscodes einlesen und auswerten
    //Befehl auslesen
          L     #EW; 
          SLW   2; 
          SRW   10; 
          T     #Bef; 
    //Adresse auslesen
          L     0; 
          T     #Adr; 
          L     #EW; 
          SRW   14; 
          T     #Adr; 
          L     #EW; 
          SLW   13; 
          SRW   13; 
          L     #Adr; 
          +I    ; 
          T     #Adr; 
    //Tastendruck aktiv
          L     #EW; 
          T     #eing; 
          U     L      1.3; 
          SAVE  ; 
    //Ausgang schreiben
          U     L      1.3; 
          SPBNB high; 
          L     #Adr; 
          T     #Adresse; 
          L     #Bef; 
          T     #Befehl; 
          SPA   end; 
    high: NOP   0; 
          L     0; 
          T     #Adr; 
          T     #Befehl; 
    end:  NOP   0; 
    NETWORK
    TITLE =Befehle auswerten
          L     #Bef; 
          L     16; 
          ==I   ; 
          U     L      1.3; 
          =     "IR_Empfangsbits".Licht_auf; 
          L     #Bef; 
          L     17; 
          ==I   ; 
          U     L      1.3; 
          =     "IR_Empfangsbits".Licht_ab; 
          L     #Bef; 
          L     32; 
          ==I   ; 
          U     L      1.3; 
          =     "IR_Empfangsbits".Rollaeden_auf; 
          L     #Bef; 
          L     33; 
          ==I   ; 
          U     L      1.3; 
          =     "IR_Empfangsbits".Rollaeden_ab; 
          L     #Bef; 
          L     13; 
          ==I   ; 
          U     L      1.3; 
          =     "IR_Empfangsbits".Licht_aus; 
     
    END_FUNCTION
    Die meisten Menschen sind zu gut erzogen, um mit vollem Mund zu sprechen, aber sie haben keine Bedenken, dies mit leerem Kopf zu tun.
    Wenn ich sage: Ich mache das, dann mache ich das - da braucht man mich auch nicht jedes halbe Jahr daran zu erinnern!

  11. #28
    Avatar von edison
    edison ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Ort
    Wuppertal
    Beiträge
    664
    Danke
    122
    Erhielt 105 Danke für 91 Beiträge

    Standard

    Wie jetzt, die Kiste ist in deinem Wohnzimmer, was sagt deine Frau dazu?
    Die macht da das Licht an oder öffnet die Rolläden - und ist der Meinung, das da doch noch ein paar Funktionen mehr machbar sein sollten

    Das Ganze funktioniert jetzt bald schon seit 4 Wochen und der Wunsch kommt auf, das will ich auch im Arbeitszimmer, Schlafzimmer,...
    Doch da werden dann doch die benötigten Eingänge knapp - war ja klar.

    @AutomationLab
    Wie wärs mit einer Version, bei der die SPS einen Takt vorgibt und der Atmega sendet über einen Ausgang seriell die Empfangenen Bits?
    Die meisten Menschen sind zu gut erzogen, um mit vollem Mund zu sprechen, aber sie haben keine Bedenken, dies mit leerem Kopf zu tun.
    Wenn ich sage: Ich mache das, dann mache ich das - da braucht man mich auch nicht jedes halbe Jahr daran zu erinnern!

  12. #29
    Registriert seit
    28.07.2009
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Leute,

    habe heute diesen thread hier entdeckt und frage mich inwieweit eure Sachen nun noch laufen...gibts Weiterentwicklungen? Ist gar jemand auf die Idee gekommen das ganze auf ne richtige Platine zu routen und fertigen zu lassen? Wäre schöne wenns das Ding fertig programmiert gäbe, so daß man es nur noch an die SPS schließen muß....

    Grüße

    BigStephan
    Zitieren Zitieren Lebt das noch?  

  13. #30
    Avatar von edison
    edison ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.01.2006
    Ort
    Wuppertal
    Beiträge
    664
    Danke
    122
    Erhielt 105 Danke für 91 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Weiterentwicklung keine, funktioniert aber nach wie vor prächtig
    Die meisten Menschen sind zu gut erzogen, um mit vollem Mund zu sprechen, aber sie haben keine Bedenken, dies mit leerem Kopf zu tun.
    Wenn ich sage: Ich mache das, dann mache ich das - da braucht man mich auch nicht jedes halbe Jahr daran zu erinnern!

Ähnliche Themen

  1. Wago 750-841 mit Funksender, Empfänger Steuern
    Von Lekta im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 20.10.2011, 09:20
  2. Messtaster und Empfänger / Marposs / komplett
    Von Runfun im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 16.10.2011, 22:31
  3. suche Sender und Empfänger für 4-20mA
    Von Jelly im Forum Suche - Biete
    Antworten: 1
    Letzter Beitrag: 08.01.2009, 12:09
  4. Antworten: 5
    Letzter Beitrag: 22.01.2005, 09:55

Lesezeichen

Berechtigungen

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