OPC XML/DA Client


Proveiw's opc klient är implementerad som en extern volym, som monteras i rotvolymens
objektsträd. Under monteringsobjektet visas de grenar och punkter som opc servern innehåller
med speciella opc objekt. Ett Opc_Hier objekt representerar en gren, ett Opc_Int objekt en
punkt med ett heltalsvärde, ett Opc_Boolean objekt en punkt med ett boolskt värde etc.
Om ett punktobjekt öppnas, visas punkvärdet i Value attributet, och en del andra egenskaper
som beskrivning, lowEU, highEU, ingenjörsenhet, lowIR och highIR visas också. När objektet
öppnas startas en prenumeration, och värdet uppdateras kontinuerligt. För heltal- och
flyttalsvärden finns även en objektsbild som visar en kurva på värdet.

Med en opc klient kan man

- visa grenar och punkter i Xtt, och även visa punkvärden och sätta punktvärden.
- prenumerera på värden och visa dem i en Ge bild.
- hämta upp punktvärden i ett plcprogram, och även skriva punktvärden.

Opc klienten kräver att namn browsing är implementerat i opc servern.

Ge

Ett punkvärde kan visas i en Ge bild genom att använda namnet på punkten i den externa volymen.
Till exempel, om monteringsobjektet för den externa volyment är 'Ext-P1', och det lokala
namnet för punkten är

  /P1/Signals/Ai22

kommer sinalnamnet i Ge antagligen att bli (detta är beroende av browsing funktionen i
servern)

  Ext-P1-P1-Signals-Ai22.Value##Float32

om det är en flyttalspunkt.

Plc

Punktvärden kan även hanteras i plc programm, genom att använda GeExt... och CStoExt... objekt.
De objekt som normalt används för att hämta och lagra attributvärden, GetDp, GetAp, StoDp,
StoAp etc, kan inte användas efter som det refererade objektets identitet måste vara känt i
utvecklingsmiljön, vilket inte är fallet med externa volymer. I Ext objekten, utgörs
referenserna av strängar, vilket gör det möjligt att lägga in punktnamnet. För att hämta värdet
av punken i föregående exempel, ska man använda ett GetExtFloat32 objekt, och punktnamnet ska
vara

Ext-P1-P1-Signals-Ai22.Value

För att lagra ett värde i en punkt, t ex /P1/Signals/Ao5, använder man en CStoExtFloat32.
Det här objektet gör en villkorlig lagring, och enbart på positiv flank på villkoret. Jämför
med CStoAp där värdet är lagrat så länge villkoret är sant. Referensnamnet i CStoExtFloat32
objetet blir i det här fallet

Ext-P1-P1-Signals-Ao5.Value

Klient process

För varje Opc klient/server förbindelse måste en klientprocess startas. Programmet för denna
process är opc_provider, som tar argumenten

1. Opc server URL.
2. Extern volume id.
3. Extern volume name.
4. Server identity (optional, default 200).

Konfigurering

Registrering av ExternVolym

Registrera externvolymen i den globala volymslistan (GlobalVolumeList) med volymsnamn och
identitet.

Applikationsfil

Addera en rad i applikationsfilen för att starta opc_provider. Här är ett exempel för en
opc klient som kopplas upp sig mot opc servern 'http://servernode::8080. Den registrerade
externvolymen har namnet MyOpcVolume med volymsidentiteten 0.1.99.55.

opc_provider, opc_provider, noload, run, opc_provider, 9, nodebug,
    http://servernode:8080 0.1.99.55 MyOpcVolume

Om punkvärden hämtas i plc programmet, ska prioriteten sättas till 4 (sjätte argumentet).

Monteringsobjekt

Skapa ett monteringsobjekt i anläggningshierarkin i rotvolymen, och lägg in objektsidentiten
för volymsobjektet i externvolymen i Objekt attributet. I exemplet ovan är denna objid
_O0.1.99.55:0.

Tips

Applikationsfilen ligger på $pwrp_load och har namnet

$pwrp_load/ld_appl_'nodename'_'busnumber'.txt

där nodename är nodens namn och busnumber Qcombusnumret. Om noden är 'mynode' och busnumret
är 507, blir filnamnet

  $pwrp_load/ld_appl_mynode_507.txt