```python:inference/enterprise/workflows/enterprise_blocks/loader.py
from typing import List, Type

from inference.core.workflows.prototypes.block import WorkflowBlock
from inference.enterprise.workflows.enterprise_blocks.sinks.event_writer.v1 import \
    EventWriterSinkBlockV1
from inference.enterprise.workflows.enterprise_blocks.sinks.microsoft_sql_server.v1 import \
    MicrosoftSQLServerSinkBlockV1
from inference.enterprise.workflows.enterprise_blocks.sinks.mqtt_writer.v1 import \
    MQTTWriterSinkBlockV1
from inference.enterprise.workflows.enterprise_blocks.sinks.opc_writer.v1 import \
    OPCWriterSinkBlockV1
from inference.enterprise.workflows.enterprise_blocks.sinks.PLC_modbus.v1 import \
    ModbusTCPBlockV1
from inference.enterprise.workflows.enterprise_blocks.sinks.PLCethernetIP.v1 import \
    PLCBlockV1

_ENTERPRISE_BLOCKS = [
    OPCWriterSinkBlockV1,
    MQTTWriterSinkBlockV1,
    PLCBlockV1,
    ModbusTCPBlockV1,
    MicrosoftSQLServerSinkBlockV1,
    EventWriterSinkBlockV1,
]

def load_enterprise_blocks() -> List[Type[WorkflowBlock]]:
    return _ENTERPRISE_BLOCKS
```
```python:inference/enterprise/workflows/enterprise_blocks/sinks/mqtt_writer/v1.py
import threading
from typing import Optional

import paho.mqtt.client as mqtt
from inference.core.workflows.prototypes.block import WorkflowBlock


class MQTTWriterSinkBlockV1(WorkflowBlock):
    def __init__(self):
        self.mqtt_client: Optional[mqtt.Client] = None
        self._connected: Optional[threading.Event] = None
```
```python:inference/enterprise/workflows/enterprise_blocks/sinks/PLC_modbus/v1.py
from typing import Optional

from inference.core.workflows.prototypes.block import WorkflowBlock
from pymodbus.client import ModbusTcpClient as ModbusClient


class ModbusTCPBlockV1(WorkflowBlock):

    def __init__(self):
        self.client = None
```