> ## Documentation Index
> Fetch the complete documentation index at: https://instro.nominal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# CompactLogix

> A tested PLC model for [`EtherNetIPDevice`](/library/protocols/ethernetip)

<Card title="CompactLogix" horizontal href="/library/protocols/ethernetip/CompactLogix">
  <img src="https://mintcdn.com/nominal/vd1fIohbHX0IE-nH/snippets/drivers/ethernetip/compactlogix/image.png?fit=max&auto=format&n=vd1fIohbHX0IE-nH&q=85&s=cd0834f2d17d89e270c8af0e8bae3f89" style={{ width: "100%", height: "100px", objectFit: "contain" }} noZoom alt="CompactLogix" width="1360" height="1090" data-path="snippets/drivers/ethernetip/compactlogix/image.png" />
</Card>

CompactLogix is the specific [Allen-Bradley](/library/protocols/ethernetip/AllenBradley) PLC family [`EtherNetIPDevice`](/library/protocols/ethernetip) has been hardware-tested against (CompactLogix 5332E 1769-L32E), not a separate driver class.

## Creating an [`EtherNetIPDevice`](https://nominal-io.github.io/instro/protocols/ethernetip/#ethernetipdevice) for a CompactLogix PLC

```json theme={null}
{
  "version": 1,
  "protocol": "ethernetip",
  "device": {
    "name": "line_plc",
    "description": "CompactLogix PLC for line telemetry",
    "manufacturer": "Allen-Bradley",
    "model": "CompactLogix 5332E 1769-L32E"
  },
  "connection": {
    "host": "192.168.1.10",
    "port": 44818,
    "route_path": {
      "hops": [
        {"type": "backplane", "slot": 0}
      ]
    }
  },
  "timing": {
    "poll_interval": 1.0
  }
}
```

```python theme={null}
import time

from instro.lib.publishers import NominalCorePublisher
from instro.ethernetip import EtherNetIPDevice

RID = "<dataset_rid>"  # Nominal Core dataset RID.

with EtherNetIPDevice(config="compactlogix.json", autostart=True) as plc:
    plc.add_publisher(NominalCorePublisher(dataset_rid=RID))
    time.sleep(10)
```

Parameters and methods specific to [`EtherNetIPDevice`](https://nominal-io.github.io/instro/protocols/ethernetip/#ethernetipdevice) can be found in the [SDK](https://nominal-io.github.io/instro/).
