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

Ergebnis 1 bis 6 von 6

Thema: Offene TCP Kommunikation von PC zu S7

  1. #1
    Registriert seit
    21.10.2010
    Beiträge
    158
    Danke
    21
    Erhielt 29 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.
    Ich möchte gerne mit einer SPS die FBs TCON, TDISCON, TSEND, TRCV für eine offene TCP-Kommunikation nutzen. Die FBs sind ja gut beschrieben und da ist ja auch alles klar, aber wie mache ich das PC-seitig. Dort sollte der aktive Verbindungsaufbau stattfinden. Hab leider nur geringe Kenntnisse in C/C++. Welche Befehle der Windows-API benötige ich da und in welcher Reihenfolge?
    Wäre nett wenn mir da jemand auf die Sprüge helfen könnte, damit ich den Einstieg schaffe.

    Danke.
    Zitieren Zitieren Offene TCP Kommunikation von PC zu S7  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    In was willst du auf dem PC entwickeln ?

    C/C++? oder kann es auch was anderes sein C# z.B.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  3. #3
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Hab dir mal ein kleines Beispiel Programm in CSharp hochgeladen...

    Vieleicht hilfts dir ja weiter.

    Der Quellcode verwendet eine Klasse von mir (TCPFunctionsAsync) die im Endeffekt das ganze TCp handling kapselt (Verbindungs Aufbau, Reconnect, ...)

    Es gibt einen event wenn neue Daten angekommen sind.

    Senden kannst du einfach über eine Methode.

    Beim Konstruktor der Klasse kannst du noch angeben ob die Verbindung aktiv oder passiv aufgebaut werden soll. Des weiteren, kannst du auch noch eine Telegrammlänge mitgeben, dann wird immer auf diese länge gewartet.

    Auch kannst du noch einen SynchronisationsContext übergeben, in diesem wird dann der Event aufgerufen (fall du empfangen daten z.. direkt in winforms anzeigen willst, und keine invokes benutzen magst)
    Angehängte Dateien Angehängte Dateien
    Geändert von Jochen Kühner (20.02.2012 um 20:45 Uhr)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Kleines Beispiel Programm in CSharp...  

  4. Folgende 2 Benutzer sagen Danke zu Jochen Kühner für den nützlichen Beitrag:

    funkey (20.02.2012),osph (05.06.2013)

  5. #4
    Registriert seit
    21.10.2010
    Beiträge
    158
    Danke
    21
    Erhielt 29 Danke für 17 Beiträge

    Standard

    Hallo Jochen, vielen Dank für deinen Beispielcode und deine C#-Klasse.
    Nun habe ich einen Anhaltspunkt und kann hoffentlich was erreichen. Ich will allerdings bei C++ bleiben, und werde versuchen deine Klasse dafür umzumodeln. Wird wahrscheinlich nicht ganz so einfach, weil C# einige Sachen in Klassen bereitstellt, die in C++ nur direkt über API durchzuführen sind, deshalb wäre ich für weitere Hilfe in diese Richtung auch noch sehr dankbar.

    Gruß
    funkey
    Und nochmals Danke Jochen.

  6. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Denke nicht das mein beispiel dir in c/c++ viel weiterhilft, da ist das doch zu unterschiedlich!

    aber dazu müsstest du im inet vieles finden? (z.b. http://www.c-worker.ch/tuts/wstut_op.php)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #6
    Registriert seit
    21.10.2010
    Beiträge
    158
    Danke
    21
    Erhielt 29 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für den Link! Hab das ganze jetzt zuerst mit AutoIt gelöst und es funktioniert einwandfrei. Nun da ich begriffen habe wie es geht, werde ich mir mit C++ eine kleine DLL basteln.

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 20.11.2011, 22:53
  2. Antworten: 2
    Letzter Beitrag: 10.01.2011, 19:36
  3. Antworten: 0
    Letzter Beitrag: 01.06.2010, 13:06
  4. offene TCP-Verbindungen CPU31x PN/DP
    Von Chefmech im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 30.07.2009, 18:46
  5. Antworten: 1
    Letzter Beitrag: 15.08.2007, 09:06

Lesezeichen

Berechtigungen

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