Commit 815eb52e authored by Claes Sjofors's avatar Claes Sjofors

Ge doc added

parent 7e354194
src/doc/man/src/geg_fig90.png

5.59 KB | W: | H:

src/doc/man/src/geg_fig90.png

18.3 KB | W: | H:

src/doc/man/src/geg_fig90.png
src/doc/man/src/geg_fig90.png
src/doc/man/src/geg_fig90.png
src/doc/man/src/geg_fig90.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -1039,21 +1039,24 @@ 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.
Den frsta uppgiften, att visa lget i processen, stadkommer man genom att lgga in dynamik
i bilderna. Dynamiken kan vara att
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 i form av kurvor, staplar eller siffror <link>geg_dynamic_analog
visa analoga vrden <link>geg_dynamic_analog
flytta, skala eller rotera objekt <link>geg_dynamic_move
Ljud och kommandon <link>geg_dynamic_misc
Fr den andra uppgifen, att gra det mjligt fr operatren att pverka processen, lgger
man in action p objekt i processbilden. Action kan vara att
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
......@@ -1097,7 +1100,7 @@ F
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_fig87.png
<image> geg_fig88.png
<b>Fig Dynamik DigLowColor
Resultatet ses i figuren nedan. Nr signalen r hg r indikatorn orange, och signalen r
......@@ -1106,6 +1109,832 @@ l
<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>
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