Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
29.11.2007, 10:07 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2007 10:08 von rolfk.)
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.
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
03.12.2007, 11:35 (Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2007 10:11 von rolfk.)
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.
' 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
07.12.2007, 11:03 (Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2007 11:04 von rolfk.)
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.
' 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.
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.
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.