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

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

Thema: S7-314 mit LibNoDave, DotNetSiemensPLCToolBoxLib oder Snap7

  1. #1
    Parmaster Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich habe eine S7-314 C-2 DP und 3 Karten (FM 353) für Schrittmotoren, wobei ich nur eine Verbindung zur CPU mit MPI habe.

    Dazu schreibe ich noch ein Programm mit VB.NET.

    Nun stellt sich mir die Frage, welche Lib am besten dafür geeignet ist? Wenn ich das richtig gesehen hab, funktioniert Snap7 nur mit Ethernet, oder hab ich etwas übersehen?
    Mit den anderen beiden sollte die Verbindung mit MPI funktionieren, oder?

    Wo findet man eine Doku der beiden Libs? Mich würde vor allem die Verbindung mit MPI interessieren, und natürlich auch eine komplette Übersicht der Befehle.

    Bei der DotNetSiemensPLCToolBoxLib finde ich ehrlich gesagt nicht mal die DLL.

    Wäre nett wenn mir jemand helfen könnte, und evtl. auch ein Beispiel zeigen könnte wie man die Verbindung mit MPI herstellt.

    Vielen Dank schon mal.
    Zitieren Zitieren Gelöst: S7-314 mit LibNoDave, DotNetSiemensPLCToolBoxLib oder Snap7  

  2. "Moin!

    Dreisterweise hänge ich mich hier mal an, weil meine Probleme ähnlich sind:
    Eine kleine Routine, welche mir die Daten aller Profinet-Teilnehmer ausliest wollte ich mir schreiben und greife hierzu auf die SimaticLib zu. Das funzt so weit auch ganz gut, scheitern tue ich an der CPU. Die ist ja kein Slave, sondern ein Modul im Rack unter Stations. Ich komme aber an die Module nicht heran, dann entsann ich mich der DotNetSiemensPLCToolBoxLibrary und bin auch ziemlich begeistert. Ein wesentlicher Punkt ist, daß ich bei den Modulen auch die Angabe der GSDML-Datei benötige, oder der Simatic-Bestellnummer. Eben diese finde ich jedoch in der, von DotNetSiemensPLCToolBoxLibrary gelieferten Struktur auch nicht. Jetzt sitze ich einigermaßen in der Tinte und sehe mich gezwungen, diese Informationen doch wieder von Hand auszulesen, habe aber ein paar Tage mit dem Versuch zugebracht, die Datenbeschaffung zu automatisieren. Hier wäre ich für jeden Tip dankbar.

    By the way: Wenn ich im Debuggingmodus Online auf die Steuerung zugreifen will, bekomme ich die Meldung:
    System.DllNotFoundException wurde nicht von Benutzercode behandelt.
    Message=Die DLL "libnodave_jfkmod.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
    Source=DotNetSiemensPLCToolBoxLibrary
    TypeName=""
    StackTrace:
    bei DotNetSiemensPLCToolBoxLibrary.Communication.LibNoDave.libnodave.closeS7online(I ntPtr port)
    bei DotNetSiemensPLCToolBoxLibrary.Communication.PLCConnection.Dispose() in z:\A\DotNetSiemensPLCToolBoxLibrary-master\LibNoDaveConnectionLibrary\Communication\PLCConnection.cs:Zeile 2694.
    bei DotNetSiemensPLCToolBoxLibrary.Communication.ConnectionEditor.tryConnect_DoWork( Object sender, DoWorkEventArgs e) in z:\A\DotNetSiemensPLCToolBoxLibrary-master\LibNoDaveConnectionLibrary\Communication\ConnectionEditor.cs:Zeile 711.
    bei System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
    bei System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
    InnerException:

    Wenn ich die libnodave_jfkmod.dll in das bin-Verzeichnis kopiere, kann ich die ToolboxForSiemensPLCs.exe auch Online verwenden, aber ich kann halt keine Onlinesachen im Debugmodus betreiben.
    Das ist aber nur Jugend forscht und im Moment nicht mein Hauptproblem, dennoch freute mich auch in diesem Fall ein hilfreicher Tip.

    Gruß

    der Westermann"


  3. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.759
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Hallo, die DotNetSiemens...Lib verwendet intern auch libnodave, allerdings in einer von mir modifizierten Version. Beispiele für VB sind in der Solution enthalten, das ganze gibts bei GitHub: https://github.com/jogibear9988/DotN...ToolBoxLibrary
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  4. #3
    Parmaster Gast

    Standard

    Hallo!

    Das bei github hab ich schon gefunden, allerdings muss ich zugeben dass ich nicht weiß was ich da genau nehmen soll. Den Ordner TestVB? Da ist ja schon seit 2 Jahren nichts mehr geändert worden. Oder ist das noch aktuell?

    Und wo finde ich dort die benötigten DLLs?

  5. #4
    Parmaster Gast

    Standard

    Es wäre nett wenn mir mal jemand zeigen könnte wie man damit eine MPI Verbindung aufbaut. Ich finde bei den ganzen Beispielen usw. bei github keine einzige Verbindung mit MPI per VB.NET. Und die benötigten DLLs hab ich auch noch nicht gefunden.

  6. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.759
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    In dem TestVB Programm wird wenn man auf "Show Config" klickt die Verbindungsconfig angezeigt! Da kann man auch eine MPI Verbindung einstellen. Danach kann man mit "MW100 lesen" das Merkwort 100 auslesen.

    Falls dert Fehler kommt "Die DLL "libnodave_jfkmod.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.", die Dll liegt im "externalDlls" Ordner der Solution und muss in das Verzeichnis in dem dein Programm compiliert wird kopiert werden!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #6
    Parmaster Gast

    Standard

    Wenn ich die DLL hinzufügen will, kommt die Meldung
    Code:
    ---------------------------
    Es konnte kein Verweis auf "C:\Users\$USERS\Documents\Visual Studio 2010\Projects\TestVB\TestVB\bin\Debug\libnodave_jfkmod.dll" hinzugefügt werden. Stellen Sie sicher, dass auf die Datei zugegriffen werden kann und dass sie eine gültige Assembly oder COM-Komponente ist.
    ---------------------------

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

    Standard

    Du musst die auch nicht hinzufügen, sondern nur in das "bin" Verzeichnis kopieren, also das indem deine "exe" etc liegt...

    Wenn die als Verweis nötig wäre hätte Ich Ihn ja hinzugefügt! Warum das so ist: Siehe hier: http://openbook.galileo-press.de/vis...789e900af225da und http://openbook.galileo-press.de/vis...hniken_002.htm
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  9. #8
    Parmaster Gast

    Standard

    Ja, die ist dort auch. Ich hab TestVB genau so übernommen, und in den ersten Zeilen steht dort:

    Code:
    Imports DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks
    Imports DotNetSiemensPLCToolBoxLibrary.Communication
    Imports DotNetSiemensPLCToolBoxLibrary.DataTypes
    Imports DotNetSiemensPLCToolBoxLibrary
    Imports DotNetSiemensPLCToolBoxLibrary.Projectfiles
    Imports DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks.Step7V5
    Imports DotNetSiemensPLCToolBoxLibrary.DataTypes.Projectfolders.Step5
    Imports DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks.Step5
    Allerdings bekomme ich als Fehler das hier

    Code:
    Der in Imports "DotNetSiemensPLCToolBoxLibrary.DataTypes.Blocks" angegebene Namespace oder Typ enthält keine öffentlichen Member oder kann nicht gefunden werden. Stellen Sie sicher, dass der Namespace oder der Typ definiert ist und mindestens einen öffentlichen Member enthält und dass der importierte Elementname keine weiteren Aliase enthält.
    Die DotNetSiemensPLCToolBoxLibrary.dll ist auch in dem Verzeichnis.

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

    Standard

    Du solltest dich vielleicht erst mal mit Grundlagen in Vb.Net befassen!

    Welches .Net Framework hast du als Ziel ausgewählt? Also Ich kann mein Projekt kompilieren und das läuft auch, darin stimmen auch die Verweise! Zu deinem kann Ich ohne Source nichts sagen!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  11. #10
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    534
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin!

    Dreisterweise hänge ich mich hier mal an, weil meine Probleme ähnlich sind:
    Eine kleine Routine, welche mir die Daten aller Profinet-Teilnehmer ausliest wollte ich mir schreiben und greife hierzu auf die SimaticLib zu. Das funzt so weit auch ganz gut, scheitern tue ich an der CPU. Die ist ja kein Slave, sondern ein Modul im Rack unter Stations. Ich komme aber an die Module nicht heran, dann entsann ich mich der DotNetSiemensPLCToolBoxLibrary und bin auch ziemlich begeistert. Ein wesentlicher Punkt ist, daß ich bei den Modulen auch die Angabe der GSDML-Datei benötige, oder der Simatic-Bestellnummer. Eben diese finde ich jedoch in der, von DotNetSiemensPLCToolBoxLibrary gelieferten Struktur auch nicht. Jetzt sitze ich einigermaßen in der Tinte und sehe mich gezwungen, diese Informationen doch wieder von Hand auszulesen, habe aber ein paar Tage mit dem Versuch zugebracht, die Datenbeschaffung zu automatisieren. Hier wäre ich für jeden Tip dankbar.

    By the way: Wenn ich im Debuggingmodus Online auf die Steuerung zugreifen will, bekomme ich die Meldung:
    System.DllNotFoundException wurde nicht von Benutzercode behandelt.
    Message=Die DLL "libnodave_jfkmod.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
    Source=DotNetSiemensPLCToolBoxLibrary
    TypeName=""
    StackTrace:
    bei DotNetSiemensPLCToolBoxLibrary.Communication.LibNoDave.libnodave.closeS7online(I ntPtr port)
    bei DotNetSiemensPLCToolBoxLibrary.Communication.PLCConnection.Dispose() in z:\A\DotNetSiemensPLCToolBoxLibrary-master\LibNoDaveConnectionLibrary\Communication\PLCConnection.cs:Zeile 2694.
    bei DotNetSiemensPLCToolBoxLibrary.Communication.ConnectionEditor.tryConnect_DoWork( Object sender, DoWorkEventArgs e) in z:\A\DotNetSiemensPLCToolBoxLibrary-master\LibNoDaveConnectionLibrary\Communication\ConnectionEditor.cs:Zeile 711.
    bei System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
    bei System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
    InnerException:

    Wenn ich die libnodave_jfkmod.dll in das bin-Verzeichnis kopiere, kann ich die ToolboxForSiemensPLCs.exe auch Online verwenden, aber ich kann halt keine Onlinesachen im Debugmodus betreiben.
    Das ist aber nur Jugend forscht und im Moment nicht mein Hauptproblem, dennoch freute mich auch in diesem Fall ein hilfreicher Tip.

    Gruß

    der Westermann
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

Ähnliche Themen

  1. DB mit Snap7 auslesen und Dint in Zahlen darstellen
    Von themasterchris im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 13.06.2014, 15:18
  2. Antworten: 5
    Letzter Beitrag: 27.05.2013, 21:59
  3. DotNetSiemensPLCToolBoxLib Verbindungen mit S7-200 über CP243-1
    Von honkytonk im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 31.08.2011, 23:00
  4. Libnodave mit Netlink oder Cp343-Lean
    Von jabba im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 11.08.2007, 10:17
  5. Libnodave mit ACControl oder PLCsim?
    Von Thomas_v2.1 im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 02.10.2006, 08:00

Lesezeichen

Berechtigungen

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