UDP (Professional)
此接口目前处于 Beta 阶段
UDP 接口概述
UDP 接口提供高性能的信号通信,具有最小的周期时间,可实现应用程序与 realvirtual.io 之间的快速连接。它支持通过 CSV 符号表导入进行自动信号配置,使与 PLC 和外部系统的集成快速高效。
接口属性
UDP 接口使用独立的发送和监听端口进行操作。为发送和监听目的分配不同的端口至关重要。所有 PLCInput 信号都发送给远程伙伴,所有 PLCOutput 信号都从远程伙伴接收。

基本属性
- Remote Listen Port - 远程机器上发送消息的 UDP 端口号(默认:11000)
- Local Listen Port - 本地机器上接收传入消息的 UDP 端口号(默认:11001)
- Remote IP Address - 发送 UDP 消息的远程机器 IP 地址(如 127.0.0.1 用于本机)
- Debug Mode - 启用发送和接收 UDP 消息的详细日志记录以便故障排除
CSV 符号表属性
- Symbol Table - 包含信号定义的 CSV 符号表文件路径
- Split Char - 用于分隔 CSV 文件中列的分隔符(通常为分号或逗号)
使用 UDP 接口时,所有信号都以字节数组的形式发送和接收,以确保最高效的数据包大小。每个信号必须在其 Name 属性中定义一个值,以指示其在字节数组中的位置。由于只有一条发送消息和一条接收消息,输入和输出的位置可能会重叠。信号数据大小必须遵循以下准则:
- Boolean: 始终占用一个完整字节中的第一位(共 1 字节)
- Integer: 占用 4 字节
- Float (REAL): 占用 4 字节

CSV 符号表导入
UDP 接口支持通过 CSV 符号表导入进行自动信号配置。此功能允许您通过导入从 PLC 或 SCADA 系统导出的 CSV 文件来快速配置所有信号。
CSV 文件格式
CSV 文件必须包含三列和一个标题行:
Name;Type;Direction
SpeedSetpoint;REAL;PLC_IN
CurrentSpeed;REAL;PLC_OUT
StartButton;BOOL;PLC_IN
RunningStatus;BOOL;PLC_OUT
ErrorCode;INT;PLC_OUT
TargetPosition;INT;PLC_IN
列定义:
- Name - 信号名称(在 realvirtual 中用作 SymbolName)
- Type - 信号的数据类型
BOOL- 布尔值(1 字节)INT- 整数值(4 字节)REAL- 浮点值(4 字节)TEXT,STRING,WSTRING- 文本值(支持有限)- Direction - 信号方向
PLC_IN- 输入信号 (Unity → 外部应用程序)PLC_OUT- 输出信号 (外部应用程序 → Unity)
使用 CSV 导入
- 导出符号表 - 从您的 PLC/SCADA 系统以 CSV 格式导出
- 选择符号表 - 在 Inspector 中点击"Select symbol table"按钮选择您的 CSV 文件
- 导入 - 点击"Import symbol table"按钮自动创建所有信号
导入过程将:
- 为 CSV 中的每一行自动创建信号
- 分别为 INPUT 和 OUTPUT 信号按顺序计算字节位置
- 显示导入的信号总数和每个方向的字节大小
控制台输出示例:
Successfully imported 6 signals from C:\symbols.csv
Total byte sizes - Inputs (Unity→PLC): 12 bytes, Outputs (PLC→Unity): 13 bytes
信号字节定位
导入过程自动计算字节位置:
- INPUT 信号 (PLC_IN) - 字节位置从 0 开始,根据数据类型大小递增
- OUTPUT 信号 (PLC_OUT) - 字节位置从 0 开始,独立于输入信号递增
示例:
| 信号名称 | 类型 | 方向 | 字节位置 | 大小 |
|---|---|---|---|---|
| StartButton | BOOL | PLC_IN | 0 | 1 byte |
| TargetPosition | INT | PLC_IN | 1 | 4 bytes |
| SpeedSetpoint | REAL | PLC_IN | 5 | 4 bytes |
| RunningStatus | BOOL | PLC_OUT | 0 | 1 byte |
| CurrentSpeed | REAL | PLC_OUT | 1 | 4 bytes |
| ErrorCode | INT | PLC_OUT | 5 | 4 bytes |
消息总大小:
- INPUT 消息 (Unity → PLC): 9 字节
- OUTPUT 消息 (PLC → Unity): 9 字节
常见用例
- PLC 集成 - 通过 UDP 与 Siemens、Beckhoff 或其他 PLC 系统交换数据
- SCADA 通信 - 连接到 SCADA 系统进行实时数据交换
- SEW 驱动集成 - 从 SEW Eurodrive 系统导入信号表
- 自定义工具 - 与自定义 Python、C# 或其他应用程序通信
- 高速数据交换 - 最小开销以实现快速周期时间