...
- id: identificador único del bloque de memoria. En caso de definición de bloques de memoria de PLC, debe ser el nombre del DB, DM, etc segun el tipo de PLC
- 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
...
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="1000DB1" name="DB2PRODUCTION" device="102101" 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="WORDDWORD" name="D1PRODUCTION_COUNT"> <data type="DWORD" bitendianname="MSBSTOP_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="1000DB2" name="DB2PRODUCTION_MANAGEMENT" device="102005" permissions="R" sendcondition="1PRODUCTION_MANAGEMENT.IS_MODIFIED=1"> <data type="WORD" name="D1PRODUCTION_MANAGEMENT_STATUS" bitendian="MSB"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> |