nochmals AG_SEND

phoo82

Level-1
Beiträge
26
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe mich vorhin nochmals in Ruhe an mein Problem gesetzt.
Und zwar wollte ich einen ASCII-Codierten (8bit) String
von meiner CP343-1 LEAN an einen Java-ServerSocket schicken.
(aktive TCP verbindung, da CP client sein soll)

Verbindung projektiert, SYN wird gesendet, wenn ServerSocket geöffnet
und Programmzeile s = ss.accept(); abgearbeitet wurde, dann steht im
Webinterface des CP : connection established

also nehme ich an, dass mein JavaServer das ACK an die CP geschickt hat.

Nun aber mein Problem:

Habe mich an die Tips von Gruber und Vierlagig gehalten (nochmals vielen
Dank)

Aber wenn ich meinen OB1 beobachte bei der ausführung, dann führt er AG_SEND iwie nicht aus. (0 Messegas Send/Received)


Auf dem Bild ändern sich nur M2.5,M11.2 und M11.3 . Wechseln zwischen 0 und 1.
"SEND_DONE" oder "SEND_ERROR" bleiben unverändert und daher
wird nach meinem verständnis der AG_SEND befehl nicht ausgeführt,
da ja entweder ein fehler vorlag oder nicht.


Taktmerkerbyte ist in HW-Config auf Byte 2 gestellt und 16 Merkerbytes ab byte 0.
Habe Prozessbetrieb (100ms für testfunktionen) sowie Testbetrieb getestet, beides ohne erfolg.

In der Spezialdiagnose erscheint auch die Meldung
"Warten auf Sendedaten" (vielleicht sagt das jemandem etwas .p)

Hab hier noch mal ein paar bilder zur illustration angefügt.

Wäre nett wenn mir nochmal jemand helfen könnte.
Wenn die kommunikation endlich steht ist alles gut :D

Ist es überhaupt möglich mit einem JavaServer zu kommunizieren?
(sollte ja eigtl. gehen und standatisiert sein alles oder?)









Ferner: am ende möchte ich eigtl. mehrere Janitza mit der SPS über PROFIBUS abfragen und die Messerte dann über SNMP an der SPS abfragen, das senden eines Strings an einen JavaServer sollte nur so zum Testen sein.

Vielen Vielen Dank nochmals ^^

im Anhang ist noch das Projekt zu finden.
 

Anhänge

  • ttt.rar
    255,2 KB · Aufrufe: 8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

bin leider schon zu Hause und mein Rechner auf Arbeit ist aus :(

Glaube aber ich habe die Verbindung noch nicht direkt aus dem
NetPRO übertragen ;) werd ich morgen früh direkt testen, danke ;)

Aber kann es denn sein, dass die projektierte Verbindung "established" wird,
sobald ich den JavaServer öffne (also muss der Server ja das ACK gesendetz haben, und der CP empfangen haben), aber der AWL Code in OB1 nciht ausgeführt wird (OUT Signale ändern sich nicht)? Wegen falsch übertagener Verbindungen?

Vielen Dank nochmals! ;)

P.S. Benutze WinXP Professional SP3, auch wenn ich "Erreichbare teilnehmer anzeigen" drücke im Ethernet, dann finde ich keine Teilnehmer,
habe hier im Forum schon gehört dass ein User dasselbe Probleme hat, kann es auch damit zusammen hängen?
Wie gesagt, dass ACK vom Server muss ja kommen, sonst wäre connection nicht established.
 
Zuletzt bearbeitet:
Guten Abend,

in der Hw-Konfig/Online kann man eine Spezialdiagnose ausführen;
da sieht man einen Telegrammzähler.
Die Verbindung läßt sich auch prüfen.

mfg
jb
 
danke, werd ich auch gleich morgen frueh nachgucken/testen :D

aber vom AWL Code her, oder andere grundsätzlichen Fehler könnt ihr
auch nicht erkennen odeR? ^^ Ist mein erster Kontakt mit SPS
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich nochmal ^^

Kann es evtl. sein, dass die Kommunikation zwischen CP und CPU gestört ist?

denn die Projektierten Sachen werden ja ausgeführt, und alle Instruktionen
des AWL Codes die auf der CPU ausgeführt werden, werden auch ausgeführt.
Das herstellen und halten der TCP-Verbindung wird ja auch vom CP ausgeführt.
Auch der Input "ACT" des AG_SEND triggert ja zwischen 0 und 1.

Aber sobald er AG_SEND ausführen soll, wird diese Instruktion 'übersprungen'.
Ich meine es werden da doch Information aus einem DB von der CPU an die
CP übermittelt, vielleicht gibt es da ein Problem :(
Allerdings laufen alle Komponenten , es gibt keinen Errorcode an den LEDs.
In dem Diagnosepuffer des Webinterface etc finde ich auch nichts.

Aber die Message bei der Spezialdiagnose "Warten auf Sendedaten",
lässt mcih auf sowas in der Richtung schliessen.

Hab heute keinen Zugang mehr zur SPS um dies zu überprüfen,
werde morgen erstmal alle Tips beherzigen und nochmal alles
überprüfen etc.
 
Hallo René,
was ich von Deinen Bildern her sehe passt das schon.
Leider fehlt das Bild > Objekteigenschaften der Verbindung
Im NetPro auf die Verbindung klicken > rechte Maustaste und dann Objekteigenschaften.
Ich denke doch dass es das bei einer direkten TCP-Verbindung auch gibt, denn die nehme ich eigentlich nie.

Kann leider Dein Programm jetzt nicht anschauen.

Also wie schon erwähnt, Verbindung aus dem NetPro übertragen.
Alles übersetzen und prüfen und dann rüber damit. ;)


PS: Subnet steht schon auf 255.255. 0 . 0 oder?
 
ok, vielen Dank

das bild werde ich morgen frueh direkt hier nachliefern falls es mit euren Tips doch noch nicht funktionieren sollte (ein error beim senden würde ja auch scho reichen .p)

Schönen Abend erstmal noch .p

Gruss, Marc (nicht René ;) )

Subnet steht auf 255.255.0.0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
also ich habe nochmals alles beherzigt, aber iwie will das nicht funktionieren ^^

ich hab mal eine .RAR datei als anhang beigefügt, mit Bildern und dem JavaServer. weiss echt nicht mehr wie ich des noch versuchen soll.

Vielleicht hat ja jemand lust sich das mal anzugucken.

Vielen Dank und ein schönes Wochenende.
 

Anhänge

  • TCP_Test.rar
    1,7 MB · Aufrufe: 14
Ha, jetzt hab ichs. :D

Dein Status Wort ist das Merkerwort MW 10 und ACT Done und Error sind die Merker M11.0 bis M11.3
Mache aus Merkerwort MW 10 > MW 20 oder so und schon passiert was. ;)
 
Hi,

vielen Dank, werd ich aber leider erst Montag testen können :(

Aber bedeutet das also, dass Merkwörter und Merbytes nicht separat
"gemanaged" werden im Speicher?

Also MerkWort sind ja 2 Byte, belegt er dann auch tatsächlich
M10.0 bis M11.7 ???

Wäre ich glaube ich nie drauf gekommen .p danke,
man kann immer nur dazu lernen!

Schönes Wochenende!

Gruss, Marc
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also MerkWort sind ja 2 Byte, belegt er dann auch tatsächlich
M10.0 bis M11.7 ???
Hi Marc,
ja so ist es:
MW 10 belegt Merker Byte 10 und 11
MD 10 belegt Merker Byte 10 , 11, 12 und 13

Habe aber auch lang nicht genau hingeschaut, nach dem das so schön symbolisch benannt war.
Dacht immer es liegt an den Portadressen.
Aber dann habe ich es gesehen und gleich nach der Änderung kam eine Fehlermeldung am Baustein, klar ist ja nur der Simulator ich habe ja keine wirkliche Hardware.

Dir auch ein schönes Wochenende
 
Zitiert:
Aber bedeutet das also, dass Merkwörter und Merbytes nicht separat
"gemanaged" werden im Speicher?
##

sicher, du kannst die bit's tanzen lassen, wie Du lustig bist;
aber: bei der Abfrage wird es Dir rächen;
Also Bsp:
M 10.0 = 1
M 10.1 = 0
M 10.2 = 0
M 10.3 = 0
M 10.5 = 0
M 10.6 = 0
M 10.7 = 0
MB11 = 0
was steht im MW10? (000000011; eine 1)
was steht im MW 11 ? (00000000; null)
wenn du jetzt ein bit veränderst:dann was?

mfg
jb
 
Zurück
Oben