LabVIEWForum.de
Siemens CP5611 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Siemens CP5611 (/Thread-Siemens-CP5611)

Seiten: 1 2


Siemens CP5611 - rolfk - 29.11.2007 10:07

' schrieb:Hi,

ich stehe auch vor der Aufgabe eine SPS-S7 ueber einen Profibus mit einem PC zu verbinden. Das Ziel soll ein Programm sein, mit dem man alle Ein-/Ausgaenge der SPS setzen bzw. ruecksetzen kann. Ich bin am ueberlegen, ob ich es ueber LabVIEW oder ueber Visual Basic realisiere.
Was ist eurer Erfahrung nach besser geeignet in Bezug auf Entwicklungsdauer, Zugriff auf die Steuerung sowie Performance des fertigen Programms?
Hardware hab ich noch keine, weshalb ich von der Seite flexibel bin.

Gruß, capunze

Da ich selber 0.2 % Erfahrung habe mit VB (und ich bei VB immer das Gefühl habe durch Basic viel zu stark limitiert zu werden) gebe ich LabVIEW in jedem Fall den Vorzug. Wenn Du sehr viel ERfahrung mit VB hast könnte das etwas anders aussehen, aber vorausgesetzt Du kennst LabVIEW nicht viel schlechter dann VB, würde ich mal sagen dass LabVIEW unmöglich eine schlechte Wahl sein kann. Mit dem Interfacing zur DLL für die Profibus Karte wirst Du Dich so oder so rumschlagen müssen.

Selber habe ich in LabVIEW vor einiger Zeit mit einer Hilscher-Karte gearbeitet und das ging sehr flott und ohne grosse Probleme nachdem ich mich mit der Karte und der Profibus-Kommunikation an sich etwas eingearbeitet hatte.

Rolf Kalbermatter


Siemens CP5611 - capunze - 29.11.2007 13:55

Hi Rolf,

danke fuer deine Einschaetzung. In VB kenn ich mich selber auch noch nicht so aus und muesste mich erst noch einarbeiten. Tendiere gerade auch eher zu LabVIEW.
Was braucht man den alles, wenn man das Programm in LabVIEW programmiert und z.B die Hilscher-Karte nimmt. Muss ich noch irgendwelche zusaetzliche Software kaufen die z.B. fuer die Anbindung der Karte mit LabVIEW benoetigt wird?

Gruß, capunze


Siemens CP5611 - rolfk - 03.12.2007 11:35

' schrieb:Hi Rolf,

danke fuer deine Einschaetzung. In VB kenn ich mich selber auch noch nicht so aus und muesste mich erst noch einarbeiten. Tendiere gerade auch eher zu LabVIEW.
Was braucht man den alles, wenn man das Programm in LabVIEW programmiert und z.B die Hilscher-Karte nimmt. Muss ich noch irgendwelche zusaetzliche Software kaufen die z.B. fuer die Anbindung der Karte mit LabVIEW benoetigt wird?

Gruß, capunze

Komt drauf an. Das Hilscher API ist als DLL verfügbar. Dann muss man da auch noch VIs schreiben die diese DLL ansprechen. Weiss jetzt gerade nicht ob die inzwischen direkt LabVIEW Unterstützung haben. Ansonsten ginge es ans programmieren. Habe mal meine VI Library beigefügt um die CIF32DLL.dll von Hilscher anzusprechen aber ist schon älter und natürlich ohne Gewähr und leider auch ohne Dokumentation. Du wirst nicht umhin kommen Dich mit der Dokumentation des Hilscher APIs herumzuschlagen.

CIF.zip ist eine LabVIEW 7.0 Library um die CIF_32 DLL von Hilscher anzusprechen.

[attachment=10134]
[attachment=10135]
Rolf Kalbermatter


Siemens CP5611 - capunze - 06.12.2007 16:01

' schrieb:....Habe mal meine VI Library beigefügt um die CIF32DLL.dll von Hilscher anzusprechen aber ist schon älter und natürlich ohne Gewähr und leider auch ohne Dokumentation. Du wirst nicht umhin kommen Dich mit der Dokumentation des Hilscher APIs herumzuschlagen....

Rolf Kalbermatter

Hi,

hast du zu den VIs noch ein Programmbeispiel wo du sie eingesetzt hast? Deine VIs gefallen mir gut. Bringt mich auf jeden Fall wieder ein Stueck weiter.

Gruß Daniel


Siemens CP5611 - rolfk - 07.12.2007 11:03

' schrieb:Hi,

hast du zu den VIs noch ein Programmbeispiel wo du sie eingesetzt hast? Deine VIs gefallen mir gut. Bringt mich auf jeden Fall wieder ein Stueck weiter.

Gruß Daniel

Nicht wirklich. Das sitzt in einer grossen Applikation mit Tagorientierter Verwaltung wo direkt vom Benützer konfigurierbare Adressen übergeben werden.
Das Ganze funktionierte so, dass der Kunde seine Profibus (oder andere Protokolle die von der Karte unterstützt werden können) Datenbereiche in einen bestimmten Datenbereich des Shared Memory auf der Hilscher Karte mapte. Das geschieht irgendwo mit einem Tool von Hilscher glaube ich, aber das ist schon so lange her und ich war bei diesem bestimmten Projekt auch nur am Rande beteiligt (Hilscher DLL Integration).

Die Funktion CIF Exchange IO.vi spricht dann diesen Shared Memory Bereich an. Wenn Du etwas schreiben willst, übergibst Du die Startadresse in diesen Speicher an write offset und die entsprechenden binären Daten als Byte Array. Zum Lesen übergibst Du die Startadresse in read offset und die gewünschte Anzahl Bytes. Danach muss man natürlich aus diesen Bytes noch das entsprechende Bit oder Zahl herausfriemeln.

Die entsprechende Applikation ist so Komplex dass Dich ein paar VIs daraus höchstens verwirren könnten und die ganze Applikation kann ich leider nicht posten.

Rolf Kalbermatter


Siemens CP5611 - Günni1977 - 11.05.2010 06:47

' schrieb:So, wie gewünscht ein paar Bilder,
Initialisieren
[attachment=36400:prodave_init.jpg]
Lesen
[attachment=36399:prodave_read.jpg]
Schreiben
[attachment=36398:prodave_write.jpg]
der schreibpuffer
[attachment=36401:prodave_..._ext_bib.jpg]

ich hoffe, dem ein oder anderen hilft es...

viel spaß

Marco

hi,
ich bin ein LabVIEW-Anfänger. hab grad erst nen Grundkurs gemacht. wir machen sonst viel mit S7.
ich interessiere mich für Verbindungen S7 <-> LabVIEW, ohne "die S7 anzufassen" (z.B. über Prodave)
aber ich versteh das alles nicht so ganz. wenn ich die dll einbinde, gibt es so viele Funktionen...

hast du vielleicht ein einfaches Beispiel oder ne Beschreibung für mich? ich will am Anfang einfach nur ne Verbindung zu einer SPS herstellen (am besten erstmal PLCSIM) und ein Bit oder Byte lesen und anzeigen.

danke schonmal und schicken Tag noch!

lg Günni


Siemens CP5611 - picard2002 - 11.05.2010 13:25

Hallo Günni1977,

klären wir erstmal die Grundlagen, damit ich weis wo ich anfange:
Hast du in irgendeiner Art und Weise eine S7 über OPC-Server mit nem Rechner verbunden, sprich ist Dir "PG/PC-Schnittstelle einstellen" ein Begriff.
Hast Du eine SPS zum Testen? (Ich habe keine Ahnung, ob das mit PLCSim funktioniert...)
Hast Du das Handbuch von ProDave (ich habe Version 6)?
Hast Du in LabVIEW schon mit DLLs gearbeitet?

In dem Handbuch von ProDave sind recht gut (für Siemensverhältnisse) die Befehle für die Kopplung erläutert.
Dann kann man in LabVIEW (wenn ProDave installiert wurde) mal die DLL einbinden (siehe die bisherigen Bilder) und Schritt für Schritt die Verbindung testen.
Anbei noch ein paar Bilder. Ich habe mir ein paar SubVIs gebastelt, um die einzelnen Schritte der Kommunikation hintereinander laufen zu lassen.

Gruß

Marco


Siemens CP5611 - Günni1977 - 11.05.2010 14:00

' schrieb:Hallo Günni1977,

klären wir erstmal die Grundlagen, damit ich weis wo ich anfange:
Hast du in irgendeiner Art und Weise eine S7 über OPC-Server mit nem Rechner verbunden, sprich ist Dir "PG/PC-Schnittstelle einstellen" ein Begriff.
Hast Du eine SPS zum Testen? (Ich habe keine Ahnung, ob das mit PLCSim funktioniert...)
Hast Du das Handbuch von ProDave (ich habe Version 6)?
Hast Du in LabVIEW schon mit DLLs gearbeitet?

In dem Handbuch von ProDave sind recht gut (für Siemensverhältnisse) die Befehle für die Kopplung erläutert.
Dann kann man in LabVIEW (wenn ProDave installiert wurde) mal die DLL einbinden (siehe die bisherigen Bilder) und Schritt für Schritt die Verbindung testen.
Anbei noch ein paar Bilder. Ich habe mir ein paar SubVIs gebastelt, um die einzelnen Schritte der Kommunikation hintereinander laufen zu lassen.

Gruß

Marco

ok, danke erstmal für deine Geduld und Mühe.
erstmal deine Fragen:
"PG/PC-Schnittstelle einstellen" kenn ich. muss ich ja verwenden, um mit SIMATIC Manger Verbindung einzustellen.
OPC-Server hab ich noch nie verwendet. (zumindest nicht wissentlich ;-))
SPS wäre vorhanden.
hab das Handbuch "PRODAVE MPI/IE V6.0" 05/2005
mit dll hab ich noch nicht gearbeitet, weiß nur aus einer Anleitung hier, wie die eingebunden werden.


mir ist es halt wichtig, es auch zu verstehen. nun zu deinen Bildern.
"SetActiveConnection_ex6" hab ich wohl verstanden. die Nr. ist doch nur wichtig, bei mehreren Verbindungen, oder?

"LoadConnection_ex6"... ich versteh da nicht: was bedeutet "Länge der vom Anwender bereitgestellten Verbindungstabelle"?
ist dein Beipiel ne Ethernet-Verbindung? was müsste ich bei "Adresse" z.B. eintragen bei MPI 1,5MBd?

ich glaub, das reicht erstmal. werd mal anfangen, ein wenig zu probieren und kapieren.

bis denne.

lg Nico


Siemens CP5611 - Günni1977 - 12.05.2010 07:58

... und gleich noch ne Frage: in dem dll-Aufruf "LoadConnection_ex6", was für ein Format muss ich bei dem Parameter "Adresse" einstellen?


Siemens CP5611 - rolfk - 16.05.2010 09:13

' schrieb:... und gleich noch ne Frage: in dem dll-Aufruf "LoadConnection_ex6", was für ein Format muss ich bei dem Parameter "Adresse" einstellen?

Parameter: Adapt to Type