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

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

Thema: Mit C# auf SPS zugreifen

  1. #1
    Registriert seit
    13.01.2010
    Beiträge
    40
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo erst mal.

    Ich würde gerne mit C# auf eine SPS zugreifen.
    Genauer gesagt eine S7-300 CPU 315. Die SPS
    ist mittels Profibus verbunden.

    Wie stell ich diesen Zugriff an? Kann ich ganz
    einfach über die serielle Schnittstelle arbeiten?
    Gibt es Beispielcodes?

    lg Marco*
    Zitieren Zitieren Mit C# auf SPS zugreifen  

  2. #2
    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

    Einfach eine Bibliothek wie libnodave, ACCON-AGLink oder ähnliches benutzen.
    RS232 geht nicht. Es wird ein entsprechender Adapter benötigt.
    Rainer Hönle
    DELTA LOGIC GmbH

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

  3. #3
    Registriert seit
    13.01.2010
    Beiträge
    40
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich würde das ganze gerne ohne libnodave
    zustande bringen. Also nur mit C#. Ist sowas
    überhaupt möglich?

    lg*

  4. #4
    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

    Klar ist das möglich. Einfach das Protokoll direkt in C# implementieren.
    Rainer Hönle
    DELTA LOGIC GmbH

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

  5. #5
    Registriert seit
    13.01.2010
    Beiträge
    40
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok. Woher weiß ich welches Protokoll
    ich implementieren muss? Und wie komme
    ich zu so einem Protokoll?

    lg*

  6. #6
    Registriert seit
    26.10.2009
    Beiträge
    23
    Danke
    0
    Erhielt 6 Danke für 5 Beiträge

    Standard

    Hallo,
    jede Kommunikation zu einer SPS-Steuerung unterliegt einem fest definiertem Protokoll, welches die Hersteller nicht so ohne weiteres herausgeben.

    Zitat Zitat von Red-Sh4nks Beitrag anzeigen
    Ich würde das ganze gerne ohne libnodave
    zustande bringen. Also nur mit C#. Ist sowas
    überhaupt möglich?

    lg*
    allerdings, wenn du eine externe native C#Komponente benutzen möchtest -also nur verwalteten C#-Code-, kein Problem das ist möglich, schau doch bitte einmal hier http://sps-forum.de/showthread.php?t=31324
    Geändert von Indi.An-er (24.01.2010 um 20:03 Uhr)
    Jörg Vermehren
    Indi.An GmbH & Co. KG
    www.indi-an.de

  7. #7
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Ein komfortable und auch "wiederverwendbare" Möglichkeit wäre dann noch OPC.

    1) Dazu benötigt man einen OPC Server, der die SPS(en) kapselt und die Daten der SPS auf dem PC bereitstellt. Den gibt es für 600-800 Euro, entweder für PB-DP oder S7 Protokoll.

    2) Den Client kann man in C# schreiben, da gibt es fertige (einfache) Bibliotheken. Die kosten so um die 600 €. Oder man nimmt die .NET-API der OPC Foundation (ist etwas komplizierter).

    Der Vorteil: eine funktionierende, industrietaugliche Protokollimplementierung in C# kann man selber wohl nicht für 800€ programmieren (selbst wenn man sich nur den Mindestlohn zahlt, ist das nicht zu schaffen) . Weiterhin ist es eine Standardschnittstelle (mit Hersteller-Support, also Garantie) und als Extra kann man Server und Client Komponenten austauschen, falls man mal eine andere SPS verwendet oder den Client mal woanders verwenden möchte.

    Der Nachteil: man muss etwas Geld in die Hand nehmen (lohnt sich für die Heizungssteuerung daheim vermutlich nicht). Wenn es aber das Geschäftsmodell ist jedem seiner Kunden das Rad neu zu erfinden und eine individuelle Lösung zu programmieren, kann man mit OPC nicht so viel Geld verdienen. Meiner Erfahung nach sind die Kunden aber auch nicht blöd und bekommen recht schnell heraus dass man ihnen eine selbsgebastelte Lösung für 15.000€ verkauft hat und für 1.500€ hätten sie etwas "von der Stange" bekommen, was auch noch stabiler läuft und nicht bei jeder kleinen Änderung der Hardware kommplett neu programmiert werden muss.
    Wie gesagt alles eine Frage des Geschäftsmodells.

    Zurück zum Thema: auch OPC kann man mit C# machen, es ist halt nicht "reines" .NET bis zum Treiber runter (Gott sei Dank, werden viele sagen), und schicke Bibliotheken gibt es auch (z.B. ClientACE von Kepware). OPC XML-DA geht auch native .NET und das ganz neue OPC UA geht sowieso native in jeder Sprache.

  8. #8
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard

    Hi,

    hab das hier im Netz gefunden, funktioniert gut:
    http://s7net.codeplex.com/

    Allerdings versteh ich nicht wieso ohne libnodave o.ä. Ich nutze das sehr oft.

    Gruß
    Stefan


    Zitieren Zitieren C#  

  9. Folgender Benutzer sagt Danke zu StefanK für den nützlichen Beitrag:

    Red-Sh4nks (01.02.2010)

  10. #9
    Registriert seit
    13.01.2010
    Beiträge
    40
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, inzwischen ist mir der ernome Vorteil
    von Libnodave bewusst geworden. Ich werde
    doch Libnodave verwenden.

    Bin zur Zeit dabei den Beispielcode aus dem
    Ordner dot.net/cs/simpleiso_tcp.cs zu verwenden.

    Da tun sich aber neue Probleme auf:
    1. Wenn ich den Code in ein Projekt kopiere, können die
    ersten 3 definition nicht gefunden werden.
    static libnodave.daveOSserialType fds;
    static libnodave.daveInterface di;
    static libnodave.daveConnection dc;

    2. Parameter werden gefordert. Wo kann ich die
    Parameter mitgeben?

    3. Ich arbeite über Profibus. Benötige ich trotzdem
    eine IP von der SPS die ich als Parameter mitgeben muss?

    lg Marco*

  11. #10
    Registriert seit
    13.01.2010
    Beiträge
    40
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    3. hat sich erledigt. Ich benötige keine IP Adresse wenn
    ich über Profibus arbeite

    Meine MPI Adresse ist MPI2.
    Geändert von Red-Sh4nks (04.02.2010 um 10:19 Uhr)

Ähnliche Themen

  1. Mit C# auf OPC zugreifen
    Von Bensen83 im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 25.09.2010, 13:58
  2. IN SCL auf dbx zugreifen
    Von Bensen83 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 14.03.2010, 13:11
  3. auf DB in SCL zugreifen
    Von Bensen83 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 18.02.2010, 12:33
  4. Auf S5 über H1 zugreifen
    Von repök im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 15.03.2009, 14:25
  5. Mit Any-Pointer auf PAW zugreifen?
    Von merlin im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.06.2007, 20:51

Stichworte

Lesezeichen

Berechtigungen

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