Ankündigung

Einklappen
Keine Ankündigung bisher.

UDP Nachrichten an HS-InfoMan

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

    UDP Nachrichten an HS-InfoMan

    Guten Tag,

    Ich habe privat eine Mischinstallation von SPS und EIB-Komponenten. Bisher habe ich den HSInfoman zur E-Mailansage auf dem Touch "missbraucht".

    Erst vor kurzem habe ich entdeckt welche Möglichkeiten noch im HSI stecken.(sehr gutes Tool)

    Jetzt versuche ich mich daran dem HSI von der SPS aus Sprachausgaben zu entlocken.

    Ich versende bisher UDP-Pakete einer festen Länge von z.Z. 70 byte. Bei den Sprachbefehlen giebt es keinerlei Probleme, es läuft hervorragend.

    Mein Problem im Moment sind die Steuerkommandos. Diese werden nur ausgeführt wenn der String nicht länger als das Kommando ist. Darf der String nicht länger sein, oder kann ich ein Steuerzeichen anhängen damit das Kommando ausgeführt wird?

    Danke im voraus
    Rychard

    #2
    Hallo,

    der HS-InfoMan "liest" die UDP-Telegramme so wie sie sind.

    Ist das Telegrammm mit Leerzeichen gefüllt, wird es auch als solches ausgewertet. Bei der Sprachausgabe spielt das keine Rolle, da die Leerzeichen als zu sprechender Text interpretiert werden. Bei den anderen Kommandos kommt es auf die Syntax genau an. Kannst Du das Telegramm nicht selber über ein TRIM schieben? Zur Not versuche mal das eigentliche Telegramm mit &h00 (HEX 00) abzuschliessen.

    Kommentar


      #3
      Hallo,
      Das senden erfolgt über eine Simatic S7-315PN. Die Sendefunktion liest aus einem Datenbaustein (z.B. 30 DB-sätze mit je 70stelligen Strings) die Daten und schickt diese raus. Bei den Kommandostrings habe ich das Kommando z.B. Datum und den rest der stellen mit 00H oder 20H oder 0DH aufgefüllt.

      Ich könnte in meinem SPS-Programm für jede Kommando-Länge anpassungen vornehmen. Da dies relativ Aufwändig ist, wollte ich vorher fragen ob es reicht wenn ich ein Steuerzeichen an die Steuerbefehle anhänge.

      Trotzdem Danke

      Kommentar


        #4
        Ich gehe mal davon aus, Du sendest mit 'TUSEND' (FB67).

        Rechne Dir doch die tatsächliche Sendelänge einfach aus den Kopfdaten des S7-Strings aus:

        Byte 0 = projektierte Länge des Strings
        Byte 1 = tatsächliche Länge des Strings (bis zum B#16#00)

        Falls nötig, noch die Länge irgendwelcher Telegramm-Kopfdaten dazugerechnet und als Parameter 'len' an den FB -> voila !

        Ein lustiger AWL-5-Zeiler

        Gruß Jörg

        Kommentar


          #5
          Hallo,

          Ja ich nehme den FB67. Manchmal sieht man den Wald vor Bäumen nicht.

          Danke

          Kommentar

          Lädt...
          X