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

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

Thema: libnodave und softSPS

  1. #1
    Registriert seit
    02.06.2005
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo gemeinde,
    ich bastel gerade an ein VBTool zur visualisierung/archivierung
    da ich viel unterwegs bin und meistens keine S7 hardware mitschleppe suche ich eine (lowbudget )möglichkeit auf eine virtuelle Anlage meine software zu testen.

    daher meine frage:
    gibt es eine möglichkeit mit libnodave auf die s7 plcsim zuzugreifen?
    alternativ - könnte man die libnodave eingabe auf ne virtuelle quelle (zbsp in form einer textdatei "umbiegen"?

    oder kennt jemand einen anderen OPC server welcher sowas kann?

    liebe grüße

    reinhard
    Zitieren Zitieren libnodave und softSPS  

  2. #2
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von renid55
    gibt es eine möglichkeit mit libnodave auf die s7 plcsim zuzugreifen?
    Sorry, PLCsim kenne ich nicht.
    alternativ - könnte man die libnodave eingabe auf ne virtuelle quelle (zbsp in form einer textdatei "umbiegen"?
    Ja:
    1. bei daveNewInterface als Protokoll daveProtoUserTransport angeben
    2. eine eigene Funktion daveExchange schreiben, die zu dem verwendeten Prototyp paßt. In VB könnte das schwer werden:
    3. Diese Funktion müßte dann, von mir auch aus einer Textdatei, Pakete an Libnodave liefern, die aussehen, wie die PDU die eine S7 schickt.

    Bevor ich DAS machen würde, kannst du doch besser gleich ein "Back End" für deine Visualiserung schreiben, daß die Daten aus der Textdatei liefert...



    reinhard[/quote]
    Zitieren Zitieren Re: libnodave und softSPS  

  3. #3
    renid55 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.06.2005
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hallo zottel,

    danke für deine antwort

    Sorry, PLCsim kenne ich nicht.

    Das ist die Siemens SoftSPS welche optional im STEP 7 Packet enthalten/freigeschaltet ist.


    Ja:
    1. bei daveNewInterface als Protokoll daveProtoUserTransport angeben
    2. eine eigene Funktion daveExchange schreiben, die zu dem verwendeten Prototyp paßt. In VB könnte das schwer werden:
    3. Diese Funktion müßte dann, von mir auch aus einer Textdatei, Pakete an Libnodave liefern, die aussehen, wie die PDU die eine S7 schickt.
    Hört sich gut an, sprengt aber leider momentan meinen KnowHow- bzw Zeit-Rahmen ;-(.
    Wo kann man eigentlich das S7 PDU Protokoll/Spezifikation einsehen?

    Bevor ich DAS machen würde, kannst du doch besser gleich ein "Back End" für deine Visualiserung schreiben, daß die Daten aus der Textdatei liefert...
    Sehe ich auch so bzw. habe ich auch schon so gemacht.
    Nur wollte ich, in hinblick auf eine schnelle Anpassung, nicht nur meine Anwendung testen sondern in erster Linie auch den Datenaustausch mit der Schnittstelle bzw OPCServer.
    Ich hatte gehofft daß du bei der Entwicklung ähnliche Probleme hattest und so ein Art "Offline Mode".Flag implementiert hast, welcher zwischen Anlagen-"DatenStream" und Simulation/Datei wechseln kann.

    Trotzdem danke für deine Antwort und auch für das libnodaveTool.

    reinhard

  4. #4
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von renid55
    Das ist die Siemens SoftSPS welche optional im STEP 7 Packet enthalten/freigeschaltet ist.
    Kenne ich vom Hörensagen. Ist aber doch eigentlich ein Simulator, keine SoftPLC, da es nicht wirklich etwas steuern kann, oder? Die SoftPLC WinLC funktioniert mit Libnodave nach einer kleinen Modifikation, die in die nächste Version einfließt. Habe ich aber nie ausprobiert und weiß schon garnicht, ob und welche Schnittstellen es hat. Wie greift man mit Step7 darauf zu? Ist es eine neue Art der Verbindung in "PC/PG-Schnittstelle wählen"?
    Hört sich gut an, sprengt aber leider momentan meinen KnowHow- bzw Zeit-Rahmen ;-(.
    Das ist auch mehr so eine "im Prinzip ja"-Sache. Ich sag' ja, ich ürde es selbst auch nicht machen.
    Wo kann man eigentlich das S7 PDU Protokoll/Spezifikation einsehen?
    Im Internet oder in frei zugänglicher Dokumentation gar nicht,soweit ich weiß. Ich habe mir die Pakete solange angeschaut und Werte verändert bis ich zu wissen glaubte, was was ist.
    ...sondern in erster Linie auch den Datenaustausch mit der Schnittstelle bzw OPCServer.
    OPC ist wieder ganz was anderes.
    Ich hatte gehofft daß du bei der Entwicklung ähnliche Probleme hattest und so ein Art "Offline Mode".Flag implementiert hast, welcher zwischen Anlagen-"DatenStream" und Simulation/Datei wechseln kann.
    Nein, aber es gibt die Datei ibhsim5.c. Die simuliert Teile einer S7 + IBH-NetLink (eigentlich nur die Kommunikation). Sie gibt aber immer dieselben Werte raus, egal ob du Eingänge, Ausgänge, DBS liest. Das ließe sich leicht ändern, aber so wie sie ist läßt sie sich nur unter Linux übersetzen.

  5. #5
    renid55 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.06.2005
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kenne ich vom Hörensagen. Ist aber doch eigentlich ein Simulator, keine SoftPLC, da es nicht wirklich etwas steuern kann, oder?
    stimmt! softsps war der falsche ausdruck.

    Die SoftPLC WinLC funktioniert mit Libnodave nach einer kleinen Modifikation, die in die nächste Version einfließt. Habe ich aber nie ausprobiert und weiß schon garnicht, ob und welche Schnittstellen es hat. Wie greift man mit Step7 darauf zu? Ist es eine neue Art der Verbindung in "PC/PG-Schnittstelle wählen"?
    Die winLC habe ich nicht.
    Der PLCsim von Siemens kann in der Konfiguration eine MPI Nummer zugeordnet werden(Default=2). Danach wird sie wie eine reale PLC behandelt. Wahrscheinlich befindet sich die "Weiche" innerhalb von Step7 auf einem mpi_Objekt.

    deine TestMPI.exe meldete jedenfalls nur timeout.
    aber vermutlich greift sie auch direkt auf die COMx: zu?


    Nein, aber es gibt die Datei ibhsim5.c. Die simuliert Teile einer S7 + IBH-NetLink (eigentlich nur die Kommunikation). Sie gibt aber immer dieselben Werte raus, egal ob du Eingänge, Ausgänge, DBS liest. Das ließe sich leicht ändern.....
    findest du - ich habe sie mir gerade angeschaut *kopfschmerz*


    gruß
    reinhard

  6. #6
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    findest du - ich habe sie mir gerade angeschaut *kopfschmerz*
    ja, der Code ist chaotisher Schrott. Er dient mir auch nur dazu, Step7 ein paar Schritte lang vorzumachen, daß es mit einer S7 spricht, damit ich sehen kann, wie es das macht oder was es aus einer bestimmten Antwort macht.
    Aber das mit den wechselnden Werten ist wirklich nicht schwer. Zwei Wege:

    1.Wenn du einfach nur jedesmal etwas anderes lesen willst, änderst du die Funktion dummyRead, daß sie zum Beispiel etwas hochzählt.
    Willst du eingänge u.s.w. unterscheiden muß sie halt nicht immer was aus dem Konstanten-array dummyRes zurückgeben, sondern z.B. aus einem neuen dummyDB1 oder dummyInputs oder was du möchtest.
    2. Wenn du einen simulierten "Prozess" oder in Kombination mit einem simulierten Programm nebenher laufen haben willst, packst du alles nötige in eine function SPSmain() oder ProzessMain() und startest threads, am besten vor pthread_create(....accepter, );
    Aus diesen Threads könntest du einfach Werte aus den dummyXXX arrays lesen und schreiben...

  7. #7
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Schade, das es nicht geht !

    Ich hätte in der Vergangenheit auch des öffteren Verwendung dafür gehabt- leider kann Siemems Prodave auch nur über physikalische Schnittstellen auf SPSen zugreifen, während die meisten S7-Progamme (wie WinCC, Protool, S7-Manager) ganz transparent die Verbindung auf PLC-SIM aufbauen, wenn dieses gestartet wurde.

    Ich nutzte die Simulation sehr intensiv - wir simulieren alle Projekte auf der Simulation - mit Panel, WinCC und sogar in PCS7- Umgebungen. Nur bei unseren Delphi- Applikationen muss ich da passen

    Aber ich gebe die Hoffnung nicht auf, dass man mit einfacheren Mitteln wie OPC an die S7-Simulation "rankommt".

  8. #8
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von HeizDuese
    Ich nutzte die Simulation sehr intensiv - wir simulieren alle Projekte auf der Simulation - mit Panel, WinCC und sogar in PCS7- Umgebungen. Nur bei unseren Delphi- Applikationen muss ich da passen
    Ich arbeite daran, daß Libnodave die von Step7 mitgebrachten Bibliotheken und Treiber für den Transport nutzen kann. Es gefällt mir zwar nicht, weil es eine "windows only" Lösung ist, aber es wird eine Menge Leute freuen. Vielleicht geht es dann.

    Aber ich gebe die Hoffnung nicht auf, dass man mit einfacheren Mitteln wie OPC an die S7-Simulation "rankommt".
    Ich würde OPC nicht ein "einfaches Mittel" nennen...

  9. #9
    renid55 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.06.2005
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ja, der Code ist chaotisher Schrott. Er dient mir auch nur dazu, Step7 ein paar Schritte lang vorzumachen, daß es mit einer S7 spricht, damit ich sehen kann, wie es das macht oder was es aus einer bestimmten Antwort macht.
    Nee, so meinte ich das nicht. das war keinesfalls eine Kritik an deiner Arbeit. Muß mal meinen Experimentalcode sehen!.
    Ich wollte viel mehr auf meine mangelnde Verständnis/Übersicht bezüglich der Funktionalität des S7_MPI Datenflusses/Format im allgemeinen sowie in libninodave im speziellen ansprechen. Mein Wissen über den MPI DatenAustausch ist wohl zu rudimentär um deine Funktionen zu verstehen. Wenn du mal ein Buch schreibst über "MPI intern" oder so .... ein Exemplar kannste für mich reservieren.

    Aber das mit den wechselnden Werten ist wirklich nicht schwer. Zwei Wege:

    1.Wenn du einfach nur jedesmal etwas anderes lesen willst, änderst du die Funktion dummyRead, daß sie zum Beispiel etwas hochzählt.
    Willst du eingänge u.s.w. unterscheiden muß sie halt nicht immer was aus dem Konstanten-array dummyRes zurückgeben, sondern z.B. aus einem neuen dummyDB1 oder dummyInputs oder was du möchtest.
    2. Wenn du einen simulierten "Prozess" oder in Kombination mit einem simulierten Programm nebenher laufen haben willst, packst du alles nötige in eine function SPSmain() oder ProzessMain() und startest threads, am besten vor pthread_create(....accepter, );
    Aus diesen Threads könntest du einfach Werte aus den dummyXXX arrays lesen und schreiben.
    Eigentlich wollte ich nur ne Visualisierung/Archivierung schreiben....
    Aber was ist das Leben ohne Herausforderung - allerdings wird das aus oben benannten Gründen wohl noch etwas dauern.
    Da gibt es aber noch ein Problem - du schriebst das die Funktion zZt nur unter Linux läuft?
    Trotz meiner gestörter Meinung zu Microsoft möchte ich aus diversen Gründen ("Esst mehr Scheiße, Milliarden von Fliegen können sich nicht Irren!") noch bei Windows bleiben. Mich jetzt auch noch in Linux und seine Anwendungen einzuarbeiten ließen meine Energiereserven nicht mehr zu)
    Lässt sich das Lösen?(oder besser kannst du das?)

    gruß
    reinhard

  10. #10
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von renid55
    Eigentlich wollte ich nur ne Visualisierung/Archivierung schreiben....
    Aber was ist das Leben ohne Herausforderung - allerdings wird das aus oben benannten Gründen wohl noch etwas dauern.
    Da gibt es aber noch ein Problem - du schriebst das die Funktion zZt nur unter Linux läuft?
    Trotz meiner gestörter Meinung zu Microsoft möchte ich aus diversen Gründen ("Esst mehr Scheiße, Milliarden von Fliegen können sich nicht Irren!") noch bei Windows bleiben. Mich jetzt auch noch in Linux und seine Anwendungen einzuarbeiten ließen meine Energiereserven nicht mehr zu)
    Lässt sich das Lösen?(oder besser kannst du das?)
    1. Kann ich das wirklich nicht. Dazu müßte ich lernen wie man a) Server und b) multithreading unter Windows programmiert.
    2. Lohnt es sich absolut nicht. Wirklich nicht.

    Wenn du simulierte Daten in die Visualisierung bekommen willst, warum schreibst du dir nicht irgendetwas (Simulation, einlesen aus Textdatei, Zufallszahlengenerator, Funktionsgenerator, einlesen von der Soundkarte, was auch immer, komilierst es als .dll und gibst den Funktionen dieselben Namen wie in Libnodave? Dann tauscht du einfach die .dll aus, um zwischen "simuliert" und "real" umzuschalten...Oder linkst dein Programm nicht mit Libnodave.dll sondern öffnest deine .dll oder libnodave.dll über ihren Name, holst dir die Funktionen mit GetProcAddress. Dann sagst du deiner Anwendung nur, den Namen der .dll und hast "simuliert" oder"real".
    Wenn du sowieso mit OPC arbeiten willst, da gibt es auch Simulator-OPC-Server, die dir künstliche Daten wie eine Sinuskurve oder so liefern. Meine ich jedenfalls mich zu erinnern.

    Schick mir mal deine mail-Adresse dann geb ich dir die nächste Version von Libnodave zum Testen, sobald es einigermaßen geht, und du guckst, ob sie über die Siemens-.dlls mit PLCsim kommunizieren kann.

Ähnliche Themen

  1. LibNoDave und Verbindung zu IBH-SoftSps in VMware
    Von Manni01 im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 31.01.2011, 21:02
  2. Panel mit SoftSPS
    Von enter im Forum Suche - Biete
    Antworten: 8
    Letzter Beitrag: 24.04.2009, 21:50
  3. LibNoDave und SoftSPS
    Von GvOdin im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 26.01.2007, 07:10
  4. SoftSPS
    Von l_netwalker im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 25.04.2006, 09:18
  5. SoftSPS
    Von fubu16 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.04.2006, 22:00

Lesezeichen

Berechtigungen

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