Art-Net 概述 :
Art-Net 是一种基于 TCP/IP 协议栈的以太网协议。目的在于使用标准的网络技
术允许在广域内传递大量 DMX512 数据。
最新版本协议实现了许多新的功能,并简化了数据传输机制。这些变化都是基
于那些使用此协议的厂家反馈。
数据包地址 :
Art-Net3 规范中,理论上最多为 32768 个数据包。实际可传输数据包数量取决
于网络物理层和 分配 使用量。下面表格提供一个经验值。
地址
单一传播
物理: 10BaseT
40
物理: 100BaseT
400
物理: 1000BaseT
4000+
每个 DMX512 数据包的端口地址被编码为一个 15 位数,如下表。
Bit15
0
端口地址
Bit14-8
网络
Bit7-4
子网
Bit3-0
数据包
高字节被称为“网”。这个是在 Art-Net 中被引入,之前为 0。该网具有用于每
个节点的单一值。低字节的高四位被称为子网地址,并设置为每个节点一个值。低字
节的第四位用于节点中定义独特 DMX512 数据包。
这意味着任何节点具有:
1.一个“网络”开关。
2.一个“子网”开关
3.一个“数据包”开关用于每个独特
DMX512 输入或输出。
产品设计者可以选择通过硬件或软件开关实现。
Credits :
Any person or entity which implements Art-Net in their products shall include a user
guide credit of: "Art- Net? Designed by and Copyright Artistic Licence Holdings Ltd".
术语 :
节点( Node):一个设备使用 Art-Net 转换 DMX512 被称为一个节点。
1
端口地址( Port-Address):32768 个地址中的其中一个地址可能写入到可控的
DMX 数据帧中。端口地址是一个 15 位数包括 Net+Sub-Net+Universe。
网络( Net):一组 16 个连续子网或 256 个连续数据包被称为网络,总共有 128
个网络。
子网( Sub-Net):一组 16 个连续的数据包被称为一个子网。(不要与子网掩
码混淆)。
数据包( Universe):一个 512 数据帧的 DMX512 信号被称为数据包。
Kiloverse:一组 1024 个数据包。
控制器( controller):中央控制器或监控设备(灯光控制台)被称为控制器。
IP: Internet 协议地址。它被表示在一个长字格式( 0×12345678)或点格式
(2.255.255.255)。惯例是,前者是十六进制的,而后者是小数。该
IP 唯一标
识网络上的任何节点或控制器。
子网掩码( Subnet Mask): 定义 IP 的一部分,代表了网络地址和哪一部分代表
节点地址。例如: 255.0.0.0 的子网掩码指 IP 的第一个字节的网络地址,其余三
个字节是节点地址。
端口( Port): Actual data transmission on Art-Net uses the UDP protocol that
operates ‘ on top of ’ the TCP/IP protocol. UDP data transfer operates by
transferring data from a specific IP:Port address on a Node or Controller to a
second specific IP:Port address on a second Node or Controller. Art-Net uses
only one port address of 0x1936.
定向广播( Directed Broadcast):当一个网络第一次连接,控制器不知道节点
的网络数目,也不会知道其 IP 地址。定向广播地址允许控制器发送 ArtPoll 到网
络上的所有节点。
限制性广播( Limited Broadcast):Art-Net 数据包不该被广播到受限广播的地
址 255.255.255.255。
控制器( Controller):一个通用术语,描述一个 Art-Net 设备与产生控制数据
的首要任务。例如,一个照明控制台。
媒介服务( Media Server):一个通用术语,描述能够产生基于“ mx”媒介扩
展到 Art-Net。
2
以太网实现:
注意事项 :
所有的通信是 UDP。本文档中定义的每个数据包的格式形成一个封闭的
UDP数据包的数据字段。
包格式以类似于 C语言的结构的方式,其中所有的数据项都被认为是类
型 INT8,INT16或 INT32根据比特数无符号整数指定。没有隐藏的填充字节,
除了在一个分组,其可被向上舍入到 2 或 4 字节的倍数的最末端。在一个有效
的接收的包的末端的额外字节被忽略。
该协议被概括为处理今后的版本因端口数量增加。
许多位的数据字段包含未使用的位置。这些可以在协议的未来版本中使
用。它们应该发送零,而不是由接收器检测。
所有的数据包的定义被设计成使得它们的长度在将来的版本中可以增加,
同时保持兼容性。由于这个原因,只有最小分组长度在这个协议中检查。
协议操作 :
节点工作在一种模式中,个节点有一个从他的以太网
MAC 地址获取的独
一无二的 IP 地址。 UDP端口用来作为源和目标的是 0x1936。
IP 地址配置:
Art-Net 协议可以工作在 DHCP 管理地址方案或使用静态地址。通常情况
下, Art-Net 产品出厂使用 A 类 IP 地址方案。这样使得 Art-Net 产品直接通讯而
不需要 DHCP服务器来连接到网络。
IP 地址配置—— DHCP
在 ArtPollReply 数据包中,节点回复是否使用 DHCP。本文档详细介绍了假设使用静态
地址。当 DHCP 被使用,地址和子网掩码将直接通过 DHCP 服务器修改。
IP 地址配置——静态地址
3
使用 A 类地址允许在一个封闭的网络内,重要的是确保了
Art-Net 数据
没有被路由到以英特网上。
产品实施 Art-Net 必须默认住地址是 2.?.?.?。
IP 地址是由指定为 A.B.C.D 格式的 32 位数组成。其中字节 B.C.D 是由
MAC地址结算得到。高字节‘ A’设置如下面表格所示。
MAC地址是一个 48 位指定数量 U:V:W:X:Y:Z。这是一个全球唯
一的编号。上部三个字节 'U:V:W'被注册到特定的组织。较低的三个字节 'X:
Y:Z'是由该组织分配。为了防止小可能性有不同厂家配套
Art-Net 之间的 IP 地
址冲突,该产品 OEM(原始设备制造商)代码被添加到 MAC地址。
IP 地址的“ B”字段是通过添加的 OEM 代码的高字节同的 OEM代码的
低字节和 MAC 地址的 'x'的字段来计算。
上电时,节点检查其对 IP 寻址模式配置。如果它已被编程为使用自定义
的 IP 地址,不使用下面的过程。
Product Switch Settings
Custom IP Programmed
Network Switch Off
Network Switch On
IP Address A.B.C.D
A B C D
As Programmed
2 x+OEM y z
10 x+OEM y z
Subnet Mask
As Programmed
255.0.0.0
255.0.0.0
子网络掩码总是初始化为 255.0.0.0 ,除非一个定制的 IP 地址已被使用。
这意味着,该网络地址是最高有效 8 位和节点地址是 IP 地址的最低有效 24 位。
这是一种 A 类网络地址,为此必须小心在实施连接到其他网络。如果安装需要
一个 Art-Net 网络来访问 Internet 另一个网络连接,则连接必须通过筛选出的 A
类地址的路由器来实现。
IP 地址举例
给出以下设置, IP 地址计算将如下:
1. Network Switch = Off
2.MAC address = 12:45:78:98:34:76 (hexadecimal number)
3. OEM code = 0x0010
计算:
4
IP Address A = 2 (Because Network switch is off).
IP Address B = 168 (0x98 + 0 + 16).
IP Address C = 52 (0x34 from MAC address).
IP Address D = 118 (0x98 from MAC address).
IP Address = 2.168.52.118.
控制器默认轮询
默认情况下,控制器应轮询主要和次要 Art-Net 地址:
2.255.255.255:0x1936 Primary Art-Net Address
10.255.255.255:0x1936 Secondary Art-Net Address
网络拓扑结构:
Art-Net 允许同时两种网络拓扑结构操作:
点对点: 这是一个非管理网络,其中多个节点传输数据而无需控
制器的介入。所有的数据传输使用 ArtDmx 包。所有的数据都是直接广播。的
目的是接受 DMX512 所有 Art-Net 兼容节点模式下的功率。
控制器对设备: 这是最复杂的实施通过一个或多个节点与一个或
多个中央控制器(光台)进行通信。操作数据传输此模式下,由
ArtDmx 包的
单播传输。
Art-Net 数据包定义
由节点接受的所有 UDP 包符合 Art-Net 协议规范定义如下。任何其他数
据包将被忽略。
ArtPoll:
数据包策略
实体
控制器
方向
接收
单播传输
定向广播
5
功能
发送 ArtPollReply
不允许
控制器广播该数据包来
节点
媒体服务器
接收
单播传输
定向广播
接收
单播传输
定向广播
轮询网络上的所有控制
器和节点。
发送 ArtPollReply
不允许
不允许
发送 ArtPollReply
不允许
不允许
ArtPoll 包用于发现其他控制器、节点和媒体服务器的存在。 ArtPoll 包仅
由一个控制器发送。控制器和节点都对数据包做出响应。
控制器广播 ArtPoll 数据包到 IP 地址 2.255.255.255 (子网掩码
255.0.0.0 )通过 UDP 端口 0x1936,这是定向广播地址。
假设控制器发送 ArtPoll 和接收的所有数据包 ArtPollReply 之间的最大超
时时间为 3S。如果控制器没有收到在这个时间内得到反应,那么可以认为节点
已断开。
广播 ArtPoll 的控制器应该同时回答他自己的信息(定向广播地址)通过
ArtPollReply 。这样可以保证其他监听网络的控制器检测到所有设备情况而不需
要所有控制器连接到网络发送 ArtPoll 数据包。这就要求 Art-Net 所有控制器每
2.5s 到 3s 广播一次 ArtPoll 。这样任何网络中设备可以很容易的检测到断开连
接。
多重控制器
Art-Net 允许并支持网络上的多个控制器。当有多个控制器,节点会从
ArtPolls 收到来自不同的控制器可能包含矛盾信息的诊断要求。解决这种情况方
法如下:
如果任何控制器请求诊断,该节点将发送诊断。( ArtPoll->TalkToMe-
>2 )
如果有多个控制器请求诊断,诊断应广播。 (忽略 ArtPoll-> TalkToMe-
>3 )。
优先的最低最小值应使用。 (忽略 ArtPoll->Priority )
6
ArtPoll 包的定义
字段
1
名字
ID[8]
大小
Int8
2
3
4
5
OpCode
Int16
ProtVerHi
ProtVerLo
Int8
Int8
TalkToMe
Int8
6
优先级
Int8
表格 1- 操作码
Bit
-
-
-
-
-
7-4
3
2
1
0
-
描述
8 个字符数组,最后一个字符是一
个空的终止。
Value = ‘A’’r ’’t ’’-’’N’’e’’t ’0x00
操作码( OpCode )定义了再 UDP
包中紧随 ArtPoll 的数据的类型。
先传输低字节,操作码列表详见于
表格 1。
调到 OpPoll 。
Art-Net 协议版本号高字节
Art-Net 协议版本号低字节。当前
值为 14,控制器应该忽略与节点
的通讯当使用版本号低于 14 的协
议。
设置节点行为
未使用,传输为 0,
do not test upon receipt.
0= 诊断信息为广播( if bit 2 )
1= 诊断信息为单一传播( if bit 2 )
0= 不要发送给我诊断信息
1= 给我发送诊断信息
0= 仅当响应 ArtPoll 或 ArtAddress
时发送 ArtPollReply
1= 每当节点条件发生变化时发送
ArtPollReply 。该选项使得控制器
在条件发生变化时响应而不需要不
断地轮询。
弃用
应发送的最低优先级的诊断信息。
详见表格 5
下表中详细规定了在 Art-Net 包中使用操作码的规定值。
操作码
名字
数值
定义
7
OpPoll
0x2000
OpPollReply
OpDiagData
OpCommand
0x2100
0x2300
0x2400
OpOutput / OpDmx
0x5000
OpNzs
0x5100
OpAddress
0x6000
OpInput
0x7000
OpTodRequest
0x8000
OpTodData
0x8100
OpTodControl
0x8200
OpRdm
0x8300
8
这是一个 ArtPoll 包,没有其
他数据被包含在这个 UDP 包
中
这是一个 ArtPollReply 包 ,包
含设备状态信息。
诊断和数据记录的数据包。
用于发送基于文本的参数命
令
这是一 ArtDmx 数据包。它
包含零起始码 DMX512 信息
的单一的全集(数据
包??)。
这是一 ArtNzs 数据包。它包
含非零起始码(除 RDM)
DMX512 信息的单一的全
集。
这是一个 ArtAddress 分组。
它包含了节点远程编程的信
息。
这是一个 ArtInput 数据包,
它包含 DMX 输入的许可 -禁
止数据。
这是一个 ArtTodRequest 数
据包。 It is used to request a
Table of Devices (ToD) for
RDM discovery. 用来要求被
发现的 RDM设备的表格
这是一个 ArtTodData 数据
包。 It is used to send a Table
of Devices (ToD) for RDM
discovery. 用来发送被发现
的RDM 设备表格
这是一个 ArtTodControl 数据
包。 It is used to send RDM
discovery control messages.
用来发送被发现 RDM 的控
制信息
这是一个 ArtRdm 数据包。 It
is used to send all non