El bloque de función FB_DataManagement se utiliza para registrar determinados datos de la máquina y para actualizar las etiquetas asociadas en ST_Administration. La estructura global del tipo ST_Administration se pasa al bloque de función mediante la entrada i_pstAdmin.
En función de la modalidad de unidad actual (i_diUnitModeCurrent) y el estado de la máquina (i_diStateCurrent), los valores del temporizador correspondientes se actualizan continuamente. Los valores para la modalidad de control y el estado de la máquina corresponden a las definiciones de las enumeraciones ET_Modes y ET_States.
Los diferentes contadores de producto los activan las señales correspondientes en las matrices proporcionadas por las entradas i_ax…Product.
Se puede activar un restablecimiento global de los valores del temporizador y del contador mediante la entrada i_xResetTimerCounter.
Este bloque de función no incluye la retención de datos de eventos externos, como, por ejemplo, un arranque en caliente del controlador.
El bloque de función procesa las siguientes etiquetas de administración:
ST_Administration.ModeCurrentTime[#]
ST_Administration.ModeCummulativeTime[#]
ST_Administration.StateCurrentTime[#,#]
ST_Administration.StateCummulativeTime[#,#]
ST_Administration.ProdConsumedCount[#]
ST_Administration.ProdProcessedCount[#]
ST_Administration.ProdDefectiveCount[#]
ST_Administration.AccTimeSinceReset
ST_Administration.AlarmExtent
ST_Administration.AlarmHistoryExtent
ST_Administration.WarningExtent
ST_Administration.PLCDateTime
ST_Administration.PACDateTime
ST_Adminsitration.ModeTimeCurrent
ST_Adminsitration.StateTimeCurrent
Entrada |
Tipo de datos |
Descripción |
---|---|---|
i_xEnable |
BOOL |
Activación e inicialización del bloque de función. |
i_xResetTimerCounter |
BOOL |
Los valores del temporizador y el contador se reinician en un flanco ascendente. |
i_diUnitModeCurrent |
DINT |
La modalidad de funcionamiento actual se pasa al bloque de función mediante esta entrada. Status.UnitModeCurrent debe aplicarse a la entrada. |
i_diStateCurrent |
DINT |
El estado actual de la máquina se pasa al bloque de función mediante esta entrada. Status.StateCurrent debe aplicarse a la entrada. |
i_axConsumedProduct |
ARRAY [1..GPL.Gc_uiNumberOfConsumedProducts] OF BOOL |
El valor correspondiente del contador de la etiqueta de administración se incrementa en un flanco ascendente de una variable booleana de la matriz. |
i_axProcessedProduct |
ARRAY [1..GPL.Gc_uiNumberOfConsumedProducts] OF BOOL |
El valor correspondiente del contador de la etiqueta de administración se incrementa en un flanco ascendente de una variable booleana de la matriz. |
i_axDefectiveProduct |
ARRAY [1..GPL.Gc_uiNumberOfDefectiveProducts] OF BOOL |
El valor correspondiente del contador de la etiqueta de administración se incrementa en un flanco ascendente de una variable booleana de la matriz. |
i_pstAdmin |
POINTER TO ST_Administration |
Mediante esta entrada se pasa al bloque de función la dirección del puntero de las etiquetas de administración. |
Para impedir una infracción de acceso causada por el acceso de puntero a la memoria, asegúrese de que el puntero apunte a una variable de tipo ST_Administration.
Al ejecutar el comando POINTER
apunten a una memoria no válida. Por tanto, asegúrese de que no se conserve un puntero entre ciclos, sino que se reasigne en cada ciclo.
ADVERTENCIA | |
---|---|
Salida |
Tipo de datos |
Descripción |
---|---|---|
q_xActive |
BOOL |
Si esta salida está establecida en TRUE, el bloque de función está activo. |
q_xError |
BOOL |
Si esta salida está establecida en TRUE, se ha detectado un error. Consulte ET_Result. |
q_etResult |
ET_Result |
Enumeración con el resultado. |
q_sResultMsg |
STRING[80] |
Mensaje del resultado adicional. |