Los bloques de memoria o datablocks es una potente configuración del e-connect que permite realizar consultas de datos a dispositivos conectados como PLC's, realizar cálculos complejos, escribir datos a los dispositivos según condiciones específicas o enviar información al servidor central en caso que sea necesario.
En el siguiente apartado vamos a detallar su uso y se verán algunos ejemplos comunes de su utilización en producción real.
Definición de un bloque de memoria disponible para el sistema. El bloque de memoria puede ser interno para la realización de cálculos o puede ser la definición de un bloque de memoria de un PLC externo. En cada caso, debemos especificar el dispositivo asociado al bloque de memoria (ver Dispositivos).
La configuración es la siguiente:
Cada bloque de memoria, tiene la definición de los datos disponibles:
Cada dato puede tener una definición de bits asociado. La definición es la siguiente:
A continuación tenemos una configuración básica de un bloque de memoria:
<datablock id="1000" name="DB2" device="102" permissions="R" sendcondition="1=1"> <data type="WORD" name="D1" bitendian="MSB"></data> </datablock> |
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:
Bloque de definición de la configuración de los datos de producción:
<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> |
Bloque de definición del control del estado de la producción de la máquina:
<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> |