×
Siemens Industry Online Support
Siemens AG
Tipo de artículo: FAQ, ID de artículo 59604194, Fecha del artículo: 16/04/2015
(13)
Evaluar

¿Cómo se pueden escribir datos en un fichero o leer datos de un fichero por medio de un script en un panel con SIMATIC WinCC (TIA Portal)?

  • Artículo
  • Relacionado con producto(s)

Descripción
En este FAQ se describe cómo se pueden escribir datos del SIMATIC WinCC (TIA Portal) runtime a un fichero o leer datos del fichero. Para realizar estas funciones se emplea VBScript (Visual Basic Scripting). Con el fin de guardar o leer información en un fichero de texto, tiene que ser posible el acceso al sistema de ficheros de Microsoft Windows CE. El acceso se realiza a través del "File System Object".
Esta entrada es válida para SIMATIC WinCC (TIA Portal) en las versiones Comfort, Advanced y Professional para los siguientes paneles de operador: Comfort Panels y paneles de la gama 277 y superior.

Consideraciones

  • ¡Usar sólo scripts para guardar datos si el mecanismo estándar de WinCC (guardar los archivos de datos, etc.) no es suficiente para su aplicación!
  • El mecanismo presentado depende del sistema operativo del panel de operador y del software de configuración usado. Se ruega consultar las indicaciones dadas al final de la entrada para informarse sobre el manejo de otras configuraciones.

Documentaación de las instrucciones de VBScript en WinCC (TIA Portal)
Se dispone de información sobre las instrucciones de VBScript independientes en la ayuda de sistema del WinCC (TIA Portal) en la pestaña de "Contenido" y en el manual del WinCC Advanced (entrada con ID: 109091876), bajo "Procesos de visualización > Trabajar con las funciones de sistema y el scripting runtime".


Fig 01

Contenido de la entrada

  • Ejemplo de salvaguarda de datos en un fichero de texto o fichero csv
  • Ejemplo de lectura de datos desde un fichero de texto o un fichero csv
  • Proyecto de ejemplo

Instrucciones
La siguiente tabla describe cómo configurar la salvaguarda y la lectura de ficheros, en WinCC (TIA Portal).
Se usan los formatos de fichero dados más abajo.

  • csv
  • txt

Consideración
En este ejemplo sólo se trabaja con variables (tags) internos. Como alternativa, también se pueden usar variables con conexión con el controlador.
En este ejemplo se demuestra la escritura en y lectura desde ficheros en una tarjeta de memoria. Si se utiliza un medio de almacenamiento diferente, se tendrá que modificar el script en consecuencia.

No. Procedimiento
1 Crear variables
  • Abrir el editor de variables mediante la opción de menú "Navegación de proyecto > HMI_1 > HMI tags > Mostrar todos los tags".
  • Añadir cuatro variables internas con las siguientes designaciones:
Variable

Tipo de dato

bExtension Bool
szMaterial WString
nPressure Int
nTemperature Int


Fig. 2
2 Añadir objetos
  • Añadir una nueva pantalla denominada "ImportExportData" bajo "Navegación de proyecto > Pantallas".
  • Insertar dos rectángulos en la pantalla.
  • Añadir un campo de entrada/salida simbólico y tres campos de entrada/salida convencionales.
  • Añadir un botón y nueve campos de texto.
  • Colocar todos los objetos e introducir los siguientes textos:
    • "Process values"
    • "Pressure"
    • "Temperature"
    • "Material"
    • "Text file"
    • "mbar"
    • "°C"
    • "Settings"
    • "Extension"
  • Creat una lista de textos denominada "Extension" y del tipo "Valor/Rango".
  • Añadir las siguientes entradas:
    • 0 => ".txt"
    • 1 => ".csv"

Fig. 03
3 Incorporación del script, la lista de texto y las variables
  • Crear un script con la designación "Write_data". Para ello tendrá que ir a la navegación del proyecto y pulsar en "Scripts > VBScripts > Añadir nuevas funciones VB".
  • Enlazar el script "Write_data" con el botón "Save file" (guardar fichero) bajo "Propiedades > Eventos > Pulsar".
  • Enlazar la lista de texto "Extension" con el campo de entrada/salida simbólico "Extension".
  • Vincular las variables siguientes con los objetos correspondientes:
    Variable / Script Tipo de objeto Objeto para ...
    iPressure Campo E/S Pressure
    iTemperature Campo E/S Temperature
    szMaterial Campo E/S Material
    bExtension Campo E/S simbólico Extension


Fig. 04
4 Crear script - Parte 1
  • Añadir el código de ejemplo en el script "Write_data" (véase la figura 05).

    Consideración
    Se dispone de más información sobre las instrucciones de VB Script en el manual para el WinCC (TIA Portal) y al final de este FAQ bajo "Información adicional".

Descripción del código fuente

  • <Lines 10 - 15> Declaración de las variables locales (sólo válido en el script).
  • <Line 18> La variable "mode" se inicializa para abrir el fichero (8 = Agregar).
  • <Lines 21-29> La variable "bExtension" es una variable global que se puede usar en todo el proyecto de WinCC (TIA Portal). Esta variable se usa para escoger la extensión del fichero por medio de un campo de E/S simbólico.
    Consideración
    La variable "delimiter" sirve como un separador y ¡se debe modificar de acuerdo con el país donde se emplee!
  • <Line 32> La instrucción "On Error Resume Next" es necesaria en caso de que se produzca un error runtime en el script. Tan pronto como se produzca un error de este tipo la línea siguiente conteniendo la rutina de error se ejecuta de forma automática.
    Consideración
    Si falta esta instrucción y se produce un error, el script se finaliza.
  • <Line 35> La función "CreateObject("FileCtl.File")" crea un objeto que accede al sistema de ficheros de Windows CE.
  • <Lines 38-42> El código fuente incluye la rutina de error para un error runtime. Si se produce un error runtime, se muestra un mensaje de error en la ventana de mensajes y entonces finaliza el script.
    Consideración
    Si se usa "FileCtl.File", sólo se puede acceder al sistema de ficheros de Windows CE. Si se arranca este script en un PC con un sistema operativo diferente, se produce un error runtime en el script y se cancela el script.



Fig. 05

5 Crear script - Parte 2
  • <Line 45> Usando el método "Open" del objeto "fo" creado se abre el fichero especificado a través de "path" (nombre de la ruta) y el parámetro "mode".

file.Open Path name, Mode, [access], [lock], [reclength]

  • <Lines 48-52> Rutina de error que se ejecuta si el fichero correspondiente, o el nombre de la ruta no existen.
  • <Lines 55-57> En esta parte se realiza una comprobación para ver si el fichero es nuevo o ya estaba disponible. Si el fichero es nuevo, se añade una cabecera.
  • <Line 60> El método "LinePrint" del objeto "fo" escribe la cadena de texto especificada en el fichero abierto. También se pueden escribir en el fichero valores de variables o valores de retorno de métodos.
    La función "Now" escribe una estampación de tiempo en el fichero.
  • <Line 63> El método "Close" cierra el fichero.
  • <Line 66> La declaración de tecla "Nothing" hace falta para separar las variables del objeto que se asignan a los objetos con la instrucción "Set".
  • <Line 68> Transfiere un mensaje de sistema definido por el usuario al sistema de mensajes de HMI.

Fig. 6
6 Iniciar Runtime
  • Transferir el proyecto de WinCC (TIA Portal) al panel de operador e iniciar la runtime.
    Consideración
    El script no se puede depurar entre el ordenador de configuración y el panel debido a los diferentes sistemas de fichero.
  • Introducir una presión, una temperatura y una designación de material.
  • Pulsar el botón "Save data".
  • En el campo de E/S simbólico se selecciona ".csv" y se pulsa de nuevo sobre el botón.
  • Finalizar la runtime del panel de operador.

Fig. 07
7 Abrir el fichero de texto
Si se guardan ambos ficheros en la tarjeta de memoria, entonces se pueden ver en un PC a través de un lector de tarjeta y abrirlos con el programa adecuado.
  • Abrir el fichero con la extensión ".txt".
  • A continuación se puede cerrar el fichero.

Fig. 08
  • Abrir el fichero con la extensión ".csv" con Excel, por ejemplo.
  • Cerrar la aplicación Excel.

Fig. 09
Tabla 01

Ejemplo de lectura de datos de un fichero .txt o de un fichero .csv
La tabla dada más abajo explica cómo leer datos de un fichero .txt o de un fichero .csv y mostrarlos en el WinCC (TIA Portal). Para la visualización se utilizan campos de entrada/salida. Por esta razón, sólo se muestra la última de las entradas.

Consideración
Ya que en este ejemplo se busca la última entrada, el script runtime se incrementa con el tamaño del fichero. En general, la configuración no depende del ejemplo descrito con anterioridad. Sin embargo, se usan componentes de éste.

No. Procedimiento
1 Incorporar variables
  • Abrir el editor de variables mediante la opción de menú "Navegación de proyecto > HMI_1 > HMI tags > Mostrar todos los tags".
  • Añadir tres variables internas con las siguientes designaciones:
    Variable

    Tipo de dato

    szDate WString
    szString_1 WString
    iValue_1 Int
    iValue_2 Int


Nota

Si no se puede utilizar el proyecto anterior, entonces añadir la variable "bExtension" del tipo "Bool".


Fig. 10
2 Añadir objetos
  • Conmutar a la pantalla "ImportExportData".
  • Insertar un rectángulo en la pantalla.
  • Si no está ya, incorporar un campo de entrada/salida simbólico y cuatro campos de entrada/salida convencionales.
  • Añadir un botón y cinco campos de texto.
  • Colocar todos los objetos tal y como se indica en la figura 11 e introducir los textos dados más abajo:
    • "Date"
    • "Value_1"
    • "Value_2"
    • "String_1"
    • "Text file"
    • "Settings" (si no está ya)
    • "Extension" (si no está ya)
  • Si no está ya, crear una lista de texto denominada "Extension" con las siguientes entradas:
  • 0 => ".txt"
  • 1 => ".csv"

Fig. 11
3 Incorporación del script, la lista de texto y las variables
  • Copiar el script "Write_data" y cambiar el nombre a "Read_data" (los cambios en el script se tratan en el punto 5)
  • Enlazar el script "Read_data" con el botón "Read file" (leer fichero) bajo "Propiedades > Eventos > Pulsar".
  • Si no está ya, enlazar la lista de texto "Extension" con el campo de entrada/salida simbólico "Extension".
  • Vincular las variables siguientes con los objetos correspondientes:
    Variable / Script Objeto Objeto para...
    szDate Campo E/S Date
    iValue_1 Campo E/S Value_1
    iValue_2 Campo E/S Value_2
    szString_1 Campo E/S String_1


Fig. 12
4 Cambiar script
  • Modificar el script "Read_data" tal y como se describe a continuación.

Descripción del código fuente

  • <Lines 10-15> Cambiar los nombres de las variables locales (véase la figura 13).
  • <Line 18> Cambiar la inicialización de la variable "mode" de 8 (agregar) a 1 (entrada).
  • <Lines 21-29> Eliminar la variable "gap" que deja de ser necesaria.

Fig. 13
5 Cambiar script
  • <Lines 54-60> Eliminar la sección, en la que, la escritura del fichero tiene lugar.
  • <Lines 54-60> Añadir la lectura del fichero (véase la figura 14).

Fig. 14
6 Iniciar Runtime
  • Transferir el proyecto de WinCC (TIA Portal) al panel de operador e iniciar la runtime.

    Consideración
    El script no se puede depurar entre el ordenador de configuración y el panel debido a los diferentes sistemas de fichero.
  • Pulsar el botón "Read file".
  • En el campo de entrada/salida simbólico seleccionar ".csv". Volver a pulsar en el botón.
  • Finalizar la runtime del panel de operador.

Fig. 15
Tabla 02

Descarga
El fichero adjunto incluye el proyecto de ejemplo descrito.

Planta Example_Project.zip (1183 KB)

Consideración
El código fuente usado en el script sólo se puede usar en los paneles de operador con Microsoft Windows CE, porque no es posible acceder al sistema de ficheros de otros sistemas operativos con este código fuente.

Información adicional
El FAQ mencionado más abajo ofrece información adicional sobre los ficheros de texto de almacenamiento con scripts.

  • Con WinCC flexible y paneles basados en Windows. Entrada con ID 26107211("¿Cómo se puede usar un script en un panel basado en Windows para guardar y leer información en un fichero de texto?")
  • Con WinCC flexible y PCs: Entrada con ID 26107211("¿Cómo se puede usar un script en un PC con WinCC flexible para guardar y leer datos en un fichero de texto?")
  • Con WinCC (TIA Portal) y PCs: Entrada con ID 106501825("¿Cómo se pueden guardar datos en la runtime del PC con WinCC (TIA Portal) con un script en un fichero?")
  • ¿Qué información de VBS y ayudas a la programación de VBS hay en el WinCC (TIA Portal)?
    Entrada con nº de identificación, ID: 59885894
  • ¿Cómo se abre un documento de Word, Excel o PDF con un Comfort Panel?
    Entrada con nº de identificación, ID: 51723931
  • ¿Cómo se pueden exportar y volver a importar datos en WinCC Runtime?
    Entrada con nº de identificación, ID: 850338
  • ¿Cómo se usa un script para determinar si una unidad de almacenamiento con medio extraíble (memoria USB, tarjeta SD/MMC) está lista para la escritura en un equipo HMI?
    Entrada con nº de identificación, ID: 89855157

Información de seguridad
Para proteger las instalaciones, los sistemas, las máquinas y las redes de amenazas cibernéticas, es necesario implementar (y mantener continuamente) un concepto de seguridad industrial integral que sea conforme a la tecnología más avanzada. Los productos y las soluciones de Siemens constituyen únicamente una parte de este concepto. Encontrará más información sobre seguridad industrial en
http://www.siemens.com/industrialsecurity.
Respaldo de estadísticas
With this function the IDs found are listed according to number (format .txt).

Generar lista
Copiar URL
mySupport Cockpit