LabVIEWForum.de
Kommunikation mit einem ICON1001 Demosystem - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Kommunikation mit einem ICON1001 Demosystem (/Thread-Kommunikation-mit-einem-ICON1001-Demosystem)

Seiten: 1 2


Kommunikation mit einem ICON1001 Demosystem - Bexx - 27.05.2011 10:37

Guten Morgen liebe LVF-Gemeinde,

ich habe folgendes Problem :

Mir steht ein Demosystem ICON1001 von der Firma Galantec zur Verfügung, mit welchen ich ein Piezoaktor ansteuern kann.
Die Firma liefert zu dem Controller ein kleines Programm namens SOScom, mit dem man die Befehle an den Controller via RS 232 eingeben kann.

Ich würde das Ganze gerne mit LabView realisieren, wo ich noch etwas am straucheln bin.

Info des Herstellers über die Kommunikation zwischen Board und PC:

Die RS-232Schnittstelle arbeitet mit 2400 Baud (n,8,1). Die Befehle werden als Kommandozeile mit abschließendem Carriage-Return (ASCII #13) eingegeben.
Es gibt kein Echo. Der Controller gibt, wenn er bereit ist, einen neinen Befehl zu empfangen, das Zeichen > als Promt aus. Falls der letze Befehl ein Fehler verursacht hat,
wird ? als Prompt ausgegeben.

Als Eingabezeile kommt immer ein Buchstabe gefolgt jeweils von zwei Ziffern (Bsp. P 3 1), die Leerzeichen sind so vorgegeben.

Das Eingeben geling bis jetzt ganz gut, jedoch muss jedes mal, nachdem ich die die Befehle eingegeben habe mit der Texteingabe in der LV Menüleiste bestätigen.
Als zweites, müssen alle Befehle aus der Liste gelöscht werden, bevor ich neue reinschreibe, sonst irritieren sie sich gegenseitig und der Controller spielt verrückt.

Geht das Ganze nicht etwas einfacher ? Sodass man mit jedem Enter-drücken die Befehle rausschickt und diese im Eingabefehlt verschwinden?


Würde mich über Ratschläge und jede Hilfestellung sehr freune.

Noch einen schönen sonnigen Freitagmorgen Smile


RE: Kommunikation mit einem ICON1001 Demosystem - snuz - 27.05.2011 12:52

Hi Bexx,

da gäbe es z.B. diese Möglichkeit (s.B.). Mit einem Eigenschaftsknoten wird jedesmal eine leere String-Konstante übergeben. Dann, um mit "Enter" die Eingabe zu bestätigen rechte Maustaste und die Einstellungen wie im Bild übernehmen. Da man allerdings damit den Fokus des Eingabefeldes verliert, kannst Du dem Eingabefeld noch eine Taste zuweisen. Ist alles was umständlich, aber funktioniert. Vielleicht hat ja noch jemand einen besseren Vorschlag bzgl. des Eingabefeldes.

Gruß snuz


RE: Kommunikation mit einem ICON1001 Demosystem - Bexx - 30.05.2011 10:42

Moin,

das Eingeben der Befehle klappt jetzt ganz gut, aber ist es möglich die Befehler als Konstante nacheinander in "VISA schreiben" einzugeben ?

mfg


RE: Kommunikation mit einem ICON1001 Demosystem - snuz - 30.05.2011 12:11

Hallo Bexx,

meinst Du z.B. in einem String Array:

test
123
456
test
ende

Das ist ganz klar möglich. Du musst einfach einzeln den Index abfragen, also Index 0 wäre dann "test", dann Index 1 "123" - das hoch-zählen kann man realisieren in dem man einfach die Schleifdurchläufe (i) nimmt, dazwischen würde ich noch 100ms (z.B.) warten dazu packen, damit auch sicher ist, das alle Befehle ankommen. Also einfach mal testen, das passt schon.

Gruß snuz


RE: Kommunikation mit einem ICON1001 Demosystem - Bexx - 30.05.2011 12:37

Hey Snuz, danke für den guten Vorschlag, jedoch klappt das aus welchen Gründen auch immer nicht.

Ich sehe zwar, wie die Befehle an den Controller rausgehen, jedoch passiert da nicht viel.

Die manuelle eingabe, mit deinem vorschlag für das Zuweisen einer Taste für den Fokus, ist da wesentlich besser.
Ich versuch mal in den nächsten Tagen den Grund dafür zu finden, jedoch momentag habe ich keine Ahnung woran es liegen soll.

mfg


RE: Kommunikation mit einem ICON1001 Demosystem - snuz - 07.06.2011 07:12

Hey Bexx,

vielleicht kannst Du mal einen Screenshot von dem VI mit den Konstanten hochladen.

Gruß snuz


RE: Kommunikation mit einem ICON1001 Demosystem - Bexx - 14.06.2011 14:51

Tach,

hier ist mal ein Screenshot vom Progi.

[attachment=34242]

Er jagt zwar alle Befehle durch, jedoch habe ich den Verdacht, dass nur das erste Befehl durchkommen. Auf die restlichen reagiert er nicht. Per Eingabe geht alles ohne Probleme, bis auf fie letzten zwei, da muss ich die beiden Letzten Befehle in eine Zeile schreiben und abschicken und dann noch zusätzlich zum Schluß den letzten Befehlsatz.

Definition der Befehle:


MfG


RE: Kommunikation mit einem ICON1001 Demosystem - GerdW - 14.06.2011 18:45

Hallo Bexx,

bitte das Ganze nochmal probieren, wenn du dieses ständige "Port öffnen"/"Port schließen" aus der Schleife rausgenommen hast. Außerdem könntest du auf Fehler bei der Kommunikation testen - eine Anzeige für den Errorcluster hast du ja schon...

- Bei fester Befehlsanzahl würde sich auch eine FOR-Schleife statt der WhileLoop anbieten.
- Wenn man AutoIndexing nutzt, braucht man auch kein IndexArray mehr...

Zitat:Per Eingabe geht alles ohne Probleme
Das klingt nach einem Timing-Problem - oder das ständige Port öffnen/schließen stört...


RE: Kommunikation mit einem ICON1001 Demosystem - Bexx - 15.06.2011 10:08

Moin GerdW nochmal Smile,

leider kann ich auf Grund meiner geringen Erfahrung dir nicht ganz folgen Bahn.

Hab das ganze auch mal in einer FOR-Schleife ausprobiert, dass Ganze mit dem selben Ergebnis.
Der Controller reagiert auf das erste Befehl erst beim Durchlaufen vom letzten Befehle.

Hab mal das Progi angehängt.

MfG


RE: Kommunikation mit einem ICON1001 Demosystem - GerdW - 15.06.2011 10:14

Hallo Bexx,

ich meinte es eher so:
[attachment=34259]
(So wie hier schon mal plastisch erläutert...)

Zitat:Der Controller reagiert auf das erste Befehl erst beim Durchlaufen vom letzten Befehle.
Ich kenne diesen Controller nicht. Da musst du wohl dessen Handbuch lesen...