Ankündigung

Einklappen
Keine Ankündigung bisher.

Zennio SKX Open RS 232

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

    [Codebeispiel] Zennio SKX Open RS 232

    Hallo!
    Brauchte dringend Hilfe zur oben ganannten Schnittstelle.

    Ich muß mit der Schnittstelle einen Denon DNC 620 Cd Player über den Bus steuern. Der CD Player hat einen RS232C Schnittstelle und ist für die Bedienung mittels der Schnittstelle ausgelegt.

    Bei der SKX Open habe ich die im Handbuch des CD Players beschriebenen Codes eingetragen. Bsp.: Befehl Titel nr. 5> @22005CR Das CR dient als Datensatzbeschränkung. Laut SKX Open Beschreinbung (leider nur in Englisch) steht aber das man nur 0 bis 9 oder A bis F eingeben kann. Muß ich den Code in Hexadezimal umrechnen?
    Angehängte Dateien

    #2
    Hallo Kolbitsch,

    ja, du musst das ASCII Format in Hexadezimalformat wandeln.
    Das CR steht für "carriage return" und ist eigentlich nur ein Enter.
    Mit Hilfsprogrammen für die serielle Schnittstelle lassen sich die Steuercodes
    wie im ETS Busmonitor darstellen, z.B. mit
    Docklight
    Docklight RS232 Terminal / RS232 Monitor - A Development Tool For Serial Communication Protocols
    oder
    DataViewer
    Extron Download Center
    lassen sich recht schnell die richtigen Codes ermitteln und in andere Zahlenformate umwandeln.

    Viel Spass beim testen,

    Kommentar


      #3
      Hallo Kolbitsch,
      die SKX-Open können nur Hexadezimalcodes verarbeiten. Evtl. wärest Du mit der Applikation SKX Advance (neu) besser bedient, da diese zum einen auch 1 Byte und 14 Byte Objekte senden/empfangen kann, und zum anderen durch die Benutzung von Spezialzeichen Subframes, Variablen, Kopfzeilen und Fusszeilen benutzt werden können. So kann die Gesamtlänge eines Strings bis zu 29 Byte in Hex-Code betragen. Für beide Applikationen, SKX-Open und SKX-Advance (beide laufen auf der gleichen Hardware), gibt es jetzt deutsche Bedienungsanleitungen. Diese habe ich gerade erst fertiggestellt und werden in den nächsten Tagen in den Downloadbereich der Zennio-Webseite gestellt. Da Du sagst es wäre dringend, hänge ich sie hier mal an.
      Angehängte Dateien
      Grüsse aus Andalusien
      Klaus


      Kommentar


        #4
        Tach Klaus,

        ab wann wird die neue Applikation SKX Advance erhältlich sein?
        Gruss

        Kommentar


          #5
          Ab jetzt!
          Angehängte Dateien
          Grüsse aus Andalusien
          Klaus


          Kommentar


            #6
            Danke !!!

            mfg

            Kommentar


              #7
              zennio skx advanced

              mal ne frage was muss ich für die entertaste bei zennio eingeben

              hab nen befehl der lautet "on enter" über hyperterminal funkts nur ned über zennio

              Kommentar


                #8
                SKX Advance für eine speziell- serielle entwickelte Buderus EMS- Platine!!

                Ich wollte mal fragen und schauen ob der Thema hier noch bearbeiten/ gesehen wird.
                Im „mikrocontroller.net“ Forum haben die Profis eine serielle Buderus- EMS Platine entwickelt.
                Einmal einige wichtige Auszüge aus dem Forum:

                Autor: IngoF (Gast)
                Datum: 02.03.2011 08:24

                Also die Hardware mit meiner Software wandelt die EMS-Telegramme in ein
                für den PC-lesbares Format. Die Daten werden also seriell im
                3964R-Protokoll übertragen.
                http://de.wikipedia.org/wiki/3964R

                Du benötigst dann nur noch ein Programm auf dem PC dass die Daten über
                3964R empfängt.

                Der Telegrammaufbau sieht wie folgt aus:

                Autor: IngoF (Gast)
                Datum: 18.11.2012 19:10

                Hallo,

                wegen weiteren nachfragen noch mal genauer beschrieben:

                {00} 20:41:29 14.10.12: 0B 90 3F 57 06 00
                {8E} 20:41:29 14.10.12: 10 0B 3F 57 01 09 0C 05 0A 0C 8E

                Das erste Telegramm ist das was ich gesendet habe und das zweite die
                Antwort.
                Die Bedeutung:
                0B = Absender (EMS-Gateway)
                90 = Empfänger 0x10 + 0x80 ( 0x80 = Abfrage-Bit)
                3f = Telegrammtyp (Heizkreis 1 Zeiten)
                57 = Offset (Anfangsadresse im Telegramtyp)
                06 = Anzahl Zeichen die als Antwort zurück gegeben wurden
                00 = Prüfsumme

                Einfach so senden und der EMS-Gateway sendet das Telegramm sobald er ein
                Polling vom Master bekommt.
                Wenn als Antwort 0x04 zurück kommt ist entweder die Prüfsumme falsch
                oder das Telegramm ist unsinnig.

                Mit gesetzten Bit7 wird etwas abgefragt. Und es kommt wenn das Telgramm
                richtig ist sofort die Antwort.
                10 = Absender
                0B = Empfänger
                3F = Telgrammtyp
                57 = Datenoffset ( Urlaufszeiten)
                01 = Tag des Urlaubsanfangs
                09 = Monat des Urlaubsanfang
                0C = Jahr des Urlaubsanfang (2000 + 0x0C = 2012)
                05 = Tag des Urlaubsende
                0A = Monat des Urlaubsende (=10)
                0C = Jahr des Urlaubsende (2000 + 0x0C = 2012)

                Es gibt zwei Möglichkeiten das Telgramm zu senden:
                Im HEX-Mode (Terminalprogramm) ASCII-Zeichen der beiden Hexadezimalen
                Zeichen (erstes Byte = Oberes Nibble) getrennt durch Leerzeichen (0x20).
                Nach dem letzten Zeichen dann Windows-Zeilenumbruch (ASCII CR und LF =
                0D und 0A)

                Im RAW-Modus die einzelnen Zeichen übertragen und mit 0xaa 0x55 beenden.

                Dieses Telegramm hat also im RAW-Modus 8 Bytes un im HEX-Mode 19 Bytes
                die übertragen werden.

                Also im Terminalprogramm z.B. einfach das Telegramm eintippen und nach
                dem letzten Zeichen sofort die Eingabetaste, ohne ein folgendes
                Leerzeichen, drücken. (Windows Zeilenumbruch also CR & LF) Bei MAC und
                Linux muss klappt das mit dem Terminalprogramm nicht so einfach.

                Wenn Du die Antwort die Du bekommst wieder zurück schickst wird das
                Datum für den Urlaub gesetzt. Dabei muss aber die Prüfsumme ectra
                berechnet werden. Also in diesem Beispiel:
                0B 10 3F 57 01 09 0C 05 0A 0C 30

                Wenn Du nur den Urlaubsanfang setzten willst
                0B 10 3F 57 01 09 0C <Prüfsumme>

                Nur das Urlaubsende setzen:
                0B 10 3F 5B 05 0A 0C <Prüfsumme>

                Nur die Abfrage könnte für das Urlaubsende könnte so aussehen:
                0B 90 3F 5B 03 <Prüfsumme>

                Das letzte Telgramm habe ich nicht getestet.
                Mögliche Antworten:
                1) Das komplette Telegramm mit Urlaubsanfang und -ende.
                2) 0x04 für fehlerhaftes Telegramm (Weil nur ein zu kleiner Teil
                abgefragt wird)

                Meine aber das die Abfrage erkannt wird und auch richtiger weise nur die
                drei Datenbytes für das Urlaubsende übermittelt werden.

                Wenn man Werte setzt kommt nur als Bestätigung für das korrekte
                Telegramm die 0x01

                Beim dem Telegramm 3f (Heizkreis 1 Zeiten) z.B. sendet die RC30 noch mal
                das komplette Telegramm in Bröckchen zurück. Sieht wohl so aus dass
                ingesammt nur 0x1B Datenbytes übertragen werden + Absender Empfänger und
                Prüfsumme. Also Maximal 0x1B +3 = 0x1E = 30 Zeichen (0x1B +3 = 0x1E =
                30).

                Mein Frage nun:
                Könnte ich mit dem SKX Advance die HEX Werte in die KNX- Welt übernehmen???
                (ich suche noch einen einfachen Weg die Daten ohne openHAB oder noch schwieriger für mich auszuwerten)
                DANKE !!!!!!

                Kommentar

                Lädt...
                X