Art-Net 的 Universe 显示差 1,怎样对照 Net/Sub-Net 与 Port-Address
Art-Net的Universe显示差一,先把界面显示值和线上十五位Port-Address分开记录,再做往返换算。不能看到软件写Universe 1就认定线上一定是1,因为不同界面可能采用不同起点;这属于界面映射约定,协议字段本身并不会自动补一。
先固定输入与适用条件
本例只处理Port-Address=1、16、257及弃用边界0,不设置真实网关。Net占七位,Sub-Net与Universe各占四位。当前1.4dp注明Port-Address零已弃用,仍可能遇到旧配置使用它;应记录兼容情况,不能把零静默改成一后让所有通道整体错位。
Art-Net字段按官方4版Release V1.4、Revision 1.4dp核对。sACN例子限定ETC sACN v2.0.2所声明的E1.31-2018兼容字段及IPv4样本;现行ESTA目录已列E1.31-2025,2018亦含IPv6。本文不声称旧库实现新版全部功能。
按字段与边界执行
-
从发送端配置与抓包中各取一项,明确界面到底显示完整Port-Address,还是只显示低四位Universe。混用这两个数是比一基零基更大的偏移来源。
-
将完整地址按Net左移八位、Sub-Net左移四位、Universe原值组合,再把结果反向分解。字段越界要报错,不用掩码悄悄截断非法配置。
-
分别建立“界面直接显示线上值”和“界面显示线上值加一”的示例列,但只把实际手册明确的那一列应用到目标软件。
-
以跨越15到16、255到256的边界检查配置。交接时保存完整地址与三级字段,而不是一句“第三个Universe”或单张局部截图。
用具体样例核对结果
地址1分解为Net 0、Sub-Net 0、Universe 1;地址16为0、1、0;地址257为1、0、1。若界面采用加一显示,完整地址257会显示258,但另一个界面可能只显示低位1。附件同时列出两种完整地址显示约定,并断言分解后能复原每个输入。
通过条件是目标界面约定有据可查、线上字段一致、接收端选择了同一个完整地址。零地址被标为弃用兼容项而非推荐新配置。不要把Art-Net的十五位地址直接套成sACN Universe编号,也不要因低四位相同就认为两个Net中的Universe相同。若两端显示都一样而灯不对,继续查槽位与灯具模式,不要无证据反复加减一。
下载与复现
analyze.py、input.json、result.json。
输入与结果保留数字层级和弃用标记,适合对接双方逐行签认。没有抓包或公开界面说明时,仍应写“界面偏移待确认”,不能把本例的两种列任选一种当事实。
把输入与脚本保存到同一个本地目录后执行 python analyze.py,脚本只读取输入、计算并重写同目录的结果文件。先保留原始附件副本,再将自己的脱敏输入另存为新版本,记录输入摘要与执行日期;不要把合成字段覆盖成看似真实的现场日志。
已用 Python 3.12.4 实际运行附件算法并检查断言。结果来自同目录合成输入;没有接入真实NDI源、控制器、灯具、接收卡或LED屏,不能据此填写现场验收通过。
对接下一步与一级来源
基础背景可看Art-Net 灯光控制协议速查(DMX over Ethernet)。相关流程收在展厅中控专题;需要项目对接时,带上本文输入及结果向SoftControl核对实际能力。
一级来源核对日期:2026-10-24。原始协议规则、本文原创运算和目标系统行为应分别留证;附件计算正确,不等于设备已经按该参数工作。
相关阅读
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。