Hi Jungs, Ich hätt da nu auch mal gerne ein Problemchen. Seit 2 Wochen versuche ich mit verschiedenen Compilern und Hilfe aus dem Netz ein bestimmtes Makefile zu compilen. Die Acplt/ Ks - Source downloadbar auf der Hp der Uni Aachen. Meint ihr ich krieg das hin? Nein! Ich habs mit Visual C++ (6.0 Studio) oder auch mit dem Borland C Compiler oder mit Dev C++ probiert, nix klappt. Jetzt lade ich gerade den Cygwin runter und werde versuchen mich dahinein zu denken. Dabei wollte ich mich in Shell/Linux etc. doch gar nicht einarbeiten. Nunden, hier meine erste Frage ... Wer kennt sich damit aus? Wie schaffe ich es mit dem Cygwin und möglichst wenig Parametrierung dieses Makefile in nette kleine .Exe - dateien zu verwandeln ohne das mir die Eingabeleiste hunderte von Fehlermeldungen entgegenkotzt? Jetzt kommt mir bitte net mit rtfm. Wenn einer ein paar Tips hat, oder gute Links, dann poste sie bitte.
Wenns mit devc++ nicht geht, dann wahrscheinlich mit cygwin auch nicht. Auch gut wäre ein direkter Link zu den besagten Dateien, damit die, die sich damit auskennen (ich nehm mich mal aus ;) das auch schnell finden.
Also ein Makefile wird kein Compilier übersetzen können. Es ist ja nur eine Anweisung, welche Dateien kompiliert und gelinkt werden sollen. Auf den ersten Blick könnte man das auch mit einer Batch-Datei machen, aber Make schaut auch immer nach, welche Dateien sich geändert hat, und kompiliert dann nur diese neu.
,ja scho Die c++ Dateien habe ich im Hintergrund liegen ... Aber der Makefile ist die Ausgangsbasis ... Ich hab noch ein paar Ideen... welche dann geklappt hat, werde ich posten. ps: einfach bei Google ACPLT eingeben, auf der Hp unter ACPLT/KS die nötigen Komponenten runterladen wenn jemand Spaß an Klient- Server - Programierung hat.
Hab grad mal versucht das auf meinem Rechner mit Debian zu kompilieren. Hat bei mir aber auch nicht funktoniert, da eine strstream.h verlagt wird. Mittlerweile wurde die aber durch sstream und stringstream ersetzt. Also entweder im Quellcode rumfummeln, oder noch nen Kompiler auftreiben, der etwas älter ist...
Also ,,, ich probiers weiter,,, sollte ich Fortschritte machen, dann meld ich mich hier.
So, die wichtigen Teile des makefiles kompiliert. - War nach Meinung eines Programmers der sich damit auskennen sollte, ein Fehler im Quelltext.- konnte ich nix machen, sorry. Nundenn, ich habe nun (mit ein wenig Hilfe ;-) ) eine Wrapper.dll für Delphi geschrieben in dem ich die Elementaren Funktionen ( Ksgetep und KsgetVar (setep und setvar sowie die History-elemente werden zum Glück nicht verlangt) als Übergabeparameter bekomme. Klappt schon, aber ist noch irgendwo ein Bug drinne der diese unschönen Fehlerfenster hervorbringt. Aber ich habe eine Kommunikation vom Server zum Host.- immerhin. Jetzt ärger ich mich mit der Ttreeview- Komponente herum. - Zum Glück gibts da aber einiges in einschlägigen Foren.
So, Treeview- Komponente macht nun auch was ich von ihr möchte. Sind aber noch probleme mit der Darstellung. Melde mich später nochmal.
Was kann man mit dieser Software zu Hause denn testen? Befasse mich beruflich auch mit Prozessleittechnik, aber der Sinn des Projektes hat sich mir noch nicht so richtig erschlossen. Für eine Uni find ich es schon ziemlich peinlich, Code zu veröffentlichen der sich nicht fehlerfrei übersetzen lässt. Aber das ist ne andere Baustelle...
Ich habe von meiner Firma den Auftrag bekommen, einen Clienten in der Programmiersprache 'Delphi' für der Acplt/ks Standart der Th-Aachen zu entwickeln. Das Grundgerüst hierzu ist auf der Homepage des Prozessleittechnik- Institutes downloadbar. Die cpp- Dateien sind nach dem Download für das entsprechende Betriebssystem zu compilieren. Einige Programmschnippsel machten aber beim erzeugen derbe Probleme und führten zum Abbruch (Kann aber auch sein das ich zu blöd bin es richtig zu machen, will mich nicht darauf festnageln lassen.). Wichtig sind hierbei der Portmapper, der Manager und der Testserver(für Testzwecke). Einmal Aktiviert, stellen Diese im internen Netzwerk oder (nach kleinen Änderungen) im Internet einen Server voller wunderbarer Maschinendaten bereit. Wird der Portmapper über TCP/IP vom Clienten angepingt, (IP-Adresse des Rechners) kann man sich mit dem Clienten durch die Struktur des (oder der - Es gehen auch viele Server auf einem Rechner) Servers hangeln, ohne vorher eine Parametrierung am clienten vorgenommen haben zu müssen.( Das sollte auf jedenfall in Gedanken so funktionieren.). Es lassen sich aber mit ein wenig Googlen schon Firmen finden, die dieses System mit großem Erfolg einsetzen. Zur Anwendung werden wir Dieses System im Bereich Fernwartung/Fehlersuche/Visualisierung von Produktionsstraßen bringen, weil sich mein Chef dadurch erhofft, nicht mehr bei jedem Problemchen, einen Mitarbeiter um die Welt jagen zu müssen. Die vorherrschende Visualisierung macht den Clienten in der Sprache Delphi erforderlich. Daher können wir nicht einfach etwas vorhandenes einkaufen, leider :-( . Für daheim könnte man seine Gebäudeautomatisierung vieleicht damit ausstatten, ist aber ein wenig overkill. Gedacht ist es halt in diesem Fall für Produktionsstraßen mit Intranet- Anbindung. Fortschritt: Im Augenblick schlage ich mich mit der funktionalen Verknüpfung der Einzelelemente in der Delphi-Unit herum. Die Kommunikation läuft aber schon sehr zufriedenstellend ( Mit kleineren Bugs...(AAARrrrrghhh)) Wird aber noch Zeit kosten ein vorzeigbares Programm zu proggen. Und dann weiß ich nicht, ob ich es Öffentlich machen darf... Macht aber alles wirklich einen Riesenspaß.
Das Prinzip der Plattformunabhängigkeit ist ja schon nicht schlecht. Was ich in den Dokumentationen jedoch vermisse sind irgendwelche Informationen darüber, wie der Server die Daten aus dem Prozess selber erhält. Dies könnten dann evtl. OPC-Server sein. Dann wäre man aber wieder auf ein Betriebssystem angewiesen, denn die Protokolle zur Anbindung an verschiedene SPSen sind ja nicht offengelegt. Es gibt zwar Versuche dieses per Reverse-Engineering herauszufinden (siehe libnodave für Siemens), ob sich solche Lösungen jedoch ohne Patenverletzungen verkaufen lassen wage ich zu bezweifeln. PLS-seitig fehlen da auch weitergehende Informationen, wie der Client an bestehende Systeme angebunden werden soll. Oder habt ihr vor, ein eigenes Leitsystem zu entwickeln? Gibt es bestehende Leitsysteme deren Schnittstellen soweit offenliegen, dass man da eigene Anbindungstreiber schreiben kann. Da würde mir dann auch wieder nur OPC oder DDE einfallen.
Ich habe nachgefragt, da ich mich mit dem Server-Teil bisher noch nicht beschäftigt hab. (das machen andere) Siemens wird aus firmenpolitischen Gründen nicht benutzt. Die Schnittstellen von IPc -> Server liegen über Ads offen - was mir aber nicht viel sagt- aber sie sind halt einsehbar. Soweit ich das im Augenblick verstanden hab, solange beschäftige ich mich noch nicht mit dem Zeuch- und Bücher gibt es auch keine... Auch ich vermisse eine etwas ausführlichere Prosa sehr. :-) Die ACPLT ist ein eigenständiges Leitsystem als plattformunabhängige Alternative zu OPC und mit offenen Schnittstellen und Open Source. Das Übertragungsprotokoll ist TCP/IP. Die notwendige Treiberdatei heißt Onc/Rpc welche in Linux- Systemen Standart ist, aber bei Ms.. erst noch installiert werden muss. Auf das OncRpc greift dann das Acplt-zeugs zurück und stellt die schnittstellen in den .lib - Dateien zur Verfügung, welche in den Quelltexten mitgeliefert werden. Darauf basiert dann der neue Treiber der die .lib und .h - Dateien in einer .dll für nicht-cpp lesbar macht. Bei Fragen zur Serverseite, stellen Sie diese bitte an die Leute, die das Acplt inzwischen recht erfolgreich im Markt vertreiben.
> Es gibt zwar >Versuche dieses per Reverse-Engineering herauszufinden (siehe >libnodave >für Siemens), ob sich solche Lösungen jedoch ohne Patenverletzungen >verkaufen lassen wage ich zu bezweifeln. Libnodave selbst steht unter LGPL, so daß man damit ziemlich alles tun darf. Ich bin kein Anwalt, aber meines Wissens nach ist "reverse engineering" durch Mithören und analysieren der übertragenen Daten hierzulande absolut erlaubt. Ich habe auch noch nicht gehört, daß das viel weiter verbreitete Samba-Projekt irgendwelchen Ärger wegen der Nachbildung der Protokolle von Microsoft gehabt hätte. Ist mit "Ads" Beckhoffs ADS gemeint?
Boa, jetzt gehen wir aber ins Detail. - Dabei wollte ich die Serverseite doch ruhen lassen. Ja der Standart im Werk ist Beckhoff. Witzige Sache das mit dem ethercat. - Bisher konnte mir noch keiner erzählen wie die Sicherheit auf den Bus bringen.
ADS und Ethercat sind verschiedene Dinge. Was meinst du mit "Sicherheit"? Die wesentliche Neuerung ist, daß sie Ethernet echtzeitfähig machen. Da sie in einem Netzsegment nur einen Master und sonst nur Slaves haben, können sie auf CSMA/CD verzichten.
Das die Sachen nichts miteinander zu tun haben, sollte klar sein. Und inwiefern können sie auf Carrier Sense Multiple Access / Collision Detection verzichten?? reden die Slaves nur wenn sie gefragt werden? dann hat das aber mit Erthernetprotokoll nicht mehr viel zu tun, oder? ... ok ist ein anderes thema.
Soweit ich es verstanden habe funktioniert es so: CSMA/CD ist das, was dazu führt, daß Übertragungszeiten auf dem Ethernet nicht vorhersehbar sind bzw. keine obere Schranke dafür angebbar ist. Ethercat Slaves reden nur, wenn sie gefragt sind bzw. eigentlich reden sie überhaupt nicht. Der Master sendet ein Paket und die Slaves hören zu. Sie manipulieren Bit im durchlaufenden Paket, wenn sie Information abgeben wollen.Beim gemeinsamen Betrieb von normalem Ethernet mit Ethercat blicke ich nicht 100% durch, aber es muß in etwa so sein, daß Pausenzeiten der Ethercat-Kommunikation zur Übertragung "normaler" Pakete genutzt werden. Ein Gerät, daß beides kann, sendet noramles Ethernet nur in den Pausen und verwendet dann in diesen wieder CSMA/CD. Logischerweise müßten dann meiner Meinung nach Geräte, die Ethercat nicht kennen, über spezielle Gateways angebunden werden.Ob das so ist, weiß ich gerade nicht.
Thx, Das reicht auf jedenfall als Ausführung, wenn ich bei der Vorstellung meiner Arbeit danach gefragt werde. Ich habe 80% meiner Arbeit fertig. Die Darstellung läuft, Die Kommunikation ist fehlerfrei, die Optik nett anzuschauen. Noch ein paar kleinere Sachen fertig machen, dann die Wünsche von meinem Cheff noch erfüllen und den ganzen Kram noch in Textform pressen. Ich kann nur jedem, der sich ein wenig mit Prozessdiagnose/ Leittechnik beschäftigt, empfehlen, sich das Acplt/ks einmal näher anzuschauen. Es hat tolle Möglichkeiten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.