Creación de una visualización con una tabla de alarmas
En las siguientes instrucciones, el Tabla de alarmas El elemento de visualización se configura como ejemplo.
Para obtener más información, consulte lo siguiente: Definición de un Agrupar de alarmas y alarmas
Configuración
Requisito: El AG_PartsShortage grupo de alarmas y el AC_PartsShortage Las clases de alarma se definen en su proyecto.
Añade una visualización debajo de tu aplicación.
Seleccione la aplicación y haga clic en el Agregar objeto → Visualización dominio.
Especifique el nombre como
VIS_PartsShortage.
Abra el editor de visualización.
Arrastre el Tabla de alarmas elemento de la Administrador de alarmas categoría en el editor de visualización y abra la vista de propiedades del elemento.
Configure la tabla de alarmas de la siguiente manera.
En el Nombre del elemento propiedad, en el Valor columna, especifique el nombre
AT_PartsShortage.Configuración de la
Alarm groupspropiedad del elemento de visualización:En el Configuración de alarma → Grupos de alarmas propiedad, haga clic en la celda de valor correspondiente.
El Agrupar de alarma seleccionado Se abre el diálogo.
Limpiar el Todo opción y seleccione la
AG_PartsShortagegrupo de alarmas.Haga clic en el
Botón para agregar el grupo al Agrupar de alarma seleccionado lista.Hacer clic DE ACUERDO para confirmar la configuración.
Configuración de la Clases de alarma propiedad del elemento de visualización:
En el Configuración de alarma → Clases de alarma Propiedad: define las clases de alarma que deseas visualizar. Haz clic en el campo de valor.
En el Configuración de alarma → Clases de alarma propiedad, haga clic en la celda de valor correspondiente.
El Seleccionar clase de alarma Se abre el diálogo.
Limpiar el Todo opción y seleccione la
AC_PartsShortageclase de alarma.Haga clic en el
Botón para agregar la clase de alarma a las clases de alarma seleccionadas.Hacer clic DE ACUERDO para confirmar la configuración.
Configuración de una columna:
En el Columnas propiedad, haga clic en el Crear nuevo botón.
Columna [2] está disponible. La nueva columna con el nombre
Bitmapaparece en el editor de visualización.En el Tipo de datos propiedad, seleccione la Estado valor para la columna [2].
En la tabla, a la columna se le asigna el nuevo encabezado predeterminado.
State.En el Encabezado de columna propiedad, especifique el nombre
Parts Shortage State.Se cambia el nombre de la columna [2].
Configuración de la Selección propiedad del elemento de visualización:
En el Selección de color propiedad, seleccione el color
Greenen el Valor columna.Durante la ejecución, el usuario de la visualización puede seleccionar las celdas de la tabla. Estas se vuelven verdes.
Configuración de la Variables de control propiedad del elemento de visualización:
En el código de su aplicación, declare el
bQuitAlarmvariable de control.En el Reconocer seleccionado propiedad, especifique la
PLC_PRG.bQuitAlarmvariable en la celda de valor.
Propiedades configuradas

Complementar la visualización de una alarma con controles
El usuario de visualización necesita controles para operar la visualización de alarmas. Durante la programación, puede obtener ayuda del Asistente de Tablas de Alarmas. El comando que llama al asistente solo está disponible cuando se selecciona una tabla de alarmas en la visualización.
En el editor de visualización, seleccione la tabla de alarmas
elemento.En el menú contextual, haga clic en el icono Insertar elementos para el reconocimiento de alarmas dominio.
El Alarm Table Wizard Se abre el diálogo.
Hacer clic DE ACUERDO para aceptar todas las configuraciones.
El
Reconocer seleccionado,Acknowledge all visible,History, yFreeze scrolling positionSe añaden botones. Los elementos tienen una configuración de entrada completa.
Evaluación de la información de alarma en el código del programa
El Tabla de alarmas El elemento de visualización puede escribir información de la visualización en una variable de la aplicación durante la ejecución. Esta variable se puede evaluar mediante programación.
Obtiene información sobre una alarma (por ejemplo: grupo de alarmas, ID de alarma, marca de tiempo de las transiciones de estado, variables de pestillo, textos de mensajes) de la estructura AlarmSelectionInfo (VisuElemsAlarm biblioteca).
Para ello, en el Selección – Variable para información sobre la alarma seleccionada propiedad de la tabla de alarmas, especifique una variable de tipo AlarmSelectionInfo Luego use la variable en la aplicación de la siguiente manera:
Agregar uno nuevo
PRG_VISUPunto de uso.Añade el
PRG_VISUPOU aVISU_TASK.Abrir el
PRG_VISUPOU en el editor e inserte las siguientes líneas de programa.Declaración
PROGRAM PRG_VISU VAR alarmSelectionInfoDefault : AlarmSelectionInfoDefault; sLastTimestampDate : STRING; sLastTimestampTime : STRING; sLatch1 : STRING; sLatch2 : STRING; wsMessage1 : WSTRING := "No selection"; wsMessage2 : WSTRING := "No selection"; pInt : POINTER TO INT; xInit: BOOL := TRUE; pString : POINTER TO STRING; cbsFormattedValueLatch1 : CharBufferString(uiBufferSize := 0, stringType := TYPE_CLASS.TYPE_STRING); cbsFormattedValueLatch2 : CharBufferString(uiBufferSize := 0, stringType := TYPE_CLASS.TYPE_STRING); abyLocalBufferLatch1 : ARRAY[0..LENGTH] OF BYTE; abyLocalBufferLatch2 : ARRAY[0..LENGTH] OF BYTE; iPrevSelectionChangedCounter: INT; END_VAR VAR CONSTANT // The length of the string of the local CharBufferString instance LENGTH : INT := 80 * 2; END_VARImplementación
IF xInit THEN cbsFormattedValueLatch1.Init(pBuffer:=ADR(abyLocalBufferLatch1), uiBufferSize:=INT_TO_UINT(LENGTH + 1), stringType:=TYPE_CLASS.TYPE_STRING); cbsFormattedValueLatch2.Init(pBuffer:=ADR(abyLocalBufferLatch2), uiBufferSize:=INT_TO_UINT(LENGTH + 1), stringType:=TYPE_CLASS.TYPE_STRING); xInit := FALSE; END_IF IF alarmSelectionInfoDefault.AlarmSelectionInfo.iSelectionChangedCounter <> iPrevSelectionChangedCounter THEN // Format Date/Time as string sLastTimestampDate := AlarmManager.FormatDate(alarmSelectionInfoDefault.AlarmSelectionInfo.timeStampLast, AlarmManager.AlarmGlobals.g_sDateFormat); sLastTimestampTime := AlarmManager.FormatTime(alarmSelectionInfoDefault.AlarmSelectionInfo.timeStampLast, AlarmManager.AlarmGlobals.g_sTimeFormat); // Retrieve latch variables as string cbsFormattedValueLatch1.FromString(''); pString := FormatTypedValue(alarmSelectionInfoDefault.AlarmSelectionInfo.paLatchVariables^[0], cbsFormattedValueLatch1); STU.StrCpyA(ADR(sLatch1), SIZEOF(sLatch1), pString); cbsFormattedValueLatch2.FromString(''); pString := FormatTypedValue(alarmSelectionInfoDefault.AlarmSelectionInfo.paLatchVariables^[1], cbsFormattedValueLatch2); STU.StrCpyA(ADR(sLatch2), SIZEOF(sLatch2), pString); // Retrieve messages STU.StrCpyW(ADR(wsMessage1), SIZEOF(wsMessage1), alarmSelectionInfoDefault.AlarmSelectionInfo.papwsAlarmMessages^[0]); STU.StrCpyW(ADR(wsMessage2), SIZEOF(wsMessage2), alarmSelectionInfoDefault.AlarmSelectionInfo.papwsAlarmMessages^[1]); iPrevSelectionChangedCounter := alarmSelectionInfoDefault.AlarmSelectionInfo.iSelectionChangedCounter; END_IF