PLC EthernetIP¶
Class: PLCBlockV1
Source: inference.enterprise.workflows.enterprise_blocks.sinks.PLCethernetIP.v1.PLCBlockV1
This PLC Communication block integrates a Roboflow Workflow with a PLC using Ethernet/IP communication.
It can:
- Read tags from a PLC if mode='read'.
- Write tags to a PLC if mode='write'.
- Perform both read and write in a single run if mode='read_and_write'.
Parameters depending on mode:
- If mode='read' or mode='read_and_write', tags_to_read must be provided.
- If mode='write' or mode='read_and_write', tags_to_write must be provided.
If a read or write operation fails, an error message is printed to the terminal, and the corresponding entry in the output dictionary is set to a generic "ReadFailure" or "WriteFailure" message.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/sinks@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
plc_ip |
str |
IP address of the target PLC.. | ✅ |
mode |
str |
Mode of operation: 'read', 'write', or 'read_and_write'.. | ❌ |
tags_to_read |
List[str] |
List of PLC tag names to read. Applicable if mode='read' or mode='read_and_write'.. | ✅ |
tags_to_write |
Dict[str, Union[float, int, str]] |
Dictionary of tags and the values to write. Applicable if mode='write' or mode='read_and_write'.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to PLC EthernetIP in version v1.
- inputs:
Detections Classes Replacement,Morphological Transformation,Image Preprocessing,Email Notification,VLM As Classifier,Halo Visualization,Morphological Transformation,Detections Transformation,Pixel Color Count,Object Detection Model,Time in Zone,Template Matching,Image Threshold,Text Display,BoT-SORT Tracker,Model Monitoring Inference Aggregator,Pixelate Visualization,Keypoint Detection Model,Time in Zone,Qwen-VL,OpenAI,CogVLM,Crop Visualization,Cosine Similarity,SAM 3,Dot Visualization,Detections Merge,PLC EthernetIP,Detections List Roll-Up,Google Vision OCR,Florence-2 Model,Dimension Collapse,Roboflow Dataset Upload,Qwen3.5-VL,Mask Edge Snap,Roboflow Vision Events,Qwen2.5-VL,Polygon Zone Visualization,Polygon Visualization,SIFT Comparison,Absolute Static Crop,S3 Sink,Twilio SMS/MMS Notification,QR Code Generator,SIFT Comparison,Contrast Enhancement,Per-Class Confidence Filter,Single-Label Classification Model,Cache Get,Stitch OCR Detections,Dynamic Zone,Detections Filter,OCR Model,Byte Tracker,Color Visualization,Roboflow Dataset Upload,Gaze Detection,Bounding Rectangle,Roboflow Custom Metadata,Environment Secrets Store,LMM For Classification,Detections Stabilizer,Line Counter Visualization,Image Blur,Stability AI Inpainting,Object Detection Model,Blur Visualization,OpenAI-Compatible LLM,Path Deviation,Current Time,SAM 3,Perspective Correction,Keypoint Visualization,Byte Tracker,Detection Offset,Anthropic Claude,MQTT Writer,MoonshotAI Kimi,Google Gemini,Identify Changes,Image Slicer,SAM 3,Depth Estimation,Detections Consensus,Detections Stitch,Google Gemma API,Ellipse Visualization,PLC ModbusTCP,Object Detection Model,Slack Notification,Overlap Analysis,Rate Limiter,Identify Outliers,Inner Workflow,Time in Zone,Image Stack,Google Gemini,Delta Filter,Cache Set,Bounding Box Visualization,Label Visualization,Keypoint Detection Model,Size Measurement,Camera Focus,Stitch OCR Detections,CSV Formatter,Keypoint Detection Model,Multi-Label Classification Model,OpenAI,SIFT,Perception Encoder Embedding Model,Anthropic Claude,Image Convert Grayscale,Roboflow Asset Library Attributes,OC-SORT Tracker,Moondream2,CLIP Embedding Model,Florence-2 Model,Seg Preview,Overlap Filter,EasyOCR,YOLO-World Model,Buffer,Segment Anything 2 Model,Multi-Label Classification Model,Twilio SMS Notification,Local File Sink,Single-Label Classification Model,Icon Visualization,Triangle Visualization,Qwen 3.5 API,VLM As Classifier,Mask Area Measurement,Path Deviation,JSON Parser,OpenRouter,Dominant Color,Instance Segmentation Model,Distance Measurement,Qwen3-VL,Instance Segmentation Model,OpenAI,Background Color Visualization,MoonshotAI Kimi,Continue If,Stability AI Image Generation,Byte Tracker,Google Gemini,Grid Visualization,Clip Comparison,Semantic Segmentation Model,Corner Visualization,SmolVLM2,Image Slicer,Single-Label Classification Model,Reference Path Visualization,Line Counter,First Non Empty Or Default,Halo Visualization,Dynamic Crop,Webhook Sink,Instance Segmentation Model,Detection Event Log,Stability AI Outpainting,VLM As Detector,Anthropic Claude,Relative Static Crop,Clip Comparison,Expression,Multi-Label Classification Model,SORT Tracker,OpenAI,Llama 3.2 Vision,Barcode Detection,ByteTrack Tracker,Velocity,Motion Detection,Detections Combine,Camera Calibration,Google Gemma,Model Comparison Visualization,Trace Visualization,PTZ Tracking (ONVIF),Line Counter,OPC UA Writer Sink,QR Code Detection,Circle Visualization,Email Notification,LMM,Event Writer,Instance Segmentation Model,Camera Focus,Contrast Equalization,Heatmap Visualization,Background Subtraction,Qwen 3.6 API,Image Contours,SAM2 Video Tracker,GLM-OCR,Qwen3.5,VLM As Detector,Llama 3.2 Vision,Classification Label Visualization,Property Definition,Stitch Images,Mask Visualization,Microsoft SQL Server Sink,Data Aggregator,Semantic Segmentation Model,Polygon Visualization - outputs:
Detections Classes Replacement,Roboflow Asset Library Attributes,Email Notification,Florence-2 Model,VLM As Classifier,Halo Visualization,Seg Preview,YOLO-World Model,Buffer,Object Detection Model,Time in Zone,VLM As Classifier,Triangle Visualization,Qwen 3.5 API,Path Deviation,Keypoint Detection Model,Time in Zone,Qwen-VL,Crop Visualization,SAM 3,Dot Visualization,PLC EthernetIP,Detections List Roll-Up,OpenRouter,Florence-2 Model,Instance Segmentation Model,Roboflow Dataset Upload,Polygon Zone Visualization,Instance Segmentation Model,Polygon Visualization,OpenAI,MoonshotAI Kimi,Twilio SMS/MMS Notification,Google Gemini,Grid Visualization,Clip Comparison,Corner Visualization,Reference Path Visualization,Line Counter,Halo Visualization,Webhook Sink,Color Visualization,Roboflow Dataset Upload,Instance Segmentation Model,VLM As Detector,LMM For Classification,Line Counter Visualization,Anthropic Claude,Object Detection Model,Clip Comparison,Path Deviation,OpenAI,SAM 3,Perspective Correction,Keypoint Visualization,Llama 3.2 Vision,Anthropic Claude,Motion Detection,MoonshotAI Kimi,Google Gemini,Trace Visualization,SAM 3,Google Gemma,Detections Consensus,Ellipse Visualization,Google Gemma API,Object Detection Model,Line Counter,Circle Visualization,Email Notification,Time in Zone,Google Gemini,Instance Segmentation Model,Qwen 3.6 API,Cache Set,VLM As Detector,Classification Label Visualization,Label Visualization,Bounding Box Visualization,Keypoint Detection Model,Size Measurement,Llama 3.2 Vision,Keypoint Detection Model,Mask Visualization,OpenAI,Anthropic Claude,Polygon Visualization
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
PLC EthernetIP in version v1 has.
Bindings
-
input
plc_ip(string): IP address of the target PLC..tags_to_read(list_of_values): List of PLC tag names to read. Applicable if mode='read' or mode='read_and_write'..tags_to_write(dictionary): Dictionary of tags and the values to write. Applicable if mode='write' or mode='read_and_write'..depends_on(*): Reference to the step output this block depends on..
-
output
plc_results(list_of_values): List of values of any type.
Example JSON definition of step PLC EthernetIP in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/sinks@v1",
"plc_ip": "192.168.1.10",
"mode": "read",
"tags_to_read": [
"camera_msg",
"sku_number"
],
"tags_to_write": {
"camera_fault": true,
"defect_count": 5
},
"depends_on": "$steps.some_previous_step"
}