Einführung in das Programmieren

Q-SYS Control 101 Training (German) : Einführung

3 ) Einfache Kommunikation

12m 54s

4 ) Block Controller

18m 50s

6 ) Flow Control

36m 23s

7 ) Fazit „Control 101“

1m 29s

Übungsbeschreibung

Einführung in das Programmieren 9m 29s

Du lernst deinen Trainer für diese Reihe (neu) kennen und entdeckst zahlreiche Möglichkeiten, dein Q-SYS Design für maßgeschneiderte Aufgaben zu programmieren.

Video Transkript

Einführung in das Programmieren 9m 29s
0:08
Willkommen beim Q-SYS Control Training. Mein Name ist Sebastian Linn. Ich begleite euch durch
0:13
diese Schulungsreihe, bei der wir tief in die Möglichkeiten von Q-SYS als zuverlässige
0:17
Steuerungsplattform eintauchen. Da ihr dieses Video anschaut, gehe ich davon aus, dass ihr schon
0:23
mit der Q-SYS Designer Software vertraut seid, denn wir werden uns hier nicht mit grundsätzlichen
0:28
Navigationskonzepten aufhalten. Und ich nehme an, dass ihr euch mit der Architektur von
0:33
Audiosystemen und Signalverarbeitung auskennt, da wir uns ausschließlich auf die Systemsteuerung
0:39
konzentrieren.
0:41
Dieser Online-Kurs dient als Zulassungsvoraussetzung für die Präsenzkurse zu Q-SYS Control. Aber
0:47
auch wenn ihr nicht vorhabt, an einem Präsenzkurs teilzunehmen, könnt ihr hier viel lernen.
0:52
Ziel dieser Serie ist es, euch die verschiedenen Möglichkeiten des Programmierens mit Q-SYS zu
0:57
vermitteln, sodass Ihr im Präsenzkurs sofort loslegen und echte Drittanbieterprodukte einbinden
1:02
könnt. Bei diesen Online-Videos steht euch wahrscheinlich keine Hardware zur Verfügung, also
1:07
kommen wir nur so weit, wie es der Emulationsmodus erlaubt. (Zum Glück ist das schon ziemlich
1:13
weit.)
1:14
Als Hilfestellung gibt es ein begleitendes Arbeitsblatt – das Worksheet – mit Übungen, die den Inhalt
1:19
bestimmter Kurseinheiten vertiefen. Den Link zum Worksheet findet ihr im Abschnitt direkt nach
1:25
diesem Video. Ihr könnt auch von jedem dieser Kurs-Videos auf den Tab „Download and Links“
1:31
gehen. Mit der ersten Hälfte werden während dieses Online-Grundkurses „Control 101“ eure
1:38
Programmierkenntnisse abgefragt, die zweite Hälfte kommt dann beim Präsenzkurs „Control 201“
1:44
zum Einsatz.
1:46
Steuerung ist ein weites Feld, das viele Aspekte beinhaltet. An diesem Punkt solltet ihr wissen, wie ihr
1:52
eine Benutzeroberfläche – ein User Control Interface – aufbaut und Elemente aus eurem Design auf
1:57
einen Touchscreen bringt, mit dem Eure Nutzer das System steuern können. Auf der großen Skala an
2:03
Möglichkeiten in Q-SYS fallt das unter kinderleicht! Mit den Steuerungselementen im Bedienfeld
2:09
einer Komponente könnt ihr problemlos schon eine ganze Menge bewerkstelligen!
2:14
Aber was ist, wenn eure Buttons sich gegenseitig beeinflussen oder abhängig von anderen
2:19
Einstellungen unterschiedliche Dinge tun sollen? Dazu müssen wir in die Welt des Programmierens
2:24
eintauchen. Es gibt tatsächlich mehrere Wege, die man beim Programmieren in Q-SYS Designer
2:29
einschlagen kann. Wir werden sie alle erkunden und dabei die Vor- und Nachteile erörtern.
2:36
Kompliziertere Themen umfassen z. B. die Verwendung von Q-SYS zur Steuerung anderer Geräte
2:41
außerhalb der Q-SYS Architektur. Die Liste der Geräte, die Steuerdaten entweder empfangen oder
2:47
senden können, ist endlos.
2:49
Dies können einfache Verknüpfungen mit analogen Knöpfen oder Drehreglern sein, unidirektionale
2:55
Befehle an Beleuchtungscontroller anderer Hersteller, die bidirektionale Kommunikation zwischen
3:01
Video-Matrizes, Fernsehgeräten, Sicherheitssystemen usw. Was immer sich steuern lässt – Q-SYS
3:07
steuert es.
3:08
Auf einer sehr hohen Ebene gibt es bei allen Programmiermethoden Gemeinsamkeiten – und wenn
3:12
du diese einmal kennst, siehst du, wie sich sie auch in der täglichen Arbeit niederschlagen.
3:17
Programmieren ist der Prozess, der zwischen einem Gedanken und einer Handlung abläuft. Als
3:22
Beispiel würde ich gern ein kleines Experiment mit euch machen. Würdest du bitte mal … in die
3:27
Hände klatschen. Hast du es getan? Schauen wir uns mal an, was gerade passiert ist.
3:33
Ich habe deinem Gehirn eine Anfrage geschickt – „Klatsch in die Hände.“ Dein Hirn hat in
3:39
Sekundenbruchteilen eine Reihe von Entscheidungen getroffen. Als Ergebnis hast du entweder in die
3:44
Hände geklatscht oder nicht. Mein Befehl war die Eingabe – etwas, das auf das System wirkt und eine
3:50
Reaktion erfordert.
3:52
Die Ausgabe ist ein Befehl an deine Hände. Der Entscheidungsprozess dazwischen steckt voll
3:58
bedingter Anweisungen, Funktionen und Bezüge auf externe Parameter, die dir vielleicht noch nicht
4:03
einmal bewusst waren.
4:05
Beispielsweise, ob du der Anweisung folgen willst oder nicht. Wäre es in deiner Umgebung
4:09
akzeptabel, plötzlich in die Hände zu klatschen, oder nicht? Nehmen wir noch eine externe Variable
4:15
hinzu, die besagt, ob du gerade etwas in den Händen hältst, das dich am Klatschen hindern würde.
4:20
Dann würde eine Vergleichsfunktion entscheiden, ob dein Wunsch, dem Befehl zu folgen, größer ist
4:25
als die Unannehmlichkeit, den Gegenstand, den du gerade hältst, aus der Hand zu legen. Der
4:30
Wunsch, es zu tun, könnte durch eine globale Variable überschrieben werden, wie der Anzahl Hände,
4:35
die du tatsächlich hast.
4:38
Der Wunsch, es nicht zu tun, könnte durch meinen unterschwelligen Hinweis auf das Videospiel
4:43
„Bioshock“ außer Kraft gesetzt werden, was dich dazu bringt, jeden Befehl auszuführen, der mit
4:48
„Würdest du bitte …“ beginnt.
4:50
All diese bedingten Anweisungen erfolgen blitzschnell und das Endergebnis ist eine Ausgabe:
4:55
Entweder wird eine Aktion gestartet, die deine Hände klatschen lässt, oder aber die Bedingungen
5:00
wurden nicht erfüllt, und das System bleibt unverändert.
5:03
Den Fluss all dieser bedingten Anweisungen, Variablen, Parameter und Funktionen und die
5:09
Bedeutung von Eingabe und Ausgabe zu verstehen – das ist das Grundgerüst des Programmierens.
5:14
Unser Gehirn tut dies automatisch. Es sieht also alles recht einfach aus, aber um einen Computer zu
5:18
programmieren, must du jede einzelne Möglichkeit bedenken und logisch vorausplanen. Das Gute
5:25
daran: Egal welche Methode du auch zum Programmieren verwendest, diese grundlegenden
5:29
Konzepte gelten für jede Aufgabe, die du dir vornimmst. Du musst nur dazu in der Lage sein, das
5:35
Ganze in kleine, identifizierbare Teile zu zerlegen. Und wir zeigen dir, wie diese einzelnen Teile
5:40
aussehen.
5:42
In diesem Kurs demonstrieren wir drei Methoden, die ihr zum Programmieren nutzen könnt:
5:46
Steuerungskomponenten, das Programmieren mit Lua und den Block Controller. Jede hat Vor- und
5:53
Nachteile und wir werden während des Kurses immer wieder zwischen allen drei Methoden hin- und
5:58
herspringen, sodass Ihr sie miteinander vergleichen könnt.
6:01
Mit Steuerungskomponenten könnt Ihr auf simple Weise Steuerungselemente in Q-SYS miteinander
6:06
interagieren lassen und einige Basisfunktionen anwenden, die den Zustand mehrerer Elemente
6:12
vergleichen, ihr könnt je nach Eingabe verschiedene Optionen ausführen lassen und Logik-Pfade
6:17
öffnen oder schließen.
6:20
Steuerungskomponenten eignen sich hervorragend für einfache Interaktionen oder für eine
6:24
Entscheidung zwischen zwei Optionen. Ihr könnt damit auch ganz kompliziertere Szenarien
6:29
entwerfen, aber irgendwann ist eine Grenze erreicht, und es braucht ein stärkeres Tool.
6:34
Skriptschreiben ist das andere Ende der Skala. Mit einem Skript ist beinahe alles machbar, aber dazu
6:40
muss man wissen, wie man ein Skript in der betreffenden Sprache schreibt.
6:45
Der Steuerungsskript-Editor in Q-SYS öffnet einen leeren, schwarzen Arbeitsbereich, in den du Code
6:51
schreiben kannst, und zwar in der Programmiersprache Lua. Dies erfordert ein Verständnis der
6:56
Syntax-Regeln von Lua, sowie der Q-SYS-spezifischen Ergänzungen, die wir der Lua-Datenbank
7:02
hinzugefügt haben, damit man richtig arbeiten kann.
7:05
In diesem Kurs können wir euch Lua natürlich nicht komplett beibringen, aber wir zeigen euch einige
7:10
Grundlagen. Mit Lua kannst du komplizierte Interaktionen mit Drittanbieterprodukten
7:15
programmieren, die über das Netzwerk oder seriell verbunden sind. Du kannst Schaltmatrizes und
7:21
Timer einrichten, komplexe Zeichenfolgen parsen – die einzige Einschränkung sind eigentlich nur
7:26
deine Programmierkenntnisse.
7:28
Nur scheint der Sprung von den Steuerungskomponenten zum Skript groß zu sein, und hier kommt
7:34
unsere dritte Option ins Spiel – der Block Controller.
7:37
Der Block Controller ist ein visuelles Programmier-Tool, bei dem du aus ineinandergreifen grafischen
7:43
Blöcken ein funktionierendes Skript bauen kannst. Das bedeutet, dass du viele Dinge in Lua umsetzen
7:49
kannst, ohne die genauen Protokolle zu kennen und ohne Syntaxfehler zu machen.
7:53
Aber du musst schon einige Grundprinzipien von Programmiersprachen verstehen, um mit dem Block
7:58
Controller zu arbeiten. Wir zeigen dir, wie du dieses Wissen anwendest.
8:03
Auch hier gilt: Diese Videos allein machen euch noch nicht zu Experten für alle drei Methoden. Wir
8:08
wollen euch an jede der Methoden heranzuführen, damit ihr mit diesen einige grundsätzliche
8:13
Aktionen umsetzen könnt, und inspirieren euch hoffentlich dazu, selbst auf Entdeckungsreise zu
8:17
gehen. Oft bitten wir euch nach den Videos, eine Übungsaufgabe im Control-Training-Worksheet zu
8:23
absolvieren. Ihr könnt natürlich gern mehr Zeit damit verbringen, die Möglichkeiten der Methoden
8:28
auszuloten.
8:30
Bevor wir loslegen, noch ein paar organisatorische Dinge – einige der genutzten Tools, wie der Block
8:36
Controller und die Skriptkomponenten findet Ihr hier in der „Schematic Library“. Wenn Ihr ein Design
8:42
mit diesen Komponenten einsetzen wollt, braucht ihr eine Q-SYS Feature-Lizenz, die Ihr bei eurem
8:47
netten QSC Vertriebspartner bekommt.
8:50
Im Emulationsmodus könnt ihr soviel bauen und testen, wie Ihr wollt, aber wenn es dann an den
8:55
realen Core Prozessor geht, stellt bitte sicher, dass die Scripting Engine Feature-Lizenz installiert ist.
9:01
Gut – als Erstes erkunden wir die Steuerungskomponenten. Scripting und Block Controller haben
9:07
natürlich viele Gemeinsamkeiten, also schauen wir sie uns etwas später zusammen an. Zunächst
9:13
verbringen wir ein wenig Zeit nur mit den Steuerungskomponenten. Also, macht eine kurze Pause,
9:18
atmet tief durch und macht euch bereit für das Q-SYS Control Training. Und wenn ihr soweit seid,
9:24
geht zum nächsten Video.