Konfigurera en rotvolym


En rootvolym öppnas från directory volymen genom att man högerklickar på ett VolumeConfig
objekt och aktiverar 'Open Project' i popupmenyn.

Om man har gjort 'sdf' till projektet kan man även öppna med 'pwrs' kommandot genom att
skicka med volymsnamnet som argument.

> pwrs voltrafficcross1

Detta startar konfiguratören för rotvolymen. Liksom för directoryvolymen är den separerad
i två fönster, men nu visar det övre fönstret anläggingshierarkin och det undre
nodehierarkin.

Om man öppnar en tom volym, startas en guide för att konfigurera volymen. Guiden
konfiguerar nod hierarkin genom att skapa diverse objekt för server processer mm, men
man kan även skapa dessa för hand, se nedan.

Konfigurering av anläggningshierarkin

I anläggningshierarkin beskrivs de olika anläggningarna som finns med i ProviewR systemet.
En anläggning är en logisk beskrivning av t ex en produktions process, funkioner, utrustning
som ska styras och övervakas.
Se exempel på anläggningshierarki

$PlantHier objekt

Top objekten i anläggnings hierarkin är $PlantHier objekt. Detta objekt identifierar
anläggningen, eller delar av den.

$PlantHier objektet används för att gruppera objekt, och strukturera anläggningen. Objektet
kan t ex användas för att gruppera signalobjekt.

Signal objekt

Signalobjekten definerar en logisk signal, eller punkt, och representerar en enhet eller
ett värde någonstans i processen, till skillnad från kanalobjekten som definierar fysiska
signaler. Signalobjekten är generiska, dvs de kan användas med vilket I/O-system som helst.

Det finns några klasser av signaler som inte kan kopplas till kanaler, Dv, Iv, Av och Sv
(DigitalValue, IntegerValue, AnalogValue and StringValue). Dessa objekt används för att
lagra digitala värden, heltalsvärden, analoga värden resp teckensträngar.

Signalens värde definieras av attributet ActualValue.

Följande signalobjekt finns tillgängliga för närvarande:

Ai                  Analog ingång.
Ao                  Analog utgång.
Av                  Analogt värde.
Ii                  Heltalsingång.
Io                  Heltalsutgång.
Iv                  Heltalsvärde.
Di                  Digital ingång.
Do                  Digital utgång.
Po                  Pulsad digital utgång.
Dv                  Digitalt värde.
Co                  Pulsgivar ingång.
Sv                  Sträng värde.
Obs! PLC programmet kan läsa signaler placerade på andra noder, men kan inte skriva i dem.

PlcPgm objekt

PlcPgm objektet definierar ett PLC program. Det är möjligt att ha flera PLC program i en
anläggning. Följande attribut måste datasättas:

- ThreadObject identifierar den plctråd som programmet ska exekvera i. Den refererar ett
PlcThread objekt i nodkonfigurationen.
- Om programmet innehåller en GRAFCET sekvens, måste ett återställningsobjekt anges i
ResetObject. Detta är en Dv, Di eller Do återställer sekvensen till utgångsläget.


Backup objekt

Backup objektet används för att peka ut ett objekt eller attribut, som ska backas upp. Det
anger även om lagringen ska utföras med den snabba eller långsamma cykeln.

MountObject

MountObject objektet monterar ett objekt i en annan volym. I attributet Object specificerar
man det objekt som ska monteras.

Konfigurering av nodhierarkin

I nodhierarkin definieras noderna i ProviewR systemet.


Fig Nodhierakin

$NodeHier objekt

$NodeHier objektet används för att gruppera objekt i nodhierarkin. Objektet kan användas för
att gruppera t exe $Node objekt eller XttGraph objekt.
Se $NodeHier i Objektshandboken

$Node

För att definiera en nod i systemet används $Node objekt. När $Node objektet skapas, skapas
dessutom ett antal server- och operatörs-objekt.
Se $Node i Objektshandboken

I/O objekt

Konfigureringen av I/O systemet är beroende på vilken typ av I/O man använder. ProviewR har
ett modulariserat I/O för att kunna hantera många olika typer av I/O system: rack och kort
system, distribuerade bussystem, eller system som är kopplade via olika typer av nätverk.

Det modulariserade I/O system är uppdelat på fyra nivåer: agent, rack, kort och kanal.

Rack och kort system
Vi tar I/O systemet PSS9000 som exempel på ett system med rack och kort. Systemet består
av analoga och digital in- och utgångs-kort som monteras i rackar. Rackarna kopplas via en
buss kabel till ett busskonverteringskort i datorn som konverterar PSS9000 bussen till
datorns PCI buss.

I det här fallet används inte agent-nivån, utan $Node objektet fungerar som agent. Rack
nivån konfigurerar man genom att lägga objekt av typen SSAB_Rack under $Node objektet, ett
för varje rack i systemet. Korten konfigureras genom att lägga objekt specifika för olika
typer av IO-kort under rack-objekten. I PSS9000 finns kortobjekt som Ai_Ai32uP, Ao_Ao4uP,
Di_DIX2 och Do_HVDO32. Under kortobjekten läggs kanalobjekt, ett för varje kanal på kortet.

Gemensamt för olika I/O system är egentligen bara kanal-objekten, som definerar ut- eller
ingångs-kanaler på ett kort eller en modul. Det finns några olika typer av kanaler.

ChanDi              Digital ingång.
ChanDo              Digital utgång.
ChanAi              Analog ingång.
ChanAit             Analog ingång med konvertering av signalvärde via tabell.
ChanAo              Analog utgång.
ChanIi              Heltals ingång.
ChanIo              Heltals utgång.
ChanCo              Pulsgivaringång.

Fig I/O konfigurering

Distribuerat I/O
Som exempel på distribuerat I/O tar vi profibus. Här utnyttjas alla fyra nivåerna. På datorns
PCI buss sitter ett masterkort som kommunicerar med ett antal slavar på profibusslingan.
Masterkortet konfigureras med ett Pb_Profiboard objekt som ligger på agent-nivå. Under detta
konfigureras de olika slavarna med Pb_DP_Slave objekt. Dessa ligger på rack-nivå. Under
slav-objekten finns modul objekt av typen Pb_Ai, Pb_Ao, Pb_Di, Pb_Do etc, som ligger på
kort-nivå. Under modul-objekten slutligen, konfigureras kanalerna med kanalobjekten ChanDi,
ChanDo etc.

Process och tråd för I/O objekt
I/O objekt på kort-nivå innehåller ofta attributen Process och ThreadObject. I Process
specificeras vilken process som ska hantera kortet.

Kortet kan hanteras av PLC programmet, vilket innebär att läsning och skrivning gör synkront
med exekveringen av PLC't. Här kan man även ange vilken tråd i PLC't som ska hantera korten,
dvs med vilken tidbas de ska läsas och skrivas (PlcThread attributet).

Kortet kan även hanteras av rt_io processen, som normalt går på en lägre prioritet än
PLC't som ej hanterar korten synkron med PLC't. Vissa typer av analoga ingångskort som tar
relativt lång tid att läsa av, hanteras med fördel av denna process.

Man kan också skriva en egen applikation som hanterar läsning och skrivning av kort. Det
finns ett API för att initiera, läsa och skriva på korten. Detta kan vara av intresse om det
är av vikt att läsning och skrivning av ett kort gör synkront med applikationen.

MessageHandler objekt

MessageHandler objektet konfigurerar server processen rt_emon, som hanterar
övervakningsobjekten (DSup, ASup, CycleSup). När en händelse har detekterats av servern,
skickas ett meddelande till de olika utenheter som är intresserade av just det här larmet.

I objektet anges t ex hur många händelser som ska lagras i noden. Objektet skapas automatisk
under ett $Node objekt.
Se MessageHandler i Objektshandboken

IOHandler objekt

IOHandler konfigurerar vissa data för I/O hanteringen.

- ReadWriteFlag specificerar om man ska addressera den fysiska hårdvaran eller inte.
- IOSimulFlag anger att man simulerar den fysiska hårdvaran.
- Tidbasen för rt_io processen, dvs den process som hanterar lite långsammare typer av I/O
kort som inte är lämpliga att hantera i PLC programmet.

I produktionssystem för en processtation sätts ReadWriteFlag till 1 och IOSimulFlag till 0.
Om man vill simulera processtationen, t ex på utvecklingsnoden, ska ReadWriteFlag sättas
till 0 och IOSimulFlag till 1.

IOHandler objektet skapas automatiskt samtidigt som ett $Node objekt.
Se IOHandler i Objektshandboken

Backup_Conf objekt

Ibland är det önskvärt att ha backup på ett antal objekt in systemet. Då placeras ett
konfigurerings objekt för backupen, Backup_Conf, under nodobjektet. Backupen utförs med två
olika cykler, en snabb och en långsam.

För att ange vilka objekt eller attribut som ska backas upp, använder man Backup objekt.
Se beskrivning av Backup objekt
Se Backup_Conf i Objektshandboken

Operatörsplats objekt

För att definiera en operatörsplats skapas ett objekt av klassen OpPlace under $Node
objektet.

Föjande attribut måste ges ett värde:

- UserName talar om vilken ProviewR användare som ska loggas in. När operatörsmiljön startas
hämtas information om användaren från ProviewR's användardatabas, bl a vilka rättigheter
operatören har att påverka systemet från processbilder.
- MaxNumberOfEvents anger antalet händelser som operatörens händelselista kan innehålla
samtidigt.
- EventSelectList anger vilka hierakier i anläggninghierakin, som operatören vill ta emot
larm och händelser ifrån.

Om vi betraktar figuren nedan, som illustrerar anläggningen A, och antar att vi ta emot
händelser från de inringade objekten anger vi 'A-C' som ett alternativ i EventSelectList.
Det innebär att kommer att ta emot händelser från det övervakade objektet C, och från alla
övervakade objekt under C.


Fig EventSelectList exempel 1

Ett annat exempel:
Vi betraktar figuren nedan, som visar anläggningen TrafficCross1. Om vi vill ta emot alla
händelser från TrafficCross1, lägger vi in 'TrafficCross1' i EventSelectList. TrafficCross1
hanterar två trafikljus, TrafficLightNS och TrafficLightWE. Låt oss säga att vi enbart vill
ha händelser från TrafficLightNS. I det fallet anger vi 'TrafficCross1-TrafficLightNS'
istället för TrafficCross1.


Fig EventSelectList exempel 2

Om man vill ta emot händelser från CycleSup objekt som övervakar plctrådarna, måste man även
ange namnet på $Node-objektet i EventSelectList.

I FastAvail specificerar man XttGraph objekt som ska kunna startas från tryckknappar i
'Operator window'. NoFastAvail specificerar antalet tryckknappar som används. Man kan ha
upp till 15 tryckknappar. Oanvända tryckknappar visas ej i Operator Window.

Se OpPlace i Objektshandboken


Fig Operatörsfönstret

XttGraph objekt

XttGraph objekt används främst för att visa processbilder. I objektet pekar man ut den graf
som ska visas. Objekten refereras i OpPlace objektets FastAvail attribut, och i attributet
DefGraph som bl a finns i $PlantHier och signal objekt och som gör det möjligt att öppna
grafen från objektets popupmeny.

När objektet refereras i FastAvail kan man även utnyttja möjligheten att exekvera
xtt-kommandon mha XttGraph objektet. Man kan t ex via ett kommando sätta en viss signal
från en tryckknapp i operatörsfönstret.

I XttGraph objektet ska följande attribut fyllas i:

- Action. Här anges en Ge graph, eller ett Xtt kommando.

Se XttGraph i Objektshandboken

Multiview objekt

Multiview är ett operatörs-fönster som är organiserat som en tabell, där varje cell kan
innehålla en graf, trend, historisk kurva, larmlista, händelselista eller ett annat
multiview fönster. Figuren nedan visar ett multiview fönster med en kolumn och två rader.
The första cellen innehåller ett annat multiview fönster med två kolumner och tree rader,
där den andra cellen innehåller en larmlista. De olika larmlistorna visar larm från olika
delar av anläggningen, specificerade av AlarmView objekt. En multiview konfigureras med
ett XttMultiView objekt. Action-vektorn innehåller specifikationerna för varje cell.

Det är också möjlig att byta ut en graf eller kurva i en cell med xtt-kommandot
'set subwindow'.


Fig Multiview window