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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 38 von 38

Thema: ADS-protokoll in Python 2.7 implementieren

  1. #31
    drfunfrock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe einmal nach langer Zeit hier einen Besuch gemacht und möchte noch die Anmerkung machen, dass man sehr gut mit dem Webserver Tornado (Python was sonst) und Web sockets eine Echtzeitkommunikation zwischen Web client und server hinbekommt. Mit Tornado ist das recht einfach. Ich habe das mit Python für das Omron FINS Protokoll gemacht, indem ich die Daten lese und in einen zentralen Pool (Dictionary) stelle. Tornado sendet einfach jede Sekunde dann die Daten über ein Websocket an den Client, der die Daten mit simplen Javascript entgegennimmt.. Mit Javascript lassen sich dann Zeiger, Instrument etc animieren. Die notwendige Interprozesskommunikation zwischen Webserver und Datenpool mach ich mit ZMQ, dass schon zu einfach ist. Multithreading ist definitiv nicht so gut geeignet.
    Geändert von drfunfrock (19.03.2015 um 21:32 Uhr)

  2. #32
    Registriert seit
    31.05.2007
    Beiträge
    165
    Danke
    23
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ich häng mich da mal in das Thema mit ein, da ich mit einem Cx9020 über TCP/IP kommunizieren möchte und von Python noch keine Ahnung hab. Bisher findet der Transfer über einen TCP/Ip-Stack via Laptop und Python 2.7 statt.
    Nun sollen die Daten aber vom Cx9020 und TC 3 ausgelesen werden. Den Cx hab ich in soweit mal vorbereitet und die TF6310 für die TCP/IP-Kommunikation installiert, sowie das Beispiel_02 der TCP bib geladen, aber irgendwie komm ich da nicht mehr weiter.
    Für die weitere Vorgehensweise wäre ich für Tipps dankbar.
    Grüße
    Andy

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

    Standard

    Ich habe kürzlich die adshli Bibliothek verwendet, relativ einfach zu benutzen:
    https://github.com/simonwaid/adshli

    sample_code.py anschauen und ab gehts.

  4. #34
    Registriert seit
    31.05.2007
    Beiträge
    165
    Danke
    23
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Danke für die schnelle Antwort.
    Was brauch ich denn alles aus der adshli-Bibliothek? Muss ich das Python Skript aus Sample_Code.py in TwinCAT einbinden oder ist das für meine Gegenstelle gedacht, die mit dem Cx kommuniziert?
    Kann ich auf dem Besipiel_02 von Beckhoff aufbauen, wer ist dann Server/Client?
    Andy

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

    Standard

    Das ist für die Gegenstelle, also um von einem Client aus Daten von deiner TwinCAT Steuerung zu lesen.

    Ohne das Setup auszuführen, benötigst du nur den Unterordner adshli. In deiner Beckhoff-Steuerung musst du wahrscheinlich eine passende ADS-Route anlegen, sonst nichts.
    Mit den Beckhoff-Beispielen kannst du nichts tun. Du gibst ganz einfach nur den Variablennamen und den Datentyp an, und dann wird dieser Wert aus der Steuerung gelesen. Wesentlich einfacher als mit den Beckhoff-Ads-Dlls.

    Das einzige was in der Doku zu adshli nicht explizit erwähnt ist, dass du für die Typen die gleichem Formatzeichen wie auch für das struct-Modul von Python verwenden musst.

  6. #36
    Registriert seit
    31.05.2007
    Beiträge
    165
    Danke
    23
    Erhielt 4 Danke für 4 Beiträge

    Standard

    In meinem Fall möchte ich Daten mit der TwinCAT Steuerung auslesen. Dann ist wahrscheinlich der Cx9020 der Client und meine Gegenstelle der Server.
    Die Route lege ich mir im Cx-Config unter RAS-Control an?
    Angehängte Grafiken Angehängte Grafiken

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

    Standard

    Zitat Zitat von Andy_Scheck Beitrag anzeigen
    In meinem Fall möchte ich Daten mit der TwinCAT Steuerung auslesen. Dann ist wahrscheinlich der Cx9020 der Client und meine Gegenstelle der Server.
    Daten mit der TwinCAT Steuerung auslesen...von was?

    Du kannst auch eine nackte TCP-Verbindung nehmen über die du die Daten übermittelst, dann musst du dich um ADS nicht kümmern wenn dir das zu kompliziert ist. Ich kenne mich mit den CXen nicht aus, kann sein dass du für TCP eine kostenpflichtige Bibliothek von Beckhoff benötigst.

  8. #38
    Registriert seit
    31.05.2007
    Beiträge
    165
    Danke
    23
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich möchte quasi Daten von einem Datenlogger via TcpIp auslesen. Die TF6310 hab ich bereits installiert. Dann versuch ich das mal, ob ich das mit der "nackten TCP-Verbindung" hinbekomme
    Andy

Ähnliche Themen

  1. Matlab Code auf S7 implementieren
    Von T-Rex22 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 22.11.2011, 09:07
  2. Offenes ADS Protokoll
    Von s.murauer im Forum CODESYS und IEC61131
    Antworten: 17
    Letzter Beitrag: 19.09.2011, 07:50
  3. ADS Protokoll in Visual Studio 08
    Von td97 im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 17.03.2009, 21:07
  4. SM331 implementieren HILFE
    Von BOBZ im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.01.2007, 13:52
  5. Beckhoff ADS-Protokoll
    Von drfunfrock im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 01.07.2005, 17:01

Lesezeichen

Berechtigungen

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