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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Ethernetkommunikation zwischen S7-1200 und Linux PC

  1. #1
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ich möchte gerne eine UDP oder TCP Kommunikation zwischen meiner S7-1200 mit TIA v13 und einem Linux Rechner erstellen. Auf der Linux Rechnerseite habe ich keine Probleme die Daten zu empfangen.
    Im ersten Step soll die S7 nämlich nur Meldung an den Rechner senden. Dafür würde ich gerne mal ein Beispielprojekt sehen. Hat einer was gutes dafür auf Lager?

    Vielen Dank.

    Gruß kami
    Zitieren Zitieren Ethernetkommunikation zwischen S7-1200 und Linux PC  

  2. #2
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von kami Beitrag anzeigen
    Auf der Linux Rechnerseite habe ich keine Probleme die Daten zu empfangen.
    Wie empfängst du die daten, wenn es kein Problem ist?
    Ich denke du brauchst ein Programm, das dir hilft Daten überhaupt von der PLC zu empfangen.
    Da gibt es von Zottel die libnodave Bibliothek, die auch unter Linux funktioniert.
    Da gibt es hier verschiedene Threads in denen über Anbindung mit Java oder #C so etwas realisiert wurde.
    Leider weiß ich nicht ob es mit 1200er funktioniert
    Mit Lazarus/fpc und Linux und CPU 315 funktioniert das bei mir.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  3. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Ich habe letztens mal eine kleine Anleitung für jemanden geschrieben, mit kleinen Beispielen in python.
    Alles ohne Fehlerbehandlung. Es zeigt nur wie so etwas grundsätzlich aufzusetzen ist.

    Im Beispiel ist die SPS passiv, das lässt sich aber relativ einfach umstellen.

    S71200-TconPassive-Demo-TIA-V11-2.pdf

  4. #4
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    hi,

    sorry habe mich etwas unklar ausgedruckt. Also auf der Linux Seite habe ich ein Perl Skript laufen und kann TCP oder UDP Meldungen anzeigen. Da brauche ich erstmal keine weitere Hilfe. Aber auf der SPS seite weiß ich halt nicht, wie ich Daten verschicken soll. Das Tutorial ist shcon echt gut aber ich weiß noch nciht wie ich zum Beispiel den Teilnehmer im TCON-DB einstellen soll. Muss ich noch was unter Geräte & Netzwerk konfigurieren. Will eigentlich nur die IP des Linux Rechners angeben und da erstmal Daten hinschicken im nächsten Step soll die SPS natürlich auch auf Commandos vom Rechner reagieren. Einer ne Idee oder ein Projekt wie ich das am besten umsetze?

    Gruß kami

  5. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Ich habe die Screenshots mit der V11 gemacht. Dort hat es ausgereicht, nur im TCON-Instanz-DB die Verbindungsdaten einzutragen, ohne einen Partner zu spezifizieren oder eine Station in Geräte und Netze anzulegen.

    In meinem Beispiel reagiert die SPS schon auf eingehende Daten. Sind die ersten beiden empfangenen Zeichen "h" und "e", wird der Inhalt von "SendData".data an den Partner geschickt.
    Das lässt sich beliebig erweitern. Ich würde bei den Daten in Sende- und Empfangsrichtung eine feste Datenlänge vorsehen. Ansonsten ist es aufwändiger eine saubere Kommunikation hinzubekommen.

  6. #6
    Registriert seit
    29.04.2014
    Beiträge
    41
    Danke
    29
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,
    ich brauche auch eine TCP/IP kommunikation zwischen S7-1200 TIA V13 und Linux . Und ich bekomm das überhaupt nicht hin..Sorry, bin echt ein newbie .
    Zum testen habe ich erstmal nur einen Laptop auf dem "Hercules" und TIA läuft.

    PING geht
    In dem Tia Projekt ist der TRCV_ baustein folgend konfiguriert
    trcv_c_parameter.jpg

    Wenn"cont" auf 1 gesetzt wird --> dann ist der status 7001 ( Wartet auf Auftrag) und trcv_c Ausgang "busy" ist 1
    Mit HERCULES ( Vom Laptop) funktioniert connect. Die Verbindung wird aber sofort wieder geschlossen laut der Hercules SW?

    trcv_c_7001.png
    Wenn "CONT" auf 0 gesetzt wird bekomme ich status 7000 ( not active) und TRCV_C Ausgang Busy ist 0. Dann kann Hercules auch keine Verbindung aufbauen.

    Mein erstes Problem ist also die Verbindung aufrecht zu erhalten. Hat da jemand eine Idee
    Das nächste Problem wird dann bestimmt etwas an die 1200 zu senden...

  7. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Obs daran liegt weiß ich nicht, aber ich würde als erstes die Parameter LEN und DATA zueinander passend machen. An DATA hast du nur ein Merkerwort, d.h. passend dazu wären 2 Bytes an LEN anzugeben. Oder du legst dir gleich ein entsprechend großes Char-Array in einem Datenbaustein an, dann kannst du auch besser die empfangenen Zeichen beobachten.

    Der Fehler mit LEN/DATA sollte aber an ERROR und STATUS angezeigt werden. Am Besten sicherst du dir den Wert von STATUS mit einer steigenden Flanke an ERROR in eine weitere Variable (DB oder Merker), deren Wert du dir dann später ansehen kannst.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  8. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    wave (31.01.2017)

  9. #8
    Registriert seit
    29.04.2014
    Beiträge
    41
    Danke
    29
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey danke Thomas_v2.1 . Ein DB mit Char-array 0-6 am Data eingang vom TRCV_C hat geholfen.
    Die daten die Hercules sendet werden im Char-array abgelegt und die Verbindung bleibt bestehen .
    Ich hatte zuvor ein MW am Data und LEN auf 2 gestellt das ging aber nicht.

    Für mein nächstes Problem werde ich jetzt erstmal im forum suchen.
    In dem Projekt ist ein HMI kp300 das parallel zu dem UNIX rechner ( die gleichen) Daten mit der cpu1200 austauschen soll. Im Prinzip ist der Unix rechner ein klon vom HMI.
    Vielleicht hat ja jemand einen link oder Schlagwort für mich...

  10. #9
    Registriert seit
    19.02.2016
    Beiträge
    462
    Danke
    8
    Erhielt 54 Danke für 49 Beiträge

    Standard

    Wie wäre es, wenn du den HMI-DB auf nicht optimiert stellst und dir die Daten einfach vom Linux selbst holen lässt?
    (Libnodave oder andere derivate)

    Vorteil: Du brauchst an dem TIA-Projekt sonst nichts mehr ändern...

    MfG Fabsi

  11. #10
    Registriert seit
    29.04.2014
    Beiträge
    41
    Danke
    29
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Libnodave etc. geht leider nicht weil der Kunde nichts "fremdes" auf seinem UNIX installieren will.
    Frage:
    Hercules sendet der CPU1200 6 char (abcdef) .
    Im DB vom DATA eingang des TRCV_C habe ich bei datentyp String[8] eingetragen.
    Im DB kommt dann abcd$00$00$00 ... an . Also irgendwie nur 4 char statt 6. Das passt überhaupt nicht zu dem was ich dazu in der doku zur cpu1200 gelesen habe.

    data string.pngdata string TRCV_C.png

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 27.02.2017, 08:23
  2. Kommunikation zwischen Linux/C++ und B&R X20 CPU
    Von NikolasE im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 10.08.2015, 12:32
  3. Antworten: 15
    Letzter Beitrag: 20.10.2014, 10:26
  4. Ethernetkommunikation zwischen S7 und S7
    Von babenj im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.12.2011, 08:49
  5. Datenaustausch zwischen S7-1200 und S7-1200
    Von baschan im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.12.2011, 00:27

Lesezeichen

Berechtigungen

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