.Net/C# Anwendung an S7-1500

Michi1254

Level-2
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
wir wollen eine eigene HMI entwickeln und suchen gerade nach einer passenden Schnittstelle zwischen unserer Anwendung .NET/C# und einer S/-1500. Laufen soll des ganze auf einem Standard Office PC, also keine spezielle Hardware oder Ähnliches. Alles unter Windows.

Wir hatten sowas schon bei einem anderen Steuerungshersteller, da gabs ne fertige dll und ein kleines Programm als Gateway.

Wir wollen es alles symbolisch halten, also keine absolut addressierten DBs, kein Put/GET.

Was uns schon so an Ideen kam:
  • OPC-UA (hatten wir in der Vergangenheit Performanceprobleme wenn der Server auf der CPU lief, könnte sich aber mit den neuen CPUs erledigt haben)
  • MQTT (Es muss immer ein Brocker mit Installiert werden und die Kommunikation in der SPS ausprogrammiert werden)
  • Profinet (Haben wir bereits bei einer Software die mit einem Roboter kommuniziert eingesetzt, benötigt entweder zusätzlich Hardware oder Software die irgendwie schwierig zu finden ist)
Wie löst ihr die Probleme bei der eine eigene Software mit einer S7 kommunizieren soll? Zugekaufte Software? Eigene Protokolle auf TCP/IP Basis?

So richtig gefällt uns gerade noch keine der genannten Lösungen.

Danke für euren Input.
 
Danke für eure Antworten.

@JesperMP Das habe ich auch gesehen. Klingt auch interresant nur brauchen wir hier wieder eine Recht teure Lizenz. Die Profinet-Karte die wir bisher im Einsatz haben ist da über 50% günstiger.

@Steglitzhausen Hatte ich mal bei einem Festo-Umrichter im Einsatz. Habe mich aber noch nicht mit der S7 damit beschäftigt. Hast du hier irgendwelche Erfahrungen wie sich der Server auf die CPU auswirkt? Wie schnell man Variablen lesen kann?
 
Hallo Zusammen,
wir wollen eine eigene HMI entwickeln und suchen gerade nach einer passenden Schnittstelle zwischen unserer Anwendung .NET/C# und einer S/-1500. Laufen soll des ganze auf einem Standard Office PC, also keine spezielle Hardware oder Ähnliches. Alles unter Windows.

Ich würde nie auf die Idee kommen das Rad neu erfinden zu wollen.
Man sucht sich besser einen Hersteller der eine sehr flexible HMI hat.

 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Michi1254 Ich habe einmal eine 1515-2PN als Modbus-Client eingesetzt. Auf der X1-Schnittstelle waren alle Profinet Devices. Die X2-Schnittstelle habe zur ModbusTCP Kommunikation genutzt. Es war jedoch lediglich nur ein Siemens Sentron PAC3200 als ModbusTCP Server angeschlossen und den habe ich nur im Sekundentakt ausgelesen. Das hätte man natürlich auch alles an der X1 Schnittstelle mit anschließen können. Profinet und ModbusTCP können sich eine Schnittstelle teilen.
 
Danke für eure Antworten.

@JesperMP Das habe ich auch gesehen. Klingt auch interresant nur brauchen wir hier wieder eine Recht teure Lizenz. Die Profinet-Karte die wir bisher im Einsatz haben ist da über 50% günstiger.

@Steglitzhausen Hatte ich mal bei einem Festo-Umrichter im Einsatz. Habe mich aber noch nicht mit der S7 damit beschäftigt. Hast du hier irgendwelche Erfahrungen wie sich der Server auf die CPU auswirkt? Wie schnell man Variablen lesen kann?
Wie wäre es mit der Entwickler-Lizenz?

Die liegt bei etwa 4.000€ und Software die mit dieser erstellt ist kann beliebig oft ausgeliefert werden.

Grüße

Marcel
 
Den einzigste Möglichkeit direkt auf S7-1500 zuzugreifen ohne PUT/GET oder OPC UA den mir bekannt ist, ist Deltalogic AGLINK.
edit: Und wenn symbolischen Zugriff an DBs gefordert ist.
Das ist so nicht ganz richtig ;-)
Unsere Library "PLCcom für S7" unterstützt auch den symbolischen Zugriff ohne Put/Get oder Opc Ua.
Gerne mal ausprobieren, den Download, Testlizenzen und eine Preisübersicht gibt es hier: https://www.indi-an.com/de/plccom/for-s7/fuers7-uebersicht/
Gibt es für .net und java Entwickler, es handelt sich hier auch um Entwicklerlizenzen...

Viele Grüße
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit Profinet über CP Karte handelt es sich vermutlich um 'ecthen' Profinet. D.h., die Daten werden mittels Transferbereiche übertragen. Also kein symbolischen Zugriff auf DB's.
Und dann braucht man auf die PC Seite irgendeine Programmschnittstelle. Das bekommt man vielleicht inklusiv mit der Karte. Es kostet aber pro Projekt eine Karte.
edit: Diese unbekannte CP Karte, ist das vielleicht eine Siemens-CP, und mit Simatic Net als Programmschnittstelle ?
In diesen Fall hat man auch symbolischen DB Zugriff.

Auch mit Modbus TCP hat man keine symbolischen Zugriff an DB's.

@Indi-An , Danke für die Info.
 
Zuletzt bearbeitet:
Ich würde nie auf die Idee kommen das Rad neu erfinden zu wollen.
einmal erfinden, und schon hat mach sich lebenslang unabkömlich gemacht ;)

Da wirst nie fertig, so schnell wie sich heut alles ändert. Zertifikate, Verschlüsselung, Passworte, optimierte DBs, Performance... mit jeder TIA-Version ist gefühlt irgendwie wieder alles anders...

Vermutlich wäre nach heutigem Stand noch am langlebigsten OPC-UA...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die vielen Antworten.

Wir wollen sicher nicht alles neu erfinden. Haben aber auch schon funktionierende Software die über eine Schnittstelle mit der Steuerung kommuniziert wo zum Beispiel Visiwin einfach zu viel mitbringt das es sich lohnt. Wäre etwas mit Kanonen auf Spatzen geschossen.
Auch Entwicklerlizenzen wollen wir vermeiden, TIA ist schon teuer genug.
Wir haben auch schon Versuche und Maschinen mit Unified umgesetzt, aber bei der aktuellen Aufgabenstellung ist das nicht das richtigen (viel Datenbankanbindung, Logik die nicht in der SPS abgebildet werden kann, Mehr oder Weniger Lagerregal)

Zertifikate, Passwörter etc. ist definitiv ein und Punkt den man beachten sollte, wenn ich mir die Diskussion so anschaue ist OPC UA wohl doch die beste Wahl.

@JesperMP ich kann die gerade den genauen Typ nicht sagen, aber wir verwenden keinen Siemens CP. Profinet wäre eben der Vorteil das wir auch unsere Roboter (Abb) mit anbinden könnten. Die Programmierung in der Siemens Welt ist recht einfach (Einfach hin und herschieben über Datentypen). Das funktioniert recht gut und war daher auch unser erster Ansatz.

Danke für die vielen Antworten und vielleicht ergibt sich ja noch der ein oder andere Ansatz.
 
Ich will nochmal etwas nachschieben was die Fragestellung betrifft das es eventuell etwas genauer wird.

Wir arbeiten in 99% der Fälle mit dem Et200sp System (Steuerung Und IOs) und machen Maschinen die mit etwa 3 - 10 pro Jahr beziffert sind wobei jede dann doch etwas besonders ist. Parallel sind wir auch Sondermaschienenbauer die alles bauen was der Kunde will, viel Automobilzulieferindustrie, aber auch Handling im Bereich Stahlguss o. Ä.

Für unsere Serienmaschinen haben wir bereits Software die wie gesagt mit einer Profinetkarte oder einer anderen Steuerung ausgestattet sind wo der Hersteller uns was eigenes kostenfrei mitgeliefert hat.

Aus Gründen der Verfügbarkeit an Siemens Programmierern und weil von uns allen eben jeder in der Siemens-Welt schon Berührung hatte ist die Entscheidung gefallen alles auf Siemens umzustellen. Auch weil der Sondermaschienenbau eben viel Siemens fordert.

Alles in allem brauchen wir jetzt eben hier ne Schnittstelle die uns da weiter bringt.

Danke für eure hilfreichen Beiträge.
 
Zuletzt bearbeitet:
Hallo Zusammen,
wir wollen eine eigene HMI entwickeln und suchen gerade nach einer passenden Schnittstelle zwischen unserer Anwendung .NET/C# und einer S/-1500. Laufen soll des ganze auf einem Standard Office PC, also keine spezielle Hardware oder Ähnliches. Alles unter Windows.

Wir hatten sowas schon bei einem anderen Steuerungshersteller, da gabs ne fertige dll und ein kleines Programm als Gateway.

Wir wollen es alles symbolisch halten, also keine absolut addressierten DBs, kein Put/GET.

Was uns schon so an Ideen kam:
  • OPC-UA (hatten wir in der Vergangenheit Performanceprobleme wenn der Server auf der CPU lief, könnte sich aber mit den neuen CPUs erledigt haben)
  • MQTT (Es muss immer ein Brocker mit Installiert werden und die Kommunikation in der SPS ausprogrammiert werden)
  • Profinet (Haben wir bereits bei einer Software die mit einem Roboter kommuniziert eingesetzt, benötigt entweder zusätzlich Hardware oder Software die irgendwie schwierig zu finden ist)
Wie löst ihr die Probleme bei der eine eigene Software mit einer S7 kommunizieren soll? Zugekaufte Software? Eigene Protokolle auf TCP/IP Basis?

So richtig gefällt uns gerade noch keine der genannten Lösungen.

Danke für euren Input.
Das hängt ganz davon ab was diese Visu-Software können soll und ob das einzeln eingesetzt wird oder in 1000er Stückzahlen ausgeliefert wird.

Bei kleinen Mengen wird sich das Selbstentwickeln nie rechnen, aber ich denke das habt ihr bedacht. Bei einfachen Visu-Anwendungen könnte auch der View-of-Things Mechanismus auf dem Webserver der S7 interessant sein.

Ihr wollt im Prinzip auf Variablen auf der S7 zugreifen, dafür existieren im Prinzip 3 Wege
1. OPC UA mit Server direkt auf der S7
2. JSON-RPC über die Web-API der S7
3. S7-Protokoll

1. OPC UA auf der S7
Dafür ist eine Laufzeitlizenz pro CPU fällig (mittlerer dreistelliger EUR-Betrag) ansonsten ein solider einfacher Zugriffsweg. Man kann mit aktueller Firmware mit Role-Based Access oder Companion Specification sehr genau festlegen welche Variablen der OPC-Client sieht. Seit den CPUs mit Firmware 3.x ist das ganze auch mit den kleinen CPUs performant. Da das Polling der Variablen findet innerhalb der Steuerung statt - eine blitzsaubere Lösung. Security gibts fertig dazu.

2. JSON-RPC über die Web-API der S7
Im Prinzip pollst du damit Variablen über den Webserver der Steuerung. Das ist deshalb nett weil es ohne Laufzeitlizenzen ist - für schnelle Vorgänge ist das ungeeignet. Für zyklische Applikationen mit > 100 Variablen gleichzeitig ebenso.

3. S7-Protokoll
Das S7-Protokoll ist nicht offengelegt und ändert sich mit jeder TIA-Version irgendwie. Für den Put/Get Zugriff gibt rs gute Bibliotheken, aber im Kontext von IT-Security sind diese für Neuentwicklung an sich tabu. Wenige Hersteller wie Siemens, Tani oder Deltalogic bieten Middleware an welche das S7-Protokoll spricht - jeder mit etwas anderen Lizenzmodellen.
Die Simatic NET PC Software ist eine solche. Um einen mittleren dreistelligen EUR-Betrag bekommt man eine Lizenz mit der zeitgleich 8 SPSen angebunden werden können. Variablen werden übers Netzwerk gepollt - zum Client (also deiner Applikation) kommt OPC UA zum Einsatz.
Die Tani PLC Engine wäre wohl interessant um Teile eurer Aufgabenstellungen ohne C# abzubilden - ich denke die haben abgesehen von Siemens selbst die mächtigste S7-Protokoll-Implementierung.

Weitere Ansätze wie eine Modbus-TCP, Profinet-Karte oder MQTT laufen wohl an deinem Anwendungsfall vorbei, vor allem muss für jeder Variable auf der SPS-Seite was programmiert werden.
 
Zurück
Oben