PLC EthernetIP¶
Deprecated
This block is deprecated. Use the PLC Reader / PLC Writer blocks (set Connection mode to 'Direct - EtherNet/IP') instead. Note the outputs differ: instead of a single plc_results list, the PLC Reader returns tag_values (a tag->value dict) and the PLC Writer returns write_result, each alongside an error_status flag.
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:
Perception Encoder Embedding Model,Qwen 3.6 API,Object Detection Model,Llama 3.2 Vision,PLC Writer,Distance Measurement,Roboflow Visual Search Classifier,Polygon Zone Visualization,BoT-SORT Tracker,Contrast Equalization,Google Gemini,Background Subtraction,Twilio SMS Notification,Detections Filter,Detections Merge,VLM As Detector,Florence-2 Model,Dynamic Crop,Halo Visualization,SAM 3 Interactive,Seg Preview,Ellipse Visualization,Florence-2 Model,Byte Tracker,Line Counter,Cache Set,OpenAI,Data Aggregator,Time in Zone,Google Gemma,Byte Tracker,Buffer,Semantic Segmentation Model,Email Notification,Detections Consensus,Crop Visualization,Polygon Visualization,Keypoint Detection Model,Line Counter,Detections Combine,Object Detection Model,VLM As Classifier,PLC ModbusTCP,Google Gemini,Multi-Label Classification Model,Qwen3.5,Delta Filter,Object Detection Model,Expression,Time in Zone,Instance Segmentation Model,PP-OCR,Clip Comparison,Blur Visualization,EasyOCR,PLC EthernetIP,Segment Anything 2 Model,CSV Formatter,Color Visualization,Dynamic Zone,Motion Detection,Image Convert Grayscale,Stitch OCR Detections,Rate Limiter,Qwen 3.5 API,Current Time,Trace Visualization,Cache Get,PLC Reader,QR Code Generator,Google Gemini,Detections Stitch,Image Stack,Instance Segmentation Model,MoonshotAI Kimi,Microsoft SQL Server Sink,Continue If,Webhook Sink,Cosine Similarity,Pixelate Visualization,Stitch Images,Polygon Visualization,Dimension Collapse,Morphological Transformation,SmolVLM2,Template Matching,Image Slicer,Environment Secrets Store,Barcode Detection,Roboflow Asset Library Attributes,Relative Static Crop,Mask Area Measurement,Model Monitoring Inference Aggregator,Clip Comparison,SIFT,Dominant Color,Moondream2,Property Definition,OpenRouter,Qwen3.5-VL,Identify Changes,Overlap Analysis,Email Notification,Triangle Visualization,Pixel Color Count,Roboflow Dataset Upload,SIFT Comparison,Keypoint Visualization,Keypoint Detection Model,Twilio SMS/MMS Notification,OPC UA Writer Sink,SIFT Comparison,Grid Visualization,SAM 3,JSON Parser,Absolute Static Crop,Velocity,Image Threshold,CogVLM,MQTT Writer,Detections List Roll-Up,OCR Model,GLM-OCR,Contrast Enhancement,Reference Path Visualization,Google Gemma API,Instance Segmentation Model,Mask Edge Snap,Detections Classes Replacement,PTZ Tracking (ONVIF),Image Blur,LMM,SAM 3,OpenAI,LMM For Classification,Time in Zone,Path Deviation,Instance Segmentation Model,Semantic Segmentation Model,Event Writer,Single-Label Classification Model,Keypoint Detection Model,Slack Notification,Heatmap Visualization,SORT Tracker,Circle Visualization,Perspective Correction,Camera Focus,Byte Tracker,ByteTrack Tracker,Multi-Label Classification Model,Stability AI Inpainting,OpenAI-Compatible LLM,SAM 3,Image Slicer,Roboflow Vision Events,Detections Transformation,Size Measurement,Local File Sink,Inner Workflow,SAM3 Video Tracker,Dot Visualization,QR Code Detection,Line Counter Visualization,Depth Estimation,Stitch OCR Detections,Anthropic Claude,Qwen2.5-VL,Qwen3-VL,Per-Class Confidence Filter,Single-Label Classification Model,Icon Visualization,Model Comparison Visualization,Camera Focus,Qwen-VL,Mask Visualization,Text Display,Gaze Detection,Stability AI Image Generation,Google Vision OCR,OpenAI,VLM As Detector,Identify Outliers,Detection Offset,Switch Case,Classification Label Visualization,MoonshotAI Kimi,S3 Sink,Overlap Filter,Anthropic Claude,Roboflow Dataset Upload,Detection Event Log,Bounding Box Visualization,VLM As Classifier,Image Contours,Stability AI Outpainting,Anthropic Claude,Roboflow Custom Metadata,Multi-Label Classification Model,SAM2 Video Tracker,Camera Calibration,Morphological Transformation,Detections Stabilizer,Path Deviation,Background Color Visualization,GeoTag Detection,Corner Visualization,Track Class Lock,Roboflow Visual Search,Llama 3.2 Vision,Bounding Rectangle,CLIP Embedding Model,Single-Label Classification Model,OpenAI,OC-SORT Tracker,Image Preprocessing,First Non Empty Or Default,YOLO-World Model,Halo Visualization,Label Visualization - outputs:
Keypoint Visualization,Keypoint Detection Model,Twilio SMS/MMS Notification,Qwen 3.6 API,Clip Comparison,Anthropic Claude,PLC EthernetIP,Grid Visualization,SAM 3,Object Detection Model,Color Visualization,Llama 3.2 Vision,Motion Detection,YOLO-World Model,Qwen 3.5 API,Trace Visualization,Polygon Zone Visualization,PLC Reader,Google Gemini,Google Gemini,Detections List Roll-Up,Instance Segmentation Model,Qwen-VL,Mask Visualization,Reference Path Visualization,Google Gemma API,Instance Segmentation Model,MoonshotAI Kimi,Detections Classes Replacement,VLM As Detector,Florence-2 Model,Halo Visualization,Seg Preview,SAM 3,Webhook Sink,OpenAI,VLM As Detector,Ellipse Visualization,OpenAI,Florence-2 Model,Line Counter,LMM For Classification,Time in Zone,Classification Label Visualization,MoonshotAI Kimi,Polygon Visualization,Anthropic Claude,Path Deviation,Cache Set,OpenAI,Instance Segmentation Model,Roboflow Dataset Upload,Time in Zone,Keypoint Detection Model,Google Gemma,Halo Visualization,Buffer,Bounding Box Visualization,VLM As Classifier,Anthropic Claude,Email Notification,Circle Visualization,Perspective Correction,Roboflow Asset Library Attributes,Detections Consensus,Keypoint Detection Model,Crop Visualization,Polygon Visualization,Line Counter,Path Deviation,Clip Comparison,Corner Visualization,SAM 3,VLM As Classifier,Object Detection Model,Google Gemini,OpenRouter,Llama 3.2 Vision,Size Measurement,Object Detection Model,Email Notification,SAM3 Video Tracker,Triangle Visualization,Roboflow Dataset Upload,Dot Visualization,Line Counter Visualization,Time in Zone,Instance Segmentation Model,Label 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"
}