-> Hier kostenlos registrieren
Hallo!
Ich habe die Aufgabestellung einen Datenaustausch mit einem Windows PC mit Python 3.4.1 und einer Siemens s7300 mit CP 343-1 lean (6GK7 3431-iCX10-0XE0 mit Fw 3.0.23)über TCP/IP (IPv4) zu realisieren.
Ich habe ein Script welchen auf dem PC läuft und lauscht und auch Daten von der SPS empfangen kann. Der Datenempfang ist möglich.
Ich möchte nun die empfangen Daten nicht nur am Bildschirm ausgeben sondern wieder zurück zur SPS zur Quittierung(SPS-Ablauf) senden.
Hier das Script(Script1) welches die Daten empfängt und anzeigt.
Dieses Script empfängt richtig und zeigt die Daten an. Nur das senden Funktioniert nicht.
Wo liegt hier das Problem? Was mache ich falsch?
===============
Ich habe zum Test ein extra Script(Script2) zum Senden zusammengestopft.
Nach dem Starten des Schripts bekomme ich immer die Meldung:
ConnectionRefuseError: WinError 10061 Es konnte keine Verbindung hergestellt werden da der Zielcomputer die Verbindung verweigerte.
IP der SPS ist OK, Port ist derselbe wie beim Senden Script.
Ich verwende die Siemens FCs FC5 AG_Send und FC6 AG_Recv
Die CP ist auf senden und empfangen eingestellt
Vielleicht gibt es unter euch jemanden der damit schon Erfahrungen gemacht hat.
Über Unterstützung bin ich dankbar!
Grüße, MrMarc
Ich habe die Aufgabestellung einen Datenaustausch mit einem Windows PC mit Python 3.4.1 und einer Siemens s7300 mit CP 343-1 lean (6GK7 3431-iCX10-0XE0 mit Fw 3.0.23)über TCP/IP (IPv4) zu realisieren.
Ich habe ein Script welchen auf dem PC läuft und lauscht und auch Daten von der SPS empfangen kann. Der Datenempfang ist möglich.
Ich möchte nun die empfangen Daten nicht nur am Bildschirm ausgeben sondern wieder zurück zur SPS zur Quittierung(SPS-Ablauf) senden.
Hier das Script(Script1) welches die Daten empfängt und anzeigt.
Code:
# Echo server program
import socket
HOST = '' # Symbolic name meaning all available interfaces
PORT = 2000 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
Daten = ("%s" % (data))
print('Nutzdaten: ', Daten)
print('Nutzdaten: ', len(data))
if not data: break
conn.sendall(data)
conn.close()
Dieses Script empfängt richtig und zeigt die Daten an. Nur das senden Funktioniert nicht.
Wo liegt hier das Problem? Was mache ich falsch?
===============
Ich habe zum Test ein extra Script(Script2) zum Senden zusammengestopft.
Code:
# Echo client program
import socket
HOST = '192.168.178.201' # The remote host
PORT = 2000 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(b'Test Daten')
data = s.recv(1024)
s.close()
print('Received', repr(data))
Nach dem Starten des Schripts bekomme ich immer die Meldung:
ConnectionRefuseError: WinError 10061 Es konnte keine Verbindung hergestellt werden da der Zielcomputer die Verbindung verweigerte.
IP der SPS ist OK, Port ist derselbe wie beim Senden Script.
Ich verwende die Siemens FCs FC5 AG_Send und FC6 AG_Recv
Die CP ist auf senden und empfangen eingestellt
Vielleicht gibt es unter euch jemanden der damit schon Erfahrungen gemacht hat.
Über Unterstützung bin ich dankbar!
Grüße, MrMarc