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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 34 von 34

Thema: AG_RECV und Pointer(SCL)

  1. #31
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... das kann ich dir auch nicht sagen ... möglicherweise hast du den I-DB deines FB nicht mit übertragen ... das könnte so etwas bewirken - das ist aber aus der Ferne auch immer schlecht zu sagen ...

    Gruß
    Larry

  2. #32
    Registriert seit
    23.02.2007
    Ort
    Regensburg
    Beiträge
    53
    Danke
    18
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ich hoffe Du weisst nun warums funktioniert.
    Gruß

    BiBi

    Alle Menschen sind klug - die einen vorher, die anderen nachher. (Voltaire)


  3. #33
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Hallo Viktor,

    ich kann es mir auch nicht verkneifen, Dir noch ein paar Hinweise zu geben.

    Bevor Du hochtrabend mit Java und Pointern 'rummachst, solltest Du Dich erstmal
    grundlegend mit Datentypen und Zahlenformaten beschäftigen. Dann hättest Du gewußt,
    daß es beim INT-Format NICHT möglich ist, daß die Einerstelle beim Übertragen
    verschwindet. Das kann nur sein, wenn jede Dezimalziffer in einem eigenen Byte
    übertragen wird. Das ist aber kein INT-Format - es ist also klar, daß der Sender
    gar nicht im INT-Format sendet. Und dann reicht es natürlich nicht, nur 2 Byte
    auszuwerten, wenn der Sender 3 oder mehr Byte sendet!
    Dann hättest Du auch nicht geschrieben, daß Dein AG_RECV eine 10 empfängt, wenn
    er tatsächlich die Zeichenfolge '10' (W#16#3130) empfängt.

    Zitat Zitat von ditj_vitja Beitrag anzeigen
    ob du es glaubst oder nicht aber ich bekomme anstatt der 102 wirklich nur die 10..
    Wenn Du meinen Beitrag #18 nochmal liest, dann wirst Du sehen, daß ich Dir genau
    vorausgesagt habe, was bei Dir nicht stimmt.

    Im übrigen hätte Dir auch auffallen können, daß Dein AG_RECV zweimal 2 verschiedene
    Zeichen empfängt und in DB1.DBW0 einträgt: abwechselnd W#16#3130 und W#16#320D

    Zitat Zitat von ditj_vitja Beitrag anzeigen
    und aufmal funktioniert das.. und ich hab keine Ahnung warum..
    naja nun gehts ja
    Bist Du SICHER?!
    Es darf bei einem SPS-Programm niemals sein, daß man irgendwas programmiert,
    ohne zu verstehen, wie es funktioniert. Dann hat man nach langem Rumprobieren
    wahrscheinlich Code, der zufällig ein scheinbar richtiges Ergebnis liefert.

    Was Du auf jeden Fall nochmal penibel checken solltest:
    • In welchem Format sendet die nun von Dir benutzte Java-Funktion?
      Tatsächlich binäres INT oder ASCII-Einzelziffern mit/ohne CR?
    • Ist am AG_RECV ein Empfangspuffer angegeben, der groß genug ist?
    • Meldet der AG_RECV am Bausteinausgang LEN genau die Anzahl empfangener Zeichen,
      wie die Java-Funktion sendet? Wichtig: wird LEN immer ausgewertet und korrekt
      verarbeitet? Der AG_RECV-Bausteinausgang LEN ist nicht nur zum Schmuck da.
    • Wenn der Sender nicht INT sendet (sondern z.B. ASCII): konvertierst Du die
      empfangenen Zeichen dann auch korrekt in INT? (das passiert nicht automatisch!)


    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Larry Laffer (25.09.2010)

  5. #34
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... ich denke auch, dass die verwendete Funktion (auch ohne sichtbare Typkonvertierung) tatsächlich einen String versendet. Wollte man etwas anderes haben, so müßte man m.E. den zu verwendenden Zahlenwert als ASCII-Wert im Format CHAR (oder wie immer das in JAVA heißt) versenden.

    Gruß
    Larry

Ähnliche Themen

  1. Probleme mit AG_SEND und AG_RECV
    Von -Melanie- im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 26.05.2011, 14:10
  2. Problem mit AG_Recv
    Von SPS-freak1 im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 15.04.2011, 17:21
  3. AG_Recv /Datenstring Splitten
    Von s_alpen im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.10.2010, 10:26
  4. Datenkonsistenz von AG_RECV
    Von oid im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 19.07.2009, 18:42
  5. Datenübernahme beim FC6 AG_RECV
    Von Florian_Niedermaier im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.11.2007, 13:37

Lesezeichen

Berechtigungen

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