QtVCP kann zur Erstellung von Bedienfeldern verwendet werden, die mit HAL verbunden sind.

1. Eingebaute virtuelle Bedienpulte (engl. virtual control panels)

Es sind mehrere integrierte HAL-Panels verfügbar.

Geben Sie in einem Terminal qtvcp list ein, um eine Liste zu sehen.

1.1. copy (engl. für kopieren)

Dient zum Kopieren von QtVCP’s eingebautem Screens/VCP Panels/QtVismach Code in einen Ordner, damit man ihn anpassen kann.

In einem Terminal ausführen:

qtvcp copy
QtVCP Kopierdialog - Bildschirm, Panel oder Vismach Code Copy Panel
Abbildung 1. QtVCP copy Dialog - Bildschirm, VCP Panel oder QtVismach Code Kopieren Panel

1.2. test_dial

  • Dieses Panel hat ein * Einstellrad, das S32- und Float-HAL-Ausgangspins einstellt *.

  • Der Bereich des Zifferblatts kann über ein Dropdown-Menü eingestellt werden.

  • Die Ausgabe kann mit der spinbox skaliert werden.

  • Eine combobox kann verwendet werden, um automatisch ein Signal auszuwählen und eine Verbindung herzustellen.

loadusr qtvcp test_dial
QtVCP test_dial Panel - Testwahl VCP
Abbildung 2. QtVCP test_dial Panel - Testwahl VCP

1.3. test_button

  • Dieses Panel hat eine Schaltfläche, die einen HAL-Pin setzt.

  • Die Schaltfläche kann als Momentan- oder als Umschalt-Schaltfläche ausgewählt werden.

  • Die Indikatorfarbe der Schaltfläche kann über ein Dropdown-Menü eingestellt werden.

  • Sie können weitere Schaltflächen über das Dropdown-Menü hinzufügen.

  • Sie können ein Halmeter aus dem Dropdown-Menü laden.

  • Sie können eine Test-LED aus dem Dropdown-Menü laden.

  • Die Schaltfläche kann von den Hauptfenstern abgetrennt werden.

So laden Sie test_button aus einem HAL-Skript:

loadusr qtvcp test_button
loadusr qtvcp -o 4 test_button

Der -o Schalter legt fest, mit wie vielen Knöpfen das Panel startet.
Wenn Sie direkt von einem Terminal laden, lassen Sie das loadusr weg.

QtVCP test_button - Test Button VCP
Abbildung 3. QtVCP test_button - Test Button VCP

1.4. test_led

  • Dieses Panel verfügt über eine *LED, die ausgewählt werden kann, um HAL-Bit-Pins / Signale * zu beobachten.

  • Die Farbe der LED kann über ein Dropdown-Menü eingestellt werden.

  • Das Textfeld und der Status können als Sprache ausgegeben werden, wenn Ton ausgewählt ist.

  • Eine combobox kann zur automatischen Auswahl und Verbindung mit einem Pin/Signal verwendet werden.

  • Sie können weitere LEDs über das Dropdown-Menü hinzufügen.

  • Die LED kann von den Hauptfenstern abgenommen werden.

So laden Sie test_led aus einem HAL-Skript:

loadusr qtvcp test_led
loadusr qtvcp -o 4 test_led

Der -o-Schalter stellt ein, mit wie vielen LEDs das Panel startet.
Wenn Sie direkt von einem Terminal laden, lassen Sie den loadusr weg.

QtVCP test_dial Panel - Test LED VCP
Abbildung 4. QtVCP test_dial Panel - Test LED VCP

1.5. test_panel

Sammlung nützlicher Widgets zum Testen von HAL-Komponenten, einschließlich Sprache des LED-Zustands.

loadusr qtvcp test_panel
QtVCP test_panel - Prüfpanel für HAL-Komponenten
Abbildung 5. QtVCP test_panel- - HAL Komponenten-Prüffeld

1.6. cam_align

Ein Kamera-Display-Widget für die Rotationsausrichtung.

QtVCP `cam_align` Panel zur Kamera-basierten Ausrichtung
Abbildung 6. QtVCP cam_align Panel zur Kamera-basierten Ausrichtung
Anwendung

Fügen Sie der INI-Datei diese Zeilen hinzu:

[DISPLAY]
EMBED_TAB_NAME = cam_align
EMBED_TAB_COMMAND = halcmd loadusr -Wn qtvcp_embed qtvcp -d -c qtvcp_embed -x {XID} cam_align
# The following line is needed if embedding in GMOCCAPY
EMBED_TAB_LOCATION = ntb_preview

Sie können Breite und Höhe des Fensters, Drehung und Kameranummer in der INI mit der Option -o hinzufügen.

EMBED_TAB_COMMAND = halcmd loadusr -Wn qtvcp_embed qtvcp -d -c qtvcp_embed -x {XID} -o size=400,400 -o rotincr=.2 -o camnumber=0 cam_align

Maussteuerung:

  • Linke Maus Einzelklick - Fadenkreuzrotation um einen Schritt erhöhen

  • Einfacher Mausklick mit der rechten Maustaste - Drehung des Fadenkreuzes um eine Stufe verringern

  • Einfacher Klick mit der mittleren Maustaste - zyklisch durch Rotationsschritte blättern

  • linke Maustaste gedrückt halten und scrollen - Kamerazoom scrollen

  • rechte Maustaste gedrückt halten und scrollen - Fadenkreuz-Drehwinkel scrollen

  • nur Mausbewegung - Scroll bestimmt Kreis-Durchmesser

  • Linker Maus-Doppelklick - Zoom zurücksetzen

  • Doppelklick mit der rechten Maustaste - Rotation zurücksetzen

  • Doppelklick mit der mittleren Maus - Kreisdurchmesser zurücksetzen

Um die oberen Schaltflächen zu verwenden, müssen Sie einen Befehl (oder eine Unterroutine) zuweisen. Dies könnte wie folgt aussehen:

[MDI_COMMAND_LIST]
MDI_COMMAND=G10 L20 P1 X0 Y0,Set XY\nOrigin
MDI_COMMAND=G0 X0 Y0,Go To\nOrigin

Dabei bezieht sich der erste Befehl auf die Schaltfläche "SET Ursprung" (engl. origin) und der zweite auf die Schaltfläche "GOTO Ursprung".
Beachten Sie, dass das Komma und der Text danach optional sind - sie überschreiben den Standardtext der Schaltfläche.
Diese Schaltflächen sind QtVCP-Aktionsschaltflächen und folgen diesen Regeln.

1.7. sim_panel

Kleines Bedienfeld, um MPG Joggingsteuerungen zu simulieren usw.*.
Für simulierte Konfigurationen

loadusr qtvcp sim_panel
QtVCP sim_panel - Simuliertes Bedienfeld für Bildschirmtests
Abbildung 7. QtVCP sim_panel - Simuliertes Bedienfeld für Bildschirmtests.

1.8. tool_dialog

Manueller Werkzeugwechsel-Dialog, der eine Werkzeugbeschreibung enthält.

loadusr -Wn tool_dialog qtvcp -o speak_on -o audio_on tool_dialog

Optionen:

  • -o notify_on` - _verwendet Desktop-Notify-Dialoge anstelle der QtVCP-eigenen Dialoge.

  • -o audio_on - Ton beim Werkzeugwechsel abspielen

  • -o talk_on - Sprach-Ankündigung des Werkzeugwechsels

QtVCP `tool_dialog` - Dialog zum manuellen Werkzeugwechsel
Abbildung 8. QtVCP tool_dialog - Dialog zum manuellen Werkzeugwechsel

2. vismach 3D Simulation Panels

Diese Tafeln sind vorgefertigte Simulationen gängiger Maschinentypen.

Diese können auch in andere Bildschirme wie AXIS oder GMOCCAPY eingebettet werden.

2.1. QtVCP vismach_mill_xyz

3D-OpenGL-Ansicht einer 3-Achsen-Fräsmaschine.

loadusr qtvcp vismach_mill_xyz
QtVCP vismach_mill_xyz - 3-Achsen-Fräse 3D-Ansichts-Panel
Abbildung 9. QtVCP vismach_mill_xyz - 3-Achsen-Fräse 3D-Ansichtspanel

2.2. QtVCP vismach_scara

3D-OpenGL-Ansicht einer SCARA-basierten Fräsmaschine.

loadusr qtvcp vismach_scara
QtVCP vismach_scara - SCARA-Fräse 3D-Ansichtspanel
Abbildung 10. QtVCP vismach_scara - SCARA Fräse 3D-Ansichtsfenster

2.3. QtVCP vismach_millturn

3D OpenGL-Ansicht einer 3-Achsen-Fräsmaschine mit einer A-Achse/Spindel.

loadusr qtvcp vismach_millturn
QtVCP `vismach_millturn` - 4 Achsen Drehzentrum 3D Ansichtspanel
Abbildung 11. QtVCP vismach_millturn - 4 Achsen Drehzentrum 3D Ansichtspanel

2.4. QtVCP vismach_mill_5axis_gantry

3D-OpenGL-Ansicht einer 5-Achsen-Fräsmaschine in Gantry-Bauweise.

loadusr qtvcp vismach_mill_5axis_gantry
QtVCP `vismach_mill_5axis_gantry` - 5-Achsen Gantry Fräse 3D-Ansichtspanel
Abbildung 12. QtVCP vismach_mill_5axis_gantry - 5-Achsen Gantry Mill 3D-Ansichtspanel

2.5. QtVCP vismach_fanuc_200f

3D openGL-Ansicht eines 6-Gelenk-Roboterarms.

loadusr qtvcp vismach_fanuc_200f
QtVCP vismach_fanuc_200f - 6-Gelenk-Roboterarm
Abbildung 13. QtVCP vismach_fanuc_200f - 6-Gelenk-Roboterarm

3. Benutzerdefinierte virtuelle Schalttafeln (engl. panels)

Sie können natürlich Ihr eigenes Panel erstellen und laden.

Wenn Sie eine UI-Datei mit dem Namen my_panel.ui und eine HAL-Datei mit dem Namen my_panel.hal erstellt haben, würden Sie diese dann von einem Terminal aus laden mit:

halrun -I -f my_panel.hal
Beispiel einer HAL-Datei, die ein QtVCP-Panel lädt
# Echtzeitkomponenten laden
loadrt threads
loadrt classicladder_rt

# load non-realtime programs
loadusr classicladder
loadusr -Wn my_panel qtvcp my_panel.ui  # <1>

# Komponenten zum Thread hinzufügen
addf classicladder.0.refresh thread1


# Pins verbinden
net bit-input1 test_panel.checkbox_1 classicladder.0.in-00
net bit-hide test_panel.checkbox_4 classicladder.0.hide_gui

net bit-output1    test_panel.led_1             classicladder.0.out-00

net s32-in1        test_panel.doublescale_1-s   classicladder.0.s32in-00

# start thread
start
  1. In diesem Fall laden wir qtvcp mit -Wn, das wartet, bis das Panel das Laden beendet hat, bevor es mit der Ausführung des nächsten HAL-Befehls fortfährt.
    Damit soll gewährleistet werden, dass die vom Panel erstellten HAL-Pins tatsächlich fertig sind, falls sie im Rest der Datei verwendet werden.