Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Datenübertragung mit 3964R Protokoll

denisweber
2009-09-26
2009-10-07
  • denisweber - 2009-09-26

    Hbe eine Wago 750-841 Steuerung und möchte mit einer Seriellen Schnittstelle ein Buderus Gateway auslesen.Nun benutzt das Gateway ein 3964R Protokoll mit dem ich nicht so recht klar komme hat einer so etwas schon mal gemacht , und oder gibt es irgendwo vieleicht Beispiele die ich mir anschauen könnte????

     
  • Anonymous - 2009-09-28

    Originally created by: mg

    http://support.automation.siemens.com/W ... aller=view

    ... das ist das "alte" Protokoll zum Austausch mit der Siemens S5.

    Gemacht hab ich's schon mal von 10-12 Jahren (aber nicht mit dem Codesys). Vielleicht findest Du jemanden der sowas für's Codesys schon mal programmiert hat, sonst würde mich der Aufwand grausen (für nur einen Kessel) aber evtl. haben div. Firmen spezielle Protokollumsetzer (hilscher, deutschmann). Oder hast Du mal bei Wago gefragt ob die da schon mal was gemacht haben?

    Viel Spass

    ... Ich weiß meine Antwort hilft Dir nicht grad weiter ...

     
  • Uwe - 2009-09-28

    Hallo Denis,

    unter folgendem Link findest du die Bibliothek 3964R_RK512_01.lib

    mit Dokumentation für die Wagogeräte

    http://www.wago.com/wagoweb/documentation/navigate/nm9mpl_d.htm

    vielleicht hilft dir das weiter

    Uwe

     
  • denisweber - 2009-10-02

    Die lib ist super scheint auch daten zu enfangen aber beim senden werden alle zeichen doppelt gesendet,das problem ist mir auch schon bei der normalen seriellen Übertragung aufgefallen kann man das irgendwo einstellen oder warum ist das so????In benutzung ist eine 750-650 klemme und ein wago 841 Kontroler

     
  • Uwe - 2009-10-05

    Hallo Denis,

    wie hast du festgestellt das alle Zeichen doppelt gesendet werden ?

    Also bei der seriellen Übertragung wird nichts doppelt gesendet.

    Bei der 3964 wird nur das DLE gedoppelt wenn es in den Nutzdaten

    vorhanden ist.

    Benutzt du die 750-650 oder die 750-650/003-000 ?

    Liegt eventuell ein Programmfehler vor ?

    Schreibst du vielleicht in das PAA der seriellen Klemme ?

     
  • denisweber - 2009-10-05

    Hallo

    Ich habe einfach die Wago an den PC mit Hyperterminal gehängt ubd geschaut was die Wago so sendet.Dabei erscheint das "02"zur einleitung der Prozedur immer doppelt und damit bekomme ich von der gegenstelle doch auch immer eine Fehlermeldung.Empfangen tut er aber sobald ich etwas senden möchte bekomme ich die meldung"err_3964_confirmation_error (Quitierungsfehler)"Ich habe das selbe Problem aber auch wenn ich mit serial_Interface_01.lib was sende bekomme ich das auch fast immer doppelt .Die Klemme ist eine 750-650 .

    IMG: Codesys.jpg

     
  • Uwe - 2009-10-06

    Hallo Denis,

    stell mal so ein Projekt mit der serial_interface hier ein ...

    so ein Projekt das doppelt sendet ....

    Bei der 3964 kann es sein wenn du gegen Hyperterminal kommunizierst

    bei 3964 wird mit STX eine Verbindungsanforderung gesendet die

    die Gegenstelle innerhalb der QVZ (550ms) mit DLE beantworten muss.

    Sonst wird die Verbindungsanforderung neu gesendet ... bis zu drei mal.

    Im Wagoknoten doppelt senden macht keiner ....

    außer vielleicht das Anwenderprogramm

    Uwe

     
  • denisweber - 2009-10-06

    Hallo

    Das mit der fehlenden Quitierung ist mir klar,der Sendevorgang wird sogar 6 mal wiederholt alle 2s, die Zeichen "02" kommen aber immer sofort 2 mal hintereinander dann 2s pause das ganze 6 mal (12 Zeichen).

    Anbei mal das Projekt mit der serielle übertragung.Der Sendestring ist "112233"empfangen wird immer 31.31.32.31.31.32.32.33.33.32.33.33 natürlich Hex Zeichen.Ist doch komisch ich habs schon mit verschiedenen Zykloszeiten versucht ohne erfolg.Werde am Wochenende noch mal das ganze mit 2 Pc's im Orginal aufbauen und dann Senden und Empfangen gleichzeitig abhören....

    Serielle.pro [79.66 KiB]

     
  • Uwe - 2009-10-07

    Hallo Denis,

    also ...

    wenn du in dei Steuerungskonfiguration schaust,

    dann siehst du das dein serielles Modul die Adressen

    %IB0 ... %IB3 und die Adressen %QB0...%QB3 belegt.

    Da du nun in deinem Baustein ExampleSingleTimeSwitchingFunctions

    boooaaahh was für ein Name *grins

    also in diesem Baustein definierst du die Variable SwitchChannelWeekly

    auf die Adresse %QX0.0

    und das ist eine Überschneidung mit der seriellen Klemme

    das geht nicht ...

    da schmierst du in das Controlbyte und löst die doppelte Übertragung aus

    als nächstes deine Taskkonfiguration

    die serielle Schnittstelle mit Prio 10 ist viel zu niedrig ... ich würde die auf 1 legen

    und das Aufrufintervall mit 50ms ist auch viel zu niedrig ... ich würde die auf

    höchstens 10ms legen ..

    und dann sollte man sich bei Benutzung des Tasksystems mit mehreren Tasks

    auch Gedanken über Datenkonsistenz und Semaphore machen ...

    sonst kann es schnell zu sporadischem, unerklärlichen Verhalten kommen,

    was auch sehr schwer zu finden ist ..

    oder die Finger von der Taskkonfiguration lassen und nur mit dem PLC_PRG

    arbeiten ...

    soweit meine persönlich Meinung dazu

    Uwe

     
  • denisweber - 2009-10-07

    Hallo

    Wieeeee Blind muß einer sein das habe ich vollkommen übersehen,ist doch klar das das Ärger macht.Das ganze ist meine Test Steuerung damit ich am Orginal nicht son Ärger habe ....mann solte doch den alten Schei...... (kram) aus dem Programm löschen.Hab's kurz ausprobiert und nun kommen auch keine doppel Sendungen mehr.

    Danke noch mal an alle die mir die Augen geöffnet haben.

    Denis..............

     

Log in to post a comment.