PLCSim Netzwerkerweiterung "NetToPLCSim"

Zuviel Werbung?
-> Hier kostenlos registrieren
Thanks very much for your answer

I test that release but I found that it support diffrent instant number but just connect to one instance and doesn't support multiple instance.
do you agree with me?

I need to connect to input and output of multiple instane in a moment with s7prosim. i can't find any method for this perpose. whats your idea?

as i check nettoplcsim in 2 release of v0.7 , I have error in writing inputs. this error is eather in wincc and in nettoplcsim. does my plcsim version have make this problem?

Anhang anzeigen error1.bmp
erro in writing input2.jpg
 
I test that release but I found that it support diffrent instant number but just connect to one instance and doesn't support multiple instance.
do you agree with me?
You have to start an instance of nettoplcsim for each plcsim-instance. If you want to connect to 5 instances of plcsim, you have to start and configure 5 nettoplcsim instances.

I need to connect to input and output of multiple instane in a moment with s7prosim. i can't find any method for this perpose. whats your idea?

as i check nettoplcsim in 2 release of v0.7 , I have error in writing inputs. this error is eather in wincc and in nettoplcsim. does my plcsim version have make this problem?

The 0.7 and previous versions of nettoplcsim uses the prosim interface. This interface is limited, so inputs are write-only (can not be read) and outputs are read-only (can not be written).

In the 0.9 version it should be possible to read inputs. But I don't think you could write to them, because they will be overwritten every cycle by the process image.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
thanks for your information

I want to use s7prosim to write inputs and read outputs. but i don't use compilers and want to use LabVIEW software.
in LabVIEW there are nodes to call DLL files and invoke it's methods. I can read outputs and memories.
but when i invoke all of methods for writing inputs, flags ,... Labview have an error. it said "specified method doesn't found".

using Labview nodes, is like programming and just graphical.
do you familiar with this problem?
 
I want to use s7prosim to write inputs and read outputs. but i don't use compilers and want to use LabVIEW software.
in LabVIEW there are nodes to call DLL files and invoke it's methods. I can read outputs and memories.
but when i invoke all of methods for writing inputs, flags ,... Labview have an error. it said "specified method doesn't found".

using Labview nodes, is like programming and just graphical.
do you familiar with this problem?

I know Labview, but never used it. Is there an integrated driver for communication with S7 plcs?

I think want you want to do should be possible with the 0.9 version of nettoplcsim. If you don't configure any IO card in your step7 hardware config, you can write to inputs and the values are not overwritten by the process image, output points can be read as well.
With prosim (or nettoplcsim 0.7) you are writing to the I/O address area (PEx / PIx) and not the process image (Ex / Ix), that's the difference.
 
i explain more about my task

I want to use your nettoplcsim v0.9 to act as an interface between plcsim and external network. there isn't any problem in this part.
then i like to simulate a process in LabVIEW and then use .NET nodes in this software to access plcsim input and output.
so .NET nodes can call DLL file and execute read and write functions. i know how to use .NET nodes, and reading PLCSIm output is ok.
but when i select and any if writing methods, LabVIEW have an error and couldn't found those methods.
my problem is to know how solve this error.

I'm be very glad if you could guide me :)

thanks
 
Zuviel Werbung?
-> Hier kostenlos registrieren
You want to use prosim under labview and connect to plcsim on another pc? Sorry, this will not work.

The network interface of nettoplcsim 'speaks' s7-protocol, this is the same protocol which is used to exchange data with a real S7 plc.
 
Hi

no, i want to connect labview and plcsim (with s7prosim) in a same pc (local).
i use your sample c# code and check read and write with s7prosim. that was OK, but i don't know why labview have problem with writing methods !!!
do you know why?
 
no, i want to connect labview and plcsim (with s7prosim) in a same pc (local).
i use your sample c# code and check read and write with s7prosim. that was OK, but i don't know why labview have problem with writing methods !!!
do you know why?

I don't know what programming language you are using in Labview.

When you are not using a .Net language, you have to check that you set the correct variant data type when you are using the write methods of the com object.
The .Net languages do this automatically for you, when you are using C++, you have set the type manually (VT_BOOL for bits, VT_I2 for two byte values, VT_I4 for all four byte values including float!).
 
Thanks for your attention

for writing methods, because pData is define as an object, we must use "to .NET Object" to convert any type of data to object. I use this node for reading output else, and there is no problem.
Thank you any way
 
Zuviel Werbung?
-> Hier kostenlos registrieren
The problem is that I didn't needed it when I was programming the first versions ;-)
But there is a 0.7 version available which supports connecting to multiple plcsim instances. I didn't put them into the release folder, therefore you need to download it directly out of the svn repository:
http://nettoplcsim.svn.sourceforge....m/csharp/NetToPLCSim/NetToPLCSim/bin/Release/
.

Hello Thomas
I have another question
I run this version of nettoplcsim two times and configure them for connecting to plcsim 1 and 2. Now two plcsims are running. but both of nettoplcsims don't connect simultaneously and just one of them is connecting and the other one is said that port 102 is used by another software.
why this problem happen?
i use plcsim v5.4 SP5. you write in nettoplcsim info that this software work only with SP3. do you mean that versions before SP3 doesn't work or i must use just SP3?
 
Ja, klar geht das. Als IP-Adresse der SPS dann entweder die der Karte oder localhost (127.0.0.1) einstellen.

Nur mit dem Simatic-Net OPC Server geht das leider nicht, weil dieser sich nicht starten lässt wenn man die IP der eigenen Netzwerkkarte einträgt (Siemens weiß es anscheinend besser).

Gruß

SUPER!!!
Vielen Dank! Es funktioniert!!!! :p
 
Simit v7

Hallo Thomas,

ein tolles Tool, das Du da gemacht hast.
Leider kenne ich mich mit diesen ganzen SPS-Kommunikationsprotokollen nur bedingt aus.
Ich würde gerne nicht mit WIN CC sondern mit SIMIT SCE V7 (Anlagensimulation) auf eine Instanz von PLCSIM 5.4 SP5 zugreifen, die auf einem virtuellen XP unter Win7 (64Bit) läuft.
Unter SIMIT SCE V7 gibt es nur die Kopplungen "PLCSIM" und "PRODAVE".

Die PLCSIM Kopplung wird vermutlich nur funktieren, wenn PLCSIM und SIMIT auf der selben Maschine laufen (wobei ich das nur vermute.)
SIMIT selbst besteht nämlich bereits aus mehreren Prozessen, die untereinander mit TCP kommunizieren müssen.
In der Registry kann man das wohl einstellen:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Siemens\SIMIT7\SIMIT-SCE\
aruri net.tcp://localhost:6667/ArchiveServer
uri net.tcp://localhost:6666/ControlSystemServer

Aber die PRODAVE-Kopplung kann man auf IP stellen.
(CPU-Slot: 2, Zugriffsmodus: IP, IP-Adresse: (die der virtuellem Maschine?) 192.168.2.41, Mnemonik: I/Q bzw. E/A)

Ich bekomme mit "PLC-LoggerV2.3.exe" vom WIN64Host auch Zugriff auf den im virtuellen XP laufenden PLCSIM.
Eine Kopplung mit SIMIT gelingt mir aber nicht.

Irgendein Tipp?

Das Wireshark-Plugin S7Comm.dll unter 32-Bit-Wireshark detektiert auch keinerlei S7Comm Pakete (auch bei der gelingenden Abfrage mit PLC-LoggerV2.3 wird kein S7Comm-Protokoll erfasst.)

Gruß,
MartinZ
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Wireshark Plugin erkennt jetzt immerhin die Pakete, wenn sie mit TestISO_TCP.exe oder mit PLC-LoggerV2.3 gesendet werden.
Dazu war es aber nötig, in Wireshark das Protokoll T.125 zu deaktivieren (bis ich da mal drauf gekommen bin:!:).
Vermutlich kann Wireshark die beiden Protokolle nicht unterscheiden.
Edit: Sorry, ich habe inzwischen gesehen, dass dies hier im Forum schon mal besprochen wurde (immerhin bin ich auch selbst drauf gekommen - so doof bin ich also gar nicht;))

Außerdem gibt es noch häufig folgende Meldung:
Code:
[Dissector bug, protocol S7COMM: proto.c:1847: failed assertion "hfinfo->type == FT_BYTES"]
Edit: Mit der neueren Test-Version des Plugins ("s7comm-dll-test" aus einem Forums-Thread hier) tritt das Problem nicht mehr auf!

Aber ansonsten klappt die Kommunikation aus Win7 (64Bit) auf den virtual XP (32bit) host mit PLC-Logger oder Test_ISO_TCP.exe.

Nur mit SIMIT SCE V7 geht immer noch gar nichts. Die PRODAVE-Kopplung sendet keine s7Comm-Pakete aus. Ich vermute, die sendet an ein anderes Port.
 
Zuletzt bearbeitet:
Hallo Martin,
ich kenne Simit zwar nicht, aber Prodave ist eine kostenpflichtige Kommunikationsbibliothek für S7 Steuerungen von Siemens. Ich denke mal wenn du in Simit Prodave als Treiber einstellst musst du auch Prodave installiert haben. Fragt sich nur woher Prodave kommen soll, evtl. wurde die Software bei Simit mitgeliefert, was steht denn dazu im Handbuch?

Wenn du eine direkte Anbindung zu Plcsim einstellen kannst, muss Simit wohl auf dem gleichem Rechner wie Plcsim laufen. Höchstwahrscheinlich wird dann die gleiche Schnittstelle zu Plcsim genutzt, die auch nettoplcsim in der 'alten' 0.7er Version verwendet (S7ProSim).
 
Hallo Thomas,

Prodave ist eine kostenpflichtige Kommunikationsbibliothek für S7 Steuerungen von Siemens. Ich denke mal wenn du in Simit Prodave als Treiber einstellst musst du auch Prodave installiert haben. Fragt sich nur woher Prodave kommen soll, evtl. wurde die Software bei Simit mitgeliefert, was steht denn dazu im Handbuch?

Im Handbuch steht -wie meistens- nichts wirklich hilfreiches dazu.
Wenn ich das Wenige richtig verstehe ist es so gedacht, dass man SIMIT entweder verbindet:
  • mit PLCSIM in den Versionen 5.2 bis 5.4SP4, wobei die Multiinstanzfähigkeit des SP3/SP4 nicht unterstützt wird.
    Abweichend vom Handbuch ist aber wohl auch eine Kopplung mit 5.4SP5 möglich.
    PLCSIM kann sogar aus SIMIT heraus gestartet werden und es werden Systemmeldungen erzeugt, wenn sich PLCSIM nicht im RUN-/RUN-P Modus befindet.
    Das deute ich so, dass man davon ausgeht, dass PLCSIM (und somit normalerweise auch Step7) auf dem selben PC wie SIMIT installiert ist.
  • mit einer realen SPS über MPI (wozu man dann eine Interfacekarte oder einen (USB-)Adapter braucht und in SIMIT die Kopplung auf "MPI" einstellen muss).
  • mit einer realen SPS über Ethernet, dann muss natürlich die SPS eine Ethernetschnittstelle haben und in SIMIT die Kopplung auf "PRODAVE" eingestellt werden. Im abgebildeten Beispiel wird die IP-Adresse "193.25.38.95" eingestellt. Ob das nur ein willkürliches Beispiel ist, oder ob diese spezielle IP notwendig ist, steht da nicht.
Allerdings steht da: "Die entsprechende Schnittstelle muss auch als 'PC/PG Schnittstelle' im SIMATIC-Manager eingestellt werden."
Die gehen also wohl auch hier davon aus, dass man sein Step7 auf dem selben Rechner wie SIMIT installiert hat - da liegt wohl der Hase im Pfeffer.​

Um über die Maschinengrenze hinaus Zugriff von SIMIT auf PLCSIM zu bekommen, scheint man in die S7ProSim(?)-Kommunikation zwischen entweder SIMIT und PLCSIM direkt oder SIMIT und SIMATIC-Manager eingreifen zu müssen, so denke ich inzwischen.

...wird dann die gleiche Schnittstelle zu Plcsim genutzt, die auch nettoplcsim in der 'alten' 0.7er Version verwendet (S7ProSim).

Welche Schnittstelle benutzt denn das neuere nettoplcsim zur Kommunikation zu PLCSIM, wenn nicht mehr S7ProSim?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Allerdings steht da: "Die entsprechende Schnittstelle muss auch als 'PC/PG Schnittstelle' im SIMATIC-Manager eingestellt werden."
Die gehen also wohl auch hier davon aus, dass man sein Step7 auf dem selben Rechner wie SIMIT installiert hat - da liegt wohl der Hase im Pfeffer.

Um über die Maschinengrenze hinaus Zugriff von SIMIT auf PLCSIM zu bekommen, scheint man in die S7ProSim(?)-Kommunikation zwischen entweder SIMIT und PLCSIM direkt oder SIMIT und SIMATIC-Manager eingreifen zu müssen, so denke ich inzwischen.

Das einstellen der passenden PG/PC-Schnittstelle ist bei Prodave generell notwendig.
Ich würde es mal so testen: in Prodave die PG/PC-Schnittstelle auf die Lan-Schnittstelle einstellen. An der Stelle in Simit an der du eine IP-Adresse einstellen kannst, stellst du die IP-Adresse des Rechners ein auf dem Plcsim zusammen mit Nettoplcsim läuft.

Welche Schnittstelle benutzt denn das neuere nettoplcsim zur Kommunikation zu PLCSIM, wenn nicht mehr S7ProSim?
Nein, die neue nutzt die S7online-Schnittstelle.
Bezüglich der Funktionalität gibt es aber ein paar Unterschiede, welcher bei dir auch in Simit bei der Anbindung über Prodave oder S7ProSim besteht. Über S7ProSim können z.B. Eingänge nur geschrieben, und Ausgänge nur gelesen werden. Wenn über S7ProSim in Eingänge geschrieben wird, kann dieser Wert z.B. im Programm über PEW eingelesen werden (vorrausgesetzt es gibt eine Baugruppe an der Adresse in der Hardwarekonfiguration). Man schreibt also nicht in das Prozessabbild, sondern quasi in den Speicher der Simulations-Baugruppe. Das ist über Prodave oder mit der neuen 0.9er nettoplcsim-Version die über S7online zugreift nicht mehr möglich, dort kommt man immer nur an das Prozessabbild heran. Dafür funktionieren dort wieder andere Dinge.

Du musst je nach Einsatzzweck entscheiden welche Version besser passt.
 
Hallo Thomas,

ich komme nun mit einem Problem das in den vorherigen Seiten auch schon von Panzerknacker aufgeführt worden ist.

Projekt:

7 PLCSim von Simulationsrechner (NetToPLCSim) über Ethernet an Simatic IT Visurechner.

Bis vor kurzen ging es mit NetToPLCSim (Ntps) ohne Probleme. Auf einmal stürzt Ntps ständig ab. Wenn ich im Windows Log nachschaue mit dem Fehler ".net 2 Runtime error 5000".

Wieso kommt der Fehler auf einmal?

Hast du mir eventuell einen Tipp oder Lösung.

Grüße
 
Der Eintrag ins Windows Log kommt bei einer unbehandelten Exception.
Welche nettoplcsim Version verwendest du denn?
Du schreibst es stürzt auf mal ständig ab, das heißt es hat vorher immer funktioniert?
Wurden irgendwelche Änderungen am Rechner vorgenommen, eine neue Software installiert? Welches Betriebssystem?
 
Zurück
Oben