Biblioteca: AC_ModuleBase
La biblioteca básica de módulos AC_ModuleBase forma parte del concepto de módulos de la CODESYS Application Composer. Todos los módulos que se desarrollan para estar disponibles en el configurador de árbol de módulos deben derivarse de esta biblioteca básica.
Nombre de instancia
La propiedad InstanceName
de la clase base devuelve una cadena que contiene el nombre de la instancia del módulo.
Propiedad en IInstanceBase
:PROPERTY InstanceName : STRING(255)
Valor devuelto: nombre de instancia de la instancia del módulo
Sugerencia
Las instancias de proxy devuelven el nombre de instancia de la instancia del módulo remoto.
información del módulo
PROPERTY ModuleInfo : POINTER TO ModuleInfo
: esta propiedad devuelve un puntero a un bloque de funciones ModuleInfo con el método PROPERTY ModuleType : STRING(255)
.
PROPERTY ModuleType : STRING(255)
: esta propiedad devuelve el nombre del módulo calificado por el espacio de nombres de la biblioteca del módulo. (El espacio de nombres es relativo al proyecto principal).
Ruta de la instancia
La función GetInstancePath(IModule)
devuelve la ruta de instancia de una instancia de módulo. La ruta de la instancia se construye concatenando los nombres de instancia de todos los ancestros, desde el módulo de nivel superior hasta la instancia dada. Los nombres de las instancias están separados por puntos. Si el nombre de la instancia resultante tiene más de 255 caracteres, se devuelve una cadena vacía.
PROPERTY InstancePath : STRING(255)
Navegación plana
La función GetPrevModule(IModule)
y GetNextModule(IModule)
permitir saltar al elemento anterior o al siguiente (si el árbol de módulos se considera una lista plana de instancias de módulos). Los módulos se devuelven primero en profundidad en el pedido anticipado del árbol de módulos. Las referencias a módulos se omiten si no hay un módulo anterior o siguiente.
Alternativamente, el bloque de funciones DepthFirstRange
se puede utilizar que enumera todas las instancias a partir de una instancia específica. La función GetDepthFirstRange
devuelve una instancia de bloque de función de rango (de tipo DepthFirstRange
) que enumera el árbol completo, comenzando en una instancia determinada.
Navegación jerárquica
La interfaz IModuleTree
permite navegar en el árbol de módulos. Se proporciona un objeto de esta interfaz a cada módulo mediante el uso de un puntero a una instancia de tipo MEnv
. Este puntero se pasa a la función SetIdentification
. Las referencias a los módulos se omiten en la navegación. El orden de los nodos secundarios corresponde al orden de las instancias del módulo en el árbol de módulos.
GetParent(itfM : IModule) : IModule
: IModule: Devuelve la instancia principal de una instancia de módulo determinada. Para instancias de módulo de nivel superior, el valor de retorno es 0.
GetFirstChild(itfM : IModule) : IModule
: Devuelve el primer elemento secundario de una instancia de módulo determinada. Para instancias de módulos sin hijos, el valor de retorno es 0
NextSibling(itfM : IModule) : IModule
: Devuelve el siguiente hermano de una instancia de módulo. Para instancias de módulo sin más hermanos, devuelve 0. También se puede llamar para instancias de nivel superior.
PrevSibling(itfM : IModule) : IModule
: Devuelve el hermano anterior de una instancia de módulo. Para instancias de módulos sin hermanos anteriores, devuelve 0. También se puede llamar para instancias de nivel superior.
GetFirstToplevelInstance() : IModule
: Devuelve la primera instancia de nivel superior del árbol. Devuelve 0 si el árbol está vacío.
Navegación a antepasados, hermanos e hijos
El bloque de funciones AncestorRange
permite acceder a todos los ancestros de una instancia, comenzando por la instancia misma. El bloque de funciones SiblingRange
permite acceder a todos los hermanos siguientes de una instancia en el árbol de módulos, comenzando en la instancia misma. La función GetChildRange
devuelve un elemento de rango (tipo SiblingRange
) de todos los hijos de una instancia.
Navegación al nivel superior
La función GetToplevelRange
devuelve una instancia de rango (tipo SiblingRange
) que proporciona acceso a todas las instancias de nivel superior. La función GetToplevelInstance
devuelve el módulo de nivel superior que es un ancestro de la instancia dada.