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

Results 1 to 3 of 3

Thread: TwinCAT 3 - TCP/IP Verbindung/Ansteuerung

  1. #1
    Join Date
    01.08.2019
    Posts
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Als Teil meiner Technikerarbeit habe ich die Aufgabe, mithilfe eines Beckhoff IPC über TwinCAT eine TCP/IP Verbindung/Ansteuerung zu einem Lasermarkiersystem herzustellen. Leider bin ich noch neu in der Programmierung mit TwinCAT und hoffe auf eure Hilfe

    Für mein Projekt habe ich bereits die IP meines IPC´s angepasst, sodass ein anpingen an den Laser möglich ist. Desweiteren habe ich die TwinCAT TCP Server Anwendung installiert und die Tc2_TcpIP Bibliothek meinem Projekt hinzugefügt.
    Mein Versuch nun eine Verbindung mithilfe des FB_SocketConnect aufzubauen sieht nun folgendermaßen aus:

    Verbindung.png

    Frage 1: Kann ich, da kein Fehler erscheint, davon ausgehen eine Verbindung erfolgreich aufgebaut zu haben?


    Ungehindert dessen habe ich anschließend bereits versucht Daten, mithilfe des FB_SocketSend, zu senden:
    Sending_Data.png

    Dabei erscheint direkt nach dem Starten (und nicht nach Ablauf der Timeout-zeit) der Fehlercode 1861 (Timeout).

    Leider weiß ich ab hier nicht mehr weiter und kann nicht sagen ob es sich um Programmier-, Verbindung- oder Einstellungsfehler handelt.


    Ich wäre für jede Hilfe dankbar und natürlich auch für Tipps bei der Erstellung einer TCP/IP Verbindung.



    Mfg

    Lucas
    Reply With Quote Reply With Quote TwinCAT 3 - TCP/IP Verbindung/Ansteuerung  

  2. #2
    Join Date
    24.02.2009
    Posts
    1,483
    Danke
    29
    Erhielt 358 Danke für 291 Beiträge

    Default

    Generell hast du schon mal 2 Fehler in deinem Code.

    pScr verlangt eine Referenz (Adresse) der Variable die deine Daten enthält. Du übergibts aber einen Wert auf deinem Array.
    Code:
    pScr := ADR(SendSocketDat[0]),
    übergibt die Adresse des Array Elements, wie gefordert.

    cbLen ist auch falsch. Wenn SendSocketDat vom Typ Byte ist, dann ist eine Element 1 Byte groß und nicht 50. Wenn das gesamte Array[0..50] gemeint ist, dann sind es 51 Byte, weil das Array 51 Elemente hat.
    Damit du dir aber darüber keinen Kopf machen musst, gibt den Operator SIZEOF. Der liefert die Länge zurück.
    Code:
    cbLen := SIZEOF(SendSocketDat[0]),
    Wenn du das ganze Array auf einmal senden willst:
    Code:
    pScr := ADR(SendSocketDat),
    cbLen := SIZEOF(SendSocketDat),
    Versuchs erstmal damit.
    Sänd from mei Kombjudder mitse Dastadurr.

  3. Folgender Benutzer sagt Danke zu MasterOhh für den nützlichen Beitrag:

    VeloxAuriga (01.08.2019)

  4. #3
    Join Date
    10.08.2012
    Posts
    609
    Danke
    0
    Erhielt 169 Danke für 159 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    "Senden" ist einfach, schwieriger wird es wenn du auch Telegramme empfängst da potentiell die Werte asynchron hereinkommen. Es wäre also möglich das du in der PLC im Empfangspuffer nur die erste Hälfte eines Telegrammes hast.
    Um das sauber zu handeln kann ich dann eigentlich nur dazu raten sich hinzusetzen und das im Infosys vorhandene Beispiel zu nutzen... Ist allerdings für Programmiernovizen schon ziemlich anspruchsvoll (zwei State-Maschines und einiges an Byte-gefummel).

    Anders - und beim Empfangen auch einfacher da ich garantiert immer ein TCP/IP-Packet en block erhalte wäre dann die Nutzung der TF6311 (anstelle der TF6310).
    Allerdings ist die PLC-Implementierung komplett anders als das was du bisher gemacht hast - es gibt dafür aber hier auch soviel ich mich erinnere ein rel. gutes Kochrezept dazu.
    Die TF6311 wird halt interessant wenn du die Latenzen des WIndows-Stacks ausschalten willst. Diese sind nämlich nicht zu vernachlässigen.

    Guga

Similar Threads

  1. Replies: 15
    Last Post: 16.11.2018, 09:59
  2. TwinCat 3 TCP Verbindung von Client korrekt beenden
    By Kutsubato in forum CODESYS und IEC61131
    Replies: 0
    Last Post: 06.04.2018, 11:52
  3. Replies: 2
    Last Post: 07.08.2014, 08:19
  4. Ansteuerung eines SMS Modems über TCP
    By tiego in forum CODESYS und IEC61131
    Replies: 3
    Last Post: 28.03.2013, 18:21
  5. Unterschied TCP- und ISO-on-TCP-Verbindung
    By kassla in forum Simatic
    Replies: 3
    Last Post: 19.08.2007, 07:27

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •