Modicon LMC078 Motion Controller EIO0000001920 09/2016 ...

76
EIO0000001920.01 www.schneider-electric.com Modicon LMC078 Motion Controller EIO0000001920 09/2016 Modicon LMC078 Motion Controller Funciones y variables del sistema Guía de la biblioteca PLCSystem 09/2016

Transcript of Modicon LMC078 Motion Controller EIO0000001920 09/2016 ...

Modicon LMC078 Motion Controller

EIO0000001920 09/2016

EIO

0000

0019

20.0

1

www.schneider-electric.com

Modicon LMC078 Motion ControllerFunciones y variables del sistemaGuía de la biblioteca PLCSystem09/2016

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 objeto sustituir dichos productos para aplicaciones de usuario específicas, ni debe emplearse para determinar su idoneidad o fiabilidad. Los usuarios o integradores tienen la responsabilidad de llevar a cabo un análisis de riesgos adecuado y completo, así como la evaluación y las pruebas de los productos en relación con la aplicación o el uso de dichos productos en cuestión. 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 de 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 solo 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.© 2016 Schneider Electric. Reservados todos los derechos.

2 EIO0000001920 09/2016

Tabla de materias

Información de seguridad . . . . . . . . . . . . . . . . . . . . . . . . 5Acerca de este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Capítulo 1 Tipos de datos del sistema LMC078 . . . . . . . . . . . . . . . 9ST_RetainImageInfo: Información adicional de una imagen de memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Capítulo 2 Funciones de sistema de LMC078 . . . . . . . . . . . . . . . . . 112.1 Diagnóstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

FC_DiagConfigRead2: Lee la configuración de diagnóstico . . . . . . . . 13FC_DiagConfigSet2: Cambia la configuración de diagnóstico . . . . . . 15FC_DiagMsgRead: Lee la información de diagnóstico . . . . . . . . . . . . 18FC_DiagUserMsgWrite: Activa el mensaje de diagnóstico . . . . . . . . . 20FC_DiagQuit: Restablece el mensaje de diagnóstico . . . . . . . . . . . . . 21

2.2 IEC_Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22FC_CycleCheckSet: Habilita/deshabilita los mensajes de diagnóstico para el desborde del tiempo de ciclo. . . . . . . . . . . . . . . . . . . . . . . . . . 23FC_CycleCheckTimeGet: Determina los valores de tiempo para la supervisión del tiempo de ciclo de la tarea IEC. . . . . . . . . . . . . . . . . . 25FC_CycleCheckTimeSet: Cambia el valor de tiempo para la supervisión del tiempo de ciclo de la tarea IEC. . . . . . . . . . . . . . . . . . 26FC_LzsTaskGetCurrentInterval: Determina el tiempo de intervalo de la tarea en el programa IEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27FC_LzsTaskGetInterval: Lee el tiempo de intervalo de la tarea en el programa IEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29FC_PrgResetAndStart: Restablece e inicia la aplicación que esté utilizando el programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3 LogicalAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31FC_CompareStLogicalAddress: Compara las dos direcciones lógicas, i_stLogAddr1 y i_stLogAddr2. . . . . . . . . . . . . . . . . . . . . . . . . . . 32FC_IsStLogicalAddressValid: Verifica la validación de la dirección lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.4 MessageLogger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34FC_MsgLogSave: Almacena el archivo del registro de mensajes en la memoria masiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.5 RemoteFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36FC_RemoteDeviceCreate: Configura el dispositivo para los servicios de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37FC_RemoteUserIdSet: Establece el nombre de usuario y la contraseña para los servicios de archivos remotos. . . . . . . . . . . . . . . 39

EIO0000001920 09/2016 3

2.6 Retentiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42FC_CheckProgramIdent: Verifica si la imagen de la memoria se ajusta a la aplicación antes de cargarla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43FC_GetRetainImageInfo: Lee la información adicional que debe estar escrita en el archivo de una imagen de memoria . . . . . . . . . . . . . . . . 45FC_RetainImageLoad: Carga la imagen de memoria de la memoria retentiva que está ubicada en un archivo en la memoria retentiva del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47FC_RetainImageSave: Guarda el contenido de la memoria retentiva en un archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.7 Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52FC_GetNVRamStatus: Verifica si los datos de la NVRAM eran válidos durante el arranque del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . 53FC_GetBootState: Determina si todos los parámetros son válidos tras el proceso de reinicio del controlador . . . . . . . . . . . . . . . . . . . . . . . . . 54FC_SysReset: Restablece el controlador . . . . . . . . . . . . . . . . . . . . . . 56FC_SysSaveParameter: Guarda los parámetros personalizados en la tarjeta SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57FC_SysShutdown: Ayuda a asegurarse de que el sistema de archivos sea seguro antes de desconectar la alimentación del controlador . . . 58FC_UserChangePassword: Cambia la contraseña del usuario . . . . . . 59

2.8 TimeAndSync. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61FC_GetNsPerCPUClockCycle: Mide el tiempo con alta precisión. . . . 62FC_GetTimeOfDay: Lee la hora actual del sistema en resolución de ms sin la fecha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63FC_GetTSC: Mide el tiempo con alta precisión . . . . . . . . . . . . . . . . . . 65

2.9 VolumeOperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66FC_GetFreeDiskSpace: Lee el espacio libre en la memoria de un soporte de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67FC_GetTotalDiskSpace: Lee el tamaño de un soporte de memoria . . 69

Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4 EIO0000001920 09/2016

Información de seguridad

Información importante

AVISOLea atentamente estas instrucciones y observe el equipo para familiarizarse con el dispositivo antes de instalarlo, utilizarlo, revisarlo 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.

EIO0000001920 09/2016 5

TENGA EN CUENTA LO SIGUIENTE:La instalación, el manejo, las revisiones y el 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 EIO0000001920 09/2016

Acerca de este libro

Presentación

ObjetoEste documento le familiarizará con las funciones y variables de sistema que ofrece el LMC078 Motion Controller. La biblioteca LMC078 PLCSystem contiene funciones y variables para conseguir información y enviar comandos al sistema del controlador. En este documento se describen las funciones y variables de los tipos de datos de la biblioteca LMC078 PLCSystem.Se necesitan los siguientes conocimientos básicos: información básica sobre la funcionalidad, la estructura y la configuración del LMC078 programación en lenguaje FBD, LD, ST, IL o CFC variables de sistema (variables globales)

Campo de aplicaciónEste documento se ha actualizado para la publicación de SoMachine V4.2.

Documentos relacionados

Puede descargar estas publicaciones técnicas y otra información técnica de nuestro sitio webhttp://download.schneider-electric.com

Título de la documentación Número de referenciaModicon LMC078 Motion Controller - Guía de programación EIO0000001909 (ENG)

EIO0000001910 (FRE)EIO0000001911 (GER)EIO0000001912 (SPA)EIO0000001913 (ITA)EIO0000001914 (CHS)EIO0000001916 (TUR)

EIO0000001920 09/2016 7

Información relativa al producto

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.

ADVERTENCIAPÉRDIDA DE CONTROL El diseñador del esquema de control debe tener en cuenta las 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 de control críticas 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 retardos de transmisión imprevistos o fallos del enlace.

Tenga en cuenta todas las reglamentaciones para la prevención de accidentes y las directrices de seguridad locales.1

Cada instalació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.

ADVERTENCIAFUNCIONAMIENTO IMPREVISTO DEL EQUIPO Utilice solo software aprobado por Schneider Electric para este equipo. Actualice el programa de aplicación siempre que cambie la configuración de hardware física.El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o daño al equipo.

8 EIO0000001920 09/2016

Modicon LMC078 Motion ControllerTipos de datos del sistema LMC078EIO0000001920 09/2016

Tipos de datos del sistema LMC078

Capítulo 1Tipos de datos del sistema LMC078

ST_RetainImageInfo: Información adicional de una imagen de memoria

Estructura de variablesEn esta tabla se describen los parámetros de la variable de sistema ST_RetainImageInfo (ST_RetainImageInfo_STRUCT type):

%MW Nombre de la variable Tipo Comentarion/a sFileName STRING[255] Nombre de archivo de la imagen retain en formato 8.3.n/a dtRetainSaveDateTime DATE_AND_

TIMEFecha de creación de la imagen retain en el formato Date_and_Time. Si no está disponible el RTD en el controlador, entonces se almacena DT#1970-01-01-00:00.

n/a sHardwareType STRING[80] Tipo de controlador.n/a sSetRetainSize STRING[80] Tamaño de la memoria retentiva.n/a sUserInfo STRING[255] El texto que se especificó cuando se creó la imagen

retain.n/a sMD5CheckSum STRING[33] Valor de la suma de comprobación de los datos retain.n/a diLengthRetainData DINT Cantidad de datos retain en bytes.

EIO0000001920 09/2016 9

Tipos de datos del sistema LMC078

10 EIO0000001920 09/2016

Modicon LMC078 Motion ControllerFunciones de sistema de LMC078EIO0000001920 09/2016

Funciones de sistema de LMC078

Capítulo 2Funciones de sistema de LMC078

Descripción generalEn este capítulo se describen las funciones de sistema incluidas en la biblioteca Modicon LMC078 Motion Controller PLCSystem.

Contenido de este capítuloEste capítulo contiene las siguientes secciones:

Sección Apartado Página2.1 Diagnóstico 122.2 IEC_Tasks 222.3 LogicalAddress 312.4 MessageLogger 342.5 RemoteFile 362.6 Retentiva 422.7 Sistema 522.8 TimeAndSync 612.9 VolumeOperations 66

EIO0000001920 09/2016 11

Funciones de sistema de LMC078

Diagnóstico

Sección 2.1Diagnóstico

Descripción generalEn esta sección se describen las funciones de Diagnosis.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_DiagConfigRead2: Lee la configuración de diagnóstico 13FC_DiagConfigSet2: Cambia la configuración de diagnóstico 15FC_DiagMsgRead: Lee la información de diagnóstico 18FC_DiagUserMsgWrite: Activa el mensaje de diagnóstico 20FC_DiagQuit: Restablece el mensaje de diagnóstico 21

12 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_DiagConfigRead2: Lee la configuración de diagnóstico

Descripción de la funciónLa función FC_DiagConfigRead2 lee la configuración de diagnóstico. Proporciona la clase y subclase de diagnóstico del número de diagnóstico i_diDiagCode. La clase y la subclase se leen para dispositivos globales o individuales.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la siguiente tabla se describen las variables de entrada:

En la tabla siguiente se describen las variables de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada Tipo Comentarioi_diDiagCode DINT Número de diagnóstico.i_stLogAddr ST_LogicalAddress Dirección lógica del dispositivo.

Salida Tipo ComentarioFC_DiagConfigRead2 DINT Consulte la tabla siguiente de descripción de valores

de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 Número de diagnóstico no válido.

EIO0000001920 09/2016 13

Funciones de sistema de LMC078

En la tabla siguiente, se describen las variables de entrada/salida:

EjemploDeclaraciónVAR

diDiagCode: DINT := 8788;

diDiagClass: DINT := 0;

DiagSubClass: DINT := 0;

xRead: BOOL := FALSE;

END_VAR

ProgramaIF xRead THEN

SEC.FC_DiagConfigRead2;

i_diDiagCode := diDiagCode;

i_stLogAddr := MyController.stLogicalAdress;

iq_diDiagClass := diDiagClass;

iq_diDiagSubClass := diDiagSubClass;

END_IF

Entrada/Salida Tipo Comentarioiq_diDiagClass DINT Clase de diagnóstico.iq_diDiagSubClass DINT Subclase de diagnóstico.

14 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_DiagConfigSet2: Cambia la configuración de diagnóstico

Descripción de la funciónAl emplear la función FC_DiagConfigSet2, puede cambiar la configuración del mensaje de diagnóstico con el número i_diDiagCode. La configuración del mensaje de diagnóstico contiene la clase y la subclase de diagnóstico. La reacción del sistema al mensaje de diagnóstico se establece a través de la clase de diagnóstico que se activa mediante un mensaje de diagnóstico particular. La subclase se emplea para una subdivisión más precisa de las clases de diagnóstico.La configuración de diagnóstico de un mensaje de diagnóstico puede: Cambiarse en todo el sistema (para todos los objetos). La variable de entrada i_stLogAddr

tiene el valor Gc_stLogAddrAllTypes. Cambiarse para objeto determinado o para un grupo de objetos. La variable de entrada

i_stLogAddr contiene la dirección lógica de un objeto o de un grupo de objetos. A continuación, la configuración solo se realiza para un objeto determinado o para un grupo de objetos.

Si i_diDiagClass = 3, debe especificarse i_diDiagSubClass. De no ser así, esta variable de entrada se ignorará.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

EIO0000001920 09/2016 15

Funciones de sistema de LMC078

Descripción de variables de E/SEn la siguiente tabla se describen las variables de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada Tipo Comentarioi_diDiagCode DINT Se debe cambiar el número del mensaje de diagnóstico.i_diDiagClass DINT Nueva clase de diagnóstico para el mensaje de

diagnóstico.i_stLogAddr ST_LogicalAddress Dirección lógica del dispositivo.i_diDiagSubClass DINT Nueva subclase de diagnóstico para el mensaje de

diagnóstico.

Salida Tipo ComentarioFC_DiagConfigSet2 DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 Número de diagnóstico no válido.-2 Clase de diagnóstico no válida.-4 Clase de diagnóstico no válida (solo las clases 1, 2 o 3 se pueden asignar a los códigos

de diagnóstico de la unidad con la reacción A, B y C).-461 En la fase actual no se admiten las lecturas de parámetros a través del canal de servicio.-462 Los ejes direccionados no admiten esta función.

16 EIO0000001920 09/2016

Funciones de sistema de LMC078

EjemploDeclaraciónVAR

diDiagCode: DINT := 8788;

diDiagClass: DINT := 0;

DiagSubClass: DINT := 0;

xSet: BOOL := FALSE;

END_VAR

ProgramaIF xSet THEN

SEC.FC_DiagConfigSet2;

i_diDiagCode := diDiagCode;

iq_diDiagClass := 2;

i_stLogAddr := MyController.stLogicalAdress;

iq_diDiagSubClass := 0;

END_IF

EIO0000001920 09/2016 17

Funciones de sistema de LMC078

FC_DiagMsgRead: Lee la información de diagnóstico

Descripción de la funciónLa función FC_DiagMsgRead lee y borra el búfer de diagnóstico (búfer FIFO) del controlador. Espera hasta que se recibe un mensaje de diagnóstico o hasta que se agota el tiempo que se especificaba en i_diTimeout. Si i_diTimeout = 0, la función espera indefinidamente por el mensaje.Puede guardar 320 mensajes aproximadamente. El mensaje más antiguo aparece en primer lugar. Si no hay mensajes en el búfer o si el timeout ya ha terminado, la función devolverá cero en todos los resultados. Leer el búfer no elimina ningún mensaje de diagnóstico pendiente. Puede leer todos los mensajes de diagnóstico con la clase 1 hasta la 7 desde el arranque (reinicio) del controlador.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

Entrada Tipo Comentarioi_diTimeout DINT Periodo de espera máximo en milisegundos. Si

i_diTimeout = 0, la función espera indefinidamente por el mensaje.

Salida Tipo ComentarioFC_DiagMsgRead DINT Consulte la tabla siguiente de descripción de valores de

retorno.

18 EIO0000001920 09/2016

Funciones de sistema de LMC078

En la tabla siguiente se describen los valores de retorno:

En la tabla siguiente, se describen las variables de entrada/salida:

Valor Descripción0 La acción se ha completado correctamente.-3 Timeout terminado.

Entrada/Salida Tipo Comentarioiq_diNr DINT Número de diagnóstico.iq_diClass DINT Clase de diagnóstico.iq_stLogAdr ST_LogicalAddress Dirección lógica del controlador.

EIO0000001920 09/2016 19

Funciones de sistema de LMC078

FC_DiagUserMsgWrite: Activa el mensaje de diagnóstico

Descripción de la funciónLa función FC_DiagUserMsgWrite le permite activar mensajes de diagnóstico desde el programa. La clase de diagnóstico (rango de 0 a 4) del mensaje de diagnóstico se establece con el parámetro i_diDiagClass. En DiagCode se transfiere el número de diagnóstico. Se reservan los mensajes de diagnóstico del sistema para el rango de 8.850 a 8.899. Utilice i_sDiagText para transferir el texto de diagnóstico. La longitud máxima se ha definido en 55 caracteres.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada Tipo Comentarioi_diDiagClass DINT Clase de diagnóstico.i_diDiagCode DINT Número de diagnóstico.i_sDiagText STRING(80) Texto de diagnóstico (55 caracteres como máximo).

Salida Tipo ComentarioFC_DiagUserMsgWrite DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-2 Clase de diagnóstico no válida.-5 Número de mensaje no válido.

20 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_DiagQuit: Restablece el mensaje de diagnóstico

Descripción de la funciónLa función FC_DiagQuit restablece el mensaje de diagnóstico pendiente. El mensaje de diagnóstico se muestra en los parámetros DiagCode y DiagMsg.

La pérdida de posición de los ejes y el codificador físico (Seno/coseno, codificador incremental) se puede producir como resultado de la confirmación de error de mensaje de diagnóstico 8506 (La comunicación del maestro SERCOS no es posible) sin reiniciar el controlador.

NOTA: Puede reiniciar el sistema apagándolo y encendiéndolo o utilizando las funciones FC_SysReset() o FC_PrgResetAndStart() del programa.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describe el valor de retorno:

ATENCIÓNPÉRDIDA DE POSICIÓN DEBIDO A UN ERROR DEL BUSConfirmar el mensaje de diagnóstico solo tras el reinicio o la toma de referencia del sistema.El incumplimiento de estas instrucciones puede causar lesiones o daño al equipo.

Salida Tipo ComentarioFC_DiagQuit DINT Consulte la tabla siguiente de descripción de valores

de retorno.

Valor Descripción0 La acción se ha completado correctamente.

EIO0000001920 09/2016 21

Funciones de sistema de LMC078

IEC_Tasks

Sección 2.2IEC_Tasks

Descripción generalEn esta sección se describen las funciones de IEC_Tasks.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_CycleCheckSet: Habilita/deshabilita los mensajes de diagnóstico para el desborde del tiempo de ciclo

23

FC_CycleCheckTimeGet: Determina los valores de tiempo para la supervisión del tiempo de ciclo de la tarea IEC

25

FC_CycleCheckTimeSet: Cambia el valor de tiempo para la supervisión del tiempo de ciclo de la tarea IEC

26

FC_LzsTaskGetCurrentInterval: Determina el tiempo de intervalo de la tarea en el programa IEC

27

FC_LzsTaskGetInterval: Lee el tiempo de intervalo de la tarea en el programa IEC 29FC_PrgResetAndStart: Restablece e inicia la aplicación que esté utilizando el programa de usuario

30

22 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_CycleCheckSet: Habilita/deshabilita los mensajes de diagnóstico para el desborde del tiempo de ciclo

Descripción de la funciónLa función FC_CycleCheckSet habilita/deshabilita el mensaje de diagnóstico 8317 de desborde del tiempo de ciclo.Si i_xCheck = FALSE, los mensajes de diagnóstico están deshabilitados.

Si i_xCheck = TRUE, los mensajes de diagnóstico están habilitados.

Los mensajes de diagnóstico se activan al iniciarse el ciclo siguiente.NOTA: Cuando se utiliza esta función, se crea una entrada en el registro de mensajes.NOTA: En su lugar debería emplear la función FC_CycleCheckTimeSet() para mantener funcional el watchdog.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

EIO0000001920 09/2016 23

Funciones de sistema de LMC078

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describe el valor de retorno:

Entrada Tipo Comentarioi_xCheck BOOL FALSE: Deshabilita los mensajes de diagnóstico.

TRUE: Habilita los mensajes de diagnóstico.

Salida Tipo ComentarioFC_CycleCheckSet DINT Consulte la tabla siguiente de descripción de

valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.

24 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_CycleCheckTimeGet: Determina los valores de tiempo para la supervisión del tiempo de ciclo de la tarea IEC

Descripción de la funciónLa función FC_CycleCheckTimeGet ofrece los valores de tiempo para las funciones de comprobación del tiempo de ciclo de la tarea IEC que la activa.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describen las variables de salida:

En la tabla siguiente se describen los valores de retorno:

En la tabla siguiente, se describen las variables de entrada/salida:

Entrada/Salida Tipo ComentarioFC_CycleCheckTimeGet DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 Parámetro incorrecto.

Entrada/Salida Tipo Comentarioiq_diOverrunTime DINT Valor de la monitorización del tiempo de ciclo estándar

en milisegundos.iq_diWDogFactor DINT Valor del factor de watchdog.

EIO0000001920 09/2016 25

Funciones de sistema de LMC078

FC_CycleCheckTimeSet: Cambia el valor de tiempo para la supervisión del tiempo de ciclo de la tarea IEC

Descripción de la funciónLa función FC_CycleCheckTimeSet manipula los valores de tiempo para las funciones de comprobación del tiempo de ciclo de la tarea IEC que la activa. La tarea se sigue activando en el intervalo definido en la configuración de la tarea.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la siguiente tabla se describen las variables de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describe el valor de retorno:

Entrada Tipo Comentarioi_diOverrunTime DINT Valor de la monitorización del tiempo de ciclo estándar

en ms. Se determina el valor para la comprobación del tiempo de ciclo predeterminado en ms (mensaje de diagnóstico 8317 de desborde del tiempo de ciclo).

i_diWDogFactor DINT Valor del factor de watchdog. Se determina el valor de un error grave detectado en el tiempo de ciclo (mensaje de diagnóstico 313 de desborde excesivo del tiempo de ciclo).

Salida Tipo ComentarioFC_CycleCheckTimeSet DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.

26 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_LzsTaskGetCurrentInterval: Determina el tiempo de intervalo de la tarea en el programa IEC

Descripción de la funciónLa función FC_LzsTaskGetCurrentInterval ofrece una forma de leer el intervalo configurado de una tarea externa. Según el desencadenador, el intervalo puede ser una constante o una variable. La configuración actual del intervalo se proporciona en ms. La función devuelve -1 para las tareas con intervalo variable.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Salida Tipo ComentarioFC_LzsTaskGetCurrentInterval DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Desencadenador ValorINIRQ1 -1INIRQ2 -1INIRQ3 -1INIRQ4 -1INIRQ1_4 -1RTP_READ Ofrece el tiempo de ciclo SERCOS en la fase 4 de

SERCOS.RTP_MENC Ofrece el tiempo de ciclo SERCOS en la fase 4 de

SERCOS.

NOTA: -1 significa que la tarea tiene un intervalo variable.

EIO0000001920 09/2016 27

Funciones de sistema de LMC078

EjemploSe ha proyectado una tarea con un tiempo de ciclo de 50 ms. El sistema leerá el intervalo actual de la tarea.diIntervalMs:DINT:=0;

diCurrentIntervalUs:DINT:=0;

diIntervalMs := FC_LzsTaskGetInterval();

(* provides 50 * ))

diCurrentIntervalUs := FC_LzsTaskGetCurrentInterval() ;

(* provides 50000 * )

RTP_LENC Ofrece el tiempo de ciclo SERCOS en la fase 4 de SERCOS.

RTP_AXIS Ofrece el tiempo de ciclo SERCOS en la fase 4 de SERCOS.

MDT_WRITE_ACCESS Ofrece el valor RTP en la fase 4 de SERCOS.

Desencadenador Valor

NOTA: -1 significa que la tarea tiene un intervalo variable.

28 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_LzsTaskGetInterval: Lee el tiempo de intervalo de la tarea en el programa IEC

Descripción de la funciónLa función FC_LzsTaskGetInterval devuelve el tiempo de intervalo configurado de la tarea de llamada en ms.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describe el valor de retorno:

Salida Tipo ComentarioFC_LzsTaskGetInterval DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción>=0 Tiempo de intervalo en ms.

EIO0000001920 09/2016 29

Funciones de sistema de LMC078

FC_PrgResetAndStart: Restablece e inicia la aplicación que esté utilizando el programa de usuario

Descripción de la funciónLa función FC_PrgResetAndStart inicia una tarea asíncrona que realiza el restablecimiento (arranque en caliente) y el inicio de la aplicación. Todas las tareas finalizan su ciclo actual, es decir, se procesa incluso el código de usuario dependiente de la función FC_PrgRe-setAndStart(). La tarea asíncrona se ejecuta con la prioridad máxima de la tarea IEC.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describe el valor de retorno:

Salida Tipo ComentarioFC_PrgResetAndStart DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.

30 EIO0000001920 09/2016

Funciones de sistema de LMC078

LogicalAddress

Sección 2.3LogicalAddress

Descripción generalEn esta sección se describen las funciones de LogicalAddress.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_CompareStLogicalAddress: Compara las dos direcciones lógicas, i_stLogAddr1 y i_stLogAddr2.

32

FC_IsStLogicalAddressValid: Verifica la validación de la dirección lógica 33

EIO0000001920 09/2016 31

Funciones de sistema de LMC078

FC_CompareStLogicalAddress: Compara las dos direcciones lógicas, i_stLogAddr1 y i_stLogAddr2.

Descripción de la funciónLa función FC_CompareStLogicalAddress compara la dirección lógica i_stLogAddr1 con la dirección lógica i_stLogAddr2. Si ambas son idénticas, se devuelve TRUE. En caso contrario, FALSE.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describe el valor de retorno:

Entrada Tipo Comentarioi_stLogAddr1 ST_LogicalAddress Dirección lógica 1i_stLogAddr2 ST_LogicalAddress Dirección lógica 2

Salida Tipo ComentarioFC_CompareStLogicalAddress BOOL Consulte la tabla siguiente de descripción

de valores de retorno.

Valor DescripciónTRUE La dirección 1 es idéntica a la dirección 2.FALSE La dirección 1 no es idéntica a la dirección 2.

32 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_IsStLogicalAddressValid: Verifica la validación de la dirección lógica

Descripción de la funciónLa función FC_IsStLogicalAddressValid verifica la validación de la dirección lógica en i_stLogAddr.

TRUE = válida y FALSE = no válida.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada Tipo Comentarioi_stLogAddr ST_LogicalAddress La dirección lógica debe verificarse mediante su

validación.

Salida Tipo ComentarioFC_IsStLogicalAddressValid BOOL Consulte la tabla siguiente de descripción

de valores de retorno.

Valor DescripciónTRUE La dirección es válida.FALSE La dirección no es válida.

EIO0000001920 09/2016 33

Funciones de sistema de LMC078

MessageLogger

Sección 2.4MessageLogger

FC_MsgLogSave: Almacena el archivo del registro de mensajes en la memoria masiva

Descripción de la funciónLa función FC_MsgLogSave almacena el contenido de los archivos del registro de mensajes como un archivo en la memoria masiva (por ejemplo, en una tarjeta SD) con el nombre i_sFilename. La extensión del nombre de archivo, .mel, está predeterminada. Un nombre predeterminado tiene entre uno y ocho caracteres (A-Z, 0-9). El sistema agrega el nombre del dispositivo ide0: y las extensiones del nombre de archivo.Un nombre complejo consiste en el nombre del dispositivo, el nombre del archivo y la extensión del nombre del archivo. Si i_xReset está definido como TRUE, el contenido del archivo de registro de mensajes se borra tras haber almacenado el archivo. Los mensajes que aparecen mientras se procesa la función FC_MsgLogSave no se pierden.

NOTA: El tiempo de procesamiento de esta función es de unos pocos centenares de ms. Cuando utilice esta función deberá aumentar el tiempo de watchdog con FC_CycleCheckTimeSet.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

34 EIO0000001920 09/2016

Funciones de sistema de LMC078

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada/Salida Tipo Comentarioi_sFilename STRING [80] Nombre del archivo guardado.i_xReset BOOL Si es TRUE, los contenidos del

archivo de registro de mensajes se borrarán tras guardar el archivo (como i_sFilename).

Salida Tipo ComentarioFC_MsgLogSave DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 El archivo no se ha escrito.

EIO0000001920 09/2016 35

Funciones de sistema de LMC078

RemoteFile

Sección 2.5RemoteFile

Descripción generalEn esta sección se describen las funciones de RemoteFile.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_RemoteDeviceCreate: Configura el dispositivo para los servicios de archivos 37FC_RemoteUserIdSet: Establece el nombre de usuario y la contraseña para los servicios de archivos remotos

39

36 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_RemoteDeviceCreate: Configura el dispositivo para los servicios de archivos

Descripción funcionalLa función FC_RemoteDeviceCreate crea un dispositivo de archivos remotos con el nombre i_sDevName. Puede crear un dispositivo de red para cada ordenador remoto de donde haya que utilizar datos. El ordenador remoto se especifica con la dirección IP i_sHostIpAddr.

Un nombre del dispositivo de red sigue al nombre del dispositivo del ordenador con una coma. A los archivos se accede mediante los servicios del cliente FTP. Configure un servidor FTP para acceder a un ordenador remoto. Cuando abra un archivo remoto, todo el archivo se copiará empleando la red en un búfer local. Se abrirá un búfer local vacío si se crea un archivo remoto. Las operaciones de acceso de lectura, escritura o ioctl se realizan en una copia local del archivo. Cuando se cierra la copia local de un archivo abierto para su edición, se envía de nuevo al ordenador remoto empleando la red.NOTA: Cuando accede al dispositivo remoto, los subdirectorios pueden no contener la cadena raíz.NOTA: El tiempo de procesamiento de esta función es de unos pocos centenares de ms. Cuando utilice esta función deberá aumentar el tiempo de watchdog con FC_CycleCheckTimeSet.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

EIO0000001920 09/2016 37

Funciones de sistema de LMC078

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

EjemploFC_RemoteUserIdSet('otto','secret');

FC_RemoteDeviceCreate('usr:', '190.201.100.99');

pHandle := SysFileOpen('usr:/myfile',AM_WRITE,pResult);

Entrada Tipo Comentarioi_sDevName STRING [80] Nombre del dispositivo de archivos

remotos.i_sHostIpAddr STRING [80] Dirección IP del ordenador remoto.

Salida Tipo ComentarioFC_RemoteDeviceCreate DINT Consulte la tabla siguiente de descripción

de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 Error detectado.

38 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_RemoteUserIdSet: Establece el nombre de usuario y la contraseña para los servicios de archivos remotos

Descripción funcionalLa función FC_RemoteUserIdSet establece el nombre de usuario y la contraseña con los que se puede acceder al ordenador remoto. El nombre (i_sName) y la contraseña (i_sPassword) se emplean para adquirir acceso remoto mediante los servicios FTP. Los valores predeterminados del nombre de usuario y la contraseña del controlador son USER y USER respectivamente.

NOTA: Si desea obtener información importante sobre la seguridad en Internet, consulte la LMC078 Motion Controller Guía de programación (véase Modicon LMC078, Motion Controller, Programming Guide).

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

Entrada Tipo Comentarioi_sName STRING [80] Nombre de usuario.i_sPassword STRING [80] Contraseña.

Salida Tipo ComentarioFC_RemoteUserIdSet DINT Consulte la tabla siguiente de descripción

de valores de retorno.

EIO0000001920 09/2016 39

Funciones de sistema de LMC078

En la tabla siguiente se describen los valores de retorno:

EjemploDeclaraciónPROGRAM RemoteFile

VAR

bWriteTest: BOOL := FALSE;

bReadTest: BOOL := FALSE;

hReadFileId: RTS_IEC_HANDLE := 0;

hWriteFileId: RTS_IEC_HANDLE := 0;

lResultWriteToFile: UDINT := 99;

lResultFC_ReadFromFile: UDINT := 99;

lResultFC_CloseFile: UDINT := 99;

lResultFC_RemoteDeviceCreate: DINT := 99;

lResultFC_RemoteUserIdSet: DINT := 99;

pszRemoteDeviceName: STRING := 'remote0:';

pszRemoteIpAddress: STRING := '10.128.156.14';

pszRemoteFtpUserId: STRING := 'USER';

pszRemoteFtpPassword: STRING := 'PASSWORD';

pszFileName: STRING := 'remote0:/myfile.txt';

pszOutText: STRING := 'Schneider Electric LMC078';

pszInText: STRING;

lTextSize: UDINT := 25

bInitOk: BOOL := TRUE;

pResult: RTS_IEC_RESULT:= 0;

END_VAR

Valor Descripción0 La acción se ha completado correctamente.-1 Error detectado.

40 EIO0000001920 09/2016

Funciones de sistema de LMC078

ProgramaIF NOT bInitOk THEN

FC_CycleCheckTimeSet(1000, 60);

lResultFC_RemoteUserIdSet := FC_RemoteUserIdSet(pszRemoteFtpUserId,pszRemoteFtpPassword);

lResultFC_RemoteDeviceCreate := FC_RemoteDeviceCreate(pszRemoteDeviceName, pszRemoteIpAddress);

bInitOk := TRUE;

END_IF

IF bWriteTest THEN

hWriteFileId := SysFile.SysFileOpen(pszFileName,AM_WRITE,pResult);

IF hWriteFileId > 0 THEN

lResultFC_WriteToFile := SysFile.SysFileWrite(hWriteFileId, ADR(pszOutText), lTextSize, pResult);

lResultFC_CloseFile := SysFile.SysFileClose(hWriteFileId);

END_IF

bWriteTest:= FALSE;

END_IF

IF bReadTest = TRUE THEN

hReadFileId := SysFile.SysFileOpen(pszFileName,AM_READ,pResult);

IF hReadFileId > 0 THEN

lResultFC_ReadFromFile := SysFile.SysFileRead(hReadFileId,ADR(pszInText), lTextSize, pResult);

lResultFC_CloseFile := SysFile.SysFileClose(hWriteFileId);;

END_IF

bReadTest := FALSE;

END_IF

EIO0000001920 09/2016 41

Funciones de sistema de LMC078

Retentiva

Sección 2.6Retentiva

Descripción generalEn esta sección se describen las funciones que funcionan en la memoria retentiva del controlador.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_CheckProgramIdent: Verifica si la imagen de la memoria se ajusta a la aplicación antes de cargarla

43

FC_GetRetainImageInfo: Lee la información adicional que debe estar escrita en el archivo de una imagen de memoria

45

FC_RetainImageLoad: Carga la imagen de memoria de la memoria retentiva que está ubicada en un archivo en la memoria retentiva del controlador

47

FC_RetainImageSave: Guarda el contenido de la memoria retentiva en un archivo 50

42 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_CheckProgramIdent: Verifica si la imagen de la memoria se ajusta a la aplicación antes de cargarla

Descripción funcionalLa función FC_CheckProgramIdent lee el identificador de programa de la imagen de memoria del archivo especificado y lo compara con el identificador de programa de la aplicación que se encuentra actualmente en la memoria.Utilice esta función antes de utilizar la función FC_RetainImageLoad.

NOTA: El tiempo de ejecución típico de la función en un controlador es de 50 ms si el archivo de datos retain está ubicado en la tarjeta SD.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

Entrada/Salida Tipo Comentarioi_sRetainImageFileName STRING [80] Nombre del archivo cuyo identificador de programa

se comparará con el identificador de programa del programa IEC que está ubicado actualmente en la memoria principal. El nombre de archivo recibe automáticamente la extensión .ret. El archivo se puede localizar en cualquier directorio existente del controlador. El nombre de archivo no puede incluir ningún carácter comodín.

Salida Tipo ComentarioFC_CheckProgramIdent DINT Consulte la tabla siguiente de descripción de

valores.

EIO0000001920 09/2016 43

Funciones de sistema de LMC078

En la tabla siguiente se describen los valores de retorno:

EjemplosdiResult := FC_CheckProgramIdent('carton');

El identificador de programa de la aplicación se compara con el identificador de programa almacenado en el archivo "carton.ret". El archivo "carton.ret" se encuentra en la tarjeta SD.diResult := FC_CheckProgramIdent('ide0:\retain\plister') ;

El identificador de programa de la aplicación se compara con el identificador de programa almacenado en el archivo "plister.ret". El archivo "plister.ret" se encuentra en el directorio "retain" de la tarjeta SD.diResult := FC_CheckProgramIdent('remote:ide0:\label') ;

El identificador de programa de la aplicación se compara con el identificador de programa almacenado en el archivo "label.ret". El archivo "label.ret" se encuentra en el dispositivo remoto "remote" de la tarjeta SD.

Valor Descripción0 El identificador de programa del programa IEC y la imagen de memoria coinciden.-1 El identificador de programa no se pudo comparar ya que el nombre de archivo

transferido no era válido. El nombre de archivo es demasiado largo o contiene uno de los siguientes caracteres - :, \, /, * o ?.

-2 La información adicional no se pudo leer, ya que el directorio especificado no existe.-3 El identificador de programa no se pudo comparar, ya que no existe el nombre de

archivo especificado.-4 El identificador de programa del programa IEC y la imagen de memoria no

coinciden.-5 El identificador de programa no se pudo comparar, ya que el archivo especificado

no es un archivo de imagen de memoria de una memoria retentiva.-6 El identificador de programa no se pudo comparar, ya que el archivo especificado

no contiene una imagen de memoria de la memoria retentiva.

44 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_GetRetainImageInfo: Lee la información adicional que debe estar escrita en el archivo de una imagen de memoria

Descripción de la funciónLa función FC_GetRetainImageInfo lee la información adicional de una imagen de memoria desde el archivo especificado y la almacena en la estructura transferida. La información adicional es: El nombre del archivo La fecha de la memoria El tipo de controlador El tamaño de la memoria retentiva del controlador La información del usuario El valor de la suma de comprobación El tamaño de la imagen de memoriaNOTA: Si el archivo de datos retain está ubicado en la unidad ide0:, el tiempo de ejecución típico de la función en un controlador es de 50 ms.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

EIO0000001920 09/2016 45

Funciones de sistema de LMC078

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

En la siguiente tabla se describe la variable de entrada/salida:

Entrada Tipo Comentarioi_sRetainImage-FileName

STRING [80] Nombre del archivo cuyo identificador de programa se comparará con el identificador de programa del programa IEC que está ubicado actualmente en la memoria principal. El nombre de archivo recibe automáticamente la extensión .ret. El archivo se puede localizar en cualquier directorio existente del controlador. El nombre de archivo no debe incluir ningún carácter comodín.

Salida Tipo ComentarioFC_GetRetainImage-Info

DINT Consulte la tabla siguiente de descripción de valores.

Valor Descripción0 La información adicional se pudo leer correctamente del archivo especificado.-1 El identificador de programa no se pudo comparar ya que el nombre de archivo

transferido no era válido. El nombre de archivo es demasiado largo o contiene uno de los siguientes caracteres - :, \, /, * o ?.

-2 La información adicional no se pudo leer, ya que el directorio especificado no existe.-3 La información adicional no se pudo leer, ya que el nombre de archivo especificado

no existe.-4 La información adicional no se pudo leer, ya que el archivo especificado no es un

archivo de imagen de memoria de una memoria retentiva.-5 La información adicional no se pudo leer, ya que se ha detectado un error general

en la función FC_GetRetainImageInfo().

Entrada/Salida Tipo Comentarioiq_stInfo ST_RetainImageInfo Transferencia de información adicional.

46 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_RetainImageLoad: Carga la imagen de memoria de la memoria retentiva que está ubicada en un archivo en la memoria retentiva del controlador

Descripción funcionalLa función FC_RetainImageLoad lee la imagen de memoria del archivo especificado y la almacena en la memoria retentiva. Puede seleccionar si desea verificar el identificador de programa o no. El identificador de programa es el identificador único de una aplicación. Es necesario que coincidan la memoria retentiva y la configuración de las variables retentivas de la aplicación. Esto se confirma mediante la verificación del identificador de programa. Por lo tanto, el identificador de programa de la imagen de memoria se compara con el de la aplicación que actualmente está ubicada en la memoria y, si coinciden, se carga la imagen de memoria. Con cada cambio se crea un nuevo identificador de programa de una aplicación. Por lo tanto, puede rechazar una verificación del identificador de programa, ya que solo los cambios menores han tenido efecto en el código y la declaración de las variables retentivas no ha cambiado. La memoria retentiva y la aplicación deben coincidir para que el controlador tenga un funciona-miento correcto. Verifique el tamaño de la imagen de memoria y el tamaño de la memoria retentiva requerida por la aplicación. La imagen de memoria solo se carga si coinciden los dos valores de tamaño.NOTA: El tiempo de ejecución típico de la función en un controlador es de 100 ms si el archivo de datos retain está ubicado en la tarjeta SD.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

ADVERTENCIAFUNCIONAMIENTO IMPREVISTO DEL EQUIPONo acceda a los datos retain mientras se esté ejecutando la función FC_RetainImageLoad().

El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o daño al equipo.

EIO0000001920 09/2016 47

Funciones de sistema de LMC078

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada/Salida Tipo Comentarioi_sRetainImage-FileName

STRING [80] Nombre del archivo desde el que se cargará la imagen de memoria de la memoria retentiva. El nombre de archivo recibe automáticamente la extensión .ret. El archivo se puede almacenar en cualquier directorio existente del controlador. El nombre del archivo no debe incluir ningún carácter comodín.

i_xProgramIdent-Check

BOOL Puede seleccionar si desea verificar el identificador de programa o no.TRUE: La imagen de memoria solo se carga si coinciden el identificador de programa de la imagen de memoria y el de la aplicación que se esté ejecutando.FALSE: El identificador de programa no está verificado.Si no verifica que el identificador de programa coincida con la aplicación, asegúrese de que sí coincidan la aplicación y la imagen de memoria de la memoria retentiva que se vaya a cargar. Si no es así, se detectará un error en el controlador.

Salida Tipo ComentarioFC_RetainImageLoad DINT Consulte la tabla siguiente de descripción de

valores.

Valor Descripción0 La imagen de memoria se ha cargado correctamente en la memoria retentiva.-1 No se ha podido cargar la imagen de memoria. Se ha especificado un nombre de

archivo no válido. El nombre de archivo es demasiado largo o contiene uno de los siguientes caracteres - :, \, /, * o ?.

-2 La imagen de memoria no se pudo cargar, ya que el directorio especificado no existe.

-3 La imagen de memoria no se pudo cargar, ya que el nombre de archivo especificado no existe.

-4 La imagen de memoria no se pudo cargar en la memoria retentiva debido a que el identificador de programa de la imagen de memoria no coincide con el identificador de programa de la aplicación que se encuentra actualmente en memoria.

48 EIO0000001920 09/2016

Funciones de sistema de LMC078

EjemplosdiResult := FC_RetainImageLoad('carton', TRUE) ;

La memoria retentiva se ha cargado desde el archivo "carton.ret" de la tarjeta SD. El identificador de programa está verificado.diResult := FC_RetainImageLoad('ide0:\retain\plister', FALSE) ;

La memoria retentiva se ha cargado desde el archivo "plister.ret" ubicado en el directorio "retain" de la tarjeta SD. El identificador de programa no está verificado.diResult := FC_RetainImageLoad('remote:ide0:\label', TRUE) ;

La memoria retentiva se ha cargado desde el archivo "label.ret" ubicado en la tarjeta SD que está conectada al motion controller "remote". El identificador de programa está verificado.

-5 La imagen de memoria no se pudo cargar en la memoria retentiva, ya que los datos de la imagen de memoria no son válidos. Es probable que se cambiasen los datos manualmente. Esto se ha observado durante una verificación del tamaño de la imagen de memoria con el tamaño de los datos retain almacenados en el archivo.

-6 La imagen de memoria no se pudo cargar en la memoria retentiva, ya que los archivos de la imagen de memoria no son válidos. Esto se observó durante la verificación del valor de la suma de comprobación.

-7 La imagen de memoria no se pudo cargar en la memoria retentiva, ya que el archivo especificado no es un archivo de imagen de memoria de una memoria retentiva.

-8 La imagen de memoria no se pudo cargar en la memoria retentiva, ya que se ha detectado un error general en la función FC_RetainImageLoad().

Valor Descripción

EIO0000001920 09/2016 49

Funciones de sistema de LMC078

FC_RetainImageSave: Guarda el contenido de la memoria retentiva en un archivo

Descripción funcionalLa función FC_RetainImageSave almacena todo el contenido de la memoria retentiva en el archivo especificado. Ya que no se puede predecir el direccionamiento y la asignación de las variables en la memoria retentiva, se almacena toda la memoria retentiva. Además, se puede almacenar información propia con el archivo. Si existe un archivo con el mismo nombre y en la misma ubicación, este archivo se sobrescribirá.NOTA: No cambie los datos retain mientras se ejecuta la función. Esto puede provocar datos retain incoherentes si posteriormente se cargan estos datos. Asegúrese de que no se accede a los datos retain mientras se ejecuta la función FC_RetainImageSave().

NOTA: El tiempo de ejecución típico de la función en un controlador es de 400 ms para almacenar la memoria retentiva en una tarjeta SD.NOTA: El tiempo de procesamiento de esta función es de unos pocos centenares de ms. Cuando utilice esta función, deberá aumentar el tiempo de watchdog con FC_CycleCheckTimeSet. Por ejemplo, CycleCheckTimeSet(500, 1000).

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

Entrada Tipo Comentarioi_sRetainImage-FileName

STRING[80] Nombre del archivo en el que debería estar almacenado el contenido de la memoria retentiva.El nombre de archivo recibe automáticamente la extensión .ret. El archivo se puede almacenar en cualquier directorio existente del controlador. El nombre del archivo no debe incluir ningún carácter comodín.

i_sUserInfo STRING[255] La información también se debe almacenar en el archivo de la imagen de memoria de la memoria retentiva.

50 EIO0000001920 09/2016

Funciones de sistema de LMC078

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

EjemplosdiResult := FC_RetainImageSave('carton', 'Dump Cartoner');

La memoria retentiva se ha guardado en el archivo "carton.ret" de la tarjeta SD.diResult := FC_RetainImageSave('ide0:\retain\plister' ‚Speicherabild Plister');

La memoria retentiva se ha guardado en el archivo "plister.ret" dentro del directorio "retain" en la tarjeta SD.diResult := FC_RetainImageSave('remote:ide0:\label' ‚Dump Labeler');

La memoria retentiva se ha guardado en el archivo "label.ret" ubicado en la tarjeta SD que está conectada al motion controller "remote".

Salida Tipo ComentarioFC_RetainImageSave DINT Consulte la tabla siguiente de

descripción de valores.

Valor Descripción0 La memoria retentiva se ha almacenado correctamente.-1 La memoria retentiva no se pudo almacenar, ya que se especificó un nombre de

archivo no válido. El nombre de archivo es demasiado largo o contiene uno de los siguientes caracteres - :, \, /, * o ?.

-2 La memoria retentiva no se pudo almacenar porque el directorio en el que se iba a almacenar la imagen de memoria no existe.

-3 La memoria retentiva no se pudo leer, ya que se ha detectado un error general en la función FC_RetainImageSave().

EIO0000001920 09/2016 51

Funciones de sistema de LMC078

Sistema

Sección 2.7Sistema

Descripción generalEn esta sección se describen las funciones de System.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_GetNVRamStatus: Verifica si los datos de la NVRAM eran válidos durante el arranque del controlador

53

FC_GetBootState: Determina si todos los parámetros son válidos tras el proceso de reinicio del controlador

54

FC_SysReset: Restablece el controlador 56FC_SysSaveParameter: Guarda los parámetros personalizados en la tarjeta SD 57FC_SysShutdown: Ayuda a asegurarse de que el sistema de archivos sea seguro antes de desconectar la alimentación del controlador

58

FC_UserChangePassword: Cambia la contraseña del usuario 59

52 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_GetNVRamStatus: Verifica si los datos de la NVRAM eran válidos durante el arranque del controlador

Descripción funcionalLa función FC_GetNVRamStatus lee el estado de la NVRAM durante el arranque. Es importante si se desconecta la alimentación del controlador durante un periodo prolongado. Si la verificación de la NVRAM durante el arranque no es correcta, el sistema crea de modo predeterminado una entrada en el registro de mensajes (detectado error de CRC de NVRAM 316).

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Salida Tipo ComentarioFC_GetNVRamStatus BOOL Consulte la tabla siguiente de descripción de

valores de retorno.

Valor DescripciónTRUE La verificación de la NVRAM durante el arranque ha sido correcta.FALSE Detectado un error durante la verificación de la NVRAM.

EIO0000001920 09/2016 53

Funciones de sistema de LMC078

FC_GetBootState: Determina si todos los parámetros son válidos tras el proceso de reinicio del controlador

Descripción funcionalLa función FC_GetBootState devuelve el estado del reinicio del controlador. Es necesario porque el programa IEC ya está cargado e iniciado antes del final del proceso de reinicio, dependiendo del parámetro AutoRun. La función FC_GetBootState() le permite verificar si se ha completado el proceso de reinicio. Hasta que se complete el proceso de reinicio, no se considera que se haya completado la iniciali-zación del sistema y todos los objetos (como, por ejemplo, los codificadores lógicos) y todos los parámetros se consideran no válidos.Un buen uso de esta función es para asegurarse de que el codificador físico se haya inicializado y que funcione de forma correcta. Por ejemplo, la duración del proceso de reinicio depende del tamaño del proyecto.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Salida Tipo ComentarioFC_GetBootState DINT Consulte la tabla siguiente de descripción de

valores de retorno.

Valor Descripción0 El proceso de reinicio aún no se ha completado.1 El proceso de reinicio se ha completado.

54 EIO0000001920 09/2016

Funciones de sistema de LMC078

EjemploCASE lState OF

1:

lBootReady:=FC_GetBootState();

IF lBootReady=1 THEN

lState:=lState+1;

END_IF;

2:

....;

END_CASE;

EIO0000001920 09/2016 55

Funciones de sistema de LMC078

FC_SysReset: Restablece el controlador

Descripción funcionalLa función FC_SysReset reinicia el controlador mediante un comando de reinicio. Si desea obtener más información, consulte los Comandos de transiciones de estado (véase Modicon LMC078, Motion Controller, Programming Guide).NOTA: Asegúrese de que el proceso de arranque del controlador se haya completado antes de solicitar un reinicio con la función FC_SysReset(). Puede implementar esto empleando la función FC_GetBootState().

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Salida Tipo ComentarioFC_SysReset DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 El controlador no se ha reseteado.

56 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_SysSaveParameter: Guarda los parámetros personalizados en la tarjeta SD

Descripción funcionalLa función FC_SysSaveParameter guarda los parámetros configurables en la tarjeta SD. Este archivo se utiliza para inicializar el sistema durante el arranque.NOTA: El tiempo de procesamiento de esta función es de unos pocos centenares de ms. Cuando utilice esta función, deberá aumentar el tiempo de watchdog con FC_CycleCheckTimeSet. Por ejemplo, CycleCheckTimeSet(500, 1000).

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Salida Tipo ComentarioFC_SysSaveParameter DINT Consulte la tabla siguiente de descripción

de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 Error detectado.

EIO0000001920 09/2016 57

Funciones de sistema de LMC078

FC_SysShutdown: Ayuda a asegurarse de que el sistema de archivos sea seguro antes de desconectar la alimentación del controlador

Descripción funcionalLa función FC_SysShutdown ayuda a asegurar que el controlador cierra el sistema de archivos y todos los archivos abiertos.Primero activa un mensaje de diagnóstico 8023 (apagado del controlador) para el registro de mensajes y detiene todas las tareas IEC. Luego, cierra el sistema de archivos y los archivos abiertos, tras lo cual detiene la CPU. Ya puede desconectar el sistema de la fuente de alimentación. Es necesario un reseteo hardware en el panel frontal del controlador o un apagado y encendido de la tensión de control para poder reiniciar el sistema una vez más.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Salida Tipo ComentarioFC_SysShutdown DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 La acción se ha completado correctamente.-1 El controlador no se ha apagado correctamente.

58 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_UserChangePassword: Cambia la contraseña del usuario

Descripción funcionalLa función FC_UserChangePassword cambia la contraseña de un usuario existente. Este nombre de usuario se puede utilizar en servicios de archivos remotos. Debe recordar la contraseña actual.NOTA: Si desea obtener información importante sobre la seguridad de la contraseña, consulte la LMC078 Motion Controller Guía de programación (véase Modicon LMC078, Motion Controller, Programming Guide).

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

Entrada Tipo Comentarioi_sUserName STRING(80) Nombre de usuario.i_sCurrentPassword STRING(80) Contraseña actual.i_sNewPassword STRING(80) Nueva contraseña.

Salida Tipo ComentarioFC_UserChangePassword DINT Consulte la tabla siguiente de

descripción de valores de retorno.

EIO0000001920 09/2016 59

Funciones de sistema de LMC078

En la tabla siguiente se describen los valores de retorno:

Valor Descripción0 La acción se ha completado correctamente.-1 Error interno.-2 Usuario desconocido.-3 Contraseña no válida.

60 EIO0000001920 09/2016

Funciones de sistema de LMC078

TimeAndSync

Sección 2.8TimeAndSync

Descripción generalEn esta sección se describen las funciones de TimeAndSync.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_GetNsPerCPUClockCycle: Mide el tiempo con alta precisión 62FC_GetTimeOfDay: Lee la hora actual del sistema en resolución de ms sin la fecha 63FC_GetTSC: Mide el tiempo con alta precisión 65

EIO0000001920 09/2016 61

Funciones de sistema de LMC078

FC_GetNsPerCPUClockCycle: Mide el tiempo con alta precisión

Descripción de la funciónLa función FC_GetNsPerCPUClockCycle ofrece la duración de tiempo de un ciclo del temporizador de la CPU en ns. Puede utilizar este valor para convertir a ns el valor que devuelve la función FC_GetTSC.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

EjemploDeclaración:ulStartClock:UDINT;

ulEndClock:UDINT;

ulClock:UDINT;

lrTimeUs:LREAL;

Programa:ulStartClock := FC_GetTSC();

:<Here put the code you want to measure the time execution>

ulEndClock := FC_GetTSC();

ulClock := ulEndClock - ulStartClock;

lrTimeUs:= UDINT_TO_LREAL(ulClock) * FC_GetNsPerCPUClockCycle() /1000.0;

Salida Tipo ComentarioFC_GetNsPerCPUClockCycle LREAL Número de ns por ciclo de reloj de la CPU.

62 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_GetTimeOfDay: Lee la hora actual del sistema en resolución de ms sin la fecha

Descripción de la funciónLa función FC_GetTimeOfDay lee la hora actual del sistema en resolución de ms sin la fecha. En el programa IEC se requiere una marca de tiempo con especificación de la fecha en ms. Devuelve la hora en el formato TimeOfDay.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

EjemploPara integrar una función de registro en el programa IEC, el registro guarda los mensajes de diagnóstico del sistema y los mensajes específicos del cliente. Cada mensaje grabado recibe una marca de tiempo en ms similar a la del registro de mensajes. La marca de tiempo debe estar en el formato YYYY-MM-DD-hh:mm:ss.000. La siguiente función guarda la fecha y la hora en dos variables. Estas dos variables se convierten en cadenas y se combinan.VAR

dtActualDate : DATE;

todActualTimeOfDay: TOD;

sActualDate : STRING;

sActualTimeOfDay : STRING;

sTimestamp : STRING;

END_VAR

dtActualDate:= DT_TO_DATE(MyController.Realtimeclock) ;

Salida Tipo ComentarioFC_GetTimeOfDay TIME_OF_DAY Hora en formato TimeOfDay (intervalo desde

00 h00m00s000ms a 23 h59min59s999ms)

EIO0000001920 09/2016 63

Funciones de sistema de LMC078

todActualTimeOfDay:= FC_GetTimeOfDay() ;

sActualDate := DATE_TO_STRING(dtActualDate) ;

sActualDate := DELETE(sActualDate,2,1);

sActualTimeOfDay := TOD_TO_STRING(todActualTimeOfDay);

sActualTimeOfDay := DELETE(sActualTimeOfDay,4,1) ;

sTimestamp := CONCAT(sActualDate,'-') ;

sTimestamp := CONCAT(sTimestamp,sActualTimeOfDay) ;

Esta función presenta cómo conseguir la hora actual con resolución en milisegundos y la fecha actual del parámetro RealTimeClock y del método FC_GetTimeOfDay(). Ahora puede guardar o mostrar la hora como una cadena con un mensaje.

64 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_GetTSC: Mide el tiempo con alta precisión

Descripción de la funciónLa función FC_GetTSC lee el valor inferior de 32 bits del temporizador interno de la CPU. El procesador Pentium tiene un temporizador de 64 bits que aumenta en cada ciclo de reloj.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de salida:

EjemploConsulte la función FC_GetNsPerCPUClockCycle (véase página 62).

Salida Tipo ComentarioFC_GetTSC UDINT Estado del contador actual del temporizador de

la CPU (valor inferior de 32 bits).

EIO0000001920 09/2016 65

Funciones de sistema de LMC078

VolumeOperations

Sección 2.9VolumeOperations

Descripción generalEn esta sección se describen las funciones de VolumeOperations.

Contenido de esta secciónEsta sección contiene los siguientes apartados:

Apartado PáginaFC_GetFreeDiskSpace: Lee el espacio libre en la memoria de un soporte de memoria 67FC_GetTotalDiskSpace: Lee el tamaño de un soporte de memoria 69

66 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_GetFreeDiskSpace: Lee el espacio libre en la memoria de un soporte de memoria

Descripción de la funciónLa función FC_GetFreeDiskSpace lee el espacio libre en la memoria de un soporte de memoria (disco flash, disco RAM, dispositivo USB) en bytes. El nombre del soporte de memoria se transfiere: Tarjeta SD = ide0: Disco RAM = ram0: Dispositivo USB = usb2msd:0 (sin tabla de partición) o usb2msd:1 (con tabla de partición).No se puede leer el espacio libre en la memoria de un dispositivo remoto. Si se especifica como parámetro un dispositivo remoto, la función devuelve -1.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

Entrada Tipo Comentarioi_sVolumeName STRING [80] Nombre del dispositivo del que se

leerá el espacio libre de su memoria

Salida Tipo ComentarioFC_GetFreeDiskSpace DINT Consulte la tabla siguiente de

descripción de valores de retorno.

EIO0000001920 09/2016 67

Funciones de sistema de LMC078

En la tabla siguiente se describen los valores de retorno:

En la tabla siguiente, se describen las variables de entrada/salida:

EjemploRequisito: Se debe determinar el espacio libre en la memoria en un dispositivo USB. Para ello se debe detectar correctamente el dispositivo USB.DeclaraciónPROGRAM FreeUSBDiskSpace

VAR

uliFreeDiskSpace : ULINT := 0;

diStatus : DINT := 0;

diBytesOfMegaByte : DINT := 1048576; // = 1024 * 1024

diFreeDiskSpaceInMB : LINT := 0;

END_VAR

ProgramadiStatus := FC_GetFreeDiskSpace ( 'usb2msd:1', uliFreeDiskSpace );

IF (diStatus = 0) THEN

diFreeDiskSpaceInMB := ULINT_TO_LINT(uliFreeDiskSpace) / diBytesOfMegaByte;

END_IF

ResultadodiFreeDiskSpaceInMB contiene el espacio libre en la memoria del soporte de memoria USB en MB.

Valor Descripción0 El espacio libre en la memoria se ha leído correctamente.-1 Se ha detectado un error al leer el espacio libre en la memoria, por ejemplo, si se

ha seleccionado un dispositivo no válido o un dispositivo remoto. -318 Parámetro no válido (i_sVolumeName).

Entrada/Salida Tipo Comentarioiq_uliFreeDiskSpace ULINT Espacio libre en la memoria en

bytes.

68 EIO0000001920 09/2016

Funciones de sistema de LMC078

FC_GetTotalDiskSpace: Lee el tamaño de un soporte de memoria

Descripción de la funciónLa función FC_GetTotalDiskSpace lee el tamaño de un soporte de memoria (tarjeta SD, disco RAM, dispositivo USB) en bytes. El nombre del soporte de memoria se transfiere: Tarjeta SD = ide0: Disco RAM = ram0: Dispositivo USB = usb2msd:0 (sin tabla de partición) o usb2msd:1 (con tabla de partición).No se puede leer el tamaño de la memoria de un dispositivo remoto. Si se especifica como parámetro un dispositivo remoto, la función devuelve -1.

Representación gráfica

Representación IL y STPara ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.

Descripción de variables de E/SEn la tabla siguiente se describe la variable de entrada:

En la tabla siguiente se describe la variable de salida:

En la tabla siguiente se describen los valores de retorno:

Entrada Tipo Comentarioi_sVolumeName STRING [80] Nombre del dispositivo del que se

leerá el tamaño de su memoria.

Salida Tipo ComentarioFC_GetTotalDiskSpace DINT Consulte la tabla siguiente de

descripción de valores de retorno.

Valor Descripción0 El espacio libre en la memoria se ha leído correctamente.-1 Se ha detectado un error al leer el tamaño. -318 Al menos uno de los parámetros no es válido.

EIO0000001920 09/2016 69

Funciones de sistema de LMC078

En la tabla siguiente, se describen las variables de entrada/salida:

EjemploRequisito: El tamaño de la tarjeta SD en el controlador debe determinarse en MB.DeclaraciónPROGRAM RamDiskSize

VAR

uliTotalDiskSpace : ULINT := 0;

diStatus : DINT := 0;

diBytesOfMegaByte : DINT := 1048576; // = 1024 * 1024

diSizeOfRamdiskInMB : LINT := 0;

VAR

ProgramadiStatus := FC_GetTotalDiskSpace ( 'ide0:', uliTotalDiskSpace);

IF (diStatus = 0) THEN

diSizeOfRamdiskInMB := ULINT_TO_LINT(uliTotalDiskSpace)/diBytesOfMegaByte;

END_IF

ResultadodiSizeOfRamdiskInMB contiene el tamaño de la tarjeta SD en MB.

Entrada/Salida Tipo Comentarioiq_uliTotalDiskSpace ULINT El tamaño del soporte de la

memoria en bytes.

70 EIO0000001920 09/2016

Modicon LMC078 Motion ControllerGlosarioEIO0000001920 09/2016

Glosario

Aaplicación

Un programa que incluye datos de configuración, símbolos y documentación.

Bbus de ampliación

Un bus de comunicación electrónico entre los módulos de E/S de ampliación y un controlador.

Cconfiguración

Organización e interconexión de los componentes de hardware en un sistema y los parámetros del hardware y software que determina las características operativas del sistema.

controladorAutomatiza procesos industriales (también conocido como controlador lógico programable o controlador programable).

EE/S

(entrada/salida)

Pprograma

El componente de una aplicación consistente en código fuente compilado capaz de poder ser instalado en la memoria de un controlador lógico.

EIO0000001920 09/2016 71

Glosario

72 EIO0000001920 09/2016

Modicon LMC078 Motion ControllerÍndiceEIO0000001920 09/2016

Índice

Aactivación del mensaje de diagnóstico

FC_DiagUserMsgWrite, 20almacenamiento de parámetros personaliza-dos en la tarjeta SD

FC_SysSaveParameter, 57almacenamiento del archivo del registro de mensajes en la memoria masiva

FC_MsgLogSave, 34almacenamiento del contenido de la memoria retentiva

FC_RetainImageSave, 50

Ccambio de la configuración de diagnóstico

FC_DiagConfigSet2, 15cambio de la contraseña de usuario

FC_UserChangePassword, 59carga de la imagen de memoria de la memo-ria retentiva

FC_RetainImageLoad, 47cómo asegurarse de que el sistema de archi-vos es seguro antes de desconectar la ali-mentación

FC_SysShutdown, 58comparación de las dos direcciones lógicas

FC_CompareStLogicalAddress, 32configuración del dispositivo para los servi-cios de archivos

FC_RemoteDeviceCreate, 37

Dde ciclo de la tarea cambio del valor de tiem-po para la supervisión del tiempo IEC

FC_CycleCheckTimeSet, 26determinación de los valores de tiempo para la supervisión del tiempo de ciclo de la tarea

EIO0000001920 09/2016

IECFC_CycleCheckTimeGet, 25

determinación del estado de reinicio del con-trolador

FC_GetBootState, 54determinación del tiempo de intervalo de la tarea en el programa IEC

FC_LzsTaskGetCurrentInterval, 27

Eestablecimiento del nombre de usuario y la contraseña para los servicios de archivos re-motos

FC_RemoteUserIdSet, 39

FFC_CheckProgramIdent

verificación del ajuste de la imagen de la memoria a la aplicación, 43

FC_CompareStLogicalAddresscomparación de las dos direcciones lógi-cas, 32

FC_CycleCheckSethabilitación/deshabilitación de los mensa-jes de diagnóstico para el desborde del tiempo de ciclo, 23

FC_CycleCheckTimeGetdeterminación de los valores de tiempo para la supervisión del tiempo de ciclo de la tarea IEC, 25

FC_CycleCheckTimeSetcambio del valor de tiempo para la super-visión del tiempo de ciclo de la tarea IEC, 26

FC_DiagConfigRead2lectura de la configuración de diagnósti-co, 13

FC_DiagConfigSet2cambio de la configuración de diagnósti-

73

Índice

co, 15FC_DiagMsgRead

lectura de la información de diagnóstico, 18

FC_DiagQuitrestablecimiento del mensaje de diagnós-tico, 21

FC_DiagUserMsgWriteactivación del mensaje de diagnóstico, 20

FC_GetBootStatedeterminación del estado de reinicio del controlador, 54

FC_GetFreeDiskSpacelectura del espacio libre en la memoria, 67

FC_GetNsPerCPUClockCyclemedición del tiempo con alta precisión, 62

FC_GetNVRamStatuslectura del estado de la NVRAM durante el arranque, 53

FC_GetRetainImageInfolectura de la información adicional que se debe escribir en el archivo de una imagen de memoria, 45

FC_GetTimeOfDaylectura de la hora actual del sistema, 63

FC_GetTotalDiskSpacelectura del tamaño de la memoria, 69

FC_GetTSCmedición del tiempo con alta precisión, 65

FC_IsStLogicalAddressValidverificación de la validación de la direc-ción lógica, 33

FC_LzsTaskGetCurrentIntervaldeterminación del tiempo de intervalo de la tarea en el programa IEC, 27

FC_LzsTaskGetInterval lectura del tiempo de intervalo de la tarea en el programa IEC, 29

FC_MsgLogSavealmacenamiento del archivo del registro de mensajes en la memoria masiva, 34

FC_PrgResetAndStartrestablecimiento e inicio de la aplicación que está utilizando el programa de usua-

74

rio, 30FC_RemoteDeviceCreate

configuración del dispositivo para los ser-vicios de archivos, 37

FC_RemoteUserIdSetestablecimiento del nombre de usuario y la contraseña para los servicios de archi-vos remotos, 39

FC_RetainImageLoadcarga de la imagen de memoria de la me-moria retentiva, 47

FC_RetainImageSavealmacenamiento del contenido de la me-moria retentiva, 50

FC_SysResetrestablecimiento del controlador, 56

FC_SysSaveParameteralmacenamiento de parámetros persona-lizados en la tarjeta SD, 57

FC_SysShutdowncómo asegurarse de que el sistema de ar-chivos es seguro antes de desconectar la alimentación, 58

FC_UserChangePasswordcambio de la contraseña de usuario, 59

EIO0000001920 09/2016

Índice

funciónFC_CheckProgramIdent, 43FC_CompareStLogicalAddress, 32FC_CycleCheckSet, 23FC_CycleCheckTimeGet, 25FC_CycleCheckTimeSet, 26FC_DiagConfigRead2, 13FC_DiagConfigSet2, 15FC_DiagMsgRead, 18FC_DiagQuit, 21FC_DiagUserMsgWrite, 20FC_GetBootState, 54FC_GetFreeDiskSpace, 67FC_GetNsPerCPUClockCycle, 62FC_GetNVRamStatus, 53FC_GetRetainImageInfo, 45FC_GetTimeOfDay, 63FC_GetTotalDiskSpace, 69FC_GetTSC, 65FC_IsStLogicalAddressValid, 33FC_LzsTaskGetCurrentInterval, 27FC_LzsTaskGetInterval, 29FC_MsgLogSave, 34FC_PrgResetAndStart, 30FC_RemoteDeviceCreate, 37FC_RemoteUserIdSet, 39FC_RetainImageLoad, 47FC_RetainImageSave, 50FC_SysReset, 56FC_SysSaveParameter, 57FC_SysShutdown, 58FC_UserChangePassword, 59

Hhabilitación/deshabilitación de los mensajes de diagnóstico para el desborde del tiempo de ciclo

FC_CycleCheckSet, 23

Llectura de la configuración de diagnóstico

FC_DiagConfigRead2, 13

EIO0000001920 09/2016

lectura de la hora actual del sistemaFC_GetTimeOfDay, 63

lectura de la información adicional que se debe escribir en el archivo de una imagen de memoria

FC_GetRetainImageInfo, 45lectura de la información de diagnóstico

FC_DiagMsgRead, 18lectura del espacio libre en la memoria

FC_GetFreeDiskSpace, 67lectura del estado de la NVRAM durante el arranque

FC_GetNVRamStatus, 53lectura del tamaño de la memoria

FC_GetTotalDiskSpace, 69lectura del tiempo de intervalo de la tarea en el programa IEC

FC_LzsTaskGetInterval, 29

Mmedición del tiempo con alta precisión

FC_GetNsPerCPUClockCycle, 62FC_GetTSC, 65

Rrestablecimiento del controlador

FC_SysReset, 56restablecimiento del mensaje de diagnóstico

FC_DiagQuit, 21restablecimiento e inicio de la aplicación que está utilizando el programa de usuario

FC_PrgResetAndStart, 30

SST_RetainImageInfo

tipo de datos, 9

Ttipo de datos

ST_RetainImageInfo, 9

75

Índice

Vverificación de la validación de la dirección ló-gica

FC_IsStLogicalAddressValid, 33verificación del ajuste de la imagen de la me-moria a la aplicación

FC_CheckProgramIdent, 43

76

EIO0000001920 09/2016