LabVIEWForum.de
2xSchrittmotor und 2x SMCI33-2 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: Hardware (/Forum-Hardware)
+---- Forum: 3rd Party Hardware (/Forum-3rd-Party-Hardware)
+---- Thema: 2xSchrittmotor und 2x SMCI33-2 (/Thread-2xSchrittmotor-und-2x-SMCI33-2)

Seiten: 1 2


2xSchrittmotor und 2x SMCI33-2 - s-vdobre - 16.09.2018 21:54

Hallo zusamen,
ich habe schon alle Diskussionen hier über die SMCI33 Steuerungen gelesen, aber ich komme nicht weiter.

Also, ich bin Anfänger in LabVIEW und ich habe folgende Aufgabe bekommen:
2x NEMA 17 und 2x Steuerung SMCI33-2 über zwei verschiedene Anschlüsse(2xUSB) gleichzeitig zu steuern.
Das Programm soll folgende Funktion erfüllen: 40 Schritte in die X_Richtung, dann 2 Schritte in Z_Richtung und wieder X usw. Also keine gleichzeitige Bewegung in X und Z_Richtungen. Aber einmal Motor1 Über COM1 steuern und dann Motor2 über COM2 steuern und wieder von vorne an.

Das Programmbeispiel für LabVIEW (s. Anhang) von dem Hersteller NANOTEC funktioniert perfekt. Nun ist nur für eine Steuerung mit ein Motor geschrieben.

Ist das überhaupt möglich in einen Programm, zwei verschieden COM Ports zu bedienen? Wenn ja, würde ich mich sehr freuen wenn ihr Tipps und Vorschläge für mich habt.

Vielen Dank im Voraus!


RE: 2xSchrittmotor und 2x SMCI33-2 - GerdW - 17.09.2018 07:34

Hallo s-vdobre,

herzlich willkommen hier im Forum!

Zitat:Ist das überhaupt möglich in einen Programm, zwei verschieden COM Ports zu bedienen?
Ja klar!
Du musst dein Programm nur entsprechend programmieren…

Zitat:Also, ich bin Anfänger in LabVIEW und ich habe folgende Aufgabe bekommen:
Dann schau dir mal die Links in meiner Signatur an.
Erstmal solltest du den Umgang mit und das Programmierschema (DATAFLOW!) in LabVIEW lernen…

Zitat:Das Programm soll folgende Funktion erfüllen: 40 Schritte in die X_Richtung, dann … und wieder …
Also keine gleichzeitige Bewegung
Das hört sich doch nach einer klaren Statemachine an! Immer genau ein Schritt (State) nach dem anderen…
LabVIEW bringt da ein fertiges Beispielprojekt mit einer rudimentären Statemachine mit!


RE: 2xSchrittmotor und 2x SMCI33-2 - s-vdobre - 19.09.2018 15:02

Hi GerdW,

Vielen Dank für deine schnelle Antwort!
Ich habe es am Montag gelesen und deine Anweisungen nachgefolgt.
Bis jetzt habe ich vieles ausprobiert und einiges verstanden...
Aber es gibt vieles was ich noch nicht verstehen kann. Zum Beispiel wie kann ich in einen Case oder While Struktur ein fertiges VI benutzen, ohne den gesamten Code reinschreiben zu müssen?

Grüße


RE: 2xSchrittmotor und 2x SMCI33-2 - GerdW - 19.09.2018 15:05

Hallo s-vdobre,

Zitat:Zum Beispiel wie kann ich in einen Case oder While Struktur ein fertiges VI benutzen, ohne den gesamten Code reinschreiben zu müssen?
Indem man ein subVI dort hineinlegt.
Das muss natürlich so programmiert sein, dass es dort problemlos laufen kann…


RE: 2xSchrittmotor und 2x SMCI33-2 - s-vdobre - 24.09.2018 22:25

Hallo Gerd,
ich möchte mich nochmal bedanken für alle Tips die Sie mir bis jetzt gegeben haben!

Soweit funktioniert alles mit Write and Read, Sub VI's usw.

Ich habe aber folgende Problem jetzt:
Wenn ich eine längere Schleife erstelle(in meinen Fall ist "for-Schleife") werden nicht alle eingegebene Befehle ausgeführt. Aber wenn ich in den Blockdiagramm auf das Symbol mit der gelbe Lampe drücke dann und starte dann funktioniert alles tip top. Also muss ich hier iwie die ComPort Einstellungen verfeinern? Ich benutze ein RS485-USB Konverter.

Vielen Dank und schöne Grüße aus Bayern!


RE: 2xSchrittmotor und 2x SMCI33-2 - GerdW - 25.09.2018 07:23

Hallo s-vdobre,

Zitat:Wenn ich eine längere Schleife erstelle(in meinen Fall ist "for-Schleife") werden nicht alle eingegebene Befehle ausgeführt. Aber wenn ich in den Blockdiagramm auf das Symbol mit der gelbe Lampe drücke dann und starte dann funktioniert alles tip top. Also muss ich hier iwie die ComPort Einstellungen verfeinern?
Wenn ein VI im (sehr langsamen) Highlight-Debugging "funktioniert", aber nicht bei normal schneller Abarbeitung, dann hast du ein Timing-Problem!

Du musst dann nicht an den COM-Port-Einstellungen rumspielen (die werden sowieso von deinem Gerät vorgegegeben), sondern einfach mal das Handbuch deines Gerätes lesen und alles umsetzen, was dort zum Thema Ablaufsteuerung geschrieben wird.

Allgemeiner Tipp:
- Geräte mit serieller Schnittstelle benötigen Zeit, um überhaupt Befehle/Daten über die Schnittstelle zu übertragen.
- Diese Geräte benötigen auch noch Zeit, den empfangenen Befehl abzuarbeiten - gern dauert dies noch deutlich länger als die reine Datenübertragung auf der seriellen Schnittstelle.
- Solche Geräte benötigen dann auch noch Zeit, um Daten oder eine andere Antwort über die gleiche langsame Schnittstelle zurück zu senden.
- Alles dies muss man beachten: es hilft nicht, einfach alle Befehle so schnell wie möglich zum Gerät zu schicken!

Noch ein allgemeiner Tipp:
Wenn du ein Problem mit deinem VI hast, dann solltest du dieses VI auch hier als Attachment bereitstellen!


RE: 2xSchrittmotor und 2x SMCI33-2 - s-vdobre - 25.09.2018 12:02

Hi,

ich habe es durchgelesen und trotzdem verstehe ich nicht was ich noch einstellen soll. Im Anhang sind die Handbücher und die VI's. Können Sie sich es anschauen und mir Ihre Meinung teilen?
Noch einen Datei werde ich in den nächsten Post hochladen weil ich die 3MB überschritten habe....
... so und das letzte VI.


RE: 2xSchrittmotor und 2x SMCI33-2 - GerdW - 25.09.2018 12:25

Hallo s- vdobre,

zu deinem "unbenannt"-VI:
- Warum "unbenannt" und kein sinnvoller Name? (Gutes Programmieren fängt mit so simplen Sachen wie sinnvoller Benennung an…)
- Warum hast du den Code in der Schleife dupliziert und in zwei Frames einer Sequenz gepackt? Warum nicht einfach ein subVI, welches als Parameter den einzig unterschiedlichen Befehl (W1/W2) sowie COM-Port und Address bekommt?
- Warum öffnest du den COM-Port zweimal in dieser Schleife/Sequenz? Reicht einmal (vor der Schleife!) nicht aus?
- Der COM-Port wird nirgends geschlossen!
- Errorwire komplett durchverdrahten, ebenso COM-Port und Address! Du brauchst hier keine lokalen Variablen!
- Da ist nirgends eine Wartezeit zwischen den VISAWrite-Funktionen! Du ballerst deinen Motor einfach mit Befehlen zu, obwohl er die überhaupt nicht so schnell abarbeiten kann!

Baue dein VI mal um:
[attachment=59474]


RE: 2xSchrittmotor und 2x SMCI33-2 - s-vdobre - 25.09.2018 13:17

Hallo GerdW,

danke für deine blitzschnelle Antwort!
Ich versuche gerade dein Code nachzumachen aber:
Ist der Symbol in dem W2 und alle anderen commands rein gehen ein 'Strings verknüpfen' und wie bekomme ich alle anderen commands zusammen untereinander?
Ich weiss dass sind einfache Fragen aber ich finde es nie iwo.


RE: 2xSchrittmotor und 2x SMCI33-2 - GerdW - 25.09.2018 13:27

Hallo s-vdobre,

du fragst gerade nach einer String-Arraykonstante - das ist schon sehr "basic".
Du hast die Links in meiner Signatur beachtet?

Zitat:Ist der Symbol in dem W2 und alle anderen commands rein gehen ein 'Strings verknüpfen'
Nein.
Ein BuildArray - was man am Symbol und an den Drahtdicken an EIn- und Ausgang erkennt.

Zitat:wie bekomme ich alle anderen commands zusammen untereinander?
Durch Eintragen aller benötigten Werte.
Ist stupide Tipp-Arbeit - und die habe ich mir bei dem Beispiel gespart und nur zwei der Werte eingetragen…