Programmbaustein mit RS232 Stream

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Programmbaustein mit RS232 Stream

    Hallo,

    ich versuche mit dem Programmbaustein die RS232 Schnittstelle anzusprechen und Daten zu schreiben. Beim Testprogramm werden alle Ausgänge geschalten aber ich bekomme keine Ausgabe über RS232.

    Wenn ich einen TCP Stream statt RS232 verwende funktioniert alles wie gewünscht.

    Der Name der RS232 Extension sollte auch passen, jedenfalls hab ich ihn dort unter "Bezeichnung" eingetragen. Ich verwende mit der selben Extension auch noch Aktoren und Sensoren, diese funktionieren auch.

    Version: 8.1.11.11

    Code:
    //STREAM* pRs232Stream = stream_create("/dev/tcp/10.0.0.15/55056",0,0); // funktioniert
    STREAM* pRs232Stream = stream_create("/dev/tty/rs232",0,0);
    
    int nEvents;
    int count = 0;
    int gesendet = 0;
    
    while(1) {
    
        char broadcast_id = (char)getinput(0);
        char status_abfrage = (char)getinput(1); 
    
        nEvents = getinputevent();
        if ( nEvents & 0x10 ) {
    
            if( pRs232Stream != NULL ) {
    
                //stream_write(pRs232Stream,"status",6);
                //stream_flush(pRs232Stream);
    
                if( broadcast_id == 0x00 ) gesendet = stream_write(pRs232Stream, "\x02\x07\x11\x00\x00\x00\x1A", 7);
                if( broadcast_id == 0x01 ) gesendet = stream_write(pRs232Stream, "\x02\x07\x11\x01\x00\x00\x1B", 7);
                if( broadcast_id == 0x02 ) gesendet = stream_write(pRs232Stream, "\x02\x07\x11\x02\x00\x00\x1C", 7);
                if( broadcast_id == 0x03 ) gesendet = stream_write(pRs232Stream, "\x02\x07\x11\x03\x00\x00\x1D", 7);
    
                stream_flush(pRs232Stream);
    
                setoutput(0, broadcast_id);
                setoutput(1, count++);
                setoutput(2, gesendet);
    
            }
    
        }
    
        sleep(10);
    
    }
    stream_close(pRs232Stream);
  • Gast

    #2
    Kann man an RS232 Schnittstellen mit dem Programmbaustein überhaupt schreiben?

    Hab bis jetzt nur Examples und funktionierende Projekte gesehen bei denen gelesen wird.

    LG Robert

    Kommentar

    • Jan W.
      Lox Guru
      • 30.08.2015
      • 1369

      #3
      Mit RS232 Streams hatte ich bisher nichts zu tun, aber mit "0x00" schon. Vielleicht ist das auch hier das Problem, dass der String, den Du definiert hast mit "0x00" aufhört. Probier es mal mit folgender Variante https://www.loxforum.com/forum/softw...00-hexadecimal

      Gruß Jan
      Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
      Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
      Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
      Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
      Node-RED: IKEA Tradfri

      Kommentar

      • Gast

        #4
        Zitat von robbterr
        Kann man an RS232 Schnittstellen mit dem Programmbaustein überhaupt schreiben?...
        Man solte ja erwarten können, daß es zumindest bei Loxone jemand gibt, der da eine Aussage treffen kann und ggf. gleich noch Examples mitliefert.
        Schaden kann es ja nichts, frage doch einfach 'mal dort an :-)

        Kommentar

        • Gast

          #5
          Hier die Auskunft des Loxone Supports:

          Danke für Ihre Rückmeldung,

          das Schreiben in den RS232 Bus direkt per Programmbaustein ist nicht möglich. Dies muss mit einen Aktor oder Auch Textaktor gemacht werden.
          Damit hat sich das wohl erledigt

          Danke an Alle!

          Kommentar

          Lädt...