Libreria: AC_ModuleBase
La libreria base del modulo AC_ModuleBase fa parte del concetto di modulo di CODESYS Application Composer. Tutti i moduli sviluppati per essere disponibili nel configuratore dell'albero dei moduli devono essere derivati da questa libreria di base.
Nome dell'istanza
La proprietà InstanceName
della classe base restituisce una stringa che contiene il nome dell'istanza del modulo.
Proprietà a IInstanceBase
:PROPERTY InstanceName : STRING(255)
Valore restituito: nome dell'istanza del modulo
Suggerimento
Le istanze proxy restituiscono il nome dell'istanza del modulo remoto.
Informazioni sul modulo
PROPERTY ModuleInfo : POINTER TO ModuleInfo
: Questa proprietà restituisce un puntatore a un blocco funzione ModuleInfo con metodo PROPERTY ModuleType : STRING(255)
.
PROPERTY ModuleType : STRING(255)
: questa proprietà restituisce il nome del modulo qualificato dallo spazio dei nomi della libreria dei moduli. (Lo spazio dei nomi è relativo al progetto principale.)
Percorso dell'istanza
La funzione GetInstancePath(IModule)
restituisce il percorso dell'istanza di un'istanza del modulo. Il percorso dell'istanza viene creato concatenando i nomi delle istanze di tutti gli antenati, a partire dal modulo di primo livello fino all'istanza specificata. I nomi delle istanze sono separati da punti. Se il nome dell'istanza risultante è più lungo di 255 caratteri, viene restituita una stringa vuota.
PROPERTY InstancePath : STRING(255)
Navigazione piatta
La funzione GetPrevModule(IModule)
E GetNextModule(IModule)
permette di saltare all'elemento precedente o successivo (se l'albero del modulo è considerato come un elenco semplice di istanze del modulo). I moduli vengono restituiti in profondità, prima del preordine dell'albero dei moduli. I riferimenti ai moduli vengono saltati se non esiste alcun modulo precedente o successivo.
In alternativa il blocco funzione DepthFirstRange
può essere utilizzato che elenca tutte le istanze a partire da un'istanza specifica. La funzione GetDepthFirstRange
restituisce un'istanza di blocco funzione intervallo (di tipo DepthFirstRange
) che elenca l'albero completo, a partire da una determinata istanza.
Navigazione gerarchica
L'interfaccia IModuleTree
permette di navigare nell'albero dei moduli. Un oggetto di questa interfaccia viene fornito a ciascun modulo utilizzando un puntatore a un'istanza di tipo MEnv
. Questo puntatore viene passato alla funzione SetIdentification
. I riferimenti ai moduli vengono saltati nella navigazione. L'ordine dei nodi figlio corrisponde all'ordine delle istanze del modulo nell'albero del modulo.
GetParent(itfM : IModule) : IModule
: IModule: restituisce l'istanza principale di una determinata istanza del modulo. Per le istanze del modulo di primo livello il valore restituito è 0.
GetFirstChild(itfM : IModule) : IModule
: Restituisce il primo figlio di una determinata istanza del modulo. Per le istanze del modulo senza figli il valore restituito è 0
NextSibling(itfM : IModule) : IModule
: Restituisce il fratello successivo di un'istanza del modulo. Per le istanze del modulo senza ulteriori fratelli restituisce 0. Può essere chiamato anche per istanze di livello superiore.
PrevSibling(itfM : IModule) : IModule
: Restituisce il fratello precedente di un'istanza del modulo. Per le istanze del modulo senza fratelli precedenti restituisce 0. Può essere chiamato anche per istanze di livello superiore.
GetFirstToplevelInstance() : IModule
: Restituisce la prima istanza di primo livello dell'albero. Restituisce 0 se l'albero è vuoto.
Navigazione verso antenati, fratelli e figli
Il blocco funzione AncestorRange
consente di accedere a tutti gli antenati di un'istanza, a partire dall'istanza stessa. Il blocco funzione SiblingRange
permette di accedere a tutti i successivi fratelli di un'istanza nell'albero dei moduli, a partire dall'istanza stessa. La funzione GetChildRange
restituisce un elemento di intervallo (tipo SiblingRange
) di tutti i figli di un'istanza.
Navigazione al livello superiore
La funzione GetToplevelRange
restituisce un'istanza di intervallo (tipo SiblingRange
) che fornisce l'accesso a tutte le istanze di primo livello. La funzione GetToplevelInstance
restituisce il modulo di primo livello che è un antenato dell'istanza specificata.