S7 300 mit CP343 Kommunikation mit PC über TCP

grabbi99

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
habe jetzt schon ganz viele Beiträge durch gelesen aber noch nicht das passende für mich gefunden. Muss folgendes zum laufen bekommen.

Ich muss mit einem fremd PC kommunizieren auf dem keine Software aufgespielt werden kann. Auf diesem Rechner läuft eine Datenbank die mir über TCP einen Datensatz schicken möchte.
Das Telegramm ist immer gleich aufgebaut und gleich gross. Der Inhalt des Telegramms besteht aus ASCII Zeichen. Nach dem Empfang des Telegramms muss ich den Empfang durch das Senden eines Telegramms quittieren.

Das ganze müsste ohne weitere Software und mit TCP funktionieren. Kann mir jemand dabei helfen, bin ein ziemlicher newbie. Wie kann ich das später testen.

Wenn ihr weitere Angaben braucht biite fragen.
 
-

Hi,
allein die Aussage über ziemlich newbie und diese Aufgabe :rolleyes: passt nicht zusammen.
Sowas ist, na ja, schon sehr kompliziert; glaubt da Jemand, sowas geht so
ruck-zuck ohne weiteres? :confused:

Gruss: V.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Noch was..

Hi,
evtl. ist der kleinste Aufwand, dass man in der Software mit der Datenbank die Libnodave Bibl. einbindet, und dadurch Daten an die SPS sendet.

Gruss: V.
 
Vielen Dank für die schnelle Antwort, leider kann ich auf dem PC keine Software aufspielen. Bin kein absoluter Newbie, nur in diesem Bereich TCP
 
-

Hi,
du machst nicht am PC, soll doch der machen, der dort ja programmiert.
Muss man je programmieren, mit dem Telegramm usw.

V.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das ist schon klar. Mit dem PC habe ich nichts zu tun, aber was muss ich auf der SPS Seite machen. Hab schon ein bischen getestet mit AG-Send und Receive. Habe aber noch nicht wirklich ein Verbindung hin bekommen
 
Hallo grabbi,

lang, lang ist's her, dass ich sowas gemacht habe. Ich hatte damals eine Kopplung zu einem
Linux-PC zu machen. Leider bin ich jetzt nicht im Büro, sonst könnte ich mal nachsehen.
Wenn ich mich richtig erinnere, muss man im NetPro eine TCP-Verbindung mit einem unspezifizierten
Partner projektieren. Wichtig, ist die IP-Adresse und die Port-Nummer des PC's. Dabei baut die SPS
die Verbindung aktiv auf (glaube ich).

Wenn Du bis Mittwoch Zeit hast, sehe ich mal in meinem alten Projekt nach.

Grüße
Gebs
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mische mich mal kurz ein...

Bei einer unspezifizierten Verbindung gibt es KEINE Partneradresse, die SPS bleibt passiv!

An der SPS werden dann zwei Kanäle benötigt ( SEND + RECEIVE ) die BEIDE aus "SEND/RECEIVE" stehen, so das der PC Anhand der Portnummer den TCP_Prozess starten kann.

Siehe angehängt Screenshots

dtsclipper
 

Anhänge

  • 000_Verbind_1.jpg
    000_Verbind_1.jpg
    78,4 KB · Aufrufe: 133
  • 000_Verbind_2.jpg
    000_Verbind_2.jpg
    61,5 KB · Aufrufe: 109
  • 000_Verbind_3.jpg
    000_Verbind_3.jpg
    45,9 KB · Aufrufe: 101
So gross ist Dein Problem doch eigentlich garnicht. Als erstes müsstest Du mal wissen, ob der PC Client oder Server ist.
Ist er der Client, baut er die Verbindung auf, ansonsten musst Du sie aufbauen. In diesem Fall macht der CP (wenn Du die Verbindung über Netpro einrichtest) das schon von alleine.
Die PC - Anwendung kann dann schon Telegramme an Dich versenden, Du musst nur dem Telegramm entsprechend Deine Empfangsstruktur einrichten.
Wenn Du ein Telegramm empfangen hast, signalisiert dir der Empfangsbaustein ag_rec (oder wie er heisst) das durch ein Bit an seinem Ausgang. Die Daten des Telegramms kopiert dir dieser Baustein in Dein Empfangsfach, i.a. ein Datenbaustein. Dann kannst Du ein entsprechendes Antworttelegramm absetzen. (mit ag_send)

Du brauchst Du im Prinzip also nur den Sende und Empfangsbaustein. Wie Du die Daten dann aufbereiten musst, steht auf einem anderen Blatt. Da der PC ja auch noch das Senden/Empfangen initiiert, musst Du nicht einmal für den Ablauf sorgen.
 
Ich mische mich mal kurz ein...

Bei einer unspezifizierten Verbindung gibt es KEINE Partneradresse, die SPS bleibt passiv!

An der SPS werden dann zwei Kanäle benötigt ( SEND + RECEIVE ) die BEIDE aus "SEND/RECEIVE" stehen, so das der PC Anhand der Portnummer den TCP_Prozess starten kann.

Siehe angehängt Screenshots

dtsclipper

Das ist komisch, denn man kann die Partenadresse dort eintragen, dein Bild zeigt das ja. Wäre das nicht ausgegraut, sollt man da nichts eintragen? Und wenn ich dort eine Partneradresse und einen Port eintrage, dann funzt das auch und zwar auf dem richtigen eingetragenen Port beim Partner. Da nichts einzugeben, darauf bin ich gar nicht erst gekommen, hab auch irgendwie starke Zweifel.

Ich denke zumindest für ein Send brauchts die Partneradresse!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Lass es mich mal so formulieren...

Wenn ich als Partner etwas eintrage, dann ist die Verbindung nicht mehr UNspezifiziert.

Der Sinn bei unspezifiziert ist doch das ein Aktiver Partner, der meinen Port auf der SPS erreicht, die Verbindung aufbauen kann.
Der sinn ist das man den LR auf Backup umschaltet OHNE dem eine neue IP verbratzeln zu müssen oder die Verbindungsdaten zu ändern.

Trage ich etwas ein, kann NUR der eingetragene Partner kommunizieren, dann geht halt das umswitchen nicht...

hoffe das kapiert jemand dtsclipper
 
Lass es mich mal so formulieren...

Wenn ich als Partner etwas eintrage, dann ist die Verbindung nicht mehr UNspezifiziert.

Der Sinn bei unspezifiziert ist doch das ein Aktiver Partner, der meinen Port auf der SPS erreicht, die Verbindung aufbauen kann.
Der sinn ist das man den LR auf Backup umschaltet OHNE dem eine neue IP verbratzeln zu müssen oder die Verbindungsdaten zu ändern.

Trage ich etwas ein, kann NUR der eingetragene Partner kommunizieren, dann geht halt das umswitchen nicht...

hoffe das kapiert jemand dtsclipper

Für Modbus/TCP nutze ich immer die unspezifizierte TCP-Verbindung. Sinn ist hier ebenfalls ein gedoppeltes Rechnersystem das mit meiner SPS kommuniziert, eben welcher grad Master ist.

Ist schon sinnvoll und richtig so.
 
Erstmal vielen Dank für die ganzen Tipps, habe es jetzt am laufem.
Ich habe auch eine IP angegeben da nur der eine PC zugreifen soll.

Das ganze habe ich mit dem tool Hercules am PC getestet.

Besten Dank an alle
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das hat auch nur 6 Jahren gedauert ;)

Zu den ursprünglichen Aufgabe, Daten an ein Datenbank zu senden, ohne das man Programme installieren muss:
Heute gibt es Lieferanten von S7 Bausteine damit man direkt Daten an ein SQL Datenbank senden und holen kann.
Es besteht von reine SQL Befehle über TCP. Kein zwisschen-Software o.Ä:
Hier ein Link: http://www.plcsql-link.dk/de/index.php
 
Zurück
Oben