Commit 29e33254 authored by Claes Sjofors's avatar Claes Sjofors

Ge designer's guide updated

parent ffdc080e
This source diff could not be displayed because it is too large. You can view the blob instead.
src/doc/man/src/geg_fig1.png

11.8 KB | W: | H:

src/doc/man/src/geg_fig1.png

4.64 KB | W: | H:

src/doc/man/src/geg_fig1.png
src/doc/man/src/geg_fig1.png
src/doc/man/src/geg_fig1.png
src/doc/man/src/geg_fig1.png
  • 2-up
  • Swipe
  • Onion skin
src/doc/man/src/geref_fig18.png

83.3 KB | W: | H:

src/doc/man/src/geref_fig18.png

111 KB | W: | H:

src/doc/man/src/geref_fig18.png
src/doc/man/src/geref_fig18.png
src/doc/man/src/geref_fig18.png
src/doc/man/src/geref_fig18.png
  • 2-up
  • Swipe
  • Onion skin
<topic> __DocumentTitlePage
<image> pwr_logga.gif
<h1> Ge
<h1> Designer's Guide
<hr>
Version 4.8.3
<hr>
</topic>
<topic> __DocumentInfoPage
Copyright (C) 2006-2011 SSAB Oxelsund AB
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts.
</topic>
<chapter>
<option> printdisable
<topic>index
Guide to Process Graphics
Basobjekt <link>geg_baseobjects
Editering <link>geg_editing
Subgrafer <link>geg_subgraphs
Speciella objekt <link>geg_specialobjects
Dynamik och action <link>geg_dynamics
Skapa en subgraph <link>geg_createsubgraph
Konfigurera <link>geg_configure
Riktlinjer <link>geg_guidelines
</topic>
<option> printenable
<topic>geg_baseobjects
Basobjekt
Vi ska brja med att titta p enkla objekt som linjer, rektanglar cirklar och polyliner. Dessa
enkla objekt kallas fr basobjekt. Basobjekten ligger till vnster i vertygpanelens nedersta
rad.
<image>geg_fig1.png
<b>Figur Knappar fr att skapa basobjekt
<option> printdisable
Rektangel <link>geg_baseobject_rectangle
Linje <link>geg_baseobject_line
Cirkel <link>geg_baseobject_arc
Polyline <link>geg_baseobject_polyline
Text <link>geg_baseobject_text
<option> printenable
</topic>
<headerlevel>
<topic>geg_baseobject_rectangle
Rektangel
Man ritar en rektangel genom att aktivera rektangelknappen i verktygspanelen, trycka ner hger
musknapp dr rektangelns ena hrn ska vara, dra med musknappen intryckt till motsatt hrn och
slppa upp musknappen dr. Med default-instllningarna skapas nu en rektangel med en svart
ram.
<image> geg_fig3.png
<b>Fig Rektangel
Vi ska nu se hur man kan ndra utseendet p rektangeln. I verktygspanelen finns knapparna
fr kant, fyllnad och 3D. De fungerar s att om ett objekt r utvalt, ndas egenskapen p det
utvalda objektet. Samtidigt utgr den aktuella instllningen default vrde fr nya objekt som
skapas.
<h2>Objekts-editorn
Genom att dubbelklicka p rektangeln ppnas ett fnster dr man kan stta olika egenskaper p
rektangeln. Ett attribut ndras genom att man vljer ut attributet, trycker p pil vnster
(eller Ctrl+Q) och matar in the nya vrdet.
<image> geg_fig2.png
<b>Fig Objekteditorn
<h2>Fyllnadsfrg
Vi kan fylla rektangeln med frg genom att klicka p Fill knappen i verkygspanelen.
<image> geg_fig4.png
Frgen ndras genom att frst vlja ut rektangeln genom att klicka p den, och sedan klicka
p nskad frg i frg-paletten.
<image> geg_fig5.png
<b>Fig Rektangel med fyllnadsfrg
<h2>Kant
Kanten p rektangeln kan tas bort med Kant knappen i verktygspanelen. Men det krvs att
rektangeln r antingen fylld eller har en 3D ram (se nedan) fr att kanten ska kunna tas bort.
r kanten borttagen kan man addera den med Kant knappen.
<image> geg_fig6.png
<b>Fig Rektangel utan kant
<h2>Kanttjocklek
Tjockleken p kanten kan ndras med Linewidth menyn i verkygspanelen. Vlj ut rektangeln och
stll in nskad linjebredd. Linjebredden rknas i pixel och en bredd mellan 1 och 8 pixel
kan vljas.
<image> geg_fig7.png
<b>Fig Rektangel med bredare kant
<h2>Kantfrg
ven frgen p kanten kan ndras. Vlj ut rektangeln, vlj 'Border' i frg-paletten och klicka
p nskad frg.
<image> geg_fig8.png
<b>Fig ndrad kantfrg
<h2>3D
Med 3D knappen i verktygspanelen ritas kant p rektangeln som ger relief verkan.
<image> geg_fig9.png
<b>Fig Rektangel med 3D
Bredden p relief kanten kan ndras med attributet shadow_width. ppna objekts-editorn genom
att dubbelklicka p rektangeln och stt ett nytt vrde p shadow_width. Enheten p
shadow_width r % av bredden eller hjden (den minsta av dem).
<image> geg_fig10.png
<b>Fig Bredd 3 % till vnster och 15 % till hger
Man kan ven ndra p relief kantens kontrast med shadow_contrast. Genom att ka vrdet till 3
blir skuggan mrkare och den ljusa kanten ljusare. Tilltna vrden r 1-3.
Om reliefen ska g utt eller int pverkas av attributet relief. Up innebr att reliefen
gr utt, dvs den vre kanten frgas ljus och den undre mrk. Vid Down skiftas detta s att
den ver frgas mrk och den under ljus, vilket ger effekt av en intgende relief. Strst
relief effekt fr man om reliefen ritas med samma frg som bakgrunden.
<image> geg_fig11.png
<b>Fig Relief Up till vnster och Down till hger
<h2>Gradient
Med de tre gradient knapparna kan man stta en gradient p rektangeln, dvs en frgfrskjutning
frn ljusare till mrkare frgton.
<image> geg_fig12.png
<b>Fig Rektanglar med olika gradient
I gradient menyn finns ytterligare 17 varianter av gradient att vlja mellan. Nedan visas
Horizonal Tube2 som lmpare sig fr cylindriska freml.
<image> geg_fig13.png
<b>Fig Rektangel med gradient Horizontal Tube2
Kontrasten p gradienten kan pverkas med gradient_contrast attributet i objekts-editorn.
Kontrasten kan ha ett vrde mellan 0 och 10.
<h2>Rita en kvadrat
Fr att rita en kvadrat trycker man Ctrl+E (Scale equal) innan man ritar rektangeln.
terstll Equal scale genom att hgerklicka i arbetsarean.
<h2>Rita flera rektanglar
Om man ska rita flera rektanglar kan man hlla ner Shift-tangenten samtidigt som man klickar
p rektangel-knappen i vertygspanelen. D kan man rita flera rektanglar utan att klicka p
rektangel-knappen fr varje ny rektangel. Funktionen terstlls genom att hgerklicka i
arbetsarean.
</topic>
<topic>geg_baseobject_line
Linje
Man ritar en linje genom att aktivera linje knappen i verktygspanelen, trycka ner hger
musknapp dr linjen ska starta, dra med musknappen intryckt till slutpositionen och dr
slppa upp musknappen.
<image> geg_fig14.png
<b>Fig Linje
<h2>Linjebredd
Linjebredden kan ndras genom att vlja ut linjen och vlja bredden i Linewidth menyn.
<image> geg_fig15.png
<b>Fig Linewidth satt till 8
<h2>Frg
Frgen ndras genom att vlja ut linjen, klicka p Border i frg-paletten och klicka p nskad
frg.
<image> geg_fig16.png
<b>Fig Frgad linje
<h2>Linjetyp
Det finns ett antal olika lijetyper att vlja mellan. Vlj ut linjen och aktivera nskad typ
i Linetype menyn
<image> geg_fig17.png
<b>Fig Olika linjetyper
<h2>Horisontella och vertikala linjer
Fr att rita en horisontell linje trycker man Ctrl+H (Moverestrictions Horizonal) innan man
ritar linjen. En vertikal linje ritas genom att frst trycka Ctrl+G (Moverestrictions
Vertical). Moverestrictions terstlls genom att hgerklicka i arbetsarean.
<h2>Rita flera linjer
Om man ska rita flera linjer kan man hlla ner Shift-tangenten samtidigt som man klickar p
linje-knappen i vertygspanelen. D kan man rita flera linjer utan att klicka p linje-knappen
fr varje ny linje. Funktionen terstlls genom att hgerklicka i arbetsarean.
</topic>
<topic> geg_baseobject_arc
Ellips och cirkel
Rita en ellips genom att vlja ellips-knappen i vertygspanelen, trycka ner vnstra musknappen,
dra med knappen intryckt och slutligen slppa upp knappen.
<image> geg_fig20.png
<b>Fig Ellips
Liksom fr rektangeln kan man stta egenskaper fr kant, fyllnad, kantfrg, fyllnadsfrg,
3D och gradient. Ngra exempel visas nedan.
<image> geg_fig18.png
<b>Fig Cirkel med olika kombinationer av kant, fyllnad, 3D och gradient.
<h2>Cirkelsegment
Man kan ven rita ett cirkel-segment, genom att i objects-editorn ange angle1 och angle2.
angle1 r vilkeln frn den horisontella axeln till segmentets brjan, och angle2 r vilkeln
fr segmentets utbredning.
<h2>Rita flera ellipser
Genom att hlla ner Shift-tangenten samtidigt som man klickar p ellips-knappen i
vertygspanelen kan man rita flera ellipser utan att klicka p ellips-knappen
fr varje ny ellips. Funktionen terstlls genom att hgerklicka i arbetsarean.
<image> geg_fig19.png
<b>Cirkel-segment med angle1=30 and angle2=270
</topic>
<topic> geg_baseobject_polyline
Polylinje och polygon
En polylinje ritas genom att klicka p polyline-knappen in vertygspanelen, trycka ner vnster
musknapp vid startpunkten, hlla musknappen intryckt och dra till nsta brytpunkt, slppa upp
musknappen, trycka ner igen och dra till nsta brytpunkt osv. Nr sista linjen r ritad
hgerklickar man i arbetsarean fr att avsluta polylinjen.
<image> geg_fig21.png
<b>Fig Polylinje
Olika kombinationer av kant, fyllnad, 3D, gradient, linjebredd och frg kan anvdas fr
polylinjer
<image> geg_fig22.png
<b>Fig Ngra kombinationer av fyllnad, 3D och gradient
<h2>3D
Fr att kunna anvnd 3D effekten p polylinjer br polylinjen vara sluten, dvs startpunkten
sammanfaller med slutpunkten. Fr att rita en sluten polylinje anvnder aktiverar man
Snap to grid i verktygspanelen innan man ritar polylinjen.
<h2>ndra en polylinje
Fr att flytta en brytpunkt i en polylinje vljer man ut polylinjen och aktiverar sedan
Edit/Edit Polyline in menyn. Brytpunkterna och ndpunkterna blir nu knsliga man kan flytta
p dem genom att dra med vnstra musknappen.
<h2>Vertikala och horisontella linjer
Ofta vill man enbart ha vertikala och horisontella linjer i polylinjen. Genom att trycka
Ctrl+H (Moverestrictions horizontal) s blir den frsta linjen horisontell. Sedan ndras
riktningen fr varje ny del-linje, s att den andra vertikal, den tredje horisontal osv.
Trycker man Ctrl+G (Moverestrictions vertical) istllet blir den frsta vertikal, den andra
horisontell osv.
</topic>
<topic> geg_baseobject_text
Text
Texter ritas genom att aktivera text-knappen i verktygspanelen, klicka i arbetsarean och mata
in texten i inmatningsfltet lgst ner i editorn.
<image> geg_fig23.png
<b>Fig Text
<h2>Objekt attribut
Genom att dubbelklicka p texten ppnas objekteditorn med objektets attribut. Attributet
Adjustment kan stllas in fr hger-, mitten-, eller vster-justerad text.
<image> geg_fig24.png
<b>Fig Objekteditorn med val av justering
<h2>Text storlek
Man ndrar storlek p texten med Testsize menyn i verktygspanelen. Vlj ut texten och ange
lmplig storlek i menyn. Man kan ven anvnda skalnings funktionen fr att ndra storleken.
<h2>Font
Fonten stlls in med font menyn in verktygspanelen. De fonter som finns a vlja mellan r
Helvetica, Times, New Century Schoolbook, Courier och Lucida Sans. Vlj ut texten och ange
lmplig font i menyn.
<h2>Frg
Text frg vljs genom att markera Text knappen i frg-paletten och sedan klicka p en frg.
<image> geg_fig25.png
<b>Fig Frgad text
<h2>Rotera en text
En text kan roteras i steg om 90 grader genom att anvnda rotations-knappen i vertygspanelen.
Endast texter som r mitt-justerade, dvs har Adjustment satt till Center i objekteditorn,
kan roteras.
<image> geg_fig26.png
<b>Fig Roterad text
<h2>ndra en text
Fr att ndra en text vljer man ut texten och trycker p Ctrl+T (Change Text). Ett
inmatningflt ppnas i editorns nederkant dr man kan ange en ny text.
<h2>Bitmap fonter
Normalt anvnds fonter som r fullt skalbara och antialiserade. I visa lgen kan bitmap-fonter
vara att fredra. De finns bara i vissa storlekar mellan 8 och 24, men krver avsevrt mindre
processorkraft att hantera. Bitmap-fonter vljs genom att stta BitmapFonts i Graph
Attributes till 1.
<h2>Fontinstllning i fnsterhanteraren
Mnga fnsterhanterar har instllningsmjligheter som pverkar fonterna. I Gnome hittar man
instllningar under System/Instllningar/Utseende/Typsnitt. Hr kan man vlja mellan olika
renderingar.
</topic>
</headerlevel>
<topic> geg_editing
Editering
I det hr avsnittet ska vi titta nrmare p olika editerings funktioner, t ex hur man flyttar,
skalar, frgstter object mm.
<h1>Skapa objekt
Hur man skapar basobjekt finns nrmare beskrivet i kapitlet om basobject ovan. Normalt skapar
man ett object genom att klicka p symbolen i verktygspanelen, och klicka eller dra med
MB1 i arbetsarean. Subgrafer skapas genom att vlja en subgraf i subgraf-paletten och klicka
med MB2 i arbetsarean.
<h1>Vlja ut objekt
Man vljer ut ett objekt med Klick MB1. Ett utvalt objekt markaras med rd frg. Om man vill
vlja ut fler objekt kan man klicka p dessa med Shift/Klick MB1.
Fr att vlja ut objekt inom ett visst omrde kan man ven dra med MB1 i arbetsarean. De
objekt som ligger inom utvalsrektangeln kommer att vljas ut. Eftersom man ven flyttar
objekt genom att dra med MB1 gller att att inte f trff p ngot objekt nr man startar
draget. Om det r det svrt att undvika kan man anvnda Shift/Drag MB1 istllet som adderar
objekt till utvalslistan.
Notera att nr man ndrar frg p ett utvalt objekt s frsvinner rdmarkeringen, eftersom
man d visar den nya frgen istllet. Men objektet r fortfarande utvalt trots att det inte
r rdmarkerat.
Genom att klicka med MB3 i arbetsarean tmmer man utvalslistan.
<h2>Ta bort objekt
Fr att ta bort ett objekt vljer man ut det och trycker p Delete knappen. Man kan ven ta
bort ett objekt genom att dubbelklicka med MB2 p objektet, och genom att dubbelclicka med
MB2 ngonstans i arbetsarean tar man bort alla utvalda objekt.
<h2>Flytta p objekt
Man flyttar p ett objekt genom att dra med MB1. Om man vill flytta flera objekt samtidigt,
vljer men ut dem och drar i ett av objekten. Alla utvalda objekt fljer d med. Om man
enbart vill flytta vertikalt eller horisontalt, kan man anvnda
Functions/MoveRestrictions/Vertical (Ctrl+G) eller Functions/MoveRestrictions/Horizontal
(Ctrl+H). Dessa funktioner r verksamma tills man terstller med MB3.
Om man har aktiverat Snap to grid i verktygspanelen, justeras objektets position till nrmsta
gridpunkt vid en frflyttning.
Man kan ven flytta ett objekt med move kommandot. Det ger strre precision n om man flyttar
med musen. Man kan flytta genom att ange relativa eller absoluta koordinater. Kombinationer
av relativa och absoluta r ocks tilltet. Kommandot fr att flytta det utvalda objektet
till punkten (1, 1) r
<c>ge> move selected /absx=1 /absy=1
<h2>Objekt med fix position
Objekt som ligger i bakgrunden r det ltt att flytta p av misstag nr man editerar. Fr
vissa objekt, rektanglar, ellipser och polylinjer, kan man stta attributet 'fixposition' som
lser objektet vid en viss position.
<h2>Kopiera objekt
Man kopierar objekt genom att vlja ut dem, och aktivera Edit/Copy (Ctrl+C) och Edit/Paste
(Ctrl+V) i menyn. Efter paste blir de nya objekten hngande p markren och genom att klicka
med MB1 fster man dem i arbetsarean. Vid kopiering kan man liksom vid frflyttning, vlja
vertikal (Ctrl+G) eller horisontal (Ctrl+H) frflytting.
<h2>Skala ett objekt
Man skalar objekt home att vlja ut dem, klicka p Scale knappen i vertygspanelen, och sedan
dra i den fyrkant som ritas runt objekten. Avsluta med klick MB3. Om man vill att
proportionerna mellan bredd och hjd ska behllas, trycker man frst Ctrl+E (Scal Equal).
Det finns ven en knapp fr att dubblera storleken p objekten, och en fr att halvera
storleken.
<h2>Rotera ett objekt
Man kan rotera ett objekt med rotations-knappen i vertygspanelen. Den roterar utvalda objekt
i steg om 90 grader.
Om man vill ha en annan rotationsvinkel aktiverar man Edit/Rotate i menyn. Observera att
rektanglar och ellipser endast kan roteras i steg om 90 grader, och fr att texter ska
kunna roteras mste attributet Adjustment fr texten vara satt till Center.
<h2>Spegling
Det finns tv knappar i verktygspanelen fr att spegla. En fr horisonell spegling och en for
vertikal spegling. Speglingen utfrs p utvalda objekt.
<image> geg_fig27.png
<b>Fig Horisontell spegling
<image> geg_fig28.png
<b>Fig Vertikal spegling
<h2>ndra frg p ett objekt
Det finns tre olika typer av frger man kan vlja i frgpaletten, fyllnadsfrg, kantfrg och
textfrg. I paletten finns knapparna Fill, Border och Text dr man markerar vilken frgtyp
som ska vljas. Nr man sedan vljer en frg i paletten ndras frgen p utvalda objekt.
Den valda frgkombinationen stts ven p nya objekt som skapas.
<b>Fyllnadsfrg
Fr att stta fyllnadsfrg p ett objekt, vljer man ut objektet, kontrollerar att Fill r
markerat i paletten, annars klickar man p Fill. Drefter vljer man den frg man vill stta
p objektet. I exemplet nedan ndras fyllnadsfrgen frn bltt till grnt.
<image> geg_fig30.png
<b>Fig Fill r markerat och en grn nyans har valts
<image> geg_fig29.png
<b>Fig Fyllnadsfrg ndras frn bltt till grnt
<b>Kantfrg
Kantfrgen kan ndras p liknande stt. Hr vljer man frst Border i frgpaletten, drefter
vljer man en kantfrg som stts p utvalt objekt.
<image> geg_fig32.png
<b>Fig Border r markerat och en blgrn nyans har valts fr kantfrgen
<image> geg_fig31.png
<b>Fig Kantfrg ndras frn svart till blgrnt
<b>Textfrg
Fr att ndra text-frgen vljer man Text i frgpaletten, drefter vljer man en textfrg som
stts p utvalt objekt.
<image> geg_fig34.png
<b>Fig Text r markerat och en grn nyans har valts fr textfrgen
<image> geg_fig33.png
<b>Fig Textfrg ndras frn svart till grnt
<h2>Bakgrundsfrg
Man stter bakgrundsfrgen i bilden genom att vlja en fyllnadsfrg i frg-paletten och
aktivera Function/Set Background Color i menyn.
<h2>Grid
Det tv knapparna Show grid och Snap to grid, tillsammans med Gridsize menyn hanterar
grid-funktionen. Show grid visar alla gridpunkter, och med Gridsize menyn kan man stlla
in avstndet mellan gridpunkterna. Nr Snap to grid r aktiverat, justeras koordinater fr
objekt som skapas och flyttas till nmaste grid-punkt.
Grid-storleken kan sttas till 1.0, 0.5, 0.25 eller 0.10 i Gridsize menyn. Med 'set gridsize'
kommandot kan man ven stta andra vrden p grid-storleken. Fr att stta grid-storleken till
0.20 r kommandot
<c>ge> set gridsize 0.20
<h2>Ordna objekt
Det finns ett antal knappar i verktygspanelen fr att justera positionen fr en serie av
objekt s att de hamnar p samma horisontella eller vertikala niv.
Man kan justera lget s att objekten lggs p lika avstnd frn varandra.
<h2>Grupper
Man skapar en grupp av en antal objekt genom att vlja ut objekten och trycka p Group
knappen i verktygspanelen. Gruppen behandlas sedan som om det vore ett enskilt objekt, t ex
nr man vljer ut den, flyttar p den eller skalar den. Vill man ndra p ett del-objekt
i en grupp mste man frst lsa upp gruppen med Ungroup knappen, sedan kan man gra ndringen
och gruppera igen.
Grupper har egenskaperna dynamik och aktion, dvs man kan koppla dem till signaler i databasen
och t ex ndra frg p gruppen beroende p signalens status. Man kan ven gra dem
klick-knsliga och stta signaler nr man klickar p dem. Det hr r egenskaper som man delar
med subgrafer, men som basobjekten saknar. Vill man stta dynamik p ett basobjekt, t ex en
rektangel r det dock bara att skapa en grupp med enbart rektangeln, och man har mjlig att
stta dynamik och aktion p den. P det hr sttet man man gra en indikator, trycknapp eller
stapeldiagram av rektangeln.
<image> geg_fig35.png
<b>Fig Objekteditorn fr grupp med attribut fr dynamik och aktion
</topic>
<topic> geg_subgraphs
Subgrafer
Subgraf r en grafisk komponent som r uppbyggd av bas-objekt. Ofta symboliserar den ett visst
element i anlggningen, t ex en ventil eller pump, men den kan ocks vara en trycknapp eller
inmatningsflt.
<h2>Skapa en subgraf
Till hger i editor finns subgrafs-paletten, och man lgger in en subgraf genom att vlja
en subgraf i paletten och klicka med MB2 i arbetsarean. I figuren nedan har vi valt en Ventil
under mappen Process.
<image> geg_fig36.png
<b>Fig En subgraf i form av en ventil
De flesta subgrafer kan man stta 3D och olika typer av gradienter p ventilen. Det finns
dock en del subgrafer som inte r anpassade fr detta.
<image> geg_fig38.png
<b>Fig Ventil med 3D till vnster, och 3D + gradient till hger
<h2>ndra frg
Ventilen i figuren r en monokrom subgraf och dessa kan man ndra frg p genom att vlja en
fyllnadsfrg i frgpaletten, p samma stt som fr bas-objekt. Man kan ven ndra p kant
frgen och kantbredden.
<image> geg_fig37.png
<b>Fig Blfrgad ventil
<h2>Polykroma subgrafer
Fr subgrafer som innehller olika frger ndrar man frgen med funktionen fr att skifta
frg eller frgtons paletten. Lt oss skapa en brnnare (Process/Burner) som innehller
frgerna gult och orange.
<image> geg_fig40.png
<b>Fig Polykrom subgraf
Om vi stter en fyllnadsfrg tappar vi frgteckningen och brnnaren blir enfrgad. I stllet
anvnder vi knapparna fr att skifta frg i verkygspanelen (hgra knapparna i figuren nedan).
Vlj ut subgrafen och klicka p pilarna fr att skifta frgen.
<image> geg_fig44.png
<b>Fig Knappar fr att skifta frg
Nu roteras frgerna p frgcirkeln s att vi fortfarande har tv olika frger is subgrafen,
och vi behller den frgkontrast som fanns frn brjan. Man kan ven anvnda knapparna fr
att ndra intensitet och ljushet som ligger till vnster om frgskiftknapparna.
<image> geg_fig41.png
<b>Fig Exempel p brnnare med skiftade frger
Man kan ven anvnda frgtons-paletten (nedre delen av frgpaletten i figuren nedan). Vlj
ut subgrafen och klicka p en frgton i paletten.
<image> geg_fig43.png
<b>Fig Frgtons-paletten
Resultatet blir nu att de olika delarna har samma frgton, men ljuskontrasten mellan olika
delar behlls.
<image> geg_fig42.png
<b>Fig Brnnare med olika frgton applicerad
<h2>Kopplingspunkter
Vissa subgrafer innehller kopplingspunkter som gr att man dra kopplingar mellan subgraferna.
Man skapar en koppling genom att dra med MB2 frn en kopplingspunkt i en subgraf, och slppa
upp MB2 vid en kopplingspunkt i en annan subgraf. P kopplingarna kan man stta linjebredd,
frg och 3D. Slpper man en koppling i arbetsarean, skapas en knutpunkt med kopplingspunkter
i olika riktningar, som man kan dra vidare till andra subgrafer.
<image> geg_fig39.png
<b>Fig Subgrafer med kopplingar
<h2>Dynamik och aktion
Liksom grupper har subgrafer egenskaperna dynamik och aktion, vilket gr att man kan koppla
dem till signaler i databasen och ndra frg och form beroende p signalens status, eller
gra dem klick-knsliga och stta signaler nr man klickar p dem. Dessutom har subgrafer
ofta en frprogrammerad dynamik eller aktion. En indikator har t ex dynamiken att ndra frg
som default s man behver bara koppla en signal till den fr att den ska fungera.
Lt oss skapa en indikator och se hur vi kan f den att ndra frg. Vi makerar en indikator
Indicator/IndRoundMetalFrame i subgrafs paletten och klickar med MB2 i arbetsarean fr att skapa indikatorn. Fr att koppla den till en signal i databasen klicka vi p navigator knappen i
verktygspanelen. Nu visas plant hierarkin dr subgrafspaletten tidigare fanns. Vi vill att
indikatorn ska visa status p Dv'n H1-Dv3 och letar upp den i planthierarkin. Genom att
vlja ut H1-Dv3 och klicka med Ctrl+Dubbelklick MB1 p indikatorn har vi gjort kopplingen.
<image> geg_fig45.png
<b>Fig En signal kopplas till indikatorn med Ctrl+Dubbelklick MB1
Genom att ppna objekteditorn fr indikatorn kan vi kontrollera att kopplingen r gjord.
<image> geg_fig47.png
<b>Fig Objekteditorn fr indikatorn
Vi kan se att indikatorn har default dynamiken DigLowColor, som vxlar mellan tv frger,
och DigLowColor.Attribute r satt till H1-Dv3.ActualValue.
Nr vi ppnar grafen i rt_xtt kan vi se hur indikatorn vxlar grnt och mrkgrtt nr Dv3
vxlar mellan 1 och 0.
<image> geg_fig46.png
<b>Fig Indikatorn nr dv'n r 1 till vnster och 0 till hger
Om vi tittar p ventilen ovan, s har den lite mer avancerad dynamik. Den kan vxla mellan
tre olika frger och mste drfr kopplas till tv signaler. En signal frgar ventilen rd
fr att markera ett fel, och den andra frgar den vit fr att markera stngd ventil.
Om vi ppnar objekteditorn fr ventilen ser vi att DigError.Attribute ska kopplas till en
signal som indikerar fel, och DigLowColor.Attribut till en signal som markerar att ventilen
r ppen.
<image> geg_fig48.png
<b>Fig Ventil som kopplas till tv signaler
I det hr fallet gr vi kopplingen i objekteditorn, och markerar H1-Dv4 i plant hierarkin.
Genom att klicka med Ctrl+Dubbelclick MB1 p attributet DigError.Attribute lggs H1-Dv1 in
hr. P samma stt klickar vi in H1-Dv5 p DigLowColor.Attribute. Resultatet ser vi i figuren
nedan. Nr Dv4 r 0, dvs ventilen stng, frgas den vit. Nr Dv4 gr hg, dvs ventilen ppnas,
frgas den grn. Om vi stter felsignalen Dv4 frgas den rd oberoende av vrdet p Dv5. Det
beror p att DigError har hgre prioritet n DigLowColor. I objekts-editorn r dynamiken
ordnad efter prioritet s att hgst prioritet ligger verst och lgst prioritet underst.
<image> geg_fig49.png
<b>Fig Stngd ventil till vnster, ppen ventil i mitten och felsignal till hger
Om vi vill markera stngd ventil med mrkgrtt istller fr vitt, ndrar man p
DigLowColor.LowColor. Defaultvrdet r Inherit vilket gr att den vljer vitt som r
frprogrammerat. Genom att istllet vlja GrayHigh9 kommer frgen nr signalen r lg att
bli mrkgrtt istllet. Har man svrt att identifiera frgerna kan man vlja ut nskad
frg som fyllnadsfrg i frg-paletten, och klicka med Ctrl+Dubbelclick MB1 p
DigLowColor.LowColor attributet i objekts-editorn. Den valda frgen kommer d att lggas in
p DigLowColor.LowColor.
<image> geg_fig51.png
<b>Fig LowColor ndrad frn Inherit till mrkgr
<image> geg_fig50.png
<b>Fig Stngd ventil till vnster, ppen ventil i mitten och felsignal till hger
</topic>
<topic> geg_specialobjects
Speciella objekt
Frutom bas-objekt och subgrafer finns det en uppsttning lite mer komplexa objekt. Dessa
objekt terfinns i subgraf-paletten. Objekten r
Window <link>geg_specialobjects_window
TabbedWindow <link>geg_specialobjects_tabbedwindow
Slider <link>geg_specialobjects_slider
Trend <link>geg_specialobjects_trend
Bar <link>geg_specialobjects_bar
XYCurve <link>geg_specialobjects_xycurve
FastCurve <link>geg_specialobjects_fastcurve
Axis <link>geg_specialobjects_axis
Table <link>geg_specialobjects_table
PulldownMenu <link>geg_specialobjects_pulldownmenu
OptionMenu <link>geg_specialobjects_optionmenu
</topic>
<topic> geg_specialobjects_window
Window
Window-objektet r en ram som visar graf inom ett specifierat omrde i en anna graf. Grafen
kan visas med eller utan skroll-lister. Det r ocks mjligt att skifta den graf som visas
i window-objektet genom att exekvera ett kommando frn en trycknapp. Man kan ven visa
objektsbilder fr olika objekt i databasen.
Hr r ngra anvndningsomrden fr window-objektet
- man har tabell liknande del av grafen som tar fr stor plats. Denna del kan lggas
i ett window objekt och genom att utnyttja window-objektets skroll-list vinner man plats.
- man vill visa information om ett databas-objekt som redan har en objektsbild.
- man kan bygga upp en graf med ett window objekt som visar olika grafer beroende p
en uppsttning trycknappar eller menyalternativ. Jmfr ven TabbedWindow.
<h2> Visa en graf i ett window-objekt
Window-objektet terfinns under Other mappen in subgraf-paletten. Skapa objektet genom att
mittenklicka i arbetsarean och skala objektet till nskad storlek.
<image> geg_fig52.png
<b>Fig Window-objekt
ppna objekteditorn och ange namnet p grafen som ska visas i Window.Filename. Observera att
grafen lses in frn $pwrp_exe, och eftersom grafer in window-objekt ofta inte har ngot
eget XttGraph objekt, kommer de inte att kopieras automatiskt frn $pwrp_pop till $pwrp_exe.
Kopieringen mste gras fr hand eller med en make-fil.
<image> geg_fig54.png
<b>Fig Objekteditorn fr window-objektet angivet filnamn
Nr filnament har lagts in och filen finns p $pwrp_exe kommer grafen att visas i
windowobjektet.
<image> geg_fig53.png
<b>Fig Window-objekt med inlagt filnamn
<h2>Visa en objektsbild i ett window-objekt
Mnga databas-objekt har en objektsbild som ppnas frn 'Object Graph' i popupmenyn fr
objektet. ven objektsbilder kan visas window-objekt, genom att specificera namnet p
graf-filen, dessutom mste databas-objektet som bilden ska vara kopplad till anges
i Window.Object.
Om klassen fr objektet ingr i Proview's bassystem, r filnamnet fr objektsbilden
$pwr_exe/pwr_c_'klassnamn'.pwg. Fr ett Av-objekt blir det $pwr_exe/pwr_c_av.pwg. Man mste
hr ange ven katalogen i filenamnet eftersom filen inte ligger p default katalogen
$pwrp_exe.
Om klassen terfinns i en klassvolym inom projektet, r filnamnet $pwrp_exe/'klassnamn'.pwg.
Hr behver man inte ange katalogen i filnamnet.
I exemplet nedan visas objeksbilden fr av-objektet H1-Av1. Bilden r nedskalad till 3/4
storleken genom att Window.Scale r satt till 0.75.
<image> geg_fig55.png
<b>Fig Attribut fr window-objekt som visar objektsbild
<image> geg_fig56.png
<b>Fig Objektsbild fr en Av i window-objektet
<h2>Vxla mellan olika grafer
Det finns ett xtt kommando som visar upp en viss graf i ett window-objekt. Genom att lgga
in kommandot p en serie trycknappar kan man vxla mellan olika grafer i ett window-objekt.
Funktionen motsvarar ett TabbedWindow med den skillnaden att man har en friare layout p
trycknapparna och att det inte finns ngon begrnsning i antalet grafer som kan visas upp.
Kommandot som anvnds r
<c>set subwindow 'grafnamn' /name= /source= [/object=]
dr grafnamn r namnet p det graf dr window-objektet ligger. I /name specificeras namnet
p window-objektet, och i /source anges filnamnet p den graf som ska visas. /objekt anvnds
nr det r en objektsbild som ska visas, och specificerar database-objektet som bilden ska
kopplas till.
I fljande exempel visas objektsbilden fr ett antal Dv i ett window-objekt. I window-objektet
kan man lgga in en startbild, som konfigureras p normalt stt, men man kan ven lta
window-objektet vara tomt tills man har valt en graf frn ngon av knapparna. I det fallet
br man lgga in "_no_" i Window.FileName fr att undvika felutskrift.
Grafen som innehller window-objektet sparas som 'dvdisplay' och innehller frutom
window-objektet 6 trycknappar av typen CommandButtonCenter. Window-objektet namnges till
DvWindow genom att aktivera Edit/Change Name i menyn. Objektbilden fr en trycknapp visar
kommandot. Notera att filnamnet mste omgrdas av citations-tecken eftersom det innehller
ett slash tecken.
<image> geg_fig58.png
<b>Fig Kommandot 'set subwind' i en trycknapp
Den slutgiltiga grafen ser ut s hr med Dv4 vald.
<image> geg_fig57.png
<b>Fig Objektsbilden fr Dv4 visas efter klick p knappen Dv4.
</topic>
<topic> geg_specialobjects_tabbedwindow
TabbedWindow
TabbedWindow r ett Window objekt med flik-register. Fr varje flik anges en separat graf,
och nr fliken aktiveras visas en angivna grafen i fnstret.
Man kan visa objekts-bilder eller andra grafer i ett tabbed window. Vi ska hr titta p hur
man kan visa en uppsttning objektsbilder, precis som i exemplet fr window objektet ovan.
<image> geg_fig64.png
<b>Fig Ett flikfnster objekt
Vi ska ha 6 stycken flikar och varje flik ska visa objektsbilden fr ett Dv-objekt. Efter att
ha skapat TabbedWindow objektet, tar vi upp objekteditorn. Hr stter vi
Folder.NumberOfFolders till 6. Vi ndrar ocks Folder.HeaderHight till 1 fr att ka storleken
p flikarna. Sedan fyller vi i FileName, Text och Object fr de 6 frsta flikarna. FileName
r filnamnet p objektsbilden fr Dv, dvs $pwr_exe/pwr_c_dv. Text stter vi till Dv1, Dv2 osv,
och Object innehller objektnamnet p respektive Dv, H1-Dv1, H2-Dv2 osv.
Vi kar ocks textstorleken i flikarna genom att vlja ut window-objektet och stta TextSize
till 14 i verkygspanelen.
<image> geg_fig65.png
<b>Fig Objekteditorn fr flikfnstret
</topic>
<topic> geg_specialobjects_slider
Slider
En slider eller dragregel r ett flyttbart objekt som r kopplat till en analog signal i
databasen. Lget p slidern bestmmer signalvrdet. Slidern flyttas antingen horisonellt
eller vertikalt mellan tv ndpunkter. Lget fr ndpunkterna kan bestmmas med tv olika
metoder, antingen genom att man lgger ett speciellt bakgrundsobjekt av typen
SliderBackground, eller genom att man specifierar koordinaterna fr ndpunkterna i
objekteditorn.
<h2>Slider med bakgrundsobjekt
Under Slider mappen i subgraf-paletten finns slider och slider-background objekt. Vi vljer
en SliderBackground1 och placerar ovanp denna en Slider1. Fr att f en horisonell slider
roterar vi bda objekten 270 grader.
<image> geg_fig59.png
<b>Fig Slider med bakgrundsobjekt
Nsta steg r att koppla slidern till en analog signal
i databasen. Vi vljer Av objektet H1-Av1 i planthierarkin och klickar med
Ctrl+Dubbelklick MB1 p slider-objektet. Nu terstr att ange vilket omrde slidern motsvarar
fr signalen. Signalens gr mellan 0 - 1000 och vi stter Slider.MaxValue till 1000 i
objektseditorn.
<image> geg_fig60.png
<b>Fig Omrdet fr signalen anges i Slider.MinValue och Slider.MaxValue
<h2>Slider utan bakgrundsobjekt
Fr en slider utan bakgrunds-objekt mste man ange sliderns rrelseriktning, samt min och
max-positionen fr rrelsen.
<image> geg_fig61.png
<b>Fig Slider utan bakgrundsobjekt
Vi skapar en slider av typ Arrow2 som ska kunna flyttas utmed en skala mellan 0 och 100. 100
ligger p y-koordinat 0 och 0 p y-koordinat 30. Slidern ska placeras vid den lgsta
y-koordinaten, vilket allts r vid 100 p skalan. Sedan ska ange sliderns rrelseomrde, och
d mta i sliderns verkant, vilket ger y-kooridnaterna -1 - 29. Vi lgger in dessa i
Slider.MinPosition (-1) och Slider.MaxPosition (29). Vidare stter vi Slider.Direction till
Up eftersom en rreles uppt i bilden ger kande vrde.
<image> geg_fig62.png
<b>Fig Objekteditorn fr slidern
En horisontell slider placeras p den lgsta x-koordinaten, dvs lngst till vnster i bilden.
I exemplet nedan r Slider.Direction satt till Left.
<image> geg_fig63.png
<b>Fig Horisontell slider
</topic>
<topic> geg_specialobjects_bar
Stapel
En stapel visar vrdet fr en analog signal i form av en stapel.
<image> geg_fig68.png
<b>Fig Stapel
En stapel konfigureras genom att koppla den till en analog signal och lgga in omrdet fr
stapeln i Bar.MinValue och Bar.MaxValue. Axis-objektet ingr inte i bar-objektet.
<image> geg_fig67.png
<b>Fig Attribut fr ett bar-objekt
Om stapeln ingr i en objektsbild r ofta omrdet olika fr olika instanser. Man kan d
koppla Bar.MinValueAttr och Bar.MaxValueAttr till attribut i databas-objektet som innehller
min och max-vrde fr signalens omrde.
Notera att en stapel ven kan stadkommas med en rektangel som r grupperad och frsedd med
dynamiken FillLevel. Enda skillnaden r att bar-objektet har en avgrnsnings-linje med
separat frg i mellan stapeln och bakgrunden.
</topic>
<topic> geg_specialobjects_trend
Trend
En trendkurva visar vrdet fr en eller ett par analog signaler under den senaste tiden.
ven heltal eller digitala signaler kan visas i trendkurvor.
<image> geg_fig66.png
<b>Fig Trendkurva
Ovanstende trend-objekt r konfigurerat med en analog signal. Antalet vertikala och
horisontella linjer har kats genom att stta Trend.HorizontalLines och Trend.VerticalLines
till 9. Skalorna ingr inte i trend-objektet, utan har skapats med Axis objekt. Vertikala
axeln har omrdet 0-100 eftersom Trend.MinValue1 r 0 och Trend.MinValue1 r 100. Tidsaxelns
omrde blir 50 s d Trend.ScanTime r 0.5 s och antalet lagrade punkter, Trend.NoOfPoints,
r 100.
<image> geg_fig67.png
<b>Fig Attribut fr ett trend-objekt
Om trendkurvan ingr i en objektsbild r ofta omrdet olika fr olika instanser. Man kan d
koppla Trend.MinValueAttr och Trend.MaxValueAttr till attribut i databas-objektet som
innehller min och max-vrde fr signalens omrde.
</topic>
<topic> geg_specialobjects_axis
Axis och AxisArc
Ett axis-objekt ritar ut en skala med ett visst omrde. Axis objekt har ingen dynamik utan
skalan r fast. Det finns tv varianter, en rak skala och en cirkulr eller elliptisk skala.
<h2>Rak skala
En rak skala r ett Axis-objekt som hmtas frn mappen Analog och skalas till nskad storlek.
Storleken p siffrorna justeras med TextSize menyn i verktygspanelen. Skalans omrde bestms
av MinValue och MaxValue som i exemplet nedan r satt till 0 och 50. Vill man att skalan ska
g t andra hllet kan man byta vrden in MinValue och MaxValue. Det finns inte ngot krav
att MaxValue ska vara strre n MinValue.
<image> geg_fig70.png
<b>Fig Rak skala
Antalen streck i skalan bestms av attributet Lines, som r satt till 101, och eftersom
var 10:de streck ska vara lite lngre r LongQuotient satt till 10. P var 20:de streck ska
lget markeras med ett vrde, alls stts ValueQuotient till 20.
<image> geg_fig72.png
<b>Fig Attribut fr ett axis-objekt
Man kan ven pverka formateringen av vrdena i Format, och vill man inte ha ngra vrden
utskrivna tar man bort innehllet i Format.
<h2>Elliptisk skala
En cirkulr eller elliptisk skala utgrs av ett AxisArc objekt. Objektet skalas till lmplig
storlek, och textstorleken anpassas med TextSize i vertygspanelen.
Skalan utgrs av ett cirkel-segment, genom att i objects-editorn ange Angle1 och Angle2
pverkar man segmentets lge och storlek. Angle1 r vilkeln frn den horisontella axeln till
segmentets brjan, och Angle2 r vilkeln fr segmentets utbredning.
Man kan ven pverka streck-lngden som anges relativt radien, s en LineLength p 0.1 ger en
lngd p de lngre strecken p 10 % av radien.
<image> geg_fig71.png
<b>Fig Elliptisk skala
<image> geg_fig73.png
<b>Fig Attribut fr ett axisarc-objekt
</topic>
<topic> geg_specialobjects_table
Tabell
Tabell-objektet r en verskdlig uppstllning av data, uppdelad i rader och kolumner. Ofta
frsedd med rubrik.
<image> geg_fig76.png
<b>Fig Tabell utan rubrik
Data fr en kolumn r vanligvis samlad i ett vektor-attribut i databasen. Det finns ett
antal klasser med vektorer av olika typ, t ex AArray100 och AArray500 som innehller vektorer
med 100 resp 500 element av typen Float32. Motvarande DArray, IArray och SArray objekt finns
fr data av typen boolean, integer och strngar. I exemplet nedan har vi samlat data i 3 st
AArray100 en en SArray100.
<image> geg_fig75.png
<b>Fig Array-objekt som innehller tabell-data
Om vi tittar p den enkla tabellen i Fig Tabell utan rubrik ovan, visas tv kolumner. Antalet
kolumner anges i Table.Columns. Column1.Attribute och Column2.Attribut r kopplade till var
sitt vektor attribut i databasen, H3-A1.Value och H3-A2.Value. Syntaxen r
H1-A1.Value##Float32#100 vilket innebr att attributet r en array av typen Float32 med 100
element. Man mste ven specificera formateringen av vrdena i kolumnerna genom att fylla i
Column1.Format och Column2.Format. '%6.1f' innebr ett flyttal med 6 tecken och en decimal.
En del andra detaljer r ndrade p tabellen,
- fonten r satt till Lucida Sans, genom att vlja ut tabellen och ange Lucida Sans i
verktygspanelen.
- Textstorleken r kad till 12 med Textsize i verktygspanelen.
- Hjden p raderna har anpassats till den strre texten genom att Table.RowHeigt r 0.8.
<image> geg_fig74.png
<b>Fig Attribut fr tabell-objekt
Figuren nedan visar en tabell med rubrik. Hr r Table.HeaderRow satt till 1. Textstorleken
fr rubriken, Table.HeaderTextSize r satt till 12 och Table.HeaderTextBold r satt till 0
fr att unvika fet text.
<image> geg_fig77.png
<b>Fig Tabell med header row
I tabellen nedan har en vertikal skroll-list adderats genom att stta Table.VerticalScrollbar
till 1. Notera att rubrik-raden inte skrollas utan visas hela tiden.
Tabell-objektet visar 3 kolumner, den frsta r kopplad till en strng-vektor av typen
SArray100.Value, och har Column1.Format satt till %s. Frsta raden r ven markerad som en
header column, genom att Table.HeaderColumn r satt till 1. Det innebr att grnslinjen mellan
frsta och andra kolumnen r lite tjockare.
<image> geg_fig78.png
<b>Fig Tabell med vertikal skroll-list och header row
I figuren nedan visas hur en header column fungerar med en horisontell scroll-list. Den
horisontella skroll-listen fs genom att stta Table.HorizontalScrollbar till 1. Notera att
skroll-listen inte omfattar den frsta kolumnen, utan den frsta kolumnen r alltid synlig.
<image> geg_fig79.png
<b>Fig Tabell med horisontell skroll-list och header column
<h2>Tabell som visar objekt av samma typ
Nu ska vi titta p ett exempel dr data inte ligger organiserat i tabeller, utan i ett antal
objekt av samma klass. I anlggningshierarkin under H3-Data ligger ett antal objekt av klassen
Thing som innehller attributen Length, Height och Width. Vi vill visa innehllet i alla
Thing-objekt i en tabell, med ett objekt p varje rad. Fr att kunna gra det mste vi skapa
en vektor av typen Objid som innehller identiteten p varje objekt som ska visas. Allts
skapar vi ett objekt av typen OidArray och lgger in identiteten fr all Thing objekt i denna.
<image> geg_fig82.png
<b>Fig Objekt vars innehll visas i tabellen till vnster, array av objid till hger
Vi skapar en tabell med fyra kolumner. Den frsta kolumnen ska visa namnet p objektet, den
andra attributet Length i respektive objekt, den tredje Width och den fjrde Height.
Tabellen konfigureras genom att vekorn med objektsideniteterna lggs in i Colomn1.Attribute.
I Column2.Attribute anges $header.Length##Float32. $header pekar p objektet som visas i
header kolumnen, dvs den frsta kolumnen. P samma stt fyller vi i Column3.Attribute med
$header.Width##Float32 och Column4.Attribute med $header.Height##Float32.
<image> geg_fig80.png
<b>Fig Attributen fr kolumnerna i tabellen
Resultatet ses i figuren nedan. I frsta kolumnen visas namnet p objektet och p samma rad
innehllet i objektet.
<image> geg_fig81.png
<b>Fig Tabell som visar objektnamn och innehllet i objekten
<h2>Tabell med utvals funktion
Ibland vill man kunna vlja ut en cell i en tabell, och utfra ngonting i plcprogrammet med
utvalt data eller objekt. Det hr gr man genom att koppla en vektor av boolean till
attributet SelectAttribute fr en kolumn. I exemplet nedan har H3-Select1.Value kopplats
till Column1.SelectAttribute.
<image> geg_fig83.png
<b>Fig En utvals-vektor har angetts fr den frsta kolumnen
Den frsta kolumnen kommer nu att vara knslig fr klick och den utvalda cellen kommer att
markeras med en avvikande frg som kan anges i Table.SelectColor.
<image> geg_fig84.png
<b>Fig Fjrde raden i frsta kolumnen har valts ut
Det element i vektorn som motvarar det utvalda objektet kommera att sttas till 1. I figuren
ovan r fjrde raden utvald, vilket medfr att fjrde elementet i utvals-vektor stts, dvs
H3-Select1.Value[3].
<image> geg_fig85.png
<b>Fig Elementet som motvarar den utvalda raden markeras i utvals-vektorn
</topic>
<topic> geg_dynamics
Dynamik och action
En processbild har huvudsakligen tv uppgifter, att visa lget i processen fr operatoren, och
att gra det mjlig fr operatren att pverka processen.
Fr att visa lget i processen lgger man in dynamik i bilderna. Dynamiken kan vara att
ndra frg p ett objekt <link>geg_dynamic_color
gra objekt osynliga eller oknsliga <link>geg_dynamic_invisible
skriva ut texter <link>geg_dynamic_text
ndra form p ett objekt <link>geg_dynamic_shape
visa analoga vrden <link>geg_dynamic_analog
flytta, skala eller rotera objekt <link>geg_dynamic_move
Ljud och kommandon <link>geg_dynamic_misc
Fr att gra det mjligt fr operatren att pverka processen, lgger man in action p objekt
i processbilden. Genom att lgga in action p ett objekt kan man ocks gra det mjligt fr
operatren att f mer information om objektet, frn popup-menyer eller genom att ppna bilder
eller kurvor mm. Action kan vara att
stta vrden med trycknappar <link>geg_action_button
popupmeny <link>geg_action_popupmenu
ppna bilder <link>geg_action_opengraph
exekvera kommandon <link>geg_action_command
tooltip <link>geg_action_tooltip
hjlptexter <link>geg_action_help
input focus <link>geg_action_inputfocus
</topic>
<topic> geg_dynamic_color
ndra frg p objekt
<h2>Skifta mellan tv frger
Vi ska titta p hur man kan ndra frg p ett objekt beroende p en digital signal i
databasen. Det finns ngra olika typer av dynamik man kan anvnda, DigLowColor, DigColor,
DigError och DigWarning. Vi brjar med att titta p ett exempel med DigLowColor.
DigLowColor skiftar mellan tv frger, den ena r den man stter p objektet i editorn, och
det r den hr frgen objektet kommer att ha nr signalen r hg. Den andra frgen anges i
DigLowColor.LowColor. Vi kommer att rita en orange indikator, som ska vara orange nr signalen
r hg och mrkgr nr signalen r lg. Vi ritar allts indikatorn orange i editorn, och
stter DigLowColor.LowColor till mrkgr.
Vi brjar med att rita en cirkel, och fyller den med orange frg. Vi stter ocks gradienten
till GradientGlobe.
<image> geg_fig86.png
<b>Fig Orange indikator
Vi skapar ocks en ram med metalliskt utseende till indikatorn genom att rita en lite strre
cirkel med gr fyllnadsfrg. P ramen stts fixcolor i objektseditorn till 1, eftersom denna
inte ska ndra frg med indikatorlampan. Vi stter ocks 3D och vljer gradienten
DiagonalDownTube.
<image> geg_fig89.png
<b>Fig Ram till indikatorn
I objektsediton kas gradient_contrast till 8 och shadow_width till 9.
<image> geg_fig83.png
<b>Fig Fixcolor stt p ramen
Fr att kunna stta dynamik gr vi en grupp av de bda cirklarna. Nr vi ppnar objektseditorn
fr gruppen har vi nu attributet Dynamic och vljer DigLowColor. Vi stter DigLowColor.Color
till en mrkgr nyans och kopplar DigLowColor.Attribute till en Dv, H1-Dv1.
<image> geg_fig88.png
<b>Fig Dynamik DigLowColor
Resultatet ses i figuren nedan. Nr signalen r hg r indikatorn orange, och signalen r
lg r indikatorn mrkgr.
<image> geg_fig90.png
<b>Fig Indikatorn med hg signal till vnster och lg till hger
Dynamiktypen DigColor r snarlik DigLowColor, och man skulle ocks kunna ha anvnt denna typ
hr. Skillnaden r att signalens funktion r inverterad. I DigLowColor anger man den frg
som objektet har nr signalen r lg, medan fr DigColor anger man den frg som objektet har
nr signalen r hg. Vi vljer en bl nyans.
<h2>Skifta mellan flera frger
Vi ska nu se hur man kan skifta mellan flera frger. Vi utgr frn indikatorn i exemplet
ovan och adderar dynamiken DigColor. I objektseditorn har vi nu attributen DigColor.Attribute
och DigColor.Color. DigColor.Attriubut kopplas mot en signal i databasen, H1-Dv2, och i
DigColor.Color anges den frg som indikatorn fr nr signalen r hg.
<image> geg_fig90.png
<b>Fig En Tredje frg adderad med DigColor
Indikatorn kan nu skifta mellan tre olika frger. DigLowColor skiftar som frut mellan
mrkgrtt och orange beroende p H1-Dv1, och DigColor stter bl frg nr H1-Dv2 gr hg.
Notera att DigColor har hgre prioritet n DigLowColor. Man kan se det i objektseditorn dr
dynamiken ordnas i prioritetsordning med hg prioritet verst och lg prioritet underst.
Den hgre prioriteten p DigColor gr att nr H1-Dv2 r hg, blfrgas indikatorn oberoende
av vrdet p H1-Dv1.
<image> geg_fig91.png
<b>Fig Indikatorn frgas orange nr H1-Dv1 r hg, och bl nr H1-Dv2 r hg
Vi ska nu lgga till ytterligare en frg och studera begreppet Instance. En del dynamik och
action typer kan frekomma i flera upplagor, eller flera instanser p samma objekt. Fr
DigColor innebr det att nr man adderar ytterligare en instans, kan man stta en frg till
p objektet. Eftersom det finns upp till 32 instanser kan man stta 32 olika frger, dr
varje frg kopplas till en signal i databasen.
Man adderar en DigColor instans genom att ppna DigColor.Instances och markera instans 2.
Nu visas attributen fr denna instans, DigColor2.Attribute och DigColor2.Color. Vi kopplar
DigColor2.Attribute till signalen H1-Dv3 och anger en grn frg i DigColor2.Color. Notera
att instanser med hgre instans-nummer har hgre prioritet, dvs H1-Dv3 kommer att frga
indikatorn grn oberoende av vrdet p H1-Dv1 och H2-Dv2.
<image> geg_fig92.png
<b>Fig En fjrde frg adderad med DigColor instans 2
Resultatet ses i figuren nedan. Man kan nu skifta mellan fyra olika frger. Frutom de tre
tidigare, mrkgrtt, orange och bltt, frgas indikatorn nu grn nr signalen H1-Dv3 r hg.
<image> geg_fig93.png
<b>Fig Indikatorns fyra olika frger
<h2>Frger fr varning och fel
I Proview anvnds genomgende frgerna gult och rtt fr varning resp fel. Det finns
tv typer av dynamik, DigWarning och DigError, som stter gul resp rd frg. Frdelen
jmfrt med DigLowColor eller DigColor r att men inte behver ange frgen, utan det rcker
att koppla dynamiken till en digital signal i databasen.
Vi anvnder indikatorn i ovanstend exempel, men frgar om den till mrkgrtt, som blir
den frg man fr d varken signalen fr DigWarning eller DigError r hg.
Vi kopplar DigWarning.Attribute till H1-Dv4 och DigError.Attribute till H1-Dv5.
<image> geg_fig94.png
<b>Fig Dynamiken DigWarning och DigError
Nr ingen signal r stt har indikatorn ursprungsfrgen mrkgrtt. Nr H1-Dv4 stts fr den
varnings-frgen gul, och nr H1-Dv5 stts fr den fel-frgen rtt. DigError har hgre
prioritet n DigWarning, allts blir den rd nr H1-Dv4 r satt, oberoende av vad H1-Dv3 har
fr vrde.
<image> geg_fig95.png
<b>Fig Gul frg fr varning och rd fr fel
<h2> Blinkande dynamik
Fr att dra maximal uppmrksamhet till ett objekt kan man stta DigFlash dynamik p det.
DigFlash innebr att objektet kommer att blinka, dvs skifta mella tv frger, nr en signal
r hg. Blinknings-frekvensen r lika med uppdaterings-frekvensen fr objektet. Om Cycle r
Slow sker blinkningen med ScanTime fr grafen, och om Cycle r Fast med FastScanTime.
Vi stter DigFlash dynamik p indikatorn och kan nu ange tv frger som objektet kommer
att blinka med, DigFlash.Color och DigFlash.Color2. Vi stter DigFlash.Color till rd och
DigFlash.Color2 till svart, och kopplar DigFlash.Attribute till signalen H1-Dv6.
<image> geg_fig96.png
<b>Fig DigFlash dynamik
Nr signalen H1-Dv6 r lg har indikatorn ursprungsfrgen mrkgr. Nr H1-Dv6 gr hg
brjar den blinka med frgerna rtt och svart.
<image> geg_fig97.png
<b>Fig Indikatorn blinkar mellan rtt och svart nr signalen r hg
<h2>ndra frg p en analog signal
Nu ska vi titta p hur man kan ndra frg p ett objekt beroende p vrdet p en analog
signal. Det finns tv olika typer av dynamik, FillColor och AnalogColor, som kopplas till
en analog signal. FillColor frgar en del av ett objekt och hur stor del beror p signalens
vrde. AnalogColor skiftar frg p objektet nr signalen passerar vissa grnsvrden.
<h2>Frga till en viss niv
Dynamiken FillColor frgar ett objekt till en viss niv beroende p en analog signal. Den
liknar mycket stapel-objektet som vi har ett tidigare, med den skillanden att den kan
appliceras p vilken form som helst. Vi ska stta FillColor p en tank som vi hmtar frn
Hydraulics/Tank2 i subgrafmenyn.
<image> geg_fig102.png
<b>Fig En tank
Tanken har ingen default dynamik. Vi markerar FillColor i DynType och kopplar den till Av
objektet H4-Av1. Vi stter ocks en mrkgr nyans i FillLevel.BackgroundColor.
FillLevel.MinValue och FillLevel.MaxValue anger omrdet p signalen, som default r 0-100.
Nr vrdet r noll kommer tanken att frgas helt med bakgrundsfrgen och nr vrdet r 100
med den bl frg som vi stter i editorn.
<image> geg_fig98.png
<b>Fig FillColor dynamik p tanken
I figuren nedan har vi satt vrdet 70 p H4-Av1 och tanken r fylld upp till denna niv.
<image> geg_fig99.png
<b>Fig Tanken fylld till en viss niv
Man kan fylla tanken i andra rikningar genom att ndra p FillColor.Direction. Anvnds
FillColor dynamiken i en objektsbild kan ocks omrdet kopplas till attribut fr min och
max-vrde i databasen.
<h2>ndra frg ver eller under en viss niv
Ofta vill man visa att en analog signal har verskridit eller underskridit ett viss vrde.
I tank-exemplet ovan ska nivn normalt ligga under 80, och stiger den ver 90 brjar lget
bli kritiskt. Vi anvnder dynamikan AnalogColor fr att ndra frg p tanken nr vrdet
passerar de bda grnsvrdena.
Till att brja med vill vi frga tanken gul nr signalen H4-Av1 r ver 80. Vi adderar
AnalogColor till DynType och kan nu stta AnalogColor.Limit till 80. Typen av grnsvrde,
AnalogColor.LimitType, r redan GreaterThan, s denna behver vi inte ndra p. Dremot
mste vi ange frgen som ska sttas nr signalen verskrider 80, och vi lgger in en
gul nyans i AnlogColor.Color.
Fr att kunna lgga in ytterligare ett grnsvrde vid 90, lgger vi till instans 2 i
AnalogColor.Instances. Nu dyker attributen fr AnalogColor2 upp och vi stter
AnalogColor2.Limit till 90 och AnalogColor2.Color till en rd nyans. Notera att man inte
kopplar ngot ny signal till instans 2, utan alla instanser anvnder samma signal.
<image> geg_fig100.png
<b>Fig AnalogColor dynamik
Resultatet visas figuren nedan. S lnge vrdet p H4-Dv1 r under 80 r tanken bl. Nr
vrdet gr ver 80 blir den gul, och nr 90 passeras blir den rd.
<image> geg_fig101.png
<b>Fig Vid 80 slr frgen om till gult, och vid 90 till rtt
Genom att stt LimitType till LessThan kan man ocks lgga till grnsvrden fr miniminiver,
t ex frga tanken gul om nivn underskrider 20, och rd om tanken underskrider 10.
</topic>
<topic> geg_dynamic_invisible
Gra objekt osynliga eller oknsliga
Fr att gra objekt osynliga eller dimmade anvnder man dynamiken Invisible. Fr att
demonstrera det skapar vi en trycknapp frn Button/Button2MetallFrame i subgrafsmenyn.
<image> geg_fig103.png
<b>Fig En trycknapp
<h2>Osynlig
Trycknappen har som default attributen fr DigToggle, och genom att addera Invisible till
DynType ser vi ven attributen fr Invisible. Genom att koppla en digital signal till
Invisible.Attribut kommer trycknappen att bli osynlig nr signalen r hg.
<image> geg_fig104.png
<b>Fig Attribut for invisible
Vi kopplar Invisible.Attribut till H1-Dv2, och resultatet blir att nr H1-Dv2 r hg blir
trycknappen osynlig.
<h2>Dimmad
Om man endast vill gra trycknappen oknslig fr klick och dimmad, stter man Invisible.Dimmed
till 1.
<image> geg_fig105.png
<b>Fig Invisible.Dimmed satt fr dimmad dynamik
Nr H1-Dv2 blir hg r trycknappen inte lgre knslig fr musklick. Det markeras genom att
den ritas dimmad.
<image> geg_fig106.png
<b>Fig Trycknappen in dimmat lge till vnster
</topic>
<topic> geg_dynamic_text
Fr att skriva ut en dynamisk text mste man anvnda en subgraf som innehller en Annotation.
T ex innehller nstan alla trycknappar in Annotation fr att man ska kunna skriva ut en
text p knappen. ven value och inputvalue subgrafer innehller en Annotation.
En annotaion r en plats i subgrafen dr en text kan skrivas ut. Texten kan antingen anges
i editorn, eller med hjlp av ngra olika typer av dynamik, kopplas till attribut i databasen
och frndras i runtime.
Det olika typer av text-dynamik vi ska titta p hr r
- DigText, dr man skiftar mellan tv olika texter beroende p en digital signal.
- Analog text, dr man skiftar mellan flera olika texter beroende p en analog signal.
- Value, som kopplas till ett strng-attribut i databasen och attributets innehll.
<h2>Skifta mellan tv texter p en digital signal
Dynamiken DigLowText skiftar mellan tv texter beroende p en digital signal.
Vi skapar en trycknapp av typen ButtonRoundMetalFrame och ppnar objektseditorn.
<image> geg_fig107.png
<b>Fig Trycknapp med Annotation
I Text kan man lgga in en text som visas p trycknappen, och vi lgger in texten 'Off'.
Genom att addera dynamiken DigText kommer texten i Text att ersttas av texten in
DigText.LowText nr signalen vi kopplar till DigText.Attribut r lg. Vi lgger in 'On' i
DigText.LowText och kopplar DigText.Attribute till Dv'n H1-Dv1. Fr enkelhets skull kopplar
vi ven ToggleDig.Attribute till samma signal s att vi enkelt kan ndra p den genom att
klicka p knappen.
<image> geg_fig108.png
<b>Fig Dynamik DigLowText
Dynamiken fungerar nu s hr. Nr H1-Dv1 r lg skrivs texten 'On' ut p knappen, dvs texten
i DigText.LowText, och nr signalen r hg skrivs texten 'Off' ut, den text vi skrev in i Text
attributet.
<image> geg_fig109.png
<b>Fig Lg signal till vnster och hg signal till hger
DigText har flera instanser, och fr varje instans kan man ange en text och koppla den till
en digital signal. Observera att funktionen r annorlunda fr de andra instanserna. Fr den
frsta anger man en LowText, dvs en text som skrivs ut nr signalen r lg. P vriga
instanser anger man en HighText, en text som skrivs ut nr signalen r hg.
<h2>Skifta mellan flera texter berorende p en analog signal
Fr dynamiken AnalogColor kan man ange upp till 32 olika texter, och vilken av texerna som
skrivs ut beror p vrdet av den analoga signal som kopplas till dynamiken.
Vi anvnder en ValueLargeCenter fr att demonstrera dynamiken.
<image> geg_fig110.png
<b>Fig En ValueLargeCenter subgraf
ValueLargeCenter har Value dynamik som default, s vi brjar med att ta bort den genom att
ta bort Inherit in DynType, och lgger istllet in AnalogText.
I AnalogText.TextMask markerar man de texter som ska anvndas. Vi kommer att skifta mellan
fyra olika texter och markerar 2, 3 och 4. Texterna 'Low level', 'Normal level', 'High level'
och 'Very high level' fylls i text-attributen. Vi behller enumvrdena, vilket innebr att
AnalogText.Text1 visas nr signalen r 0, AnalogText.Text2 nr signalen r 1 osv. I praktiken
r det s att texten skiftar vid vrdena 0.5, 1.5 och 2.5. Om signalen r strre n 3.5
skrivs inte ngon text ut alls.
Vi kopplar ocks Av'n H4-Av1 till AnalogText.Attribute.
<image> geg_fig111.png
<b>Fig Value dynamiken ersatt av AnalogText
Resultatet visas i figuren nedan visas value-objektet nr H4-Av1 har vrden 0, 1, 2 och 3, med
0 vrdet lngst ner.
<image> geg_fig112.png
<b>Fig Texten vid olika vrden p H4-Av1
<h2>Visa texten i ett strng-attribut
Fr att visa innehllet i ett strng-attribut i database anvnder man Value dynamiken. Som
i fregende exempel skapar vi ett ValueLargeCenter objekt.
<image> geg_fig110.png
<b>Fig En ValueLargeCenter subgraf
Den hr subgrafen har Value som default dynamik, s vi behver bara koppla Value.Attribute
till ett strng-attribut och lgga in strng-formatet '%s' i Value.Format. Vi kopplar
Value.Attribute till Sv-objektet H1-Sv.
<image> geg_fig113.png
<b>Fig Value dynamik
Fr att visa resultatet lgger vi in texten 'Starting up' i H1-Sv1 i Xtt.
<image> geg_fig114.png
<b>Fig Stt en text i Sv attributet
Texten visas i Value-objektet.
<image> geg_fig115.png
<b>Fig Texten skrivs ut i value objektet
</topic>
<topic> geg_dynamic_shape
I mnga fall r det bsta sttat att visa lget i processen att ndra form p ett objekt. Det
kan vara en grind som visas ppen eller stngd, eller ett hngls som r lst eller olst.
Det hr kan man stadkomma genom att anvnda subgrafer med tv eller flera sidor.
Ett exempel p en subgraf med flera sidor r Smiley
Subgrafer med flera sidor hanteras av dynamiktyperna DigShift, AnalogShift och Animation.
<image> geg_fig116.png
<b>Fig Exempel p subgraf med flera sidor
DigShift vxlar mellan tv olika sidor beroende p en digital signal.
AnalogShift vxlar mellan flera olika sidor beroende p en analog signal.
Animation spelar upp ett antal sidor med en viss hastighet s att man fr intryck av rrelse.
<h2>Vxla mellan tv sidor
Dynamiken DigShift kan anvndas p en subgraf med flera sidor. Den kopplas till en digial
signal och vxlar mellan frsta och sista sidan beroende p om signalen r hg eller lg.
Vi anvnder subgrafen Smiley for demonstrera DigShift. Smiley har dynamiken AnalogShift som
default, och den mste vi frst ta bort genom att terstlla Inherit i DynType. I stllet
anger vi DigShift, och kopplar till signalen H1-Dv1.
<image> geg_fig117.png
<b>Fig Dynamiken DigShift vald
Resultatet visas i figuren nedan. Nr signalen r lg visas subgrafens frsta sida, och nr
signalen r hg visas subgrafens sista sida.
<image> geg_fig118.png
<b>Fig Lg signal till vnster och hg signal till hger
<h2>Vxla mellan flera sidor
AnalogShift kopplas till en analog signal, och kan skifta mellan flera sidor. Vrdet p
den analoga signalen bestmmer index fr den sida som visas. Nr signalen r 0 visas frsta
sidan, vid 1 visas andra sidan osv.
Subgrafen Smiley har AnalogShift som default. Det enda vi behver gra r att koppla den till
en analog signal. Vi kopplar den till H4-Av1.
<image> geg_fig119.png
<b>Fig Dynamik AnalogShift
Smiley innehller 6 olika sidor, nr signalen r 0 eller mindre n 0 visas frsta sidan, nr
den r 1 visas andra sidan osv. Nr signalen r 5 eller strre n 5 visas sista sidan.
<image> geg_fig120.png
<b>Fig Signalens vrde r 0 till vnster och kar med 1 fr varje bild
<h2>Animation
TODO
<image> geg_fig121.png
<b>Fig Animation fr att ppna/stnga ett hngls
</topic>
<topic> geg_dynamic_analog
Visa anloga vrden
<h2>Visa analoga vrden i sifferform
Fr att visa analoga vrden i sifferform anvnder man dynamiken Value. Value kopplas till
en analog signal och konverteras till lmplig form med hjlp av format specifikationen.
Value dynamiken kan anvndas p subgrafer som innehller en annotation, dvs en plat fr att
skriva ut en text. Ett exempel p en sdan subgraf r ValueLargeCenter.
<image> geg_fig122.png
<b>Fig ValueLargeCenter
Vi skapar en ValueLargeCenter och kopplar den till den analoga signalen H4-Av1. Vi mste
dessutom ange formateringen i Value.Format. '%f' r formateringen fr ett flyttal, och man
kan ven specifiera hur mnga tecken och hur mnga decimaler som talet ska skriva ut
med. Med '%7.2f' anges att talet r upp till 7 tecken stort, inklusive punkten, och att tv
av dessa r decimaler.
<image> geg_fig123.png
<b>Fig Value dynamik med format specifikation
Resultatet visas i figuren nedan. Det analoga vrdet skrivs med tv decimaler.
<image> geg_fig124.png
<b>Fig Value dynamik
Notera att Value dynamiken kan anvndas fr att visa innehllet i en rad olika typer av
signaler, heltal, strngar, tider mm.
Genom att skapar flera instanser av Value dynamik fr ett objekt kan man visa fler analoga
vrden p samma objekt. Det hr krver att subgrafen innehller flera Annotations.
Analoga vrden kan ven visas i form av kurvor, staplar och detta finns beskrivet i kapitlet
'Speciella Object'
Trend <link> geg_specialobjects_trend
Bar <link> geg_specialobjects_bar
</topic>
<topic> geg_dynamic_move
Flytta, skala och rotera objekt
<h2>Flytta ett objekt
Fr att flytta och skala ett objekt anvnds dynamiken Move. Vi ska till att brja med titta
p hur man kan flytta objektet. Objektet kan flyttas i x- och y-led och fr varje riktning
kopplar man en analog signal som specifierar frflyttningen relativt ursprungspositionen.
Signalvrdet kan rknas om till en frflyttning i Ge-koordinater med en faktor (Move.XFactor
och Move.YFactor) och ett offset (Move.XOffset och Move.YOffset).
I det hr exemplet ska vi flytta en rektangel i x-led. Vi ritar rektangeln och gr en grupp
av den. Vi ritar ocks en x-axel fr att visa frflyttningen
<image> geg_fig125.png
<b>Fig En rektangel
Nr den r grupperad kan vi stta Move i DynType och attributen fr Move visas i
objektseditorn. Eftersom vi ska flytta i x-led kopplar Move.XAttribute till signalen H4-Av1
i databasen. Vi mter upp omrden som rektangeln ska flyttas p, och kommer fram till att
nr signalen variera mellan 0-100 ska rektangeln flyttas 20 Ge-enheter i bilden. Genom att
placera rektangeln p 0-punkten behver vi inte ange ngot offset, men vi mste skala ner
signalvrdet med 20/100 = 0.2 som vi lgger in i Move.XFactor. I exemplet har vi ven lagt
in en x-axel fr att visa storleken p frflyttningen.
<image> geg_fig126.png
<b>Fig Move dynamik p rektangeln
Resultatet blir att nr signalen r 0 ligger rektangeln kvar p ursprungspositionen. Vid
vrdet 60 har rektanglen flyttats 12 enheter, se figure nedan, och vid vrdet 100 har
rektangeln flyttas 20 enheter.
<image> geg_fig127.png
<b>Fig Rektangeln flyttad 12 Ge-enheter i x-led
<h2>Skala ett objekt
Move dynamiken kan ven anvndas fr att skala ett objekt. Skalningen kan ske i x- och y-led
och fr varje riktning kopplar man en analog signal som specifierar storleken p skalningen.
Vi lgger in skalning i x-led fr rektangeln i exemplet ovan. Move.ScaleXAttribute kopplas
till signalen H4-Av2. Vi mste ocks rkna ut en skalfaktor och lgga in i Move.ScaleXFactor.
Rektangeln har bredden 2 enheter och med skalfaktorn 0.1 kommer ett signalvrde p 100 att
ge en bredd p 20 enhter.
<image> geg_fig128.png
<b>Fig Signal och skalfaktor angivna
Resultatet blir att nr signalvrdet r 0, har rektanglen ingen bredd alls, utan ritas som
ett streck. Vid signalvrdet 25 ser det ur som i figuren nedan, rektanglen r skalad 2.5
gnger, och nr signalvrdet r 100 r rektanglen skalad 10 gnger och tcker hela x-axeln.
<image> geg_fig129.png
<b>Fig Signalvrdet 25 ger en skalning p 2.5 gnger
<h2>Rotera ett objekt
Fr att roterar ett objekt anvnder man dynamiken Rotate. Rotate kopplas till en analog
signal som innehller rotationen i grader.
Rotate har vissa begrnsningar eftersom rektanglar och ellipser endast kan roteras i steg
med 90 grader. Drfr anvnder man fretrdesvis polylinjer, linjer och cirklar med Rotate.
Vi ritar en enkel visare med ett cirkel-segment och en polylinje. Efter att ha grupperat dem
stter vi Rotate i DynType. Vi ritar ven en cirkulr skala med ett AxisArc objekt.
<image> geg_fig130.png
<b>Fig Visare med rotations-dynamik
Visaren kopplas till den analoga signalen H4-Av1. Vi mste ocks specifiera den punkt som
objeket ska rotera runt. I det hr fallet r det cirkelsegmentets mittpunkt som har
x-koordinaten 9 och y-koordinaten 1. Rotationspunkten lggs in i Rotate.x0 och Rotate.y0.
Skalan som vi har ritat har omrden -100 - 100, vilket r omrdet fr signalen H4-Av1. Denna
ska rknas om till grader och motvarande rotation r -90 - 90 grader, dvs skalfaktorn r 0.9.
Vi lgger in 0.9 i Rotate.Factor.
<image> geg_fig131.png
<b>Fig Visaren kopplade till en analog signal och skalfaktorn satt till 0.9
Resulatet kan ses i figuren nedan.
<image> geg_fig132.png
<b>Fig Vrdet 40 ger en rotation p 36 grader
</topic>
<topic> geg_dynamic_misc
Ljud och kommandon
TODO
</topic>
<topic> geg_action_button
Stta vrden med trycknappar
<h2>Stta ett digitalt vrde
Action SetDig stter vrdet p en digital signal till 1 nr man klickar p ett objekt.
Vi brjar med att tillverka en knapp av en rektangel. Genom att stta 3D och ka shadow_width
till 15 fr vi ett karakteristiskt knapp-utseende p rektangeln. Dessutom adderar vi
gradienten DiagonalLowerRight med gradient_contrast 1 fr att ytterligare frstrka 3D
effekten. Slutligen gr vi en grupp av rektangeln s att vi kan stta Action p den.
<image> geg_fig133.png
<b>Fig En rektangel formad som en trycknapp
Fr att stta en digital signal till 1 nr man trycker p knappen, stter vi SetDig i Action.
Det innebr att om signalens vrde r 0 kommer det att sttas till 1. Om det redan r 1 blir
det ingen frndring.
Vi kopplar SetDig.Attribute till signalen H1-Dv1.
<image> geg_fig134.png
<b>Fig Action SetDig p knappen
Resultatet blir att nr vi klickar p knappen stts H1-Dv1 till 1.
Det r mjlig att addera flera instanser av SetDig och fr varje ny instans kopplar man en
ny signal som stts till 1 nr man klickar p knappen. P s stt kan man stta flera
signaler p en knapptryckning.
<h2>terstlla ett digitalt vrde
ResetDig fungera som SetDig med den skillnaden att den stter vrdet 0 p signalen i stllet.
Vi stter Action ResetDig och kopplar till signalen H1-Dv1.
<image> geg_fig135.png
<b>Fig Action ResetDig p knappen
Resultatet blir att nr vi klickar p knappen stts H1-Dv1 till 0.
<h2>Toggla ett digitalt vrde
Med Action ToggleDig ndrar man vrdet p en digital signal nr man klickar p objektet. Om
vrdet p signalen r 1, stt det till 0, och om vrdet p signalen r 0 stts det till 1.
Vi kopplar ToggleDig.Attribute till signalen H1-Dv1.
<image> geg_fig136.png
<b>Fig Action ToggleDig p knappen
Resultatet blir att vrdet p H1-Dv1 ndras nr man klickar p knappen.
<h2>Stta ett digitalt vrde s lnge knappen r nedtryckt
Med Action StoDig sttar man vrdet p en digital signal till 1 nr knappen trycks ned, och
terstller till 0 nr knappen slpps.
Vi stter Action StoDig p knappen och kopplar den till H1-Dv1.
<image> geg_fig137.png
<b>Fig Action StoDig
Resultatet blir att nr vi trycker p knappen, stts H1-Dv1 till 1, och nr vi slpper
knappen stts H1-Dv1 till 0.
<h2>Stta ett analog vrde
Fr att stta ett vrde i en analog signal anvnder man Action SetValue. SetValue kopplas till
en analog signal, och man klickar p objektet stts ett specificerat vrde i signalen.
Vi stter Action SetValue p knappen, och kopplar till Av-objektet H4-Av1. Vi vill stta
vrdet 4.5 och lgger in 4.5 i SetValue.Value.
<image> geg_fig138.png
<b>Fig SetValue
Resultatet blir att nr vi klickar p knappen lggs vrdet 4.5 in i H4-Av1.
SetValue tillter flera instanser, och fr varje instans anger man ett vrde och kopplar
instansen till en analog signal. Men knapptryckningen kan man d stta olika vrden in ett
antal analoga signaler.
<h2>ka/Minska knappar
Med action IncrAnalog kan man ka eller minska vrdet p en analog singnal med en
knapptryckning. IncrAnalog kopplas till en analog signal och i IncrAnalog.Increment anger
man hur mycket vrdet ska ka eller minska vid varje klick. Man kan ocks lgga in min och
max-vrde fr signalen.
Vi lgger ut en ButtonUp och en ButtonDown.
<image> geg_fig148.png
<b>Fig ButtonUp och ButtonDown
Bda har SetDig som default. Vi tar bort SetDig genom att avmarkera Inherit i Action, och
markerar istllet IncrAnalog. Vi kopplar bda knapparna till signalen H4-Av1. ButtonUp knappen
ska ka vrdet med 1 fr varje klick, s vi stter IncrAnalog.Increment till 1. ButtonDown
knappen ska minska vrdet med 1, s vi stter IncrAnalog.Increment till -1. Vi lgger ocks
in min och maxvrden och stter IncrAnalog.MaxValue till 10.
<image> geg_fig149.png
<b>Fig ButtonUp till vnster och ButtonDown till hger
Resultatet blir att nr vi klickar p ButtonUp knappen kar vrdet p H4-Av1 med 1 fr varje
klick tills vrdet har ntt max-vrdet 10. Nr vi klickar p ButtonDown minskar vrdet med 1
fr varje klick men gr inte under min-vrdet 0.
<h2>Radioknappar
Radioknappar anvnds nr man vill vlja ut ett alternativ av ett antal alternativ. Fr varje
alternativ skapar man en radioknapp och kopplar den till en digital signal. Drefter
grupperar man radio-knapparna. Action RadioButton fungerar s att signalen fr den radioknapp
man klickar p stts, medan vriga radioknappar i gruppen terstlls. Det innebr att det r
hgst ett alternativ valt, dvs bara en av signalerna r 1.
Vi lgger ut fyra radioknappar av typen RadioButtonRelief.
<image> geg_fig150.png
<b>Fig Fyra radioknappar
De har redan action RadioButton som default. Vi kopplar radioknapparna till var sin digital
signal, H1-Dv1, H1-Dv2, H1-Dv3 och H1-Dv4. Drefter grupperar vi de fyra radioknapparna s
att de tillhr samma grupp. Vidare lgger vi in ngra lmpliga texter fr att beskriva de
olika alternativen.
<image> geg_fig151.png
<b>Fig Den frsta radioknappen kopplad till H1-Dv1
Nr vi tar upp grafen med radioknappar i operatrsmiljn, kan vi vlja ett av alternativen.
Det utvalda makeras med ett svart prick, medan tidigare utvalda terstlls. Samtidigt stts
signalen som den utvalda knappen r kopplad till, medan vriga signaler nollstlls. I figuren
nedan r andra alternativet makerat, dvs H1-Dv2 r 1 och Dv1, Dv3 och Dv4 0.
<image> geg_fig152.png
<b>Fig Radioknapp markerad
<h2>Checkbox
Checkboxar brukar anvndas fr att bocka fr ett antal alternativ ut en lista. Till skillnad
frn radioknappar kan man vlja ut flera alternativ samtidigt. En checkbox har action
ToggleDig kombinerad med dynamiken DigShift.
Vi skapar fyra checkboxar av typen Checkbox2, och lgger beskrivande texter intill.
<image> geg_fig153.png
<b>Fig Checkboxar
Checkboxarna kopplas till signalerna H1-Dv1, H1-Dv2, H1-Dv3 och H1-Dv4. Notera att bde
DigShift.Attribute och ToggleDig.Attribut kopplas till samma signal.
<image> geg_fig154.png
<b>Fig Objektseditorn fr den frsta checkboxen
I figuren nedan r frsta och tredje checkboxen markerad, dvs H1-Dv1 och H1-Dv3 r satta till
1.
<image> geg_fig155.png
<b>Fig Checkboxar markerade
</topic>
<topic> geg_action_popupmenu
Popup-meny
Med action PopupMenu kan man genom att hgerklicka p ett objekt visa en popup-meny.
Popup-menyn r kopplad till ett objekt i databasen, och visar upp metoderna fr det objektet.
Vilka metoder som visas i popup-menyn beror p hur objektet r konfigurerat i databasen, och
vilka metoder som finns definerade fr den typen av objekt.
Lt oss brja med ett enkelt exempel dr vi visar vrdet i ett Av-objekt i ett Value flt.
Vi skapar en ValueLargeCenter, kopplar den till H4-Av1 och lgger in formateringen %7.2f i
Value.Format.
<image> geg_fig122.png
<b>Fig ValueLargeCenter
Nu adderar vi ven PopupMenu i Action, och lgger in Av-objektet i PopupMenu.ReferenceObject.
Notera att det r hela objektet som refereras och inte ett enskilt attribut.
Vi mste ocks ppna Files/Graph Attributes frn menyn och stta MB3Action till PopupMenu.
<image> geg_fig139.png
<b>Fig Action PopupMenu adderad
Nr vi nu tar upp bilden i operatrsmiljn och hgerklickar p Value fltet ppnas
popup-menyn.
<image> geg_fig140.png
<b>Fig Popupmenyn
Vilka metoder som finns i popmenyn beror vilken klass det refererade objektet har och hur
det r konfigurerat. I figuren nedan kan visas Av-objektets konfigurering, och vi kan se
attributen DefGraph, DefTrend, HelpTopic, DataSheet, CircuitDiagram, Photo och Note som
alla har samband med olika metoder.
<image> geg_fig141.png
<b>Fig Konfigurereringen av H4-Av1
Vi ska hr g igenom ngra av alternativen i popmenyn och se hur de r konfigurerade, eller
vad de r beroende av
<b>Graph
Fr Graph kan man specifiera en graf som visar information om objektet, eller
anlggningsdelen dr objektet frekommer. Konfigureringen sker genom att man lgger in ett
XttGraph objekt i DefGraph. Fr H4-Av1 r inte DefGraph ifyllt, och d ppnas grafen fr
nrmaste verliggande objekt som har DefGraph ifyllt. I det hr fallet r det H4 som har
en default graf angiven.
<b>Object Graph
Object Graph visar objektsbilden fr objektet. Objektsbilden r en graf som visar
information om ett objekt av en viss klass. Om det finns en objektbild tillgnglig fr det
aktuella klassen finns det hr alternativet i menyn.
<b>Trend
Visar en trend fr objektet. Det krver att en trend r konfigurerad med ett DsTrend objekt,
och att trend-objektet r inlagt in attributet DefTrend. DefTrend kan ven vara ett DsFast
eller PlotGroup objekt.
<b>History
Visar en kurva med process historik fr objektet. Det krver att lagring av data r
konfigurerat med ett SevHist objekt under objektet.
<b>Hist Event
Hist Event ppnar en dialog dr man kan ska efter larm och hndelser som finns lagrade fr
det aktuella objektet.
<b>Block Events
Block Event ppnar en dialog dr man kan blockera larm av olika prioritet.
<b>Help
Help visar en hjlptext fr objektet. Hjlptexter skrivs in i en hjlp-fil
($pwrp_cnf/xtt_help.dat) och varje text omfattar ett mne (topic). Genom att lgga in ett mne
i attributet HelpTopic visas texten fr det hr mnet nr Help alternativet i popupmenyn
aktiveras.
<b>Note
Med Note kan man skriva in en text som lagras i objektets Note-attribut. Note texten visas i
objektets objektsbild.
<b>Open Object
Open Object ppnar objektet och visar innehllet i objektet.
<b>RtNavigator
RtNavigator letar upp objektet i runtime navigatorn.
<b>Crossreferences
Visar en lista med referenser till objektet i plc-kod och grafer.
<b>Help Class
Help Class ppnar en hjlptext fr objekts-klassen.
<b>Photo
Photo visar ett fotografi p objektet i anlggningen. Det konfigureras genom att man lgger
in en URL till fotografiet i attributet Photo.
<b>DataSheet
Om man har ett datablad fr objektet, kan man lgga in en URL till detta i attributet
DataSheet.
<b>CircuitDiagram
En lnk till ett kretsschema kan lggas in i attributet CircuitDiagram.
</topic>
<topic> geg_action_opengraph
ppna en graf
Fr att ppna en graf genom att klicka p ett objekt, anvnder man normalt action OpenGraph.
Man kan ven anvnda action Command med kommandot 'open graph'.
<h2>ppna en graf frn en trycknapp
Vi tillverkar en trycknapp fr att ppna en bild med en rektangel och en text som grupperas.
<image> geg_fig142.png
<b>Fig Trycknapp fr att ppna en bild
I frsta exemplet stter vi action till OpenGraph. OpenGraph krver att man har ett
konfigurerat XttGraph objekt i databasen (se kapitel...). XttGraph objektet lggs in i
OpenGraph.GraphObject.
<image> geg_fig143.png
<b>Fig OpenGraph action
Man kan ven ppna en graf med action Command och kommandot
<c>open graph 'graphname' [/width=] [/height=]
eller en objektsbild med kommandot
<c>open graph /class /instance=
I det hr exemplet har vi satt Command i Action och lagt ett kommando fr att ppna
objektsbilden fr Av-objektet H4-Av1.
<image> geg_fig144.png
<b>Fig ppna en objektsbild
Om man redan har action PopupMenu och dessutom vill ppna objektsbilden nr man klickar
p objektet, d rcker det med att addera OpenGraph till action. Man behver inte fylla
i ngot objekt, utan det objekt som r angivet i PopupMenu.ReferenceObject vljs som default.
<image> geg_fig145.png
<b>Fig ppna objektsbilden nr PopupMenu r konfigurerat
<h2>Stnga en graf
Fr att stnga en graf anvnds action CloseGraph.
<image> geg_fig146.png
<b>Fig Trycknapp fr att stnga en graf
Vi skapar en trycknapp med texten 'Close' och stter Action till CloseGraph.
<image> geg_fig147.png
<b>Fig Action CloseGraph
</topic>
<topic> geg_action_command
Exekvera kommandon
Med action Command kan man ange ett xtt-kommando som exekveras nr man klickar p ett objekt.
Det finns en rad xtt-kommandon fr att ppna bilder, visa kurvor, anropa metoder etc. Xtt
kommandona finns beskrivna i Operator's Guide. Man kan ven exekvera script med Command.
I det har exemplet ska vi ppna en trend-kurva frn en trycknapp.
Vi skapar en rektangel, lgger en lmplig text ovanp och grupperar rektangeln och texten.
<image> geg_fig156.png
<b>Fig Kommando trycknapp
I Action markeras Command och i Command.Command lggs xtt-kommandot in. Vi vill ppna en
trend-kurva som r konfigurerad med DsTrend objektet H4-Av1-Trend, och kommandot fr att
ppna kurvan r
<c>open trend H4-Av1-Trend
<image> geg_fig157.png
<b>Fig Kommando fr att ppna en trend
<h2>Exekvera ett script
Med ett script kan man utfra flera kommandon samtidigt, men man kan ven lsa attribut
i databasen, test p olika villkor, och stta attribut.
Ett script exekveras med ett xtt-kommando genom att ange filnamnet fr scriptet med ett '@'
tecken framfr, t ex
<c>@$pwrp_exe/my_script
kommer att exekvera scriptet my_script.rtt_com p $pwrp_exe.
Hr r ett exempel p ett script som ppnar grafen g1 om H1-Dv1 r satt, annars ppnas grafen
g2.
<c>main()
<c> int sts;
<c>
<c> if ( GetAttribute( "H1-Dv1.ActualValue", sts))
<c> open graph g1
<c> else
<c> open graph g2
<c> endif
<c>endmain
</topic>
</chapter>
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment