Commit b112af7e authored by claes's avatar claes

Orm in swedish

parent 63658b57
#
# Class NMpsCell
#
<class> NMpsCell
@Summary Förvaringscell för data objekt.
Ett NMpsCell objekt är en förvaringscell för data objekt.
@image orm_nmpscell_fo.gif
Cellen innehåller ett antal positioner för att lagra referenser till dataobjekten.
Positionerna är indexerade från ett och uppåt. Varje position innehåller en
pekare till dataobjektet, objid för dataobjektet, två Boolean som markerar om
bakkant resp framkant befinner sig i cellen, samt slutligen dlid.
Första dataobjektet som läggs in i en cell hamnar alltid på index 1. När flera
objekt matas in läggs det senaste objektet på index 1 och de övriga objekten
förskjuts ett index.
Dataobjekten kan läggas in på två sätt i cellobjektet:
-mha ett trp objekt (NMpsTrp, NMpsTrpRR eller NMpsTrpFF) som lägger in
ett dataobjekt först eller sist i cellen.
-mha externfunktionen kan ett dataobjekt läggas in på valfri plats i cellen från
ett applikationsprogram (eller från rtt).
@h1 Underfönster
Ett underfönster till en NMpsCell används om samma operationer ska utföras
för samtliga dataobjekt i cellen. Koden i underfönstret kommer under ett plc
scan, först att exekveras en gång för att kunna initiera variabler i fönstret, och
sedan en gång för varje dataobjekt i cellen. Dataobjekten refereras med
CurrentData.
Om man vill separera dataobjeken kan man använda objektet CurrentIndex
som anger vilket index i cellobjektet som aktuellt dataobjekt ligger på. Under
initierings-exekveringen är CurrentData och CurrentIndex lika med noll.
Eftersom fönstret exekveras flera gånger i samma scan får det ej innehålla
objekt med tillståndsattribut. Följande
är tillåtna And, Or, ...
<attr>In
Koppling till ett NMpsTrp objekt.
</attr>
<attr>Out
Koppling till ett NMpsTrp objekt.
</attr>
<attr>MaxSize
Maximalt antal dataobjekt som ska rymmas i cellen (maxvärde 30).
</attr>
<attr>Function
Speciella funktioner hos cellobjektet.
Function är en bitmask och olika funktioner kan kombineras.
@b 4
Om ett objekt tas bort ur cellen med externfunktionen (ExternOpType = 2, 3 el
4) tas dataobjektet även bort ur rtdb.
@b 8
När cellen återställs genom att resetobjektet, sätts tas dataobjektet även bort ur
rtdb.
</attr>
<attr>LastIndex
Antal dataobjekt som cellen för närvarande innehåller.
</attr>
<attr>CellFull
Markerar att cellen är full (dvs aktuellt antal dataobjekt är lika med MaxSize).
</attr>
<attr>FrontNew
FrontNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom In, eller med extern operation 1.
</attr>
<attr>RearNew
RearNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom Out.
</attr>
<attr>ExternObjId
Objid för ett dataobjekt som ska läggas in eller tas bort från cellen från ett
externt program.
</attr>
<attr>ExternOpType
Typ av extern operation:
@b 0
Lägger in ExternObjId på index 1 i cellen.
@b 1
Lägger in ExternObjId på index angivits i ExternIndex i cellen.
@b 2
Tar bort dataobjekt på index 1 i cellen.
@b 3
Tar bort dataobjekt på index angett i ExternIndex i cellen.
@b 4
Tar bort dataobjekt med objid som angivits med ExternObjId från cellen.
@b 8
Flytta dataobjekt med objid som angivits med ExternObjid framåt i cellen.
@b 9
Flytta dataobjekt med objid som angivits med ExternObjid bakåt i cellen.
@b 10
Tar bort dataobjekt med objid som angivits med ExternObjId från cellen.
Dataobjektet tas inte bort ur databasen även om Function för cellen är 4.
</attr>
<attr>ExternFlag
Markerar att en externfunktion ska utföras. Externflag nollställs av cellobjektet
när operationen är utförd.
Externflag ska sättas sist av externt pgm. Om det finns risk för kollisioner
mellan externa program bör man kontrollera att Exterflag inte är satt.
</attr>
<attr>ExternIndex
Index i cellen där objekt ska läggas in eller tas bort (vid ExternOpType 1 och
3).
</attr>
<attr>ExternStatus
Resultat av senaste externoperation.
</attr>
<attr>DataLast_Pointer
Innehåller referens till dataobjekt med högsta index, dvs som närmast till att
transporteras ut genom Out.
</attr>
<attr>DataLast_ObjId
Objid för dataobjekt med högsta index i cellen.
</attr>
<attr>DataLast_Front
True om dataobjektet med högsta index i cellen har sin framända inne i cellen.
</attr>
<attr>DataLast_Back
True om dataobjektet med högsta index i cellen har sin bakända inne i cellen.
</attr>
<attr>Data1_Pointer
Referens till dataobjekt på index X i cellen.
</attr>
<attr>Data1_ObjId
Objid för dataobjekt på index X.
</attr>
<attr>Data1_Front
True om dataobjektet på index X har sin framända inne i cellen.
</attr>
<attr>Data_Back
True om dataobjektet på index X har sin bakända inne i cellen.
</attr>
</class>
#
# Class NMpsOutCell
#
<class> NMpsOutCell
@Summary Slutstation i en NMps sekvens.
NMpsOutCell objekt fungerar som slutstation i en NMps sekvens.
@image orm_nmpsoutcell_fo.gif
Ett objekt som transporteras in i ett NMpsOutCell objekt tas bort ur sekvensen.
NMpsOutCell objektet hanterar inte fram och bak-kant, dvs NMpsTrp objektet som
kopplas till In attributet ska ha Function 1 eller 2.
<attr>In
Koppling till ett NMpsTrp objekt.
</attr>
<attr>Function
Speciella funktioner hos cellobjektet.
@b 0
NMPS tar bort sin direktlänkning av dataobjektet, men objektet tas ej bort ur
databasen.
@b 4
Objektet tas bort ur databasen.
</attr>
</class>
#
# Class NMpsStoreCell
#
<class> NMpsStoreCell
@Summary Data cell med utvalsfunktion
NMpsStoreCell fungerar i stort som en NMpsCell.
@image orm_nmpsstorecell_fo.gif
Skillnaden ligger i att NMpsStoreCell innehåller ett utvals attribut för varje
dataobjekt. Vid en transport kommer det senast utvalda objektet att
transporteras. Är inte något dataobjekt utvalt flyttas det äldsta objektet,
som i NMpsCell.
Ett dataobjekt väljs ut genom att Select attributet sätts på det index där objektet
ligger. Detta kan göras från applikations program eller från en operatörsbild.
Man kan även välja ut ett dataobjekt med externfunktionen genom att ange
objid för dataobjektet.
Man kan begränsa antalen utvalda objekt till högst ett, eller till exakt ett mha
attributet Function.
<attr>In
Koppling till ett NMpsTrp objekt.
</attr>
<attr>Out
Koppling till ett NMpsTrp objekt.
</attr>
<attr>MaxSize
Maximalt antal dataobjekt som ska rymmas i cellen (maxvärde 30).
</attr>
<attr>Function
Speciella funktioner hos cellobjektet. Function är en bitmask och olika
funktioner kan kombineras.
Function
@b 0
Inga begränsningar på antal utvalda objekt.
@b 1
Högst ett objekt är utvalt. Om det finns ett utvalt objekt, och ett nytt väljs ut
kommer det tidigare utvalda att återställas.
@b 2
Exakt ett objekt är utvalt (om det finns objekt i cellen).
Om det finns ett utvalt objekt, och ett nytt väljs ut kommer det tidigare utvalda
att återställas.
Om det utvalda objektet transporteras ut ur cellen, eller om utval tas bort på
annat sätt, kommer det objekt med högsta index att väljas ut.
@b 4
Om ett objekt tas bort ur cellen med externfunktionen (ExternOpType = 2, 3 el
4) tas dataobjektet även bort ur rtdb. Detta funktion bör ej användas i de fall ett
dataobjekt kan befinna sig i flera celler samtidigt (Function 0 hos
transportobjektet).
@b 8
När cellen återställs genom att resetobjektet sätts, tas dataobjektet som finns i
cellen även bort ur databasen.
</attr>
<attr>LastIndex
Antal dataobjekt som cellen för närvarande innehåller.
</attr>
<attr>CellFull
Markerar att cellen är full (dvs aktuellt antal dataobjekt är lika med MaxSize).
</attr>
<attr>FrontNew
FrontNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom In, eller med extern operation 1.
</attr>
<attr>RearNew
RearNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom Out.
</attr>
<attr>ExternObjId
Objid för ett dataobjekt som ska läggas in eller tas bort från cellen från ett
externt program.
</attr>
<attr>ExternOpType
Typ av extern operation:
@b 0
Lägger in ExternObjId på index 1 i cellen.
@b 1
Lägger in ExternObjId på index angett i ExternIndex i cellen.
@b 2
Tar bort dataobjekt på index 1 i cellen.
@b 3
Tar bort dataobjekt på index angett i ExternIndex i cellen.
@b 4
Tar bort dataobjekt med objid som angetts med ExternObjId från cellen.
@b 5
Väljer ut dataobjekt med objid angett i ExternObjId.
@b 6
Lägger in ExternObjId på index 1 i cellen och väljer ut det.
@b 7
Tar bort utval på objekt angivet i ExternObjId.
@b 8
Flytta dataobjekt med objid som angivits med ExternObjid framåt i cellen.
@b 9
Flytta dataobjekt med objid som angivits med ExternObjid bakåt i cellen.
@b 10
Tar bort dataobjekt med objid som angivits med ExternObjId från cellen.
Dataobjektet tas inte bort ur databasen även om Function för cellen är 4.
</attr>
<attr>ExternFlag
Markerar att en externfunktion ska utföras. Externflag nollställs av cellobjektet
när operationen är utförd. Externflag ska sättas sist av externt pgm. Om det
finns risk för kollisioner mellan externa program bör man kontrollera att
Exterflag inte är satt.
</attr>
<attr>ExternIndex
Index i cellen där objekt ska läggas in eller tas bort (vid ExternOpType 1 och
3).
</attr>
<attr>ExternStatus
Resultat av senaste externoperation.
</attr>
<attr>DataLast_Pointer
Innehåller referens till dataobjekt med högsta index, dvs objektet som ligger
närmast till för att transporteras ut genom Out.
</attr>
<attr>DataLast_ObjId
Objid för dataobjekt med högsta index i cellen.
</attr>
<attr>DataLast_Front
True om dataobjektet med högsta index i cellen har sin framända inne i cellen.
</attr>
<attr>DataLast_Back
True om dataobjektet med högsta index i cellen har sin bakända inne i cellen.
</attr>
<attr>DataLast_Select
True om dataobjektet är utvalt.
</attr>
<attr>Data1_Pointer
Referens till dataobjekt på index 1 i cellen.
</attr>
<attr>Data1_ObjId
Objid för dataobjekt på index 1.
</attr>
<attr>Data1_Front
True om dataobjektet på index 1 har sin framända inne i cellen.
</attr>
<attr>Data1_Back
True om dataobjektet på index 1 har sin bakända inne i cellen.
</attr>
<attr>Data1_Select
True om dataobjektet är utvalt. Kan sättas och återställas från
applikationsprogram och operatörsbilder.
</attr>
</class>
#
# Class NMpsCellMir
#
<class> NMpsCellMir
@Summary Speglad datacell
NMpsCellMir speglar innehållet i en eller att antal andra celler.
@image orm_nmpsmirrorcell_fo.gif
De speglade cellerna kan ligga på samma nod eller på en annan nod.
Även dataobjekt och valda delar av innehållet i dataobjekt kan speglas.
Se beskrivning av objektet NMpsMirrorConfig för konfigurering av NMpsMirror
funktionen.
<attr>CellObjects
De cellobjekt som ska speglas. Cellobjekten kan ligga på samma eller på en
annan nod.
</attr>
<attr>NumberOfCellObj
Antal cellobjekt angivna i attributet 'CellObjects'.
</attr>
<attr>DataCollect
Anger att konverterade dataobjekt vars ursprungliga objekt har försvunnit ut ur
de speglade cellerna, ska samlas upp i en cell.
</attr>
<attr>CollectCell
Cell som borttagna konverterade dataobjekt samlas upp i.
</attr>
<attr>DataObjConv
Anger att dataobjekt i original cellerna ska speglas.
</attr>
<attr>ConvConfig
Konfigurationsobjekt som specificerar spegling och konvertering av dataceller.
</attr>
<attr>ReleaseTime
Tid i sekunder som ett försvunnet objekt ska hållas kvar av
speglingsfunktionen. Vid spegling mellan noder kan ett dataobjekt en kort
stund försvinna t ex vid en förflyttning mellan två celler. Genom att det
konverterade objektet sparas en viss tid återknyts kontakten med detta när
originalobjektet dyker upp igen.
</attr>
<attr>MaxSize
Maximalt antal dataobjekt som ska rymmas i cellen (maxvärde 30).
</attr>
<attr>Function
Ej implementerat.
</attr>
<attr>LastIndex
Antal dataobjekt som cellen för närvarande innehåller.
</attr>
<attr>CellFull
Markerar att cellen är full (dvs aktuellt antal dataobjekt är lika med MaxSize).
</attr>
<attr>DataLast_Pointer
Innehåller referens till dataobjekt med högsta index, dvs som närmast till att
transporteras ut genom Out.
</attr>
<attr>DataLast_ObjId
Objid för dataobjekt med högsta index i cellen.
</attr>
<attr>Data1_Pointer
Referens till dataobjekt på index 1 i cellen.
</attr>
<attr>Data1_ObjId
Objid för dataobjekt på index 1.
</attr>
</class>
#
# Class NMpsTrp
#
<class> NMpsTrp
@Summary Transport av dataobjekt mellan två celler.
Transporterar ett dataobjekt mellan två celler.
@image orm_nmpstrp_fo.gif
Transporten kan ske på olika sätt:
-Vid en trigg transporteras hela objektet mellan cellerna.
-Ett objekt flyttas successivt mellan cellerna med framkant först och bakkant
sedan (eller vice versa). Vid en trigg flyttas samtliga dataobjekt från en cell till
nästa cell.Vid en trigg flyttas samtliga dataobjekt till nästa cell under
förutsättning att destinationscellen är tom.
<attr>In
Kopplas till Out attributet på ett cellobjekt.
</attr>
<attr>Out
Kopplas till In attributet på ett cellobjekt.
</attr>
<attr>Function
Anger vilken typ av transport som transportobjektet ska utföra.
Function:
@b 0
Ett objekts flytta successivt mellan cellerna med framkant först och bakkant
sedan (eller vice versa).
Vid en positiv flank på TriggForwFront flyttas framkanten på dataobjektet från
In till Out.
Vid en positiv flank på TriggForwBack flyttas bakkanten från In till Out.
Vid en positiv flank på TriggReverseFront flyttas framkanten från Out till In.
Vid en positiv flank på TriggReverseBack flyttas bakkanten från Out till In.
@b 1
Ett objekt flyttas mellan cellerna. Endast Trigg...Front ingångarna ska
användas för att trigga en transport.
Vid en positiv flank på TriggFrowFront flyttas objektet från In till Out.
Vid en positiv flank på TriggReverseFront flyttas objektet från Out till In.
@b 2
Samtliga objekt i sändcellen flyttas.
Vid en positiv flank på TriggForwFront flyttas samtliga dataobjekt i cellen
kopplad till In, till cellen kopplad till Out. Vid en positiv flank på
TriggReverseFront flyttas samtliga dataobjekt i cellen kopplad till Out, till
cellen kopplad till In.
@b 4
Samma funktion som 2 med undantaget att flyttningen endast sker om
mottagarcellen är tom.
@b 8
Återställer trigg-ingångar (om dessa ej är kopplade).
@b 16
Trigga på nivå istället för positiv flank.
</attr>
<attr>TriggForwFront
Flyttar ett dataobjekt från In till Out vid positiv flank.
Flyttar samtliga objekt, ett objekt, eller endast framkanten av ett objekt
beroende på Function.
</attr>
<attr>TriggReverseFront
Flyttar ett dataobjekt från Out till In vid positiv flank.
Flyttar samtliga objekt, ett objekt, eller endast framkanten av ett objekt
beroende på Function.
</attr>
<attr>TriggForwBack
Flyttar bakkanten av ett dataobjekt från In till Out vid positiv flank. Kräver att
Function = 0.
</attr>
<attr>TriggReverseBack
Flyttar bakkanten av ett dataobjekt från Out till In vid positiv flank.
</attr>
<attr>Status
Är true om en förflyttning misslyckas beroende på någon av följande faktorer:
-Det finns inget dataobjekt i sändcellen
-Mottagarcellen är full.
-En framkants trigg kommer när en bakkantstrigg borde komma.
-En bakkantstrigg kommer när en framkantstrigg borde komma.
</attr>
</class>
#
# Class NMpsTrpRR
#
<class> NMpsTrpRR
@Summary Transport av dataobject mellan cellutgångar.
Förflyttar dataobjekt från en utgång på ett cellobjekt till en utgång på ett
annat cellobjekt.
@image orm_nmpstrprr_fo.gif
Funktionen är i övrigt identisk med ett NMpsTrp objekt Function =
0 bör ej användas (dvs Trp objektet ska hantera fram och bakkant) Om den
används kommer objektet att vändas av trp objektet eftersom framkanten måste
ligga före bakkanten i cell objekten. Dvs framkanten kommer att befinna sig
samtidigt i båda cellerna.
För beskrivning av attribut se NMpsTrp.
</class>
#
# Class NMpsTrpFF
#
<class> NMpsTrpFF
@Summary Transport av dataobject mellan cellingångar.
Förflyttar dataobjekt från en ingång på ett cellobjekt till en ingång på ett
annat cellobjekt.
@image orm_nmpstrpff_fo.gif
Funktionen är i övrigt identisk med ett NMpsTrp objekt Function =
0 bör ej användas (dvs Trp objektet ska hantera fram och bakkant) Om den
används kommer objektet att vändas av trp objektet eftersom framkanten måste
ligga före bakkanten i cell objekten. Dvs bakkanten kommer att befinna sig
samtidigt i båda cellerna.
För beskrivning av attribut se NMpsTrp.
</class>
#
# Class DataCopy
#
<class> DataCopy
@Summary Kopiering av data-objekt
Kopierar innehållet i ett dataobjekt till ett annat dataobjekt.
@image orm_datacopy_fo.gif
För närvarande måste ett av objekten vara refererat med en GetData.
@b Se även
<attr>DataFrom
Kopplas till en datareferens utgång.
</attr>
<attr>DataTo
Kopplas till en datareferens utgång.
</attr>
<attr>Condition
Om condition är true kommer kopieringen att ske, annars inte.
</attr>
</class>
#
# Clas DataReset
#
<attr> DataReset
@Summary Nollställer innehållet i ett dataobjekt
Nollställer innehållet i ett dataobjekt, dvs sätter samtliga attribut till binärt noll.
För närvarande måste objektet refereras med en GetData.
<attr>Data
Kopplas till en GetData.
</attr>
<attr>Condition
Om condition är true kommer nollställningen att ske, annars inte.
</attr>
</class>
#
# Class CurrentData
#
<class> CurrentData
@Summary Nuvarande objekt i NMpsCell underfönster
Objektet används i ett NMpsCell underfönster. Underfönstret kommer att
exekveras för varje dataobjekt som befinner sig i cellen och referenser till
dataobjekten i cellen sker med ett CurrentData objekt.
@image orm_currentdata_fo.gif
@b Se även
<attr>dataCurrent_Pointer
Kopplas till en datareferens ingång.
</attr>
</class>
#
# Class CurrentIndex
#
<class> CurrentIndex
@Summary Index för nuvarande objekt i NMpsCell underfönster
Hämta index för nuvarande objekt i NMpsCell underfönster
@image orm_currentindex_fo.gif
Objektet används i ett NMpsCell eller CLoop underfönster. Objektet hämtar
upp index för det dataobjekt som exekveras just nu.
<attr>dataCurrent_Index
Innehåller index för det dataobjekt som exekveras.
</attr>
</class>
#
# Class DataSelect
#
<class> DataSelect
@Summary Väljer en dataingång beroende på index.
Väljer en dataingång beroende på index.
@image orm_dataselect_fo.gif
Upp till sexton dataobject kan kopplas till SelectData, och en av dessa läggs ut
på utgången. Dataobjekten kan kopplas genom en GetData eller från en
NMpsCell el dyl.
Om Index < 1 väljs Da1, om Index > MaxIndex väljs den MaxIndex'te
ingången.
I MaxIndex ska antalet dataingångar anges som SelectData ska välja mellan.
Samtliga dataingångar mellan 1 och MaxIndex måste vara kopplade.
<attr>Index
Styr vilken dataingång som slussas över till utgången. Om Index = 1 väljs den
första dataingången etc.
</attr>
<attr>MaxIndex
Antalet dataingångar som DataSelect objektet väljer mellan.
</attr>
<attr>Da1
Da1 - Da16 är dataingångar som kopplas till GetData, NMpsCell objekt el dyl.
</attr>
<attr>Out
Datautgång som innehåller referens till utvalt data.
</attr>
</class>
#
# Class CLoop
#
<class> CLoop
@Summary Loop av underfönster
CLoop objektet innehåller ett underfönster som exekveras ett antal gånger
under ett plcpgm-exekveringsvarv.
@image orm_cloop_fo.gif
Antalet gånger exekveringen sker bestäms av attributen
StartIndex, StopIndex och Increment. Aktuellt loop index kan hämtas upp i
underfönstret med ett CurrentIndex objekt.
<attr>StartIndex
Index vid vilket loopen startar.
</attr>
<attr>StopIndex
Loopen fortsätter tills loop index är mindre eller lika med StopIndex.
</attr>
<attr>Increment
Värde som adderas till loop index vid varje varv.
</attr>
<attr>CurrentIndex
Innehåller loopindex under loopen. CurrentIndex kan nås från underfönstret
med objektet CurrentIndex.
</attr>
</class>
#
# Class Func
#
<class> Func
Func gör det möjligt att använda samma kod på flera olika ställen i ett system.
Om originalkoden ändras distribueras ändringen till respektive instans vid
nästa kompilering av denna.
Func objektet pekar på ett PlcPgm objekt under en $LibHier. I detta PlcPgm
ligger orginalkoden. Vid kompilering skapas en kopia av originalkoden som ett
underfönster till Func objektet. Till ett original PlcPgm kan knytas ett
godtyckligt antal Func objekt. In- och utgångar definieras i originalkoden
genom FuncInput och FuncOutput.
Originalkoden ska inte kompileras. Om en ändring görs i originalkoden ska
samtliga fönster som innehåller ett Func objekt som refererar till denna kod
kompileras om.
Func objektet innehåller 8 analoga och 8 digital in- och utgångar. Om detta
antal inte räcker till kan man utöka dem med ett FuncExtend objekt (och fler
FuncInput och FuncOutput objekt i originalkoden).
När man har skapat ett Func objekt och kopplat detta till ett PlcPgm kan man
efter kompilering öppna Func-objektets underfönster. View och Trace mod är
tillåten i detta fönster, editeringar ska göras i original-fönstret.
Referenser till objekt i underfönstret kan endast göras via objektsnamnet, ej via
objekts identiteten. Detta beror på att originalfönstret kopieras vid varje
kompilering och objekten byts ut. Referenser från prooper,
appilkationsprogram, rtt fungerar, dock ej t ex GetAp, GetDp, StoAp och
StoDp i plceditorn.
Kompilering av underfönstret sker automatiskt i samband med kompilering av
Func objektet. Underfönstret ska inte kompileras separat.
Om man vill ta bort ett Func objekt som har kompilerats och fått ett
underfönster måste man göra på ett lite speciellt sätt. Ta eventuellt en backup.
Gå in i plceditorn och ta bort alla kopplingar till Func-objektet. Gör save och
gå ur plceditorn. Ta upp konfiguratören och leta upp Func-objektet där. Gör
delete på objektet och det underliggande trädet.
<attr>Condition
Exekveringen av koden kan styras av Condition. Om Condition är 1 kommer
koden att exekveras, annars inte.
</attr>
<attr>A1
Analoga ingångar. Ingångarna kan kopplas eller datasättas från attributeditorn.
</attr>
<attr>d1
Digitala ingångar. Ingångarna kan kopplas eller
datasättas från attributeditorn.
</attr>
<attr>OA1
Analoga utgångar.
</attr>
<attr>od1
Digitala utgångar.
</attr>
<attr>Function
Namn på det PlcPgm objekt under vilket originalkoden ligger. Sista segmentet
av namnet visas grafiskt i objektet.
</attr>
</class>
#
# Class FuncExtend
#
<class> FuncExtend
Om antal in- eller utgångar i ett Func objekt ej räcker till kan man utöka dessa
med ett eller flera FuncExtend objekt. FuncExtend objektet kopplas till Func
objektet genom att Func objektets namn anges i attributet 'FuncObject'.
Till varje FuncExtend ska höra ett FuncInput/FuncOutput-par i originalfönstret.
Genom att ange samma index i alla tre objekten knyter dem till varandra. Man
kan utelämna FuncInput eller FuncOutput objekt om det endast behövs fler
utgångar resp ingångar.
Det första FuncExtend objektet bör ha index 1, det andra index 2, osv. Index 0
är reserverat för Func objektet.
<attr>A1
Analoga ingångar. Ingångarna kan kopplas eller datasättas från attributeditorn.
</attr>
<attr>d1
Digitala ingångar. Ingångarna kan kopplas eller datasättas från attributeditorn.
</attr>
<attr>OA1
Analoga utgångar.
</attr>
<attr>od1
Digitala utgångar.
</attr>
<attr>FuncObject
Namn på det Func objekt som ska utökas.
</attr>
<attr>Index
Index som anger vilket FuncInput/FuncOuput-par FuncExtend-objektet ska
kopplas till. Det första FuncExtend objektet ska ha index 1, det andra index 2
osv.
</attr>
</class>
#
# Class FuncInput
#
<class> FuncInput
Mha FuncInput objektet anger man vilka kopplingar i ett Func fönster som ska
hämtas från Func objektets ingångar (eller ett FuncExtend-objekts ingångar).
<attr>A1
Analoga utgångar från FuncInput objektet som kopplas till analoga ingångar i
ett Func eller FuncExtend objekt.
</attr>
<attr>d1
Digitala utgångar från FuncInput objektet som kopplas till digitala ingångar i
ett Func eller FuncExtend objekt.
</attr>
<attr>Index
Index som ska anger vilket Func eller FuncExtend objekt ingångarna ska
kopplas till. Index 0 innebär att de kommer att kopplas till Func objektet, index
> 0 att de kommer att kopplas till ett FuncExtend-objekt med samma index.
</attr>
</class>
#
# Class FuncOutput
#
<class> FuncOutput
Mha FuncOutpu objektet anger man vilka kopplingar i ett Func fönster som ska
läggas i Func objektets utgångar (eller ett FuncExtend-objekts utgångar).
<attr>OA1
Analoga ingångar från FuncOutput objektet som kopplas till analoga utgångar i
ett Func eller FuncExtend objekt..
</attr>
<attr>od1-od8
Digitala ingångar från FuncInput objektet som kopplas till digitala utgångar i
ett Func eller FuncExtend objekt.
</attr>
<attr>Index
Index som ska anger vilket Func eller FuncExtend objekt utgångarna ska
kopplas till. Index 0 innebär att de kommer att kopplas till Func objektet, index
> 0 att de kommer att kopplas till ett FuncExtend-objekt med samma index.
</attr>
</class>
#
# Class NMpsMirrorConfig
#
<class> NMpsMirrorConfig
@Summary Konfigurering av NMpsMirror processen
Konfigurering av NMpsMirror funktionen, dvs spegling av celler och data
objekt.
<attr>ScanTime
Cykeltid för rs_nmps_mirror.
</attr>
<attr>MirrorCellCount
Visar antal funna NMpsCellMir objekt.
</attr>
<attr>MirrorCellInitCount
Visar antal initierade NMpsCellMir objekt.
</attr>
<attr>OrigCellCount
Visar antal funna cellobjekt som ska speglas.
</attr>
<attr>RemoteOrigCellCount
Visar antal funna cellobjekt som ska speglas från en annan
nod.
</attr>
<attr>DataObjectCount
Visar antal dataobjekt som NmpsMirror funktionen för närvarande hanterar.
</attr>
<attr>ConvertDataCount
Visar antal dataobjekt som konverteras.
</attr>
<attr>RemoteDataCount
Visar antal dataobjekt som speglas från en annan nod.
</attr>
<attr>RemoteDataDownCount
Visar antal dataobjekt som speglas från en nod som man fn ej har kontakt med..
</attr>
<attr>PendingRemoveCount
Visar antal dataobjekt som är borttagen ur cellen men hålls kvar pga att
ReleaseTime i NMpsCellMir objektet ej ännu har uppnåtts.
</attr>
<attr>RemoveCount
Visar antal dataobjekt som har tagits bort ur speglings funktionen.
</attr>
<attr>CreateDataCount
Visar antal dataobjekt som har skapats i rtdb av speglingsfunktionen.
</attr>
<attr>DeleteDataCount
Visar antal dataobjekt som har tagits bort ur rtdb av speglingsfunktionen.
</attr>
<attr>ReconnectDataCount
Visar antal objekt som speglingsfunktionen har återknutit kontakten med.
</attr>
<attr>LoopCount
Visar antal varv speglings jobbet har gått.
</attr>
<attr>Initialize
Detta attribut kan sättas i runtim och medför ett en ny initiering av
speglingsfunktionen kommer att genomföras. Detta kan behövas t ex vid mjuk
omstart med ändringar i speglings funktionen.
</attr>
</class>
#
# Class NMpsConvConfig
#
<class> NMpsConvConfig
@Summary Konfigurering av spegling och konvertering av dataobjekt..
Konfigurering av spegling och konvertering av dataobjekt..
<attr>InDataClass
Klass på dataobjekt i de celler från vilken dataobjekt ska speglas.
</attr>
<attr>OutDataClass
Klass på de objekt som skapas av speglings funktionen.
</attr>
<attr>OutDataParent
Objekt under vilket skapade dataobjekt kommer att placeras.
</attr>
<attr>CopyOffset
Start offset i det ursprungliga dataobjektet på den dataarea som ska kopieras till
det nya objektet.
</attr>
<attr>PasteOffset
Offset i det nya objektet där den kopierade dataarean ska placeras.
</attr>
<attr>CopySize
Storlek i bytes på den dataarea som ska kopieras.
</attr>
<attr>UpdateTime
Ej implementerat
</attr>
</class>
#
# Class RemTransSend
#
<class> RemTransSend
@Summary Sändning av RemTrans
Objektet markerar ett objekt av typ RemTrans för sändning.
@image orm_remtranssend_fo.gif
I ett underfönster kan läggas kod för ifyllnad av sändbuffer.
Objektet exekverar först underfönstret och sätter sedan DataValid i
RemTrans objektet. Statusflaggor från RemTrans-objektet läggs ut på
utgångar i RemTransSend objektet.
<attr>RemTrans
Dataingång som kopplas till en GetData som pekar på RemTrans objektet.
</attr>
<attr>Send
Sändning av data sker på positiv flank. Underfönstret exekverar och DataValid
sätts i RemTrans objektet.
</attr>
<attr>Occupied
Markerar att RemTrans objektet inte kan hantera fler sändningar för tillfället,
beroende på att den senaste transen ännu inte har sänts, eller att om transarna
buffras, samtliga buffrar är upptagna.
</attr>
<attr>Buffer
Markerar att det finns buffrade transar.
</attr>
<attr>Error
Senaste sändningen resulterade i felstatus.
</attr>
</class>
#
# Class RemTransRcv
#
<class> RemTransRcv
@Summary Mottagning av RemTrans
Objektet övervakar ett objekt av typ RemTrans för mottagning av transar.
@image orm_remtransrcv_fo.gif
I ett underfönster kan läggas kod för uppackning av mottagningsbuffer.
När en trans har mottagits exekveras underfönstret och markerar med utgången
Recieved att en trans har mottagits.
<attr>RemTrans
Dataingång som kopplas till en GetData som pekar på RemTrans objektet.
</attr>
<attr>Received
Data har mottagits. DataValid i RemTrans objektet var satt och underfönstret
har exekverats. Received är sann i en cykel.
</attr>
</class>
#
# Class NMpsBackupConfig
#
<class> NMpsBackupConfig
@Summary Konfigurering av NMps backup
Konfigurering av backup av celler och dataobjekt. Backup av NMps sker på
cell objekt med backup-biten satt i Function attributet, samt på de data objekt
som ligger i dessa celler. Av dataobjekten sker en cyklisk backup, av
cellobjekten en cyklisk och en händelsestyrd backup.
Följande saker krävs för att få backup på NMps:
-Ett NMpsBackupConfig objekt ska finnas på noden.
-Programmet ssab_exe:rs_nmps_bck.exe läggs in iett
$Appl objekt (VMS) eller ssabb_root:<vax_eln.exe>
rs_nmps_bck.exe_eln läggs in i systemet mha EBUILD (ELN).
-Backup biten sätts i Function-attributet i de cellobjekt som ska backas upp.
Backupen lagras i två olika filer med extention .bck1 resp .bck2. Backupjobbet
alternerar mellan dessa två filer för att säkerställa att det alltid finns en
läsbar fil.
<attr>FullCycleTime
Tid i sekunder för tiden mellan två fullständiga backuper.
</attr>
<attr>IncrementCycleTime
Scantid i sekunder för den händelsestyrda backupen.
</attr>
<attr>BackupFile
Filnamn för backupfilen. Extention ska ej finnas med i filnamnet (filerna får
extention.bck1 och .bck2). Ska backupfilen finnas på en disk på en annan node
ska nodnummer eller nodnamn anges.
</attr>
<attr>BackupOn
1 om backupen ska i drift.
</attr>
<attr>NoRead
Denna sätts till 1 för att undvika inläsning av backupfilen vid systemstart (kan
sättas i pwrp_alias.dat).
</attr>
<attr>ReloadFailure
Sätt till 1 om inläsningen av backupen vid systemstart skulle misslyckas.
</attr>
<attr>ForceFullBackup
Om denna sätts till 1 kommer en fullständig backup att ske. ForceFullBackup
återställs av rs_nmps_bck jobbet.
</attr>
</class>
#
# Class DataRequest
#
<class> DataRequest
@Summary Förfrågan och mottagning av data-trans
DataRequest sänder en förfrågan med en nyckel och tar emot en data trans.
Förfrågan sker genom att en nyckel läggs in i objektets Key- eller KeyStr-
attribut. Man kan välja på heltalsnyckel eller ascii nyckel. Triggning av
förfrågan kan väljas att ske vid följande tillfällen:
-värdet i nyckelattributet har ändrats
-Trigg-ingången är sätt
-OpTrigg-attributet sätts.
Om svaret inte har kommit inom timeout-tiden, meddelas operatören.
Data i svaret kan hanteras på olika sätt beroende på Function-attributet.
@b 1
Data kopieras via DataConvert funktionen till ett statiskt objekt (dvs ett objekt
skapat i utvecklingsmiljön). Data i objektet kan visas upp i bilder, och
validering i plc-och applikations-program kan utföras.
@b 2
Ett dynamisk objekt skapas med samma namn som nyckeln, och data kopieras
till objektet via DataConvert funktionen. Objektet läggs in i en NMpsCell.
@b 3
Data kopieras till ett statiskt objekt, och väntar på acceptans från operatör
och/eller applikationen. När data accepterats skapas ett dynamisk objekt som
läggs in i en NMpsCell.
Acceptansen i tredje alternativet kan ske på tre olika sätt:
@b 1
Operatören accepterar data genom att sätta OpAccept attributet.
@b 2
Applikationen accepterar data genom att sätta Accept-ingången.
@b 3
Både operatören och applikationen måste ha accepterat data innan acceptansen
är komplett.
Om data ej accepteras sker återställning genom att Reset-ingången sätts eller
genom att OpReset-attributet sätts.
Förfrågan innehåller nyckel (string40) och ett statusord (int32).
Förfrågan och mottagning sker via RemTrans-objekt.
<attr>Out
Utgången kan kopplas till en NMpsCell. Kopplingen är enbart grafisk, den
verkliga kopplingen sker genom CellObject-attributet. Kopplingen ska göras
med en AnalogFeedback-koppling.
</attr>
<attr>Trigg
Triggar förfrågan på positiv flank. Function ska inte ha Change-biten satt för
att triggning ska ske med Trigg-ingången.
</attr>
<attr>Accept
Applikationen accepterar data i visnings-objektet och skapar ett dynamiskt
objekt som läggs i en cell. Accept och Cell bitarna i Function ska vara satt. Om
AcceptBoth biten är satt måste dessutom operatören ha accepterat i OpAccept
innan data accepteras.
</attr>
<attr>Reset
Väntan på acceptans återställs på positiv flank.
</attr>
<attr>Error
Utgång som indikerar att ett fel har registrerats. Error-utgången tas ner efter ett
scan.
</attr>
<attr>Key
Nyckel för data som efterfrågas, om nyckeln är ett heltal. IntKey-biten i
Function-attributet ska vara satt.
</attr>
<attr>KeyStr
Nyckel för data som efterfrågas, om nyckeln är en sträng. IntKey-bitet i
Function-attributet ska inte vara satt.
</attr>
<attr>Function
Anger vilken funktion som ska användas. En bitmask.
Bit, Namn, Funktion
@b 1
DisplayObject
Mottaget data kopieras till ett statiskt objekt, angivet i attributet DisplayObjekt.
@b 2
Accept
Innan ett dynamisk objekt skapas väntas på accept från operatör och/eller
applikation.
@b 4
CellInsert
Ett dynamisk objekt, namngivet efter nyckeln, skapas och läggs in i en cell.
@b 8
Change
Triggning av förfrågan sker genom att värdet i Key, eller KeyStr ändras.
Triggning sker ej om värdet är 0 eller en NULL-string. Om biten ej är satt sker
triggning med Trigg-ingången eller OpTrigg attributet.
@b 16
AcceptBoth
För att data ska accepteras, måste både Accept-ingången och OpAccept-
attributet ha satts.
@b 32
DisplayReset
Vid återställning nollställs visningsobjektet.
@b 64
IntKey
Nyckeln är ett heltal som läggs i attributet Key. Om biten ej är satt är nyckeln
en sträng i KeyStr.
</attr>
<attr>TimeoutTime
Timeout tid för en förfrågan. Om svar ej har erhållits inom tiden skickas ett
meddelande till operatören. Texten hämtas från AlarmText[0], om denna är
ifylld.
</attr>
<attr>AlarmText
Meddelande som skickas tilll operatören när något går snett. Meddelandet
sänds som B-larm.
AlarmText[0] Meddelande vid timeout.
AlarmText[1] Cellen som det skapade objektet ska läggas i är full.
AlarmText[2] Acceptans-begäran detekterad utan att objektet väntar på
acceptans.
AlarmText[3] Fatalt fel, ytterligare info finns på konsolloggen.
AlarmText[4] Det dynamiska objektet som ska skapas finns redan.
AlarmText[5] Reserv.
</attr>
<attr>ReturnStatus
Om status-ordet i mottagar-transen matchar ett värdet i ReturStatus, sänds ett
meddelande till operatören. Texten hämtas från ReturnStatusText (med samma
index).
</attr>
<attr>ReturnStatusText
Larmtext som skickas vid olika ReturStatus.
</attr>
<attr>DisplayObject
Visningsobjekt. Data i transen kopieras till objektet vi DataConvert funktionen.
Vid acceptans kopieras det vidare till ett dynamiskt objekt, om så önskas.
</attr>
<attr>SendRemTrans
RemTrans-objekt som används för att sända förfrågan.
</attr>
<attr>RcvRemTrans
RemTrans-objekt som används för att ta emot data.
</attr>
<attr>CellObject
NMpsCell-objekt som det skapade objektet ska läggas in i.
</attr>
<attr>DataClass
Klass för objekt som skapas.
</attr>
<attr>DataParent
Plats i hierarkin under vilken skapade objekt ska läggas.
</attr>
<attr>ToConvdef
</attr>
<attr>FromConvDef
Se DataCnv objektet.
</attr>
<attr>OpTrigg
Triggning från operatören. OpTrigg återställs automatiskt efter att triggningen
registrerats.
</attr>
<attr>OpAccept
Acceptans från operatören. OpAccept återställs automatisk efter att
acceptansen registrerats.
</attr>
<attr>OpReset
Reset från operatören. OpReset återställs automatiskt efter att OpReset har
registrerats.
</attr>
</class>
#
# Class DataRcv
#
<class> DataRcv
@Summary Mottagning av data-trans.
DataRcv tar emot en trans.
Data i svaret kan hanteras på olika sätt beroende på Function-attributet:
@b 1
Data kopieras via DataConvert funktionen till ett statiskt objekt (dvs ett objekt
skapat i utvecklingsmiljön). Data i objektet kan visas upp i bilder, och
validering i plc-och applikations-program kan utföras.
@b 2
Ett dynamisk objekt skapas med samma namn som nyckeln, och data kopieras
till objektet via DataConvert funktionen. Objektet läggs in i en NMpsCell.
@b 3
Data kopieras till ett statiskt objekt, och väntar på acceptans från operatör
och/eller applikationen. När data accepterats skapas ett dynamisk objekt som
läggs in i en NMpsCell.
Acceptansen i tredje alternativet kan ske på tre olika sätt:
@b 1
Operatören accepterar data genom att sätta OpAccept attributet.
@b 2
Applikationen accepterar data genom att sätta Accept-ingången.
@b 3
Både operatören och applikationen måste ha accepterat data innan acceptansen
är komplett.
Om data ej accepteras sker återställning genom att Reset-ingången sätts, eller
genom att OpReset-attributet sätts.
Kvittens kan skickas till sändaren. Förfrågan och mottagning sker via
RemTrans-objekt.
<attr>Out
Utgången kan kopplas till en NMpsCell. Kopplingen är enbart grafisk, den
verkligakopplingen sker genom CellObject-attributet. Kopplingen ska göras
med en AnalogFeedback-koppling.
</attr>
<attr>Accept
Applikationen accepterar data i visnings-objektet och skapar ett dynamiskt
objekt som läggs i en cell. Accept och Cell bitarna i Function ska vara satt. Om
AcceptBoth biten är satt måste dessutom operatören ha accepterat i OpAccept
innan acceptansen är komplett.
</attr>
<attr>Reset
Väntan på acceptans återställs på positiv flank.
</attr>
<attr>Error
Utgång som indikerar att ett fel har registrerats.
Error-utgången tas ner efter ett scan.
</attr>
<attr>Key
Nyckel för data som efterfrågas. Key används om nyckeln är ett heltal.
IntKey-biten i Function-attributet ska vara satt.
</attr>
<attr>KeyStr
Nyckel för data som efterfrågas. KeyStr används om nyckeln är en sträng.
IntKey-biten i Function-attributet ska inte vara satt.
</attr>
<attr>Function
Anger vilken funktion som ska användas. En bitmask.
Bit, Namn, Funktion
@b 1
DisplayObject
Mottaget data kopieras till ett statiskt objekt, angivet i attributet DisplayObjekt.
@b 2
Accept
Innan ett dynamisk objekt skapas väntas på accept från operatör och/eller
applikation.
@b 4
CellInsert
Ett dynamisk objekt, namngivet efter nyckeln, skapas och läggs in i en cell.
@b 8
Ack
Kvittens skickas till sändaren. Kvittensen skickas med remtrans-objektet
angivet i SendRemTrans.
@b 16
AcceptBoth
För att data ska accepteras, måste både Accept-ingången och OpAccept-
attributet ha satts.
@b 32
DisplayReset
Vid återställning nollställs visningsobjektet.
@b 64
Header
Mottagen trans antas innehålla en header med nyckel (string40) och status
(int32). Om motsvarande bit sätts i sändande DataSend-objekts Function-
attribut kommer en header att läggas i transen. En header erfordras om ett
dynamiskt objekt ska skapas.
@b 128
AckOther
Mottagningen av data fungerar samtidigt som en kvittens för en tidigare
sändning från ett DataSend-objekt. Den nyckel som DataSend-objektet skickar
måste finnas i den mottagna transen.
</attr>
<attr>AlarmText
Meddelande som skickas tilll operatören när något går snett. Meddelandet
sänds som B-larm.
AlarmText[0] Reserv.
AlarmText[1] Cellen som det skapade objektet ska läggas i är full.
AlarmText[2] Acceptans-begäran detekterad utan att objektet väntar på
acceptans.
AlarmText[3] Fatalt fel, ytterligare info finns på konsolloggen.
AlarmText[4] Det dynamiska objekt som ska skapas finns redan i rtdb.
AlarmText[5] Reserv.
</attr>
<attr>DisplayObject
Visningsobjekt. Data i transen kopieras till objektet vi DataConvert funktionen.
Vid acceptans kopieras det vidare till ett dynamiskt objekt, om så önskas.
</attr>
<attr>SendRemTrans
RemTrans-objekt som används för att sända kvittens.
</attr>
<attr>RcvRemTrans
RemTrans-objekt som används för att ta emot data.
</attr>
<attr>CellObject
NMpsCell-objekt som det skapade objektet ska läggas in i.
</attr>
<attr>DataClass
Klass för objekt som skapas.
</attr>
<attr>DataParent
Plats i hierarkin under vilken skapade objekt ska läggas.
</attr>
<attr>ToConvdef
</attr>
<attr>FromConvDef
Se DataCnv objektet.
</attr>
<attr>OpAccept
Acceptans från operatören. OpAccept återställs automatisk efter det
acceptansen registrerats.
</attr>
<attr>OpReset
Reset från operatören. OpReeset återställs automatiskt efter att OpReset har
registrerats.
</attr>
</class>
#
# Class DataSend
#
<class> DataSend
@Summary Sändning av data-trans
DataSend sänder en trans och väntar ev på kvittens.
Om kvittensen inte har kommit inom timeout-tiden, meddelas operatören.
Sändning och mottagning av kvittens sker via RemTrans-objekt.
Transen kan innehålla en header med bl a objektsnamn, om t ex motsvarande
objekt ska skapas i mottagaränden.
<attr>DataIn
Ingång som kopplas till en data utgång. Objektet som ingången pekar på
kommer att konverteras och läggas i transen. En header som innehåller bl a
objektsnamn kan läggas i transen om t ex motsvarande objekt ska skapas i
mottagarnoden.
</attr>
<attr>Trigg
Triggar sändning på positiv flank.
</attr>
<attr>DataSent
Markerar att data har sänts. Om kvittens har begärts sätts DataSent när
kvittensen har anlänt. DataSent återställs efter ett scan.
</attr>
<attr>Error
Utgång som indikerar att ett fel har registrerats.
Error-utgången tas ner efter ett scan.
</attr>
<attr>Function
Anger vilken funktion som ska användas. En bitmask.
Bit, Namn, Funktion:
@b 8
Ack
En kvittens förväntas komma genom RcvRemTrans objektet inom Timout
tiden. DataSent flaggan sätts inte förrän kvittensen har anlänt.
@b 64
Header
En header läggs först i transen innehållande objektsnamn (string40) och status
(int32).
@b 128
AckOther
En kvittens förväntas komma till ett godtyckligt DataRcv-objekt, dvs
kvittensen kan innehålla data. Function för DataRcv-objektet ska också vara
AckOther. DataSent flaggan sätts vid sändningen och ej när kvittensen
kommer.
</attr>
<attr>TimeoutTime
Timeout tid för en sändning. Om kvittens ej har erhållits inom tiden skickas ett
meddelande till operatören (om AlarmText[0] är ifylld). Kvittens biten i
Function attributet måste vara satt.
</attr>
<attr>AlarmText
Meddelande som skickas till operatören när något går snett. Meddelandet sänds
som B larm.
AlarmText[0] Meddelande vid timeout.
AlarmText[1] DataIn pekar ej på något dataobjekt. Triggning kan ej utföras.
AlarmText[2] Reserv.
AlarmText[3] Fatalt fel, ytterligare info finns på konsolloggen.
AlarmText[4] Reserv.
AlarmText[5] Reserv.
</attr>
<attr>ReturnStatus
Om status-ordet i kvittens-transen matchar ett värdet i ReturStatus sänds ett
meddelande till operatören med texten i ReturnStatusText med samma index.
</attr>
<attr>ReturnStatusText
Larmtext som skickas vid olika ReturStatus.
</attr>
<attr>SendRemTrans
RemTrans-objekt som används för att sända data.
</attr>
<attr>RcvRemTrans
RemTrans-objekt som används för att ta emot kvittens
</attr>
<attr>ToConvdef
</attr>
<attr>FromConvDef
Se DataCnv objektet.
</attr>
</class>
#
# Class DataCnv
#
<class> DataCnv
@Summary Konvertering av data-objekt
DataCnv konverterar data i ett objekt och lägger resultatet i ett annat objekt. In-
och ut-objekt anges med grafiska kopplingar.
Konverteringen definieras med två konverterings definitioner. Dessa anger hur
data i in- resp ut-objektet är strukturerat.
Konverteringen sker genom att attribut i de båda konverteringsdefinitionerna
paras ihop om de har samma namn. Om ett attribut har samma typ i båda
definitionerna kommer det att resultera i en memcpy, annars sker en
konvertering.
Datastrukturen definieras i objekt av klasses ConvDef. I detta objekt
specificerar man typ, namn och eventuellt storlek och format för elementen i
datastrukturen. En rad i ConvDef objektet innehåller två argument: typ och
namn, samt i vissa fall ett tredje: storlek, format el dyl.
@h2 Typ
Beskrivning Kommentar
Char 8-bitars Character
Boolean Boolean
Int8 8-bitars int
UInt8 8-bitars unsigned int
Int16 16-bitars int
UInt16 16-bitars unsigned int
Int32 32-bitars int
UInt32 32-bitars unsigned int
Float32 32-bitars float
Om konvertering till String eller Ascii anges format i tredje argumenet (c-
syntax, t ex "%8.2f".
Float64 64-bitars float
String Null-terminerad sträng
Elementets storlek ska specifieras i tredje argumentet (antal byte).
@b Ascii
Sträng utfylld med space
Elementets storlek ska specifieras i tredje argumentet (antal byte).
@b Binary
Binärt eller ospecificerat element
Elementets storlek ska specifieras i tredje argumentet (antal byte).
@b Unknown
Okänt element
Elementets storlek ska specifieras i tredje argumentet (antal byte).
Implementerade konverteringar:
@bFrån Till
Char String
Int16 Int32
Int32 Int16
Float32
String
Float32 Int32
String
Ascii
String Int32
Float32
Ascii Int32
Float23
<attr>DataFrom
Ingång som kopplas till en data utgång. Data i objektet
som ingången pekar på kommer att konverteras och läggas i objektet som
DataTo pekar på.
</attr>
<attr>DataTo
Ingång som kopplas till en data utgång. Konverterad data
läggs i objektet som ingången pekar på.
</attr>
<attr>Condition
När Condition är sann sker konvertering. Om Condition ej
kopplas sker alltid konvertering.
</attr>
<attr>ToConvdefType
Anger vilken typ av konverterings-definition som används.
ConvDefType, Namn, Funktion:
@b 0
Object
Konverteringen definieras av ett objekt av klassen ConvDef. Attributet
ToConvDef innehåller ConvDef objektet.
@b 1
File
Konverteringen definieras av en fil.
@b 2
Class
Konverteringen definieras av en klass.
</attr>
<attr>ToConvdef
Objekt av klassen ConvDef eller en klass som specificerar datastrukturen i
DataFrom objektet.
</attr>
<attr>ToConvdefFile
Filspecifiktation som på en fil som specificerar datastrukturen i DataFrom
objektet.
</attr>
<attr>FromConvdefType
Se ToConvdefType. Motsvarande funktion för DataFrom objektet.
</attr>
<attr>FromConvdef
Se ToConvdef. Motsvarande funktion för DataFrom objektet.
</attr>
<attr>FromConvdefFile
Se ToConvdefFile. Motsvarande funktion för DataFrom objektet.
</attr>
</class>
#
# Class CellDisp
#
<class> CellDisp
@Summary Visning av dataobjekt i NMps-celler
CellDisp används för att visa innehållet i de data-objekt som ligger i
NMpsCell-objekt i operatörsbilder. Det ger också möjlighet åt operatören att ta
bort data-objekt, flytta data-objekt bakåt eller framåt i en cell, välja ut ett
dataobjekt för att visa mer information om objektet.
@image orm_celldisp_fo.gif
CellDisp-objektet gör det möjligt att visa en tabell över data-objekten i en cell,
med objektsnamn och ett antal utvalda attribut. CellDisp-objektet innehåller ett
antal vektorer dit valda attribut i data-objekten i cellerna kopieras. Vektorerna
kan sedan visas i en operatörsbild.
Det finns även en utvalsfunktion med vilken ett objekt kan väljas ut. Det
utvalda objektet kopieras till ett visningsobjekt, dvs ett permanent objekt av
samma klass som de dataobjekt som finns i cellen. Om man i en operatörsbild
visar innehållet i visningsobjektet kommer detta alltid att spegla det utvalda
objektet.
Om man har flera tabeller i samma bild, men vill ha en gemensam
utvalsfunktion, kopplar man samman ett antal CellDisp-objekt mha ett
DispLink-objekt. DispLink-objektet ser till att högst ett objekt är utvalt
samtidigt. I DispLink-objektet finns dessutom funktioner för att ta bort det
utvalda objektet, flytta det utvalda objektet ett steg framåt eller bakåt i cellen.
Utvalet sker antingen genom att varje tabellrad förses med en utvals-
tryckknapp, eller med SelectNext/SelectPrevious funktion som finns i
DispLink objeket. Genom SelectNext/SelectPrevious kan utvalet ske mha
funktionstangenter i de fall detta är att föredra framför mus-klickningar.
En tabell kan visa objekten i upp till 10 celler. I CellDisp-objektet finns det
plats för 5 attribut av typen float, 5 integer och 5 boolean. Dessutom finns en
vektor som innehåller objid för data-objekten.
Max antal dataobjekt som kan visas i samma tabell är 60.
Samma CellDisp kan hämta in dataobjekt från upp till 10 cell-objekt.
Cell objektet kan vara av klassen NMpsCell eller NMpsStoreCell.
Ett DispLink-objekt kan länka ihop ett obegränsat antal CellDisp-objekt.
Utvalsfunktionen är tv ej kopplad till urvalsfunktionen i NMpsStoreCell-
objeket.
<attr>Cell1
Cell1-Cell10 kopplas till GetData-objekt som refererar objekt av klassen
NMpsCell eller NMpsStoreCell.
</attr>
<attr>Link
Kopplas till utgången på ett DispLink-objekt. Används för att länka
urvalsfunktionen med andra CellDisp-objekt, eller för att utnyttja funktioner
för att ta bort objekt ur cellen, flytta objekt framåt eller bakåt i cellen,
välja ut nästa eller föregående.
</attr>
<attr>DisplayObject
Kopplas till GetData-objekt som refererar ett visnings-objekt av samma klass
som de dataobjekt som hanteras i cellerna. DisplayObject gör det möjligt att
visa upp mer detaljerad information om det utvalda objektet genom att
innehållet i utvalt objekt kommer att kopieras till visnings-objektet.
</attr>
<attr>DataClass
Klassen på de dataobjekt som hanteras i cellerna.
</attr>
<attr>Function
Function:
0 Normal funktion.
1 Data-objekten läggs i omvänd ordning i CellDisp-objektet.
</attr>
<attr>Number
Om utvals-funktionen ska vara gemensam med andra DispCell-objekt måste
det finnas en ordning mellan objekten, som bestämmer i vilken ordning utvalet
hoppar mellan olika DispCell-tabeller. DispCell-objekten som är kopplade till
ett gemensamt DispLink-objekt numreras från ett och uppåt. Numret för varje
DispLink-objekt som tillhör en länk måste vara unikt, och det får inte finnas
något hopp i nummerserien.
</attr>
<attr>MaxSize
Storlek på den tabell som visas upp (antal rader). MaxSize kan inte vara större
än 60.
</attr>
<attr>SelDirection
SelDirection ändrar utvals-riktningen, dvs man får omvänd funktion för
funktionerna SelectNext /SelectPrevious och MoveForward/MoveBackward.
Detta kan vara användbart om man har länkat ihop flera CellDisp-objekt, och
en del tabeller visar dataobjekten i rättvänd ordning, andra i omvänd ordning.
Betydelsen av ‘Next’ och ‘Previous’ är då inte entydig.
SelDirection 0 innebär att Next och Forward syftar mot högre index i cellen,
SelDirection 1 att Next och Forward syftar mod lägre index.
</attr>
<attr>FloatAttr
Vektor pwr_tString32 med 5 element. Här anges namnet på de attribut
dataobjekten av typen float som ska visas i tabellen. Max 5 attribut kan anges.
Attributet i FloatAttr[0] kommer att kopieras till F1, FloatAttr[1] till F2 osv.
</attr>
<attr>BooleanAttr
Vektor pwr_tString32 med 5 element. Här anges namnet på del attribut i
dataobjekten av typen boolean som ska visas i tabellen. Max 5 attribut kan
anges. Attributet i BooleanAttr[0] kommer att kopieras till B1, BooleanAttr[1]
kommer att kopieras till B2 osv.
</attr>
<attr>IntAttr
Vektor pwr_tString32 med 5 element Här anges namnet på del attribut i
dataobjekten av typen integer som ska visas i tabellen. Max 5 attribut kan
anges. Attributet i IntAttr[0] kommer att kopieras till I1, IntAttr[1] kommer att
kopieras till I2 osv.
</attr>
<attr>Select
Vektor pwr_tBoolean med 60 element. Ett objekt på rad i väljs ut genom att
Select[i] sätts. Select[n] kopplas i operatörsbilden till en tryckknapp för rad n i
tabellen. OBS! pwr_SetDig kan ej användas i gms eftersom den ej hanterar
vektorer, använd pwr_SetValue istället.
</attr>
<attr>Objid
Vektor pwr_tObjid med 60 element. Innehåller objid för dataobjekt i cellen.
</attr>
<attr>F1
F1-F5 är vektorer pwr_tFloat32 med 60 element. Innehåller värde i attributen
angivet i FloatAtt för respektive dataobjekt i cellen.
</attr>
<attr>B1
B1-B5 är vektorer pwr_tBoolean32 med 60 element. Innehåller värde i attributen
angivet i BooleanAtt för respektive dataobjekt i cellen.
</attr>
<attr>I1
I1-I5 är vektorer pwr_tInt32 med 60 element. Innehåller värde i attributen
angivet i IntAtt för respektive dataobjekt i cellen.
</attr>
</class>
#
# Class DispLink
#
<class> DispLink
@Summary Länkning av CellDisp objekt
Ett DispLink-objekt kopplas till ett eller flera CellDisp för att samordna
utvalsfunktionen i CellDisp-objeketen, samt för att hantera bortagning och
omflyttning av objeket i cellerna.
<attr>MoveForward
Flyttar utvalt objekt ett steg framåt (till närmast högre index) i cellen.
Förflyttning kan endast ske inom en cell.
</attr>
<attr>MoveBackward
Flyttar utvalt objekt ett steg bakåt (till närmast lägre index) i cellen.
Förflyttning kan endast ske inom en cell.
</attr>
<attr>Remove
Ta bort utvalt objekt.
Objektet tas bort ur cellen mha cellens extern funktion. Eventuellt (beroende på
Function i cellen) tas även objektet bort ur databasen.
</attr>
<attr>SelectNext
Väljer ut nästa objekt, dvs objektet som ligger på närmast högre index relativt
utvalt objekt. Om det inte finns något objekt på högre index i cellen, väljs
objektet på index 0 i cellen med närmast högre Number.
Om det inte finns en cell med högre Number väljs objektet på index 0 i cellen
med Number 1.
</attr>
<attr>SelectPrevious
Väljer ut föregående objekt, dvs objektet som ligger på närmast lägre index
relativt utvalt objekt. Om det inte finns något objekt på lägre index i cellen,
väljs objektet med högsta index i cellen med närmast lägre Number.
Om det inte finns en cell med lägre Number väljs objektet med högsta index i
cellen med högst Number.
</attr>
<attr>SelectObjid
Innehåller objid för utvalt objekt. Härifrån kan utvalt objekt hämtas från t ex ett
applikationsprogram.
</attr>
</class>
#
# Class NMpsCell
#
<class> NMpsCell
@Summary Förvaringscell för data objekt.
Ett NMpsCell objekt är en förvaringscell för data objekt.
@image orm_nmpscell_fo.gif
Cellen innehåller ett antal positioner för att lagra referenser till dataobjekten.
Positionerna är indexerade från ett och uppåt. Varje position innehåller en
pekare till dataobjektet, objid för dataobjektet, två Boolean som markerar om
bakkant resp framkant befinner sig i cellen, samt slutligen dlid.
Första dataobjektet som läggs in i en cell hamnar alltid på index 1. När flera
objekt matas in läggs det senaste objektet på index 1 och de övriga objekten
förskjuts ett index.
Dataobjekten kan läggas in på två sätt i cellobjektet:
-mha ett trp objekt (NMpsTrp, NMpsTrpRR eller NMpsTrpFF) som lägger in
ett dataobjekt först eller sist i cellen.
-mha externfunktionen kan ett dataobjekt läggas in på valfri plats i cellen från
ett applikationsprogram (eller från rtt).
@h1 Underfönster
Ett underfönster till en NMpsCell används om samma operationer ska utföras
för samtliga dataobjekt i cellen. Koden i underfönstret kommer under ett plc
scan, först att exekveras en gång för att kunna initiera variabler i fönstret, och
sedan en gång för varje dataobjekt i cellen. Dataobjekten refereras med
CurrentData.
Om man vill separera dataobjeken kan man använda objektet CurrentIndex
som anger vilket index i cellobjektet som aktuellt dataobjekt ligger på. Under
initierings-exekveringen är CurrentData och CurrentIndex lika med noll.
Eftersom fönstret exekveras flera gånger i samma scan får det ej innehålla
objekt med tillståndsattribut. Följande
är tillåtna And, Or, ...
<attr>In
Koppling till ett NMpsTrp objekt.
</attr>
<attr>Out
Koppling till ett NMpsTrp objekt.
</attr>
<attr>MaxSize
Maximalt antal dataobjekt som ska rymmas i cellen (maxvärde 30).
</attr>
<attr>Function
Speciella funktioner hos cellobjektet.
Function är en bitmask och olika funktioner kan kombineras.
@b 4
Om ett objekt tas bort ur cellen med externfunktionen (ExternOpType = 2, 3 el
4) tas dataobjektet även bort ur rtdb.
@b 8
När cellen återställs genom att resetobjektet, sätts tas dataobjektet även bort ur
rtdb.
</attr>
<attr>LastIndex
Antal dataobjekt som cellen för närvarande innehåller.
</attr>
<attr>CellFull
Markerar att cellen är full (dvs aktuellt antal dataobjekt är lika med MaxSize).
</attr>
<attr>FrontNew
FrontNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom In, eller med extern operation 1.
</attr>
<attr>RearNew
RearNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom Out.
</attr>
<attr>ExternObjId
Objid för ett dataobjekt som ska läggas in eller tas bort från cellen från ett
externt program.
</attr>
<attr>ExternOpType
Typ av extern operation:
@b 0
Lägger in ExternObjId på index 1 i cellen.
@b 1
Lägger in ExternObjId på index angivits i ExternIndex i cellen.
@b 2
Tar bort dataobjekt på index 1 i cellen.
@b 3
Tar bort dataobjekt på index angett i ExternIndex i cellen.
@b 4
Tar bort dataobjekt med objid som angivits med ExternObjId från cellen.
@b 8
Flytta dataobjekt med objid som angivits med ExternObjid framåt i cellen.
@b 9
Flytta dataobjekt med objid som angivits med ExternObjid bakåt i cellen.
@b 10
Tar bort dataobjekt med objid som angivits med ExternObjId från cellen.
Dataobjektet tas inte bort ur databasen även om Function för cellen är 4.
</attr>
<attr>ExternFlag
Markerar att en externfunktion ska utföras. Externflag nollställs av cellobjektet
när operationen är utförd.
Externflag ska sättas sist av externt pgm. Om det finns risk för kollisioner
mellan externa program bör man kontrollera att Exterflag inte är satt.
</attr>
<attr>ExternIndex
Index i cellen där objekt ska läggas in eller tas bort (vid ExternOpType 1 och
3).
</attr>
<attr>ExternStatus
Resultat av senaste externoperation.
</attr>
<attr>DataLast_Pointer
Innehåller referens till dataobjekt med högsta index, dvs som närmast till att
transporteras ut genom Out.
</attr>
<attr>DataLast_ObjId
Objid för dataobjekt med högsta index i cellen.
</attr>
<attr>DataLast_Front
True om dataobjektet med högsta index i cellen har sin framända inne i cellen.
</attr>
<attr>DataLast_Back
True om dataobjektet med högsta index i cellen har sin bakända inne i cellen.
</attr>
<attr>Data1_Pointer
Referens till dataobjekt på index X i cellen.
</attr>
<attr>Data1_ObjId
Objid för dataobjekt på index X.
</attr>
<attr>Data1_Front
True om dataobjektet på index X har sin framända inne i cellen.
</attr>
<attr>Data_Back
True om dataobjektet på index X har sin bakända inne i cellen.
</attr>
</class>
#
# Class NMpsOutCell
#
<class> NMpsOutCell
@Summary Slutstation i en NMps sekvens.
NMpsOutCell objekt fungerar som slutstation i en NMps sekvens.
@image orm_nmpsoutcell_fo.gif
Ett objekt som transporteras in i ett NMpsOutCell objekt tas bort ur sekvensen.
NMpsOutCell objektet hanterar inte fram och bak-kant, dvs NMpsTrp objektet som
kopplas till In attributet ska ha Function 1 eller 2.
<attr>In
Koppling till ett NMpsTrp objekt.
</attr>
<attr>Function
Speciella funktioner hos cellobjektet.
@b 0
NMPS tar bort sin direktlänkning av dataobjektet, men objektet tas ej bort ur
databasen.
@b 4
Objektet tas bort ur databasen.
</attr>
</class>
#
# Class NMpsStoreCell
#
<class> NMpsStoreCell
@Summary Data cell med utvalsfunktion
NMpsStoreCell fungerar i stort som en NMpsCell.
@image orm_nmpsstorecell_fo.gif
Skillnaden ligger i att NMpsStoreCell innehåller ett utvals attribut för varje
dataobjekt. Vid en transport kommer det senast utvalda objektet att
transporteras. Är inte något dataobjekt utvalt flyttas det äldsta objektet,
som i NMpsCell.
Ett dataobjekt väljs ut genom att Select attributet sätts på det index där objektet
ligger. Detta kan göras från applikations program eller från en operatörsbild.
Man kan även välja ut ett dataobjekt med externfunktionen genom att ange
objid för dataobjektet.
Man kan begränsa antalen utvalda objekt till högst ett, eller till exakt ett mha
attributet Function.
<attr>In
Koppling till ett NMpsTrp objekt.
</attr>
<attr>Out
Koppling till ett NMpsTrp objekt.
</attr>
<attr>MaxSize
Maximalt antal dataobjekt som ska rymmas i cellen (maxvärde 30).
</attr>
<attr>Function
Speciella funktioner hos cellobjektet. Function är en bitmask och olika
funktioner kan kombineras.
Function
@b 0
Inga begränsningar på antal utvalda objekt.
@b 1
Högst ett objekt är utvalt. Om det finns ett utvalt objekt, och ett nytt väljs ut
kommer det tidigare utvalda att återställas.
@b 2
Exakt ett objekt är utvalt (om det finns objekt i cellen).
Om det finns ett utvalt objekt, och ett nytt väljs ut kommer det tidigare utvalda
att återställas.
Om det utvalda objektet transporteras ut ur cellen, eller om utval tas bort på
annat sätt, kommer det objekt med högsta index att väljas ut.
@b 4
Om ett objekt tas bort ur cellen med externfunktionen (ExternOpType = 2, 3 el
4) tas dataobjektet även bort ur rtdb. Detta funktion bör ej användas i de fall ett
dataobjekt kan befinna sig i flera celler samtidigt (Function 0 hos
transportobjektet).
@b 8
När cellen återställs genom att resetobjektet sätts, tas dataobjektet som finns i
cellen även bort ur databasen.
</attr>
<attr>LastIndex
Antal dataobjekt som cellen för närvarande innehåller.
</attr>
<attr>CellFull
Markerar att cellen är full (dvs aktuellt antal dataobjekt är lika med MaxSize).
</attr>
<attr>FrontNew
FrontNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom In, eller med extern operation 1.
</attr>
<attr>RearNew
RearNew är true under en scantid om ett dataobjekt transporterats in i cellen
genom Out.
</attr>
<attr>ExternObjId
Objid för ett dataobjekt som ska läggas in eller tas bort från cellen från ett
externt program.
</attr>
<attr>ExternOpType
Typ av extern operation:
@b 0
Lägger in ExternObjId på index 1 i cellen.
@b 1
Lägger in ExternObjId på index angett i ExternIndex i cellen.
@b 2
Tar bort dataobjekt på index 1 i cellen.
@b 3
Tar bort dataobjekt på index angett i ExternIndex i cellen.
@b 4
Tar bort dataobjekt med objid som angetts med ExternObjId från cellen.
@b 5
Väljer ut dataobjekt med objid angett i ExternObjId.
@b 6
Lägger in ExternObjId på index 1 i cellen och väljer ut det.
@b 7
Tar bort utval på objekt angivet i ExternObjId.
@b 8
Flytta dataobjekt med objid som angivits med ExternObjid framåt i cellen.
@b 9
Flytta dataobjekt med objid som angivits med ExternObjid bakåt i cellen.
@b 10
Tar bort dataobjekt med objid som angivits med ExternObjId från cellen.
Dataobjektet tas inte bort ur databasen även om Function för cellen är 4.
</attr>
<attr>ExternFlag
Markerar att en externfunktion ska utföras. Externflag nollställs av cellobjektet
när operationen är utförd. Externflag ska sättas sist av externt pgm. Om det
finns risk för kollisioner mellan externa program bör man kontrollera att
Exterflag inte är satt.
</attr>
<attr>ExternIndex
Index i cellen där objekt ska läggas in eller tas bort (vid ExternOpType 1 och
3).
</attr>
<attr>ExternStatus
Resultat av senaste externoperation.
</attr>
<attr>DataLast_Pointer
Innehåller referens till dataobjekt med högsta index, dvs objektet som ligger
närmast till för att transporteras ut genom Out.
</attr>
<attr>DataLast_ObjId
Objid för dataobjekt med högsta index i cellen.
</attr>
<attr>DataLast_Front
True om dataobjektet med högsta index i cellen har sin framända inne i cellen.
</attr>
<attr>DataLast_Back
True om dataobjektet med högsta index i cellen har sin bakända inne i cellen.
</attr>
<attr>DataLast_Select
True om dataobjektet är utvalt.
</attr>
<attr>Data1_Pointer
Referens till dataobjekt på index 1 i cellen.
</attr>
<attr>Data1_ObjId
Objid för dataobjekt på index 1.
</attr>
<attr>Data1_Front
True om dataobjektet på index 1 har sin framända inne i cellen.
</attr>
<attr>Data1_Back
True om dataobjektet på index 1 har sin bakända inne i cellen.
</attr>
<attr>Data1_Select
True om dataobjektet är utvalt. Kan sättas och återställas från
applikationsprogram och operatörsbilder.
</attr>
</class>
#
# Class NMpsCellMir
#
<class> NMpsCellMir
@Summary Speglad datacell
NMpsCellMir speglar innehållet i en eller att antal andra celler.
@image orm_nmpsmirrorcell_fo.gif
De speglade cellerna kan ligga på samma nod eller på en annan nod.
Även dataobjekt och valda delar av innehållet i dataobjekt kan speglas.
Se beskrivning av objektet NMpsMirrorConfig för konfigurering av NMpsMirror
funktionen.
<attr>CellObjects
De cellobjekt som ska speglas. Cellobjekten kan ligga på samma eller på en
annan nod.
</attr>
<attr>NumberOfCellObj
Antal cellobjekt angivna i attributet 'CellObjects'.
</attr>
<attr>DataCollect
Anger att konverterade dataobjekt vars ursprungliga objekt har försvunnit ut ur
de speglade cellerna, ska samlas upp i en cell.
</attr>
<attr>CollectCell
Cell som borttagna konverterade dataobjekt samlas upp i.
</attr>
<attr>DataObjConv
Anger att dataobjekt i original cellerna ska speglas.
</attr>
<attr>ConvConfig
Konfigurationsobjekt som specificerar spegling och konvertering av dataceller.
</attr>
<attr>ReleaseTime
Tid i sekunder som ett försvunnet objekt ska hållas kvar av
speglingsfunktionen. Vid spegling mellan noder kan ett dataobjekt en kort
stund försvinna t ex vid en förflyttning mellan två celler. Genom att det
konverterade objektet sparas en viss tid återknyts kontakten med detta när
originalobjektet dyker upp igen.
</attr>
<attr>MaxSize
Maximalt antal dataobjekt som ska rymmas i cellen (maxvärde 30).
</attr>
<attr>Function
Ej implementerat.
</attr>
<attr>LastIndex
Antal dataobjekt som cellen för närvarande innehåller.
</attr>
<attr>CellFull
Markerar att cellen är full (dvs aktuellt antal dataobjekt är lika med MaxSize).
</attr>
<attr>DataLast_Pointer
Innehåller referens till dataobjekt med högsta index, dvs som närmast till att
transporteras ut genom Out.
</attr>
<attr>DataLast_ObjId
Objid för dataobjekt med högsta index i cellen.
</attr>
<attr>Data1_Pointer
Referens till dataobjekt på index 1 i cellen.
</attr>
<attr>Data1_ObjId
Objid för dataobjekt på index 1.
</attr>
</class>
#
# Class NMpsTrp
#
<class> NMpsTrp
@Summary Transport av dataobjekt mellan två celler.
Transporterar ett dataobjekt mellan två celler.
@image orm_nmpstrp_fo.gif
Transporten kan ske på olika sätt:
-Vid en trigg transporteras hela objektet mellan cellerna.
-Ett objekt flyttas successivt mellan cellerna med framkant först och bakkant
sedan (eller vice versa). Vid en trigg flyttas samtliga dataobjekt från en cell till
nästa cell.Vid en trigg flyttas samtliga dataobjekt till nästa cell under
förutsättning att destinationscellen är tom.
<attr>In
Kopplas till Out attributet på ett cellobjekt.
</attr>
<attr>Out
Kopplas till In attributet på ett cellobjekt.
</attr>
<attr>Function
Anger vilken typ av transport som transportobjektet ska utföra.
Function:
@b 0
Ett objekts flytta successivt mellan cellerna med framkant först och bakkant
sedan (eller vice versa).
Vid en positiv flank på TriggForwFront flyttas framkanten på dataobjektet från
In till Out.
Vid en positiv flank på TriggForwBack flyttas bakkanten från In till Out.
Vid en positiv flank på TriggReverseFront flyttas framkanten från Out till In.
Vid en positiv flank på TriggReverseBack flyttas bakkanten från Out till In.
@b 1
Ett objekt flyttas mellan cellerna. Endast Trigg...Front ingångarna ska
användas för att trigga en transport.
Vid en positiv flank på TriggFrowFront flyttas objektet från In till Out.
Vid en positiv flank på TriggReverseFront flyttas objektet från Out till In.
@b 2
Samtliga objekt i sändcellen flyttas.
Vid en positiv flank på TriggForwFront flyttas samtliga dataobjekt i cellen
kopplad till In, till cellen kopplad till Out. Vid en positiv flank på
TriggReverseFront flyttas samtliga dataobjekt i cellen kopplad till Out, till
cellen kopplad till In.
@b 4
Samma funktion som 2 med undantaget att flyttningen endast sker om
mottagarcellen är tom.
@b 8
Återställer trigg-ingångar (om dessa ej är kopplade).
@b 16
Trigga på nivå istället för positiv flank.
</attr>
<attr>TriggForwFront
Flyttar ett dataobjekt från In till Out vid positiv flank.
Flyttar samtliga objekt, ett objekt, eller endast framkanten av ett objekt
beroende på Function.
</attr>
<attr>TriggReverseFront
Flyttar ett dataobjekt från Out till In vid positiv flank.
Flyttar samtliga objekt, ett objekt, eller endast framkanten av ett objekt
beroende på Function.
</attr>
<attr>TriggForwBack
Flyttar bakkanten av ett dataobjekt från In till Out vid positiv flank. Kräver att
Function = 0.
</attr>
<attr>TriggReverseBack
Flyttar bakkanten av ett dataobjekt från Out till In vid positiv flank.
</attr>
<attr>Status
Är true om en förflyttning misslyckas beroende på någon av följande faktorer:
-Det finns inget dataobjekt i sändcellen
-Mottagarcellen är full.
-En framkants trigg kommer när en bakkantstrigg borde komma.
-En bakkantstrigg kommer när en framkantstrigg borde komma.
</attr>
</class>
#
# Class NMpsTrpRR
#
<class> NMpsTrpRR
@Summary Transport av dataobject mellan cellutgångar.
Förflyttar dataobjekt från en utgång på ett cellobjekt till en utgång på ett
annat cellobjekt.
@image orm_nmpstrprr_fo.gif
Funktionen är i övrigt identisk med ett NMpsTrp objekt Function =
0 bör ej användas (dvs Trp objektet ska hantera fram och bakkant) Om den
används kommer objektet att vändas av trp objektet eftersom framkanten måste
ligga före bakkanten i cell objekten. Dvs framkanten kommer att befinna sig
samtidigt i båda cellerna.
För beskrivning av attribut se NMpsTrp.
</class>
#
# Class NMpsTrpFF
#
<class> NMpsTrpFF
@Summary Transport av dataobject mellan cellingångar.
Förflyttar dataobjekt från en ingång på ett cellobjekt till en ingång på ett
annat cellobjekt.
@image orm_nmpstrpff_fo.gif
Funktionen är i övrigt identisk med ett NMpsTrp objekt Function =
0 bör ej användas (dvs Trp objektet ska hantera fram och bakkant) Om den
används kommer objektet att vändas av trp objektet eftersom framkanten måste
ligga före bakkanten i cell objekten. Dvs bakkanten kommer att befinna sig
samtidigt i båda cellerna.
För beskrivning av attribut se NMpsTrp.
</class>
#
# Class DataCopy
#
<class> DataCopy
@Summary Kopiering av data-objekt
Kopierar innehållet i ett dataobjekt till ett annat dataobjekt.
@image orm_datacopy_fo.gif
För närvarande måste ett av objekten vara refererat med en GetData.
@b Se även
<attr>DataFrom
Kopplas till en datareferens utgång.
</attr>
<attr>DataTo
Kopplas till en datareferens utgång.
</attr>
<attr>Condition
Om condition är true kommer kopieringen att ske, annars inte.
</attr>
</class>
#
# Clas DataReset
#
<attr> DataReset
@Summary Nollställer innehållet i ett dataobjekt
Nollställer innehållet i ett dataobjekt, dvs sätter samtliga attribut till binärt noll.
För närvarande måste objektet refereras med en GetData.
<attr>Data
Kopplas till en GetData.
</attr>
<attr>Condition
Om condition är true kommer nollställningen att ske, annars inte.
</attr>
</class>
#
# Class CurrentData
#
<class> CurrentData
@Summary Nuvarande objekt i NMpsCell underfönster
Objektet används i ett NMpsCell underfönster. Underfönstret kommer att
exekveras för varje dataobjekt som befinner sig i cellen och referenser till
dataobjekten i cellen sker med ett CurrentData objekt.
@image orm_currentdata_fo.gif
@b Se även
<attr>dataCurrent_Pointer
Kopplas till en datareferens ingång.
</attr>
</class>
#
# Class CurrentIndex
#
<class> CurrentIndex
@Summary Index för nuvarande objekt i NMpsCell underfönster
Hämta index för nuvarande objekt i NMpsCell underfönster
@image orm_currentindex_fo.gif
Objektet används i ett NMpsCell eller CLoop underfönster. Objektet hämtar
upp index för det dataobjekt som exekveras just nu.
<attr>dataCurrent_Index
Innehåller index för det dataobjekt som exekveras.
</attr>
</class>
#
# Class DataSelect
#
<class> DataSelect
@Summary Väljer en dataingång beroende på index.
Väljer en dataingång beroende på index.
@image orm_dataselect_fo.gif
Upp till sexton dataobject kan kopplas till SelectData, och en av dessa läggs ut
på utgången. Dataobjekten kan kopplas genom en GetData eller från en
NMpsCell el dyl.
Om Index < 1 väljs Da1, om Index > MaxIndex väljs den MaxIndex'te
ingången.
I MaxIndex ska antalet dataingångar anges som SelectData ska välja mellan.
Samtliga dataingångar mellan 1 och MaxIndex måste vara kopplade.
<attr>Index
Styr vilken dataingång som slussas över till utgången. Om Index = 1 väljs den
första dataingången etc.
</attr>
<attr>MaxIndex
Antalet dataingångar som DataSelect objektet väljer mellan.
</attr>
<attr>Da1
Da1 - Da16 är dataingångar som kopplas till GetData, NMpsCell objekt el dyl.
</attr>
<attr>Out
Datautgång som innehåller referens till utvalt data.
</attr>
</class>
#
# Class CLoop
#
<class> CLoop
@Summary Loop av underfönster
CLoop objektet innehåller ett underfönster som exekveras ett antal gånger
under ett plcpgm-exekveringsvarv.
@image orm_cloop_fo.gif
Antalet gånger exekveringen sker bestäms av attributen
StartIndex, StopIndex och Increment. Aktuellt loop index kan hämtas upp i
underfönstret med ett CurrentIndex objekt.
<attr>StartIndex
Index vid vilket loopen startar.
</attr>
<attr>StopIndex
Loopen fortsätter tills loop index är mindre eller lika med StopIndex.
</attr>
<attr>Increment
Värde som adderas till loop index vid varje varv.
</attr>
<attr>CurrentIndex
Innehåller loopindex under loopen. CurrentIndex kan nås från underfönstret
med objektet CurrentIndex.
</attr>
</class>
#
# Class Func
#
<class> Func
Func gör det möjligt att använda samma kod på flera olika ställen i ett system.
Om originalkoden ändras distribueras ändringen till respektive instans vid
nästa kompilering av denna.
Func objektet pekar på ett PlcPgm objekt under en $LibHier. I detta PlcPgm
ligger orginalkoden. Vid kompilering skapas en kopia av originalkoden som ett
underfönster till Func objektet. Till ett original PlcPgm kan knytas ett
godtyckligt antal Func objekt. In- och utgångar definieras i originalkoden
genom FuncInput och FuncOutput.
Originalkoden ska inte kompileras. Om en ändring görs i originalkoden ska
samtliga fönster som innehåller ett Func objekt som refererar till denna kod
kompileras om.
Func objektet innehåller 8 analoga och 8 digital in- och utgångar. Om detta
antal inte räcker till kan man utöka dem med ett FuncExtend objekt (och fler
FuncInput och FuncOutput objekt i originalkoden).
När man har skapat ett Func objekt och kopplat detta till ett PlcPgm kan man
efter kompilering öppna Func-objektets underfönster. View och Trace mod är
tillåten i detta fönster, editeringar ska göras i original-fönstret.
Referenser till objekt i underfönstret kan endast göras via objektsnamnet, ej via
objekts identiteten. Detta beror på att originalfönstret kopieras vid varje
kompilering och objekten byts ut. Referenser från prooper,
appilkationsprogram, rtt fungerar, dock ej t ex GetAp, GetDp, StoAp och
StoDp i plceditorn.
Kompilering av underfönstret sker automatiskt i samband med kompilering av
Func objektet. Underfönstret ska inte kompileras separat.
Om man vill ta bort ett Func objekt som har kompilerats och fått ett
underfönster måste man göra på ett lite speciellt sätt. Ta eventuellt en backup.
Gå in i plceditorn och ta bort alla kopplingar till Func-objektet. Gör save och
gå ur plceditorn. Ta upp konfiguratören och leta upp Func-objektet där. Gör
delete på objektet och det underliggande trädet.
<attr>Condition
Exekveringen av koden kan styras av Condition. Om Condition är 1 kommer
koden att exekveras, annars inte.
</attr>
<attr>A1
Analoga ingångar. Ingångarna kan kopplas eller datasättas från attributeditorn.
</attr>
<attr>d1
Digitala ingångar. Ingångarna kan kopplas eller
datasättas från attributeditorn.
</attr>
<attr>OA1
Analoga utgångar.
</attr>
<attr>od1
Digitala utgångar.
</attr>
<attr>Function
Namn på det PlcPgm objekt under vilket originalkoden ligger. Sista segmentet
av namnet visas grafiskt i objektet.
</attr>
</class>
#
# Class FuncExtend
#
<class> FuncExtend
Om antal in- eller utgångar i ett Func objekt ej räcker till kan man utöka dessa
med ett eller flera FuncExtend objekt. FuncExtend objektet kopplas till Func
objektet genom att Func objektets namn anges i attributet 'FuncObject'.
Till varje FuncExtend ska höra ett FuncInput/FuncOutput-par i originalfönstret.
Genom att ange samma index i alla tre objekten knyter dem till varandra. Man
kan utelämna FuncInput eller FuncOutput objekt om det endast behövs fler
utgångar resp ingångar.
Det första FuncExtend objektet bör ha index 1, det andra index 2, osv. Index 0
är reserverat för Func objektet.
<attr>A1
Analoga ingångar. Ingångarna kan kopplas eller datasättas från attributeditorn.
</attr>
<attr>d1
Digitala ingångar. Ingångarna kan kopplas eller datasättas från attributeditorn.
</attr>
<attr>OA1
Analoga utgångar.
</attr>
<attr>od1
Digitala utgångar.
</attr>
<attr>FuncObject
Namn på det Func objekt som ska utökas.
</attr>
<attr>Index
Index som anger vilket FuncInput/FuncOuput-par FuncExtend-objektet ska
kopplas till. Det första FuncExtend objektet ska ha index 1, det andra index 2
osv.
</attr>
</class>
#
# Class FuncInput
#
<class> FuncInput
Mha FuncInput objektet anger man vilka kopplingar i ett Func fönster som ska
hämtas från Func objektets ingångar (eller ett FuncExtend-objekts ingångar).
<attr>A1
Analoga utgångar från FuncInput objektet som kopplas till analoga ingångar i
ett Func eller FuncExtend objekt.
</attr>
<attr>d1
Digitala utgångar från FuncInput objektet som kopplas till digitala ingångar i
ett Func eller FuncExtend objekt.
</attr>
<attr>Index
Index som ska anger vilket Func eller FuncExtend objekt ingångarna ska
kopplas till. Index 0 innebär att de kommer att kopplas till Func objektet, index
> 0 att de kommer att kopplas till ett FuncExtend-objekt med samma index.
</attr>
</class>
#
# Class FuncOutput
#
<class> FuncOutput
Mha FuncOutpu objektet anger man vilka kopplingar i ett Func fönster som ska
läggas i Func objektets utgångar (eller ett FuncExtend-objekts utgångar).
<attr>OA1
Analoga ingångar från FuncOutput objektet som kopplas till analoga utgångar i
ett Func eller FuncExtend objekt..
</attr>
<attr>od1-od8
Digitala ingångar från FuncInput objektet som kopplas till digitala utgångar i
ett Func eller FuncExtend objekt.
</attr>
<attr>Index
Index som ska anger vilket Func eller FuncExtend objekt utgångarna ska
kopplas till. Index 0 innebär att de kommer att kopplas till Func objektet, index
> 0 att de kommer att kopplas till ett FuncExtend-objekt med samma index.
</attr>
</class>
#
# Class NMpsMirrorConfig
#
<class> NMpsMirrorConfig
@Summary Konfigurering av NMpsMirror processen
Konfigurering av NMpsMirror funktionen, dvs spegling av celler och data
objekt.
<attr>ScanTime
Cykeltid för rs_nmps_mirror.
</attr>
<attr>MirrorCellCount
Visar antal funna NMpsCellMir objekt.
</attr>
<attr>MirrorCellInitCount
Visar antal initierade NMpsCellMir objekt.
</attr>
<attr>OrigCellCount
Visar antal funna cellobjekt som ska speglas.
</attr>
<attr>RemoteOrigCellCount
Visar antal funna cellobjekt som ska speglas från en annan
nod.
</attr>
<attr>DataObjectCount
Visar antal dataobjekt som NmpsMirror funktionen för närvarande hanterar.
</attr>
<attr>ConvertDataCount
Visar antal dataobjekt som konverteras.
</attr>
<attr>RemoteDataCount
Visar antal dataobjekt som speglas från en annan nod.
</attr>
<attr>RemoteDataDownCount
Visar antal dataobjekt som speglas från en nod som man fn ej har kontakt med..
</attr>
<attr>PendingRemoveCount
Visar antal dataobjekt som är borttagen ur cellen men hålls kvar pga att
ReleaseTime i NMpsCellMir objektet ej ännu har uppnåtts.
</attr>
<attr>RemoveCount
Visar antal dataobjekt som har tagits bort ur speglings funktionen.
</attr>
<attr>CreateDataCount
Visar antal dataobjekt som har skapats i rtdb av speglingsfunktionen.
</attr>
<attr>DeleteDataCount
Visar antal dataobjekt som har tagits bort ur rtdb av speglingsfunktionen.
</attr>
<attr>ReconnectDataCount
Visar antal objekt som speglingsfunktionen har återknutit kontakten med.
</attr>
<attr>LoopCount
Visar antal varv speglings jobbet har gått.
</attr>
<attr>Initialize
Detta attribut kan sättas i runtim och medför ett en ny initiering av
speglingsfunktionen kommer att genomföras. Detta kan behövas t ex vid mjuk
omstart med ändringar i speglings funktionen.
</attr>
</class>
#
# Class NMpsConvConfig
#
<class> NMpsConvConfig
@Summary Konfigurering av spegling och konvertering av dataobjekt..
Konfigurering av spegling och konvertering av dataobjekt..
<attr>InDataClass
Klass på dataobjekt i de celler från vilken dataobjekt ska speglas.
</attr>
<attr>OutDataClass
Klass på de objekt som skapas av speglings funktionen.
</attr>
<attr>OutDataParent
Objekt under vilket skapade dataobjekt kommer att placeras.
</attr>
<attr>CopyOffset
Start offset i det ursprungliga dataobjektet på den dataarea som ska kopieras till
det nya objektet.
</attr>
<attr>PasteOffset
Offset i det nya objektet där den kopierade dataarean ska placeras.
</attr>
<attr>CopySize
Storlek i bytes på den dataarea som ska kopieras.
</attr>
<attr>UpdateTime
Ej implementerat
</attr>
</class>
#
# Class RemTransSend
#
<class> RemTransSend
@Summary Sändning av RemTrans
Objektet markerar ett objekt av typ RemTrans för sändning.
@image orm_remtranssend_fo.gif
I ett underfönster kan läggas kod för ifyllnad av sändbuffer.
Objektet exekverar först underfönstret och sätter sedan DataValid i
RemTrans objektet. Statusflaggor från RemTrans-objektet läggs ut på
utgångar i RemTransSend objektet.
<attr>RemTrans
Dataingång som kopplas till en GetData som pekar på RemTrans objektet.
</attr>
<attr>Send
Sändning av data sker på positiv flank. Underfönstret exekverar och DataValid
sätts i RemTrans objektet.
</attr>
<attr>Occupied
Markerar att RemTrans objektet inte kan hantera fler sändningar för tillfället,
beroende på att den senaste transen ännu inte har sänts, eller att om transarna
buffras, samtliga buffrar är upptagna.
</attr>
<attr>Buffer
Markerar att det finns buffrade transar.
</attr>
<attr>Error
Senaste sändningen resulterade i felstatus.
</attr>
</class>
#
# Class RemTransRcv
#
<class> RemTransRcv
@Summary Mottagning av RemTrans
Objektet övervakar ett objekt av typ RemTrans för mottagning av transar.
@image orm_remtransrcv_fo.gif
I ett underfönster kan läggas kod för uppackning av mottagningsbuffer.
När en trans har mottagits exekveras underfönstret och markerar med utgången
Recieved att en trans har mottagits.
<attr>RemTrans
Dataingång som kopplas till en GetData som pekar på RemTrans objektet.
</attr>
<attr>Received
Data har mottagits. DataValid i RemTrans objektet var satt och underfönstret
har exekverats. Received är sann i en cykel.
</attr>
</class>
#
# Class NMpsBackupConfig
#
<class> NMpsBackupConfig
@Summary Konfigurering av NMps backup
Konfigurering av backup av celler och dataobjekt. Backup av NMps sker på
cell objekt med backup-biten satt i Function attributet, samt på de data objekt
som ligger i dessa celler. Av dataobjekten sker en cyklisk backup, av
cellobjekten en cyklisk och en händelsestyrd backup.
Följande saker krävs för att få backup på NMps:
-Ett NMpsBackupConfig objekt ska finnas på noden.
-Programmet ssab_exe:rs_nmps_bck.exe läggs in iett
$Appl objekt (VMS) eller ssabb_root:<vax_eln.exe>
rs_nmps_bck.exe_eln läggs in i systemet mha EBUILD (ELN).
-Backup biten sätts i Function-attributet i de cellobjekt som ska backas upp.
Backupen lagras i två olika filer med extention .bck1 resp .bck2. Backupjobbet
alternerar mellan dessa två filer för att säkerställa att det alltid finns en
läsbar fil.
<attr>FullCycleTime
Tid i sekunder för tiden mellan två fullständiga backuper.
</attr>
<attr>IncrementCycleTime
Scantid i sekunder för den händelsestyrda backupen.
</attr>
<attr>BackupFile
Filnamn för backupfilen. Extention ska ej finnas med i filnamnet (filerna får
extention.bck1 och .bck2). Ska backupfilen finnas på en disk på en annan node
ska nodnummer eller nodnamn anges.
</attr>
<attr>BackupOn
1 om backupen ska i drift.
</attr>
<attr>NoRead
Denna sätts till 1 för att undvika inläsning av backupfilen vid systemstart (kan
sättas i pwrp_alias.dat).
</attr>
<attr>ReloadFailure
Sätt till 1 om inläsningen av backupen vid systemstart skulle misslyckas.
</attr>
<attr>ForceFullBackup
Om denna sätts till 1 kommer en fullständig backup att ske. ForceFullBackup
återställs av rs_nmps_bck jobbet.
</attr>
</class>
#
# Class DataRequest
#
<class> DataRequest
@Summary Förfrågan och mottagning av data-trans
DataRequest sänder en förfrågan med en nyckel och tar emot en data trans.
Förfrågan sker genom att en nyckel läggs in i objektets Key- eller KeyStr-
attribut. Man kan välja på heltalsnyckel eller ascii nyckel. Triggning av
förfrågan kan väljas att ske vid följande tillfällen:
-värdet i nyckelattributet har ändrats
-Trigg-ingången är sätt
-OpTrigg-attributet sätts.
Om svaret inte har kommit inom timeout-tiden, meddelas operatören.
Data i svaret kan hanteras på olika sätt beroende på Function-attributet.
@b 1
Data kopieras via DataConvert funktionen till ett statiskt objekt (dvs ett objekt
skapat i utvecklingsmiljön). Data i objektet kan visas upp i bilder, och
validering i plc-och applikations-program kan utföras.
@b 2
Ett dynamisk objekt skapas med samma namn som nyckeln, och data kopieras
till objektet via DataConvert funktionen. Objektet läggs in i en NMpsCell.
@b 3
Data kopieras till ett statiskt objekt, och väntar på acceptans från operatör
och/eller applikationen. När data accepterats skapas ett dynamisk objekt som
läggs in i en NMpsCell.
Acceptansen i tredje alternativet kan ske på tre olika sätt:
@b 1
Operatören accepterar data genom att sätta OpAccept attributet.
@b 2
Applikationen accepterar data genom att sätta Accept-ingången.
@b 3
Både operatören och applikationen måste ha accepterat data innan acceptansen
är komplett.
Om data ej accepteras sker återställning genom att Reset-ingången sätts eller
genom att OpReset-attributet sätts.
Förfrågan innehåller nyckel (string40) och ett statusord (int32).
Förfrågan och mottagning sker via RemTrans-objekt.
<attr>Out
Utgången kan kopplas till en NMpsCell. Kopplingen är enbart grafisk, den
verkliga kopplingen sker genom CellObject-attributet. Kopplingen ska göras
med en AnalogFeedback-koppling.
</attr>
<attr>Trigg
Triggar förfrågan på positiv flank. Function ska inte ha Change-biten satt för
att triggning ska ske med Trigg-ingången.
</attr>
<attr>Accept
Applikationen accepterar data i visnings-objektet och skapar ett dynamiskt
objekt som läggs i en cell. Accept och Cell bitarna i Function ska vara satt. Om
AcceptBoth biten är satt måste dessutom operatören ha accepterat i OpAccept
innan data accepteras.
</attr>
<attr>Reset
Väntan på acceptans återställs på positiv flank.
</attr>
<attr>Error
Utgång som indikerar att ett fel har registrerats. Error-utgången tas ner efter ett
scan.
</attr>
<attr>Key
Nyckel för data som efterfrågas, om nyckeln är ett heltal. IntKey-biten i
Function-attributet ska vara satt.
</attr>
<attr>KeyStr
Nyckel för data som efterfrågas, om nyckeln är en sträng. IntKey-bitet i
Function-attributet ska inte vara satt.
</attr>
<attr>Function
Anger vilken funktion som ska användas. En bitmask.
Bit, Namn, Funktion
@b 1
DisplayObject
Mottaget data kopieras till ett statiskt objekt, angivet i attributet DisplayObjekt.
@b 2
Accept
Innan ett dynamisk objekt skapas väntas på accept från operatör och/eller
applikation.
@b 4
CellInsert
Ett dynamisk objekt, namngivet efter nyckeln, skapas och läggs in i en cell.
@b 8
Change
Triggning av förfrågan sker genom att värdet i Key, eller KeyStr ändras.
Triggning sker ej om värdet är 0 eller en NULL-string. Om biten ej är satt sker
triggning med Trigg-ingången eller OpTrigg attributet.
@b 16
AcceptBoth
För att data ska accepteras, måste både Accept-ingången och OpAccept-
attributet ha satts.
@b 32
DisplayReset
Vid återställning nollställs visningsobjektet.
@b 64
IntKey
Nyckeln är ett heltal som läggs i attributet Key. Om biten ej är satt är nyckeln
en sträng i KeyStr.
</attr>
<attr>TimeoutTime
Timeout tid för en förfrågan. Om svar ej har erhållits inom tiden skickas ett
meddelande till operatören. Texten hämtas från AlarmText[0], om denna är
ifylld.
</attr>
<attr>AlarmText
Meddelande som skickas tilll operatören när något går snett. Meddelandet
sänds som B-larm.
AlarmText[0] Meddelande vid timeout.
AlarmText[1] Cellen som det skapade objektet ska läggas i är full.
AlarmText[2] Acceptans-begäran detekterad utan att objektet väntar på
acceptans.
AlarmText[3] Fatalt fel, ytterligare info finns på konsolloggen.
AlarmText[4] Det dynamiska objektet som ska skapas finns redan.
AlarmText[5] Reserv.
</attr>
<attr>ReturnStatus
Om status-ordet i mottagar-transen matchar ett värdet i ReturStatus, sänds ett
meddelande till operatören. Texten hämtas från ReturnStatusText (med samma
index).
</attr>
<attr>ReturnStatusText
Larmtext som skickas vid olika ReturStatus.
</attr>
<attr>DisplayObject
Visningsobjekt. Data i transen kopieras till objektet vi DataConvert funktionen.
Vid acceptans kopieras det vidare till ett dynamiskt objekt, om så önskas.
</attr>
<attr>SendRemTrans
RemTrans-objekt som används för att sända förfrågan.
</attr>
<attr>RcvRemTrans
RemTrans-objekt som används för att ta emot data.
</attr>
<attr>CellObject
NMpsCell-objekt som det skapade objektet ska läggas in i.
</attr>
<attr>DataClass
Klass för objekt som skapas.
</attr>
<attr>DataParent
Plats i hierarkin under vilken skapade objekt ska läggas.
</attr>
<attr>ToConvdef
</attr>
<attr>FromConvDef
Se DataCnv objektet.
</attr>
<attr>OpTrigg
Triggning från operatören. OpTrigg återställs automatiskt efter att triggningen
registrerats.
</attr>
<attr>OpAccept
Acceptans från operatören. OpAccept återställs automatisk efter att
acceptansen registrerats.
</attr>
<attr>OpReset
Reset från operatören. OpReset återställs automatiskt efter att OpReset har
registrerats.
</attr>
</class>
#
# Class DataRcv
#
<class> DataRcv
@Summary Mottagning av data-trans.
DataRcv tar emot en trans.
Data i svaret kan hanteras på olika sätt beroende på Function-attributet:
@b 1
Data kopieras via DataConvert funktionen till ett statiskt objekt (dvs ett objekt
skapat i utvecklingsmiljön). Data i objektet kan visas upp i bilder, och
validering i plc-och applikations-program kan utföras.
@b 2
Ett dynamisk objekt skapas med samma namn som nyckeln, och data kopieras
till objektet via DataConvert funktionen. Objektet läggs in i en NMpsCell.
@b 3
Data kopieras till ett statiskt objekt, och väntar på acceptans från operatör
och/eller applikationen. När data accepterats skapas ett dynamisk objekt som
läggs in i en NMpsCell.
Acceptansen i tredje alternativet kan ske på tre olika sätt:
@b 1
Operatören accepterar data genom att sätta OpAccept attributet.
@b 2
Applikationen accepterar data genom att sätta Accept-ingången.
@b 3
Både operatören och applikationen måste ha accepterat data innan acceptansen
är komplett.
Om data ej accepteras sker återställning genom att Reset-ingången sätts, eller
genom att OpReset-attributet sätts.
Kvittens kan skickas till sändaren. Förfrågan och mottagning sker via
RemTrans-objekt.
<attr>Out
Utgången kan kopplas till en NMpsCell. Kopplingen är enbart grafisk, den
verkligakopplingen sker genom CellObject-attributet. Kopplingen ska göras
med en AnalogFeedback-koppling.
</attr>
<attr>Accept
Applikationen accepterar data i visnings-objektet och skapar ett dynamiskt
objekt som läggs i en cell. Accept och Cell bitarna i Function ska vara satt. Om
AcceptBoth biten är satt måste dessutom operatören ha accepterat i OpAccept
innan acceptansen är komplett.
</attr>
<attr>Reset
Väntan på acceptans återställs på positiv flank.
</attr>
<attr>Error
Utgång som indikerar att ett fel har registrerats.
Error-utgången tas ner efter ett scan.
</attr>
<attr>Key
Nyckel för data som efterfrågas. Key används om nyckeln är ett heltal.
IntKey-biten i Function-attributet ska vara satt.
</attr>
<attr>KeyStr
Nyckel för data som efterfrågas. KeyStr används om nyckeln är en sträng.
IntKey-biten i Function-attributet ska inte vara satt.
</attr>
<attr>Function
Anger vilken funktion som ska användas. En bitmask.
Bit, Namn, Funktion
@b 1
DisplayObject
Mottaget data kopieras till ett statiskt objekt, angivet i attributet DisplayObjekt.
@b 2
Accept
Innan ett dynamisk objekt skapas väntas på accept från operatör och/eller
applikation.
@b 4
CellInsert
Ett dynamisk objekt, namngivet efter nyckeln, skapas och läggs in i en cell.
@b 8
Ack
Kvittens skickas till sändaren. Kvittensen skickas med remtrans-objektet
angivet i SendRemTrans.
@b 16
AcceptBoth
För att data ska accepteras, måste både Accept-ingången och OpAccept-
attributet ha satts.
@b 32
DisplayReset
Vid återställning nollställs visningsobjektet.
@b 64
Header
Mottagen trans antas innehålla en header med nyckel (string40) och status
(int32). Om motsvarande bit sätts i sändande DataSend-objekts Function-
attribut kommer en header att läggas i transen. En header erfordras om ett
dynamiskt objekt ska skapas.
@b 128
AckOther
Mottagningen av data fungerar samtidigt som en kvittens för en tidigare
sändning från ett DataSend-objekt. Den nyckel som DataSend-objektet skickar
måste finnas i den mottagna transen.
</attr>
<attr>AlarmText
Meddelande som skickas tilll operatören när något går snett. Meddelandet
sänds som B-larm.
AlarmText[0] Reserv.
AlarmText[1] Cellen som det skapade objektet ska läggas i är full.
AlarmText[2] Acceptans-begäran detekterad utan att objektet väntar på
acceptans.
AlarmText[3] Fatalt fel, ytterligare info finns på konsolloggen.
AlarmText[4] Det dynamiska objekt som ska skapas finns redan i rtdb.
AlarmText[5] Reserv.
</attr>
<attr>DisplayObject
Visningsobjekt. Data i transen kopieras till objektet vi DataConvert funktionen.
Vid acceptans kopieras det vidare till ett dynamiskt objekt, om så önskas.
</attr>
<attr>SendRemTrans
RemTrans-objekt som används för att sända kvittens.
</attr>
<attr>RcvRemTrans
RemTrans-objekt som används för att ta emot data.
</attr>
<attr>CellObject
NMpsCell-objekt som det skapade objektet ska läggas in i.
</attr>
<attr>DataClass
Klass för objekt som skapas.
</attr>
<attr>DataParent
Plats i hierarkin under vilken skapade objekt ska läggas.
</attr>
<attr>ToConvdef
</attr>
<attr>FromConvDef
Se DataCnv objektet.
</attr>
<attr>OpAccept
Acceptans från operatören. OpAccept återställs automatisk efter det
acceptansen registrerats.
</attr>
<attr>OpReset
Reset från operatören. OpReeset återställs automatiskt efter att OpReset har
registrerats.
</attr>
</class>
#
# Class DataSend
#
<class> DataSend
@Summary Sändning av data-trans
DataSend sänder en trans och väntar ev på kvittens.
Om kvittensen inte har kommit inom timeout-tiden, meddelas operatören.
Sändning och mottagning av kvittens sker via RemTrans-objekt.
Transen kan innehålla en header med bl a objektsnamn, om t ex motsvarande
objekt ska skapas i mottagaränden.
<attr>DataIn
Ingång som kopplas till en data utgång. Objektet som ingången pekar på
kommer att konverteras och läggas i transen. En header som innehåller bl a
objektsnamn kan läggas i transen om t ex motsvarande objekt ska skapas i
mottagarnoden.
</attr>
<attr>Trigg
Triggar sändning på positiv flank.
</attr>
<attr>DataSent
Markerar att data har sänts. Om kvittens har begärts sätts DataSent när
kvittensen har anlänt. DataSent återställs efter ett scan.
</attr>
<attr>Error
Utgång som indikerar att ett fel har registrerats.
Error-utgången tas ner efter ett scan.
</attr>
<attr>Function
Anger vilken funktion som ska användas. En bitmask.
Bit, Namn, Funktion:
@b 8
Ack
En kvittens förväntas komma genom RcvRemTrans objektet inom Timout
tiden. DataSent flaggan sätts inte förrän kvittensen har anlänt.
@b 64
Header
En header läggs först i transen innehållande objektsnamn (string40) och status
(int32).
@b 128
AckOther
En kvittens förväntas komma till ett godtyckligt DataRcv-objekt, dvs
kvittensen kan innehålla data. Function för DataRcv-objektet ska också vara
AckOther. DataSent flaggan sätts vid sändningen och ej när kvittensen
kommer.
</attr>
<attr>TimeoutTime
Timeout tid för en sändning. Om kvittens ej har erhållits inom tiden skickas ett
meddelande till operatören (om AlarmText[0] är ifylld). Kvittens biten i
Function attributet måste vara satt.
</attr>
<attr>AlarmText
Meddelande som skickas till operatören när något går snett. Meddelandet sänds
som B larm.
AlarmText[0] Meddelande vid timeout.
AlarmText[1] DataIn pekar ej på något dataobjekt. Triggning kan ej utföras.
AlarmText[2] Reserv.
AlarmText[3] Fatalt fel, ytterligare info finns på konsolloggen.
AlarmText[4] Reserv.
AlarmText[5] Reserv.
</attr>
<attr>ReturnStatus
Om status-ordet i kvittens-transen matchar ett värdet i ReturStatus sänds ett
meddelande till operatören med texten i ReturnStatusText med samma index.
</attr>
<attr>ReturnStatusText
Larmtext som skickas vid olika ReturStatus.
</attr>
<attr>SendRemTrans
RemTrans-objekt som används för att sända data.
</attr>
<attr>RcvRemTrans
RemTrans-objekt som används för att ta emot kvittens
</attr>
<attr>ToConvdef
</attr>
<attr>FromConvDef
Se DataCnv objektet.
</attr>
</class>
#
# Class DataCnv
#
<class> DataCnv
@Summary Konvertering av data-objekt
DataCnv konverterar data i ett objekt och lägger resultatet i ett annat objekt. In-
och ut-objekt anges med grafiska kopplingar.
Konverteringen definieras med två konverterings definitioner. Dessa anger hur
data i in- resp ut-objektet är strukturerat.
Konverteringen sker genom att attribut i de båda konverteringsdefinitionerna
paras ihop om de har samma namn. Om ett attribut har samma typ i båda
definitionerna kommer det att resultera i en memcpy, annars sker en
konvertering.
Datastrukturen definieras i objekt av klasses ConvDef. I detta objekt
specificerar man typ, namn och eventuellt storlek och format för elementen i
datastrukturen. En rad i ConvDef objektet innehåller två argument: typ och
namn, samt i vissa fall ett tredje: storlek, format el dyl.
@h2 Typ
Beskrivning Kommentar
Char 8-bitars Character
Boolean Boolean
Int8 8-bitars int
UInt8 8-bitars unsigned int
Int16 16-bitars int
UInt16 16-bitars unsigned int
Int32 32-bitars int
UInt32 32-bitars unsigned int
Float32 32-bitars float
Om konvertering till String eller Ascii anges format i tredje argumenet (c-
syntax, t ex "%8.2f".
Float64 64-bitars float
String Null-terminerad sträng
Elementets storlek ska specifieras i tredje argumentet (antal byte).
@b Ascii
Sträng utfylld med space
Elementets storlek ska specifieras i tredje argumentet (antal byte).
@b Binary
Binärt eller ospecificerat element
Elementets storlek ska specifieras i tredje argumentet (antal byte).
@b Unknown
Okänt element
Elementets storlek ska specifieras i tredje argumentet (antal byte).
Implementerade konverteringar:
@bFrån Till
Char String
Int16 Int32
Int32 Int16
Float32
String
Float32 Int32
String
Ascii
String Int32
Float32
Ascii Int32
Float23
<attr>DataFrom
Ingång som kopplas till en data utgång. Data i objektet
som ingången pekar på kommer att konverteras och läggas i objektet som
DataTo pekar på.
</attr>
<attr>DataTo
Ingång som kopplas till en data utgång. Konverterad data
läggs i objektet som ingången pekar på.
</attr>
<attr>Condition
När Condition är sann sker konvertering. Om Condition ej
kopplas sker alltid konvertering.
</attr>
<attr>ToConvdefType
Anger vilken typ av konverterings-definition som används.
ConvDefType, Namn, Funktion:
@b 0
Object
Konverteringen definieras av ett objekt av klassen ConvDef. Attributet
ToConvDef innehåller ConvDef objektet.
@b 1
File
Konverteringen definieras av en fil.
@b 2
Class
Konverteringen definieras av en klass.
</attr>
<attr>ToConvdef
Objekt av klassen ConvDef eller en klass som specificerar datastrukturen i
DataFrom objektet.
</attr>
<attr>ToConvdefFile
Filspecifiktation som på en fil som specificerar datastrukturen i DataFrom
objektet.
</attr>
<attr>FromConvdefType
Se ToConvdefType. Motsvarande funktion för DataFrom objektet.
</attr>
<attr>FromConvdef
Se ToConvdef. Motsvarande funktion för DataFrom objektet.
</attr>
<attr>FromConvdefFile
Se ToConvdefFile. Motsvarande funktion för DataFrom objektet.
</attr>
</class>
#
# Class CellDisp
#
<class> CellDisp
@Summary Visning av dataobjekt i NMps-celler
CellDisp används för att visa innehållet i de data-objekt som ligger i
NMpsCell-objekt i operatörsbilder. Det ger också möjlighet åt operatören att ta
bort data-objekt, flytta data-objekt bakåt eller framåt i en cell, välja ut ett
dataobjekt för att visa mer information om objektet.
@image orm_celldisp_fo.gif
CellDisp-objektet gör det möjligt att visa en tabell över data-objekten i en cell,
med objektsnamn och ett antal utvalda attribut. CellDisp-objektet innehåller ett
antal vektorer dit valda attribut i data-objekten i cellerna kopieras. Vektorerna
kan sedan visas i en operatörsbild.
Det finns även en utvalsfunktion med vilken ett objekt kan väljas ut. Det
utvalda objektet kopieras till ett visningsobjekt, dvs ett permanent objekt av
samma klass som de dataobjekt som finns i cellen. Om man i en operatörsbild
visar innehållet i visningsobjektet kommer detta alltid att spegla det utvalda
objektet.
Om man har flera tabeller i samma bild, men vill ha en gemensam
utvalsfunktion, kopplar man samman ett antal CellDisp-objekt mha ett
DispLink-objekt. DispLink-objektet ser till att högst ett objekt är utvalt
samtidigt. I DispLink-objektet finns dessutom funktioner för att ta bort det
utvalda objektet, flytta det utvalda objektet ett steg framåt eller bakåt i cellen.
Utvalet sker antingen genom att varje tabellrad förses med en utvals-
tryckknapp, eller med SelectNext/SelectPrevious funktion som finns i
DispLink objeket. Genom SelectNext/SelectPrevious kan utvalet ske mha
funktionstangenter i de fall detta är att föredra framför mus-klickningar.
En tabell kan visa objekten i upp till 10 celler. I CellDisp-objektet finns det
plats för 5 attribut av typen float, 5 integer och 5 boolean. Dessutom finns en
vektor som innehåller objid för data-objekten.
Max antal dataobjekt som kan visas i samma tabell är 60.
Samma CellDisp kan hämta in dataobjekt från upp till 10 cell-objekt.
Cell objektet kan vara av klassen NMpsCell eller NMpsStoreCell.
Ett DispLink-objekt kan länka ihop ett obegränsat antal CellDisp-objekt.
Utvalsfunktionen är tv ej kopplad till urvalsfunktionen i NMpsStoreCell-
objeket.
<attr>Cell1
Cell1-Cell10 kopplas till GetData-objekt som refererar objekt av klassen
NMpsCell eller NMpsStoreCell.
</attr>
<attr>Link
Kopplas till utgången på ett DispLink-objekt. Används för att länka
urvalsfunktionen med andra CellDisp-objekt, eller för att utnyttja funktioner
för att ta bort objekt ur cellen, flytta objekt framåt eller bakåt i cellen,
välja ut nästa eller föregående.
</attr>
<attr>DisplayObject
Kopplas till GetData-objekt som refererar ett visnings-objekt av samma klass
som de dataobjekt som hanteras i cellerna. DisplayObject gör det möjligt att
visa upp mer detaljerad information om det utvalda objektet genom att
innehållet i utvalt objekt kommer att kopieras till visnings-objektet.
</attr>
<attr>DataClass
Klassen på de dataobjekt som hanteras i cellerna.
</attr>
<attr>Function
Function:
0 Normal funktion.
1 Data-objekten läggs i omvänd ordning i CellDisp-objektet.
</attr>
<attr>Number
Om utvals-funktionen ska vara gemensam med andra DispCell-objekt måste
det finnas en ordning mellan objekten, som bestämmer i vilken ordning utvalet
hoppar mellan olika DispCell-tabeller. DispCell-objekten som är kopplade till
ett gemensamt DispLink-objekt numreras från ett och uppåt. Numret för varje
DispLink-objekt som tillhör en länk måste vara unikt, och det får inte finnas
något hopp i nummerserien.
</attr>
<attr>MaxSize
Storlek på den tabell som visas upp (antal rader). MaxSize kan inte vara större
än 60.
</attr>
<attr>SelDirection
SelDirection ändrar utvals-riktningen, dvs man får omvänd funktion för
funktionerna SelectNext /SelectPrevious och MoveForward/MoveBackward.
Detta kan vara användbart om man har länkat ihop flera CellDisp-objekt, och
en del tabeller visar dataobjekten i rättvänd ordning, andra i omvänd ordning.
Betydelsen av ‘Next’ och ‘Previous’ är då inte entydig.
SelDirection 0 innebär att Next och Forward syftar mot högre index i cellen,
SelDirection 1 att Next och Forward syftar mod lägre index.
</attr>
<attr>FloatAttr
Vektor pwr_tString32 med 5 element. Här anges namnet på de attribut
dataobjekten av typen float som ska visas i tabellen. Max 5 attribut kan anges.
Attributet i FloatAttr[0] kommer att kopieras till F1, FloatAttr[1] till F2 osv.
</attr>
<attr>BooleanAttr
Vektor pwr_tString32 med 5 element. Här anges namnet på del attribut i
dataobjekten av typen boolean som ska visas i tabellen. Max 5 attribut kan
anges. Attributet i BooleanAttr[0] kommer att kopieras till B1, BooleanAttr[1]
kommer att kopieras till B2 osv.
</attr>
<attr>IntAttr
Vektor pwr_tString32 med 5 element Här anges namnet på del attribut i
dataobjekten av typen integer som ska visas i tabellen. Max 5 attribut kan
anges. Attributet i IntAttr[0] kommer att kopieras till I1, IntAttr[1] kommer att
kopieras till I2 osv.
</attr>
<attr>Select
Vektor pwr_tBoolean med 60 element. Ett objekt på rad i väljs ut genom att
Select[i] sätts. Select[n] kopplas i operatörsbilden till en tryckknapp för rad n i
tabellen. OBS! pwr_SetDig kan ej användas i gms eftersom den ej hanterar
vektorer, använd pwr_SetValue istället.
</attr>
<attr>Objid
Vektor pwr_tObjid med 60 element. Innehåller objid för dataobjekt i cellen.
</attr>
<attr>F1
F1-F5 är vektorer pwr_tFloat32 med 60 element. Innehåller värde i attributen
angivet i FloatAtt för respektive dataobjekt i cellen.
</attr>
<attr>B1
B1-B5 är vektorer pwr_tBoolean32 med 60 element. Innehåller värde i attributen
angivet i BooleanAtt för respektive dataobjekt i cellen.
</attr>
<attr>I1
I1-I5 är vektorer pwr_tInt32 med 60 element. Innehåller värde i attributen
angivet i IntAtt för respektive dataobjekt i cellen.
</attr>
</class>
#
# Class DispLink
#
<class> DispLink
@Summary Länkning av CellDisp objekt
Ett DispLink-objekt kopplas till ett eller flera CellDisp för att samordna
utvalsfunktionen i CellDisp-objeketen, samt för att hantera bortagning och
omflyttning av objeket i cellerna.
<attr>MoveForward
Flyttar utvalt objekt ett steg framåt (till närmast högre index) i cellen.
Förflyttning kan endast ske inom en cell.
</attr>
<attr>MoveBackward
Flyttar utvalt objekt ett steg bakåt (till närmast lägre index) i cellen.
Förflyttning kan endast ske inom en cell.
</attr>
<attr>Remove
Ta bort utvalt objekt.
Objektet tas bort ur cellen mha cellens extern funktion. Eventuellt (beroende på
Function i cellen) tas även objektet bort ur databasen.
</attr>
<attr>SelectNext
Väljer ut nästa objekt, dvs objektet som ligger på närmast högre index relativt
utvalt objekt. Om det inte finns något objekt på högre index i cellen, väljs
objektet på index 0 i cellen med närmast högre Number.
Om det inte finns en cell med högre Number väljs objektet på index 0 i cellen
med Number 1.
</attr>
<attr>SelectPrevious
Väljer ut föregående objekt, dvs objektet som ligger på närmast lägre index
relativt utvalt objekt. Om det inte finns något objekt på lägre index i cellen,
väljs objektet med högsta index i cellen med närmast lägre Number.
Om det inte finns en cell med lägre Number väljs objektet med högsta index i
cellen med högst Number.
</attr>
<attr>SelectObjid
Innehåller objid för utvalt objekt. Härifrån kan utvalt objekt hämtas från t ex ett
applikationsprogram.
</attr>
</class>
This source diff could not be displayed because it is too large. You can view the blob instead.
#
# Class $DocHier
#
<class> $DocHier
@Summary Grupperingsobjekt för 'dokument'.
Grupperingsobjekt för 'dokument'.
Olika typer av objekt för 'dokumentation' är tänkt att placeras under $DocHier
objekt. Varken $DocHier objekt eller objekt därunder ingår i det aktuella
målsystemet.
Objektet kan inte placeras på översta nivån.
@b Tips
Det är lämpligt, men inte nödvändigt, att samla t.ex. ListDescriptor objekt
under ett $DocHier objekt. De ListDescriptor objekt som levereras med
PROVIEW/R distributionen finns under hierarkin Layout-Lists, där 'Lists' just
är ett $DocHier objekt.
Ska en ny typ av lista definieras eller en redan definierad lista modifieras görs
detta med hjälp av ListDescriptor objekt placerade under ett objekt med
namnet 'Lists'. 'Lists' bör vara av klassen $DocHier och konfigureras direkt
under $System objektet.
<attr>Description
Fri text för att beskriva objektets användning.
</attr>
</class>
#
# Class $LibHier
#
<class> $LibHier
@Summary Undanlagrings hierarki
Genom att placera enskilda objekt eller vanligare hela hierarki strukturer under
$LibHier -objekt kan man i utvecklingsmiljön spara undan både
anläggningsdelar och delar av nodsystemet som av någon anledning inte ska
ingå i realtidsdatabasen just nu.
$LibHier objekt skapas i utvecklingsmiljön med hjälp av Configuration Editor.
De placeras alltid under 'Plant Configuration'.
Ett PROVIEW-system kan innehålla flera $LibHier ( Lib rary Hier archy )
objekt placerade på den högsta nivån eller under andra $LibHier objekt.
Objekt placerade under $LibHier objekt ingår inte i det aktuella målsystemet.
Så kan vara fallet när en ny struktur är under utveckling i ett existerande
PROVIEW-system, när ett givet PLC program inte ska användas för tillfället
men kanske senare etc.
Också hierarki strukturer från 'Node Configuration' kan placeras under
$LibHier objekt. Men om målet är att hindra en ny nod medlem från att laddas
till målmiljön, noden kanske är under utveckling, är det bara att avstå från
'Create Load Files ...' för den aktuella noden
Objektet innehåller ingen relevant information (=data) i rtdb.
-
-
@b Tips
För att flytta en hel hierarki struktur väljs i Cofiguration Editor aktuellt
toppobjekt. Klicka därefter med MB2 där strukturen ska placeras.
<attr>Description
Fri text för att beskriva objektets användning.
</attr>
</class>
#
# Class $Node
#
<class> $Node
@Summary Konfigurerar en nod.
Konfigurerar nod i 'Node Configuration'.
Konfigureras i utvecklingsmiljön direkt under $NodeHier-objekt eller i nod
hierarkins topp. Samtidigt skapar utvecklingsmiljön vissa standardobjekt (
"ValueBase"-objekt, IOHandler-objekt m. fl. ) som barn till $Node objektet.
$Node-objektet och alla dess ättlingar kommer att ägas av den nod som
NodeName och NodeIndex anger.
<attr>Description
Fri text för att beskriva objektets användning.
</attr>
<attr>NodeName
Anger nodens namn.
</attr>
<attr>ErrLogTerm
För VAXELN nod gäller att systemfelloggen, som innehåller
systemfelmeddelanden, default skickas till konsolen. Ska felloggen skickas till
annan terminal anges dess namn här. Funktionen ej implementerad.
Attributet ej aktuellt för OpenVMS nod.
</attr>
<attr>ErrLogFile
För VAXELN nod gäller att systemfelloggen, oberoende av om den skickas till
terminal eller ej, också kan skickas till här angiven fil.
Syntax:
<area number>.<node number>::<device>[<directory>] <file
name>.<extension>
Exempel: 1.30::pwrp_lis:sys_RTPVAX.log
1.30::sys$login:pwr_VAXELN_RTPVAX.log
För att särskilja loggar från olika VAXELN noder kan nodnamnet ingå i filens
namn. I exemplet ovan anger RTPVAX den aktuella noden. Om <area
number>.<node number>:: utelämnas hamnar filen på bootnoden. Därigenom
behöver attributet inte ändras även om noden skulle bootas från skilda
bootnoder.
För OpenVMS nod gäller att systemfelloggen alltid får namnet
pwr_VMS_'xxx'.log och placeras på den egna nodens sys$login. 'xxx '
betecknar nodnamnet.
</attr>
<attr>EmergBreakTrue
Nödbromsflagga. Flaggan sätts vid
- upptäckt av hårdvarufel i kortobjekt; ErrorCount > ErrorHardLimit
- process-eftersläpning eller då övervakat jobb terminerat. Detta görs av
Watchdog -objekt.
FALSE betyder ingen åtgärd och TRUE att åtgärd enligt EmergBreakSelect
ska vidtagas.
</attr>
<attr>EmergBreakSelect
Nödbromsåtgärd. Anger åtgärd som skall vidtagas om EmergBreakTrue blir
TRUE. Följande värden finns:
-- 0 Ingen åtgärd.
-- 1 Omstart av målnoden.
-- 2 Utsignaerna sätts till FixedOutValue för resp kanalojekt och
fryses där.
-- 3 Stoppa I/O. Reset av alla utsignaler. Se också ErrorHardLimit i
kortobjekt.
</attr>
<attr>StartPlcWithDebug
För VAXELN nod anger attributet om PLC-jobbet ska laddas med eller utan
debugger. FALSE innebär att debuggern inte får kontroll över jobbet, dvs det
kommer att exekvera fullt ut; TRUE betyder att debuggern får kontroll över
jobbet sedan det startats förutsatt att det är kompilerat och länkat med
debugger.
Attributet används ej i fallet OpenVMS nod
</attr>
</class>
#
# Class $NodeHier
#
<class> $NodeHier
@Summary Grupperingsobjekt i Nodhiearkin.
Grupperingsobjekt i 'Node Configuration'.
Konfigureras i utvecklingsmiljön för att bygga upp nod hierarkin ( 'the Node
Hier archy' ) till önskad struktur, dvs dess funktion motsvarar $ PlantHier -
objektets roll i 'Plant Configuration'. Ett PROVIEW-system innehåller vanligen
många $ NodeHier -objekt.
Objektet placeras vanligen i nod hierarkins topp eller direkt under annat $
NodeHier -objekt.
Innehåller ingen relevant information (=data) i rtdb.
Om det vid 'Create Load Files ...' för den aktuella noden saknas en instans med
namnet $Orphange av klassen $NodeHier kommer den att skapas. Bakgrunden
är följande:
I målmiljön kan man dynamiskt skapa objekt. Detta kan ske från
applikationsprogram genom anrop till systemrutinen gdh_CrateObject(...).
Skapade objekt måste alltid placeras under förälder objekt, dvs de kan inte
placeras på rotnivån. Om ett sådant förälder objekt tas bort i samband med
programbyte skulle de dynamiskt skapade objekten därunder inte längre vara
tillgängliga. Därför ser PROVIEW till att placera sådana objekt under
$Orphange.
@b Tips
Objektets användbarhet för att förbättra nod strukturen kan kräva eftertanke. I
ett PROVIEW-system med många noder kan t.ex operatörs- resp process-noder
samlas under separata $ NodeHier -objekt.
En nyckeln till att konfigurera överskådliga strukturer ligger i användningen av
grupperingsobjekt.
<attr>Description
Fri text för att beskriva objektets användning.
</attr>
</class>
#
# Class $PlantHier
#
<class> $PlantHier
@Summary Grupperingsobjekt i anläggningshierarkin.
Grupperingsobjekt i 'Plant Configuration'.
Konfigureras i utvecklingsmiljön för att på anläggningssidan bygga upp hela
hierarkier ( 'the Plant Hier archy' ) eller delar av hierarkier till en överskådlig
struktur; funktion motsvarar $ NodeHier -objektets roll i 'Node Configuration'.
Ett PROVIEW-system innehåller vanligen många $ PlantHier -objekt.
Objektet används dels i anläggningens topp för att representera en särskild
anläggning i PROVIEW-systemet, dels direkt under annat $ PlantHier -objekt
för att representera en viss del av anläggningen etc.
Schematic Plant Configuration Showing Two Plants
Innehåller ingen relevant information (=data) i rtdb.
Objektet konfigureras med hjälp av 'Configuration Editor'.
<attr>Description
Fri text för att beskriva objektets användning.
</attr>
</class>
#
# Class $System
#
<class> $System
@Summary PROVIEW-systemets projekt-gemensamma objekt.
PROVIEW-systemets projekt-gemensamma objekt.
Objektet placeras i utvecklingsmiljön på den högsta nivån i 'Node
Configuration' i projektvolymen.
SystemName används för att identifiera ett givet PROVIEW-system bland
andra PROVIEW-system.
<attr>Description
Fri text för att beskriva objektets användning.
</attr>
<attr>SystemName
Anger PROVIEW-systemets namn eller beteckning. Max. 7 ASCII-tecken.
SystemName används i ladd-datafiler och i utvecklingsmiljön i samband med
behörigheter.
</attr>
</class>
<type> AttrRef
Bas typ attribut referens.
Refererar ett attribut i ett objekt.
Referensen innehåller
- objid för det refererade objektet
- classid för kroppen
- attributets offset
- attributets storlek
- ett flaggord. Om biten Indirect är satt, är attributet en pekare.
Sträng notationen för ett attrref är
_A<vid>:<oix>(<classvolume>:<class>).<attribute>[index], t ex
_A0.123.34.63:1234567890(pwrb:Ai).FilterAttribute[2]
eller om klassen är okänd, är notationen
_A<vid>:<oix>(<cid>).(<bix>)<offset>.<size>, t ex
_A0.123.34.63:1234567890(_C0.1:34).(_B1)60.34
där
vid är volyms id för objektet.
oix är objekt index för objektet.
cid är classid för objektets klass.
bix är body index för den kropp attributet tillhör.
</type>
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