DatapointSets declaration¶
En este apartado se establece la configuración para cada conjunto de datapoints.
Se recomienda agrupar los datapoints por tipo de driver, identificando la agrupación con un comentario, y añadir comentarios antes de cada datapoint con una descripción o indicación de su función de forma que sea fácil identificarlo.
Los parámetros que definen un datapointSet (conjutno datapoints) están contenidos dentro de un array.
Un template puede contener varios datapointSet.
Parámetros¶
DatapointSets¶
- datapointSets: array que indica la declaración del conjunto de datapoints.
1. Nombre: al inicio de cada datapointSet se indica su nombre en un comentario.
2. datapointSetType: Tipo de datapointset. Puede ser:
- map: mapas clave-valor utilizados para representar estructuras de datos por pares (cada clave tiene un solo valor).
- tableStatic: tablas estáticas en las que no varían el número de filas e índices.
- tableDynamic: tablas dinámicas que se adaptan cambiando su tamaño o los índices cuando es necesario.
3. datapointSetId: edentificación del datapointSet.
4. alias: nombre identificativo del datapointSet.
5. description: descripción detallada del datapointSet.
En el caso de que el tipo del datapointset sea tabla se le añaden los siguientes parámetros de configuración:
6. tableAddress:
- rootAddress: dirección principal de la tabla.
- indexes: enumeración de los índices de la tabla. Se escriben en diferentes líneas precedidos de un guion medio ( - ).
Ejemplos¶
Mapa¶
Tabla¶
datapoints¶
A continuación se muestran las diferentes opciones que hay a la hora de configurar un datapoint.
Estas configuraciones se agrupan dentro un array, y se pueden usar diferentes configuraciones dentro de un mismo datapoint. - datapoints: array que contiene el conjunto de datapoints que forman parte de un datapointSet
-
Nombre: al inicio de cada datapoint se indica su nombre en un comentario.
A continuación se definen las diferentes configuraciones que puede tener cada datapoint:
commonConfig¶
Permite establecer los parámetros clave para la identificación del datapoint. Es obligatorio configurarlo para todos los datapoints.
- commonConfig:
- datapointId: identificación del datapoint.
- alias: nombre identificativo del datapoint.
- description: descripción detallada del datapoint.
- syntaxInfo: describe el tipo de datos de la variable, puede ser:
- BYTE
- INTEGER
- LONG
- FLOAT
- STRING
- BOOLEAN
- DATE
- datapointType: tipo de datapoint definido. Puede ser:
- SIMPLE: se sobrescribe cada vez que se actualiza.
- TIMEPOINT: se guarda en la base de datos cada vez que se actualiza para tener un "histórico".
Ejemplo¶
# deviceState
- commonConfig:
datapointId: deviceState
alias: State
description: Overall device status, including connection status.
syntaxInfo: boolean
datapointType: SIMPLE
addressConfig¶
Permite configurar la información necesaria para acceder a los valores.
-
addressConfig:
- dataType: tipo de dato que el origin (por ejemplo, driver) va a enviar a Netin:
- BYTE
- INTEGER
- LONG
- FLOAT
- STRING
- BOOLEAN
- DATE
- originType: identificación del tipo de fuente del dato (origen), es decir, a través de qué driver, importer o sistema dentro de Netin se ha leído el valor. Se expresa con el patrón "sistema-subsistema-tipo de origen-nombre".
- originDataType: tipo de dato que el driver va a leer del equipo. Depende de cada driver (se recomienda consultar la documentación del driver para saber los tipos de datos que acepta).
- originAddress: define la dirección de este datapoint para el originType.
- SNMP: se utilizan las direcciones de los OIDs contenidos en los MIBs de cada dispositivo.
- PNIO: se utilizan las direcciones definidas en el estándar Profinet.
- MODBUS:: se utilizan los registros Modbus. Se define de la siguiente forma: YYY:XXXXX:ZZ
- YYY: tipo de registro que se va a leer:
- RHR: Read Holding Register
- RIR: Read Input Register
- XXXXX: registro desde donde se quiere empezar a leer.
- ZZ: número máximo de registros que se quieren leer.
- originAccessType: nivel de acceso al datapoint. Puede ser:
- read-only (solo lectura).
- write-only (solo escritura).
- read-write (lectura y escritura).
- not-accessible (no accesible).
- receiveMode: modo de recepción. Puede ser:
- polling (sondeo cada cierto tiempo).
- singleQuery (respuesta a una pregunta).
- subscription (suscripción de aviso en el momento que se produzcan cambios).
- pollingGroup: si el modo es "polling" en esta propiedad se indica el periodo de sondado del dato. Puede ser:
- 5s
- 10s
- 1m
- 5m
- 10m
- 15m
- 30m
- 1h
- 4h
- 6h
- 12h
- 1d
- dataType: tipo de dato que el origin (por ejemplo, driver) va a enviar a Netin:
Ejemplo¶
- addressConfig:
dataType: STRING
originType: netin-ds-drv-snmp
originDataType: OCTET_STRING
originAddress: 1.3.6.1.2.1.1.5.0
originAccessType: read-write
receiveMode: polling
pollingGroup: 1d
alertConfig¶
Contiene la configuración de disparadores, basados en condiciones lógicas, que permiten emitir eventos de alarmas.
Sobre un mismo datapoint pueden configurarse varias alertas que expresen diferentes niveles de severidad, o el mismo nivel con diferentes textos o configuraciones.
- alertConfig:
- evaluations: inicia el conjunto de alarmas definidas para el datapoint. Cada evaluations tiene una o más expressions.
- expressions: contiene tantas expression como condiciones deban cumplirse para disparar la alarma.
- expression: cada condición cuya evaluación lógica (true o false) indicará si debe dispararse la alerta. Puede haber una o varias.
- symbol: alias identificativo asignado a cada expression.
- logic: relaciona (utilizando symbol) las expression configuradas para construir la lógica necesaria para lanzar la alerta.
- severity: severidad de la alarma (ver tabla de rangos de severidad).
- text: texto descriptivo que nos proporciona información sobre la alarma.
- textHelp: texto de ayuda para entender y solucionar la alarma.
- onStartup: valor que indica que la alerta debe dispararse en caso de se cumplan (true) las condiciones en el arranque del agente. Su valor por defecto es false.
- ackable: valor que indica la necesidad de reconocimiento de la alarma por parte del usuario (true) o no (false, valor por defecto).
- audited: valor que indica si la alarma debe ser auditada (true) o no (false, valor por defecto).
- facility: valor que indica la procedencia o grupo de recursos al que pertenece la alarma, los valores que puede tomar están en la documentación de Netin (ver tabla de grupos de recursos).
- hidden: valor que indica si la alarma se mostrará (false, valor por defecto) o no (true) en la interfaz (WebUI).
- broadcast: valor que indica si la alarma debe ser transmitida a otro sistema (true), por ejemplo, NetinHUB, o no (false, valor por defecto).
- poppable: valor que indica si la alarma debe mostrarse en ventana emergente en la interfaz (WebUI) dada su importancia (true) o no (false, valor por defecto).
- expression: cada condición cuya evaluación lógica (true o false) indicará si debe dispararse la alerta. Puede haber una o varias.
- expressions: contiene tantas expression como condiciones deban cumplirse para disparar la alarma.
- evaluations: inicia el conjunto de alarmas definidas para el datapoint. Cada evaluations tiene una o más expressions.
Rangos de severidad¶
Rango | Nivel Netin | Automation Level | Representación | Significado |
---|---|---|---|---|
-1 | NO SEVERITY | OK | NO COLOR | No tiene configuración de alarma. |
0 | OK | OK | GREEN - STEADY | Representa estado correcto. |
1 - 200 | LOG | INFORMATIONAL | GREY - STEADY | Evento meramente informativo, no es necesario ninguna acción. |
201 - 400 | INFORMATION | LowLow - WARNING | BLUE - STEADY | Información de un estado o configuración incorrecta que no afecta a la operación o funcionamiento del sistema, pero debería ser subsanado. |
401 - 600 | WARNING | Low - MINOR | YELLOW - STEADY | Notificación de un estado problemático. El sistema puede trabajar de una forma degradada o está cerca del fallo. |
601 - 800 | ERROR | High - MAJOR | RED - STEADY | Notificación de error o fallo. El sistema falla o no está trabajando con todas sus funciones. |
801 - 1000 | ERROR | HighHigh - CRITICAL | RED - FLASH | Notificación de fallo crítico. El sistema se encuentra en un estado en el que puede sufrir daños o afectar de forma grave el servicio. |
Grupos de recursos¶
Facility | Descripción |
---|---|
0 | Automation Control System. Todos los elementos directamente relacionados con el control del sistema de automatización, por ejemplo, autómatas programables, robots... |
1 | Fieldbus Devices. Todos los elementos relacionados con el bus de campo, por ejemplo, switches en redes PROFINET o Ethernet/IP, Drives, I/O Devices... |
2 | Modular I/O. Dispositivos modulares de entradas/salidas (módulos). |
3 | HMI Systems. Dispositivos de operación y visualización, por ejemplo, pantallas táctiles. |
4 | Production Control System. Todos los elementos relacionados con el control de la producción, por ejemplo, sistemas RFID o escáneres. |
5 | Industrial Network Devices. Redes de comunicaciones MES/ERP relacionadas con los sistemas de automatización. |
6 | SCADA/MES Systems. Sistemas SCADA o sistemas MES. |
7 | Auxiliary Elements. Elementos auxiliares, por ejemplo, pistolas de códigos de barras o monitores de producción. |
8-32 | Reserved. Reservado para usos futuros. |
> 32 | User defined Niveles aplicables por el usuario. |
Ejemplo¶
- alertConfig:
evaluations:
- expressions:
- expression: datapoint.rawValue == "FAULT"
symbol: evalID1
- expression: datapoint.rawValue == "Not reachable"
symbol: evalID2
logic: evalTD1 || evalTD2
severity: 600
text: SCALANCE ${device[deviceInfo.deviceID].value} - ${device[deviceInfo.deviceAddress].rawValue} is disturbed
textHelp: Please check the SCALANCE state or configuration
onStartup: true
ackable: false
audited: false
facility: 1
hidden: false
broadcast: false
poppable: false
calcConfig¶
Contiene la configuración para la creación de un nuevo datapoint (calculated datapoint) basado en operaciones lógicas, aritméticas, relacionales o de cadenas de caracteres con uno o varios datapoints. Por lo tanto, carecen de addressConfig.
Los datapoint que intervienen en la operación se llaman operand datapoint y deben tomar siempre el rawValue para evitar conflictos.
- calcConfig:
- expression: contiene la operación entre los distintos operand datapoints.
Ejemplo¶
- calcConfig:
expression: 'device[ICMP.echoRequest].rawValue ? "OK" : "Fault"'
convConfig¶
Contiene la configuración de un proceso de conversión de los valores brutos (rawValue) de un datapoint mediante expresiones lógicas, aritméticas, relacionales o de cadenas de caracteres.
- convConfig:
- expression: contiene la operación para realizar la conversión.
Ejemplo¶
- convConfig:
expresion: '${(datapoint.rawValue * 1e3 * 8) > 0.1 ? ((datapoint.rawValue * 1e3 * 8).toFixed(2) + " Mbits/s") : ((datapoint.rawValue * 1e6 * 8).toFixed(2) + " Kbits/s")}'
defaultValueConfig¶
Contiene la configuración para inicializar los valores de un datapoint con una constante, tanto value como rawValue.
- defaultValueConfig:
- rawValue: valor con el que se quiere iniciar el rawValue de este datapoint. Se pueden usar variables de sustitución.
- Value: valor con el que se quiere iniciar el value de este datapoint. Se pueden usar variables de sustitución.
- isDefault:
- true: deja el valor definido como inicial.
- false: aunque se haya definido un valor como inicial no lo aplica.
Ejemplo¶
- defaultValueConfig:
rawValue: "/{DCP_IPAddress}/"
Value: "/{DCP_IPAddress}/"
isDefault: false
unitsConfig¶
Contiene la configuración para realizar una conversión de unidades de medida de ingeniería, desde rawValue a value.
- unitsConfig:
- from: unidad de la que se parte.
- to: unidad a la que se quiere llegar.
- toBest: realiza el mejor cambio de unidades (true) o no (false).
- exclude: unidad que se quiere excluir.
Ejemplo¶
- unitsConfig:
from: B
to: TB
toBest: true
exclude: ''
valueMapConfig¶
Contiene la configuración para realizar una conversión mediante un mapa de sustitución desde rawValue a value. Toma el valor de origen (key) y lo sustituye en la representación (pantalla Dispositivo) por los valores especificados en cada value.
- valueMapCofig:
- map: entre corchetes [ ] se indica el conjunto de valores de origen y a sustituir que forman el mapa.
- key: valor de origen que se quiere sustituir.
- value: nuevo valor por el que se va a sustituir el dato original. Si es texto se pone entre comillas " ". Puede contener uno o varios conjuntos de valores.
Ejemplo¶
- valueMapConfig:
map: B
- key: 1
value: 'High speed redundancy'
- key: 2
value: 'No redundancy'
- key: 3
value: 'Media redundancy protocol'
- key: 4
value: 'Automatic redundancy detection'
Info
Pasos siguientes:
Configuración de la especificación de la sección Representations.