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.
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
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