Conector Logix
Descripción General
Sección titulada «Descripción General»El conector Logix permite la comunicación con PLCs Allen-Bradley/Rockwell Automation usando el protocolo EtherNet/IP (CIP). Esto incluye ControlLogix, CompactLogix y otros controladores basados en Logix.
Tipos de Conector:
LogixReader- Lee tags de PLCs LogixLogixWriter- Escribe tags en PLCs Logix
Características
Sección titulada «Características»- ✅ Soporte de protocolo EtherNet/IP (CIP)
- ✅ Opciones de transporte TCP y UDP
- ✅ Múltiples tipos de datos (BOOL, SINT, INT, DINT, LINT, REAL, LREAL, STRING)
- ✅ Enrutamiento de slot configurable
- ✅ Adquisición de datos basada en polling
Configuración Básica
Sección titulada «Configuración Básica»Logix Reader
Sección titulada «Logix Reader»{ "type": "LogixReader", "config": { "endpoint": "192.168.1.100:44818", "protocol": "TCP", "pollingRate": 1000, "slot": 0 }, "variables": [ { "key": "temperature", "tagName": "MainProgram:Temperature", "dataType": "REAL" }, { "key": "motor_running", "tagName": "MainProgram:Motor_Running", "dataType": "BOOL" } ]}Logix Writer
Sección titulada «Logix Writer»{ "type": "LogixWriter", "config": { "endpoint": "192.168.1.100:44818", "protocol": "TCP", "slot": 0 }, "variables": [ { "key": "setpoint", "tagName": "MainProgram:Setpoint", "dataType": "REAL" }, { "key": "enable", "tagName": "MainProgram:Enable", "dataType": "BOOL" } ]}Parámetros de Configuración
Sección titulada «Parámetros de Configuración»Configuración de Conexión
Sección titulada «Configuración de Conexión»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
endpoint | string | ✅ | Dirección del PLC (host:puerto). Puerto por defecto es 44818 |
protocol | string | ✅ | Protocolo de transporte: TCP o UDP |
pollingRate | integer | ✅ (Reader) | Intervalo de polling en milisegundos |
slot | integer | ❌ | Número de slot para enrutamiento de chasis (por defecto: 0) |
Configuración de Variables
Sección titulada «Configuración de Variables»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
key | string | ✅ | Nombre de clave de salida en el payload de datos |
tagName | string | ✅ | Nombre del tag del PLC (ej. Program:TagName) |
dataType | string | ✅ | Tipo de datos del tag |
Tipos de Datos
Sección titulada «Tipos de Datos»{ "key": "motor_status", "tagName": "Motor_Running", "dataType": "BOOL"}// Entero con signo de 8 bits (-128 a 127){"dataType": "SINT"}
// Entero con signo de 16 bits (-32768 a 32767){"dataType": "INT"}
// Entero con signo de 32 bits{"dataType": "DINT"}
// Entero con signo de 64 bits{"dataType": "LINT"}// Float de 32 bits{"dataType": "REAL"}
// Float de 64 bits (doble precisión){"dataType": "LREAL"}{ "key": "product_name", "tagName": "Product_Name", "dataType": "STRING"}Enrutamiento de Slot
Sección titulada «Enrutamiento de Slot»Para sistemas ControlLogix con múltiples slots, especifica el número de slot:
{ "endpoint": "192.168.1.100", "protocol": "TCP", "slot": 2}El parámetro slot configura la ruta de enrutamiento CIP para alcanzar el controlador objetivo.
Casos de Uso Comunes
Sección titulada «Casos de Uso Comunes»1. Monitoreo de Proceso
Sección titulada «1. Monitoreo de Proceso»Lee variables de proceso de un PLC ControlLogix:
{ "type": "LogixReader", "config": { "endpoint": "192.168.1.100:44818", "protocol": "TCP", "pollingRate": 500, "slot": 0 }, "variables": [ { "key": "temperature", "tagName": "Process:Temperature_PV", "dataType": "REAL" }, { "key": "pressure", "tagName": "Process:Pressure_PV", "dataType": "REAL" }, { "key": "flow_rate", "tagName": "Process:Flow_Rate", "dataType": "REAL" }, { "key": "valve_position", "tagName": "Process:Valve_Position", "dataType": "INT" } ]}2. Control de Setpoint
Sección titulada «2. Control de Setpoint»Escribe setpoints en un PLC:
{ "type": "LogixWriter", "config": { "endpoint": "192.168.1.100:44818", "protocol": "TCP", "slot": 0 }, "variables": [ { "key": "temp_setpoint", "tagName": "Process:Temperature_SP", "dataType": "REAL" }, { "key": "pressure_setpoint", "tagName": "Process:Pressure_SP", "dataType": "REAL" }, { "key": "auto_mode", "tagName": "Process:Auto_Mode", "dataType": "BOOL" } ]}3. Contadores de Producción
Sección titulada «3. Contadores de Producción»Lee estadísticas de producción:
{ "type": "LogixReader", "config": { "endpoint": "192.168.1.100:44818", "protocol": "TCP", "pollingRate": 5000 }, "variables": [ { "key": "total_count", "tagName": "Production:Total_Count", "dataType": "DINT" }, { "key": "good_count", "tagName": "Production:Good_Count", "dataType": "DINT" }, { "key": "reject_count", "tagName": "Production:Reject_Count", "dataType": "DINT" }, { "key": "batch_id", "tagName": "Production:Batch_ID", "dataType": "STRING" } ]}Solución de Problemas
Sección titulada «Solución de Problemas»Conexión Fallida
Sección titulada «Conexión Fallida»Soluciones:
- Verifica la dirección IP y puerto del PLC (por defecto: 44818)
- Comprueba la conectividad de red y reglas de firewall
- Asegúrate de que el PLC esté en modo Run
- Verifica que el módulo Ethernet esté configurado correctamente
Lectura/Escritura de Tag Fallida
Sección titulada «Lectura/Escritura de Tag Fallida»Soluciones:
- Verifica que el nombre del tag sea correcto (sensible a mayúsculas)
- Comprueba el scope del tag (controller vs program scope)
- Asegúrate de que el tipo de datos coincida con la definición del tag del PLC
- Verifica que el tag no esté protegido o sea de solo lectura (para escrituras)
Tipo de Datos Inválido
Sección titulada «Tipo de Datos Inválido»Soluciones:
- Coincide exactamente el tipo de datos con la definición del tag del PLC
- Usa el tipo correcto para arrays (lee elementos individuales)
- Comprueba UDT (User Defined Type) - no soportado directamente
Error de Enrutamiento de Slot
Sección titulada «Error de Enrutamiento de Slot»Soluciones:
- Verifica que el número de slot coincida con la ubicación del controlador
- Comprueba la configuración del chasis
- Asegúrate de que el módulo de comunicación esté en el slot correcto
Mejores Prácticas
Sección titulada «Mejores Prácticas»- Usa Nombres de Tag Descriptivos: Sigue las convenciones de nomenclatura del PLC
- Tasa de Polling Apropiada: Equilibra la frescura de datos con la carga de red
- Agrupa Tags Relacionados: Organiza variables por función o área
- Maneja Pérdida de Conexión: Implementa lógica de reintento en workflows
- Prueba en Modo Offline: Verifica nombres de tags antes de conectar a PLCs de producción
Conectores Relacionados
Sección titulada «Conectores Relacionados»- OPC UA - Protocolo industrial alternativo
- Modbus - Protocolo industrial legacy
- Siemens S7 - Comunicación con PLCs Siemens
- InfluxDB - Almacena datos de PLC en base de datos de series temporales