5" 800x480 / 7" IPS 1024x600 / 10,1" IPS 1280x800 mit und ohne Touchpanel
·
Superhell mit 900cd/m² bzw. 1000cd/m²
·
Analog-Resistiver Touch oder kapazitiver Multitouch (PCAP)
·
Objektorientierter Bildschirmaufbau
·
Objekte zur Laufzeit verändern: Größe, Form, Farbe, Inhalt
·
Objekte animieren, bewegen
·
Vektorgraphiken, verlustfreies Zoomen und Drehen
·
Zeichensätze, vektorisiert ASCII und Unicode
·
7 serielle Interfaces: USB, 2 x RS232, 2 x SPI, 2 x I²C
·
16 digitale frei definierbare I/O eingebaut, auf 125 erweiterbar
·
4 analoge Eingänge
·
Uhrzeit, Batteriegepuffert
·
Mikro SD-Card als Datenspeicher für Bilder, Fonts, Menüs und Log-Files
·
interne Rechenfunktionen und Programmierbarkeit
BESTELLBEZEICHNUNG
5" Intelligentes TFT 800 x 480 Pixel, Außenmaß: 124 x 78,5 mmEA uniTFT050-A
wie vor, mit kapazitivem Multitouch (Außenmaß: 136 x 96 mm)EA uniTFT050-ATC
wie vor, mit analog resistiven Touch (Außenmaß: 124 x 78,5 mm)EA uniTFT050-ATP
7" Intelligentes TFT 1024 x 600 Pixel, IPS, Außenmaß: 169 x 105 mm
wie vor, mit kapazitivem Multitouch (Außenmaß: 190 x 125 mm)
10,1" Intelligentes TFT 1280 x 800 Pixel, IPS, Außenmaß: 235 x 161 mmEA uniTFT101-A
wie vor, mit kapazitivem Multitouch (Außenmaß: 260 x 185 mm)EA uniTFT101-ATC
EA uniTFT070-A
EA uniTFT070-ATC
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
1 / 172
EA uniTFT050-A
Zubehör
Quick-Start Set: Starterboard (Lautsprecher, Reset, Interface, Netzteil)
mit kapazitivem 5"-Displaymodul EA uniTFT050-ATC
mit kapazitivem 7"-Displaymodul EA uniTFT070-ATC
mit kapazitivem 10.1"-Displaymodul EA uniTFT101-ATCEA QUICKuniTFT101C
MicroMatch THT, 26 poliger Gegenstecker zum Einlöten (2 Stück erforderlich)EA B2B127M-26T
MicroMatch Flachband, 26 poliger Gegenstecker für Flachbandkabel (2 Stück erf.)EA B2B127M-26Q
Kabel (25 cm) mit gequetschtem Gegenstecker (2 Stück erforderlich)EA KM-126
EA QUICKuniTFT050C
EA QUICKuniTFT070C
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
Mass Storage Mode .................................................................................................................................. 15
USB ................................................................................................................................................... 28
Analog Input ............................................................................................................................................. 32
Video Input ............................................................................................................................................... 34
Short Protokoll ......................................................................................................................................... 45
Small Protokoll ......................................................................................................................................... 48
I/O Port .................................................................................................................................................. 106
Analog Input ........................................................................................................................................... 107
Video Input ............................................................................................................................................. 113
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
4 / 172
EA uniTFT050-A
ALLGEMEINES
Die EA uniTFT-Serie ermöglicht mit dem integrierten Befehlssatz eine ausgefeilte grafische Darstellung und intuitive
Menüsteuerung. Dank dem integrierten Befehlssatz und der Windowsdesignsoftware uniSKETCH können nicht nur
Elektronikspezialisten sondern z.B. auch Experten aus dem Bereich Design und Benutzerführung das gesamte HMI
erstellen.
Die Displaymodule sind mit 3,3 V sofort betriebsbereit, die Ansteuerung erfolgt über die eingebauten seriellen
Schnittstellen RS232, SPI, I²C oder USB.
Durch die objektorientierte "Programmierung", den umfangreichen Befehlssatz und den bereits integrierten, und
jederzeit erweiterbaren Unicode-Schriftsätzen wird "Time-to-Marked" ein Kinderspiel.
Es sind aktuell 3 verschiedene Größen lieferbar: 5" mit 800x480 Punkten Auflösung und sehr hellen 900 cd/m², sowie
2 verschiedene IPS-Displays mit 7" (1024x600) und 10,1" (1280x800) und jeweils extrem hellen 1000cd/m².
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
5 / 172
EA uniTFT050-A
SOFTWARE - ARBEITSWEISE DER EA UNITFT-SERIE
Die Darstellung auf dem Display erfolgt anhand der übergebenen Befehle. Die Befehle können entweder per Laufzeit
über eine der seriellen Schnittstellen übertragen werden oder auf der internen Mikro SD-Card in sogenannten Macros
zusammengefasst und fest abgelegt werden. Mithilfe der Befehle werden Grafikobjekte erstellt. Diese Objekte haben
unterschiedliche Eigenschaften, wie z.B. Farbe, Form und eingebaute Aktionen. Diese Eigenschaften können jederzeit
manipuliert werden, so kann z.B. ein String geändert werden oder aber die Postion eines Touchtasters geändert
werden.
Alle nur erdenklichen Objekte können beliebig platziert, bewegt und wieder gelöscht werden. Schriften sind verlustfrei
zoom- und drehbar, Windows-Zeichensätze werden direkt im Display abgelegt. Dank automatischer ASCII- und
Unicode- Umschaltung werden flexibel die unterschiedlichsten Systeme unterstützt; Chinesische Zeichen
eingeschlossen. Elegante Effekte zum Ein- und Ausblenden oder Hereinfliegen sind bereits integriert. Über
Stylesheets lassen sich durchgängig einheitliche Designs erstellen. Bilder können als JPEG, PNG oder SVG (auch
transparent) eingebunden werden, Sounddateien wie MP3 sind importierbar. Zusammen mit der integrierten,
batteriegepufferten Zeitbasis lassen sich Ereignisse zusammen mit einem Zeitstempel dokumentieren oder auch
Abläufe völlig autark ohne externem Rechner steuern.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
6 / 172
EA uniTFT050-A
Objekte
Jedes Bild, jeder Text und jeder Button ist ein sogenanntes Objekt. Jedes Objekt muss mit einer Objekt-ID versehen
werden, welche es eindeutig identifizierbar macht. Vergibt man eine Objekt-ID, dann wird bei erneuter Vergabe dieser
Objekt-ID das vorherige Objekt überschrieben. Über die Objekt-ID können die Eigenschaften eines Objekts jederzeit
geändert werden.
Die Befehle zur Objektverwaltung sind hier zu finden.
Objektpostion / Anker
Allgemeine Anker
Die Position eines Objekts ergibt sich durch die Koordinaten bezogen auf den Objektanker. Jedes Objekt hat 9
allgemeine Anker.
Zeichenketten und Anker
Zeichenketten haben weitere 9 Anker um Objekte (z.B. Gerade für Unterstreichen) an der Textbaseline ausrichten zu
können.
Spezialfall: Anker 0
Jedes Objekt besitzt zusätzlich einen frei definierbaren Anker. Der Anker 0 kann frei positioniert werden. Bei Kreisen,
Ellipsen, Sternen ist der Objektanker 0 gleichzeitig der Konstruktionspunkt.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
7 / 172
EA uniTFT050-A
Der Zeiger soll sich um den Mittelpunkt drehen. Die in
grau dargestellten 9 Standardanker sind nicht hilfreich,
denn eine Rotation erfolgt immer um einen Anker - was im
dargestellten Fall unmöglich ist. Der Anker 0 kann
pixelgenau platziert werden (#OAS).
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
8 / 172
EA uniTFT050-A
Styles
Das grafische Erscheinungsbild eines Objekts wird durch die verschiedenen Stylevorlagen, auch StyleSheets genannt
definiert.
DrawStyle:
Farben, Farbverläufe, Muster und Linien werden im DrawStyle zusammengefasst.
TextStyle:
Das Aussehen einer Zeichenkette wird im TextStyle definiert. Ein TextStyle besteht aus einem DrawStyle und der zu
verwenden Schriftart und Größe.
ButtonStyle:
Touchbuttons und -schalter erhalten ihr Aussehen von einem ButtonStyle, der wiederum aus TextStyles für die
Beschriftung und DrawStyles für den Hintergrund des Tasters besteht.
Die Befehle zu den einzelenen Styles sind hier zu finden.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
9 / 172
EA uniTFT050-A
Koordinatensystem und Winkel
Das Koordinatensystem bezieht sich direkt auf die Displayauflösung des Moduls, beispielsweise beim EA uniTFT050A einen Bereich von 800 x 480. Der Ursprung 0|0 liegt in der linken unteren Ecke.
Winkel werden im mathematischen Drehsinn (gegen den Uhrzeigersinn) angegeben. 0° befindet sich horizontal rechts:
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
10 / 172
EA uniTFT050-A
Mehrsprachigkeit - Stringfiles
In einer immer mehr zusammenwachsenden Welt mit internationalen Aufträgen ist die Unterstützung verschiedener
Sprachen ein Muss. Die EA uniTFT-Serie bietet mit der Unicodeunterstützung einen Teil der Lösung. Ohne Unicode ist
es unmöglich z.B. mit chinesischen Schriftzeichen zu arbeiten.
Der zweite Teil der Unterstützung sind Stringfiles: Diese Textfiles sind eine Art Datenbank der anzuzeigenden Strings.
In den Makrofiles wird für Strings auf ein Index referenziert. In den Stringfiles ist dieser Index zu finden und wird dann
automatisch dargestellt.
Genauere Beschreibung sind bei dem Befehl #VFL oder bei den Beispielen zu finden.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
11 / 172
EA uniTFT050-A
Bootmenü
Auf der integrierten SD-Card können verschiedene Projekte gespeichert werden. Welches Projekt automatisch
gestartet wird legt das File "start.emc" fest. Um ein anderes Projekt zu laden kann entweder die Datei verändert bzw.
ersetzt werden. Alternative gelangen Sie über das Touchpanel in das Bootmenü:
Version -TP: Beim Einschalten oder sofort nach einem Reset berühren Sie das Touch und halten es gedrückt. Nach
Erscheinen der Meldung "Enter Bootmenue" den Touch wieder loslassen. Innerhalb einer Sekunde den Touch zweimal
berühren ("Doppelclick").
Version -TC: Beim Einschalten oder sofort nach einem Reset streichen Sie in kurzen Abständen mehrmals über das
Touchpanel.
Um Missbrauch durch den Bediener zu vermeiden, kann das Bootmenü deaktiviert werden. Hierfür muss auf der SDCard im Root-Verzeichnis die Datei "bootmenu.off" mit leeren Inhalt erzeugt werden. Das kann zum Beispiel durch
uniTFT Befehle erfolgen:
#FWO</bootmenu.off>
#FWC
Neben der Projektauswahl kann im Bootmenü der Testmode gestartet werden, um Informationen über das Modul
angezeigt zu bekommen. Hierüber wird auch der Mass Storage Mode gestartet.
Sollte im Bootmenü der Eintrag Mass Storage Mode deaktiviert werden, um zu vermeiden, dass Nutzer versehentlich
diesen Modus aktivieren, muss im SD-Card im Root-Verzeichnis die Datei "usbmsc.off" mit leeren Inhalt erzeugt
werden. Das kann zum Beispiel durch uniTFT Befehle erfolgen:
#FWO</usbmsc.off>
#FWC
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
12 / 172
EA uniTFT050-A
Firmwareupdate
Um die neuesten Features der EA uniTFT-Serie nutzen zu können kann es notwendig sein, die interne Firmware des
Moduls zu erneuern. Dies kann auf zwei Varianten erfolgen, entweder über die seriellen Schnittstellen oder mit Hilfe
der SD-Card.
Firmwareupdate per serielle Schnittstelle und Windows PC:
·
speichern Sie die Firmwaredatei (z.B. EA_uniTFT_V1_1.fw) auf der Festplatte
·
verbinden Sie das EA uniTFT mit Ihrem PC
·
starten Sie uniTRANSFER.exe (zu finden in den Tools der uniSKETCH-Installation) und wählen die korrekte
Schnittstelle als Verbindung zum EA uniTFT aus
·
schieben Sie die neue Firmwaredatei aus dem Windows-Explorer per Drag&Drop auf das Fenster
"uniTRANSFER.exe"
·
Nach der Übertragung muss manuell ein Reset ausgeführt werden, beim erneuten Start wird die Firmware geladen.
Bitte schalten Sie das Gerät während des Updates nicht aus.
·
Das Firmwarefile wird nach der Installation gelöscht, sofern es nicht das Dateiattribut "Schreibgeschützt" hat.
Firmwareupdate per SD-Card:
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
13 / 172
EA uniTFT050-A
·
Das EA uniTFT muss komplett Spannungsfrei geschaltet werden.
·
Ausbau der SD-Card
·
speichern Sie die Firmwaredatei (z.B. EA_uniTFT_V1_1.fw) auf der Mikro SD-Card im Root-Verzeichniss
·
Nach dem Einbau und Starten des Moduls wird automatisch die auf der Mikro SD-Card befindliche Firmware
geladen. Bitte schalten Sie das Gerät während des Updates nicht aus.
·
Das Firmwarefile wird nach der Installation gelöscht, sofern es nicht das Dateiattribut "Schreibgeschützt" hat.
Firmwareupdate per serieller Schnittstelle:
Die Firmwaredatei kann mit einem beliebigen System zum EA uniTFT übertragen werden. Dazu übertragen Sie den
Inhalt der *.fw Datei 1:1 (mit Protokoll in einzelnen Paketen) zum EA uniTFT. Auf dem Modul kann mitverfolgt werden
wieweit die Übertragung abgeschlossen ist. Nach erfolgreicher Übertragung erfolgt automatisch ein Datencheck. Bei
korrekten Daten wird der Programmiervorgang automatisch gestartet. Bitte schalten Sie das Gerät während desUpdates nicht aus.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
14 / 172
EA uniTFT050-A
Mass Storage Mode
Die EA uniTFT-Serie arbeitet im Normalbetrieb immer als CDC-Device um über die serielle Schnittstelle Befehle
entgegen nehmen zu können.
Für den Datenaustausch mit Windows kann es sinnvoll sein das Modul als Massenspeicher anzumelden. Das Modul
wird von Windows automatisch im Explorer angezeigt und verhält sich wie ein USB-Stick:
Während das Modul als Mass Storage Gerät verwendet wird sind sämtliche Befehle gesperrt, es werden keine Makros
aufgerufen.
Der Mass Storage Mode kann ab der Firmware V1.2 im Bootmenü per Touch ausgewählt werden, durch einen
geeigneten Reset mit dem Befehl #XFB 6, oder durch einen Protokollbefehl.
Um in den normalen Modus zurückzukehren genügt es einen Reset auszuführen, die Touchfläche "disconnect" zu
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
15 / 172
EA uniTFT050-A
berühren oder das Modul Windowsseitig zu trennen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
16 / 172
EA uniTFT050-A
HARDWARE
Die EA uniTFT-Serie besteht aus einem TFT-Display und einer Hintergrundbeleuchtung welche durch den integrierten
LED-Treiber per Softwarebefehl steuerbar ist. So kann im 24h Betrieb die Beleuchtung automatisch gedimmt werden
um die Lebensdauer der LEDs zu vergrößern und Strom einzusparen.
Das Modul ist für 3,3 V Betriebspannung ausgelegt. Die Datenübertragung erfolgt seriell im RS232 Format, per SPI,
I²C oder direkt mit USB.
Für kleine Steuerungsaufgaben stehen dem Modul zusätzlich 16 frei verwendbare I/Os (erweiterbar auf bis zu 125), 4
Analogeingänge, ein PWM-Ausgang sowie 3 serielle Schnittstellen (RS232, SPI und I²C) zur Verfügung.
Optional sind zwei Versionen mit integriertem Touchpanel verfügbar: Durch Berühren des Displays können hier
Eingaben gemacht und Einstellungen per Menü oder Bargraph getätigt werden. Die Beschriftung und Größe und Form
der "Tasten" ist flexibel und auch während der Laufzeit änderbar (verschiedene Sprachen, Icons). Das Zeichnen der
einzelnen "Tasten", sowie das Beschriften wird von der eingebauten Software komplett übernommen. Je nach
Einsatzzweck eignet sich das analog resistive Touchpanel, welches mit Stiften oder dicken Handschuhen bedienbar
ist, oder die kapazitive Version mit unempfindlicher Glasoberfläche, welches auch mit dünnen Handschuhen bedienbar
ist.
Frontansicht (exemplarisch EA uniTFT050-ATC)
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
17 / 172
EA uniTFT050-A
Rückansicht (exemplarisch EA uniTFT050-ATC)
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
18 / 172
EA uniTFT050-A
Pinbelegung
Pinbelegung für den "primary" und "secondary" connector. Die Lage der beiden MicroMatch-Verbinder können hier
eingesehen werden.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
19 / 172
Primary connector
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
24 / 172
EA uniTFT050-A
Serielle Schnittstellen
Das Modul verfügt über 7 serielle Schnittstellen, darunter je zwei RS232, SPI, I²C und ein USB Port. Die Schnittstellen
sind in zwei Gruppen einzuteilen:
Eine Gruppe ist für die Verbindung zu einem externen Host also zu einer übergeordneten Steuerung gedacht. Das
Modul verhält sich an den Pins 4~12 als Slave und nimmt die Befehlskommandos entgegen.
Die andere Gruppe (Pins 43~50) ist als Masterschnittstelle konzipiert und ermöglicht das Steuern externer Sensoren
und Aktoren. Das Displaymodul verhält sich hier als Master.
RS232
RS232 ist ein Standard für eine serielle Schnittstelle.
Das EA uniTFT bietet 2 Schnittstellen RS232: die Slave-Schnittstelle (Pins 8 und 9) verwenden Sie um mit dem
Display zu arbeiten und zu kommunizieren. Alles was hierüber empfangen wird, wird als Kommando interpretiert (mit
und ohne Small-Protokoll). Möchten Sie über eine RS-232 x-beliebige Daten senden und empfangen, verwenden Sie
die Master-Schnittstelle (Pins 45 und 46). Diese bedienen Sie über die #H Befehle:
Die Übertragung erfolgt seriell asynchron. Die Daten werden also in ein Bitstrom gewandelt und übertragen. Es
existiert keine Taktleitung, jeder Busteilnehmer muss also mit der selben Übertragungsrate (sogenannte Baudrate)
arbeiten. RS232 ist eine Spannungsschnittelle, die Dateninformationen werden durch Spannungspegel übertragen. In
der PC-Welt und Industriesteuerungen sind Pegel von +12V bzw. - 12V als Standard definiert. Innerhalb von Platinen
bzw. in Mikrokontrollersteuerungen wird mit 0V bzw. VDD (im Fall des EA uniTFT-Serie 3,3 V) gearbeitet. Um die
Signalpegel anzupassen gibt es einige Möglichkeiten in Form von Levelshiftern (z.B. ICL232, MAX202). RS232 besteht
aus "hörenden" und "sprechenden" Leitungen, die zwischen den beiden Teilnehmern gekreuzt werden.
In der EA uniTFT-Serie ist das Datenformat fest auf 8-N-1 festgelegt:
Das EA uniTFT-Serie kann mit folgenden Baudraten arbeiten:
Die Schnittstellenparameter zur übergeordneten Steuerung werden mit dem Befehl #XCR eingestellt (Slave), die
Masterschnittstelle wird mit dem Befehl #HRP gesetzt.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
25 / 172
EA uniTFT050-A
Applikationsbeispiele
RS232 V24 - Verbindung zu einem PC (EA uniTFT als Slave)
RS485 - Verbindung zu einer SPS (EA uniTFT als Slave)
SPI
Das Serial Peripheral Interface ist ein Bussystem für eine serielle synchrone Datenübertragung zwischen
verschiedenen ICs.
Das EA uniTFT bietet 2 Schnittstellen SPI: die Slave-Schnittstelle (Pins 4-7) verwenden Sie um mit dem Display zu
arbeiten und zu kommunizieren. Alles was hierüber empfangen wird, wird als Kommando interpretiert (mit und ohne
Small-Protokoll). Möchten Sie über eine SPI x-beliebige Daten senden und empfangen, verwenden Sie die MasterSchnittstelle (Pins 47-50). Diese bedienen Sie über die #H Befehle:
Der SPI-Bus besteht aus folgenden Leitungen:
·
MOSI (Master Out ®Slave In) auch SDO (Serial Data Out) oder DO
·
MISO (Master In ¬Slave Out) auch SDI (Serial Data In) oder DI
·
SCK (Serial Clock) - Schiebetakt
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
26 / 172
EA uniTFT050-A
·
SS (Slave Select ® Adressierung des Partners) auch CS (Chip Select)
SPI arbeitet mit einem bidirektionalem Übertragungsprinzip, es werden also zeitgleich Daten zwischen den Partner
ausgetauscht. Jede Kommunikation wird vom Master mit Hilfe der SCK-Leitung bestimmt.
Das Protokoll für die Datenübertragung ist bei SPI nicht festgelegt, daher gibt es verschiedene Einstellmöglichkeiten.
Diese werden durch die Parameter Clock Polarity, Clock Phase sowie Data Order festgelegt. Voreingestellt ist der
SPI-Mode 3 mit DORD=0. Über den Befehl #XCS (Slave) bzw. #HSP (Masterschnittstelle) kann er auf einen der
folgenden Modi 0..3 umgeschaltet werden. Alternativ kann der Befehl direkt in die Boot-Datei <start.emc> geschrieben
werden:
M
C
C
DORD (0) - MSB FirstDORD (1) - LSB First
o
P
P
d
O
H
e
L
A
0 0 0
1 0 1
2 1 0
3 1 1
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
27 / 172
EA uniTFT050-A
Die maximale Frequenz des Moduls im Slave-Modus ist 1 MHz, auf dem Masterschnittstelle können ebenfalls bis zu 1
MHz übertragen werden. Das Modul benötigt eine bestimmte Zeit um die Daten bereit zu stellen; deshalb muss vor
den zu lesenden Byte mindestens 50 ms gewartet werden (keine Aktivität auf der SCK-Leitung).
I²C
I²C steht für Inter-Integrated Circuit und ist ein von Phillips entwickelter serieller Datenbus.
Das EA uniTFT bietet 2 Schnittstellen I²C; die Slave-Schnittstelle (Pins 11 und 12) verwenden Sie um mit dem Display
zu arbeiten und zu kommunizieren. Alles was hierüber empfangen wird, wird als Kommando interpretiert (mit und ohne
Small-Protokoll). Möchten Sie über eine I²C-Schnittstelle x-beliebige Daten senden und empfangen, verwenden Sie die
Master-Schnittstelle (Pins 43 und 44). Diese bedienen Sie über die #H Befehle:
Der als Master-Slave-Bus konzipierte Bus benötigt 2 Signalleitungen:
·
SCL (Serial Clock Line)
·
SDA (Serial Data Line)
Die elektrische Spezifikation sieht vor, dass beide Leitungen mit einem Pull-Up-Widerstand an VDD abgeschlossen
werden, denn sämtliche an dem Bus angeschlossene Geräte haben Open-Collector-Ausgänge. Der Bustakt wird
immer durch den Master vorgegeben, der die gesamte Kommunikation bestimmt:
Nach der Startbedingung folgt in einem Übertragungsprotokoll immer die Slaveadresse. Hierbei ist das Bit 0 das
sogenannte R/W-Bit und bestimmt ob vom Slave gelesen (1) oder Daten übermittelt (0) werden sollen. Der
Datenaustausch erfolgt bis der Master die Stopbedingung ausführt. Genauere Informationen sind in der I²C
Spezifikation zu finden. Die voreingestellte I²C-Bus Adresse ist 0xDE (als 8-Bit Adresse inklusive R/W bit, als 7-Bit
Adresse, also ohne R/W-Bit 0x6F).
Über den Befehl #XCI bzw. #HIP (Masterschnittstelle) kann auf eine x-beliebeige andere Adresse umgestellt werden.
Alternativ kann der Befehl direkt in die Boot-Datei <start.emc> geschrieben werden.
Die maximale Frequenz des Moduls im Slave-Modus ist 400 kHz, auf dem Masterschnittstelle können bis zu 1 MHz
übertragen werden. Das Modul benötigt eine bestimmte Zeit um die Daten bereit zu stellen; deshalb muss vor den zu
lesenden Byte mindestens 50 ms gewartet werden (keine Aktivität auf der SCL-Leitung).
USB
Der Universal Serial Bus ist ein serielles Bussystem zur Verbindung mit einem Computer oder anderem Gerät. Er
basiert auf einer differentiellen Datenübertragung. Die Bustopologie ist eine strikte Master-Slave-Kommunikation
(Ausnahme: On the Go Geräte). Im Fall der EA uniTFT-Serie muss immer der PC/Master die Kommunikation leiten.
Das Modul verfügt über eine CDC Geräteklasse und meldet sich damit als virtuelle serielle COM-Schnittstelle am PC
an:
BeschreibungWert
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
28 / 172
EA uniTFT050-A
Geräteklasse2
USB Vendor ID0x2DA9
USB Product ID0x2454
GerätebeschreibungEA uniTFT
Um das Modul zu programmieren, Einstellungen vorzunehmen oder für erste Tests empfehlen wir die USBSchnittstelle. Sie ist einfach anzuschließen, schnell und es müssen keine Schnittstellenparameter angepasst werden.
Der Windowstreiber kann direkt von der Homepage unter http://www.lcd-
module.de/fileadmin/downloads/EA_CDCdriver_V5_2.zip heruntergeladen werden.
Neben dem CDC-Modus ist ab der Firmware V1.2 die Mass Storage Class implementiert. Wird das Modul in diesem
Modus gestartet können die Daten der SD-Card direkt bearbeitet werden. Das Modul meldet sich unter Windows
automatisch als Massenspeicher an:
BeschreibungWert
Geräteklasse2
USB Vendor ID0x2DA9
USB Product ID0x2455
GerätebeschreibungEAuniTFT Mass Storage
USB Device
Soll die USB Verbindung nicht über den Mini-USB Stecker erfolgen sondern über den Primary connector, müssen zwei
Lötbrücken geschlossen werden:
Hinweis:
Das Protokoll ist bei USB immer zu verwenden. Es ist nicht möglich die USB-Schnittstelle zu nutzen und das
Protokoll zu deaktivieren, Pin 22 darf nicht auf GND gelegt werden. Die hohe Geschwindigkeit von USB führt zu
Pufferüberläufen, die durch das Protokoll verhindert werden.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
29 / 172
EA uniTFT050-A
Touchpanel
Optional gibt es zwei Versionen mit integrierten Touch Panel. Durch Berühren des Displays können hier Eingaben
gemacht und Einstellungen per Menü oder Bargraphs getätigt werden. Die Beschriftung der "Tasten" ist flexibel und
auch während der Laufzeit änderbar (verschiedene Sprachen, Icons). Das Zeichnen der einzelnen "Tasten", sowie das
Beschriften wird von der eingebauten Software komplett übernommen. Je nach Einsatzzweck eigenet sich das analog
resistive Touchpanel, welches mit Stiften oder dicken Handschuhen bedienbar ist, oder die kapazitve Version mit
unempfindlicher Glasoberfläche, welches auch mit dünnen Handschuhen bedienbar ist.
Touchpanel abgleich
Die Version (EA uniTFTxxx-ATC) mit kapazitivem Touchpanel kann nicht abgeglichen werden. Sie ist bereits von Werk
aus abgeglichen und behält diesen Abgleich bei.
Die Version (EA uniTFTxxx-ATP) mit resistiven Touchpanel ist bei Auslieferung abgeglichen und Einsatzbereit. Durch
Alterung und Abnutzung kann es nötig sein, dass das Touchpanel mit folgender Prozedur neu abgeglichen werden
muss:
1a)Den Befehl #XXT senden oder
1b)Beim Einschalten Touch berühren und gedrückt halten. Nach erscheinen der Meldung "touch adjustment ? / Enter
Bootmenue" den Touch wieder loslassen. Innerhalb einer Sekunde den Touch nochmals für mindestens 1 Sekunde
berühren.
2) Den Anweisungen zum Abgleich folgen (2 Punkte Links unten und Rechts oben betätigen)
Um Missbrauch durch den Bediener zu vermeiden kann der automatische Touchabgleich während des Startens
deaktiviert werden. Hierfür muss auf der SD-Card im Root-Verzeichnis die Datei "touchadjust.off" mit leeren Inhalt
erzeugt werden. Das kann zum Beispiel durch uni-TFT Befehle erfolgen:
#FWO</touchadjust.off>
#FWC
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
30 / 172
EA uniTFT050-A
I/O - digitale Ein- und Ausgänge
Das Modul verfügt standardmäßig über 16 digitale I/O's
(CMOS Pegel, nicht potentialfrei). Der
Eingangsspannungsbereich beträgt 0..3,3V. Alle 16
I/O's sind nach einem Reset als Eingang mit einem
etwa 100 kW Weak Pull-up geschaltet.
Anmerkung: Die Logik ist nicht für zeitkritische
Vorgänge ausgelegt; d.h. es handelt sich nicht um ein
Echtzeitbetriebssystem.
Durch den Einsatz von einem oder mehreren externen
(maximal 7) Portexpandern MCP23017-E (16 I/O's pro
Baustein) kann die Anzahl der gesamten I/O auf bis zu
128-3 erweitert werden. Dazu werden die Ports "I/O 1.5
bis 1.7" (Pin 27 bis 29) umgeschaltet und als serielle
Datenleitungen für die Port-Expander genutzt (siehe
Applikationsbeispiel). Dies erfolgt durch das Umlöten
von 3 Widerständen (Die Lage der Widerstände können
in der Übersicht entnommen werden.):
Die maximale Leistung des MCP23017-E beträgt 700mW. Die maximale Strombelastung für einen einzelnen Pin liegt
bei 25mA, womit z.B. direkt eine low current LED betrieben werden kann. Sollte eine höhere Last notwendig sein,
muss mit einer geeigneten Schaltung der I/O-Strom verstärkt werden, z.B. durch einen externen Transistor.
Die Übersicht über die Softwarebefehle zu den I/O's finden Sie unter dem Punkt 'I/O Port'.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
31 / 172
EA uniTFT050-A
Analog Input
Das Modul verfügt über 4 analoge Eingänge mit einer
Auflösung von 12 Bit und einer Eingangsbereich von
0..VDD. Der Eingangsbereich kann durch einen externe
Spannungsteiler oder Messverstärker beliebig erweitert
werden. Jeder Eingang hat einen Bezug zu GND und
einen Eingangswiderstand von ca. 1 MW, die absolute
Genauigkeit liegt bei 11 Bit, als Referenz dient VDD/2.
Dadurch ist das Display in der Lage analoge
Spannungen zu messen, und z.B. anzuzeigen oder zur
weiteren Bearbeitung zu speichern. Das Über- oder
Unterschreiten eines Grenzbereiches kann auch z.B.
einen Alarm auslösen.
Die Übersicht über die Softwarebefehle zu den
Analogeingängen finden Sie unter dem Punkt 'Analog
Input'
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
32 / 172
EA uniTFT050-A
PWM Output
Das Modul verfügt über die Möglichkeit über ein PWMSignal (Pulsweitenmodulation) externe Komponenten
anzusteuern. Dabei wird bei konstanter Frequenz
(einstellbar von 2 Hz bis 1 MHz #HFO) das
Tastverhältnis eines rechteckigen Impulses geändert.
Durch die Modulation ändert sich das Verhältnis
zwischen An- und Ausschaltzeit und somit die
Charakteristik des Ausgangssignals. Auf diese Art
können elektromechanische Bauteile wie z.B. Motoren
angesteuert werden oder auch eine quasi-analog
Spannung erzeugt werden. Die Variation der
Tastverhältnisse sorgt dann für eine geringe
Motordrehzahl/Spannung bei kurzer Anschaltzeit oder
eine hohe Motordrehzahl/Spannung bei langer
Anschaltzeit. Die Ausgangspegel liegen bei 0V und
VDD.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
33 / 172
EA uniTFT050-A
Video Input / Kamera
Das Modul verfügt über einen analogen Videoeingang
und unterstützt drei Farbsysteme: PAL (Phase-
Alternating-Line), Secam (Séquentiel couleur à
mémoire) und NTSC (National Television Systems
Committee). Die Umschaltung PAL/SECAM/NTSC
erfolgt automatisch.
Die meisten Digitalkameras und Videokameras verfügen
über eine passende Schnittstelle, ebenso wie die
meisten CMOS-Kameras. Die Auflösung ist dabei auf
720x576 (PAL und SECAM), 640x480 (NTSC) Pixel
begrenzt. Der Eingang wird auch als Composite video
signal input bezeichnet. Die beiden Anschlüsse
(vergoldete Lötpads) befinden sich neben dem Pin 27
(siehe Rückansicht des Moduls).
Das Videobild wird als separates Objekt eingeblendet
und zeigt immer das aktuelle Livebild (#PVP). Es ist
Möglich Screenshots des Videobildes (#XVS) zu
erstellen, eine Filmaufnahme ist unmöglich.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
34 / 172
EA uniTFT050-A
Uhrzeit / RTC
In der EA uniTFT-Serie ist eine RTC verbaut. Neben
Zeitstempel auf log-Dateien kann die Zeit und das
Datum zu Informationszwecken angezeigt werden.
Bei Auslieferung wird die Uhrzeit auf die
Mitteleuropäische Zeit (CET / MEZ) gesetzt. Je nach
Einsatzort muss die Zeit auf die gültige vor Ort
eingestellt (#WTD) werden. Bei Spannungseinbruch
oder Abschalten des Moduls wird der Uhrenbaustein
durch eine Knopfzelle (D377) gepuffert, sodass die Zeit
erhalten bleibt.
Durch Bauteiltoleranzen und Temperaturschwankungen
sind Abweichungen von bis zu 0,02% möglich. Die
Abweichung kann durch wiederholtes Abgleichen der
Zeit (#WTD) verringert werden.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
35 / 172
EA uniTFT050-A
SD-Card / Speicher
Das Modul verfügt über eine austauschbare Mikro SD-Karte (bis zu
32GB FAT32).
In diesem Speicher werden alle Daten abgelegt, sowohl zur Laufzeit
generierte wie z.B. log-Files aber auch die Projektdaten, darunter z.B.
Makro-Files, Bilder, Animationen und Icons.
SD-Card Wechsel
Die SD-Card kann ausgetauscht werden, z.B. für ein sicheren und
einfachen Projektupdate im Feld. Das Modul muss hierfür komplett
Spannungsfrei geschaltet werden und alle Üblichen ESD-Vorkehrungen
müssen getroffen werden:
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
36 / 172
EA uniTFT050-A
Elektrische Spezifikation EA uniTFT050-A/-ATC/-ATP
ValueCondition min. typ. max. Unit
Operating temperature -2070°C
Storage temperature -3080°C
Storage humidity @ 60°C90% RH
Operating voltage 3,13,33,5V
Supply current Backlight 0%
Backlight 100%810950mA
Brightness (100%)w./o. Touchpanel 800cd/m²
with PCAP700cd/m²
with resistive Touch600cd/m²
300
350mA
Elektrische Spezifikation EA uniTFT070-A/-ATC
ValueCondition min. typ. max. Unit
Operating temperature -2070°C
Storage temperature -3080°C
Storage humidity @ 60°C90% RH
Operating voltage VDD3,13,33,5V
Operating voltage Backlight VLED3,19,0V
Supply current Backlight 0%
Backlight 100% (3.3V)
VLED @9V (100%)
Brightnessw./o. Touchpanel @ 150%1000cd/m²
with PCAP @150%
with PCAP @100%
390
890
200
690
460
mA
mA
mA
cd/m²
cd/m²
Elektrische Spezifikation EA uniTFT101-A/-ATC
ValueCondition min. typ. max. Unit
Operating temperature 050°C
Storage temperature -2060°C
Storage humidity @ 60°C90% RH
Operating voltage VDD3,13,33,5V
Operating voltage Backlight VLED3,19,0V
Supply current Backlight (3,3 V) 100%
Backlight (9,0 V) 100%
Backlight 0% 450mA
Brightness (100%)w./o. Touchpanel 1000cd/m²
with PCAP
1,8
500
800
A
mA
cd/m²
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
37 / 172
EA uniTFT050-A
Elektrische Spezifikation Allgemein
ValueCondition min. typ. max. Unit
Inpupt voltage analogue video signal1Vpp
Input low voltage (except USB,I/O)-0,300.3*VDD V
Input high voltage (except USB,I/O)VDD*0.7 VDD+0.3 V
Output low voltage (except USB,I/O)- - 0,4V
Output high voltage (except USB, I/O)VDD-0.5 - - V
Input low voltage I/O - - 0.2*VDD V
Input high voltage I/O 0.8*VDD - - V
Output low voltage I/O - - 0.6*VDD V
Output high voltage I/O VDD-0.7 - - V
Output current I/O - - 25mA
- - 125mA
(total)
I²C-bus pull-up 1MΩ
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
38 / 172
Maßzeichnung EA uniTFT050-A
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
39 / 172
Maßzeichnung EA uniTFT070-A
EA uniTFT050-A
Maßzeichnung EA uniTFT070-ATC
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
40 / 172
Maßzeichnung EA uniTFT101-A
EA uniTFT050-A
Maßzeichnung EA uniTFT101-ATC
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
41 / 172
EA uniTFT050-A
Montagehinweise
Die EA uniTFT-Serie verfügt zur Montage über mindestens 4 Montagebolzen, welche mit einem M3 Innengewinde
ausgestattet sind.
Hinweis: Der doppelseitige Kleber am kapazitivem Touchpanel dient nicht der mechanischen Fixierung des Moduls,
sondern stellt einen Staubschutz dar. Das Modul muss immer mit den Montagebolzen befestigt werden.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
42 / 172
EA uniTFT050-A
PROTOKOLL / DATENÜBERTRAGUNG
Egal über welche der 4 seriellen Schnittstellen die Daten von der übergeordneten Steuerung übertragen werden ist das
Übertragungsprotokoll identisch. Die Hardwarebeschaltung ist unterschiedlich und kann unter dem Punkt "Serielle
Interfaces" nachgelesen werden.
Die Datenübertragung ist jeweils eingebettet in einen festen Rahmen mit Prüfsumme. Die EA uniTFT-Serie quittiert
dieses Paket mit dem Zeichen <ACK> (=0x06) bei erfolgreichem Empfang oder <NAK> (=0x15) bei fehlerhafter
Prüfsumme oder Empfangspufferüberlauf. In Falle eines <NAK> wird das komplette Paket verworfen und muss
nochmal gesendet werden. Ein <ACK> bestätigt lediglich die korrekte Übertragung. Ein Syntax-Check erfolgt nicht.
Es sind zwei unterschiedliche Protkolle implementiert, das "Short Protokoll" und das "Small Protokoll". Das Short
Protokoll arbeitet mit einer CRC16 Prüfsumme und erlaubt deutlich größere Datenpakete. Während das Small
Protokoll hauptsächlich aus Kompatibilitätsgründen zur Serie EA eDIPxxx implementiert wurde.
Die Anzahl der Nutzdaten pro Paket kann max. 2042 Byte bzw. 255 Byte betragen. Befehle die größer sind (z.B.
Bilder oder File schreiben #FWD ...) müssen auf mehrere Pakete aufgeteilt werden. Die Nutzdaten in den einzelnen
Paketen werden nach korrektem Empfang vom Displaymodul wieder zusammengefügt.
Hinweis:
Das <ACK> muss aktiv eingelesen werden (SPI und I²C). Empfängt der Hostrechner keine Quittierung, so ist
mindestens ein Byte verloren gegangen. In diesem Fall muss die eingestellte Timeoutzeit abgewartet werden, bevor
das Paket komplett wiederholt wird.
Das Protokoll kann für erste Test an der seriellen Schnittstelle deaktiviert werden. Hierfür ist der Pin 22 auf low zu
legen (siehe Pinbelegung).
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
43 / 172
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
44 / 172
EA uniTFT050-A
Short Protokoll Befehle
1. Befehle / Daten zum Modul senden
Dieser Protokoll-Befehl überträgt Daten zum Display. Es können mehrere Grafikbefehle in ein Protokollpaket verpackt
werden. Sind die Daten größer als die maximale Paketgröße können die Daten auf mehrere Pakete aufgeteilt werden.
Das Modul fügt die einzelnen Datenpakete wieder zusammen.
Modul empfängtDC3
0x13
Modul sendetACK
0x06
2. Inhalt des Sendepuffers anfordern
Fallen Daten im Modul an, werden diese im Sendepuffer des Moduls gespeichert. Über die seriellen Schnittstellen
können die Daten angefordert werden. Ob Daten verfügbar sind kann über den Pin 20 SBUF herausgefunden werden,
oder aber die übergeordnete Steuerung fragt zyklisch die Daten ab (polling).
Modul empfängtDC4
0x14
Modul sendetACK
0x06
Modul sendetDC3
0x13
Länge (16 Bit)
0xXX 0xXX
Länge (16 Bit)
0x01 0x00
Länge (16 Bit)
0xXX 0xXX
Data.......
0x....
'S'
0x53
Data.......
0x....
crc (16 Bit)
0xXX 0xXX
crc (16 Bit)
0x30 0x08
crc (16 Bit)
0xXX 0xXX
3. Letztes Datenpaket wiederholen
Ist ein Empfangenes Packet des Moduls fehlerhaft (falsche Länge oder Prüfsumme) kann es erneut angefordert
werden:
Modul empfängtDC4
0x14
Modul sendetACK
0x06
Modul sendetDC3
0x13
Länge (16 Bit)
0x01 0x00
Länge (16 Bit)
0xXX 0xXX
'R'
0x52
Data.......
0x....
crc (16 Bit)
0x11 0x18
crc (16 Bit)
0xXX 0xXX
4. Pufferinformationen anfordern
Mit diesem Befehl wird nachgefragt, ob Nutzdaten zur Abholung bereit stehen (= Pin20 SBUF) und wie voll der
Empfangspuffer des Displays bereits ist.
Modul empfängtDC4
0x14
Modul sendetACK
0x06
Modul sendetDC4
0x14
Länge (16 Bit)
0x01 0x00
Länge (16 Bit)
0x04 0x00
'I'
0x49
Sendepuffer Bytes ready (16 Bit)
0xXX 0xXX
Empfangspuffer Bytes free (16 Bit)
0xXX 0xXX
5. Protokolleinstellungen
Hierüber lässt sich die maximale Paketgröße welche das Display senden darf begrenzen. Voreingestellt ist eine
Paketgröße mit bis zu 2042 Byte Nutzdaten. Weiterhin lässt sich der Time-out in 1/1000s einstellen. Der Time-out
spricht an, wenn einzelne Bytes verloren gegangen sind. Danach muss das gesamte Paket nochmals übertragen
werden.
Modul empfängt
Defaultwerte
Modul sendetACK
DC4
0x14
Länge (16 Bit)
0x05 0x00
'D'
Paketgröße Sendepuffer (16 Bit)
0x44
0xFA 0x07 (=2042 Byte)
Time-out (16 Bit) in ms
0xD0 0x07 (=2 Sekunden)
crc(16Bit)
0x4B0xBB
crc(16Bit)
0xXX0xXX
crc (16Bit)
0x98 0xF5
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
45 / 172
EA uniTFT050-A
0x06
6. Protokollinformationen
Abfrage der Protokolleinstellungen (siehe 5.).
Modul empfängtDC4
0x14
Modul sendetACK
0x06
Modul sendetDC4
0x14
Länge (16 Bit)
0x01 0x00
Länge (16 Bit)
0x06 0x00
'P'
0x50
Maximale Paketgröße Sendepuffer
(16 Bit)
0xFA 0x07 (=2042 Byte)
Paketgröße Sendepuffer (16 Bit)
0xXX 0xXX
7. RS485 Adresse selektieren / deselektieren
Mit diesem Befehl lässt sich ein Modul am RS485-Bus selektieren oder deselektieren. Per Default ist ein Modul mit
der Adresse 7 immer aktiv.
Modul empfängt
Defaultwerte
Modul sendetACK
DC4
0x14
0x06
----
Länge (16 Bit)
0x03 0x00
® Selektieren
® Deselektieren
'A'
'S' (=Selektieren)
'D' (=Deselektieren)
0x41
0x53 oder 0x44
RS485-Adresse
0xXX
Time-out(16Bit)inms
0xXX0xXX
crc (16Bit)
0xXX 0xXX
8. RS485 Verzögerung Enable Signal
Einige RS485 benötigen eine gewisse Zeit um das Enable-Signal zu verändern und z.B. vom schreibenden in den
lesenden Modus umzuschalten. Um eine erfolgreiche Kommunikation mit diesen Geräten zu ermöglichen kann mit
diesem Befehl die Umschaltung in den schreibenden Modus verzögert werden.
Modul empfängt
Defaultwerte
Modul sendetACK
DC4
0x14
0x06
Länge (16 Bit)
0x03 0x00
'T'
Verzögerung in 10 us
0x54
0x00 0x00
crc (16 Bit)
0xE9 0x7E
9. Schnittstelle exklusiv anfordern
Alle 4 seriellen Schnittstellen werden parallel und gleichwertig behandelt. Um zu gewährleisten, dass eine Abfolge von
Protokollpaketen ohne Unterbrechung durchgeführt wird, können die anderen seriellen Schnittstellen deaktiviert werden
und die Schnittelle exklusiv angefordert werden. Dies ist zum Beispiel bei einem Projektupdate über USB sinnvoll.
Modul empfängtDC4
0x14
Modul sendetACK
0x06
Modul sendetDC4
0x14
Länge (16 Bit)
0x02 0x00
Länge (16 Bit)
0x01 0x00
'G'
0x47
Aktiv (16 Bit)
0x00 = alle
0x01 = RS232
0x02 = SPI
0x03 = IIC
0x04 = USB
Falls in einem Makro eine Dauerschleife programmiert wurde oder eine Unterbechung des normalen Ablaufs gewünscht
wird, kann mit diesem Befehl gezielt Unterbrochen und Beendet werden. Auch dieser Befehl eignet sich vor allem für
Update-Vorgänge.
Modul empfängt
Defaultwerte
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
DC4
0x14
Länge (16 Bit)
0x02 0x00
'C'
break
0x43
0x01 = Wait command
0x02 = aktuelles Makrofile
crc (16 Bit)
0xXX 0xXX
46 / 172
EA uniTFT050-A
0x04 = Sendepuffer löschen
0x08 = Empfangsbuffer leeren
0x10 = Makrodefiniton (z.B. Portmakros)
0xFF = Alles Unterbrechen und Beenden
Modul sendetACK
0x06
11. Hardware Reset
Das Modul wird mit diesem Protokollbefehl neu gestartet. Je nach Parameter wird nach dem Reset eine andere
Startoption gewählt.
Modul empfängt
Defaultwerte
Modul sendetACK
DC4
0x14
0x06
Länge (16 Bit)
0x02 0x00
'B'
Option
0x42
0x00 = Normaler Neustart
0x01 = Neustart im Testmode
0x02 = Neustart ohne 'start.emc'
0x03 = Neustart ohne default Styles
0x04 = Bootmenü anzeigen (Projektauswahl)
0x05 = Reserved
0x06 = Mass Storage Mode (ab V1.2)
crc (16 Bit)
0xXX 0xXX
CRC-Berechnung
Für die Berechnung der Prüfsumme wird eine zyklische Redundanzprüfung (CRC) eingesetzt. Eine gängige und
bekannte CRC-Prüfung ist die CRC-CCITT. Als Startwert wird 0xFFFF verwendet. Im Folgenden sehen Sie eine
typische C-Implementierung. Die Funktionen müssen extern aufgerufen werden. Die Prüfsumme muss mit dem
Startwert vorbelegt werden.
//---------------------------------------------------------------------------//Funktion: buffer2crc16()
//input: ptr Datum, ptr auf CRC, Blocklänge
//output: --//Beschr: CRC-CCITT eines Speicherbereichs
//----------------------------------------------------------------------------
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
47 / 172
EA uniTFT050-A
Small Protokoll
1. Befehle / Daten zum Modul senden
Dieser Protokoll-Befehl überträgt Daten zum Display. Es können mehrere Grafikbefehle in ein Protokollpaket verpackt
werden. Sind die Daten größer als die maximale Paketgröße können die Daten auf mehrere Pakete aufgeteilt werden.
Das Modul fügt die einzelnen Datenpakete wieder zusammen.
Modul empfängtDC1
0x11
Modul sendetACK
0x06
2. Inhalt des Sendepuffers anfordern
Fallen Daten im Modul an, werden diese im Sendepuffer des Moduls gespeichert. Über die seriellen Schnittstellen
können die Daten angefordert werden. Ob Daten verfügbar sind kann über den Pin 20 SBUF herausgefunden werden,
oder aber die übergeordnete Steuerung fragt zyklisch die Daten ab (polling).
Modul empfängtDC2
0x12
Modul sendetACK
0x06
Modul sendetDC1
0x11
Länge (8 Bit)
0xXX
Länge (8 Bit)
0x01
Länge (8 Bit)
0xXX
Data.......
0x....
'S'
0x53
Data.......
0x....
bcc (8 Bit)
0xXX
bcc (8 Bit)
0x66
bcc (8 Bit)
0xXX
3. Letztes Datenpaket wiederholen
Ist ein Empfangenes Packet des Moduls fehlerhaft (falsche Länge oder Prüfsumme) kann es erneut angefordert
werden:
Modul empfängtDC2
0x12
Modul sendetACK
0x06
Modul sendetDC1
0x11
Länge (8 Bit)
0x01
Länge (8 Bit)
0xXX
'R'
0x52
Data.......
0x....
bcc (8 Bit)
0x65
bcc (8 Bit)
0xXX
4. Pufferinformationen anfordern
Mit diesem Befehl wird nachgefragt, ob Nutzdaten zur Abholung bereit stehen (= Pin20 SBUF) und wie voll der
Empfangspuffer des Displays bereits ist.
Modul empfängtDC2
0x12
Modul sendetACK
0x06
Modul sendetDC2
0x12
Länge (8 Bit)
0x01
Länge (8 Bit)
0x02
'I'
0x49
Sendepuffer Bytes ready (8 Bit)
0xXX
Empfangspuffer Bytes free (8 Bit)
0xXX
5. Protokolleinstellungen
Hierüber lässt sich die maximale Paketgröße welche das Display senden darf begrenzen. Voreingestellt ist eine
Paketgröße mit bis zu 255 Byte Nutzdaten. Weiterhin lässt sich der Time-out in 1/100s einstellen. Der Time-out
spricht an, wenn einzelne Bytes verloren gegangen sind. Danach muss das gesamte Paket nochmals übertragen
werden.
Modul empfängt
Defaultwerte
Modul sendetACK
DC2
0x12
Länge (8 Bit)
0x03
'D'
Paketgröße Sendepuffer (8 Bit)
0x44
0xFF
Time-out (8 Bit) in 1/100s
0xC8 (=2 Sekunden)
bcc(8Bit)
0x5C
bcc(8Bit)
0xXX
bcc (8Bit)
0x20
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
48 / 172
EA uniTFT050-A
0x06
6. Protokollinformationen
Abfrage der Protokolleinstellungen (siehe 5.).
Modul empfängtDC2
0x12
Modul sendetACK
0x06
Modul sendetDC2
0x12
Länge (8 Bit)
0x01
Länge (8 Bit)
0x03
'P'
0x50
Maximale Paketgröße Sendepuffer (8 Bit)
0xFF
Paketgröße Sendepuffer (8 Bit)
0xXX
7. RS485 Adresse selektieren / deselektieren
Mit diesem Befehl lässt sich ein Modul am RS485-Bus selektieren oder deselektieren. Per Default ist ein Modul mit
der Adresse 7 immer aktiv.
Modul empfängt
Defaultwerte
Modul sendetACK
DC2
0x12
0x06
----
Länge (8 Bit)
0x03
® Selektieren
® Deselektieren
'A'
'S' (=Selektieren)
'D' (=Deselektieren)
0x41
0x53 oder 0x44
RS485-Adresse
0xXX
Time-out(8Bit)inms
0xXX
bcc (8Bit)
0xXX
8. RS485 Verzögerung Enable Signal
Einige RS485 benötigen eine gewisse Zeit um das Enable-Signal zu verändern und z.B. vom schreibenden in den
lesenden Modus umzuschalten. Um eine erfolgreiche Kommunikation mit diesen Geräten zu ermöglichen kann mit
diesem Befehl die Umschaltung in den schreibenden Modus verzögert werden.
Modul empfängt
Defaultwerte
Modul sendetACK
DC2
0x12
0x06
Länge (8 Bit)
0x03
'T'
Verzögerung in 10 us
0x54
0x00 0x00
bcc (8 Bit)
0x69
9. Schnittstelle exklusiv anfordern
Alle 4 seriellen Schnittstellen werden parallel und gleichwertig behandelt. Um zu gewährleisten, dass eine Abfolge von
Protokollpaketen ohne Unterbrechung durchgeführt wird, können die anderen seriellen Schnittstellen deaktiviert werden
und die Schnittelle exklusiv angefordert werden. Dies ist zum Beispiel bei einem Projektupdate über USB sinnvoll.
Modul empfängtDC2
0x12
Modul sendetACK
0x06
Modul sendetDC2
0x12
Länge (8 Bit)
0x02
Länge (8 Bit)
0x01
'G'
0x47
Aktiv (8 Bit)
0x00 = alle
0x01 = RS232
0x02 = SPI
0x03 = IIC
0x04 = USB
Falls in einem Makro eine Dauerschleife programmiert wurde oder eine Unterbechung des normalen Ablaufs gewünscht
wird, kann mit diesem Befehl gezielt Unterbrochen und Beendet werden. Auch dieser Befehl eignet sich vor allem für
Update-Vorgänge.
Modul empfängt
Defaultwerte
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
0x08 = Empfangsbuffer leeren
0x10 = Makrodefiniton (z.B. Portmakros)
0xFF = Alles Unterbrechen und Beenden
Modul sendetACK
0x06
11. Hardware Reset
Das Modul wird mit diesem Protokollbefehl neu gestartet. Je nach Parameter wird nach dem Reset eine andere
Startoption gewählt.
Modul empfängt
Defaultwerte
Modul sendetACK
DC2
0x12
0x06
Länge (8 Bit)
0x02
'B'
Option
0x42
0x00 = Normaler Neustart
0x01 = Neustart im Testmode
0x02 = Neustart ohne 'start.emc'
0x03 = Neustart ohne default Styles
0x04 = Bootmenü anzeigen (Projektauswahl)
0x05 = Reserved
0x06 = Mass Storage Mode (ab V1.2)
bcc (8 Bit)
0xXX
BCC-Berechnung
Für die Berechnung der Prüfsumme wird eine einfache 8-Bit Summenprüfung (Modulo 256) benötigt. Im Folgenden
sehen Sie eine typische C-Implementierung.
//---------------------------------------------------------------------------//Funktion: buffer2bcc()
//input: ptr Datum, blocklänge
//output: --//Beschr: Byte bcc für einen Speicherbereich
//----------------------------------------------------------------------------
UBYTE buffer2bcc(UBYTE *dat, UBYTE anz)
{
UBYTE bcc = 0;
while(anz--)
bcc += *dat++;
return bcc;
}
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
50 / 172
EA uniTFT050-A
BEFEHLSÜBERSICHT
Die EA uniTFT-Serie verfügt über einen integrierten Befehlssatz, welcher grafische Primitive, Rechnungen,
Hardwareansteuerungen und vieles mehr erlaubt.
Die Befehle können zur Laufzeit über die seriellen Schnittstellen übertragen werden oder in sogenannten Macrofiles auf
der Mikro SD-Karte des Moduls abgelegt sein.
In den folgenden Tabellen sind alle Befehle beschrieben. Die Defaultwerte sind in Klammern hinter den jeweiligen
Parametern angegeben. In SCHWARZ geschriebene Parameter sind anzugeben, GRAUE sind optional.
#HRPRS232 Baudrate
#HRASend ASCII
#HRUSend Unicode
#HRSSend Binary
#HRFSend File
#HRRReceive Data to Sendepuffer
#HRBReceive Data to Stringregister
#HSPSPI Parameter
#HSCSPI Chip Select Einstellung
#HSASend ASCII
#HSUSend Unicode
#HSSSend Binary
#HSFSend File
#HSRReceive Data to Sendepuffer
#HSBReceive Data to Stringregister
#HIPI²C Parameter
#HIASend ASCII
#HIUSend Unicode
#HISSend Binary
#HIFSend File
#HIRReceive Data to Sendepuffer
#HIBReceive Data to Stringregister
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
#FDCOrdner erstellen
#FDDOrdner löschen
#FDSSet Working Directory
#FDGGet Working Directory
#FDRAuflistung aller Ordner und Dateien
#FDAAuflistung aller Ordner und Dateien als ASCII
#FDLAuflistung aller Ordner
#FWOWrite open
#FWCWrite close
#FWPWrite position
#FWDWrite data
#FWAWrite ASCII String
#FWUWrite Unicode String
#FWRWrite Register
#FWSWrite Stringregister
#FSOWrite Objektfile
#FRORead open
#FRCRead close
#FRPRead position
#FRDRead data
#FRARead ASCII
#FRURead Unicode
#FRRRead Register
#FRSRead Stringregister
#FRBRead Bytes to Stringregister
#FRWRead Words to Stringregister
#FFDFile löschen
#FFIFile / Directory Information
#FFRFile / Directory Rename
#FFCFile / Directory Copy
#FFMFile / Directory Move
#FFTFile / Directory Timestamp ändern
#FFAFile / Directory Attribute ändern
#FNFFilenames to Stringregister
#FNDDirectories to Stringregister
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
56 / 172
EA uniTFT050-A
Systembefehle #X
#XCRRS232 Parameter
#XCSSPI Parameter
#XCII²C Parameter
#XPSProjektpfad setzen
#XPGProjektpfad anfordern
#XCBBacklight - Helligkeit
#XCFBacklight - Kurve und Frequenz
#XASBacklight - Autodimming
#XALBacklight - Autodimming Retrigger
#XSAASCII-String to Sendepuffer
#XSUUnicode-String to Sendepuffer
#XHSHardcopy to Sendepuffer
#XHFHardcopy to File
#XVSHardcopy Videoinput to Sendepuffer
#XVFHardcopy Videoinput to File
#XXTTouch abgleich
#XCODisplay Ausrichtung
#XIVFirmwareversion ausgeben
#XIDModulParameter ausgeben
#XISSD-Card Speicher
#XIRRAM Speicher
#XCUDisplay Updatetime
#XXWProgrammlauf pausieren
#XCVVirtuelle Displayauflösung
#XCPProtokoll Ein/Aus
#XFBReboot
Antwort / Rückmeldung
<ESC>SEUInhalt
<ESC>TQSTaster / Schalter Zustand
<ESC>TQRRadiogroup
<ESC>TQKKeyboard
<ESC>TQIInstrumentvalue
<ESC>VFCStringfile count strings
<ESC>VSAStringregister ASCII
<ESC>VSUStringregister Unicode
<ESC>VRGRegister ausgeben
<ESC>HPIAnzahl Portbausteine
<ESC>HPRPort Read
<ESC>HBRPortpin Read
<ESC>HARWert lesen
<ESC>HRRRS232 data
<ESC>HSRSPI data
<ESC>HIRI²C data
<ESC>WSAAusgabe ASCII
<ESC>WSUAusgabe Unicode
<ESC>WSBAusgabe Binär
<ESC>FDGGet Working Directory
<ESC>FDRRead Directory
<ESC>FDARead Directory ASCII
<ESC>FDLList Directories only
<ESC>FFIRead File/Directory info
<ESC>FRDRead File data
<ESC>XPGGet Projectpath
<ESC>XIVVersionsinformation
<ESC>XIDDisplayinformation
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
57 / 172
<ESC>XIRRAM Info
<ESC>XISSD Card Info
<ESC>XHSHardcopy
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
123dezimale Übergabe als ASCII-Zeichen
$5Ahexadezimale Übergabe als ASCII Zeichen
%
1010001
5-8Übergabe eines Bereichs. Befehle die Eigenschaften mehrerer Objekte beeinflussen können als
?xCode von einem Zeichen (Unicode/ASCII)
R0 ...
R499
Q0 ...
Q499
(....)Kalkulationsstring Ergebnis übernehmen
G len32
data....
!index!Werte des Indexes aus einem Stringfile übernehmen
Strings
"string"
oder
'string'
"str" 32
"str"
"str1";
"str2"
S0 ...
S499
T0 ...
T499
U"Hello" Zeichen nach dem U als 16 Bit Unicode (bis zum nächsten # oder V auch CR + LF)
V"Hello"Zeichen nach dem V als 8 Bit ASCII (bis zum nächsten # oder U auch CR + LF)
!index!String des Indexes aus einem Stringfile übernehmen
binäre Übergabe als ASCII Zeichen
Objektbereich übergeben werden. In diesem Fall Objekt-ID 5,6,7,8
Übergabe des Registerwertes
Indizierte Übergabe des Registerwertes (Pointer) ® R (R0 ... R499)
Übergabe von binären Daten: len32 gibt die Datenlänge an (bereits als binärer 32-Bit Wert)
normale Stringübergabe
Normaler String mit beliebigen Codes, welche mit in den Gesamtstring eingetragen werden
Semikolon bildet den Stringabschluss, wichtig bei der Übergabe zweier Strings oder wenn andere
Parameter folgen.
Stringregister übernehmen
Stringregister aus Registernummer übernehmen S(R0 ... R499)
3-stellige Buchstabenfolge Angabe der ParameterASCII : [10] 13 ([0x0D] 0x0A)
UniCode: [10] 13 ([0x0D 0x00] 0x0A0x00)
CR ist optional
Die einzelnen Parameter werden mit Leerzeichen (' '), Komma (','), Semikolon (';') oder Punkt ('.') getrennt. Für die
Trennung von Strings ist ein Semikolon zwingend erforderlich.
Befehlsabschluss
Der Befehlsabschluss ist immer ein LF (0x0A). Ein vorangestelltes CR (0x0D) ist erlaubt und wird ignoriert.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
59 / 172
EA uniTFT050-A
Kommentare
In Makrofiles können Kommentarzeilen eingefügt werden. Ein Kommentar beginnt mit #- und gilt bis Zeilenende /
Befehlsabschluss (LF).
Kalkulationen
Jeder numerische Parameter kann durch eine Kalkulation ersetzt werden. Die Kalkulation muss in Klammern ()
eingeschlossen als Parameter übergeben werden. Unter den Kalkulationsbefehle finden Sie eine Auflistung aller
Operationen, darunter mathematische und logische, aber auch Modul-bezogene, wie zum Beispiel Uhrzeit oder
Objekteigenschaften auslesen sowie Portfunktionen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
60 / 172
EA uniTFT050-A
Terminalfenster
Im Terminalfenster werden alle empfangenen Daten direkt angezeigt. Dieses Fenster ist nützlich um während der
Entwicklungszeit schnell einfache Ausgaben zu erstellen oder Fehlermeldungen zu erhalten.
Terminalfenster Einstellungen
Größeneinstellung#Y
D
W
Terminal Zoom#Y
D
S
Farbeinstellung#Y
D
C
Zeichenreihenfol
ge (Layer)
Terminalfenster
Ein-/Ausschalte
n
Cursor blinken#Y
Position Cursor
setzen
Position Cursor
sichern
Position Cursor
wiederherstellen#YC
#YDLLayerFestlegung der Zeichenreihenfolge: Layer =0 (hinter allen anderen
#Y
D
O
C
B
#Y
C
P
#Y
C
S
R
X (0), Y (0), Anker (7),
Spalten (Breite/8),
Zeilen (Höhe/16)
Abmessungen des Terminalfensters definieren. Die Breite errechnet
sich durch die Angabe der Spalten und Zeilen und die Schriftgröße
(8x16): Breite in Pixeln =8*Spalten; Höhe in Pixeln =16*Zeilen
Terminalzoom. Width und height sind in %. Der Parameter virtScrOff
(0=ignorieren, 1=anpassen) gibt an, ob der virtuelle Screen (siehe
#XCV) beachtet werden soll oder nicht. Dieser Befehl wird nur benötigt,
wenn das Terminal eine andere Schriftgröße bekommen soll, oder das
Projekt für eine andere Displayauflösung geschrieben worden ist. (ab
V1.1)
Farbe und Opazität der Schrift und des Terminalhintergrundes
einstellen.
Positionierung des Cursors innerhalb des Terminalfensters
Aktuelle Cursorposition sichern
Cursor auf die zu Letzt gesicherte Position setzen.
Hier geht es zu den Befehlsbeispielen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
61 / 172
Terminalfenster Ausgaben
EA uniTFT050-A
Ausgabe
Zeichenkette
Ausgabe
formatierte
Zeichenkette
Ausgabe Uhrzeit #Y
Ausgabe
Modulkonfigurati
on
Ausgabe
Versionsstring#YP
Hier geht es zu den Befehlsbeispielen.
#YPAStrings und CodesAusgabe der Zeichen(ketten) im Terminalfenster
#YPF"Formatstring"; value1,
value2, ...., valueN,
value1, ..., valueN, ...
"Dateformat" (Standar
P
d (#WDF));
D
date (akt. Zeit)
#Y
PI
V
Ausgabe einer formatierten Zeichenkette. Wird der Variablen Satz
wiederholt wird der Formatstring erneut verwendet und ebenfalls
Ausgegeben.
Ausgabe von Uhrzeit und Datum. Die Darstellungsweise wird durch das
Dateformat vorgegeben.
Ausgabe der ModulParameter, wie Auflösung und Interfaceeinstellungen
Ausgabe der Firmwareversion des Moduls.
Formatierte Strings
Formatierte Strings werden in Zeichenkettenausgaben verwendet. Das Format ist an die C-Funktion "printf" angelehnt.
Die Funktion besteht aus einem Formatierungsteil und den konkret auszugebenden Argumenten. Dabei werden für die
verschiedenen Datentypen folgende Platzhalter im Format-String verwendet:
Jeder Platzhalter kann weitere Spezifiziert werden: Flags, Feldbreite und .Genauigkeit - in dieser Reihenfolge:
FlagErklärung
-Wert innerhalb Feldbreite linksbündig ausrichten. Rechtsbündig ist die Defaultausgabe
+Ausgabe von '+' bei positiven, '-' bei negativen Werten
(space)Ausgabe von ' ' (space) bei positiven, '-' bei negativen Werten
#Bei Hex- und Oktalausgabe wird das 0x, 0X bzw. 0 bei Werten ¹ 0.
Bei Float und wissenschaftlicher Notation wird immer ein '.' ausgegeben - auch wenn nur
noch 0 folgt. Default wird das Komma nur ausgegeben wenn Werte folgen
0Innerhalb der Feldbreite wird Linksbündig nicht benötigter Platz mit 0 aufgefüllt.
FeldbreiteErklärung
(number)Mindestbreite des Feldes für die Ausgabe
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
62 / 172
EA uniTFT050-A
*Feldbreite wird aus der Argumentenliste übernommen. Wobei die Feldbreite direkt vor dem
eigentlich Argument in der Liste steht.
.GenauigkeitErklärung
.numberFür Integer: Minimum Anzahl an Stellen (default =1)
Float: Minimum Anzahl nach dem Komma (default =6)
.*Anzahl der Stellen wird aus der Argumentenliste übernommen. Wobei die Anzahl der Stellen
direkt vor dem eigentlich Argument in der Liste steht.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
63 / 172
EA uniTFT050-A
Textausgabe / Zeichenketten
Befehlsgruppe um Zeichenketten darzustellen: Einfache Ausgaben, sowie fomartierte sich selbst ändernde Ausgaben
sind mit den folgenden Befehlen möglich.
Einfache Zeichenkette
Zeichenkette
platzieren
Zeichenkette
ändern
Hier geht es zu den Befehlsbeispielen.
#S
Obj-ID, TextStyle-Nr.,
S
X,Y,Anker, "String"
P
#S
Obj-ID, "String"Ändert eine vorhandene Zeichenkette. Andere Objekteigenschaften
S
C
Formatierte Zeichenketten
Formatierte
Zeichenkette
platzieren
Formatierte
Zeichenkette
ändern
Formatierte
Zeichenkette
Parameter
ändern
#SFPObj-ID, TextStyle-Nr.,
X,Y,Anker,
"Formatstring"; value1,
value2, ...., valueN,
value1 ...,valueN,...
#SFFObj-ID, "Formatstring";
value1, value2, ....,
valueN
#SFCObj-ID, value1, value2,
...., valueN
Eine Zeichenkette an die Position X|Y|Anchor platzieren. DieTextStyle-Nr. gibt das Aussehen der Zeichenkette an.
Eine formatierte Zeichenkette an die Position X|Y|Anchor platzieren.
Die TextStyle-Nr. gibt das Aussehen der Zeichenkette an. Wird der
Variablen Satz wiederholt wird der Formatstring erneut verwendet und
hinzugefügt.
Ändern einer vorhandenen Zeichenkette in eine formatierte
Zeichenkette. Andere Objekteigenschaften (Postion, Style usw.)
bleiben unverändert erhalten
Ändern der Parameter der formatierten Zeichenketten.
Obj-ID, KalkulationKalkulation der Autoupdate-Zeichenkette ändern. Sobald sich der Wert
A
C
Eine formatierte Zeichenkette an die Position X|Y|Anchor platzieren.
Die TextStyle-Nr. gibt das Aussehen der Zeichenkette an. Die
formatierte Zeichenkette erneuert die Ausgabe sobald sich der
Parameter value1 (Kalkulation) ändert. Hinweis, die anderen
Parameter werden auch neu Berechnet, wenn es sich um eine
Kalkulation handelt. Sie führen aber nicht zu einem Refresh.
Ändern einer vorhandenen Zeichenkette in eine AutoupdateZeichenkette. Andere Objekteigenschaften (Postion, Style usw.)
bleiben unverändert erhalten
der Kalkulation ändert wird die Zeichenkette neu Ausgegeben.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
64 / 172
Uhrzeit / Datum
EA uniTFT050-A
Uhrzeit / Datum
Zeichenkette
Uhrzeit / Datum
ändern
Uhrzeit / Datum
Zeichenkette
ändern
Editboxen
Editbox-String
anzeigen
Editbox
Defaultstring
Editbox Strings /
Codes senden#SE
Editbox mit
Keyboard
verbinden
Editbox
aktivieren /
deaktivieren
Valid codes#S
Eingabemaske#S
#S
Obj-ID, TextStyle-Nr.,
D
X,Y,Anker,
P
"Dateformat" (Standar
d (#XDF));
date (akt. Zeit)
#S
Obj-ID, date (akt. Zeit) Ändert die auszugebende Zeit des Datumsstrings.
D
C
#SDFObj-ID, "Dateformat";
date (akt. Zeit)
#S
Obj-ID, DrawStyle-Nr.,
E
X,Y,Anker,
P
Breite,Höhe,Radius,
TextStyle-Nr.,
distanceX(0),
distanceY (0)
#S
Obj-ID, "String";
E
"String (Obj-ID+1)";
D
"String (Obj-ID+2)";....
Obj-ID, "String";
"String (Obj-ID+1)";
C
"String (Obj-ID+2)";....
#S
Keyboard-ID,ObjE
ID1, ..., Obj-ID2
K
#S
Obj-ID (0), Keyboard-
E
ID (0)
A
Obj-ID, CodesNur die mit dem Parameter definierten codes werden in der Edit-box
E
R
Obj-ID, "maskstring";
E
placeholder
M
Ausgabe von Uhrzeit und Datum. Die Darstellungsweise wird durch das
Dateformat vorgegeben. Date gibt die Uhrzeit / Datum an. Wird die
aktuelle Uhrzeit ausgegeben passt sich die Ausgabe der aktuellen
Uhrzeit automatisch an. Die TextStyle-Nr. gibt das Aussehen der
Zeichenkette an.
Ändert eine Zeichenkette in eine automatische Ausgabe der Uhrzeit
und des Datums.
Eine Editbox platzieren. Sie findet vor allem in der Eingabe zusammen
mit einer Tastatur Verwendung. DrawStyle-Nr. definiert das Aussehen
der Hintergrundes (Box). Radius gibt den Radius der Eckenabrundung
an. TextStyle-Nr. definiert das Schriftbild. Die Distance gibt den
Abstand zum Rand der Box an.
Standard-String für eine Editbox festlegen. Weitere Strings geben den
Default-String für die Obj-ID+1 an.
Strings und Codes an eine Editbox senden. Weitere Strings / Codes
sendet an die Editbox mit der Obj-ID+1 usw.
Das Keyboard mit einer oder mehreren Editboxen (Obj-ID) verbinden.
Deaktivieren: Obj-ID =0; Keyboard-ID =0(alle), ¹ 0(Editboxen
deaktivieren die dem Keyboard zugeordnet sind)
Aktivieren: Obj-ID der Editbox. Der Parameter Keyboard-ID wird nicht
benötigt.
angezeigt. Codes sind durch Komma getrennt oder als Bereichsstring
angegeben: z.B. "0-9A-Za-z", welcher alle Ziffern und das lateinische
Alphabet erlaubt (ab V1.2).
Eingabemaske für Editbox definieren. Der Parameter placeholder
definiert den sichtbaren Charactercode als Platzhalter, z.B. '_'.
Maskstring:
Integer%maxvalueI or %from;toI
Float%maxvalueF or %from;toF
ASCII%digitsA
Unicode%digitsU
Range
(#SER)
%digitsR
Beispiel Zeit: "Time: %23I:%59I:%0;59I" (ab V1.2)
Password input #S
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
Obj-ID, wildcardcodeAnstelle des eigentlich eingegeben Codes wird der wildcardcode
E
W
angezeigt, was für eine Passworteingabe nützlich ist (ab V1.2).
65 / 172
Hier geht es zu den Befehlsbeispielen.
StringBox
EA uniTFT050-A
StringBox
anzeigen
StringBox
Styles
Zeile hinzufügen #S
Zeile entfernen#S
File anzeigen#SBFObj-ID, String-Nr.,
Set visible line#S
#S
Obj-ID, X,Y,Anker,
B
Breite,Höhe,Radius,
P
scrollbar breite
(Texthöhe)
#S
Obj-ID, DrawStyle-Nr.
B
Background,
S
DrawStyle-Nr.
Scrollbar, TextStyle-
Nr., DistanceX (0),
DistanceY (0),
AutoWrap (1)
Obj-ID, String-Nr.,
B
"String"; "String
A
(Nr+1)"; "String
(Nr+2)";....
Obj-ID, String-Nr.,
B
String-Nr. ...
D
<textfile>
Obj-ID, Line-Nr., Zeit
B
(0), Pfad-Nr (0)
O
Eine StringBox platzieren. Sie eignet sich für die Darstellung von
Hilfetexten und Informationen. Die Scrollbarbreite setzt die Breite des
Schiebereglers am Rand. Der Befehl #SBP darf erst nach Festlegung
der Styles (#SBS) erfolgen. (ab V1.3)
Bei einer StringBox das Aussehen definieren. Der Background gibt
den Boxhintergrund und die Outline vor. Der Style Scrollbar definiert
den Balken des Schiebereglers. Distance X/Y gibt den Offset vom
linken bzw. oberen Rand an. AutoWrap =1 aktiviert den automatischen
Zeilenumbruch sollte die Zeile nicht in das Fenster passen, bei =0 wird
die Zeile abgeschnitten und nicht dargestellt. (ab V1.3)
Der StringBox Obj-ID weitere Strings zufügen. String-Nr. gibt die
Position vor. Die erste Zeile hat die Nummer 1. Ist String-Nr. = 0 wird
der String am Ende hinzugefügt. (ab V1.3)
Aus der StringBox einzelne oder mehrere Strings entfernen. String-Nr.
=0 alle Strings entfernen. Es können auch Bereiche angegeben
werden, z.B. 1-8. (ab V1.3)
Eine StringBox kann zusätzlich komplette Textfiles anzeigen. Der
Parameter <textfile> gibt dabei den Pfad zum file an, der Parameter
String-Nr. gibt die Position an, wo das File eingefügt werden soll, bei
=0 wird das File am Ende der bestehenden Strings angezeigt. (ab
V1.3)
Per Befehl kann die anzuzeigende Zeile (Line-Nr.) vorgegeben werden.
Das Scrollen kann animiert werden. Hierfür ist der Parameter Zeit ¹ 0
zu wählen und eine Pfad-Nr vorzugeben. Die Zeit wird in 1/100s
angegeben. Ist die Zeit Positiv wird die Zeitdauer für den gesamten
Scrollbereich verwendet, damit ist die Geschwindigkeit konstant. Ist die
Zeitdauer negativ wird die Zeit angegeben bis die neue Zeile erreicht
wird, somit ist die Geschwindigkeit abhängig von der zu scrollenden
Zeilenanzahl. (ab V1.3)
Hier geht es zu den Befehlsbeispielen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
66 / 172
EA uniTFT050-A
Bilder / Vektorgrafiken
Befehlsgruppe um Bilder darzustellen. Wir empfehlen die Nutzung von Vektorgraphiken, da die Darstellung schnell und
verlustfrei erfolgt. Alle Bilder, Vektorgraphiken und Gif-Animationen müssen in das jeweilige Format gewandelt werden.
Die Designsoftware uniSKETCH wandelt die Daten automatisch in das korrekte Format.
Bild platzieren#P
Bildanimation
ändern
Obj-ID, 'name';
P
X,Y,Anker (1),
P
Breite (0),Höhe (0),
Winkel (0)
#PPAObj-ID,
Animationstyp (0),
Time, Bild-Nr.
Bild ('name') anzeigen. Die Breite und Höhe wird in Pixeln
angegeben. Wird Breite =0 und Höhe =0 übergeben wird die
Originalgröße des Bildes übernommen. Ist nur einer der beiden
Parameter 0 wird das Bild proportional auf den jeweilig anderen
angepasst.
Ändert eine vorhandene Bildanimation. Die Zeit (Time) und Bild-Nr.
wird nur beachtet wenn der Animationstyp =7 ist.
Animationstyp:
1 = Zyklisch 5 = Einmalig
2 = Zyklisch
Rückwärts
3 = Ping
Pong
4 = Ping
Pong
Rückwärts
6 = Einmalig Rückwärts
7 = Goto
Videobild
platzieren
Bild über die
Schnittstelle
laden und
platzieren
Hier geht es zu den Befehlsbeispielen.
#P
Obj-ID, X,Y,Anker(1),
V
Breite(0),Höhe(0),
P
Winkel (0)
#PIPObj-ID, Binäre Daten;
X(0),Y(screen height -
1),Anker (1),
Breite (0),Höhe (0),
Winkel (0)
Anzeigen eines Videobildes an einer Postion. Die Breite und Höhe
wird in Pixeln angegeben. Wird Breite =0 und Höhe =0 übergeben wird
die Originalgröße des Videobildes übernommen. Ist nur einer der
beiden Parameter 0 wird das Videobild proportional auf den jeweilig
anderen angepasst. Der Videoeingang wird mit dem Befehl #HVB
parametrisiert.
Ein Bild anzeigen. Statt des Bildnamens werden in diesem fall BinäreDaten (epg/evg) über die Schnittstelle übertragen und dann identisch
zum Befehl #PPP platziert. (ab V1.3)
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
67 / 172
EA uniTFT050-A
Touchfunktionen
Befehlsgruppe um Touchfunktionen zu ermöglichen. Das Modul muss mit einem Touch ausgerüstet sein
(Bestellnummern: EA uniTFTxxx-ATC oder EA uniTFTxxx-ATP). Es können einfache Taster und Schalter platziert
werden, sowie Radiobuttons, Schieberegler, Bargraphen und Dreh-/Zeigerinstrumente.
Taster und Schalter
#T
Touch
bereic
h
Recht
eck
Touch
bereic
h
Ellips
e/Krei
s
Touch
bereic
h Bild
Taster
Schalter
Taster
Schalter
Taster
Schalter
Obj-ID, ButtonStyleB
Nr., "Text normal";
R
"Text down";
X,Y,Anker (5),
#T
Breite(ButtonStyle),
S
Höhe(ButtonStyle)
R
#T
Obj-ID, ButtonStyleB
Nr., "Text normal";
E
"Text down";
X,Y,Anker (5),
#T
Breite(ButtonStyle),
S
Höhe(ButtonStyle)
E
Obj-ID, ButtonStyle-
#
Nr., "Text normal";
T
"Text down";
B
X,Y,Anker (5),
P
Breite(ButtonStyle),
#
Höhe(ButtonStyle)
T
S
P
Einen Touchbereich platzieren. Der Parameter "Text normal" gibt die
Ausgabe im ungedrückten, "Text down" im gedrückten Zustand an. ImButtonStyle wird das Aussehen angegeben. Die Breite und Höhe des
Buttons wird aus dem ButtonStyle übernommen, kann aber mit den
letzten Parametern überschrieben werden.
Einen Touchbereich platzieren. Der Parameter "Text normal" gibt die
Ausgabe im ungedrückten, "Text down" im gedrückten Zustand an. Im
ButtonStyle wird das Aussehen angegeben. Die Breite (Æ X) und
Höhe (Æ Y) des Buttons wird aus dem ButtonStyle übernommen, kann
aber mit den letzten Parametern überschrieben werden.
Einen Touchbereich platzieren. Der Parameter "Text normal" gibt die
Ausgabe im ungedrückten, "Text down" im gedrückten Zustand an. Im
ButtonStyle wird das Aussehen angegeben. Die Breite (in Pixel) und
Höhe (in Pixeln) des Buttons wird aus dem ButtonStyle übernommen,
kann aber mit den letzten Parametern überschrieben werden.
Touch
bereic
h Icon
Touch
bereic
h
Objekt
Zustand Taster /
Schalter
abfragen
Hier geht es zu den Befehlsbeispielen.
Taster
Schalter
Taster
Schalter
Obj-ID, X,Y,Anker,
#
'Buttonname normal';
T
Breite normal (0),
B
'Buttonname down' (ke
I
ine Änderung);
#
Breite down (0),
T
'Soundname'
S
I
Obj-ID, ButtonStyle-
#
Nr., "Text normal";
T
"Text down";
B
O
#
T
S
O
#T
Obj-ID1, ..., Obj-IDnDer Zustand des Tasters / Schalters (Obj-ID) wird in den Sendepuffer
Q
S
Eine Touchbereich ohne ButtonStyle platzieren. 'Buttonname
normal/down' gibt die anzuzeigenden Bilder an. Die zugehörige
Breite (in Pixeln) die Größe des Bildes. Die Höhe wird automatisch
intern proportional bestimmt. Bei Breite = 0 wird die Originalgröße des
Bildes angezeigt. Der letzte Parameter 'Soundname' gibt das
Soundfile an, welches bei Touchbetätigung abgespielt wird.
Ein beliebiges bestehendes Objekt wird in ein touchbaren Bereich
gewandelt. Aus dem ButtonStyle werden Zusätzliche Informationen
wie z.B. Soundname entnommen. Handelt es sich bei dem zu
wandelten Objekt um eine grafische Primitive (z.B. Polygon) mit dem
selben DrawSytle wie im ButtonStyle, wird für den gedrückten Zustand
automatisch der DraswStyle des ButtonStyles übernommen.
gestellt.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
68 / 172
EA uniTFT050-A
Einstellung von Tastern und Schaltern
Beschriftung
ändern
Zustand ändern #T
Aktivieren /
Deaktivieren
Rückmeldung
Touchbereich#TC
Radiogroup
Schalter / Taster
hinzufügen
Zustand der
Radiogruppe
abfragen
#TCLObj-ID, "Text normal";
"Text down";
State, Obj-ID1, ...,
C
Obj-IDn
S
#T
Active, Obj-ID1, ...,
C
Obj-IDn
E
Event, Filter,Obj-
ID1, ..., Obj-IDn
R
#T
Group-ID, Obj-ID1, ...,
R
Obj-IDn
A
#T
Group-ID1, ..., Group-
Q
IDn
R
Beschriftung eines Touchbereichs ändern
Zustand der Touchbereiche (Obj-ID) ändern: State =1 ungedrückt;
=2 gedrückt.
Aktvieren oder Deaktivieren von Touchbereichen (Obj-ID): Active
=0 disable; =1 enable
Jedem Touchbereich kann zugeordnet werden ob und welche
Rückmeldungen in den Sendepuffer gelangen. Event =1 Up; =2 Down;
=4 Drag; =3 Up/Down; =5 Up/Drag;...
Ob die Rückmeldung gesendet wird kann davon abhängig gemacht
werden ob ein Makro definiert ist. Filter =0 nur senden wenn kein
Makro definiert ist; =1 immer senden.
Bei der Definition von Tastern wird automatisch der gedrückte Zustand
gesendet wenn kein Makro definiert ist (= #TCR 2,0, Obj-ID). Bei
Schaltern beide Zustände (= #TCR 3,0, Obj-ID). Bei Bargraphen und
Instrumenten das Loslassen (= #TCR 1,0, Obj-ID). Eine Editbox sendet
den Inhalt beim Deaktivieren (= #TCR 1,0,Obj-ID).
Einer bestehenden oder neuen Radiogruppe (Group-ID) werden eine
oder mehrere Schalter (Obj-ID) zugefügt.
Der aktive Schalter der Radiogruppe (Group-ID) wird in den Sendepuffer
gestellt.
Hier geht es zu den Befehlsbeispielen.
Spezielle Touchfunktion
Interne
Verarbeitung von
Touchaktionen
Hier geht es zu den Befehlsbeispielen.
#TIDmask, Obj-ID1, ...,
Obj-IDn
Einem Objekt (Obj-ID) kann eine spezielle Touchaktion zugewiesen,
bzw. Toucheingabe ermöglicht werden: mask =1 interne Verarbeitung
(z.B. Bargraphen / Instrumente / Editboxen per Touch einstellbar);
=2 Move (Objekt kann per Touch durch den Bediener verschoben
werden); =4 Objekt kann propotional vergrößert/verkleinert werden;
=8 Objekt kann um den aktiven Anker gedreht werden; =16
Größenänderung mit zwei Fingern; =32 Rotieren mit zwei Fingern;
=128 das Objekt bleibt unverändert, Touchmakros werden ausgeführt
(freier Touchbereich).
Die einzelnen Bits von mask können mit Bitveroderung
zusammengefasst werden, sodass mehrere Touchaktion gleichzeitig
möglich sind.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
69 / 172
EA uniTFT050-A
Zeichnen / grafische Primitive
Befehlsgruppe um geometrische Formen und Linien darzustellen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
70 / 172
Geometrische Figuren
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
71 / 172
EA uniTFT050-A
Rechteck#G
n-Eck#G
Stern#G
Kreis / Ellipse#GETObj-ID, DrawStyle-Nr,
Kreissektor /
Kuchenstück
Kreissegment#G
Kreisbogen#G
Polylinie#GPLObj-ID, DrawStyle-Nr,
Polygon#GPFObj-ID, DrawStyle-Nr,
Polylinie /
Polygon Punkt
hinzufügen
Pfad#G
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
Obj-ID, DrawStyle-Nr,
R
X,Y,Anker, Breite,
R
Höhe (=Breite),
Radius (0), Border (0),
Winkel (0)
Obj-ID, DrawStyle-Nr,
G
X,Y,Anker, Radius,
P
Ecken, Border (0),
Winkel (0)
Obj-ID, DrawStyle-Nr,
G
X,Y,Anker, Radius1,
S
Radius2, Spitzen,
Border (0), Winkel (0)
X,Y,Anker, RadiusX,
RadiusY (=RadiusX),
Border (0), Winkel (0)
#G
Obj-ID, DrawStyle-Nr,
E
X,Y,Anker, RadiusX,
P
RadiusY, StartWinkel,
EndWinkel, Winkel (0)
Obj-ID, DrawStyle-Nr,
E
X,Y,Anker, RadiusX,
S
RadiusY, StartWinkel,
EndWinkel, Winkel (0)
Obj-ID, DrawStyle-Nr,
E
X,Y,Anker, RadiusX,
A
RadiusY, StartWinkel,
EndWinkel, Border(0),
Winkel (0)
X1,Y1, X2,Y2, ...
Xn,Yn
X1,Y1, X2,Y2, ...
Xn,Yn
#GPAObj-ID, X1,Y1,
X2,Y2, ... Xn,Yn
Obj-ID, DrawStyle-Nr,
P
X,Y, Segment1, ...,
P
SegmentN
Ein Rechteck zeichnen. Der DrawStyle gibt das Aussehen vor, der
Parameter Radius rundet die Ecken ab. Border führt zu einem
Rahmen. Der Winkel ist die Drehung um den Anker.
Ein regelmäßiges Vieleck mit Anzahl Ecken. Radius gibt die Größe
der Figur vor. Der Winkel ist die Drehung um den Anker. Bei Anker =0
wird der Konstruktionspunkt verwendet.
Stern zeichnen: Die erste Spitze wird oberhalb des Mittelpunktes auf
Radius1 gesetzt. Dann erfolgt die Verbindung zu Radius2 dann zurück
zu Radius1 usw. bis die Anzahl Spitzen erreicht ist.
Kreis / Ellipse zeichnen. Border >0 führt zu einem Ring. Der Winkel
ist die Drehung um den Anker.
Ein Kuchenstück zeichnen, Start/EndWinkel geben die Größe des
Stücks an
Ein Kreissegment zeichnen, Start/EndWinkel geben die Größe des
Segments an
Ein Kreisbogen zeichnen. Ist Border >0 entsteht ein Ringsektor
Eine Polylinie zeichnen.
Ein gefülltes Polygon zeichnen. Es wird automatisch eine Verbindung
zwischen Xn,Yn und X1,Y1 eingefügt.
Einer bestehender Polylinie oder Polygon am ende Punkte hinzufügen.
Beim Polygon wird die Figur automatisch geschlossen.
Freier Pfad: X,Y gibt die Startposition an, gefolgt von einzelnen
Segmenten:
Horizontale Linie?H X
Vertikale Linie?V Y
Linie?L X,Y
Kreisbogen?C t,r, X,Y
Elliptischer Kreisbogen ?E t,rx,ry,a, X,Y
Quadratische
Bézierkurve
Pfad schließen?Z
Neue Startkoordinaten
(Unterpfad)
Großbuchstaben der Segmentbefehle: Absolute Koordinaten
?Q c1x,c1y, X,Y
?R X,Y
?T c2x,c2y, X,Y
?M X,Y
72 / 172
Hier geht es zu den Befehlsbeispielen.
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
73 / 172
EA uniTFT050-A
Bargraphen / Instrumente
Befehlsgruppe um Bargraphen, Schieberegler und Dreh-/Zeigerinstrumente darzustellen
Bargraph
Bargraph
rechteckig
Bargraph
dreieckig
Bargraph
gebogen
#I
Obj-ID, DrawStyleB
Front, DrawStyleR
Back, X,Y,Anker,
Breite,Höhe,
Radius (0),
Startwert (0),
Endwert (100),
Richtung (1),
Winkel (0)
#IBTObj-ID, DrawStyle-
Front, DrawStyle-
Back, X,Y,Anker,
Breite,Höhe,
Spitze (0),
Startwert (0),
Endwert (100),
Richtung (1),
Winkel (0)
#I
Obj-ID, DrawStyleB
Front, DrawStyleA
Back, X,Y,Anker,
Radius, Border,
Startwinkel,
Endwinkel,
Startwert (0),
Endwert (100),
Richtung (1)
Rechteck mit Abgerundeten Ecken (Radius) zeichnen. Aus demDrawStyle-Front wird die Füllfarbe übernommen und das Band
gezeichnet. Der DrawStyle-Back gibt die Hintergrund- und
Rahmenfarbe vor. Der Startwert und Endwert bestimmen die beiden
Grenzen des Bargraphen. Die Laufrichtung wird durch Richtung
bestimmt: Richtung =0 Rechts nach Links; =1 Links nach Rechts
Dreieckiger Bargraph. Die Spitze befindet sich Links: Spitze =0 Unten;
=1 Oben; =2 Mitte. Die Laufrichtung wird durch Richtung bestimmt:Richtung =0 zur Spitze; =1 von der Spitze weg
Gebogener Bargraph (Radius), die Dicke wird über den ParameterBorder definiert. Die beiden Parameter Start-/Endwinkel geben die
Größe des Bargraphen an. Richtung bestimmt die Drehrichtung:
=0 Gegen den Uhrzeigersinn; =1 im Uhrzeigersinn
Hier geht es zu den Befehlsbeispielen.
Schieberegler
Schieberegler
entlang eines
Pfades
#I
Group-ID, Path-ID,
G
Slide-Id,
S
Tangential (0),
Startwert (0),
Endwert (100)
Wandelt eine bestehende Gruppe in ein Schiebregler um. Die Gruppe
muss mindestens zwei bestehende Objekte beinhalten: einem Pfad
(Path-ID) und dem Regler (Slide-ID). In der Gruppe können weitere
Objekte vorhanden sein. Der Regler wandert dem Pfad entlang. Er kann
sich dabei tangential dem Pfad gegenüber drehen (Tangential = 1)
oder sich nicht mitdrehen (Tangential = 0).
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
74 / 172
Dreh-/Zeigerinstrumente
EA uniTFT050-A
Zeigerinstrument
aus Objekten#IG
Zeigerinstrument
als Pixelbild
Hier geht es zu den Befehlsbeispielen.
Group-ID, Indicator-ID,
StartWinkel,
M
DeltaWinkel,
Startwert (0),
Endwert (100)
#I
Object-ID,
P
'InstrumentName';
P
X,Y,Anker, Breite (0),
Höhe (0),
Startwert (0),
Endwert (100),
Winkel (0)
Wandelt eine bestehende Gruppe in ein Zeigerinstrument um. Der
Parameter Indicator-ID bestimmt den Zeiger. Der Parameter
StartWinkel setzt den Zeiger auf den Startwert der Skala. Der
DeltaWinkel bestimmt die Drehrichtung und Winkel vom StartWinkel
aus gesehen.
Dieser Befehl ist aus Kompatibilitätsgründen vorhanden. Fertige
Instrumente aus der eDIP-Serie, welche mit den LCDTools erstellt
wurden können direkt angezeigt werden. Die Größe wird über die
Parameter Breite und Höhe festgelegt. Wird Breite =0 und Höhe =0
übergeben wird die Originalgröße des Instruments übernommen. Ist nur
einer der beiden Parameter 0 wird das Instrument proportional auf den
jeweilig anderen angepasst.
Einstellungen Bargraph / Instrumente
Wert setzen#I
Wert Autoupdate #IVAObj-ID, Kalkulation,
Wert Autoupdate
Kalkulation
ändern
Start-/Endwert
ändern
Obj-ID, Wert, Time (0),
V
Kurve (0)
S
Time (0), Kurve (0)
#I
Obj-ID, UpdateSobald sich der Wert von Update ändert wird der Wert des Bargraphs /
V
C
#I
Obj-ID, Startwert,
V
Endwert (no change)
N
Ein Bargraph bzw. Instrument auf einen Wert setzten. Der Parameter
Time (in 1/100s) gibt zusammen mit der Kurve die
Änderungsgeschwindigkeit an mit der der neue Wert erreicht wird. Ist
die Zeit Positiv wird die Zeitdauer für den Gesamtauschlag verwendet,
damit ist die Geschwindigkeit des Zeigers konstant. Ist die Zeitdauer
negativ wird die Zeit angegeben bis der neue Wert erreicht wird, somit
ist die Geschwindigkeit abhängig von der Entfernung.
Der Wert eines Bargraphs wird automatisch berechnet. Die neue
Anzeige erfolgt immer wenn sich der Wert der Kalkulation ändert. Die
Kalkulation gibt gleichzeitig den anzuzeigenden wert vor.
Instruments anhand der Kalkulation von #IVA neu berechnet.
Dem Bargraphen / Instrument einen neuen Start- und Endwert
zuordnen. (ab V1.1)
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
75 / 172
EA uniTFT050-A
Keyboard / Tastatur
Befehlsgruppe um ein Keyboard für Werteingaben darzustellen. Das Modul muss mit einem Touch ausgerüstet sein
(Bestellnummern: EA uniTFTxxx-ATC oder EA uniTFTxxx-ATP). Im Normalfall wird das Keyboard mit einer Editbox
verbunden.
Definition Layout
des Keyboards#KD
Definition
alternativer
Tastenbeschriftu
ng / Styles
Keyboard
anzeigen
Obj-ID, Nr,
"ButtonStringLine1"; ..
B
.; "ButtonStringLineN"
#K
Obj-ID, Code1,
D
ButtonStyle1,
S
"Label1"; Code2,
ButtonStyle2, "Label2"
...; CodeN,
ButtonStyleN,
"LabelN";
#K
Obj-ID,
K
ButtonStyleNormal,
P
ButtonStyleSpecial,
X,Y,Anker, Gap,
Breite, Höhe (0),
Erscheinen (0)
Bestimmung der Tasten: Ein Keyboard kann bis zu 4 unterschiedliche
Layouts (Nr) haben. Jedem Layout können Tasten(Codes) zugeordnet
werden. Mehrere Zeilen werden durch Stringende ';' gekennzeichnet.
Für spezielle Tasten stehen folgende Keycodes zur Verfügung:
\1: (code 1) Anzeigen von Keyboard Nr 1
\2: (code 2) Anzeigen von Keyboard Nr 2
\3: (code 3) Anzeigen von Keyboard Nr 3
\4: (code 4) Anzeigen von Keyboard Nr 4
\5: (code 5) SHIFT (Verwende für einen Tastendruck das Keyboard
Nr 2, dann automatisch wieder Keyboard Nr 1)
\6: (code 6) CAPSLOCK (Umschalten zwischen Keyboard Nr 1 und
Nr 2
\7: (code 7) DELETE
\8: (code 8) BACKSPACE
\9: (code 9) Reserviert für zukünftige Verwendung\A: (code 10) Reserviert für zukünftige Verwendung
\B: (code 11) INSERT / OVERWRITE
\C: (code 12) CLEAR
\D: (code 13) SEND
\E: (code 14) Cursor left
\F: (code 15) Cursor right
\G: (code 16) Reserviert für zukünftige Verwendung\H: (code 17) Reserviert für zukünftige Verwendung
\I: (code 18) POS1
\J: (code 19) END
\K: (code 20) Reserviert für zukünftige Verwendung
\L: (code 21) CANCEL
\M: (code 22) Cursor On/Off
\N: (code 23) Platzhalter (Dieser Keycode wird nicht gezeichnet)
\O..\V: (code 24 .. 31) 8 x Funktionstasten
Einem bestimmten Keycode (Code) eine spezielle Tastenbeschriftung
("Label") und ButtonStyle zuweisen. Diese Einstellung überschreibt
die Styledefinition des Befehls #KKP. Die ButtonStyles werden nicht
komplett übernommen, so wird die Größenangabe aus dem
ButtonStyle ignoriert, der Radius wird einmalig übernommen. Ändert
sich der Radius im ButtonStyle im Nachhinein wird dieser Werte nicht
im Keyboard übernommen, eine Farbänderung oder TextStyleänderung
hingegen schon.
Das Keyboard platzieren. ButtonStyleNormal definiert den Style für
Buchstaben und Ziffern, ButtonStyleSpecial gilt für Sondertasten.Gap ist der Abstand zwischen einzelnen Tasten. Die Breite einer Taste
errechnet sich automatisch aus der GesamtBreite bzw. der Höhe und
den Abständen zwischen den Tasten. Ist die GesamtHöhe, oder Breite
=0 wird diese Länge automatisch aus der resultierenden Tastengröße
berechnet. Die Größenwerte sind die gewünschten Maximalwerte. Die
Tasten werden gleichmäßig aufgeteilt. Der letzte Parameter
(Erscheinen) gibt an ob das Keyboard sofort angezeigt wird (=0) oder
nach dem eine Animation definiert (#AOA / #AOR) wurde in 1/100s
erscheint (>=1).
Hier geht es zu den Befehlsbeispielen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
76 / 172
EA uniTFT050-A
Eingabeelement per Touch
Befehlsgruppe Toucheingabelemente wie Menüs, SpinBoxen oder ComboBoxen zu erstellen. Die Funktionen sind ab
der Firmware V1.2 verfügbar.
Menü
Styles definieren #E
M
S
Einträge
definieren
Icons dem
Eintrag
zuordnen
Check /
uncheck Eintrag#EM
Disable / enable
Eintrag
Menü anzeigen#E
#E
M
D
#EMIObj-ID, Item,
C
#E
M
E
M
P
Obj-ID, typ, TextStyle-
Nr., DrawStyle-Nr.
Box, DrawStyle-Nr.
Selekt, DrawStyle-Nr.
Icon, "soundname"
Obj-ID, Item, "Entries" Dem Elternobjekt Subitems zuordnen. Das Hauptmenü hat die
"Iconname"; Item2,
"Iconname2"
Obj-ID, check, Item,
Item2...
Obj-ID, enable, Item,
Item2...
Obj-ID, X,Y,Anker,
radius, DistX, DistY,
time
Dem Menü Styles und grafisches Verhalten zuordnen. Der Style
TextStyle-Nr. definiert das Aussehen der Texte, DrawStyle-Nr. Box
das Aussehen des Hintergrundes. Der Selektrahmen wird durch
DrawStyle-Nr. Selekt vorgegeben, DrawStyle-Nr Icon gibt den
Hintergrund der Icons an. Typ definiert Bitkodiert das Aufklappverhalten:
Bit 0: =0 nach unten / =1 nach oben aufklappen; Bit 1: =0 left / right
aligned Menübox; Bit 2: Submenü align =0 Top / =1 so Platzsparend
wie Möglich
Itemnummer 0. Die Hauptmenüeintrage $0001 - $00FF. Die
Submenüeinträge werden mit dem nächsten höherwertigen Byte
zugeordnet z.B. $0301, ordnet dem dritten Eintrag des ersten
Menüeintrages weitere Subeinträge zu. Die Einzelnen Einträge werden
mit dem Entriestring vorgegeben - getrennt mit einem Pipe '|' . Ein
Doppelpipe '||' fügt einen Trennstrich / Seperator hinzu.
Jedem Eintrag kann ein Icon zugeordnet werden. Der Eintrag muss
bereits vorhanden sein um ein Icon zuzuordnen.
Ein Eintrag auswählen / deaktivieren. Visuell wird ein Haken angezeigt.
Check =0 uncheck; =1 check; =2 toggle. Per default ist kein Eintrag
ausgewählt.
Ein Eintrag aktivieren / deaktivieren. Ist ein Eintrag deaktiviert kann er
nicht per Touch ausgewählt werden. Enable =0 disable; =1 enable;
2=toggle. Per default sind alle Einträge aktiv.
Ein vorher definiertes Menü platzieren. Der Radius gibt die
Eckenrundung an. DisX/Y gibt den Abstand der Einträge zueinander an.
Durch time kann das Öffnen / Schließen des Menüs zeitlich in 1/10 s
animiert werden.
Hier geht es zu den Befehlsbeispielen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
77 / 172
ComboBox
EA uniTFT050-A
Styles definieren #E
C
S
Einträge
definieren
Icons dem
Eintrag
zuordnen
Disable / enable
Eintrag
ComboBox
anzeigen
Eintrag
selektieren
#E
C
D
#ECIObj-ID, Item,
#E
C
E
#E
C
P
#E
C
O
Obj-ID, typ, TextStyle-
Nr., DrawStyle-Nr.
Box, DrawStyle-Nr.
Selekt, DrawStyle-Nr.
Scroll, "soundname"
Obj-ID, "Entries" oder
Obj-ID, "Formatstring";
sv, ev
"Iconname"; Item2,
"Iconname2"
Obj-ID, enable, Item,
Item2...
Obj-ID, X,Y,Anker,
radius, width, lines,
DistX, DistY, time
Obj-ID, ItemEin Eintrag (Item) per Befehl auswählen.
Styles und grafisches Verhalten zuordnen. Der Style TextStyle-Nr.
definiert das Aussehen der Texte, DrawStyle-Nr Box das Aussehen
des Hintergrundes. Der Selektrahmen wird durch DrawStyle-Nr.Selekt vorgegeben, DrawStyle-Nr. Scroll gibt das Aussehen des
Scrollbars an. Typ definiert die Richtung: =0 nach unten =1 nach oben
öffnen
Einträge hinzufügen. Der Befehl hat zwei Parametersätze. Der direkte
und einfache Satz fügt Einträge durch Pipe '|' getrennt hinzu, z.B.
"Entry 1|Entry 2...". Der Zweite Satz sieht ein Formatstring mit Start-
(sv) und Endwert (ev) vor. z.B. "%02d";0,59
Jedem Eintrag kann ein Icon zugeordnet werden. Der Eintrag muss
bereits vorhanden sein um ein Icon zuzuordnen.
Ein Eintrag aktivieren / deaktivieren. Ist ein Eintrag deaktiviert kann er
nicht per Touch ausgewählt werden. Enable =0 disable; =1 enable;
2=toggle. Per default sind alle Einträge aktiv.
Eine vorher definierte ComboBox platzieren. Der Radius gibt die
Eckenrundung an. Width gibt in Pixeln die Breite der Box an, bei
width =0 wird die Breite der Box anhand des breitesten Eintrages
automatisch ermittelt. Lines definiert die höchstens anzuzeigenden
Einträge. Sind mehr Einträge definiert (#ECD) wird automatisch eine
Scrollbar angezeigt. DisX/Y gibt den Abstand der Einträge zueinander
an. Durch time kann das Öffnen / Schließen der ComboBox zeitlich in
1/10 s animiert werden.
Hier geht es zu den Befehlsbeispielen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
78 / 172
SpinBox
EA uniTFT050-A
Styles definieren #E
S
S
Einträge
definieren
Icons dem
Eintrag
zuordnen
Disable / enable
Eintrag
SpinBox
anzeigen
Eintrag
selektieren
#E
S
D
#ESIObj-ID, Item,
#E
S
E
#E
S
P
#E
S
O
Obj-ID, typ, TextStyle-
Nr., DrawStyle-Nr.
Box, DrawStyle-Nr.
Selekt, "soundname"
Obj-ID, Box-Nr.,
"Entries" oder
Obj-ID, Box-Nr.,
"Formatstring"; sv, ev
"Iconname"; Item2,
"Iconname2"
Obj-ID, enable, Item,
Item2...
Obj-ID, X,Y,Anker,
radius, width, lines,
DistX, gap
Obj-ID, ItemEin Eintrag (Item) per Befehl auswählen.
Styles und grafisches Verhalten zuordnen. Der Style TextStyle-Nr.
definiert das Aussehen der Texte, DrawStyle-Nr. Box das Aussehen
des Hintergrundes. Der Selektrahmen wird durch DrawStyle-Nr.Selekt vorgegeben. Typ definiert Bitkodiert das Rollverhalten und die
Position des Selektionsrahmens: Bit 0: =0 rollen =1 am Ende der Liste
stoppen; Bit 1: =0 Selektionsrahmen hinter den Text, =1
Selektionsrahmen vor den Text.
Einträge hinzufügen. Der Befehl hat zwei Parametersätze. Der direkte
und einfache Satz fügt Einträge durch Pipe '|' getrennt hinzu, z.B.
"Entry 1|Entry 2...". Der Zweite Satz sieht ein Formatstring mit Start-
(sv) und Endwert (ev) vor. z.B. "%02d";0,59.
Der Parameter Box-Nr. gibt an welche Box gemeint ist. Eine SpinBox
kann bis zu 4 untergeordnete Boxen besitzen.
Jedem Eintrag kann ein Icon zugeordnet werden. Der Eintrag muss
bereits vorhanden sein um ein Icon zuzuordnen.
Item setzt sich wie folgt zusammen:
High WordLow Word
High ByteLow ByteHigh ByteLow Byte
Box 4Box 3Box 2Box 1
Ein Eintrag aktivieren / deaktivieren. Ist ein Eintrag deaktiviert kann er
nicht per Touch ausgewählt werden. Enable =0 disable; =1 enable;
2=toggle. Per default sind alle Einträge aktiv.
Eine vorher definierte SpinBox platzieren. Der Radius gibt die
Eckenrundung an. Width gibt in Pixeln die Breite der Box an, bei
width =0 wird die Breite der Box anhand des breitesten Eintrages
automatisch ermittelt. Lines definiert die anzuzeigenden Einträge
oberhalb der Auswahlbox. DisX gibt den Abstand des Eintrages zum
Boxrand und dem Icon an. Gap definiert den Abstand der Boxen
innerhalb der SpinBox-Gruppe.
Hier geht es zu den Befehlsbeispielen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
79 / 172
EA uniTFT050-A
Action / Animation
Befehlsgruppe um Objekte zu animieren, z.B. Erscheinen, Wegfliegen, Rotieren oder Ausblenden zu lassen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
80 / 172
Action / Animation definieren
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
81 / 172
EA uniTFT050-A
Definition
Start/End
Action
/
Anima
tion
definie
ren
Absolut
Relativ
#A
StartStart =1 Animationsdefinition beginnen, keine Animation starten; =0
D
C
Obj-ID, Action1, ...,
#
ActionN
A
O
A
#
A
O
R
Definition fertig, alle neuen Animationen starten.
Ist die Animationsdefinition innerhalb eines Makros ist dieser Befehl
nicht notwendig, da ein Makro immer komplett abgearbeitet wird, bevor
der Bildschirminhalt neu gezeichnet wird.
Ein Objekt animieren. Der Parameter Action gibt die Animation vor:
100+ 1..10
Position
150+ 1..10
Position Pfad
200+ 1..10
Skalierung
250+ 1..10
Skalierung
Pfad
300+ 1..10
Rotieren
350+ 1..10
Rotieren Pfad
400+ 1..10
Scheren
450+ 1..10
Scheren Pfad
500+ 1..10
Deckkraft
550+ 1..10
Deckkraft Pfad
600+ 1..10
Farbkanal
X,YDas Objekt bewegt sich in einer Geraden
zum angegeben Punkt. Der zeitliche verlauf
wird durch die Aktionskurve (1..10)
vorgegeben.
Aktionspf
ad, Offset
ScaleX,
ScaleY
Aktionspf
ad, Offset
WinkelDrehung des Objekts um Winkel-Grad (<0
Aktionspf
ad, Offset
ShearX,
ShearY
Aktionspf
ad, Offset
OpacityÄndern der Objektdeckkraft.
Aktionspf
ad, Offset
R,G,BÄndern der Farbkanäle Rot, Grün und Blau
Das Objekt folgt dem Aktionspfad (#APD),
der Offset bestimmt Prozentual den
Startwert. Der zeitliche verlauf wird durch
die Aktionskurve (1..10) vorgegeben.
Die Objektgröße wird linear prozentual auf
die Originalgröße verändert. Der zeitliche
verlauf wird durch die Aktionskurve (1..10)
vorgegeben.
Das Objekt ändert seine Größe anhand
des Aktionspfads, der Offset bestimmt
Prozentual den Startwert. Der X-Wert des
Pfades bestimmt die Vergrößerung in XRichtung, der Y-Wert entsprechend die
Vergrößerung in Y-Richtung.
im, >0 gegen den Uhrzeigersinn).
Drehung folgt dem X-Offset des
Aktionspfads. Der Offset bestimmt den
Prozentual den Startwert.
Das Objekt um ShearX-,ShearY-Grad
scheren.
Das Objekt ändert seine Scherung anhand
des Aktionspfades, der Offset bestimmt
Prozentual den Startwert. Der X-Wert des
Pfades bestimmt die Scherung in X-Grad,
der Y-Wert entsprechend die Scherung in
Y-Grad.
Deckkraft folgt dem X-Offset des
Aktionspfads. Der Offset bestimmt den
Prozentual den Startwert.
Action-/Animtaio
nstyp / Time
Action /
Animation
Stoppen
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Action /
Applikationsbeispiele
Animation
#AOTObj-ID, Typ,
Gesamtzeit (100),
Start (0), End (0)
#A
Obj-ID, Stop (0), Jump
O
(0)
S
#AOObj-ID, ..., Obj-IDnDie Animation wird gelöscht (Obj-ID =0 allen)
Die Gesamtzeit der Animation beinhaltet die Verzögerung beim Start
und am Ende. Der Typ gibt den Animationstyp vor:
1 = Erscheinen4 = Change
2 = Verschwinden (Obj-
ID wird gelöscht)
3 = Invisible6 = Ping Pong
Die Animation wird sofort nach diesem Befehl gestartet, außer es
wurde vorher #ADC 0 gesetzt - dann erfolgt der Start bei #ADC 1.
Die Animation wird angehalten. Stop =0 sofort; =1 am Anfang; =2 am
Ende. Der Parameter Jump gibt das Verhalten an: =0 normale
Bewegung; =1 Sprung; =2 Objekt löschen; 3= Objekt unsichtbar
5 = Zyklisch
82 / 172
Hier geht es zu den Befehlsbeispielen.
Aktionskurve und Aktionspfade
EA uniTFT050-A
Aktionspfad
erstellen
Aktionskurve
erstellen
#A
Pfad-Nr, X,Y,
P
Segment1, ...,
D
SegmentN
#A
Kurvennummer,
C
X1,Y1, X2,Y2
D
Das Objekt folgt dem Aktionspfad. Die Pfad-Nr ist auf 1..10 begrenzt.
Die Segmente des Pfades werden nach dem Selben Prinzip erstellt
wie beim Zeichnen von Pfaden (#GPP):
Horizontale Linie?H X
Vertikale Linie?V Y
Linie?L X,Y
Kreisbogen?C t,r, X,Y
Elliptischer Kreisbogen ?E t,rx,ry,a, X,Y
Quadratische
Bézierkurve
Pfad schließen?Z
Neue Startkoordinaten
(Unterpfad)
Großbuchstaben der Segmentbefehle: Absolute Koordinaten
Kleinbuchstaben der Segmentbefehle: relative Koordinaten zum letzten
Punkt
r = Radius
rx = X-Radius
ry = Y-Radius
a = Winkel
?Q c1x,c1y, X,Y
?R X,Y
?T c2x,c2y, X,Y
?M X,Y
t=0: gegen Uhrzeigersinn kleiner Kreisbogen
t=1: im Uhrzeigersinn kleiner Kreisbogen
t=2: gegen Uhrzeigersinn großer Kreisbogen
t=3: im Uhrzeigersinn großer Kreisbogen
Aktionskurve erstellen, die den zeitlichen Verlauf der Animation vorgibt.
Es sind 10 Kurven vordefiniert. Der Wertebereich der Parameter ist fürX 0...100, für Y -200...300.
Aktionskurve
Die Aktionskurven geben den zeitlichen Verlauf der Animation vor. Es sind 10 Kurven vordefiniert, die verändert werden
können (#ACD). Bei den Kurven handelt es sich um kubische Bézierkurven mit zwei Stützpunkten:
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
83 / 172
1 Linear
#ACD 1, 10,10, 90,90
EA uniTFT050-A
2 Beschleunigung ®
Linear
#ACD 2, 40,0, 60,40
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
84 / 172
3 Linear ® Abbremsend
#ACD 3, 40,60, 60,100
EA uniTFT050-A
4 Beschleunigend ®
Linear ® Abbremsend
#ACD 4, 40,0 60,100
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
85 / 172
5 Unterschwingend ®
Linear
#ACD 5, 30,0 30,-60
6 Linear ®
Überschwingend
#ACD 6, 70,160, 70,100
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
86 / 172
7 Unterschwingend ®
Linear ®
Überschwingend
#ACD 7, 30,-60, 70,160
8 Schwingend ® Linear
#ACD 8, 40,40, 20,-100
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
87 / 172
9 Linear ® Schwingend
#ACD 9, 80,200, 60,60
EA uniTFT050-A
10Linear ® Schwingend
® Linear
#ACD 10, 60,200 40,-100
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
88 / 172
EA uniTFT050-A
Objektverwaltung
Befehlsgruppe um Objekte zu Verwalten, zu Verändern oder zu Gruppieren.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
89 / 172
Objektmanipulation
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
90 / 172
EA uniTFT050-A
Löschen#ODIObj-ID, ..., Obj-IDnObjekt löschen. Bei Obj-ID =0 werden alle Objekte gelöscht; =-1 alle
Objekte und Hintergrund wird gelöscht (from V1.2)
Löschschutz#ODPProtect, Obj-ID, ...,
Obj-IDn
Sichtbarkeit#OVISichtbar, Obj-ID, ...,
Obj-IDn
PositionAbsolut
Relativ
X,Y, Obj-ID, ..., Obj-
#
IDn
O
P
A
#
X,Y, Obj-ID, ..., Obj-
O
IDn
P
R
Objekte mit protect=1 können vom Befehl #ODI nicht gelöscht werden
und bleiben bestehen. Sie werden ebenso nicht auf die
Hintergrundebene verschoben (ab V1.2).
Objekt Sichtbar =1 bzw. unsichtbar =0 machen. Obj-ID =0
Sichtbarkeit auf alle Objekte anwenden.
Objekte verschieben auf eine neue Postion setzen. Obj-ID =0 Alle
Objekte verschieben
Größe
nänder
ung
RotationAbsolut
Scher
ung
Absolut
Relativ
Relativ
Absolut
Relativ
Breite, Höhe, Obj-
#
ID, ..., Obj-IDn
O
S
A
#
Breite in %, Höhe in
O
%, Obj-ID, ..., Obj-IDn
S
R
Winkel, Obj-ID, ...,
#
Obj-IDn
O
R
A
#
Winkel, Obj-ID, ...,
O
Obj-IDn
R
R
ShearX, ShearY, Obj-
#
ID, ..., Obj-IDn
O
H
A
#
ShearX, ShearY, ObjO
ID, ..., Obj-IDn
H
R
Die Breite bzw. Höhe eines Objektes prozentual ändern. Obj-ID =0
Größenänderung bei allen Objekten.
Um den Winkel wird das Objekt (Obj-ID) gedreht. Obj-ID =0 Drehung
aller Objekten.
Die Neigung / Scherung eines Objektes ändern. ShearX und ShearY
werden in Grad angegeben. Obj-ID =0 Scherung bei allen Objekten.
Deckk
raft /
Opacit
y
Farbe ändern#OCCR,G,B, Obj-ID, ...,
Style ändern#OCSStyle-Nr, Obj-ID, ...,
Rahmen /
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Hintergrund
Applikationsbeispiele
Absolut
Relativ
Opacity, Obj-ID, ...,
#
Obj-IDn
O
O
A
#
Opacity in %, ObjO
ID, ..., Obj-IDn
O
R
Obj-IDn
Obj-IDn
#OFPDrawStyleNr, addX,
addY, Obj-ID, ..., Obj-
IDn
Sichtbarkeit (Opacity) von 0 (komplett durchsichtig) bis 100 (Sichtbar)
einstellen. Obj-ID =0 auf alle Objekte anwenden.
Der Farbanteil des Kanals (Rot, Grün, Blau) wird prozentual verändert
(-100...+100). Obj-ID =0 auf alle Objekte anwenden.
Einem Objekt (Obj-ID =0 allen) wir ein neuer Style zugewiesen. DerStyle richtet sich nach dem Objekt. Einer Zeichenkette wird
automatisch ein TextStyle zugewiesen.
Einem Objekt (Obj-ID =0 allen) ein Hintergrund zuordnen. Die Farben
werden über den DrawStyle bestimmt. Die beiden Parameter addX
und addY ändern am Linken/Rechten bzw. Oberen/Unteren Rand die
91 / 172
Gruppe
EA uniTFT050-A
Objekte zur
Gruppe
hinzufügen
#O
Group-ID, Obj-ID, ...,
G
Obj-IDn
A
Background (ab V1.2)
Objekte auf
Hintergrundeben
e verschieben
Bild von der SDKarte direkt auf
den Hintergrund
schreiben
#O
RGB, Obj-ID, ..., Obj-
B
IDn
G
#O
Picture-name';
B
X(0),Y(0), anchor (7),
P
'gradient name'; time,
reverse, 'macro
finished'
Eine Gruppe (Group-ID) erstellen bzw. einer bestehenden Gruppe
Objekte hinzufügen.
Existierende Objekte auf den Hintergrund verschieben. Die
Hintergrundfarbe wird durch den Parameter RGB vorgegeben. Nach
dem PowerOn-Reset ist die Hintergrundfarbe Schwarz (RGB=0). Wird
für RGB=-1 übergeben bleibt die bisher eingestellte Farbe unverändert.
Bild direkt von der SD-Karte auf dem Hintergrund darstellen.
Transformationen (wie Skalieren) sind unmöglich. Wenn
Transformationen notwendig sind, muss ein Bildobjekt erstellt werden
(#PPP) und die Transformationen angewendet werden. Das Objekt wird
dann mit dem Befehl #OBGauf den hintergrund verschoben. Der
Parameter gradient name gibt ein Graustufenbild an, welches zur
Überblendung verwendet wird. Das Überblenden wird durch die
Grauwerte und der Zeit time in 1/10 s bestimmt. Der Überblendeffekt
kann rückweärts (reversed) dargestellt werden. Nach dem
Überblenden wird das Makro 'macro finished' aufgerufen.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
92 / 172
EA uniTFT050-A
Styles
Befehlsgruppe um Formatvorlagen zu erstellen. Das Aussehen jedes Objekts basiert auf einer Style passend zur
Objektart. Für jeden Style stehen maximal 500 zur Verfügung, also Style-Nr [0...500-1].
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
93 / 172
DrawStyle
EA uniTFT050-A
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
94 / 172
EA uniTFT050-A
Füllung:
Löschen
Füllung:
Vollfarbe
Füllung: Linearer
Farbverlauf
Füllung: Radialer
Farbverlauf
Füllung:
Konischer
Farbverlauf
Füllung:
Muster / Pattern#CFP
Füllung ändern:
Winkel (linearer
Farbverlauf)
Füllung ändern:
Rampe
(Farbverlauf)
Füllung ändern:
Fokus
Füllung ändern:
Muster / Pattern
ändern
#CFDDrawStyle-NrDer DrawStyle hat keine Füllung
#CFCDrawStyle-Nr, RGB,
#CFLDrawStyle-Nr, Ramp-
#CFRDrawStyle-Nr, Ramp-
#CFKDrawStyle-Nr, Ramp-
#CFADrawStyle-Nr, Winkel Den Winkel eines linearen Farbverlaufes wird verändert.
Der DrawStyle hat eine voll-farbige (RGB) Füllung. Die Deckkraft wird
prozentual über Opacity angegeben.
Der DrawStyle hat eine lineare Verlaufsfüllung. Die Rampe bestimmt
die Füllung und deren Ausrichtung (Winkel in Grad).
Der DrawStyle hat eine radiale Verlaufsfüllung. Die Rampe bestimmt
die Füllung. Der Fokus bestimmt prozentual den Startpunkt des
Verlaufs. Bei FokusX =5000 wird mit FokusY der Anker angegeben der
als Startpunkt des Verlaufs verwendet werden soll.
Der DrawStyle hat eine konische Verlaufsfüllung. Die Rampe
bestimmt die Füllung. Der Fokus bestimmt prozentual den Startpunkt
des Verlaufs. Bei FokusX =5000 wird mit FokusY der Anker angegeben
der als Startpunkt des Verlaufs verwendet werden soll. Die
DrehRichtung des Verlaufs ist im Uhrzeigersinn =1 oder gegen den
Uhrzeigersinn =0.
Ein Muster ( 'PatternName') als Füllung verwenden. Die Größe
verwendet die Originalgröße =0, oder aber sie wird proportional
prozentual verändert. Wiederholung =1 spiegeln; =0 wiederholen. Der
Fokus bestimmt prozentual den Startpunkt des Patterns. Bei FokusX
=5000 wird mit FokusY der Anker angegeben der als Startpunkt des
Patterns verwendet werden soll. Das Pattern wird direkt mit dem
PatternAnker auf den Fokuspunkt gesetzt.
Die Rampe einer Füllung ändern
Der Fokus bestimmt prozentual den Startpunkt des Verlaufs oder des
Patterns. Bei FokusX =5000 wird mit FokusY der Anker angegeben der
als Startpunkt des Verlaufs verwendet werden soll. Der letzte
Parameter gilt nur bei Pattern: Es wird direkt mit dem PatternAnker
auf den Fokuspunkt gesetzt.
Der Füllung ein neues Muster ( 'PatternName') zuweisen.
Linie: Löschen#CLDDrawStyle-NrDer DrawStyle hat keine Außen-Linie
Linie: Farbe,
Dicke
Linie ändern:
Farbe
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Linie ändern:
Applikationsbeispiele
Breite
#CFSDrawStyle-Nr, GrößeDie Größe verwendet die Originalgröße =0 des Patterns, oder aber sie
wird proportional prozentual verändert
#CFTDrawStyle-Nr,
Wiederholung
#CLSDrawStyle-Nr, RGB,
Opacity (100),
Breite (1),
Verbindung (0), DashNr (1)
#CLCDrawStyle-Nr, RGB,
Opacity (no change)
#CLDrawStyle-Nr, BreiteDie Dicke der Linie verändern
Die Wiederholung =1 spiegeln; =0 wiederholen gibt an wie die
einzelnen Patterns aneinander gereiht werden.
Eine Außen-Linie definieren: Farbe (RGB) und Deckkraft (Opacity in
Prozent), Linien-Breite in Pixeln. Der Parameter Verbindung
bestimmt die Art des Linienendes bzw, Verbindung: =0 Hartes Ende;
=1 Abgerundet. Um eine gestrichelte Linie zu erhalten muss ein
=3 PingPong; =4 PingPong Rückwärts. Die Zeit in 1/100 s gibt die
Zeitdauer an.
Linien-Muster erstellen: Set ist die Länge in Pixeln des Strichs, Space
die Länge ohne Pixel. Der Offset bestimmt in Prozent den Start des
Musters.
Der Offset (Dashphase) werden verändert. Typ =1 Zyklisch; =2 Zyklisch
Rückwärts; =3 PingPong; =4 PingPong Rückwärts. Die Zeit in 1/100 s
gibt die Zeitdauer an.
Technische Änderungen vorbehalten. Wir übernehmen keine Haftung für Druckfehler und
Applikationsbeispiele
97 / 172
EA uniTFT050-A
Makros
Einzelne oder mehrere Befehlsfolgen können als sogenannte Makros zusammengefasst und auf der Mikro SD-Karte
fest abgespeichert werden. Diese können dann mit den Befehlen gestartet werden.
Makros ausführen
Makro ausführen #
Makro bedingt
ausführen
Makro verzögert
ausführen
I/O-Portmakro
manuell
ausführen
I/O-Bitmakro
manuell
ausführen
Analogmakro
manuell
ausführen
Touchmakro
manuell
ausführen
'makroname'Das Makro 'makroname' wird ausgeführt
M
R
N
#
(Bedingung),
M
'makroname(TRUE)';
R
'makroname(FALSE)' ('
C
')
#
Delay-Nr, time,
M
'makroname'
R
D
#
PortManuell ein Portmakro (Port 0...15) ausführen
M
R
P
#
Portpin, FlankeManuell ein Bitmakro (Portpin 0...127) ausführen. Flanke =0 fallend;
M
R
B
#
Kanal, TypAnalogmakro des Kanal (0...3) ausführen. Typ:
M
R
A
#
Obj-ID, Typ, PointNr
M
(0)
RT
Wenn die Bedinung wahr ist wird das erste Makro ausgeführt,
ansonsten das zweite.
Makro wird verzögert ausgeführt. Es können gleichzeitig bis zu 10
Makro verzögert gestartet werden (Delay-Nr 1...10). Die Zeit (time)