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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Schneller(!) Treiber für S7 <--> C# gesucht

  1. #1
    Registriert seit
    16.09.2009
    Beiträge
    62
    Danke
    4
    Erhielt 25 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich suche einen extrem schnellen Treiber, um aus meinem C#-Programm mit einer S7 zu kommunizieren.
    Der Treiber muss eigentlich nicht viel können (nur halt schnell sein):
    - nur S7-300/400 bzw. VIPA-300, CPU oder CP
    - nur Ethernet
    - 1 PC zu bis zu 4 Steuerungen
    - Protokoll S7 bzw. RFC1006 (d.h. möglichst ohne Programmierung in der S7)
    - nur DBs lesen und schreiben
    - Datenmengen: sowohl wenige Wörter als auch große Blöcke (mehrere K Wörter), die Geschwindigkeit ist insbesondere bei den kleinen Telegrammen wichtig
    - am Besten eine dll für C#/.NET
    - darf ruhig etwas kosten

    Beim Googeln findet man ja hunderte Treiber, und da ist natürlich jeder der Schnellste ...
    OPC scheidet wohl aus.

    Wie sind denn Eure (positiven/negativen) Erfahrungen diesbezüglich mit den verschiedenen Produkten? Was könnt Ihr empfehlen?

    Grüße
    kpf
    Zitieren Zitieren Schneller(!) Treiber für S7 <--> C# gesucht  

  2. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Es gibt www.indi-an.de und www.deltalogic.de. Glaube du kannst probieren und später bezahlen wenn du dich für einer entscheidest.

    Mehrere K-Wörter wäre ein Problem. Am mindestens bei S7-300 gibt es eine Grenze bei 244 Bytes (oder in die Nähe davon, bin nicht 100% sicher wo es liegt) was der CPU in einen Sende-Auftrag senden kann. Mehre Daten müssen in mehere "Pakete" zerteilt werden.
    Geändert von JesperMP (19.09.2012 um 14:52 Uhr)
    Jesper M. Pedersen

  3. #3
    Registriert seit
    13.10.2007
    Beiträge
    12.032
    Danke
    2.787
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    Auch wenn es nicht ganz in dein Auswahlkriterium passt, bestünde
    nicht die Möglichkeit einen Siemens IPC zu nutzen. Dort könntest du
    mit der ODK Software direkt über C#./.NET auf die S7 Soft SPS zugreifen.
    Damit können dann zyklisch Daten ausgetauscht werden, dieses wird oft genutzt
    wenn man alle anderen S7 Steuerungen zu langsam sind.

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

    Standard

    Du kannst auch libnodave verwenden, ist kostenlos! Oder s7net (http://s7net.codeplex.com/). Oder meinen LibNodave Wrapper (http://siemensplctoolboxlib.codeplex.com/)

    ich denke wirklich große unterschiede gibts da in der Geschwindigkeit nicht, da dort eher die S7 der bremsende Teil ist! (Da du das S7 Protokoll verwenden willst!)

    Bei meiner lib hast du noch den Vorteil, es Anfragen an einen den DB zusammengefasst wenn möglich. Ich glaube auch das aber AGLink auch so eine funktion integriert hat!

    Das Problem beim S7 Protokoll sind halt die Begrenzung auf 240 (480 bei 400er) Bytes pro Anfrage und Antwort!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #5
    kpf ist offline Benutzer
    Themenstarter
    Registriert seit
    16.09.2009
    Beiträge
    62
    Danke
    4
    Erhielt 25 Danke für 14 Beiträge

    Standard

    Danke erstmal für Eure Antworten.
    @JesperMP: Deltalogic könnte eine Möglichkeit sein. Indian basiert, soweit ich erkennen kann auf Java (oder ist der.Net-Treiber nativ?) und fällt damit aus.
    @rostiger Nagel: Siemens-PCs und Soft-SPS fallen leider aus, es gibt schon einige existierende Anlagen. Außerdem möchte ich genau den zyklischen Datenaustausch im Hintergrund vermeiden, das kostet zuviel Zeit. ich will nur immer GENAU die Daten lesen/schreiben, die ich brauche.
    @Jochen Kühner: Bei libnodave habe ich etwas kalte Füße. Das liegt daran, dass wir einen entsprechenden Treiber jetzt im Einsatz haben - zugegeben ein paar Jahre alt und mit VB6 erstellt. Der ist sowas von schnarchlangsam, da kann ich die Bits auch zu Fuß über die Leitung tragen - und programmiert hat den kein Dummer (nein, nicht ich )! Das Zusammenfassen der DB-Zugriffe ist eher kontraproduktiv bzw. irrelevant, das würde ich sowieso abstellen wollen.
    Danke an alle für den Hinweis, dass ich große Pakete zerlegen muss - daran hatte ich noch nicht gedacht. Vom Aufwand her ist es eigentlich egal, ob ich in der S7 oder im Treiber was mache, aber die Anlagen gibt es schon und da will ich möglichst wenig ins S7-Programm eingreifen - deswegen S7/RFC1006.

    Was mich interessieren würde - gibt es irgendwo Vergleiche oder Erfahrungen z.B. Deltalogic vs. libnodave vs. S7net oder so?

  6. #6
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Es gibt sowohl bei ACCON-AGLink und bei libnodave Funktionen, die das Aufteilen der Pakete selbständig übernehmen.
    Und das optimale Zusammenfassen von Daten kann den Transfer deutlich beschleunigen (AGL_ReadOpt etc. in ACCON-AGLink). Dies bringt natürlich nicht mehr so viel bis gar nichts (CPU-abhängig), wenn die Daten sowieso am Stück vorliegen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

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

    Standard

    Wie Jochen schon geschrieben hat liegt bei der S7 Kommunikation das Nadelöhr auf S7 Seite.
    Darum liegt die einzige Möglichkeit den Datenaustausch schneller zu machen die Daten möglichst optimal zu packen sodass wenige Telegramme zu Stande kommen.

    Je nach CPU bestünde noch die Möglichkeit mehrere Aufträge parallel abzuschicken, aber ich habe noch keinen Treiber gesehen der davon Gebrauch macht (was aber natürlich nichts heißen muss). Es ist auch nicht unwahrscheinlich dass es keinen Geschwindigkeitsvorteil bringt dieses auszunutzen, denn die CPU der SPS kann nur einen Auftrag zur Zeit bearbeiten.

    Wenn du libnodave verwendest bist du selbst dafür verantwortlich die Daten optimal in Telegramme zu packen. Wahrscheinlich ist das der Grund dafür dass eure Anwendung so langsam ist, oder VB ist daran schuld. Technisch gesehen gibt es nicht viel Möglichkeiten den Datenaustausch schneller als mit libnodave umzusetzen.

    Mit dem Benchmark der bei libnodave dabei ist misst du dementsprechend hauptsächlich die Antwort-Geschwindigkeit der CPU und nicht die des Treibers.

    Mit einem Benchmark zu messen wie gut ein Treiber die Daten packt wird schwierig, denn dazu müsstest du Details des Protokolls kennen um entsprechende Datenbereiche für so einen Test anzulegen. Ich kann dir nur sagen dass der S7-Treiber bei WinCC-flexible überhaupt nicht packt und somit von der Geschwindigkeit der langsamste überhaupt ist. Dem DAserver von Wonderware habe ich öfters beobachtet, und der optimiert wirklich sehr gut.

    Von s7net würde ich zum aktuellen Zustand abraten: Keine echten Bit-Write Befehle, ISO-on-TCP Protokoll Ebene ist nicht vollständig implementiert sodass du z.B. mit einer WinAC nicht kommunizieren kannst, kein Aushandeln der PDU Größe, etc.

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

    Standard

    Zitat Zitat von kpf Beitrag anzeigen
    @Jochen Kühner: Das Zusammenfassen der DB-Zugriffe ist eher kontraproduktiv bzw. irrelevant, das würde ich sowieso abstellen wollen.
    Das ist in meiner DLL natürlich auch optional implementiert, also es kann benutzt werden, oder eben nicht!

    Zitat Zitat von kpf Beitrag anzeigen
    Danke an alle für den Hinweis, dass ich große Pakete zerlegen muss
    Das macht bei mir auch die Bibliothek, dabei muss man natürlich beachten, das es dann keinen Konsistenz gibt, wobei es diese bei den neueren CPUs soweit Ich weis eh nicht mehr gibt, da die S7 Kommunikation azyklisch läuft!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

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

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Es gibt sowohl bei ACCON-AGLink und bei libnodave Funktionen, die das Aufteilen der Pakete selbständig übernehmen.
    Wo gibts denn bei libnodave diese Möglichkeit? Es gibt dort doch nur eine Funktion um Bereich größer als eine PDU zu lesen, aber zum optimieren gibts doch keine, oder?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @kpf:

    nochwas: ich hab in meiner bibliothek ein beispielprogramm "readspeedtest", da kannst du messen wie schnell libnodave ist, und auch vergleichen was es an zeit kostet meine "high level" funktionen zu nutzen (fast kein unterschied).
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

Ähnliche Themen

  1. Treiber gesucht
    Von Unforgiven im Forum PC- und Netzwerktechnik
    Antworten: 13
    Letzter Beitrag: 15.07.2011, 00:01
  2. CP 5412 A1 Treiber gesucht.
    Von Rudi im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 30.11.2010, 12:17
  3. CP 5412 A1 Treiber gesucht.
    Von Rudi im Forum PC- und Netzwerktechnik
    Antworten: 1
    Letzter Beitrag: 24.11.2008, 08:24
  4. Treiber o.ä. für ZB4-501-UM1 gesucht
    Von erkoausbe im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 02.04.2006, 09:06
  5. Schneller S7-Treiber ACCON-S7-NET - jetzt V1.0.2 verfügbar
    Von Gerhard Bäurle im Forum Werbung und Produktneuheiten
    Antworten: 9
    Letzter Beitrag: 30.11.2005, 10:28

Stichworte

Lesezeichen

Berechtigungen

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