Snap7 Fragen

sephias

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe aktuell über meine Firma die Möglichkeit mich in Sachen Hochsprachen in Verbindung mit SPS weiter zu entwickeln.
Aktuell noch über Learning by Doing :)

Ich habe jetzt mal Versucht die Snap7 Verbindung mit einer SPS auf zubauen. Die Verbindung hat auch soweit geklappt.
Nun wollte ich fragen ob und wenn ja wie, ich über das C# Programm einen Ein oder Ausgang auslesen kann? Also einfach mal nur das Signal abfragen. Geht das nur wenn ich die Daten in einem DB habe? Oder kann ich direkt auf einen Eingang zugreifen?
Hat da vielleicht jemand ein paar Code schnipsel parat woraus ich mir was zusammen reimen ( nicht klauen ) kann evtl.

Was würdet ihr sagen ist die "Einfachste" Lösung (OPC,Snap7 etc ) über C# mit einer SPS zu Kommunizieren? Oder würdet ihr sogar eine andere Sprache empfehlen?
Wenn man das ganze über OPCUA macht, gibt es da Gratis Versionen zum testen?

Sorry für die ganzen Anfänger Fragen :) Habe in Sachen OPC etc noch nicht so viele Erfahrungen gesammelt.

Grüße
 
Zuletzt bearbeitet:
Wenn Du Dich mal mit der Arbeitsweise einer SPS beschäftigts, wirst Du erkennen, dass es gar nicht erstrebenswert ist, von außen direkt auf den E/As zuzugreifen. Das sollte man dem SPS-Programm überlassen.

Sonst: 7Sharp habe ich noch nie gehört. Ich würden von proprietärem Zeug auch die Finger weg lassen und eher den OPCUA-Standard nutzen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du Dich mal mit der Arbeitsweise einer SPS beschäftigts, wirst Du erkennen, dass es gar nicht erstrebenswert ist, von außen direkt auf den E/As zuzugreifen. Das sollte man dem SPS-Programm überlassen.
Warum sollte man nicht von außen den Status von E/A´s lesen? Er schreibt ja auslesen und nichts von schreibender Zugriff.
Im Prinzip macht das jede VISU, wenn man die entsprechenden Variablen anlegt.
wie, ich über das C# Programm einen Ein oder Ausgang auslesen kann?
 
Zuletzt bearbeitet:
Wenn Du Dich mal mit der Arbeitsweise einer SPS beschäftigts, wirst Du erkennen, dass es gar nicht erstrebenswert ist, von außen direkt auf den E/As zuzugreifen. Das sollte man dem SPS-Programm überlassen.

Sonst: 7Sharp habe ich noch nie gehört. Ich würden von proprietärem Zeug auch die Finger weg lassen und eher den OPCUA-Standard nutzen.
Ich habe mich natürlich schon öfter mit der SPS beschäftigt. Wie oben beschrieben mache ich aktuelle nur kleinere Versuche in Verbindung mit C# um das ganze besser zu verstehen was die Kommunikation betrifft. Also noch nichts ernst zunehmendes :)
Ja ich meinte Snap7 / Sharp7 , hab da leider Namentlich was durcheinander gebracht 🙈:)
 
Ich benutze für meine (nur intern verwendeten) Projekte Sharp7 und finde es recht einfach einzubinden. Hat halt auch den angenehmen Vorteil, dass man keine dll mitgeben muss.
 
Beispiel (ungetestet):
Code:
S7Client client = new S7Client();
client.ConnectTo("192.168.8.123", 0, 1);

//read
byte[] readBuffer = new byte[10];
string result=client.ErrorText(client.EBRead(1, readBuffer.Length, readBuffer));

Liest dir EingangsByte 1-10.
 
Hallo, also ich habe bei meinen Anwendungen die Snap7 Funktionen in LabVIEW eingebunden. Da gab es in einem Beispielprojekt jede Menge Beispiele, wo der Zugriff auf Datenbausteine, Merker usw erklärt wurde.
Allgemein muss man vl bedenken:
1. Preis (Snap7 ist kostenlos)
2. ob du nur über absolute Adressen zugreifen willst - ohne symbolische Information. Die Symbolische Information ( der Name der Variable wird in Snap7 nicht übertragen) - muss man halt dann vor allem für Änderungen bedenken, wenn auf der Sps welche stattfinden ..
3. die Geschwindigkeit die du benötigst - da wirst du vermute ich mit snap7 ebenfalls um einiges flotter sein.

Allgemein ist es aber auf alle Fälle praktisch deine auszulesenden Werte gebündelt in einem Datenbaustein abzulegen anstatt auf jede Adresse einzeln über die Read Funktionen (readDb, readMw usw) zuzugreifen der Mehrfachaufruf kostet sonst natürlich Zeit - 😉

Aja die einzigen Probleme die ich damals noch hatte (ich habe mir damals für einen Versuchsstand eine Visualisierung in labView erstellt - pc mit labview und s7300 mit Ethernet Modul )

Den Schreibzugriff auf ein Bit im Db hatte ich nicht richtig konfiguriert bekommen..
und snap7 oder Labview? Hatte das Problem, dass nach mehrmaligen verbinden , keine Kommunikation bei Programmstart mehr hergestellt werden konnte , außer man hat labview ganz geschlossen .. da gibts aber bestimmt Lösungen dafür..

LG
 
Zuletzt bearbeitet:
Zurück
Oben