SoMachine - Schneider Electric

Anuncio
SoMachine
EIO0000000671 06/2011
SoMachine
Obtención y ajuste del reloj de tiempo real
Guía de la biblioteca SysTime
EIO0000000671.03
06/2011
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.
© 2011 Schneider Electric. Reservados todos los derechos.
2
EIO0000000671 06/2011
Tabla de materias
Información de seguridad . . . . . . . . . . . . . . . . . . . . . . . .
Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capítulo 1 Conceptos básicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adición de la biblioteca SysTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Obtención de la fecha y la hora del controlador . . . . . . . . . . . . . . . . . . . .
Ajuste de la fecha y la hora del controlador . . . . . . . . . . . . . . . . . . . . . . .
Capítulo 2 Descripciones de las funciones . . . . . . . . . . . . . . . . . . .
2.1 Funciones de contador de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SysTimeGetMs: Devuelve el tiempo desde el encendido en milisegundos
SysTimeGetUs: Devuelve el tiempo desde el encendido en
microsegundos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Funciones estándar del Real Time Clock . . . . . . . . . . . . . . . . . . . . . . . . .
SysTimeRtcGet: Devuelve el Real Time Clock del controlador actual . . .
SysTimeRtcSet: Establece el Real Time Clock del controlador . . . . . . . .
SysTimeRtcConvertUtcToDate: Convierte la marca de tiempo en fecha y
hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SysTimeRtcConvertDateToUtc: Convierte la fecha y la hora en marca de
tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capítulo 3 SYSTIMEDATE: tipo de fecha y hora . . . . . . . . . . . . . . .
SYSTIMEDATE: Tipo de fecha y hora . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capítulo 4 Ejemplo de implementación . . . . . . . . . . . . . . . . . . . . . .
5
7
11
12
13
14
15
16
17
18
19
20
21
22
23
25
25
27
Obtención de la fecha y la hora del controlador . . . . . . . . . . . . . . . . . . . .
Ajuste de la fecha y la hora del controlador . . . . . . . . . . . . . . . . . . . . . . .
Ejemplo de proyecto de obtención/ajuste de SoMachine del RTC . . . . . .
28
29
31
Apéndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
Apéndice A Representación de funciones y de bloques de
funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
Diferencias entre una función y un bloque de funciones. . . . . . . . . . . . . .
Cómo usar una función o un bloque de funciones en lenguaje IL . . . . . .
Cómo utilizar una función o un bloque de funciones en lenguaje ST . . . .
36
37
40
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
53
EIO0000000671 06/2011
3
4
EIO0000000671 06/2011
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.
EIO0000000671 06/2011
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
EIO0000000671 06/2011
Acerca de este libro
Presentación
Objeto
En esta documentación se describen las funciones de SysTime utilizadas para
obtener y ajustar el reloj de tiempo real, compatibles con todos los controladores de
SoMachine.
La gestión del reloj de tiempo real se basa en las funciones disponibles en la
biblioteca SysTime de SoMachine.
En la tabla siguiente se muestra la lista de funciones de la biblioteca SysTime y los
controladores compatibles con ellas:
Nombre de la función
EIO0000000671 06/2011
M238
M258
LMC058
XBT-GC
XBT-GK
XBT-GT
ATV-IMC
SysTimeGetMs
x
x
x
x
SysTimeGetNs
-
x
x
x
SysTimeGetUs
x
x
x
x
SysTimeRtcConvertDateToHighRes
-
x
x
-
SysTimeRtcConvertHighResToDate
-
x
x
-
SysTimeRtcHighResGet
-
x
x
-
SysTimeRtcHighResSet
-
x
x
-
SysTimeRtcControl
-
x
x
x
SysTimeRtcConvertDateToUtc
x
x
x
x
SysTimeRtcConvertLocalToUtc
-
x
x
x
SysTimeRtcConvertUtcToDate
x
x
x
x
SysTimeRtcConvertUtcToLocal
-
x
x
x
SysTimeRtcGet
x
x
x
x
7
Nombre de la función
M238
M258
LMC058
XBT-GC
XBT-GK
XBT-GT
ATV-IMC
SysTimeRtcGetTimezone
-
x
x
-
SysTimeRtcSet
x
x
x
x
SysTimeRtcSetTimezone
-
x
x
-
Leyenda:
x Admitido
- No admitido
Para obtener información sobre las funciones no descritas en este documento,
consulte el documento SysTime_V3x_E. (Consulte Documentos relacionados)
Campo de aplicación
Este documento se ha actualizado con la publicación de SoMachine V3.0.
Documentos relacionados
Nombre del documento Ubicación/Número de referencia
SysTime_V3x_E
8
En su instalación local de SoMachine
De manera predeterminada:
Versión inglesa Archivos de
programa\Schneider Electric\SoMachine\CoDeSys\Documentation\en\
Versión alemana Archivos de
programa\Schneider Electric\SoMachine\CoDeSys\Documentation\de\
EIO0000000671 06/2011
Información relativa al producto
ADVERTENCIA
PÉRDIDA DE CONTROL
z
z
z
z
z
El diseñador del esquema de control debe tener en cuenta los posibles modos
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.
Si no se siguen estas instrucciones pueden producirse lesiones personales
graves o mortales o daños en el 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.
ADVERTENCIA
FUNCIONAMIENTO INESPERADO DEL EQUIPO
z
z
Utilice sólo software aprobado por Schneider Electric para este equipo.
Actualice el programa de aplicación siempre que cambie la configuración de
hardware física.
Si no se siguen estas instrucciones pueden producirse lesiones personales
graves o mortales o daños en el equipo.
EIO0000000671 06/2011
9
Comentarios del usuario
Envíe sus comentarios a la dirección electrónica [email protected].
10
EIO0000000671 06/2011
SoMachine
Conceptos básicos
EIO0000000671 06/2011
Conceptos básicos
1
Descripción general
En este capítulo se proporciona información básica para empezar a usar las
funciones de SysTime.
Contenido de este capítulo
Este capítulo contiene los siguiente apartados:
Apartado
EIO0000000671 06/2011
Página
Adición de la biblioteca SysTime
12
Obtención de la fecha y la hora del controlador
13
Ajuste de la fecha y la hora del controlador
14
11
Conceptos básicos
Adición de la biblioteca SysTime
Procedimiento
Para tener acceso a las funciones de SysTime es necesario añadir manualmente
la biblioteca:
Paso
12
Acción
1
Haga doble clic en el nodo Administrador de bibliotecas del nodo
Aplicación del controlador en la ventana Dispositivos.
2
Haga clic en Agregar biblioteca.
Resultado: se abre el cuadro de diálogo Agregar biblioteca.
3
Busque Sistema →SysLibs, visible cuando se establece el filtro Compañía
en Sistema o Toda la compañía
Resultado: aparece la lista de bibliotecas del sistema.
4
Seleccione la biblioteca SysTime y pulse Aceptar
Resultado: se añade la librería a la lista Administrador de bibliotecas.
EIO0000000671 06/2011
Conceptos básicos
Obtención de la fecha y la hora del controlador
Descripción general
Para obtener la fecha y la hora del controlador en formato SYSTIMEDATE es
necesario utilizar dos funciones distintas; SysTimeRtcGet (véase página 20) y
SysTimeRtcConvertUtcToDate (véase página 22).
SysTimeRtcGet: esta función devuelve el Real Time Clock (RTC del controlador)
en un valor de marca de tiempo (número de segundos desde el 1 de enero de 1970
a las 00:00:00).
SysTimeRtcConvertUtcToDate: esta función convierte el valor Timestamp en
datos del tipo de estructura SYSTIMEDATE que indican los valores de año, mes, día,
hora, minuto y segundo.
Esquema de principio
En este documento se ofrece un ejemplo de implementación de este principio.
(véase página 28)
Gestión de zonas horarias
Algunos controladores (véase página 7) son compatibles con la información de las
zonas horarias (cambio de horario de verano y cambio de Universal Time
Coordinated (UTC)):
z cuando esta información no se utiliza o se establece en 0, (valor predeterminado), el valor de marca de tiempo devuelto por la función SysTimeRtcGet es
= RTC.
z cuando la información de la zona horaria no es 0, la función devuelve UTC = RTC
+ cambio horario.
El cambio horario se puede leer o establecer con las funciones de gestión de zonas
horarias (SysTimeRtcGetTimezone, SysTimeRtcSetTimezone)
La marca de tiempo de UTC se puede convertir a la marca de tiempo local mediante
la función SysTimeConvertUtcToLocal.
NOTA: Estas funciones no se describen en este documento; consulte el documento
SysTime_V3x_E para obtener más información.
EIO0000000671 06/2011
13
Conceptos básicos
Ajuste de la fecha y la hora del controlador
Descripción general
Para establecer la fecha y la hora del controlador en formato SYSTIMEDATE es
necesario utilizar dos funciones distintas; SysTimeRtcConvertDateToUtc
(véase página 23) y SysTimeRtcSet (véase página 21):
SysTimeRtcConvertDateToUtc: Esta función convierte una entrada del tipo
SYSTIMEDATE en un valor de marca de tiempo (número de segundos desde el 1 de
enero de 1970 a las 00:00:00).
SysTimeRtcSet: esta función establece el RTC del controlador con la entrada de
la marca de tiempo.
NOTA: Consulte SetRTCDrift (consulte la Guía de la biblioteca PLCSystem de su
controlador para ver si se admite la función SetRTCDrift y para obtener más
información sobre esta función) para obtener una corrección automática semanal
del reloj de tiempo real, como una alternativa a utilizar la función SysTimeRtcSet.
Esquema de principio
En este documento se ofrece un ejemplo de implementación de este principio.
(véase página 29)
14
EIO0000000671 06/2011
SoMachine
Descripción de la función
EIO0000000671 06/2011
Descripciones de las funciones
2
Descripción general
En este capítulo se describen las funciones de SysTime utilizadas para obtener y
ajustar el reloj de tiempo real del controlador.
Contenido de este capítulo
Este capítulo contiene las siguientes secciones:
Sección
EIO0000000671 06/2011
Apartado
Página
2.1
Funciones de contador de tiempo
16
2.2
Funciones estándar del Real Time Clock
19
15
Descripción de la función
2.1
Funciones de contador de tiempo
Descripción general
En esta sección se describen las funciones para obtener contadores de tiempo
(milisegundos y microsegundos).
Contenido de esta sección
Esta sección contiene los siguientes apartados:
Apartado
16
Página
SysTimeGetMs: Devuelve el tiempo desde el encendido en milisegundos
17
SysTimeGetUs: Devuelve el tiempo desde el encendido en microsegundos
18
EIO0000000671 06/2011
Descripción de la función
SysTimeGetMs: Devuelve el tiempo desde el encendido en milisegundos
Descripción de la función
Esta función devuelve el tiempo transcurrido desde el encendido en milisegundos
(ms).
Representación gráfica
Descripción de variables de E/S
En la tabla siguiente se describen las variables de salida:
Salida
Tipo
SysTimeGetMs UDINT
EIO0000000671 06/2011
Descripción
Tiempo transcurrido desde el encendido en milisegundos.
17
Descripción de la función
SysTimeGetUs: Devuelve el tiempo desde el encendido en microsegundos
Descripción de la función
Esta función devuelve el tiempo transcurrido desde el encendido en microsegundos
(µs).
Representación gráfica
Descripción de variables de E/S
En la tabla siguiente se describen las variables de salida:
Salida
Tipo
Descripción
SysTimeGetUs
UDINT
Diagnóstico de la operación de la función:
0 = Ningún error detectado
2 = Error detectado en la variable de entrada; el valor devuelto (pUsTime) no es válido.
En la tabla siguiente, se describen las variables de entrada/salida:
Entrada/Salida
Tipo
Descripción
pUsTime
SYSTIME
Tiempo transcurrido desde el encendido en microsegundos.
NOTA: El tipo SYSTIME es ULINT.
18
EIO0000000671 06/2011
Descripción de la función
2.2
Funciones estándar del Real Time Clock
Descripción general
En esta sección se describen las funciones estándar de gestión del RTC.
Contenido de esta sección
Esta sección contiene los siguientes apartados:
Apartado
SysTimeRtcGet: Devuelve el Real Time Clock del controlador actual
EIO0000000671 06/2011
Página
20
SysTimeRtcSet: Establece el Real Time Clock del controlador
21
SysTimeRtcConvertUtcToDate: Convierte la marca de tiempo en fecha y hora
22
SysTimeRtcConvertDateToUtc: Convierte la fecha y la hora en marca de
tiempo
23
19
Descripción de la función
SysTimeRtcGet: Devuelve el Real Time Clock del controlador actual
Descripción de la función
Esta función devuelve el Real Time Clock (RTC) del controlador como un valor de
marca de tiempo de Universal Time Coordinated (UTC) (número de segundos
desde el 1 de enero de 1970 a las 00:00:00).
Representación gráfica
Descripción de variables de E/S
En la tabla siguiente se describen las variables de salida:
Salida
Tipo
Descripción
SysTimeRtcGet
DWORD
RTC del controlador como valor de marca de tiempo UTC (número de segundos
desde el 1 de enero de 1970 a las 00:00:00)
En la tabla siguiente, se describen las variables de entrada/salida:
Entrada/Salida
Tipo
Descripción
pResult
UDINT
Diagnóstico de la operación de la función:
0 = Ningún error detectado
1 = Error de operación interna detectado; el valor devuelto (SysTimeRtcGet) no es
válido (0).
NOTA: Nota: UTC = RTC + cambio horario (véase página 13)
NOTA: En este documento se facilita un ejemplo de utilización de esta función.
(véase página 28)
20
EIO0000000671 06/2011
Descripción de la función
SysTimeRtcSet: Establece el Real Time Clock del controlador
Descripción de la función
Esta función establece el Real Time Clock (RTC) del controlador mediante un valor
de marca de tiempo proporcionado (número de segundos desde el 1 de enero de
1970 a las 00:00:00).
Representación gráfica
Descripción de variables de E/S
En la tabla siguiente se describen las variables de entrada:
Entrada
Tipo
Descripción
ulTimestamp
DWORD
Valor de marca de tiempo (número de segundos desde el 1 de
enero de 1970 a las 00:00:00)
En la tabla siguiente se describen las variables de salida:
Salida
Tipo
Descripción
SysTimeRtcSet
UDINT
Diagnóstico de la operación de la función:
0 = Ningún error detectado
1 = Error de operación interna detectado
NOTA: En este documento se facilita un ejemplo de utilización de esta función.
(véase página 29)
EIO0000000671 06/2011
21
Descripción de la función
SysTimeRtcConvertUtcToDate: Convierte la marca de tiempo en fecha y hora
Descripción de la función
Esta función convierte un valor de marca de tiempo (número de segundos desde el
1 de enero de 1970 a las 00:00:00) en la fecha y hora correspondiente en formato
SYSTIMEDATE (véase página 25).
Representación gráfica
Descripción de variables de E/S
En la tabla siguiente se describen las variables de entrada:
Entrada
Tipo
Descripción
dwTimestampUtc
DWORD
Marca de tiempo que convertir (número de segundos
desde el 1 de enero de 1970 a las 00:00:00)
En la tabla siguiente se describen las variables de salida:
Salida
Tipo
Descripción
SysTimeRtcConvertUtcToDate
UDINT Diagnóstico de la operación de la función:
0 = Ningún error detectado
2 = Error detectado en la variable de entrada;
el valor devuelto (pDate) no es válido.
En la tabla siguiente, se describen las variables de entrada/salida:
Entrada/Salida Tipo
Descripción
pDate
Fecha y hora calculadas a partir del valor de
entrada
SYSTIMEDATE
(véase página 25)
NOTA: En este documento se facilita un ejemplo de utilización de esta función.
(véase página 28)
22
EIO0000000671 06/2011
Descripción de la función
SysTimeRtcConvertDateToUtc: Convierte la fecha y la hora en marca de tiempo
Descripción de la función
Esta función convierte una fecha y una hora expresada en formato SYSTIMEDATE
(véase página 25) en el valor de marca de tiempo correspondiente (número de
segundos desde el 1 de enero de 1970 a las 00:00:00).
Representación gráfica
Descripción de variables de E/S
En la tabla siguiente se describen las variables de salida:
Salida
Tipo
Descripción
SysTimeRtcConvertDateToUtc
UDINT
Diagnóstico de la operación de la función:
0 = Ningún error detectado
2 = Error detectado en la variable de
entrada; el valor devuelto
(pdwTimestampUtc) no es válido.
En la tabla siguiente, se describen las variables de entrada/salida:
Entrada/Salida
Tipo
Descripción
pDate
SYSTIMEDATE
(véase página 25)
Fecha y hora que convertir
pdwTimestampUtc DWORD
Marca de tiempo calculada a partir del valor de
fecha y hora indicado = número de segundos
desde el 1 de enero de 1970 a las 00:00:00 o
FFFF FFFF hexadecimal en caso de una
conversión incorrecta.
NOTA: En este documento se facilita un ejemplo de utilización de esta función.
(véase página 29)
EIO0000000671 06/2011
23
Descripción de la función
24
EIO0000000671 06/2011
SoMachine
SYSTIMEDATE: tipo de fecha y hora
EIO0000000671 06/2011
SYSTIMEDATE: tipo de fecha y
hora
3
SYSTIMEDATE: Tipo de fecha y hora
Descripción del tipo de datos
Esta estructura contiene información detallada sobre la fecha y la hora presentada
en un formato legible (en contraste con la marca de tiempo).
EIO0000000671 06/2011
Nombre
Tipo
Descripción
wYear
UINT
Año
wMonth
UINT
Mes, valores del 1 al 12 (enero=1, diciembre=12)
wDay
UINT
Día del mes, valores del 1 al 31
wHour
UINT
Horas del día actual, valores del 0 al 23
wMinute
UINT
Minutos de la hora, valores del 0 al 59
wSecond
UINT
Segundos del minuto actual, valores del 0 al 59
wMilliseconds
UINT
Milisegundos del segundo actual, valores del 0 al 999
wDayOfWeek
UINT
Día de la semana, valores del 1 al 7 (lunes=1, domingo=7)
wYday
UINT
Día del año, valores del 1 al 366 (1 de enero=1, 31 de
diciembre=365, o 366 en año bisiesto)
25
SYSTIMEDATE: tipo de fecha y hora
26
EIO0000000671 06/2011
SoMachine
Ejemplo de implementación
EIO0000000671 06/2011
Ejemplo de implementación
4
Descripción general
En este capítulo se proporcionan ejemplos de implementación que muestran cómo
obtener o ajustar el Real Time Clock.
Contenido de este capítulo
Este capítulo contiene los siguiente apartados:
Apartado
Obtención de la fecha y la hora del controlador
EIO0000000671 06/2011
Página
28
Ajuste de la fecha y la hora del controlador
29
Ejemplo de proyecto de obtención/ajuste de SoMachine del RTC
31
27
Ejemplo de implementación
Obtención de la fecha y la hora del controlador
Descripción general
Este ejemplo de programa se puede utilizar para obtener la fecha y la hora del
controlador.
Declaración de variables
VAR
// Fecha y hora actual del controlador
Ctrl_DateTime: SYSTIMEDATE;
CtrlYear: UINT;
CtrlMonth: UINT;
CtrlDay: UINT;
CtrlHour: UINT;
CtrlMinute: UINT;
CtrlSecond: UINT;
CtrlMSecond: UINT;
CtrlDayOfWeek: UINT;
CtrlYday: UINT;
// Diagrama de funcionamiento de SysTimeRtcGet
GetTimeResult: UDINT;
// Diagrama de funcionamiento de SysTimeRtcConvertUtcToDate
UTCtoDate_diag: UDINT;
END_VAR
Programa POU
28
EIO0000000671 06/2011
Ejemplo de implementación
Ajuste de la fecha y la hora del controlador
Descripción general
Este ejemplo de programa se puede utilizar para establecer el reloj de tiempo real
del controlador con una fecha y una hora del usuario.
Declaración de variables
VAR
// Fecha y hora para establecer el RTC del controlador
MyDateTime: SYSTIMEDATE;
MyYear: UINT;
MyMonth: UINT;
MyDay: UINT;
MyHour: UINT;
MyMinute: UINT;
MySecond: UINT;
// Diagrama de funcionamiento de SysTimeRtcConvertDateToUtc
DatetoUTC_diag: UDINT;
// Fecha y hora en formato de marca de tiempo
My_UTC: DWORD;
// Comando de ajuste de RTC del controlador
Set_DateTime: BOOL;
// Diagrama de funcionamiento de SysTimeRtcSet
RtcSet_diag: UDINT;
END_VAR
EIO0000000671 06/2011
29
Ejemplo de implementación
Programa POU
30
EIO0000000671 06/2011
Ejemplo de implementación
Ejemplo de proyecto de obtención/ajuste de SoMachine del RTC
Descripción general
Con SoMachine se proporciona un ejemplo de proyecto de obtención/establecimiento del RTC.
Una vez se ha iniciado SoMachine:
En la vista HOME (Inicio), haga clic en Crear nueva máquina →Empezar con un
ejemplo →RTC_HMI.project
Descripción de ejemplo de proyecto de obtención/ajuste de SoMachine del RTC
El ejemplo facilitado lee de forma continua el valor del RTC del controlador y lo
imprime en una HMI.
Con la HMI se puede indicar una nueva hora y fecha, y si se hace clic en el botón
ENVIAR a PLC se fijará el RTC del controlador con la nueva fecha y hora.
Vista previa de la HMI:
EIO0000000671 06/2011
31
Ejemplo de implementación
32
EIO0000000671 06/2011
SoMachine
EIO0000000671 06/2011
Apéndices
EIO0000000671 06/2011
33
34
EIO0000000671 06/2011
SoMachine
Representación de funciones y de bloques de funciones
EIO0000000671 06/2011
Representación de funciones y de
bloques de funciones
A
Descripción general
Cada función se puede representar en los lenguajes siguientes:
z IL: Lista de instrucciones
z ST: Texto estructurado
z LD: Diagrama de contactos
z FBD: Diagrama de bloques de funciones
z CFC: Diagrama de función continua
En este capítulo se proporcionan funciones y ejemplos de representación de
bloques de funciones y se describe cómo utilizarlas en lenguajes IL y ST.
Contenido de este capítulo
Este capítulo contiene los siguiente apartados:
Apartado
EIO0000000671 06/2011
Página
Diferencias entre una función y un bloque de funciones
36
Cómo usar una función o un bloque de funciones en lenguaje IL
37
Cómo utilizar una función o un bloque de funciones en lenguaje ST
40
35
Representación de funciones y de bloques de funciones
Diferencias entre una función y un bloque de funciones
Función
Una función:
es una POU (Unidad de organización de programa) que devuelve un resultado
inmediato
z se le llama directamente por su nombre (no a través de una Instancia)
z No tiene un estado persistente desde una llamada hasta la otra.
z Se puede utilizar como un operando en otras expresiones.
z
Ejemplos: operadores booleanos (AND), cálculos, conversión (BYTE_TO_INT)
Bloque de funciones
Un bloque de funciones:
es una POU (Unidad de organización de programa) que devuelve una o más
salidas
z siempre se le llama a través de una Instancia (copia del bloque de funciones con
nombre y variables dedicados)
z cada Instancia tiene un estado persistente (salidas y variables internas) de una
llamada a la otra.
z
Ejemplos: temporizadores, contadores
En el ejemplo siguiente, Timer_ON es una instancia del bloque de funciones TON:
36
EIO0000000671 06/2011
Representación de funciones y de bloques de funciones
Cómo usar una función o un bloque de funciones en lenguaje IL
Información general
En esta sección se describe el modo de implementar una función y un bloque de
funciones en lenguaje IL.
Las funciones IsFirstMastCycle and SetRTCDrift y el bloque de funciones
TON se usan como ejemplo para mostrar implementaciones.
Uso de una función en lenguaje IL
En el procedimiento siguiente se describe cómo insertar una función en lenguaje IL:
Paso
Acción
1
Abra o cree una POU en el lenguaje de lista de instrucciones.
NOTA: Aquí no se detalla el procedimiento para crear una POU. Para obtener más información, consulte
la ayuda global de SoMachine.
2
Cree las variables que necesite 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:
z escriba el nombre de la función en la columna de operadores (campo izquierdo); o
z use el Asistente de entradas para seleccionar la función (seleccione Insertar llamada de módulo en
el menú contextual).
5
Si la función tiene más de 1 entrada y se usa el Asistente de entradas, se crea automáticamente el número
de líneas necesario con ??? en los campos de la derecha. Reemplace ??? 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.
Para ilustrar el procedimiento, consulte las funciones IsFirstMastCycle (sin
parámetros de entrada) y SetRTCDrift (con parámetros de entrada) presentadas
gráficamente a continuación:
Función
Representación gráfica
sin parámetros de entrada:
IsFirstMastCycle
con parámetros de entrada:
SetRTCDrift
EIO0000000671 06/2011
37
Representación de funciones y de bloques de funciones
En lenguaje IL, el nombre de la función se utiliza directamente en la columna del
operador:
Función
Representación en el SoMachineEditor IL de POU
Ejemplo en IL de una
función sin parámetros
de entrada:
IsFirstMastCycle
Ejemplo en IL de una
función con parámetros
de entrada:
SetRTCDrift
Uso de un bloque de funciones en lenguaje IL
En el procedimiento siguiente se describe cómo insertar un bloque de funciones en
lenguaje IL:
Paso
Acción
1
Abra o cree una POU en el lenguaje de lista de instrucciones.
NOTA: Aquí no se detalla el procedimiento para crear una POU. Para obtener más información, consulte
la ayuda global de SoMachine.
2
Cree las variables que necesita el bloque de funciones, incluido el nombre de instancia.
38
EIO0000000671 06/2011
Representación de funciones y de bloques de funciones
Paso
3
Acción
Se llama a los bloques de funciones utilizando una instrucción CAL:
z Use el Asistente de entradas para seleccionar el bloque de funciones (haga clic con el botón derecho
y seleccione Insertar llamada de módulo en el menú contextual).
z La instrucción CAL y la E/S necesaria se crean automáticamente.
Cada parámetro (E/S) es una instrucción:
z Los valores de las entradas se establecen con ":=".
z Los valores de las salidas se establecen con "=>".
4
En el campo CAL situado a la derecha, reemplace ??? por el nombre de la instancia.
5
Reemplace otro ??? por una variable apropiada o un valor inmediato.
Para ilustrar el procedimiento, consulte este ejemplo con el bloque de funciones
TON presentado gráficamente a continuación:
Bloque de funciones
Representación gráfica
TON
En lenguaje IL, el nombre del bloque de funciones se utiliza directamente en la
columna del operador:
Bloque de funciones
Representación en el SoMachineEditor IL de POU
TON
EIO0000000671 06/2011
39
Representación de funciones y de bloques de funciones
Cómo utilizar una función o un bloque de funciones en lenguaje ST
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.
Uso de una función en lenguaje ST
En el procedimiento siguiente se describe cómo insertar una función en lenguaje
ST:
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
la ayuda global de SoMachine .
2
Cree las variables que necesite 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);
Para ilustrar el procedimiento, considere la función SetRTCDrift que se
representa gráficamente a continuación:
Función
Representación gráfica
SetRTCDrift
El lenguaje ST de esta función es este:
Función
Representación en el Editor POU IL de SoMachine
SetRTCDrift
PROGRAM MyProgram_ST VAR myDrift: SINT(-29..29) := 5; myDay:
DAY_OF_WEEK := SUNDAY; myHour: HOUR := 12; myMinute: MINUTE;
myRTCAdjust: RTCDRIFT_ERROR; END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);
40
EIO0000000671 06/2011
Representación de funciones y de bloques de funciones
Uso de un bloque de funciones en lenguaje ST
En el procedimiento siguiente se describe cómo insertar un bloque de funciones en
lenguaje ST:
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
la ayuda global de SoMachine .
2
Cree las variables de entrada y salida y la instancia requeridas para el bloque de funciones:
z Las variables de entrada son los parámetros de entrada requeridos por el bloque de funciones
z Las variables de salida reciben el valor devuelto por el bloque de funciones
3
Utilice la sintaxis general en el Editor POU ST para el lenguaje ST de un bloque de funciones. La sintaxis
general es:
FunctionBlock_InstanceName(Input1:=VarInput1, Input2:=VarInput2,...
Ouput1=>VarOutput1, Ouput2=>VarOutput2,...);
Para ilustrar el procedimiento, considere este ejemplo con el bloque de funciones
TON que se representa gráficamente a continuación:
Bloque de
funciones
Representación gráfica
TON
En la tabla siguiente se muestran ejemplos de una llamada de bloque de funciones
en lenguaje ST:
Bloque de funciones
Representación en el Editor POU IL de SoMachine
TON
EIO0000000671 06/2011
41
Representación de funciones y de bloques de funciones
42
EIO0000000671 06/2011
SoMachine
Glosario
EIO0000000671 06/2011
Glosario
0-9
%
Prefijo que identifica las direcciones de memoria interna en el controlador utilizadas
para almacenar el valor de las variables, las constantes y las E/S, entre otras, del
programa.
A
aplicación
Una aplicación SoMachine se compone de un programa, datos de configuración,
símbolos y documentación.
ASCII
American Standard Code for Information Interchange (código estándar americano
para el intercambio de información) es un protocolo de comunicaciones que
representa caracteres alfanuméricos, incluidos números, letras y algunos
caracteres gráficos y de control.
ASIC
Circuito integrado específico de aplicaciones. Circuito integrado diseñado
especialmente para una aplicación. Este circuito integrado puede ser analógico,
digital o ambos.
EIO0000000671 06/2011
43
Glosario
B
bloque de funciones
Un bloque de funciones:
z es una POU (Unidad de organización de programa) que devuelve una o más
salidas.
z Siempre se le llama a través de una instancia (copia del bloque de funciones con
nombre y variables dedicados).
z Todas las instancias tienen un estado persistente (salidas y variables internas)
desde una llamada a la otra.
Ejemplos: temporizadores, contadores
bus de expansión
Los módulos de E/S de expansión se conectan con el Modicon Logic Controller
utilizando el bus de expansión.
C
CANopen
CANopen es una especificación de protocolo de comunicaciones y de perfil de
dispositivos utilizado por los Modicon Logic Controllers.
Configuración de Post
Archivos que contienen parámetros dependientes de la máquina:
z nombre de la máquina
z nombre de dispositivo o dirección IP
z dirección SL Modbus
z tabla de enrutamiento
controlador
Para automatizar procesos industriales, se utiliza un controlador, un PLC
(Programmable Logic Controller) u otro controlador programable.
44
EIO0000000671 06/2011
Glosario
E
EEPROM
La memoria de sólo lectura programable y borrable de forma eléctrica es un tipo de
memoria no volátil utilizada para almacenar datos que deben guardarse cuando se
quita la alimentación eléctrica.
entrada con retención
La aplicación captura y graba los pulsos entrantes para un posterior examen.
explorar
Un controlador explora un programa y realiza básicamente tres funciones
principales: En primer lugar, lee las entradas y sitúa estos valores en la memoria. A
continuación, ejecuta una instrucción del programa de aplicación cada vez y
almacena los resultados en memoria. Finalmente, utiliza los resultados para
actualizar las salidas.
F
FG
Generador de frecuencias
firmware
El firmware es el programa incorporado en el Modicon Logic Controller.
FreqGen
Consulte FG.
función
Una función:
z es una POU (Unidad de organización de programa) que devuelve un resultado
inmediato.
z Se le llama directamente por su nombre (no a través de una instancia).
z No tiene un estado persistente desde una llamada hasta la otra.
z Se puede utilizar como un operando en las expresiones.
Ejemplos: operadores booleanos (AND), cálculos, conversión (BYTE_TO_INT)
EIO0000000671 06/2011
45
Glosario
G
GRAFCET
GRAFCET permite representar gráficamente y de forma estructurada el funcionamiento de una operación secuencial.
Método analítico que divide cualquier sistema de control secuencial en una serie de
pasos a los que se asocian acciones, transiciones y condiciones.
GVL
Lista de variables globales en SoMachine que gestiona variables globales
disponibles en todas las POU de la aplicación
H
Hora del sistema
Hora que indica un dispositivo según un reloj interno
HSC
Contador de alta velocidad
I
IEC 61131-3
z
z
z
46
IEC, siglas del inglés International Electrotechnical Commission (Comisión
electrotécnica internacional), es una organización de normas internacionales sin
ánimo de lucro y no gubernamental que prepara y publica normas
internacionales para todas las tecnologías eléctricas, electrónicas y
relacionadas.
IEC 61131 es una norma para PLC (Programmable Logic Controller).
IEC 61131-3 se ocupa de lenguajes de programación de PLC y define dos
normas de lenguajes de programación gráficos y dos textuales:
z Diagrama de contactos (LD), gráfico
z Diagrama de bloques de funciones (FBD), gráfico
z Texto estructurado (ST), textual
z Lista de instrucciones (IL), textual
z Los gráficos de función secuencial (SFC) disponen de elementos para
organizar programas para el procesamiento de control secuencial y paralelo.
EIO0000000671 06/2011
Glosario
IP 20
(Protección contra entrada) La clasificación de protección ofrecida por una carcasa
se muestra con las letras IP y dos dígitos. El primer dígito indica dos factores: la
protección para las personas y para el equipo. El segundo dígito, la protección
contra el agua. Para obtener más información, consulte la norma NF EN 60.529
L
lenguaje de diagrama de contactos
(LD) Un programa escrito en lenguaje de contactos (Ladder) está compuesto por
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. Conforme con IEC 61131-3.
lenguaje de diagramas de bloques de funciones
(FBD) Un diagrama de bloques de funciones describe una función entre variables
de entrada y de salida. Una función se describe como un conjunto de bloques
elementales. Las variables de entrada y de salida están conectadas a bloques
mediante líneas de conexión. La salida de un bloque también puede estar
conectada a la entrada de otro bloque.
lenguaje de gráfica de función continua
CFC (gráfica de función continua), como ampliación del estándar IEC61131-3, es
un lenguaje de programación de gráficos basado en el lenguaje FBD (diagrama de
bloques de funciones). Sin embargo, no se utiliza ninguna red, sino un posicionamiento libre de elementos gráficos, lo cual permite bucles de realimentación.
lenguaje de gráfica de función secuencial
(SFC) Un programa escrito en el gráfico de funciones secuenciales puede utilizarse
para procesos que se pueden dividir en pasos. SFC está formado por pasos con
acciones asociadas, transiciones con una condición lógica asociada y enlaces
dirigidos entre pasos y transiciones. La norma SFC está definida en IEC 848.
Conforme con IEC 61131-3.
lenguaje de la lista de instrucciones
(IL) Un programa escrito en el lenguaje de lista de instrucciones está compuesto por
una serie de instrucciones ejecutadas de forma secuencial por el controlador. Cada
instrucción está compuesta por un número de línea, un código de instrucción y un
operando. Conforme con IEC 61131-3.
EIO0000000671 06/2011
47
Glosario
lenguaje de texto estructurado
(ST) Un programa escrito en texto estructurado está formado por instrucciones
complejas e intercaladas como: bucles de repetición, ejecuciones condicionales o
funciones. Conforme con IEC 61131-3.
M
maestro/esclavo
Maestro/esclavo es un modelo de protocolo de comunicaciones en el que un
dispositivo o proceso tiene control unidireccional sobre uno o más dispositivos
distintos.
MAST
Una tarea maestra (MAST) es una tarea del procesador que se ejecuta en el
software de programación. La tarea MAST consta de dos secciones:
z IN: las entradas se copian en la sección IN antes de ejecutar la tarea MAST.
z OUT: las salidas se copian en la sección OUT después de ejecutar la tarea
MAST.
Modbus
Protocolo de comunicaciones que permite la comunicación entre varios dispositivos
conectados a la misma red.
módulos de E/S de expansión
Hay disponibles módulos de E/S de expansión opcionales para añadir puntos de
E/S a un Modicon Logic Controller. No todos los modelos del controlador permiten
la expansión.
N
NEMA
La asociación de fabricantes de componentes eléctricos (National Electrical
Manufacturers Association) publica normas para el rendimiento de varias clases de
carcasas eléctricas. Las normas NEMA abarcan la resistencia a la corrosión, la
capacidad de protección contra la lluvia y la inmersión, etc. Para los países
adheridos a IEC, la norma IEC 60529 clasifica el grado de protección contra entrada
(códigos IP) de las carcasas.
48
EIO0000000671 06/2011
Glosario
nodo
Dispositivo al que se puede dirigir en una red de comunicaciones.
O
OS
Firmware que puede cargar/descargar el usuario
P
PC
Ordenador personal.
PLCopen
El estándar PLCopen ofrece eficacia, flexibilidad e independencia del fabricante
para el sector de la automatización y el control mediante la estandarización de
herramientas, bibliotecas y enfoques modulares de programación de software.
POU
Una unidad de organización de programa incluye una declaración de variable en el
código fuente y el conjunto de instrucciones correspondiente. Las POU facilitan la
reutilización modular de programas de software, funciones y bloques de funciones.
Una vez declarados, cada una de las POU están disponibles para los otros. La
programación de SoMachine requiere la utilización de POU.
protocolo
Un protocolo es una convención o una norma que controla o habilita la conexión, la
comunicación y la transferencia de datos entre dos puntos finales informáticos.
PTO
Salida de tren de pulsos
PWM
Modulación de ancho de pulsos
EIO0000000671 06/2011
49
Glosario
R
red
Dispositivos interconectados que comparten una ruta de datos común y un
protocolo de comunicación.
reloj de tiempo real (del inglés, Real-Time Clock)
Opción que conserva la hora durante una cantidad de tiempo determinada, aunque
el controlador no reciba alimentación.
RFID
La identificación por radiofrecuencias es un método de identificación automática
que se basa en almacenar y recuperar datos de forma remota utilizando los
dispositivos llamados etiquetas o transpondedores RFID.
RPDO
Recepción de objetos de datos de proceso
RTC
Consulte "reloj de tiempo real".
RUN
Comando que hace que el autómata ejecute un programa de aplicación.
S
salida de umbral
Bobinas controladas directamente por HSC con arreglo a los ajustes establecidos
durante la configuración.
salida refleja
En modalidad HSC, el valor actual del contador HSC se compara con sus umbrales
configurados para determinar el estado de estas salidas especializadas.
50
EIO0000000671 06/2011
Glosario
símbolo
un símbolo es una variable de controlador elemental publicada para los terminales
HMI
SMS
El servicio de mensajes cortos es un servicio de comunicación estándar para
teléfonos (u otros dispositivos) que envían mensajes breves de texto con el sistema
de comunicaciones móviles GSM.
SoMachine
SoMachine es una completa herramienta de software de sistemas de desarrollo de
controlador para configurar y programar el Modicon Logic Controller y dispositivos
conformes con IEC 61131-3.
STOP
Comando que hace que el controlador detenga la ejecución de un programa de
aplicación.
T
tarea
Grupo de secciones y subrutinas ejecutadas cíclica o periódicamente si se trata de
la tarea MAST, o periódicamente si se trata de la tarea FAST.
Una tarea siempre tiene un nivel de prioridad y tiene asociadas entradas y salidas
del controlador. Estas entradas y salidas se actualizarán en consecuencia.
TPDO
Transmisión de objetos de datos de proceso
U
UTC
Hora universal coordinada
EIO0000000671 06/2011
51
Glosario
V
Variable
Unidad de memoria que puede enviarse y modificarse mediante un programa.
variable de sistema
Estructura no ubicada que proporciona información sobre los datos de controlador
y diagnóstico, y que permite enviar comandos al controlador.
variable ubicada
Una variable ubicada tiene una dirección. Una variable no ubicada no la tiene.
52
EIO0000000671 06/2011
SoMachine
Índice
EIO0000000671 06/2011
B
AC
Índice
F
T
Funciones
Cómo usar una función o un bloque de
funciones en lenguaje IL, 37
Cómo utilizar una función o un bloque de
funciones en lenguaje ST, 40
Diferencias entre una función y un bloque de funciones, 36
SysTimeGetMs, 17
SysTimeGetUs, 18
SysTimeRtcConvertDateToUtc, 23
SysTimeRtcConvertUtcToDate, 22
SysTimeRtcGet, 20
SysTimeRtcSet, 21
Tipos de datos
SYSTIMEDATE, 25
S
SYSTIMEDATE
Tipos de datos, 25
SysTimeGetMs
Funciones, 17
SysTimeGetUs
Funciones, 18
SysTimeRtcConvertDateToUtc
Funciones, 23
SysTimeRtcConvertUtcToDate
Funciones, 22
SysTimeRtcGet
Funciones, 20
SysTimeRtcSet
Funciones, 21
EIO0000000671 06/2011
53
Índice
54
EIO0000000671 06/2011
Descargar