Funcionesdatalogging
Funcionesdatalogging
Funcionesdatalogging
EIO0000000488 04/2014
SoMachine
Funciones Data Logging
Guía de la biblioteca DataLogging
04/2014
EIO0000000488.03
www.schneider-electric.com
La información que se ofrece en esta documentación contiene descripciones de carácter general
y/o características técnicas sobre el rendimiento de los productos incluidos en ella. La presente
documentación no tiene como objetivo sustituir ni debe emplearse para determinar la idoneidad o
fiabilidad de dichos productos para aplicaciones de usuario específicas. Los usuarios o
integradores tienen la responsabilidad de llevar a cabo un análisis de riesgos adecuado y
exhaustivo, así como la evaluación y pruebas de los productos en relación con la aplicación o uso
en cuestión de dichos productos. Ni Schneider Electric ni ninguna de sus filiales o asociados
asumirán responsabilidad alguna por el uso inapropiado de la información contenida en este
documento. Si tiene sugerencias para mejoras o modificaciones o ha hallado errores en esta
publicación, le rogamos que nos lo notifique.
No se podrá reproducir este documento de ninguna forma, ni en su totalidad ni en parte, ya sea
por medios electrónicos o mecánicos, incluida la fotocopia, sin el permiso expreso y por escrito de
Schneider Electric.
Al instalar y utilizar este producto es necesario tener en cuenta todas las regulaciones sobre
seguridad correspondientes, ya sean regionales, locales o estatales. Por razones de seguridad y
para garantizar que se siguen los consejos de la documentación del sistema, las reparaciones sólo
podrá realizarlas el fabricante.
Cuando se utilicen dispositivos para aplicaciones con requisitos técnicos de seguridad, siga las
instrucciones pertinentes.
Si con nuestros productos de hardware no se utiliza el software de Schneider Electric u otro
software aprobado, pueden producirse lesiones, daños o un funcionamiento incorrecto del equipo.
Si no se tiene en cuenta esta información se pueden causar daños personales o en el equipo.
© 2014 Schneider Electric. Reservados todos los derechos.
2 EIO0000000488 04/2014
Tabla de materias
Información de seguridad . . . . . . . . . . . . . . . . . . . . . . . 5
Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Capítulo 1 registro de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Introducción al registro de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Configuración del registro de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Gestión de archivos de registro de datos . . . . . . . . . . . . . . . . . . . . . . 15
Información adicional de archivos de registro de datos . . . . . . . . . . . 19
Cómo añadir bloques de funciones LogRecord y Dump . . . . . . . . . . . 20
Compilación de una cadena WSTRING amplia . . . . . . . . . . . . . . . . . 21
Apéndices ......................................... 23
Apéndice A Representación de funciones y de bloques de
funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Diferencias entre una función y un bloque de funciones. . . . . . . . . . . 26
Cómo utilizar una función o un bloque de funciones en lenguaje IL . . 27
Cómo utilizar una función o un bloque de funciones en lenguaje ST . 31
Glosario ......................................... 35
Índice ......................................... 37
EIO0000000488 04/2014 3
4 EIO0000000488 04/2014
Información de seguridad
Información importante
AVISO
Lea atentamente estas instrucciones y observe el equipo para familiarizarse con el dispositivo
antes de instalarlo, utilizarlo o realizar su mantenimiento. Los mensajes especiales que se ofrecen
a continuación pueden aparecer a lo largo de la documentación o en el equipo para advertir de
peligros potenciales o para ofrecer información que aclara o simplifica los distintos
procedimientos.
EIO0000000488 04/2014 5
TENGA EN CUENTA
La instalación, manejo, puesta en servicio y mantenimiento de equipos eléctricos deberán ser
realizados sólo por personal cualificado. Schneider Electric no se hace responsable de ninguna
de las consecuencias del uso de este material.
Una persona cualificada es aquella que cuenta con capacidad y conocimientos relativos a la
construcción, el funcionamiento y la instalación de equipos eléctricos y que ha sido formada en
materia de seguridad para reconocer y evitar los riesgos que conllevan tales equipos.
6 EIO0000000488 04/2014
Acerca de este libro
Presentación
Objeto
En esta guía se describe la función de registro de datos para los controladores que soportan
operaciones de gestión de archivos.
Campo de aplicación
Este documento se ha actualizado con la publicación de SoMachine V4.0.
ADVERTENCIA
PÉRDIDA DE CONTROL
El diseñador del esquema de control debe tener en cuenta los posibles modalidades de fallo
de rutas de control y, para ciertas funciones de control críticas, proporcionar los medios para
lograr un estado seguro durante y después de un fallo de ruta. Funciones de control críticas
son, por ejemplo, una parada de emergencia y una parada de sobrerrecorrido, un corte de
alimentación y un reinicio.
Para las funciones críticas de control deben proporcionarse rutas de control separadas o
redundantes.
Las rutas de control del sistema pueden incluir enlaces de comunicación. Deben tenerse en
cuenta las implicaciones de los retrasos de transmisión no esperados o los fallos en el enlace.
Tenga en cuenta todas las reglamentaciones para la prevención de accidentes y las
directrices de seguridad locales.1
Cada implementación de este equipo debe probarse de forma individual y exhaustiva antes
de entrar en servicio.
El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o daño
al equipo.
1
Para obtener información adicional, consulte NEMA ICS 1.1 (última edición), "Safety Guidelines
for the Application, Installation, and Maintenance of Solid State Control" (Directrices de seguridad
para la aplicación, la instalación y el mantenimiento del control de estado estático) y NEMA ICS
7.1 (última edición), "Safety Standards for Construction and Guide for Selection, Installation and
Operation of Adjustable-Speed Drive Systems" (Estándares de seguridad para la construcción y
guía para la selección, instalación y utilización de sistemas de unidades de velocidad ajustable) o
su equivalente aplicable a la ubicación específica.
EIO0000000488 04/2014 7
8 EIO0000000488 04/2014
SoMachine
Registro de datos
EIO0000000488 04/2014
Capítulo 1
registro de datos
registro de datos
Introducción
En este documento se describe la función de registro de datos para los controladores que
soportan operaciones de gestión de archivos.
Un registro de datos es un archivo de texto de cadenas definidas por el usuario que contienen
información de datos de aplicación para un proceso o una máquina. El archivo de registro de datos
se almacena en el controlador. Puede cargar el archivo y abrirlo con un editor de texto estándar.
La información incluye valores de variables incrustados y su texto asociado. Otras opciones
adicionales son las marcas de fecha y hora.
EIO0000000488 04/2014 9
Registro de datos
Descripción general
Puede supervisar y analizar los datos de la aplicación examinando el archivo de registro de datos
(.log).
FB Búfer de LogFile.log
automático
Nuevo
Archivo
Volcado
Registro
LogRecord
de datos de registro Registro de datos 1
Registro de datos 2
Registro de datos x
Registro de datos 3
Registro de datos y
Registro de datos 4
Archivo de registro Registro de datos z
Registro de datos 5
Registro de datos 6
Comando de FB …
volcado
Volcado Forzar volcado de búfer
En la ilustración se muestra una aplicación que incluye los 2 bloques de funciones, LogRecord y
Dump. El bloque de funciones LogRecord escribe datos en el búfer, que se vacían en el archivo
de registro de datos (.log) ubicado en la memoria del controlador. El volcado de búfer es
automático cuando está al 80%, o se puede forzar con la función Dump. Como cliente FTP
estándar, un PC puede acceder a este archivo de registro de datos cuando el controlador actúa
como servidor FTP. También es posible cargar el archivo con SoMachine o el servidor web del
controlador.
NOTA: Sólo los controladores con la función de gestión de archivos son compatibles con el
registro de datos. Consulte el manual de programación del controlador para ver si admite la
gestión de archivos. El software por sí mismo no comprueba la compatibilidad del controlador con
las actividades de registro de datos.
10 EIO0000000488 04/2014
Registro de datos
Procedimiento de implementación
Primero debe declarar y configurar los archivos de registro de datos en la aplicación antes de
empezar a escribir el programa.
EIO0000000488 04/2014 11
Registro de datos
Paso Acción
1 En el árbol Herramientas, seleccione el nodo Aplicación, haga clic en el signo más verde y
seleccione Añadir otros objetos →DataLogManager....
Resultado: aparece el cuadro de diálogo Add Data Log Manager.
2 En el cuadro de diálogo Add Data Log Manager, haga clic en Añadir.
Resultado: aparece un nodo DataLogManager debajo del nodo Aplicación.
3 Seleccione el nodo DataLogManager, haga clic en el signo más verde y seleccione DataLog....
Resultado: se abre el cuadro de diálogo Add DataLog.
4 En el cuadro de texto Data Logging File Name, introduzca un nombre para el archivo de
registro de datos y haga clic en Añadir.
Resultado: el archivo de registro de datos con el nombre asignado aparece debajo del nodo
DataLogManager y la pantalla de configuración se muestra en la vista del editor en la parte
central de la pantalla SoMachine Logic Builder.
Nota: no es posible cambiar posteriormente el nombre del archivo de registro de datos.
5 Establecimiento de los parámetros del archivo de registro de datos (véase página 13).
6 Repita los pasos del 3 al 5 para crear archivos de registro de datos adicionales.
12 EIO0000000488 04/2014
Registro de datos
Pantalla de configuración
Esta pantalla de configuración aparece después de añadir un archivo de registro de datos a la
configuración:
Parámetros de configuración
Parámetro Descripción
Add Date Estas opciones imprimen la fecha o la hora correspondiente de cada registro. Por
ejemplo, una instancia asociada al 10 de junio de 2009 a las 2:30 p.m. podría
Add Time
representarse como 10/06/2009, 06/10/2009 o 20090610... a las 14:30 o las
02:30:00 p.m., etc.
Max number of entries Esta opción establece el número máximo de registros que contiene el archivo de
registro de datos. Los valores válidos van de 10 a 65.536. El valor predeterminado
es 10.000.
EIO0000000488 04/2014 13
Registro de datos
Parámetro Descripción
Modalidad Circular (valor Una vez que se alcanza el Max number of entries (número
predeterminado) máximo de entradas), los registros nuevos sobrescribirán los
anteriores. La primera línea del archivo de registro de datos se
puede utilizar para obtener la posición real del último registro,
así como el rango de otros registros. Los siguientes casos están
basados en un archivo con un máximo de 10 registros:
Caso 1: Entries in File: 8; Last Entry: 8
Significado: el número de entradas del archivo es igual al
valor de Last Entry. Los registros van del n.º 1 (el más
antiguo) al n.º 8 (el más reciente).
Caso 2: Entries in File: 10; Last Entry: 5
Significado: el número de entradas del archivo es superior
al valor de Last Entry. El archivo está lleno y los nuevos
registros reemplazan a los antiguos. Los 10 registros quedan
dispuestos en el siguiente orden (de más antiguo a más
nuevo): 6, 7, 8, 9, 10, 1, 2, 3, 4, 5
Stop when full Cuando se alcanza el Max number of entries (número
máximo de entradas), cualquier nuevo intento de registro
devuelve un mensaje de error detectado.
Internal Buffer Size Configure el tamaño del búfer de la RAM que almacene los registros añadidos. Los
valores válidos van del 1 al valor configurado en Max number of entries. El valor
predeterminado es 10.
Max characters per entry Establezca la longitud máxima de cada entrada. Los valores válidos van de 10
(optimization) a 255. El valor predeterminado es 64.
La longitud máxima incluye separadores y fecha y hora opcionales. Se añaden
espacios adicionales al final de la línea para dar cabida al número de caracteres
definido.
Separator between date, time Defina el carácter que debe insertarse entre los diversos campos del registro de
and record datos. Después del registro se añade un separador adicional.
NOTA: para cada archivo de registro de datos configurado hay una instancia de bloque de funciones LogRecord con
el mismo nombre que este archivo de registro de datos, que gestiona todos los datos internos y permite la gestión de
registros de datos.
14 EIO0000000488 04/2014
Registro de datos
Introducción
Se proporciona un bloque de funciones, LogRecord, para escribir entradas de cadenas de texto
en el archivo de registro de datos. Este bloque de funciones almacena la cadena de entrada en
un búfer interno. Cuando el búfer alcanza el 80% de capacidad, se traslada al archivo real del
controlador. Puede forzar este mecanismo para guardar utilizando el bloque de funciones Dump.
Cuando se quita la alimentación se pueden perder los datos del búfer interno o aumentar el tiempo
de ciclo hasta que se vacíe el búfer.
AVISO
PÉRDIDA DE DATOS
No desconecte la alimentación del controlador hasta que toda la información del búfer interno
se hay transferido al sistema de archivos actual.
Si los datos que está registrando son importantes para la aplicación, defina el tamaño del
búfer interno a 1.
El incumplimiento de estas instrucciones puede causar daño al equipo.
Parámetros de entrada
EIO0000000488 04/2014 15
Registro de datos
Parámetros de salida
El bloque de funciones LogRecord incluye una instancia que corresponde a cada archivo de
registro de datos configurado. No es necesario declarar de forma explícita una instancia del bloque
de funciones porque la instancia se declara automáticamente. Añada el bloque de funciones a la
POU y especifique la instancia del archivo de registro de datos adecuada (consulte Cómo añadir
LogRecord (véase página 20)).
16 EIO0000000488 04/2014
Registro de datos
Parámetros
Consulte Cómo añadir un método de volcado (véase página 20) para la implementación del
método Dump.
EIO0000000488 04/2014 17
Registro de datos
18 EIO0000000488 04/2014
Registro de datos
<nombre del archivo de registro de BOOL TRUE cuando los registros que utilizan búfer se
datos>.DumpInProgress guardan en el archivo de registro de datos
Recomendación
El bloque de funciones LogRecord requiere más de 15 ciclos de intervalo una vez activado
(mediante xExecute) para guardar un registro en el archivo de registro. Por lo tanto, es muy
recomendable usar este bloque de funciones en un tarea FAST:
Tipo de tarea Intervalo (ms) Tiempo mínimo necesario para guardar el registro
cíclica 20 300 ms
cíclica 1 15 ms: Muy recomendable
evento 15 eventos necesarios: No recomendable
EIO0000000488 04/2014 19
Registro de datos
Descripción general
Siga estos pasos para añadir el bloque de funciones LogRecord y el método Dump al proyecto.
20 EIO0000000488 04/2014
Registro de datos
Descripción general
La entrada wsRecord del bloque de funciones LogRecord es del tipo WSTRING (wide string).
Para compilar la cadena de registro primero debe añadir la biblioteca Standard64 a la aplicación
y utilizar funciones de cadena amplia.
Ejemplo
En esta figura se muestra la creación de un ejemplo de WSTRING que incluye un valor de variable:
EIO0000000488 04/2014 21
Registro de datos
22 EIO0000000488 04/2014
SoMachine
EIO0000000488 04/2014
Apéndices
EIO0000000488 04/2014 23
24 EIO0000000488 04/2014
SoMachine
Representación de funciones y de bloques de funciones
EIO0000000488 04/2014
Apéndice A
Representación de funciones y de bloques de funciones
Descripción general
Cada función se puede representar en los lenguajes siguientes:
IL: Lista de instrucciones
ST: Texto estructurado
LD: Diagrama de contactos
FBD: Diagrama de bloques de funciones
CFC: Diagrama de función continua
EIO0000000488 04/2014 25
Representación de funciones y de bloques de funciones
Función
Una función:
Es una POU (Unidad de organización de programa) que devuelve un resultado inmediato.
Se le llama directamente por su nombre (y no a través de una instancia).
No tiene un estado persistente desde una llamada hasta la otra.
Se puede utilizar como un operando en otras expresiones.
Bloque de funciones
Bloque de funciones
Es una POU (Unidad de organización de programa) que devuelve una o más salidas.
Debe llamarse a través de una instancia (copia del bloque de funciones con nombre y variables
dedicados).
Todas las instancias tienen un estado persistente (salidas y variables internas) de una llamada
a otra desde un bloque de funciones o programa.
Ejemplos: temporizadores, contadores
En el ejemplo, Timer_ON es una instancia del bloque de funciones TON:
26 EIO0000000488 04/2014
Representación de funciones y de bloques de funciones
Información general
En esta sección se describe cómo implementar una función y un bloque de funciones en lenguaje
IL.
Las funciones IsFirstMastCycle y SetRTCDrift y el bloque de funciones TON se utilizan
como ejemplos para mostrar implementaciones.
Paso Acción
1 Abra o cree una nueva POU en el lenguaje de Lista de instrucciones (IL).
NOTA: Aquí no se detalla el procedimiento para crear una POU. Para obtener más información,
consulte Adding, Declaring and Calling POUs.
2 Las variables de entrada son los parámetros de entrada requeridos por la función.
3 Si la función tiene 1 o más entradas, empiece a cargar la primera entrada utilizando la instrucción
LD.
4 Inserte una nueva línea abajo y:
escriba el nombre de la función en la columna de operadores (campo izquierdo); o
Utilice la opción Accesibilidad para seleccionar la función (seleccione Insertar llamada de
módulo en el menú contextual).
5 Si la función tiene más de una entrada y se utiliza Accesibilidad, se crea automáticamente el número
necesario de líneas con ??? en los campos de la derecha. Sustituya los ??? por el valor o la variable
adecuada que corresponda al orden de las entradas.
6 Inserte una nueva línea para almacenar el resultado de la función en la variable adecuada: Escriba
la instrucción ST en la columna de operadores (campo de la izquierda) y un nombre de variable en
el campo de la derecha.
EIO0000000488 04/2014 27
Representación de funciones y de bloques de funciones
Ejemplo en IL de una
función con parámetros
de entrada:
SetRTCDrift
28 EIO0000000488 04/2014
Representación de funciones y de bloques de funciones
Paso Acción
1 Abra o cree una POU nueva en el lenguaje de Lista de instrucciones (IL).
NOTA: Aquí no se detalla el procedimiento para crear una POU. Para obtener más información,
consulte Adding, Declaring and Calling POUs.
2 Cree las variables que necesita el bloque de funciones, incluido el nombre de instancia.
3 Se llama a los bloques de funciones utilizando una instrucción CAL:
Utilice la opción Accesibilidad para seleccionar el bloque de funciones (botón derecho del ratón
y seleccionar Insertar llamada de módulo en el menú contextual).
La instrucción CAL y la E/S necesaria se crean automáticamente.
Para ilustrar el procedimiento, considere este ejemplo con el bloque de funciones TON que se
representa gráficamente a continuación:
3 Representación gráfica
TON
EIO0000000488 04/2014 29
Representación de funciones y de bloques de funciones
30 EIO0000000488 04/2014
Representación de funciones y de bloques de funciones
Información general
En esta sección se describe el modo de implementar una función y un bloque de funciones en
lenguaje ST.
La función SetRTCDrift y el bloque de funciones TON se utilizan como ejemplos para mostrar
implementaciones.
Paso Acción
1 Abra o cree una POU nueva en el lenguaje de Texto estructurado (ST).
NOTA: Aquí no se detalla el procedimiento para crear una POU. Para obtener más información,
consulte Adding, Declaring and Calling POUs.
2 Las variables de entrada son los parámetros de entrada requeridos por la función.
3 Utilice la sintaxis general en el Editor POU ST para el lenguaje ST de una función. La sintaxis
general es:
FunctionResult:= FunctionName(VarInput1, VarInput2,.. VarInputx);
EIO0000000488 04/2014 31
Representación de funciones y de bloques de funciones
Paso Acción
1 Abra o cree una POU nueva en el lenguaje de Texto estructurado (ST).
NOTA: Aquí no se detalla el procedimiento para crear una POU. Para obtener más
información sobre la adición, declaración y llamadas de POU, consulte la
documentación relacionada.
2 Cree las variables de entrada y salida y la instancia requeridas para el bloque de
funciones:
Las variables de entrada son los parámetros de entrada requeridos por el bloque
de funciones
Las variables de salida reciben el valor devuelto por el bloque de funciones
Para ilustrar el procedimiento, considere este ejemplo con el bloque de funciones TON que se
representa gráficamente a continuación:
3 Representación gráfica
TON
32 EIO0000000488 04/2014
Representación de funciones y de bloques de funciones
En esta tabla se muestran ejemplos de una llamada de bloque de funciones en lenguaje ST:
EIO0000000488 04/2014 33
Representación de funciones y de bloques de funciones
34 EIO0000000488 04/2014
SoMachine
Glosario
EIO0000000488 04/2014
Glosario
B
byte
Un tipo que está codificado en un formato de 8 bits que, en el formato hexadecimal, va de 16#00
a 16#FF.
C
CFC
(diagrama de función continua) Un lenguaje de programación (una ampliación del estándar IEC
61131-3) basado en el lenguaje de diagrama de bloque de funciones (FBD) y que funciona como
un diagrama de flujo. Sin embargo, no se utiliza ninguna red y es posible un posicionamiento libre
de elementos gráficos, lo que permite bucles de realimentación. En cada bloque, las entradas se
sitúan a la izquierda y las salidas, a la derecha. Las salidas del bloque se pueden conectar a las
entradas de otros bloques para formar expresiones complejas.
F
FB
(bloque de funciones) Un práctico mecanismo de programación que consolida un grupo de
instrucciones de programación para realizar una acción específica y normalizada, por ejemplo, el
control de velocidad, el control de intervalo o el conteo. Un bloque de funciones se puede
componer de datos de configuración, un conjunto de parámetros de funcionamiento internos o
externos y, normalmente, una o diversas entradas y salidas de datos.
FBD
(diagrama de bloques de funciones) Uno de los cinco lenguajes para lógica o control que cumplen
con el estándar IEC 61131-3 para sistemas de control. El diagrama de bloques de funciones es
un lenguaje de programación orientado gráficamente. Funciona con una lista de redes en la que
cada red contiene una estructura gráfica de cuadros y líneas de conexión que representa una
expresión lógica o aritmética, la llamada de un bloque de funciones, un salto o una instrucción de
retorno.
I
IL
(lista de instrucciones) Un programa escrito en lenguaje que se compone de una serie de
instrucciones basadas en texto y ejecutadas secuencialmente por el controlador. Cada instrucción
incluye un número de línea, un código de instrucción y un operando (consulte IEC 61131-3).
EIO0000000488 04/2014 35
Glosario
INT
(entero) Un número entero con codificación de 16 bits.
L
LD
(diagrama de contactos) Una representación gráfica de instrucciones de un programa de
controlador con símbolos para contactos, bobinas y bloques en una serie de escalones ejecutados
de forma secuencial por un controlador (consulte IEC 61131-3).
P
POU
(unidad de organización de programas) Una declaración variable en el código fuente y el conjunto
de instrucciones correspondiente. Las POUs facilitan la reutilización modular de programas de
software, funciones y bloques de funciones. Una vez declaradas, cada una de las POUs está
disponible para las otras.
S
ST
(Texto estructurado) Un lenguaje que incluye instrucciones complejas y anidadas (por ejemplo,
bucles de repetición, ejecuciones condicionales o funciones). ST está conforme con IEC 61131-3.
V
variable
Una unidad de memoria direccionada y modificada por un programa.
36 EIO0000000488 04/2014
SoMachine
Índice
EIO0000000488 04/2014
Índice
B NumberOfRecords
Variables, 19
Bloque de funciones
Dump, 17
LogRecord, 15 R
registro de datos, 9
D
Dump T
Bloque de funciones, 17
Tipo
DumpInProgress
FILE_STATUS, 19
Variables, 19
Tipo de parámetros de salida
ERROR, 16, 17
E
ERROR V
Tipo de parámetros de salida, 16, 17
Variables
DumpInProgress, 19
F FileStatus, 19
NumberOfBufferedRecords, 19
FILE_STATUS
NumberOfRecords, 19
Tipo, 19
FileStatus
Variables, 19
funciones
cómo utilizar una función o un bloque de
funciones en lenguaje IL, 27
cómo utilizar una función o un bloque de
funciones en lenguaje ST, 31
diferencias entre una función y un bloque
de funciones, 26
L
LogRecord
Bloque de funciones, 15
N
NumberOfBufferedRecords
Variables, 19
EIO0000000488 04/2014 37
Índice
38 EIO0000000488 04/2014