Im Unterverzeichnis "programs" des Programmiertools finden Sie einige Beispielprogramme, die Sie für Ihre Anwendung modifizieren und ins Terminal laden können.
Weil mittlerweile verschiedenste Firmware-Versionen und -Varianten in Umlauf sind, sollten Sie -falls Sie das Demo als Basis für eigene Programme nutzen wollen- dieses mindestens einmal per CAN-Bus ins Terminal laden, wieder auslesen, und wieder als Datei speichern. Bei diesem Vorgang ermittelt das Programmiertool nämlich die Eigenschaften des angeschlossenen Terminals und passt gegebenenfalls die Anzahl verfügbarer Anzeigeseiten, Zeilen pro Seite, Zeichen pro Zeile, Anzahl Textstrings automatisch an. Die Eigenschaften der aktuellsten Firmware-Varianten (nicht "Versionen"!) sind in der feature matrix der Familie programmierbarer Terminals beschrieben.
Siehe auch: Online-Hilfe-System des Programmiertools
Laden Sie bitte das Programm demo1.cvt
im Unterverzeichnis
'programs' des Programmiertools. Dieses einfache Beispielprogramm enthält
einige Seiten, die Sie in ähnlicher Form in Ihrer Anwendung einsetzen
können. Für einen schnellen Einstieg in die Programmierung des
MKT-View-Terminals können Sie das Programm unter anderem Namen abspeichern
und daran die nötigsten Änderungen vornehmen, die im Kapitel
"Anpassen des Demos für andere Anwendungen"
beschrieben werden.
Doch zunächst eine Übersicht der in
demo1.cvt
enthaltenen Anzeigeseiten, mit
Funktionsbeschreibungen und Tips wie solche Seiten mit dem Programmiertool
selbst erstellt werden können.
Nach dem Einschalten des Terminals sollte der Anwender ("Bediener") darüber
informiert werden, welche Anwendung in das Terminal geladen wurde. Bei dieser
Gelegenheit kann auch ein kleines Firmenlogo angezeigt werden. Dies erfolgt
normalerweise auf Seite 0 (Null), denn Seite Null wird nach der Initialisierung
automatisch aufgerufen. Wenn nötig, kann von Seite 0 dann
-programmgesteuert- auf eine andere Seite umgeschaltet werden. Seite 0 in
demo1.cvt
sah ursprünglich so aus:
(screenshot demo1: "logo page")
Im Gegensatz zu den meisten anderen Bildschirmseite wird diese "Startseite" meistens durch einen programmierbaren Timer nach einigen Sekunden automatisch verlassen und z.B. zum Hauptmenü oder der zuletzt aktiven Seite umgeschaltet. Wenn die timer-gesteuerte Umschaltung beim Bearbeiten der Seite stört, stoppen Sie den Simulator (zweite Schaltfläche in der linken unteren Ecke des Programmiertools, dort sollte gestoppt stehen).
Auf der Startseite wird der Programmname angezeigt,
hier "demo1". Der Name wird mit der Interpreterfunktion
appl.name
abgefragt,
er ersetzt die Platzhalter "********" in der Definition der Anzeigezeile.
Tip: Falls Sie die Terminal-Programme auf einem DOS-formatierten
Datenträger speichern wollen (z.B. Flash-ATA-Karte), sollte der Dateiname
maximal 8 Buchstaben enthalten, oder zumindest anhand der ersten 6(!) Buchstaben
eindeutig erkennbar sein. Dann reichen auch 8 Platzhalter-Zeichen auf der
Startseite zur Anzeige des Programmnamens.
Um das Logo (hier: MKT-Katze) auszutauschen, importieren Sie ein kleines Bild als monochrome Bitmap-Datei wie im Handbuch beschrieben. Entfernen Sie dabei ggf. das alte Logo um Speicherplatz zu sparen. Anschließend klicken Sie im Simulator auf das Bild. Unter Eigenschaften einer Anzeigezeile wird dann die Registerkarte Symbol (alias "Icon") angezeigt, in der Sie unter Icon-Name das eben importierte Bild auswählen.
Als nächstes soll z.B. die Zeile mit dem Text "(hier das eigene Logo einsetzen)" entfernt werden. Klicken Sie dazu im Simulatorfenster auf diese Zeile, so daß diese mit einem gestrichelten Rahmen markiert wird(*). Nun können Sie die markierte Definitionszeile mit dem entsprechenden Button im Editor löschen.
Am unteren Rand der Logo-Seite befindet sich ein Balkendiagramm, welches die Funktion einer Fortschrittanzeige imitiert. Angezeigt wird hier der aktuelle Timer-Wert, der auch für die automatische Seitenumschaltung verwendet wird.
Zum Abkürzen der timergesteuerten Zwangspause auf der Logo-Seite dient der rechts oben eingeblendete Button, der entfernt an das bekannte "Schließen"-Symbol erinnern soll. Diese Schaltfläche (Button) ist mit der Taste (Hotkey) F1 verbunden. Drückt der Bediener auf diese Taste, wird die der Schaltfläche zugeordnete Reaktion "g(pn+1)" ausgeführt (hier: "gehe zur Nummer der aktuellen Seite plus eins"). Die Eigenschaften dieser Schaltfläche sehen Sie auf der Registerkarte Seite #0, Anzeigezeilen-Definitionen :
(Screenshot "Schaltflächen-Definition")
Nur für Fortgeschrittene: Spezialitäten auf der
Logo
-Seite:
pe
"=page enter, Reaktion "ts0(40)"=starte Timer0 für 40*0.1
Sekunden). Beim Ablauf von Timer 0 ("t0
") wird zur nächsten
Seite umgeschaltet ("g(pn+1)
" )
nv[0]
"=non-volatile value)
abgelegt. Beim nächsten Einschalten wird dann bei der Initialisierung
abgefragt, ob in dieser Zelle eine gültige Seitennummer gespeichert
ist; wenn ja, wird kurz vor Ablauf von Timer 0 zur in nv[0]
abgelegten Seite umgeschaltet. Dazu dient die Reaktion
"g(nv[0])
" in der Event-Abfrage "(tv0<5) &&
(nv[0]>0)
", d.h. "wenn der Timer-Wert kleiner als 5 ist, UND der
Inhalt von nv[0]
größer als Null ist, dann springe
zur in nv[0]
gespeicherten Seite.nv[0]
ablegt (Event: "pe && (pn>0)", Reaktion: "@nv[0]=pn : nvs" d.h.
Zuweisung von pn (=Nummer der aktuellen Seite) auf nv[0] und dauerhaftes
Abspeichern. Weitere Informationen siehe
Beschreibung des nichtflüchtigen
Arrays im Hilfesystem.
Zum Umschalten zwischen Anzeigeseiten gibt es extrem unterschiedliche 'Bedienphilosophien'. Eine davon ist die Verwendung eines Hauptmenüs, in dem der Bediener per Drehknopf die gewünschte Seite anwählen kann. Die obere Zeile enthält hier den Menütitel mit Nummer der aktuellen Seite, es steht Ihnen aber frei hier beliebige andere Informationen unterzubringen.
(screenshot demo1: "main menu")
Alle Anzeigezeilen, die als Menü-Items dienen, müssen im Display-Zeilen-Editor als solche gekennzeichnet werden, z.B.:
(screenshot menu line definition)
Um einzustellen, was das Programm bei Anwahl einer Menüzeile tun soll,
dient das Feld Menu Event
(Menü-Ereignis). Im abgebildeten Beispiel steht dort
g"Numeric3"
, d.h. "gehe zur Seite namens Numeric3". Sie können
einfache Interpreterkommandos wie diesen Sprungbefehl direkt eingeben oder
vom Programmiertool erstellen lassen. Klicken Sie dazu zweimal in das Editierfeld
- es öffnet sich ein Dialogfenster zum Erstellen von
Event-Definitionen. Detailierte
Informationen stehen im Handbuch.
Sie können einer Menüzeile auch einen Hotkey zuweisen. Um eine Liste der dazu einsetzbaren Tasten anzuzeigen, klicken Sie zweimal in das Editierfeld Hotkey. Beim MKT-View mit nur drei Funktionstasten sollten Sie damit sparsam umgehen; das Demo-Menü enthält keine Hotkeys (Anzeige Hotkey #0 bedeutet "kein Hotkey zugewiesen). Der Anwender muss diese Menüzeile also per Drehknopf (bzw. Cursor Up/Down) anwählen und den Knopf dann drücken (=ENTER-Taste).
Wenn die Anzeigeseite -wie hier- bereits ein fertiges Menü enthält, können Sie die Menü-Sprünge ("Links") noch einfacher kontrollieren bzw ersetzen: Wählen Sie dazu im Hauptmenü des Programmiertools die Funktion Assistent...Prüfen und Bearbeiten der Menü-Links.
In vielen Fällen soll das Terminal numerische Werte anzeigen. Dies erfolgt im Demoprogramm auf einer vierzeiligen Anzeigeseite; Sie können -mit kleineren Zeichen- allerdings erheblich mehr Zeilen pro Seite anzeigen, was dann auf Kosten der Ablesbarkeit geht.
(screenshot "numeric page")
Hinweis: Auf dieser Seite wurde bereits eine der vier Anzeigezeilen mit einer Variablen ("X") verbunden. In der Datei "demo1.cvt" sind noch keine Variablen (bzw CAN-Signal) definiert, um das Demo so allgemein wie möglich zu halten. Die Zeichenkette "<SelectMe>" dient als Platzhalter für Variablen, den Sie noch auswählen müssen.
Als Platzhalter für die Ziffern dient das Sternchen in der Zeilendefinition, z.B. ******.**. Als Platzhalter für die Anzeige des Variablennamens dient die Backslash-Sequenz "\nnnnnnnnnnn" (n=name) im Format-String, zur Anzeige der physikalischen Einheit "\uuu" (u=unit). Ein kompletter Format-String für eine numerische Anzeige mit Namen und der Einheit sieht im Display-Zeilen-Editor dann so aus:
Statt "\nnnnnnnnnnn" kann natürlich auch ein fester Text eingegeben werden, z.B. "Innentemperatur". Dies setzt zwar die "Wiederverwendbarkeit" eines Programms herab, ist aber in vielen Fällen informativer als z.B. die Anzeige eines Variablennamens wie "sensor_5_value_0815".
Beachten Sie die Basis: Bei editierbaren Anzeigefeldern für Dezimalzahlen muß die Basis auf "10" (=dezimal) gesetzt werden. Basis 0 (=default) wird auch dezimal angezeigt, erlaubt aber beim Editieren nicht den Sprung auf die Zehner- und Hunderter-Stelle etc. Bei skalierten CAN-Signalen liegen fast immer Fliesskommazahlen vor, bei denen die Anzeige als Binär- oder Hexadezimalzahl sinnlos ist.
Um eine numerische Anzeigeseite mit Leben zu füllen, laden Sie -wie im Handbuch ausführlich beschrieben- eine CANdb-Datei und wählen die benötigten Signale aus. Nach dem Import einer CANdb-Datei können Sie die Zuordnung von Variablen und Anzeigezeilen neu definieren. Klicken Sie dazu auf der Registerkarte Anzeigezeilen-Definition auf den Button Mehr..
(Screenshot "Schaltflächen auf Registerkarte
Anzeigezeilen-Definitionen")
Im nun erscheinenden Popup-Menü wählen Sie den Eintrag Variablen- / Signal-Zuordnungen prüfen und ändern.
(Screenshot von Popup "Displayzeilen")
Im dann angezeigten Dialogfenster mit dem Titel "Variablen oder Signale für Seite XYZ auswählen" können Sie bereits vorhandene Variablen für die Anzeige auswählen, oder aus CAN-Signalen neue Variablen erstellen die dann angezeigt werden können. Diese Funktion werden Sie noch häufig einsetzen, wenn Sie fertige Programme für andere Anwendungen modifizieren ! Weitere Infos zum Variablen/Signal-Auswahl-Dialog finden Sie hier.
Außer der rein numerischen Anzeige verfügt das Terminal über weitere Darstellungsmöglichkeiten, z.B. das im Demo verwendete Balkendiagramm (Bargraph):
(screenshot "Kombinierte Anzeige mit Bargraphen")
Zum Einfügen eines graphischen Anzeige-Elements klicken Sie mit der rechten Maustaste in das Simulatorfenster (an der Position, an der das Anzeigeelement platziert werden soll!). Es öffnet sich ein Popup-Menü in dem Sie den Typ auswählen können:
(menu "graphic display elements")
Die komplizierteren Anzeige-Elemente wie Balken- und Y(t)-Diagramme werden mit eigenen Dialogen eingestellt, die jeweils im Handbuch beschrieben werden. Klicken Sie in den Einstelldialogen auf den - Button wenn Sie weitere Informationen benötigen.
Anpassen des "Demos" für eigene Anwendungen
Mit den folgenden Schritten können Sie dieses Demo für Ihre eigenen Anwendung anpassen:
Demoprogramm laden und unter einem neuen Namen wieder abspeichern:
"Datei"..."Lade Programm" ... "Programm speichern als"
Wenn vorhanden, die alten CAN-Signal-Definitionen entfernen :
Im Register "CAN-Daten" auf "Menü" klicken, dann "Lösche die
ganze Tabelle".
Wenn vorhanden, alle Variablen die mit CAN-Signalen verknüpft waren,
entfernen :
Im Register "Variablen" auf "Menü" klicken, dann "Lösche alle Variablen
die mit CAN-Signalen verknüpft sind".
Neue CAN-Datenbank(en) einlesen, dabei eventuell schon Variablen für die
anzuzeigenden Signale erstellen
(dies ist auch später noch möglich, siehe nächster Punkt)..
Die anzuzeigenden Variablen bzw. Signale neu zuordnen: per Assistenten mit
"Alle Seiten prüfen und korrigieren",
oder (alternativ, ohne Assistenten):
"VARIABLEN / SIGNALE auf einer
Anzeigeseite neu zuordnen".
Feste Anzeigetexte, die nicht zu den neuen Variablen passen, müssen
manuell geändert werden.
Datei: ..\uptwin1\help\cvt_demo\demo1_49.htm
Stand: 2003-12-10 (ISO8601, YYYY-MM-DD)
Autor: Wolfgang Büscher (MKT Systemtechnik)