Volymer
När man konfigurerar ett system och skapar objekt, vet man vanligtvis vilken nod objektet ska
tillhöra i runtime. Man skulle kunna dela in objekt efter vilka noder de kommer att tillhöra,
men man har valt en lite mer flexibel indelning, så istället delar man in objekten i volymer.
En volym är en slags behållare för objekt. Volymen har ett namn och en identitet, och den
innehåller ett antal objekt ordnade i en trädstruktur.
Det finns ett antal olika typer av volymer, och den första man kommer i kontakt med är en
rotvolym. När man konfigurerar en nod, jobbar man vanligtvis i en rotvolym. Varje nod är
kopplad till en rotvolym, vilket innebär att när noden startas i runtime, kommer rotvolymen,
och de objekt som finns in den, att laddas in i noden. Nedan följer en beskrivning på de olika
typer av volymer som finns.
RootVolume
En rotvolym innehåller roten till objektsträdet på en nod. När en nod startar, laddar den
in rotvolymen.
En nod är kopplad till en och endast en rotvolym. Däremot kan en rotvolym laddas in i flera
olika noder. Samtidigt som man kör processtationen i produktion, kan man ladda in samma
rotvolym i sin utvecklingsstation för simulering, och i en tredje nod för utbildning.
Man måste dock se till att de olika noderna går på olika kommunikations bussar.
SubVolume
En del av objekten på en nod kan man lägga i en subvolym. Anledningen till att dela upp
objekten i en nod i en rotvolym och en eller flera subvolymer, kan vara att flera personer
måste konfigurera noden samtidigt, eller att man planerar att flytta styrningen av vissa
anläggningsdelar till en annan nod så småningom.
ClassVolume
Definitionen av olika klasser ligger speciella volymer som kallas klassvolymer. Här byggs
beskrivningen av en klass upp med objekt som definierar klassens namn och vilka attribut
som ingår i klassen.
Det finns två stycken klassvolymer som man alltid måste ha med i ett ProviewR system, pwrs och
pwrb. pwrs innehåller systemklasser, framför allt klasser som används i
klassdefinitionerna. pwrb innehåller basklasser, dvs standard klasser som behövs för att
bygga en process- eller operatörsstation.
DynamicVolume
En dynamisk volym innehåller dynamiska objekt, dvs objekt som skapas temporärt i runtime.
Om man har en materialföljnings modul i systemet, kan man skapa ett objekt för varje material
som behandlas i anläggningen, och ta bort det när materialet är färdigbehandlat.
SystemVolume
Systemvolymen är en dynamisk volym som finns i varje nod, och som innehåller diverse
systemobjekt.
DirectoryVolume
Directory volymen är en volym som enbart finns i utvecklingsmiljön. I denna konfigurerar
man vilka volymer och noder som finns i systemet.
Volymsidentitet
Varje volym har en unik identitet, som skrivs med fyra tal, separerade med punkter, t ex
"_V0.3.4.23". Prefixet _V markerar att det är frågan om en volymsidentitet. För att
verifiera att volymsidentiteter är unika finns det en global volymslista som innehåller
alla volymer. Innan man skapar ett projekt, ska volymerna i projektet registreras i
volymslistan.