IOPCBrowseServerAddressSpace (optional)
Previous  Top  Next

Questa interfaccia fornisce al client un modo per sfogliare i data item disponibili nel server, dando all'utente un elenco delle definizioni valide per un ITEM ID. Funziona sia per spazi indirizzi flat che gerarchici, ed è progettata per lavorare bene in rete. Isola inoltre il client dalla sintassi di un ITEM ID di uno specifico fornitore di server.
.
NOTA: La versione 1.0A della specifica affermava che ciascuna istanza di questa interfaccia era un oggetto separato (come un enumeratore), il quale avrebbe permesso sessioni di sfoglio multiple e indipendenti per lo stesso cliente sullo spazio indirizzi del server. Ciò è in violazione con le regole COM e quindi non può funzionare in combinazione con DCOM. In pratica questa interfaccia deve essere implementata come un'interfaccia separata sul singolo oggetto Data Access sottostante.

Una rappresentazione gerarchica dello spazio indirizzi del server si comporterebbe come un file system, dove le directory sono le diramazioni o percorsi, e i files rappresentano le foglie.Per esempio un server potrebbe presentare un sistema di controllo mostrando tutte le reti di controllo, dopo tutte le apparecchiature di una rete selezionata, dopo tutte delle classi di dati di un'apparecchiatura, dopo tutti i data item di quella classe.
La posizione iniziale dello sfoglio viene inizialmente posta alla 'root' dello spazio indirizzi. Il client può anche scegliere un'altra posizione iniziale all'interno dello spazio indirizzi chiamando ChangeBrowsePosition usando OPC_BROWSE_TO. Per uno spazio FLAT ciò viene ignorato. Per uno spazio gerarchico si può passare qualunque percorso parziale per indicare la root. Ciò setta una posizione iniziale dalla quale si può sfogliare verso l'alto o verso il basso.
Il Client può sfogliare gli items contenuti nella posizione corrente, attraverso BrowseOPCItemIDs. Per uno spazio gerarchico si può specificare BRANCH (che restituisce tutti i nodi di un dato livello, compresi i figli) o LEAF (i nodi di un dato livello, ma senza i figli)- or FLAT (tutti i nodi di quel livello, inclusi i figli dei figli). Ciò restituisce un enumeratore String.
Lo sfoglio può anche essere filtrato per datatype, o per Access Rights.
Gli ItemID possono essere passati a BrowseAccessPaths per ottenere un elenco di percorsi d'accesso validi al dato item.

Esempio di spazio gerarchico:

Example 1
   <ROOT>
      AREA1 (branch)
      REACTOR10 (branch)
      TIC1001 (branch)
      CURRENT_VALUE (leaf)
      SETPOINT
      ALARM_STATUS
      LOOP_DESCIPTION
      TIC1002
      CURRENT_VALUE
      etc…
      REACTOR11
      etc…
      AREA2
      etc…

Example 2
   <ROOT>
      PLC_STATION_1 (branch)
      ANALOG_VALUES (branch)
      40001 (leaf)
      40002
      etc…