...
- id: identificador único del bloque de memoria
- db: identificador del bloque de memoria en caso de conexión con PLC (DB1, DM1000, etc.)
- name: nombre asociado al bloque de memoria y utilizado en las expresiones
- device: identificador del dispositivo asociado al bloque de memoria
- permissions: permisos asociados al bloque de memoria. Los valores posibles son R (lectura), W (escritura). Por defecto son de lectura
- sendcondition: expresión utilizada para enviar los datos del bloque de memoria a la plataforma central (cloud) (Expression)
Cada bloque de memoria, tiene la definición de los datos disponibles:
- type: tipo de datos (BOOL, BYTE, WORD, DWORD, INT, DINT, REAL, STRING, ARRAY, INTERNAL_VARIABLE, DATE_TIME (sólo Siemens), DOUBLE, DATE_TIME_UTC)
- name: nombre vinculado y identificador del dato. Utilizado para en las expresiones o paneles de control (cloud)
- size: total de elementos en caso del tipo ARRAY o STRING
- bitendian: LSB o MSB (por defecto MSB)
- compress: compresión de datos en caso de tipo ARRAY o STRING
- expression: expresión a ejecutar para calcular el valor del dato (opcional)
- millis: milisegundos para la ejecución de la expresión. Si no se define el valor, la expresión se ejecuta de forma contínua
- index: solo para dispositivos OPCUADevice. Nos indica el indice de datos del nodo OPCUA
...
A continuación tenemos una configuración básica de un bloque de memoria:
Bloque de código | ||
---|---|---|
| ||
<datablock id="1000" name="DB2" device="102" permissions="R" sendcondition="1=1">
<data type="WORD" name="D1" bitendian="MSB"></data>
</datablock> |
Bloques predefinidos
Existen una série de bloques de memoria predefinidos para el módulo de producción disponible para el sistema. Estos bloques son los siguientes:
- PRODUCTION
- PRODUCTION_MANAGEMENT
Producción
Bloque de definición de la configuración de los datos de producción:
Bloque de código | ||
---|---|---|
| ||
<datablock id="DB1" name="PRODUCTION" device="101" permissions="R" sendcondition="PRODUCTION.IS_MODIFIED=1">
<data type="BYTE" name="PRODUCTION_STATUS">
<bit name="CYCLE" position="0"></bit>
<bit name="EMERG" position="1"></bit>
<bit name="STATE_PIECE" position="2"></bit>
<bit name="SEND" position="3"></bit>
</data>
<data type="DWORD" name="PRODUCTION_COUNT">
<data type="DWORD" name="STOP_TYPE"></data>
</datablock> |
- PRODUCTION_STATUS
- CYCLE: bit que nos indica si la máquina está produciendo
- EMERG: bit que nos indica si la máquina está en parada de emergencia (0=> Emergencia activa, 1=> Emergencia no activa)
- STATE_PIECE (opcional): nos indica si la pieza es conforme o no. Sólo si la máquina dispone de esta información
- SEND (opcional): bit que nos indica que se puede enviar la información al cloud. Si no se indica se envía de forma automática al finalizar el ciclo
- PRODUCTION_COUNT (opcional): contador de producción durante el ciclo
- STOP_TYPE (opcional): nos indica el tipo de parada antes de iniciar el ciclo
Gestión de producción
Bloque de definición del control del estado de la producción de la máquina:
Bloque de código | ||
---|---|---|
| ||
<datablock id="DB2" name="PRODUCTION_MANAGEMENT" device="005" permissions="R" sendcondition="PRODUCTION_MANAGEMENT.IS_MODIFIED=1">
<data type="WORD" name="PRODUCTION_MANAGEMENT_STATUS" bitendian="LSB">
<bit name="START_END_PRODUCTION" position="0"></bit>
</data>
<data type="DATE_TIME" name="PRODUCTION_DATE"></data>
<data type="DATE_TIME" name="PRODUCTION_END_DATE"></data>
<data type="STRING" compress="true" name="REFERENCE" size="18"></data>
<data type="STRING" compress="true" name="WORKER_CODE" size="18"></data>
<data type="STRING" compress="true" name="OF" size="18"></data>
</datablock> |