Hallo Leute,
Ich stehe im Moment vor folgendem Problem:
Ich habe hier eine Motorsteuerung, die im Moment über eine SPS-S7 läuft.
Und die Software dazu, welche mit Movicon erstellt wurde (Motor kann am
PC gesteuert werden) ist eher schlecht gemacht.
Nun soll die SPS-Steuerung vollständig ersetzt werden.
Ich wollte ein C# Programm schreiben, über das ich dann Signale über die
Serielle Schnittstelle empfange/sende und damit den Motor steuere.
Nur weiß ich noch nicht so recht, wie ich das anstelle mit der Hardware.
Wäre da ein Mikrocontroller zwischen PC und Motor eine gute Idee?
Habe in dem Gebiet noch nicht so viel Erfahrung. Was noch dazu kommt
sind:
-2 Sensoren, die jeweils Signale geben wenn eine Endposition erreicht
ist
-1 Kraftaufnehmer, der später Kräfte messen soll
Gibt es evtl. eine bessere Lösung?
Ich danke euch schonmal im Voraus :)
MfG Andreas
Andreas schrieb:> Wäre da ein Mikrocontroller zwischen PC und Motor eine gute Idee?
Wenn du nur eine serielle Schnittstelle bedienst, kommst du damit sehr
schnell an die Grenzen dessen, was du steuern kannst, du musst also auf
die andere Seite des Schnittstellenkabels einen 'Befehlsempfänger'
bauen, der die Kommandos und Daten des Notebooks empfängt und auf die
Sensoren und Motoren, Relais oder was auch immer umsetzt.
Das kann man selber bauen oder auch fertig kaufen, bzw. aus Komponenten
und Bausteinen zusammen setzen.
Messwerte und Schaltkontakte erfassen und Leitungen steuern und schalten
kann man z.B. mit einem USB Messlabor wie das hier:
http://www.cesys.com/products/cebo-lc/
Die Industrie liefert Komponenten gerne mit Modbus und Profibus, dafür
gibt es auch hunderte von Baugruppen.
Für eine einfache Aufgabe wie die deinige kannst du dir auch einen MC
programmieren, vorzugsweise einen, der schon USB Unterstützung
mitbringt, bzw. auf der Platine hat. Das kann im simpelsten Fall einer
der zahlreichen Arduinos sein.
http://www.arduino.cc
Das Timing verhalten von Windows ist für solche Regelungen nicht gut
geeignet. Dein Programm kann jederzeit mal für einen Moment angehalten
werden und die Ausführungsgeschwindigkeit ist nicht konstant. Alleine
deswegen brauchst du zwischen Sensor und PC einen Hardware-Puffer. Und
dann fangen die nächsten Probleme an. Dein Algortihmus muss imstande
sein, die Zeitpunkte der Messungen rückwirkend zu berücksichtigen. Denn
das was da gerade seriell (oder wie auch immer) empfangen wird, sind
möglicherweise Werte, die aus der Vergangenheit stammen.
Es ist deutlich einfacher, Motor-Regelungen mit Mikrocontrollern
umzusetzen, die vom PC aus ihre Befehle erhalten. Die Befehle würde man
so gestalten, dass sie auch funktionieren, wenn der PC mal eine Weile
abwesend ist. Zum Beispiel:
- Fahre sofort mit 1 Meter pro Sekunde bis zum Endschalter.
- Komme um 19:30:59 mit 0,5 Meter pro Sekunde zurück zur
Ausgangsposition.
Was ist denn das für eine komische Webseite?: http://www.qualidat.com/
Hat mit Elektronik gar nichts zu tun. Die Gestaltung finde ich - ähh -
gewöhnungsbedürftig. Inhaltlich ist nicht viel enthalten. Die Ladezeit
ist extrem mangelhaft. Und sie hat kein Impressum.
Eine Google Suche nach "Q3 Qualidat" bringt mich auch nicht weiter.
@Frank Kesselbach: Wo kann man sich über deine Firma informieren?
Stefan U. schrieb:> Was ist denn das für eine komische Webseite?: http://www.qualidat.com/
Ich lande direkt in der joomla Hilfe - was aber vermutlich nicht im
Sinne des Website Inhabers ist.
Danke euch schonmal für die Antworten. Zu der Frage ob ich es selber
machen möchte:
Ja, denn es ist als ein Projekt gedacht für mich, da ich im Moment
dualer Student Elektrotechnik bin und gerade das 2. Semester hinter mir
habe.
Ich werde es mal mit einem Arduino versuchen umzusetzen, da ich zufällig
gerade einen hier rumliegen habe.
MfG Andreas
Stefan U. schrieb:> Was ist denn das für eine komische Webseite?: http://www.qualidat.com/>> Hat mit Elektronik gar nichts zu tun. Die Gestaltung finde ich - ähh -> gewöhnungsbedürftig. Inhaltlich ist nicht viel enthalten. Die Ladezeit> ist extrem mangelhaft. Und sie hat kein Impressum.>> Eine Google Suche nach "Q3 Qualidat" bringt mich auch nicht weiter.>> @Frank Esselbach: Wo kann man sich über deine Firma informieren?
Ja, wie sagt man: "Der Schuster hat die schlechtesten Schuhe". Die
Webseite ist ene nicht konfigurierte Joomla-Installation (CMS), ohne
Inhalt. Wollte vor einiger Zeit das Ganze neu aufsetzen, bin dann aber
wegen viel anderer Arbeit nicht weiter gekommen. Dafür bitte ein Sorry.
Aber mal allgemein: Wir verstehen uns als "Problemlöser" für
individuelle Lösungen in Hard und Software. Immer, wenn es keine
käufliche Fertiglösung gibt, können wir etwas anbieten. Übrigens: Unsere
Kunden müssen immer erst bei Übergabe einer wirklich funktionsfähigen
Lösung bezahlen - also Null Risiko und kein Stress! :-)
Andreas schrieb:> Ich werde es mal mit einem Arduino versuchen umzusetzen, da ich zufällig> gerade einen hier rumliegen habe.
Das klingt doch gar nicht schlecht. Eine Motorregelung bzw. -steuerung
macht der kleine Bursche mit links und dein Job ist es nun, einen
Befehlsinterpreter zu programmieren, der dir Kommandos von der seriellen
USB verbindung interpretiert.
Das schöne ist, das du das zuerst auch mit einem Terminal Programm vom
PC aus testen kannst, ohne gleich dein eigens Programm auf dem PC
schreiben zu müssen.
Eine Frage hätte ich noch:
Die Induktivschalter und der Kraftaufnehmer arbeiten mit 24V.
Der Arduino arbeitet aber ja soweit ich weiß mit 5V.
Könnte ich das ganze dann einfach über Spannungsteiler lösen?
Andreas schrieb:> Ich wollte ein C# Programm schreiben, über das ich dann Signale über die> Serielle Schnittstelle empfange/sende und damit den Motor steuere.
Welches Notebook hat denn noch serielle Schnittstellen ?
Und warum gerade C# wenn es um Echtzeitanwendungen geht ?
Natürlich, alles abhängig von den Anforderungen, die je eher relaxt sein
können. Notebooks mit Mobile-Prozessoren eignen sich aber beispielsweise
nicht für Schrittmotorsteuerungen bei CNC wie Mach3, der Takt ist viel
zu ungenau.
Ob ein externes Modul, beispielsweise Arduino, sinnvoll oder notwendig
ist, ist bei der oberflächlichen Problembeschreibung auch unklar.
Vielleicht tut es der Arduino ja komplett.
Also, es handelt sich um einen Schrittmotor, der etwas hoch und runter
fahren soll.
Am Laptop soll das ganze gesteuert werden und es sollen auch
Rückmeldungen für den Benutzer vorhanden sein, wie beispielsweise dass
die Sicherheitstür offen steht, dass gerade der obere Endpunkt erreicht
ist usw.
Und eine serielle Schnittstelle hat mein Laptop natürlich nicht, aber es
gibt ja verschiedene Konverter.
Andreas schrieb:> Also, es handelt sich um einen Schrittmotor, der etwas hoch und runter> fahren soll.> Am Laptop soll das ganze gesteuert werden und es sollen auch> Rückmeldungen für den Benutzer vorhanden sein, wie beispielsweise dass> die Sicherheitstür offen steht, dass gerade der obere Endpunkt erreicht> ist usw.> Und eine serielle Schnittstelle hat mein Laptop natürlich nicht, aber es> gibt ja verschiedene Konverter.
Hast du noch ein paar Salamischeiben zum nachliefern, vielleicht eine
ganze Wurst ?
USB->Seriell Adapter taugen normalerweise nicht zur
Schrittmotorsteuerung. Notebooks taugen normalerweise nicht zur
Schrittmotosteuerung.
Rückmeldung mit 1 LED daß die Tür offen ist und 1 LED daß der obere
Totpunkt erreicht ist, kann auch ein Arduino, dazu benötigt man kein 200
x 200 Pixel true color RGB Icon.