Script Hook Manager

Descripción general

Script Hook Manager contiene una interfaz para varios comandos y eventos que puede ejecutarse mientras se ejecuta EcoStruxure Machine Expert. La ejecución del comando o la detección del evento pueden desencadenar la ejecución de un script Python específico. Puede programar su propio script Python o puede usar una de las plantillas Python entregadas con EcoStruxure Machine Expert.

La plantilla AutomaticProjectArchiveCreation.py, por ejemplo, contiene un script Python para crear un archivo de proyecto. Si diferentes usuarios trabajan en el mismo proyecto, esto ayuda a garantizar que se cree un archivo de proyecto cada vez que cualquier persona cambia el proyecto. Así, cada usuario tendrá acceso al estado más reciente del proyecto si se usa el archivo de proyecto más reciente.

Para obtener más información, consulte las siguientes guías del usuario de Script Engine, facilitadas en la sección Software - Programación de la ayuda en línea de EcoStruxure Machine Expert:

  • CODESYS Script Engine - Guía del usuario

  • EcoStruxure Machine Expert Script Engine - Guía del usuario

Creación de un objeto Script Hook Manager

Para crear un objeto Script Hook Manager, haga lo siguiente:

Paso

Acción

Comentario

1

Haga clic con el botón derecho en el nodo Global del árbol Aplicaciones y ejecute el comando Añadir objeto > Script Hook Manager.

Resultado: Se abrirá el cuadro de diálogo Añadir Script Hook Manager.

2

Marque la opción adecuada para crear un script Python.

  • Marque la opción Nuevo script para crear un nuevo script de Python desde cero en Logic Builder.

  • Marque la opción A partir de una plantilla y seleccione una plantilla de Python suministrada con EcoStruxure Machine Expert como base para crear su script de Python. Los casos de uso cubiertos por las diferentes plantillas se describen mediante los comentarios de los propios scripts.

  • Marque la opción A partir de un script existente para abrir un archivo de script de Python que haya programado en otra herramienta. Haga clic en el botón Seleccionar para abrir el cuadro de diálogo Abrir archivo y buscar el archivo .py.

3

Haga clic en el botón Añadir.

Resultados:

  • Se añaden el nodo Script Hook Manager y el nodo Script Python como subnodos del nodo Global del árbol de aplicaciones.

  • Se abre el editor Script Hook Manager.

Editor Script Hook Manager

El editor Script Hook Manager muestra los Comandos y los Eventos disponibles para desencadenar la ejecución de scripts Python en el lado izquierdo.

  • Para activar un comando o un evento, seleccione el elemento correspondiente y haga clic en el botón Activar hook .

  • Para desactivar un comando o un evento, seleccione el elemento correspondiente y haga clic en el botón Desactivar hook .

Estos ajustes de estado se guardan en el proyecto. Por ejemplo, si abre un proyecto previamente guardado con un hook BeforeProjectSave activado, este hook permanecerá activo y se desencadenará cuando el evento/comando se vuelvan válidos.

En el lado de la derecha tiene más información sobre el comando o el evento seleccionados:

La sección Sintaxis de declaración contiene la firma del método al que llama el sistema una vez ejecutados el evento o el comando por EcoStruxure Machine Expert. Haga clic en el botón Copiar código para insertar el código en su código Python en el editor Script Python y ampliar este método con los comandos Python que desee ejecutar.

El botón Cambiar nombre de función le permite modificar el nombre de la función Python en otro cuadro de diálogo. Tras guardar un nombre diferente, asegúrese de usar la cadena exacta del nombre modificado en su código Python.

La sección Parámetros muestra los parámetros disponibles en el método Python cuando se ejecuta.

Editor Script Python

El editor Script Python le permite programar su script Python directamente en Logic Builder. El editor admite todas las funciones de programación Python, aunque la función Autocomplete (IntelliSense) no proporciona todas las palabras clave Python disponibles para seleccionarlas.

En función de la selección que realice en el cuadro de diálogo Añadir Script Hook Manager, tendrá las siguientes opciones para crear su script Python en el editor Script Python:

  • Desde cero, empezando con un editor Script Python vacío, introduciendo su código y usando los snippets de código que copie de la sección Sintaxis de declaración del editor Script Hook Manager.

  • A partir de una plantilla, usando el script proporcionado por la plantilla seleccionada como base y ampliándolo con su código Python específico.

  • Importando el script Python que ha programado en otra herramienta.

NOTA: Tras programar su script Python, haga clic en el botón Actualizar ámbito de script para sincronizar el script y aplicar las modificaciones. Si sale del editor Script Python sin sincronizar, las modificaciones se guardarán y, así, seguirán disponibles en el editor, pero no se aplicarán. En su lugar, se seguirá ejecutando el script anterior, sin modificaciones. Si carga otro proyecto o crea un nuevo proyecto, habrá disponible un script diferente (o ningún script).

Con el procedimiento Actualizar ámbito de script, se valida el código Python. Si se detecta algún error, se indica en la vista y el código no se ejecuta.

Ignorar varios eventos durante el inicio o el cierre de sesión

NOTA: Debido a las limitaciones técnicas, los eventos AfterDeviceLogin o AfterDeviceLogout se pueden activar varias veces.

Por ejemplo, ignore la ejecución múltiple del evento AfterDeviceLogin con la ayuda de un indicador en el script:

def after_device_login():
    if session_store.get("loginHandled", False) == False:
        print("after_device_login")
        session_store.set("loginHandled", True)
    pass

def after_device_logout():
    print("after_device_logout")
    session_store.set("loginHandled", False)
    pass

Mensajes de Script Hook en la vista Mensajes

Los textos que programa en su código Python con el comando print se muestran en el área Scripthooks de la vista.