PLCSim Netzwerkerweiterung "NetToPLCSim"

Zuviel Werbung?
-> Hier kostenlos registrieren
Mal eine kurze Meinungsfrage:

Soll ich Nettoplcsim mit einem Installer ausstatten, oder so beibehalten wie es jetzt ist?

Bisher reicht es die Dateien aus den Downloadpaket nur zu entpacken und die nettoplcsim.exe zu starten. Allerdings ist immer der Schritt notwendig, das Programm mit Administratorrechten zu starten, damit ich Zugriff auf die Dienste bekomme. Das könnte durch einen Installer umgangen werden.
Ich habe eine neue Version in Arbeit, die auch mit Plcsim für TIA-Portal zusammenarbeitet. Außerdem habe ich die Dokumentation jetzt in Form von Windows Hilfedateien (chm) neu geschrieben. Was den Nachteil hat, dass die Anzeige nicht funktioniert wenn die Datei aus dem Internet heruntergeladen wurde, wegen den Sicherheitseinschränkungen im Internet Explorer.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und eine Gegenmeinung: Mir ist alles, was ohne Installer funktioniert, lieber. Die Geschichte mit Admin-Rechten ist für mich kein Argument. Wer Tools wie nettoplcsim nutzt, kann das normalerweise auch grad noch handeln....
Grüsse
Alfred
 
Und eine Gegenmeinung: Mir ist alles, was ohne Installer funktioniert, lieber. Die Geschichte mit Admin-Rechten ist für mich kein Argument. Wer Tools wie nettoplcsim nutzt, kann das normalerweise auch grad noch handeln....

Mir das ohne Installer auch lieber, vor allem bei so kleinen Programmen wie nettoplcsim.
Am liebsten hätte ich nettoplcsim auch ohne die zusätzliche dll, aber sobald man eine Klassenbibliothek erstellt, wird gleich eine dll erzeugt. Sowas wie statisches Linken scheint es bei C# nicht zu geben.

Nur hab ich jetzt relativ viel Arbeit in die chm-Hilfe-Dateien reingesteckt weil ich das Format für Hilfen/Dokumentation sehr praktisch finde, und dann ist es sehr unschön wenn sich jemand das Paket runterlädt und diese dann nicht angezeigt werden können. Das lässt sich imho nur durch einen Installer beheben.
 
Hi,

ist es machbar eine "chm" - Hilfe als PDF zu "exportieren"? Zum einen, weil ich selbst mit einer "g'scheid" aufgebauten quasi-Druckdoku mindestens so gerne arbeite wie mit online helps, und weil es dann für die IE-Fans eine Alternative gäbe. Denn ich bin auch für ohne Installer ....

Gruß,
Thomas.

PS: Gibst es solche - anscheinend unumgehbare - Sicherheitseinschränkungen wie im Internet Explorer auch beim Firefos?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ist es machbar eine "chm" - Hilfe als PDF zu "exportieren"? Zum einen, weil ich selbst mit einer "g'scheid" aufgebauten quasi-Druckdoku mindestens so gerne arbeite wie mit online helps, und weil es dann für die IE-Fans eine Alternative gäbe. Denn ich bin auch für ohne Installer ....

Gruß,
Thomas.

PS: Gibst es solche - anscheinend unumgehbare - Sicherheitseinschränkungen wie im Internet Explorer auch beim Firefos?

Hi Thomas,

das mit den Sicherheitsbeschränkungen ist Windows intern unabhängig vom verwendeten Browser. Für die Anzeige von Windows-Hilfedateien wird unter der Haube der Internet-Explorer oder zumindest Teile davon verwendet wie auch an diversen anderen Stellen in Windows, darum lässt sich der IE auch nie wirklich vollständig aus Windows entfernen.
Die Beschränkung lässt sich im Windows Explorer über die Eigenschaften der Datei entfernen. Bei Dateien die so eine Beschränkung aufweisen, erscheint dann ein Hinweistext mit einer Schaltfläche "Zulassen" mit der sich diese aufheben lässt.

Ich habe aber gerade getestet:
Wenn ich das ganze Paket wie üblich in eine Zip-Datei packe, und diese dann nach dem Herunterladen auf der Platte entpackt wird ist die Beschränkung nicht vorhanden. Das mit der Beschränkung passiert wohl nur wenn diese Datei einzeln direkt auf die Festplatte heruntergeladen wird. Also kann ich es auch ohne Installer belassen.
 
Hi Thomas,

ich bin auch gegen einen Installer da er schlicht nicht notwendig ist. Es müssen (zum Glück) keine großen Änderungen am Zielsystem vorgenommen werden seien es Komponentenregistrierungen, neue Treiber oder sonstiges. Meiner Meinung nach solltest du so lange wie möglich auf einen Installer verzichten. Er macht die Sache nur unnötig komplexer. Siehe vielleicht auch eine Suchmaschine zum Thema "Executable installers are vulnerable^WEVIL" Fall 1 bis 22.

Zu einem anderen Thema:
Ich benötige auch etwas Hilfe. Vorweg: Ich beschäftige mich erst seit 3 Tagen mit der SPS-Kommunikation.

Das Problem ist, dass ich ein Software-Projekt zur Visualisierung von Steuerungssignalen geerbt habe. Die Kommunikation findet ausschließlich mit PLCSIM statt. Bisher wird dafür die S7ProSimLib nutzt. Neuerdings möchten unsere Kunden allerdings auch das TIA Portal V13 und die S7-1200 und 1500 nutzen können.
Tja. Soviel zur S7ProSimLib.

Bisher habe ich kein Tool und keine Bibliothek gefunden mit der es externen Tools möglich ist, mit einer S7-1500 im PLCSIM zu kommunizieren, nicht mal für Geld. Ich brauche eine Möglichkeit Variablen auszulesen und zu schreiben (Inputs).

Den bisher größen Erfolg hatte ich mit der Kombination aus NetToPLCSim und S7Netplus: Das Lesen von Variablenwerten aus einer S7-1500 funktioniert, allerdings hat das Schreiben keine Wirkung.
Minimalbeispiel:

Code:
using(var plc = new Plc(CpuType.S71500, deviceIpAddress, rackNumber, slotNumber))
                {
                        if(plc.IsAvailable)
                        {
                            ErrorCode connectionResult = plc.Open();

                            //removed error handling for brevity

                            //default value in PLCSim is 0
                            var newValue = 1;
                            var result = plc.Write("I2.7",newValue); //result is NoError -> should have been written                           
                            Console.WriteLine("WROTE: New value of I2.7 is {0}",newValue);
                               
                            //Get data
                            var i2_7 = plc.Read("I2.7");
                            Console.WriteLine("SUCCESS: Read result of I2.7 is {0}", i2_7); //Output is always 0
                            ...

Im Monitoring sehe ich dass sowohl die Read- als auch die Write-Requests ankommen. Aber die Werte im PLCSim ändern sich nicht. Ist das was ich will überhaupt möglich und wenn ja kann das mit NetToPLCSim klappen oder bin ich hier auf dem Holzweg?

Danke!
 
Im Monitoring sehe ich dass sowohl die Read- als auch die Write-Requests ankommen. Aber die Werte im PLCSim ändern sich nicht. Ist das was ich will überhaupt möglich und wenn ja kann das mit NetToPLCSim klappen oder bin ich hier auf dem Holzweg?

Hi,
wahrscheinlich kommuniziert dein S7NetPlus noch über das "alte" S7 Protokoll. Bei einer echten 1200 oder 1500 ist dieses auch noch vorhanden, wenn du dich auf den Zugriff von E/A/M und "nicht optimierten" Datenbausteinen beschränkst.

Leider ist das beim Plcsim für die 1200/1500 anders, dort ist nur noch das neue S7 Protokoll mit der symbolischen Adressierung möglich. Zumindest ist das bei meinen Versuchen mit der neuen Nettoplcsim-Version und 1500-Plcsim herausgekommen.
Aber du kannst es gerne mal mit der aktuellsten Version (1.1.0) versuchen. Auf der Sourceforge-Seite ist diese unter "Files->Preview" zu finden. Ich habe es bisher nur mit dem Simatic.Net OPC-Server und einer 1500-Plcsim Simulation getestet, da hat soweit ich das gesehen habe alles funktioniert. Aber wie gesagt, es gibt nur den symbolischen Modus.
Der Protokoll-Monitor zeigt aber bei der 1200/1500 nichts mehr an, weil das bei dem Protokoll für die 1200/1500 nicht mehr wirklich sinnvoll ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habs gerade nochmal mit TIA-V13-SP1 getestet. Es kommt auf dem alten S7-Protokoll zu Tia-Plcsim keine Verbindung mit Nettoplcsim zustande. Es funktioniert auch nicht wenn ich mit WinCCflexible ein Projekt mit absolut adressierten Variablen erstelle, und das in der Simulation über S7online mit Plcsim kommunizieren lasse. Nur um auszuschließen dass ich da beim Handling doch noch einen Fehler drin habe. Also das alte S7-Protokoll scheint bei Tia-Plcsim nicht enthalten zu sein.
Man könnte ja mal ganz "doof" bei Siemens einen Support Request stellen, in dem man sagt man möchte gerne ein altes WinCCflexible Projekt mit Tia-Plcsim für die 1500 testen, ob das grundsätzlich möglich wäre.
 
Hi,
ich hab gerade auch noch einmal mit Erfolg eine kleine Testreihe angefangen:


  • S7DOS Help Service:
    • Start manuell
    • Status: aus
  • Software:
    • TIA Portal V13 SP1 Update 6
    • S7-PLCSIM V13 SP1
  • PG/PC-Schnittstelle: NetToPLC -> PLCSIM S7-1200/S71500.TCPIP.1
  • Profinet-Schnittstelle: IP: 192.168.1.134 (= lokale IP der Netzwerkkarte)

Ablauf:

  • Reboot
  • TIA Portal starten
  • Projekt laden
  • SPS auswählen & Simulation starten
  • NetToPlcSim 1.0 (!) starten
  • SPS hinzufügen:
    • Netzwerk IP: 192.168.1.134
    • PLCSim IP: 192.168.1.134
  • Server starten & Monitoring
  • S7NetTest starten (mein kleines C# Programm zum Kommunikationstest, nutzt S7Net)
  • alles geht: lesen & schreiben :s18:
  • Softing OPC Server Starten:
    • SPS Typ: S7
    • Ziel: 192.198.1.134
    • RFC 1006
    • Lokaler TSAP 01 01
    • Ferner TSAP 02 01
    • Leseoptimierung
    • Optimiertes Protokoll benutzen
  • Symbol hinzufügen (Mapping DA-Item auf SPS-Adresse)
  • OPC Client starten
    • lesen und schreiben FUNZT :D

Mit NetToPLCSim 1.1-pre klappte es gestern noch nicht. Ich werde das jetzt aber nach einem Reboot noch einmal sauber durchtesten.
 
Mit NetToPLCSim 1.1-pre klappte es gestern noch nicht. Ich werde das jetzt aber nach einem Reboot noch einmal sauber durchtesten.
Danke für deine Tests.
Du könntest mal testen, ob es mit der Nettoplcsim 1.1 funktioniert wenn du auch dort im Auswahlfeld auf die Plcsim Version auf "Step7V5.x" stellst. Denn dann behandle ich die S7online-Schnittstelle genauso wie bei V1.0

Wenn das dann funktioniert, dann muss die Einstellung 1200/1500 nur verwendet werden, wenn die neue symbolische Adressierung verwendet werden soll. Das könnte ich dann evtl. später im Protokoll automatisch erkennen und die passende Handhabung der S7online-Schnittstelle auswählen. Wird dann für den Anwender wesentlich einfacher.
 
Jetzt hab ich es auch hinbekommen.
Und die automatische Erkennung funktioniert auch. D.h. ich entscheide welchen Typ von Plcsim-Verbindung ich verwende anhand des ersten Telegramms im S7-Protokoll. Dann funktioniert mit Plcsim für die 1500 beides, also der symbolische Adressierungsmodus und auch der klassische Zugriff über Absolutadressen.
Kann die Einstelloption und der ganze Krams also wieder raus...
 
Hallo,
Erst mal vielen Dank für das NetToPLCSim. Gehört seit 8-9 Monaten schon zu unbedingt notwendigen Entwicklungstools für mich. Habe genau die Situation die im ersten Beitrag erwähnt ist:)

Hat schon jemand versucht eine in Archestra IDE entwickelte Visualisierung zu S7-PLCSim V13 mit NetToPLCSim zu verbinden?
Ich habe NetToPLCSim Versionen V1.0.0.0 und V1.1.0.0 getestet.

Situation:
- 1 Server mit GR Node und Intouch App
- 1 Entwicklungs - PC mit TIA V13 SP1 Upd 6
- CPU 1515F-2 im TIA
- PLCSim V13
- NetToPLCSim V1.0.0.0 und V1.1.0.0 (Seit heute)

Bin folgend vorgegangen:
- GR Node Server starten, deployen
- Archestra Objekt auf IP von meinem PC einstellen, Remote TSAP Rack: 0, Slot : 1, deployen
- Reboot mein PC mit TIA
- Start NetToPLCSim
- Start TIA Portal V13
- Start Simulation
- "Add" auf NetToPLCSim, Rack/Slot - 0/1 (Habe 0/0, 0/2 auch versucht), PLCSim Versionen beide versucht, IPs
- "Start Server"

Leider alles ohne Erfolg, ich kann nichts lesen und nichts schreiben.
Hat jemand eine Idee was ich falsch mache, bzw. ist das überhaupt möglich, bzw. hat jemand schon Erfahrungen gemacht?

Bis jetzt habe ich immer eine 2te 300 CPU im TIA Projekt konfiguriert und die Bausteine hin und her kopiert.

Mit CPU 300/400, S7-PLCSIM und Archestra IDE hat es super funktioniert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

welchen Adressierungsmodus benutzt du denn von Archestra?
Den neuen symbolischen Modus beherrschen bisher nur Siemens Anwendungen. Wenn du weiterhin mit Absolutadressierung arbeitest, musst du in der CPU die Put/Get Kommunikation freigeben, und der Datenbaustein auf den du zugreifen willst muss als "nicht optimiert" angelegt sein.
Dann sollte es eigentlich mit Nettoplcsim funktionieren.
 
Danke für die schnelle Antwort.
Ich verwende absolute Adressierung und Datenbausteine sind "nicht optimiert". Dies habe ich auch in Foren nachgelesen, bzw. verwende auch aus anderen Gründen.

Über die Einstellung Put/Get Kommunikation Freigabe wusste ich nichts. Habe jetzt freigegeben und es funktioniert :s1:
Vielen Dank!!!!
 
Ich habe eine Version 1.1.0 veröffentlicht.
Änderungen:

- Fehlerbehebung: mehrere ISO-Pakete zusammen in einem TCP Telegramm führten zu einem Programmfehler mit nachfolgendem Verbindungsabbruch (Auftreten nur bei V1.0.0)
- Unterstützung von S7-Plcsim für TIA-Portal S7-1200/1500
- Ehemalige Funktion "Get Port 102" aus dem Tools-Menü wird jetzt standardmäßig bei Programmstart ausgeführt
- Telegrammmonitor: Mit Mausklick auf die Statusleiste lässt sich die Aufzeichnung pausieren und fortsetzen
- Neue Dokumentation in Form von Windows-Help Dateien
- Lizenzänderung von der GPL zur LGPL

Die Anbindung an das TIA-Plcsim für die 1200/1500 habe ich bisher mit dem Simatic.Net OPC-Server und WinCC V7.3 getestet. D.h. es lässt sich mit WinCC die simulierte SPS browsen und somit auch Variablen anlegen, und natürlich in der Runtime verwenden. Im Telegrammmonitor werden diese Telegramme jedoch nicht angezeigt bzw. aufgeschlüsselt.

Es wird jetzt anhand des ersten Telegramms automatisch erkannt ob eine Verbindung zu einer S7-300/400 bzw. S7-1200/1500 im Absolut-Adressmode (d.h. S7comm), oder zu einer S7-1200/1500 mit symbolischer Adressierung (S7comm-plus) hergestellt werden soll. Dadurch dauert der erste Verbindungsaufbau etwas länger als sonst, weil ich erst dann die Schnittstelle zu Plcsim je nach Telegrammtyp aufbaue. Bisher habe ich aber noch keine Anwendung festgestellt die sich daran stört, wie gesagt ist es nur bei Verbindungsaufbau.
Welcher Verbindungstyp verwendet wird, lässt sich am ersten Eintrag im Telegrammmonitor nach Verbindungsaufbau erkennen.

Die Dokumentation sieht auch etwas anders aus, weil ich diese jetzt in asciidoc erstelle. Das hat den Vorteil, dass sich daraus in einem Rutsch ein DocBook, und daraus mit dblatex ein PDF, html und die Windows-chm Dateien erzeugen lassen.

https://sourceforge.net/projects/nettoplcsim/
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich hab da eine Grundsatzfrage wo ich noch nicht ganz durchblick:

Ich kann im TIA ja nicht meine Rechner-IP als SPS-Adresse definieren - wie macht Ihr das dann? Mit 2 Projekten auf 2 Rechnern parallel arbeiten? :confused:

Der Client brauch ja die Adresse vom Rechner, wo die PLCSIM läuft... ich kann natürlich die PLCSIM auf meinem Entwicklungsrechner laden und dann abspeichern und auf dem Rechner mit der projektierten SPS IP ausführen - ist aber 'etwas' umständlich...
Vielleicht habe ich aber auch einfach was falsch verstanden???

Gruß,

Stephan
 
Eins von beidem musst du nunmal machen, entweder die IP von dem Rechner auf dem Plcsim läuft auf die IP-Adresse der SPS umstellen, oder in der Client-Anwendung die IP-Adresse der Ziel-SPS auf die deines Simulations-PCs umstellen. Macht vom Aufwand normalerweise keinen großen Unterschied. Eine Simulation mache ich zumindest nicht auf der Anlage, sodass es dort zu Adresskonflikten kommen könnte.

Du kannst der Netzwerkkarte deines PC auch weitere IP-Adressen hinzufügen, z.B. deine "normale" Büro-IP und die Simulations-IP. In Nettoplcsim musst du dann passende auswählen, unter der Plcsim erreichbar sein soll. Damit kannst du dann auch mehrere Plcsim-Instanzen auf einem einzigen Computer inkl. Nettoplcsim simulieren.
 
Für diejenigen die Nettoplcsim zusammen mit dem TIA-Portal Plcsim für die 1200/1500 verwenden, gibt es eine Änderung:

Siemens hat mit dem TIA Portal V13 SP1 Update 8 oder 9 an der unterlagerten Kommunikationsschnittstelle rumgeschraubt. Zumindest lässt sich der Siemens S7DOS-Dienst der sehr penetrant den Port 102 beansprucht, bei einmal gestartetem TIA-Portal nicht mehr einfach neu starten. Danach kommt auch für andere Anwendung wie eine HMI-Simulation keine Verbindung mehr zu Plcsim zu stande.

Es lässt sich aber zumindest nach ersten Tests folgendermaßen umgehen:
Soll eine Simulation mit Nettoplcsim getestet werden, muss Nettoplcsim gestartet werden, bevor eine Simatic-Anwendung gestartet wird. Dazu Nettoplcsim mit Admin-Rechten starten, und die Abfrage ob der Dienst beendet soll bestätigen. Dann wird Nettoplcsim in diesem Zustand (keine Konfiguration, keine Server gestartet) belassen. Dann TIA-Portal starten, Plcsim laden usw. Danach Nettoplcsim konfigurieren und Server starten.

Ob das auch das Plcsim für die 300/400 beeinflusst habe ich noch nicht getestet. Aus dem Grund weil TIA-Portal auch an meiner Step7-Installation herumfummelt, habe ich das TIA-Portal in einer VM in Quarantäne laufen.
 
Zurück
Oben