最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Art-Net中文翻译解析

IT圈 admin 40浏览 0评论

2024年2月25日发(作者:菅云霞)

Art-Net概述:

Art-Net是一种基于TCP/IP协议栈的以太网协议。目的在于使用标准的网络技术允许在广域内传递大量DMX512数据。

最新版本协议实现了许多新的功能,并简化了数据传输机制。这些变化都是基于那些使用此协议的厂家反馈。

数据包地址:

Art-Net3规范中,理论上最多为32768个数据包。实际可传输数据包数量取决于网络物理层和分配使用量。下面表格提供一个经验值。

地址

单一传播

Bit15

0

端口地址

高字节被称为“网”。这个是在Art-Net中被引入,之前为0。该网具有用于每个节点的单一值。低字节的高四位被称为子网地址,并设置为每个节点一个值。低字节的第四位用于节点中定义独特DMX512数据包。

这意味着任何节点具有:

1.一个“网络”开关。

2.一个“子网”开关

3.一个“数据包”开关用于每个独特DMX512输入或输出。

物理:10BaseT

40

物理:100BaseT

400

物理:1000BaseT

4000+

每个DMX512数据包的端口地址被编码为一个15位数,如下表。

Bit14-8

网络

Bit7-4

子网

Bit3-0

数据包

产品设计者可以选择通过硬件或软件开关实现。

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被称为一个节点。

2

端口地址(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地址配置——静态地址

2

使用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地址计算将如下:

2

1. Network Switch = Off

address = 12:45:78:98:34:76 (hexadecimal number)

3. OEM code = 0x0010

计算:

 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:

实体

控制器

数据包策略

方向

接收

单播传输

定向广播

2

功能

发送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)

2

ArtPoll包的定义

字段

1

名字

ID[8]

大小

Int8

Bit

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’’r’’t’’-’’N’’e’’t’0x00

-

- 2 OpCode Int16

操作码(OpCode)定义了再UDP包中紧随ArtPoll的数据的类型。

先传输低字节,操作码列表详见于表格1。

调到OpPoll。

3

4

ProtVerHi

ProtVerLo

Int8

Int8

-

-

Art-Net协议版本号高字节

Art-Net协议版本号低字节。当前值为14,控制器应该忽略与节点的通讯当使用版本号低于14的协议。

5 TalkToMe Int8

-

7-4

3

2

1

设置节点行为

未使用,传输为0,

do not test upon receipt.

0=诊断信息为广播(if bit 2)

1=诊断信息为单一传播(if bit 2)

0=不要发送给我诊断信息

1=给我发送诊断信息

0=仅当响应ArtPoll或ArtAddress时发送ArtPollReply

1=每当节点条件发生变化时发送ArtPollReply。该选项使得控制器在条件发生变化时响应而不需要不断地轮询。

0

6

优先级

Int8 -

弃用

应发送的最低优先级的诊断信息。详见表格5

表格1-操作码

下表中详细规定了在Art-Net包中使用操作码的规定值。

操作码

名字 数值

2

定义

OpPoll 0x2000

这是一个ArtPoll包,没有其他数据被包含在这个UDP包中

OpPollReply

OpDiagData

OpCommand

OpOutput / OpDmx

0x2100

0x2300

0x2400

0x5000

这是一个ArtPollReply包,包含设备状态信息。

诊断和数据记录的数据包。

用于发送基于文本的参数命令

这是一ArtDmx数据包。它包含零起始码DMX512信息的单一的全集(数据包??)。

OpNzs

0x5100

这是一ArtNzs数据包。它包含非零起始码(除RDM)DMX512信息的单一的全集。

OpAddress

0x6000

这是一个ArtAddress分组。它包含了节点远程编程的信息。

OpInput

0x7000

这是一个ArtInput数据包,它包含DMX输入的许可-禁止数据。

OpTodRequest

0x8000

这是一个ArtTodRequest 数据包。It is used to request a

Table of Devices (ToD) for

RDM discovery. 用来要求被发现的RDM设备的表格

OpTodData

0x8100

这是一个ArtTodData 数据包。It is used to send a Table

of Devices (ToD) for RDM

discovery. 用来发送被发现的RDM设备表格

OpTodControl

0x8200

这是一个ArtTodControl 数据包。It is used to send RDM

discovery control messages.

用来发送被发现RDM的控制信息

OpRdm

0x8300

2

这是一个ArtRdm 数据包。It

is used to send all non

discovery RDM messages.

这是一个数据包。用来发送所有非发现RDM信息

OpRdmSub

0x8400

这是一个ArtRdmSub 数据包。用来发送压缩的,RDM子设备的数据。

OpVideoSetup

0xa010

这是一个ArtVideoSetup 数据包。包含实现扩展的视频功能的节点的视频画面设置信息。

OpVideoPalette

0xa020

这是一个ArtVideoPalette 数据包。包含实现扩展的视频功能的节点的调色板设置信息。

OpVideoData

0xa040

这是一个ArtVideoData 数据包。包含实现扩展的视频功能的节点的显示数据。

OpMacMaster

0xf000

这是一个ArtMacMaster 数据包。用来编程节点的MAC地址,OEM设备类型和制造商ESTA代码。这是一个节点的出厂初始化。不能被应用程序使用。

OpMacSlave

0xf100

这是一个ArtMacSlave 数据包。节点返回确认收到ArtMacMaster数据包。

OpFirmwareMaster

0xf200

这是一个ArtFirmwareMaster 数据包。用于将新固件或固件扩展上传到节点。

OpFirmwareReply

0xf300

这是一个ArtFirmwareReply

数据包。节点返回确认是否收到ArtFirmwareMaster或它被返回由节点确认收到一个ArtFirmwareMaster分组或ArtFileTnMaster分组。数据包。

OpFileTnMaster

0xf400

2

上传用户文件到节点。

OpFileFnMaster

OpFileFnReply

OpIpProg

0xf500

0xf600

0xf800

从节点下载用户文件

节点确认下载

这是一个ArtIpProg 数据包。用来重新编程节点的IP,掩码和端口地址。

OpIpProgReply

0xf900

这是一个ArtIpProgReply 数据包。节点返回确认是否收到ArtIpProg 数据包。

OpMedia

0x9000

这是一个ArtMedia数据包。由媒体服务器单一传播而且由控制器来使其动作。

OpMediaPatch

0x9100

这是一个ArtMediaPatch 数据包。由控制器单一传播而且由媒体服务器来使其动作。

OpMediaControl

0x9200

这是一个ArtMediaControl

数据包。由控制器单一传播而且由媒体服务器来使其动作。

OpMediaContrlReply

0x9300

这是一个ArtMediaControlReply 数据包。由媒体服务器单一传播而且由控制器来使其动作。

OpTimeCode

0x9700

这是一个ArtTimeCode 数据包。用来通过网络传输时间代码。

OpTimeSync

OpTrigger

OpDirectory

OpDirectoryReply

0x9800

0x9900

0x9a00

0x9b00

用于同步实时日期和时钟。

用于发送触发宏

请求节点的文件列表

用文件列表来回复OpDirectory

Table 2 - OemCode:

在DMX-Workshop安装目录中的Art-NetOemCodes.h文件中有详述注册的OEM代码。

在OEM代码中定义一个特定制造商的产品类型。该OemCode是在ArtPollReply返回。

2

Table 3 – NodeReport Codes:

下表详细列出了NodeReport代码。 NodeReport代码为节点和控制器定义了一般错误,报告和状态信息。该NodeReport在ArtPollReply返回。

代码

0x0000

0x0001

0x0002

0x0003

助记符

RcDebug

RcPowerOk

RcPowerFail

RcSocketWr1

描述

启动在调试模式(只有在开发中使用)

开机测试成功

开机硬件测试失败

最后的UDP从节点获取失败,原因是长度缩短了,最有可能因冲突造成的。

0x0004

0x0005

0x0006

0x0007

0x0008

0x0009

0x000a

0x000b

0x000c

0x000d

0x000e

0x000f

RcParseFail

RcUdpFail

RcShNameOk

RcLoNameOk

RcDmxError

RcDmxUdpFull

RcDmxRxFull

RcSwitchErr

RcConfigErr

RcDmxShort

RcFirmwareFail

RcUserFail

无法确定最后UDP传输。检查操作码和数据包的长度。

无法再最后传输尝试中打开UDP口。

确认通过ArtAddress的短名编程是成功的

确认通过ArtAddress的长名编程是成功的

DMX512检测到接收错误

DMX内部发送缓冲区溢出

DMX内部接收缓冲区溢出

接收 Universe switches 冲突

固件与产品配置不匹配

DMX输出不足检测。见GoodOutput处

新固件最后一次尝试上传失败

当使用远程处理锁定了地址时用户已经改变了开关设定。用户改变无效。

Table 4 – Style Codes(样式代码):

下表详细列出了样式代码。样式代码定义了一个控制器的一般功能。样式代码在ArtPollReply返回。

2

代码

0x00

0x01

0x02

0x03

0x04

0x05

0x06

助记符

StNode

StController

StMedia

StRoute

StBackup

StConfig

StVisual

描述

主/从Art-Net设备

灯光控制台

媒体服务器

网络路由设备

备份设备

配置或诊断工具

模拟器

ArtPollReply:

数据包策略

实体

所有

设备

方向

接收

单一传输

广播

动作

无Art-Net动作

不允许

定向广播数据包响应ArtPoll

响应控制器的ArtPoll的设备,发送ArtPollReply。这个数据包也由上电时所有Art-Net设备广播到定向广播地址。

ArtPollReply packet definition

字段

1

名字

ID[8]

大小

Int8

Bit

-

描述

8个字符数组,最后一个字符是一个空的终止。

Value=

‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpPollReply

先传输低字节

包含节点的IP地址数组。第一个数组条目是最高有效字节。

端口总是0x1936

先传输低字节

节点的固件版本的高字节。控制器只需要使用此字段来决定是否进行固件升级。这是一个使用较新版本号的固件的约定。

2

3

4

5

OpCode

IP Address[4]

Port

VersInfoH

Int16

Int8

Int16

Int8

-

-

-

-

6

7

VersInfoL

NetSwitch

Int8

Int8

-

-

节点固件版本号的低字节

15位的端口地址的14-8位被编码成字段最低7位。用来结合2

SubSwitch和Swin[]或Swout[]产生完整集合地址。

8

SubSwitch

Int8 -

15位端口地址的7-4位被编码成字段的最低4位。用来结合SubSwitch和Swin[]或Swout[]产生完整集合地址。

9

10

OemHi

Oem

Int8

Int8

-

-

Oem数值的高字节。

Oem数值的低字节。Oem字节描述了设备的供应商和可用功能。高15位表明可用的扩展功能。

目前注册的代码定义见表格2。

11

Ubea Version

Int8 -

此字段包含用户BIOS扩展区(UBEA)的固件版本。如果UBEA未编程,这个字段包含零。

12

Status1

Int8 -

7-6

一般状态寄存器包含位字段如下。

指示器状态

00 指示器状态未知

01 指标器在定位模式

10 指示器在静音模式

11指示器在普通模式

5-4

端口地址的编程管理

00 端口编程管理未知

01 所有端口地址通过前面板控制设置

10端口地址全部或部分通过网络或Web浏览器编程。

11 未使用

3

2

不要实施,传输0,接收不要测试。

0=普通固件引导(从闪存)。不支持双启动的节点,清除此字段为零。

1=从ROM启动。

1

0

2

0=不能远程设备管理(RDM)

1=可以远程设备管理(RDM)

0= UBEA不存在或已损坏

1=UBEA存在

13

EstaManLo

Int8 -

ESTA制造商代码。这些码被用于表示设备制造商。它们是由ESTA分配。这个字段可以被解释为两个ASCII字节表示制造商的缩写。

Hi byte of above

数组表示节点的空终止短名称。控制器使用ArtAddress包编程该字符串。最大长度为17个字符加上空字符。这是一个固定长度的字段,尽管它包含字符串可以比字段短。

14

15

EstaManHi

ShortName [18]

Int8

Int8

-

-

16

LongName [64]

Int8 -

数组表示节点的空终止长名称。控制器使用ArtAddress包编程该字符串。最大长度为63个字符加上空字符。这是一个固定长度的字段,尽管它包含字符串可以比字段短。

17

NodeReport [64]

Int8 -

数组是节点运行状态或操作错误的文字报告。主要用于“工程”数据而不是“最终用户”数据。改字段的格式为:“#XXXX[YYYY..] ”

xxxx是一个十六进制的状态码,如表3规定。节点每发送一次ArtPollResponse十进制计数器yyyy增加一次。

这使得控制器可以在节点钟监视事件变化。

ZZZZ是定义状态的英文文本字符串。

这是一个固定长度的字段,尽管它包含字符串可以比字段短。

18

NumPortsHi

Int8 -

字的高字节描述端口的输入输出数量。高字节是为将来的扩展,目前为零。

19

NumPortsLo

Int8

2

-

字的低字节描述端口的输入输出

数量。如果输入数量不等于输出数量,取最大值。如果没有输入或输出端口实现,可以使用0.最大值为4.当信息隐含在PortTypes[]时,节点可以忽略此字段。

20

PortTypes [4]

Int8 -

这个数组定义了每个通道的操作和协议。 (Ether-Lynx

example=0xC0,0xC0,0xC0,0xc0)。数组的长度是固定的,节点上的时间可用的输入或输出的数目是独立的。

7

合集是可通过Art-net网络输出的数据的通道。(Set is this

channel can output data from the

Art-Net Network. )

6

5-0

设置此通道是否可以通过Art-net网络输入。

000000 = DMX512

000001 = MIDI

000010 = Avab

000011 = Colortran CMX

000100 = ADB 62.5

000101 = Art-Net

数组定义了节点的输入状态

设置-数据接收

设置-通道包括DMX512测试数据包。

设置-通道包括DMX512的

设置-通道包括DMX512的文本包

设置-输入禁止

设置-检测到接收错误

未使用而且传输为0

数组定义了节点的输出状态

设置-数据已经传输

设置-通道包括DMX512的文本包

设置-通道包括DMX512的

设置-通道包括DMX512的文本包

输出合并ArtNet数据

上电检测DMX输出不足

21

GoodInput [4]

Int8 -

7

6

5

4

3

2

1-0

22

GoodOutput [4] Int8 -

7

6

5

4

3

2

2

1

0

设置-合并模式是LTP

未使用而且传输为0

每4个可能的输入口是15位端口编码中的3-0位被编码成低有效位。

23

SwIn [4]

Int8 -

24

SwOut [4]

Int8 -

每4个可能的输出口是15位端口编码中的3-0位被编码成低有效位。

25

SwVideo

Int8 -

设置为00时,视频显示出本地数据。设置为01时,视频显示以太网数据。该字段现在已经弃用。

26

SwMacro

Int8 -

如果节点支持微距键输入,此字节代表的触发值。该节点是负责“反跳”的输入。当ArtPollReply设置为自动发送,(TalkToMe位1),所述ArtPollReply将被发送键向下和向上键事件。不过,控制器不应该假设只有一个位的位置发生了变化。

宏输入可用于远程事件触发或提示。

位字段是高电平有效。

Set – Macro 8 active.

Set – Macro 7 active.

Set – Macro 6 active.

Set – Macro 5 active.

Set – Macro 4 active.

Set – Macro 3 active.

Set – Macro 2 active.

Set – Macro 1 active.

如果节点支持远程触发输入,此字节代表的触发值。该节点是负责“反跳”的输入。当ArtPollReply设置为自动发送,(TalkToMe位1),所述ArtPollReply将被发送键向下和向上键事件。不过,控制器不应该假设只有一个位的位置发生了变化。

宏输入可用于远程事件触发或提27

SwRemote

Int8

7

6

5

4

3

2

1

0

-

2

示。

7

6

5

4

3

2

1

0

位字段是高电平有效。

Set – Macro 8 active.

Set – Macro 7 active.

Set – Macro 6 active.

Set – Macro 5 active.

Set – Macro 4 active.

Set – Macro 3 active.

Set – Macro 2 active.

Set – Macro 1 active.

28

29

30

31

Spare

Spare

Spare

Style

Int8

Int8

Int8

Int8

未使用,设置为0

未使用,设置为0

未使用,设置为0

样式代码定义了设备的装备风格。见表4当前样式代码。

32

MAC Hi

Int8

MAC地址Hi字节。设置为零,如果节点不能提供此信息。

33

34

35

36

37

38

39

MAC

MAC

MAC

MAC

MAC Lo

Int8

Int8

Int8

Int8

Int8

Int8

Int8

MAC Address

MAC Address

MAC Address

MAC Address

MAC Address Lo Byte

BindIp[4]

BindIndex

如果该单元是大规模的一部分或模块化产品。这是源设备的IP。

设置为零,如果没有约束力,否则此数字代表约束设备的顺序。数值越小,越接近源设备。值为1表示源设备。

40

Status2

Int8 0

1

2

3

2

Set(设置)=产品支持Web浏览器的配置。

Clr =节点的IP是手动配置。

Set =节点的IP是DHCP配置。

Clr = 节点禁止DHCP

Set= 节点使能DHCP

Clr = 节点支持8位端口地址

(Art-NetII)

Set = 节点支持15位端口地址(Art-Net3)

41

Filler

26x8

传输为0,未来扩展

2

ArtIpProgReply:

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点 接收

单一传输

广播

媒体服务器 接收

单一传输

广播

动作

无动作

不允许

不允许

无动作

发送到特定控制器的IP地址。

不允许

无动作

发送到特定控制器的IP地址。

不允许

由节点发出的ArtIpProgReply数据包响应ArtIpProg数据包。不支持IP地址的远程编程节点不回复ArtIpProg包。在所有的方案中,ArtIpProgReply被发送到发送者的私有地址。

ArtIpProgReply packet definition

字段

1

名字

ID[8]

大小

Int8

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

2

3

4

5

6

7

8

9

10

11

OpCode

Int16

OpIpProgReply 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节(14)

Pad length to match ArtPoll.

Pad length to match ArtPoll.

Pad length to match ArtIpProg.

Pad length to match ArtIpProg.

节点IP地址

2

ProtVerHi

Int8

ProtVerLo

Int8

Filler1

Filler2

Filler3

Filler4

ProgIpHi

ProgIp2

ProgIp1

Int8

Int8

Int8

Int8

Int8

Int8

Int8

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

ProgIpLo

Int8

ProgSmHi

Int8

ProgSm2

ProgSm1

ProgSmLo

ProgPort

Hi

ProgPort

Lo

Status

Int8

Int8

Int8

Int8

Int8

Int8

节点的子网掩码

节点的端口地址

Bit7 0

Bit6 使能DHCP

Bit5-0 0

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

Spare2

Spare3

Spare4

Spare5

Spare6

Spare7

Spare8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

2

ArtAddress:

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点 接收

单一传输

广播

媒体服务器 接收

单一传输

广播

动作

无动作

控制器发送到一个特定的节点的IP地址。

不允许

应答ArtPollReply.

不允许

不允许

应答ArtPollReply.

不允许

不允许

网络上的控制器或监控装置可以远程重新编程的节点的许多控制。例如,将允许灯光控制台重新路由DMX512数据在远程位置。这是通过发送一个ArtAddress数据包到节点的IP地址来实现的。 (该IP地址在ArtPoll数据包返回)。节点应答ArtPollReply数据包。

字段5-13包含可编程到节点的数据。

ArtAddress packet definition

字段

1

2

3

4

5

名字

ID[8]

OpCode

大小 描述

Int8

Int16

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpAddress

先传输低字节

Art-Net协议版本号的高字节

Art-Net协议版本号的高字节,当前值为14

15位端口地址的14-8位被编码为字段的最低7位。用来结合SubSwitch和SWIN[]或SWOUT[],以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

2

ProtVerHi

Int8

ProtVerLo

Int8

NetSwitch

Int8

6

7

Filler2

Short

Name

[18]

Int8

Int8

使用值0x7f来不变化

Pad length to match ArtPoll.

数组表示节点的空终止短名称,控制器使用ArtAddress包编程该字符串。最大长度为17个字符加上空。该节点将忽略此值,如果字符串为空。

这是一个固定长度的字段,尽管它包含字符串可以比字段短。

8

Long

Name

[64]

Int8

数组表示节点的空终止长名称,控制器使用ArtAddress包编程该字符串。最大长度为63个字符加上空。该节点将忽略此值,如果字符串为空。

这是一个固定长度的字段,尽管它包含字符串可以比字段短。

9

SwIn [4]

Int8

15位端口地址的3-0位为字段给定的输入端口被编码成在最低4位。这是用在与NetSwitch和SubSwitch组合,以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

使用值0x7f来不变化

10

SwOut [4]

Int8

15位端口地址的3-0位为字段给定的输入端口被编码成在最低4位。这是用在与NetSwitch和SubSwitch组合,以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

使用值0x7f来不变化

11

SubSwitch

Int8

15位端口地址的7-4位为字段给定的输入端口被编码成在最低4位。这是用来结合NetSwitch和SWIN[]或SWOUT[],以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

使用值0x7f来不变化

12

13

SwVideo

Int8

保留

节点配置指令:

数值

0x00

0x01

助记符

AcNone

AcCancel

Merge

2

Command

Int8

动作

无动作

如果节点目前正处于合并模式,在收到下一ArtDmx包时取消合并模式。见合并运作模

式的讨论。

0x02

0x03

0x04

AcLedNormal

AcLedMute

AcLedLocate

节点的前面板指示灯正常工作。

节点的前面板指示灯被禁止,关闭。

节点的前面板指示灯快速闪烁。它的目的是作为大型装置的一个出口定位器。

0x05

AcResetRx

Flags

重置节点的SIP,文本,测试和数据错误标志。

如果输出不足被标记,强制测试重新运行。

需要注意的是LTP/ HTP设置应由功率循环过程中的节点保留。

AcMergeLtp0

设定DMX端口0到合并的LTP0x10

模式。

0x11

0x12

0x13

0x50

0x51

0x52

0x53

0x90

0x91

0x92

0x93

AcMergeLtp1

AcMergeLtp2

AcMergeLtp3

AcMergeHtp0

AcMergeHtp1

AcMergeHtp2

AcMergeHtp3

AcClearOp0

AcClearOp1

AcClearOp2

AcClearOp3

设定DMX端口1到合并的LTP模式。

设定DMX端口2到合并的LTP模式。

设定DMX端口3到合并的LTP模式。

设定DMX端口0到合并的HTP模式(默认)。

设定DMX端口1到合并的HTP模式(默认)。

设定DMX端口2到合并的HTP模式(默认)。

设定DMX端口3到合并的HTP模式(默认)。

清除DMX端口0的输出缓冲区

清除DMX端口1的输出缓冲区

清除DMX端口2的输出缓冲区

清除DMX端口3的输出缓冲区

2

ArtDiagData:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

供显示。

动作

特殊用途

ArtPoll定义

ArtPoll定义

无动作

ArtPoll定义

ArtPoll定义

无动作

ArtPoll定义

ArtPoll定义

ArtDiagData是一个通用数据包,允许一个节点或控制器发送诊断数据以 控制器发出的ArtPoll数据包定义了需要被发送信息的目的地。

ArtDiagData packet definition

ArtDiagData

字段

1

2

3

4

5

6

7

8

9

10

11

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Priority

Filler2

Filler3

LengthHi

LengthLo

大小

Int8

Int16

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Bit

-

-

-

-

-

-

-

-

-

-

-

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput, 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

接收忽略,被发送器设置为0

诊断数据的优先级,见表格5

接收忽略,被发送器设置为0

接收忽略,被发送器设置为0

下面文本数组的长度,高字节

低字节

ASCII文本数组,空终止。最大长度为512字节,其中包括空终止。

Data[Length]

Int8

2

Table 5 – Priority Codes:

下表详细诊断优先级代码。这些都是用在ArtPoll和ArtDiagData。

代码 助记符

0x10

DpLow

0x40

DpMed

0x80

DpHigh

描述

低优先级信息

中等优先级信息

高优先级信息

0xe0

DpCritical

关键优先级信息

0xf0

DpVolatile

易失信息。这种类型的信息在DMX-Workshop诊断显示一行。所有其它类型显示在列表框。

2

ArtTimeCode:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

动作

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

ArtTimeCode允许时间码通过网络传输。数据格式是结合纵向时间代码和MIDI时间码。电影,EBU,丢帧和SMPTE的四个关键类型也都进行编码。

数据包是用在特殊用途,但在一般情况下,单一控制器将广播数据包到网络。

ArtTimeCode packet definition

字段

1

2

3

4

5

6

7

8

9

10

11

名字

ID[8]

OpCode

大小

Int8

Int16

Bit

描述

-

-

-

-

-

-

-

-

-

-

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpTimeCode 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

接收忽略,被发送器设置为0

接收忽略,被发送器设置为0

帧时间,0-29取决于模式

秒,0-59

分,0-59

时,0-23

0 = Film (24fps)

1 = EBU (25fps)

2 = DF (29.97fps)

3 = SMPTE (30fps)

2

ProtVerHi

Int8

ProtVerLo

Int8

Filler1

Filler2

Frames

Seconds

Minutes

Hours

Type

Int8

Int8

Int8

Int8

Int8

Int8

Int8

ArtCommand:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

广播,由特殊用途决定

ArtCommand packet definition

字段

1

2

3

4

5

6

7

8

9

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

EstaManHi

EstaManLo

LengthHi

LengthLo

Data

[Length]

动作

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

ArtCommand数据包用于发送属性设置样式命令。该数据包可以单播或大小

Int8

Int16

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Bit

描述

-

-

-

--

-

-

-

-

-

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

接收器忽略,被发送器设置为0

诊断信息的优先级,见表5

下面文本数组的长度,高字节

低字节

ASCII文本数组,空终止。最大长度为512字节,其中包括空终止。

数据段包含文本命令。文本是ASCII编码,并为空终止,不区分大小写。设置数据数组为最大512而且无填补未使用条目是可用但低效率的。

命令文本可以包含多个命令,并坚持语法如下:

Command=Data&

2

&符号是命令之间的间隔,另外请注意,该文本是大写的可读性;它不区分大小写。

迄今,Art-Net定义了两个命令。据预测,可能额外添加其他厂商注册的业界广泛认可的指令。

这些指令将在EstaMan=0xFFFF时候传输。

Table 6 – ArtCommand Commands:

下表详细列出了在ArtCommand使用定义的命令。

指令 描述

语法:“SwoutText=Playback&”

SwinText

此命令用于重新编程与ArtPollReply-> SWOUT字段相关联的标签。

语法:“SwoutText=Record &”

SwoutText

此命令用于重新编程与ArtPollReply-> SWOUT字段相关联的标签。

2

ArtTrigger:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

器广播到所有其他设备。

在某些情况下,控制器可以仅希望触发单个设备或一小部分,在这种情况下,单播将被使用。

ArtTrigger packet definition

字段

1

2

3

4

5

6

7

8

9

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

动作

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

ArtTrigger数据包用于发送触发宏到网络。最常见的实施涉及单个控制大小

Int8

Int16

Int8

Int8

Bit

-

-

-

-

-

-

-

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

需要接受触发器的节点的制造商代码(高字节)。

需要接受触发器的节点的制造商代码(低字节)。

密钥

子密钥

密钥定义的有效载荷的解释

OemCodeHi

Int8

OemCodeLo

Int8

Key

SubKey

Data [512]

Int8

Int8

Int8[]

2

Key

密钥(key)是一个用来定义数据包用的8-bit数值。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于0xFFFF,则密钥和子键字段是制造商明确。

然而,当OEM的字段=0xffff,意味着Key,SubKey和Payload由表格7来定义。

Table 7 – ArtTrigger Key Values.

下表详细列出了在ArtCommand使用定义的命令。

Key

0

1

2

3

4-255

名字

KeyAscii

KeyMacro

KeySoft

KeyShow

Undefined

用途(Purpose)

SubKey字段包含当键盘按下,接收设备需要处理的ASCII码。(Payload not used)

SubKey字段包含的接收设备需要执行的宏的数量。(Payload not

used)

SubKey字段包含一个当软按键(sift-key)键盘被按下而且接收设备需要处理的软按键。(Payload not used)

SubKey字段包含的接收设备需要运行的显示的数量。(Payload

not used)

未定义

SubKey

子密钥(SubKey)是一个用来定义数据包用的8-bit数值。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于ffff16,则密钥和子键字段是制造商明确。

然而,当OEM的字段=ffff16,意味着Key,SubKey和Payload由上面表格来定义。

Payload

Payload是一个长度为512的8-bit字节数组。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于0xFFFF,则Payload是制造商明确。

2

ArtDmx:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

和控制器到节点的格式是相同的。

数据输出是通过全集设置的DMX O/P端口。在没有接收到ArtDmx数据包,每个DMX O / P端口连续地重发同一帧。、

每个输入口接收到的第一个完整的DMX数据帧放在上述的ArtDmx数据包中,并且作为一个包含全集参数的ArtDmx数据包传输。每个随后的包含新数据的(不同长度或不同内容)DMX数据帧同样作为ArtDmx数据包传输。

上电后,节点不传输ArtDmx数据当输入未接收到DMX512数据。

然而,活动但不变化的输入会每隔4秒重新传输最后一个有效的ArtDmx数据包。

失败的DMX输入将不会继续传输ArtDmx数据。

2

动作

特殊用途

特殊用途

特殊用途

ArtDmx是用于传输DMX512数据的数据包。节点到控制,节点到节点

Unicast Subscription:

ArtDmx数据包必须单一传播到包含ArtDmx的具体全集的用户。

发送设备必须定期ArtPoll网络来检测订阅的设备的变化。已订阅的节点将在ArtPollReply中列出订阅的全集。已订阅意味着全集(universes)在不管Swin数组还是Swout数组中被列出。

如果发送器想发送的全集(universes)没有订阅者,那么ArtDmx将不能被广播。如果全集用户超过40对于给定的全集,发送设备可以广播。

ArtDmx packet definition

字段

1

2

3

4

5

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

Sequence

大小

Bit

描述

Int8 -

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

序列号用来确保ArtDmx数据包以正确的顺序使用。当Art-net是通过一个介质诸如因特网,可能的ArtDmx数据包在接收时出现乱序。

此字段递增取值范围0x01至0xFF,以允许接收节点重新排序数据包。

序列号设置为0来禁止这功能

Int16 -

Int8

Int8

Int8

-

-

-

6

7

8

9

Physical

SubUni

Net

LengthHi

Int8

Int8

Int8

Int8

-

-

-

-

从DMX512数据输入的物理输入端口。此字段仅供参考。使用全集来数据路由。

目的地数据包的15位端口地址的低字节

目的地数据包的15位端口地址的高7位字节

DMX512数据数组的长度。这个值范围需要是2-512.

表示数据包编码的DMX512通道数目。注:产品转换Art-Net到DMX512可以选择总发送512个通道。

高字节

10

11

Length

Int8 -

-

上述内容低字节

DMX512的灯光数据的变长数组。

Data[Length]

Int8

刷新率:

2

不可以使用重复速率传输特定IP地址的ArtDmx数据包比包含512数据包时隙的最大重复速率快。

Data Merging:

Art-Net协议允许多个节点或控制器发送ArtDmx数据到同一个全集。

一个节点可以通过比较接收到的ArtDmx报文的IP地址检测到这种情况。如果同一个全集接收到的ArtDmx数据包给是来自不同的IP地址,会存在潜在的冲突。

节点可以合理地处理这种情况使用以下两种方法之一:

1. 认为这是一个错误条件,并等待用户干预。

2. 自动合并数据。

节点应该在产品使用指南中记录被实施的方法。优选合并,因为它提供的功能的一个更高的水平。

合并是按照ArtAddress包的说明在LTP或HTP模式实现。

合并方式实现如下:

如果从更不同IP地址接收到ArtDmx,数据被合并到DMX输出。在这种情况下,ArtPollReply-GoodOutput-Bit3被置位如果Art-TalkToMe Bit1被置位,那就需要在合并开始时发送一个ArtPollReply。

从合并模式退出的处理方式如下:

如果接受到ArtAddress AcCancelMerge,那下一个ArtDmx信息接收结束合并模式。然后节点丢弃IP地址与终止合并模式的ArtDmx数据包的IP地址不符的ArtDmx数据包。

如果ArtDmx的任一(但不是两者)源停止,发生故障的源在合并缓冲器中保持10秒钟。如果10秒超时过程中,失败的源回报,合并模式将继续。如果发生故障的来源没有恢复,在该超时周期结束时,节点退出合并模式。

如果ArtDmx的两个来都发生故障,输出保持最后的合并结果。合并被限制为两个来源,任何额外的来源将被节点忽略。合并执行允许的操作如下两个关键模式。

2

1. 联合控制:两个控制器(控制台),可以在网络上运行和合并数据到多个节点。

2. 备份:一个控制器(控制台)可以监视网络当主控制器发生故障。如果发生故障,则可以使用ArtAddress AcCancelMerge命令即时控制网络。

当一个节点提供多个DMX512输入,节点需要处理数据合并。因为节点只能有一个IP地址。如果不能再节点处理好,那么ArtDmx数据包就会同一个IP地址和同一个全集数目,但是冲突的等级数据将会传输到网络。

2

ArtNzs:

实体

控制器

节点

媒体服务器

方向

接收

单一传播

广播

接收

单一传播

广播

接收

单一传播

广播

动作

特殊用途

Yes

No

特殊用途

Yes

No

特殊用途

Yes

No

ArtNzs是用来传输非零起始码(RDM除外)的DMX512的数据包。节点到控制器,节点到节点,控制器到节点的格式是相同的。

ArtNzs packet definition

字段

1

2

3

4

5

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

Sequence

大小

Int8

Int16

Int8

Int8

Int8

Bit

描述

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpNzs

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

序列号用来确保ArtDmx数据包以正确的顺序使用。当Art-net是通过一个介质诸如因特网,可能的ArtDmx数据包在接收时出现乱序。

此字段递增取值范围0x01至0xFF,以允许接收节点重新排序数据包。

序列号设置为0来禁止这功能

6

StartCode

Int8 -

数据包的DMX512起始码,不可以是0或RDM。

2

7

8

9

SubUni

Net

LengthHi

Int8

Int8

Int8

-

-

-

15bit目的地端口地址的低字节

15bit目的地端口地址的高7位字节

DMX512数据数组的长度。这个值范围需要是2-512.

表示数据包编码的DMX512通道数目。注:产品转换Art-Net到DMX512可以选择总发送512个通道。

高字节

10

11

Length

Data

[Length]

Int8

Int8

-

-

上述内容低字节

DMX512的灯光数据的变长数组。

2

ArtInput:

数据包策略

实体

控制器

节点

媒体服务器

方向

接收

单一传播

广播

接收

单一传播

广播

接收

单一传播

广播

动作

无动作

控制器发送到一个特定节点的IP地址

ArtPollReply回复

ArtPollReply回复

无动作

无动作

ArtPollReply回复

无动作

无动作

网络上的控制器或监控装置可以启用或禁用在任何网络节点中的个人的DMX512输入。这使得控制器直接控制网络流量,并确保未使用的输入被禁止,因此不浪费带宽。

所有节点上电时所有输入使能。

在控制器上实现此功能时应注意,一些网络流量可能是一个节点到节点的基础上运行。

ArtInput packet definition

字段

1

2

3

4

5

6

7

名字

ID[8]

OpCode

大小

Int8

Int16

Bit

描述

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpNzs

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

描述输入或输入端口数字的字的高字节,高字节是未将来的扩展,目前为零。

2

ProtVerHi

Int8

ProtVerLo

Filler1

Filler2

NumPortsHi

Int8

Int8

Int8

Int8

8

NumPortsLo

Int8 -

描述输入或输入端口数字的字的低字节。如果输入数不等于输出数,取最大的值。最大值为4。

9

Input [4]

Int8 -

数组定义每个通道的输入禁止状态。 (例如=0×01,0×00,为0x01,0x00来禁用第一和第三输入)

7-1 未使用

0 设置为禁用此输入。

2

Firmware and UBEA upgrades:

本章节定义用于发送固件版本为节点的数据包。在所有的情况下,通信是私人的。广播地址绝不使用。

处理涉及的控制器发送多个ArtFirmwareMaster包到节点的IP地址。每个数据包通过用ArtFirmwareReply节点确认。

控制器允许20秒的最大延迟接收ArtFirmwareReply。

如果应答未在此时间被接收,则控制器终止处理。用更大的时间周期,允许节点直接写入来减缓非易失性存储器。

节点允许发送ArtFirmwareReply和接收下一连续ArtFirmwareMaster之间有20秒的延迟。如果下一个连续的块未在此时间内收到,那么节点中止处理。在这种情况下该节点返回到其以前的操作,并相应的置位ArtPollReply->Status和ArtPollReply - > NodeReport。

固件更新文件包含定义节点OEM有效值的头数据。发送到节点之前,控制器必须检查此值。节点也要在接收到第一个数据包时检查这个数据。如果节点接收到一个无效的代码包,它发出了一个错误响应。

UBEA是用户的Bios扩展区。这是一种有限的固件上载的允许第三方固件扩展被添加到节点的机制。

实现这些特征的制造商必须记录软件接口要求。

2

ArtFirmwareMaster:

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

动作

无动作

控制器传输到特定节点IP地址

不允许

随OpFirmwareReply回应

不允许

不允许

随OpFirmwareReply回应

不允许

广播 不允许

ArtFirmwareMaster packet definition

字名字

1

2

3

4

5

6

7

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Filler2

Type

Int8

Int16

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpFirmwareMaster

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

定义数据包内容如下:

数值

0x00

助记符

FirmFirst

功能

固件上传的第一个数据包。

0x01

FirmCont

固件上传的延续连续包。

0x02

FirmLast

固件上传的最后一个数据包。

0x03

UbeaFirst

固件上传的第一个2

大小

Bit

描述

UBEA

包。

0x04

UbeaCont

固件上传的延续连续

UBEA

包。

0x05

UbeaLast

固件上传的最后一个UBEA

包。

8

9

BlockId

Firmware Length3

Int8

Int8

-

-

计算固件上传的连续块。开始0x00作为FirmFirst或UbeaFirst包。

这个int64的参数描述上传固件和固件头部大小的总字节数。例如:一个32K字的上传固件加上530字节头信息==0x00008212。这个值也是需要10

11

12

13

Firmware Length2

Firmware Length1

Firmware Length0

Spare[20]

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

上传文件的文件大小(字节)。

LSB

控制器设置为0,节点不测试

数组包含固件或UBEA数据块。顺序是高字节在前。这个数据的解释是厂商特定的。

14

Data[512]

2

ArtFirmwareReply:

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

OpFirmwareMaster数据包确认。

ArtFirmwareReply packet definition

字名字

1

2

3

4

5

6

7

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Filler2

Type

Int8

Int16

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpFirmwareReply.

动作

发送下一个OpFirmwareMaster.

不允许

不允许

无动作

节点传输到特殊控制器IP地址

不允许

无动作

节点传输到特殊控制器IP地址

不允许

这一数据包是由节点发送到控制器在每个大小

Bit

描述

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

定义数据包内容如下,代码在固件和UBEA中使用。

数值

0x00

助记符

功能

包接收成功

2

FirmBlockGood

最后数据

0x01

FirmAll Good

所有固件接收成功。

固件更新失败(所有错误情况)

0xff

FirmFail

8

Spare[21]

Int8 -

节点设置为0,控制器不测试

Firmware File Format:

所有固件和UBEA更新文件都需要按照下面的格式。

固件文件扩展名是.alf。

UBEA文件扩展名是.alu。

字节

1

名字

ChecksumHi

描述

这是一个16位,一次补足校验和的固件数据区域

2

3

ChecksumLo

VersInfoHi

LSB of above

节点的固件版本号的高字节。控制器只能使用此字段,以决定固件更新是否应继续进行。该约定是一个较高的号码是一个较新的版本的固件。

4

5-34

VersInfoLo

UserName

LSB of above

用户名信息30字节字段。节点不检查此信息。纯粹是由控制器显示。它应该包含文件可读性描述和版本号。虽然这是一个固定长度的字段,它必须包含一个空终止。

2

35-546

Oem[256]

256个字的数组。每个字都是显示高字节而且代表有效文件的OEM代码。未使用的条目必须充满0xFFFF的。

547-1054

Spare[254]

254个字的数组。目前未使用,应设置为零。

1055

1056

1057

1058

1059

Length3

Length2

Length1

Length0

Data[]

LSB

高字节在前的16位值数组的固件。实际数据是制造商特有的。

2

RDM Support:

本节定义用于Art-Net的远程设备管理(RDM)协议的数据包结构。它假定读者熟悉的RDM文档。

Art-Net设备支持RDM如下:

1. 所有RDM发现被代理命令; Art-Net设备保持本地RDM设备列表,并管理他们自己的发现。

2. 所有RDM的非被代理get / set命令;它们传递给最终的反应设备。

该文件规定下列术语:

Input Gateway:输入DMX512到Art-Net的网络的设备(如Art-Lynx IP)。

Output Gateway: 从Art-Net输出DMX512的网络的设备(如Art-Lynx OP)。

Table of Devices (TOD): 由输入和输出网关保持的RDM设备的列表。

RDM Discovery

Output Gateway Operation

输出网关执行RDM发现设备独立于网络运行。这包括完整的发现设备在上电和增量的发现设备作为后台任务。输出网关告知网络其TOD如下:

在收到ArtTodRequest数据包,输出网关定向广播包含整个TOD一个ArtTodData数据包。所有输入网关解析ArtTodData包。如果子网和全集字段匹配,输入网关增加TOD内容到他们自己的内部TOD内容上。这使得输入网关,为他们收到的任何RDM发现设备响应命令。

在初始RDM发现设备后,输出网关在ArtTodData包定向广播他们的TOD。

2

当RDM设备加入或从输出网关的TOD(增量发现过程中)取出,一个ArtTodData包会被自动播出。

Input Gateway Operation

输入网关生成TOD通过监测Art-Net的流量。该TOD然后由代理回复RDM发现设备命令。操作如下:

上电后,输入网关定向广播ArtTodRequest包。

在ArtTodData数据包监视网络。如果子网和全集字段匹配,输入网关增加了TOD内容到它自己的内部TOD。这使得输入网关,为他们收到的任何RDM发现设备响应命令。

输入网关不发送任何RDM发现设备的消息到网络。

Controller Operation:

控制器模拟输入网关的操作。

2

ArtTodRequest:

该数据包用于请求RDM设备(TOD)的列表。一个节点收到此数据包不能把它解释为迫使全部发现设备。全部发现设备被初始化仅在启动电源或当收到sh时。响应是ArtTodData。

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点输出网关 接收

单一传输

广播

节点输入网关 接收

单一传输

广播

媒体服务器 接收

单一传输

动作

无动作

不被允许

控制器定向广播到所有节点

随ArtTodData回复

不被允许

不被允许

无动作

不被允许

输入网关定向广播到所有节点

无动作

不被允许

广播 不被允许

ArtTodRequest packet definition

字名字

1

2

3

4

5

6

7

8

9

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Filler2

Spare1

Spare2

Spare3

大小

Int8

Int16

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

2

Bit

描述

-

-

-

-

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpTodRequest.

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

10

Spare4

11

Spare5

12

Spare6

13

Spare7

14

Net

15

Command

16

AddCount

17

Address [AdCount]

Int8

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

-

传输为0,接收器不测试

传输为0,接收器不测试

需要回复这个数据包的节点的15Bit端口地址的高7Bit

0x00

TodFull 发送完整TOD

地址字段的数组的大小。最大值为32。

此数组定义需要回复这个数据包的输出网关节点的15Bit端口地址的低字节。高四位的分网开关。低四位对应于全集。这是结合了“Net”字段形成15位地址。

2

ArtTodData:

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点输出网关 接收

单一传输

广播

节点输入网关 接收

单一传输

广播

媒体服务器 接收

单一传输

动作

无动作

不被允许

不被允许

无动作

不被允许

输入网关总是定向广播此数据包

无动作

不被允许

不被允许

无动作

不被允许

广播 不被允许

ArtTodData packet definition

字名字

1

2

3

4

5

ID[8]

OpCode

ProtVerHi

ProtVerLo

RdmVer

大小

Int8

Int16

Int8

Int8

Int8

Bit

描述

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpTodData.

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

设备仅支持RDM DRAFT V1.0设置字段为0x00。支持RDM STANDARD V1.0设备设置字段为0x01。

6

7

8

9

Port

Spare1

Spare2

Spare3

Int8

Int8

Int8

Int8

Int8

Int8

Int8

2

-

-

-

-

-

-

-

物理端口。范围1-4。

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

10

Spare4

11

Spare5

12

Spare6

2024年2月25日发(作者:菅云霞)

Art-Net概述:

Art-Net是一种基于TCP/IP协议栈的以太网协议。目的在于使用标准的网络技术允许在广域内传递大量DMX512数据。

最新版本协议实现了许多新的功能,并简化了数据传输机制。这些变化都是基于那些使用此协议的厂家反馈。

数据包地址:

Art-Net3规范中,理论上最多为32768个数据包。实际可传输数据包数量取决于网络物理层和分配使用量。下面表格提供一个经验值。

地址

单一传播

Bit15

0

端口地址

高字节被称为“网”。这个是在Art-Net中被引入,之前为0。该网具有用于每个节点的单一值。低字节的高四位被称为子网地址,并设置为每个节点一个值。低字节的第四位用于节点中定义独特DMX512数据包。

这意味着任何节点具有:

1.一个“网络”开关。

2.一个“子网”开关

3.一个“数据包”开关用于每个独特DMX512输入或输出。

物理:10BaseT

40

物理:100BaseT

400

物理:1000BaseT

4000+

每个DMX512数据包的端口地址被编码为一个15位数,如下表。

Bit14-8

网络

Bit7-4

子网

Bit3-0

数据包

产品设计者可以选择通过硬件或软件开关实现。

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被称为一个节点。

2

端口地址(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地址配置——静态地址

2

使用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地址计算将如下:

2

1. Network Switch = Off

address = 12:45:78:98:34:76 (hexadecimal number)

3. OEM code = 0x0010

计算:

 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:

实体

控制器

数据包策略

方向

接收

单播传输

定向广播

2

功能

发送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)

2

ArtPoll包的定义

字段

1

名字

ID[8]

大小

Int8

Bit

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’’r’’t’’-’’N’’e’’t’0x00

-

- 2 OpCode Int16

操作码(OpCode)定义了再UDP包中紧随ArtPoll的数据的类型。

先传输低字节,操作码列表详见于表格1。

调到OpPoll。

3

4

ProtVerHi

ProtVerLo

Int8

Int8

-

-

Art-Net协议版本号高字节

Art-Net协议版本号低字节。当前值为14,控制器应该忽略与节点的通讯当使用版本号低于14的协议。

5 TalkToMe Int8

-

7-4

3

2

1

设置节点行为

未使用,传输为0,

do not test upon receipt.

0=诊断信息为广播(if bit 2)

1=诊断信息为单一传播(if bit 2)

0=不要发送给我诊断信息

1=给我发送诊断信息

0=仅当响应ArtPoll或ArtAddress时发送ArtPollReply

1=每当节点条件发生变化时发送ArtPollReply。该选项使得控制器在条件发生变化时响应而不需要不断地轮询。

0

6

优先级

Int8 -

弃用

应发送的最低优先级的诊断信息。详见表格5

表格1-操作码

下表中详细规定了在Art-Net包中使用操作码的规定值。

操作码

名字 数值

2

定义

OpPoll 0x2000

这是一个ArtPoll包,没有其他数据被包含在这个UDP包中

OpPollReply

OpDiagData

OpCommand

OpOutput / OpDmx

0x2100

0x2300

0x2400

0x5000

这是一个ArtPollReply包,包含设备状态信息。

诊断和数据记录的数据包。

用于发送基于文本的参数命令

这是一ArtDmx数据包。它包含零起始码DMX512信息的单一的全集(数据包??)。

OpNzs

0x5100

这是一ArtNzs数据包。它包含非零起始码(除RDM)DMX512信息的单一的全集。

OpAddress

0x6000

这是一个ArtAddress分组。它包含了节点远程编程的信息。

OpInput

0x7000

这是一个ArtInput数据包,它包含DMX输入的许可-禁止数据。

OpTodRequest

0x8000

这是一个ArtTodRequest 数据包。It is used to request a

Table of Devices (ToD) for

RDM discovery. 用来要求被发现的RDM设备的表格

OpTodData

0x8100

这是一个ArtTodData 数据包。It is used to send a Table

of Devices (ToD) for RDM

discovery. 用来发送被发现的RDM设备表格

OpTodControl

0x8200

这是一个ArtTodControl 数据包。It is used to send RDM

discovery control messages.

用来发送被发现RDM的控制信息

OpRdm

0x8300

2

这是一个ArtRdm 数据包。It

is used to send all non

discovery RDM messages.

这是一个数据包。用来发送所有非发现RDM信息

OpRdmSub

0x8400

这是一个ArtRdmSub 数据包。用来发送压缩的,RDM子设备的数据。

OpVideoSetup

0xa010

这是一个ArtVideoSetup 数据包。包含实现扩展的视频功能的节点的视频画面设置信息。

OpVideoPalette

0xa020

这是一个ArtVideoPalette 数据包。包含实现扩展的视频功能的节点的调色板设置信息。

OpVideoData

0xa040

这是一个ArtVideoData 数据包。包含实现扩展的视频功能的节点的显示数据。

OpMacMaster

0xf000

这是一个ArtMacMaster 数据包。用来编程节点的MAC地址,OEM设备类型和制造商ESTA代码。这是一个节点的出厂初始化。不能被应用程序使用。

OpMacSlave

0xf100

这是一个ArtMacSlave 数据包。节点返回确认收到ArtMacMaster数据包。

OpFirmwareMaster

0xf200

这是一个ArtFirmwareMaster 数据包。用于将新固件或固件扩展上传到节点。

OpFirmwareReply

0xf300

这是一个ArtFirmwareReply

数据包。节点返回确认是否收到ArtFirmwareMaster或它被返回由节点确认收到一个ArtFirmwareMaster分组或ArtFileTnMaster分组。数据包。

OpFileTnMaster

0xf400

2

上传用户文件到节点。

OpFileFnMaster

OpFileFnReply

OpIpProg

0xf500

0xf600

0xf800

从节点下载用户文件

节点确认下载

这是一个ArtIpProg 数据包。用来重新编程节点的IP,掩码和端口地址。

OpIpProgReply

0xf900

这是一个ArtIpProgReply 数据包。节点返回确认是否收到ArtIpProg 数据包。

OpMedia

0x9000

这是一个ArtMedia数据包。由媒体服务器单一传播而且由控制器来使其动作。

OpMediaPatch

0x9100

这是一个ArtMediaPatch 数据包。由控制器单一传播而且由媒体服务器来使其动作。

OpMediaControl

0x9200

这是一个ArtMediaControl

数据包。由控制器单一传播而且由媒体服务器来使其动作。

OpMediaContrlReply

0x9300

这是一个ArtMediaControlReply 数据包。由媒体服务器单一传播而且由控制器来使其动作。

OpTimeCode

0x9700

这是一个ArtTimeCode 数据包。用来通过网络传输时间代码。

OpTimeSync

OpTrigger

OpDirectory

OpDirectoryReply

0x9800

0x9900

0x9a00

0x9b00

用于同步实时日期和时钟。

用于发送触发宏

请求节点的文件列表

用文件列表来回复OpDirectory

Table 2 - OemCode:

在DMX-Workshop安装目录中的Art-NetOemCodes.h文件中有详述注册的OEM代码。

在OEM代码中定义一个特定制造商的产品类型。该OemCode是在ArtPollReply返回。

2

Table 3 – NodeReport Codes:

下表详细列出了NodeReport代码。 NodeReport代码为节点和控制器定义了一般错误,报告和状态信息。该NodeReport在ArtPollReply返回。

代码

0x0000

0x0001

0x0002

0x0003

助记符

RcDebug

RcPowerOk

RcPowerFail

RcSocketWr1

描述

启动在调试模式(只有在开发中使用)

开机测试成功

开机硬件测试失败

最后的UDP从节点获取失败,原因是长度缩短了,最有可能因冲突造成的。

0x0004

0x0005

0x0006

0x0007

0x0008

0x0009

0x000a

0x000b

0x000c

0x000d

0x000e

0x000f

RcParseFail

RcUdpFail

RcShNameOk

RcLoNameOk

RcDmxError

RcDmxUdpFull

RcDmxRxFull

RcSwitchErr

RcConfigErr

RcDmxShort

RcFirmwareFail

RcUserFail

无法确定最后UDP传输。检查操作码和数据包的长度。

无法再最后传输尝试中打开UDP口。

确认通过ArtAddress的短名编程是成功的

确认通过ArtAddress的长名编程是成功的

DMX512检测到接收错误

DMX内部发送缓冲区溢出

DMX内部接收缓冲区溢出

接收 Universe switches 冲突

固件与产品配置不匹配

DMX输出不足检测。见GoodOutput处

新固件最后一次尝试上传失败

当使用远程处理锁定了地址时用户已经改变了开关设定。用户改变无效。

Table 4 – Style Codes(样式代码):

下表详细列出了样式代码。样式代码定义了一个控制器的一般功能。样式代码在ArtPollReply返回。

2

代码

0x00

0x01

0x02

0x03

0x04

0x05

0x06

助记符

StNode

StController

StMedia

StRoute

StBackup

StConfig

StVisual

描述

主/从Art-Net设备

灯光控制台

媒体服务器

网络路由设备

备份设备

配置或诊断工具

模拟器

ArtPollReply:

数据包策略

实体

所有

设备

方向

接收

单一传输

广播

动作

无Art-Net动作

不允许

定向广播数据包响应ArtPoll

响应控制器的ArtPoll的设备,发送ArtPollReply。这个数据包也由上电时所有Art-Net设备广播到定向广播地址。

ArtPollReply packet definition

字段

1

名字

ID[8]

大小

Int8

Bit

-

描述

8个字符数组,最后一个字符是一个空的终止。

Value=

‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpPollReply

先传输低字节

包含节点的IP地址数组。第一个数组条目是最高有效字节。

端口总是0x1936

先传输低字节

节点的固件版本的高字节。控制器只需要使用此字段来决定是否进行固件升级。这是一个使用较新版本号的固件的约定。

2

3

4

5

OpCode

IP Address[4]

Port

VersInfoH

Int16

Int8

Int16

Int8

-

-

-

-

6

7

VersInfoL

NetSwitch

Int8

Int8

-

-

节点固件版本号的低字节

15位的端口地址的14-8位被编码成字段最低7位。用来结合2

SubSwitch和Swin[]或Swout[]产生完整集合地址。

8

SubSwitch

Int8 -

15位端口地址的7-4位被编码成字段的最低4位。用来结合SubSwitch和Swin[]或Swout[]产生完整集合地址。

9

10

OemHi

Oem

Int8

Int8

-

-

Oem数值的高字节。

Oem数值的低字节。Oem字节描述了设备的供应商和可用功能。高15位表明可用的扩展功能。

目前注册的代码定义见表格2。

11

Ubea Version

Int8 -

此字段包含用户BIOS扩展区(UBEA)的固件版本。如果UBEA未编程,这个字段包含零。

12

Status1

Int8 -

7-6

一般状态寄存器包含位字段如下。

指示器状态

00 指示器状态未知

01 指标器在定位模式

10 指示器在静音模式

11指示器在普通模式

5-4

端口地址的编程管理

00 端口编程管理未知

01 所有端口地址通过前面板控制设置

10端口地址全部或部分通过网络或Web浏览器编程。

11 未使用

3

2

不要实施,传输0,接收不要测试。

0=普通固件引导(从闪存)。不支持双启动的节点,清除此字段为零。

1=从ROM启动。

1

0

2

0=不能远程设备管理(RDM)

1=可以远程设备管理(RDM)

0= UBEA不存在或已损坏

1=UBEA存在

13

EstaManLo

Int8 -

ESTA制造商代码。这些码被用于表示设备制造商。它们是由ESTA分配。这个字段可以被解释为两个ASCII字节表示制造商的缩写。

Hi byte of above

数组表示节点的空终止短名称。控制器使用ArtAddress包编程该字符串。最大长度为17个字符加上空字符。这是一个固定长度的字段,尽管它包含字符串可以比字段短。

14

15

EstaManHi

ShortName [18]

Int8

Int8

-

-

16

LongName [64]

Int8 -

数组表示节点的空终止长名称。控制器使用ArtAddress包编程该字符串。最大长度为63个字符加上空字符。这是一个固定长度的字段,尽管它包含字符串可以比字段短。

17

NodeReport [64]

Int8 -

数组是节点运行状态或操作错误的文字报告。主要用于“工程”数据而不是“最终用户”数据。改字段的格式为:“#XXXX[YYYY..] ”

xxxx是一个十六进制的状态码,如表3规定。节点每发送一次ArtPollResponse十进制计数器yyyy增加一次。

这使得控制器可以在节点钟监视事件变化。

ZZZZ是定义状态的英文文本字符串。

这是一个固定长度的字段,尽管它包含字符串可以比字段短。

18

NumPortsHi

Int8 -

字的高字节描述端口的输入输出数量。高字节是为将来的扩展,目前为零。

19

NumPortsLo

Int8

2

-

字的低字节描述端口的输入输出

数量。如果输入数量不等于输出数量,取最大值。如果没有输入或输出端口实现,可以使用0.最大值为4.当信息隐含在PortTypes[]时,节点可以忽略此字段。

20

PortTypes [4]

Int8 -

这个数组定义了每个通道的操作和协议。 (Ether-Lynx

example=0xC0,0xC0,0xC0,0xc0)。数组的长度是固定的,节点上的时间可用的输入或输出的数目是独立的。

7

合集是可通过Art-net网络输出的数据的通道。(Set is this

channel can output data from the

Art-Net Network. )

6

5-0

设置此通道是否可以通过Art-net网络输入。

000000 = DMX512

000001 = MIDI

000010 = Avab

000011 = Colortran CMX

000100 = ADB 62.5

000101 = Art-Net

数组定义了节点的输入状态

设置-数据接收

设置-通道包括DMX512测试数据包。

设置-通道包括DMX512的

设置-通道包括DMX512的文本包

设置-输入禁止

设置-检测到接收错误

未使用而且传输为0

数组定义了节点的输出状态

设置-数据已经传输

设置-通道包括DMX512的文本包

设置-通道包括DMX512的

设置-通道包括DMX512的文本包

输出合并ArtNet数据

上电检测DMX输出不足

21

GoodInput [4]

Int8 -

7

6

5

4

3

2

1-0

22

GoodOutput [4] Int8 -

7

6

5

4

3

2

2

1

0

设置-合并模式是LTP

未使用而且传输为0

每4个可能的输入口是15位端口编码中的3-0位被编码成低有效位。

23

SwIn [4]

Int8 -

24

SwOut [4]

Int8 -

每4个可能的输出口是15位端口编码中的3-0位被编码成低有效位。

25

SwVideo

Int8 -

设置为00时,视频显示出本地数据。设置为01时,视频显示以太网数据。该字段现在已经弃用。

26

SwMacro

Int8 -

如果节点支持微距键输入,此字节代表的触发值。该节点是负责“反跳”的输入。当ArtPollReply设置为自动发送,(TalkToMe位1),所述ArtPollReply将被发送键向下和向上键事件。不过,控制器不应该假设只有一个位的位置发生了变化。

宏输入可用于远程事件触发或提示。

位字段是高电平有效。

Set – Macro 8 active.

Set – Macro 7 active.

Set – Macro 6 active.

Set – Macro 5 active.

Set – Macro 4 active.

Set – Macro 3 active.

Set – Macro 2 active.

Set – Macro 1 active.

如果节点支持远程触发输入,此字节代表的触发值。该节点是负责“反跳”的输入。当ArtPollReply设置为自动发送,(TalkToMe位1),所述ArtPollReply将被发送键向下和向上键事件。不过,控制器不应该假设只有一个位的位置发生了变化。

宏输入可用于远程事件触发或提27

SwRemote

Int8

7

6

5

4

3

2

1

0

-

2

示。

7

6

5

4

3

2

1

0

位字段是高电平有效。

Set – Macro 8 active.

Set – Macro 7 active.

Set – Macro 6 active.

Set – Macro 5 active.

Set – Macro 4 active.

Set – Macro 3 active.

Set – Macro 2 active.

Set – Macro 1 active.

28

29

30

31

Spare

Spare

Spare

Style

Int8

Int8

Int8

Int8

未使用,设置为0

未使用,设置为0

未使用,设置为0

样式代码定义了设备的装备风格。见表4当前样式代码。

32

MAC Hi

Int8

MAC地址Hi字节。设置为零,如果节点不能提供此信息。

33

34

35

36

37

38

39

MAC

MAC

MAC

MAC

MAC Lo

Int8

Int8

Int8

Int8

Int8

Int8

Int8

MAC Address

MAC Address

MAC Address

MAC Address

MAC Address Lo Byte

BindIp[4]

BindIndex

如果该单元是大规模的一部分或模块化产品。这是源设备的IP。

设置为零,如果没有约束力,否则此数字代表约束设备的顺序。数值越小,越接近源设备。值为1表示源设备。

40

Status2

Int8 0

1

2

3

2

Set(设置)=产品支持Web浏览器的配置。

Clr =节点的IP是手动配置。

Set =节点的IP是DHCP配置。

Clr = 节点禁止DHCP

Set= 节点使能DHCP

Clr = 节点支持8位端口地址

(Art-NetII)

Set = 节点支持15位端口地址(Art-Net3)

41

Filler

26x8

传输为0,未来扩展

2

ArtIpProgReply:

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点 接收

单一传输

广播

媒体服务器 接收

单一传输

广播

动作

无动作

不允许

不允许

无动作

发送到特定控制器的IP地址。

不允许

无动作

发送到特定控制器的IP地址。

不允许

由节点发出的ArtIpProgReply数据包响应ArtIpProg数据包。不支持IP地址的远程编程节点不回复ArtIpProg包。在所有的方案中,ArtIpProgReply被发送到发送者的私有地址。

ArtIpProgReply packet definition

字段

1

名字

ID[8]

大小

Int8

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

2

3

4

5

6

7

8

9

10

11

OpCode

Int16

OpIpProgReply 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节(14)

Pad length to match ArtPoll.

Pad length to match ArtPoll.

Pad length to match ArtIpProg.

Pad length to match ArtIpProg.

节点IP地址

2

ProtVerHi

Int8

ProtVerLo

Int8

Filler1

Filler2

Filler3

Filler4

ProgIpHi

ProgIp2

ProgIp1

Int8

Int8

Int8

Int8

Int8

Int8

Int8

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

ProgIpLo

Int8

ProgSmHi

Int8

ProgSm2

ProgSm1

ProgSmLo

ProgPort

Hi

ProgPort

Lo

Status

Int8

Int8

Int8

Int8

Int8

Int8

节点的子网掩码

节点的端口地址

Bit7 0

Bit6 使能DHCP

Bit5-0 0

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

传输0,接收不测试(Transmit as zero,

receivers don’t test. )

Spare2

Spare3

Spare4

Spare5

Spare6

Spare7

Spare8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

2

ArtAddress:

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点 接收

单一传输

广播

媒体服务器 接收

单一传输

广播

动作

无动作

控制器发送到一个特定的节点的IP地址。

不允许

应答ArtPollReply.

不允许

不允许

应答ArtPollReply.

不允许

不允许

网络上的控制器或监控装置可以远程重新编程的节点的许多控制。例如,将允许灯光控制台重新路由DMX512数据在远程位置。这是通过发送一个ArtAddress数据包到节点的IP地址来实现的。 (该IP地址在ArtPoll数据包返回)。节点应答ArtPollReply数据包。

字段5-13包含可编程到节点的数据。

ArtAddress packet definition

字段

1

2

3

4

5

名字

ID[8]

OpCode

大小 描述

Int8

Int16

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpAddress

先传输低字节

Art-Net协议版本号的高字节

Art-Net协议版本号的高字节,当前值为14

15位端口地址的14-8位被编码为字段的最低7位。用来结合SubSwitch和SWIN[]或SWOUT[],以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

2

ProtVerHi

Int8

ProtVerLo

Int8

NetSwitch

Int8

6

7

Filler2

Short

Name

[18]

Int8

Int8

使用值0x7f来不变化

Pad length to match ArtPoll.

数组表示节点的空终止短名称,控制器使用ArtAddress包编程该字符串。最大长度为17个字符加上空。该节点将忽略此值,如果字符串为空。

这是一个固定长度的字段,尽管它包含字符串可以比字段短。

8

Long

Name

[64]

Int8

数组表示节点的空终止长名称,控制器使用ArtAddress包编程该字符串。最大长度为63个字符加上空。该节点将忽略此值,如果字符串为空。

这是一个固定长度的字段,尽管它包含字符串可以比字段短。

9

SwIn [4]

Int8

15位端口地址的3-0位为字段给定的输入端口被编码成在最低4位。这是用在与NetSwitch和SubSwitch组合,以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

使用值0x7f来不变化

10

SwOut [4]

Int8

15位端口地址的3-0位为字段给定的输入端口被编码成在最低4位。这是用在与NetSwitch和SubSwitch组合,以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

使用值0x7f来不变化

11

SubSwitch

Int8

15位端口地址的7-4位为字段给定的输入端口被编码成在最低4位。这是用来结合NetSwitch和SWIN[]或SWOUT[],以产生完整的全集地址。

这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。

发送0x00到重置此值到物理开关的设置。

使用值0x7f来不变化

12

13

SwVideo

Int8

保留

节点配置指令:

数值

0x00

0x01

助记符

AcNone

AcCancel

Merge

2

Command

Int8

动作

无动作

如果节点目前正处于合并模式,在收到下一ArtDmx包时取消合并模式。见合并运作模

式的讨论。

0x02

0x03

0x04

AcLedNormal

AcLedMute

AcLedLocate

节点的前面板指示灯正常工作。

节点的前面板指示灯被禁止,关闭。

节点的前面板指示灯快速闪烁。它的目的是作为大型装置的一个出口定位器。

0x05

AcResetRx

Flags

重置节点的SIP,文本,测试和数据错误标志。

如果输出不足被标记,强制测试重新运行。

需要注意的是LTP/ HTP设置应由功率循环过程中的节点保留。

AcMergeLtp0

设定DMX端口0到合并的LTP0x10

模式。

0x11

0x12

0x13

0x50

0x51

0x52

0x53

0x90

0x91

0x92

0x93

AcMergeLtp1

AcMergeLtp2

AcMergeLtp3

AcMergeHtp0

AcMergeHtp1

AcMergeHtp2

AcMergeHtp3

AcClearOp0

AcClearOp1

AcClearOp2

AcClearOp3

设定DMX端口1到合并的LTP模式。

设定DMX端口2到合并的LTP模式。

设定DMX端口3到合并的LTP模式。

设定DMX端口0到合并的HTP模式(默认)。

设定DMX端口1到合并的HTP模式(默认)。

设定DMX端口2到合并的HTP模式(默认)。

设定DMX端口3到合并的HTP模式(默认)。

清除DMX端口0的输出缓冲区

清除DMX端口1的输出缓冲区

清除DMX端口2的输出缓冲区

清除DMX端口3的输出缓冲区

2

ArtDiagData:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

供显示。

动作

特殊用途

ArtPoll定义

ArtPoll定义

无动作

ArtPoll定义

ArtPoll定义

无动作

ArtPoll定义

ArtPoll定义

ArtDiagData是一个通用数据包,允许一个节点或控制器发送诊断数据以 控制器发出的ArtPoll数据包定义了需要被发送信息的目的地。

ArtDiagData packet definition

ArtDiagData

字段

1

2

3

4

5

6

7

8

9

10

11

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Priority

Filler2

Filler3

LengthHi

LengthLo

大小

Int8

Int16

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Bit

-

-

-

-

-

-

-

-

-

-

-

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput, 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

接收忽略,被发送器设置为0

诊断数据的优先级,见表格5

接收忽略,被发送器设置为0

接收忽略,被发送器设置为0

下面文本数组的长度,高字节

低字节

ASCII文本数组,空终止。最大长度为512字节,其中包括空终止。

Data[Length]

Int8

2

Table 5 – Priority Codes:

下表详细诊断优先级代码。这些都是用在ArtPoll和ArtDiagData。

代码 助记符

0x10

DpLow

0x40

DpMed

0x80

DpHigh

描述

低优先级信息

中等优先级信息

高优先级信息

0xe0

DpCritical

关键优先级信息

0xf0

DpVolatile

易失信息。这种类型的信息在DMX-Workshop诊断显示一行。所有其它类型显示在列表框。

2

ArtTimeCode:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

动作

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

ArtTimeCode允许时间码通过网络传输。数据格式是结合纵向时间代码和MIDI时间码。电影,EBU,丢帧和SMPTE的四个关键类型也都进行编码。

数据包是用在特殊用途,但在一般情况下,单一控制器将广播数据包到网络。

ArtTimeCode packet definition

字段

1

2

3

4

5

6

7

8

9

10

11

名字

ID[8]

OpCode

大小

Int8

Int16

Bit

描述

-

-

-

-

-

-

-

-

-

-

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpTimeCode 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

接收忽略,被发送器设置为0

接收忽略,被发送器设置为0

帧时间,0-29取决于模式

秒,0-59

分,0-59

时,0-23

0 = Film (24fps)

1 = EBU (25fps)

2 = DF (29.97fps)

3 = SMPTE (30fps)

2

ProtVerHi

Int8

ProtVerLo

Int8

Filler1

Filler2

Frames

Seconds

Minutes

Hours

Type

Int8

Int8

Int8

Int8

Int8

Int8

Int8

ArtCommand:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

广播,由特殊用途决定

ArtCommand packet definition

字段

1

2

3

4

5

6

7

8

9

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

EstaManHi

EstaManLo

LengthHi

LengthLo

Data

[Length]

动作

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

ArtCommand数据包用于发送属性设置样式命令。该数据包可以单播或大小

Int8

Int16

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Bit

描述

-

-

-

--

-

-

-

-

-

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

接收器忽略,被发送器设置为0

诊断信息的优先级,见表5

下面文本数组的长度,高字节

低字节

ASCII文本数组,空终止。最大长度为512字节,其中包括空终止。

数据段包含文本命令。文本是ASCII编码,并为空终止,不区分大小写。设置数据数组为最大512而且无填补未使用条目是可用但低效率的。

命令文本可以包含多个命令,并坚持语法如下:

Command=Data&

2

&符号是命令之间的间隔,另外请注意,该文本是大写的可读性;它不区分大小写。

迄今,Art-Net定义了两个命令。据预测,可能额外添加其他厂商注册的业界广泛认可的指令。

这些指令将在EstaMan=0xFFFF时候传输。

Table 6 – ArtCommand Commands:

下表详细列出了在ArtCommand使用定义的命令。

指令 描述

语法:“SwoutText=Playback&”

SwinText

此命令用于重新编程与ArtPollReply-> SWOUT字段相关联的标签。

语法:“SwoutText=Record &”

SwoutText

此命令用于重新编程与ArtPollReply-> SWOUT字段相关联的标签。

2

ArtTrigger:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

器广播到所有其他设备。

在某些情况下,控制器可以仅希望触发单个设备或一小部分,在这种情况下,单播将被使用。

ArtTrigger packet definition

字段

1

2

3

4

5

6

7

8

9

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

动作

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

特殊用途

ArtTrigger数据包用于发送触发宏到网络。最常见的实施涉及单个控制大小

Int8

Int16

Int8

Int8

Bit

-

-

-

-

-

-

-

描述

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

需要接受触发器的节点的制造商代码(高字节)。

需要接受触发器的节点的制造商代码(低字节)。

密钥

子密钥

密钥定义的有效载荷的解释

OemCodeHi

Int8

OemCodeLo

Int8

Key

SubKey

Data [512]

Int8

Int8

Int8[]

2

Key

密钥(key)是一个用来定义数据包用的8-bit数值。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于0xFFFF,则密钥和子键字段是制造商明确。

然而,当OEM的字段=0xffff,意味着Key,SubKey和Payload由表格7来定义。

Table 7 – ArtTrigger Key Values.

下表详细列出了在ArtCommand使用定义的命令。

Key

0

1

2

3

4-255

名字

KeyAscii

KeyMacro

KeySoft

KeyShow

Undefined

用途(Purpose)

SubKey字段包含当键盘按下,接收设备需要处理的ASCII码。(Payload not used)

SubKey字段包含的接收设备需要执行的宏的数量。(Payload not

used)

SubKey字段包含一个当软按键(sift-key)键盘被按下而且接收设备需要处理的软按键。(Payload not used)

SubKey字段包含的接收设备需要运行的显示的数量。(Payload

not used)

未定义

SubKey

子密钥(SubKey)是一个用来定义数据包用的8-bit数值。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于ffff16,则密钥和子键字段是制造商明确。

然而,当OEM的字段=ffff16,意味着Key,SubKey和Payload由上面表格来定义。

Payload

Payload是一个长度为512的8-bit字节数组。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于0xFFFF,则Payload是制造商明确。

2

ArtDmx:

数据包策略

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

和控制器到节点的格式是相同的。

数据输出是通过全集设置的DMX O/P端口。在没有接收到ArtDmx数据包,每个DMX O / P端口连续地重发同一帧。、

每个输入口接收到的第一个完整的DMX数据帧放在上述的ArtDmx数据包中,并且作为一个包含全集参数的ArtDmx数据包传输。每个随后的包含新数据的(不同长度或不同内容)DMX数据帧同样作为ArtDmx数据包传输。

上电后,节点不传输ArtDmx数据当输入未接收到DMX512数据。

然而,活动但不变化的输入会每隔4秒重新传输最后一个有效的ArtDmx数据包。

失败的DMX输入将不会继续传输ArtDmx数据。

2

动作

特殊用途

特殊用途

特殊用途

ArtDmx是用于传输DMX512数据的数据包。节点到控制,节点到节点

Unicast Subscription:

ArtDmx数据包必须单一传播到包含ArtDmx的具体全集的用户。

发送设备必须定期ArtPoll网络来检测订阅的设备的变化。已订阅的节点将在ArtPollReply中列出订阅的全集。已订阅意味着全集(universes)在不管Swin数组还是Swout数组中被列出。

如果发送器想发送的全集(universes)没有订阅者,那么ArtDmx将不能被广播。如果全集用户超过40对于给定的全集,发送设备可以广播。

ArtDmx packet definition

字段

1

2

3

4

5

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

Sequence

大小

Bit

描述

Int8 -

8个字符数组,最后一个字符是一个空的终止。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpOutput 先传输低字节

Art-Net协议版本号高字节

Art-Net协议版本号低字节,当前值为14

序列号用来确保ArtDmx数据包以正确的顺序使用。当Art-net是通过一个介质诸如因特网,可能的ArtDmx数据包在接收时出现乱序。

此字段递增取值范围0x01至0xFF,以允许接收节点重新排序数据包。

序列号设置为0来禁止这功能

Int16 -

Int8

Int8

Int8

-

-

-

6

7

8

9

Physical

SubUni

Net

LengthHi

Int8

Int8

Int8

Int8

-

-

-

-

从DMX512数据输入的物理输入端口。此字段仅供参考。使用全集来数据路由。

目的地数据包的15位端口地址的低字节

目的地数据包的15位端口地址的高7位字节

DMX512数据数组的长度。这个值范围需要是2-512.

表示数据包编码的DMX512通道数目。注:产品转换Art-Net到DMX512可以选择总发送512个通道。

高字节

10

11

Length

Int8 -

-

上述内容低字节

DMX512的灯光数据的变长数组。

Data[Length]

Int8

刷新率:

2

不可以使用重复速率传输特定IP地址的ArtDmx数据包比包含512数据包时隙的最大重复速率快。

Data Merging:

Art-Net协议允许多个节点或控制器发送ArtDmx数据到同一个全集。

一个节点可以通过比较接收到的ArtDmx报文的IP地址检测到这种情况。如果同一个全集接收到的ArtDmx数据包给是来自不同的IP地址,会存在潜在的冲突。

节点可以合理地处理这种情况使用以下两种方法之一:

1. 认为这是一个错误条件,并等待用户干预。

2. 自动合并数据。

节点应该在产品使用指南中记录被实施的方法。优选合并,因为它提供的功能的一个更高的水平。

合并是按照ArtAddress包的说明在LTP或HTP模式实现。

合并方式实现如下:

如果从更不同IP地址接收到ArtDmx,数据被合并到DMX输出。在这种情况下,ArtPollReply-GoodOutput-Bit3被置位如果Art-TalkToMe Bit1被置位,那就需要在合并开始时发送一个ArtPollReply。

从合并模式退出的处理方式如下:

如果接受到ArtAddress AcCancelMerge,那下一个ArtDmx信息接收结束合并模式。然后节点丢弃IP地址与终止合并模式的ArtDmx数据包的IP地址不符的ArtDmx数据包。

如果ArtDmx的任一(但不是两者)源停止,发生故障的源在合并缓冲器中保持10秒钟。如果10秒超时过程中,失败的源回报,合并模式将继续。如果发生故障的来源没有恢复,在该超时周期结束时,节点退出合并模式。

如果ArtDmx的两个来都发生故障,输出保持最后的合并结果。合并被限制为两个来源,任何额外的来源将被节点忽略。合并执行允许的操作如下两个关键模式。

2

1. 联合控制:两个控制器(控制台),可以在网络上运行和合并数据到多个节点。

2. 备份:一个控制器(控制台)可以监视网络当主控制器发生故障。如果发生故障,则可以使用ArtAddress AcCancelMerge命令即时控制网络。

当一个节点提供多个DMX512输入,节点需要处理数据合并。因为节点只能有一个IP地址。如果不能再节点处理好,那么ArtDmx数据包就会同一个IP地址和同一个全集数目,但是冲突的等级数据将会传输到网络。

2

ArtNzs:

实体

控制器

节点

媒体服务器

方向

接收

单一传播

广播

接收

单一传播

广播

接收

单一传播

广播

动作

特殊用途

Yes

No

特殊用途

Yes

No

特殊用途

Yes

No

ArtNzs是用来传输非零起始码(RDM除外)的DMX512的数据包。节点到控制器,节点到节点,控制器到节点的格式是相同的。

ArtNzs packet definition

字段

1

2

3

4

5

名字

ID[8]

OpCode

ProtVerHi

ProtVerLo

Sequence

大小

Int8

Int16

Int8

Int8

Int8

Bit

描述

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpNzs

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

序列号用来确保ArtDmx数据包以正确的顺序使用。当Art-net是通过一个介质诸如因特网,可能的ArtDmx数据包在接收时出现乱序。

此字段递增取值范围0x01至0xFF,以允许接收节点重新排序数据包。

序列号设置为0来禁止这功能

6

StartCode

Int8 -

数据包的DMX512起始码,不可以是0或RDM。

2

7

8

9

SubUni

Net

LengthHi

Int8

Int8

Int8

-

-

-

15bit目的地端口地址的低字节

15bit目的地端口地址的高7位字节

DMX512数据数组的长度。这个值范围需要是2-512.

表示数据包编码的DMX512通道数目。注:产品转换Art-Net到DMX512可以选择总发送512个通道。

高字节

10

11

Length

Data

[Length]

Int8

Int8

-

-

上述内容低字节

DMX512的灯光数据的变长数组。

2

ArtInput:

数据包策略

实体

控制器

节点

媒体服务器

方向

接收

单一传播

广播

接收

单一传播

广播

接收

单一传播

广播

动作

无动作

控制器发送到一个特定节点的IP地址

ArtPollReply回复

ArtPollReply回复

无动作

无动作

ArtPollReply回复

无动作

无动作

网络上的控制器或监控装置可以启用或禁用在任何网络节点中的个人的DMX512输入。这使得控制器直接控制网络流量,并确保未使用的输入被禁止,因此不浪费带宽。

所有节点上电时所有输入使能。

在控制器上实现此功能时应注意,一些网络流量可能是一个节点到节点的基础上运行。

ArtInput packet definition

字段

1

2

3

4

5

6

7

名字

ID[8]

OpCode

大小

Int8

Int16

Bit

描述

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpNzs

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

描述输入或输入端口数字的字的高字节,高字节是未将来的扩展,目前为零。

2

ProtVerHi

Int8

ProtVerLo

Filler1

Filler2

NumPortsHi

Int8

Int8

Int8

Int8

8

NumPortsLo

Int8 -

描述输入或输入端口数字的字的低字节。如果输入数不等于输出数,取最大的值。最大值为4。

9

Input [4]

Int8 -

数组定义每个通道的输入禁止状态。 (例如=0×01,0×00,为0x01,0x00来禁用第一和第三输入)

7-1 未使用

0 设置为禁用此输入。

2

Firmware and UBEA upgrades:

本章节定义用于发送固件版本为节点的数据包。在所有的情况下,通信是私人的。广播地址绝不使用。

处理涉及的控制器发送多个ArtFirmwareMaster包到节点的IP地址。每个数据包通过用ArtFirmwareReply节点确认。

控制器允许20秒的最大延迟接收ArtFirmwareReply。

如果应答未在此时间被接收,则控制器终止处理。用更大的时间周期,允许节点直接写入来减缓非易失性存储器。

节点允许发送ArtFirmwareReply和接收下一连续ArtFirmwareMaster之间有20秒的延迟。如果下一个连续的块未在此时间内收到,那么节点中止处理。在这种情况下该节点返回到其以前的操作,并相应的置位ArtPollReply->Status和ArtPollReply - > NodeReport。

固件更新文件包含定义节点OEM有效值的头数据。发送到节点之前,控制器必须检查此值。节点也要在接收到第一个数据包时检查这个数据。如果节点接收到一个无效的代码包,它发出了一个错误响应。

UBEA是用户的Bios扩展区。这是一种有限的固件上载的允许第三方固件扩展被添加到节点的机制。

实现这些特征的制造商必须记录软件接口要求。

2

ArtFirmwareMaster:

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

动作

无动作

控制器传输到特定节点IP地址

不允许

随OpFirmwareReply回应

不允许

不允许

随OpFirmwareReply回应

不允许

广播 不允许

ArtFirmwareMaster packet definition

字名字

1

2

3

4

5

6

7

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Filler2

Type

Int8

Int16

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpFirmwareMaster

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

定义数据包内容如下:

数值

0x00

助记符

FirmFirst

功能

固件上传的第一个数据包。

0x01

FirmCont

固件上传的延续连续包。

0x02

FirmLast

固件上传的最后一个数据包。

0x03

UbeaFirst

固件上传的第一个2

大小

Bit

描述

UBEA

包。

0x04

UbeaCont

固件上传的延续连续

UBEA

包。

0x05

UbeaLast

固件上传的最后一个UBEA

包。

8

9

BlockId

Firmware Length3

Int8

Int8

-

-

计算固件上传的连续块。开始0x00作为FirmFirst或UbeaFirst包。

这个int64的参数描述上传固件和固件头部大小的总字节数。例如:一个32K字的上传固件加上530字节头信息==0x00008212。这个值也是需要10

11

12

13

Firmware Length2

Firmware Length1

Firmware Length0

Spare[20]

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

上传文件的文件大小(字节)。

LSB

控制器设置为0,节点不测试

数组包含固件或UBEA数据块。顺序是高字节在前。这个数据的解释是厂商特定的。

14

Data[512]

2

ArtFirmwareReply:

实体

控制器

方向

接收

单一传播

广播

节点 接收

单一传播

广播

媒体服务器 接收

单一传播

广播

OpFirmwareMaster数据包确认。

ArtFirmwareReply packet definition

字名字

1

2

3

4

5

6

7

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Filler2

Type

Int8

Int16

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpFirmwareReply.

动作

发送下一个OpFirmwareMaster.

不允许

不允许

无动作

节点传输到特殊控制器IP地址

不允许

无动作

节点传输到特殊控制器IP地址

不允许

这一数据包是由节点发送到控制器在每个大小

Bit

描述

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

定义数据包内容如下,代码在固件和UBEA中使用。

数值

0x00

助记符

功能

包接收成功

2

FirmBlockGood

最后数据

0x01

FirmAll Good

所有固件接收成功。

固件更新失败(所有错误情况)

0xff

FirmFail

8

Spare[21]

Int8 -

节点设置为0,控制器不测试

Firmware File Format:

所有固件和UBEA更新文件都需要按照下面的格式。

固件文件扩展名是.alf。

UBEA文件扩展名是.alu。

字节

1

名字

ChecksumHi

描述

这是一个16位,一次补足校验和的固件数据区域

2

3

ChecksumLo

VersInfoHi

LSB of above

节点的固件版本号的高字节。控制器只能使用此字段,以决定固件更新是否应继续进行。该约定是一个较高的号码是一个较新的版本的固件。

4

5-34

VersInfoLo

UserName

LSB of above

用户名信息30字节字段。节点不检查此信息。纯粹是由控制器显示。它应该包含文件可读性描述和版本号。虽然这是一个固定长度的字段,它必须包含一个空终止。

2

35-546

Oem[256]

256个字的数组。每个字都是显示高字节而且代表有效文件的OEM代码。未使用的条目必须充满0xFFFF的。

547-1054

Spare[254]

254个字的数组。目前未使用,应设置为零。

1055

1056

1057

1058

1059

Length3

Length2

Length1

Length0

Data[]

LSB

高字节在前的16位值数组的固件。实际数据是制造商特有的。

2

RDM Support:

本节定义用于Art-Net的远程设备管理(RDM)协议的数据包结构。它假定读者熟悉的RDM文档。

Art-Net设备支持RDM如下:

1. 所有RDM发现被代理命令; Art-Net设备保持本地RDM设备列表,并管理他们自己的发现。

2. 所有RDM的非被代理get / set命令;它们传递给最终的反应设备。

该文件规定下列术语:

Input Gateway:输入DMX512到Art-Net的网络的设备(如Art-Lynx IP)。

Output Gateway: 从Art-Net输出DMX512的网络的设备(如Art-Lynx OP)。

Table of Devices (TOD): 由输入和输出网关保持的RDM设备的列表。

RDM Discovery

Output Gateway Operation

输出网关执行RDM发现设备独立于网络运行。这包括完整的发现设备在上电和增量的发现设备作为后台任务。输出网关告知网络其TOD如下:

在收到ArtTodRequest数据包,输出网关定向广播包含整个TOD一个ArtTodData数据包。所有输入网关解析ArtTodData包。如果子网和全集字段匹配,输入网关增加TOD内容到他们自己的内部TOD内容上。这使得输入网关,为他们收到的任何RDM发现设备响应命令。

在初始RDM发现设备后,输出网关在ArtTodData包定向广播他们的TOD。

2

当RDM设备加入或从输出网关的TOD(增量发现过程中)取出,一个ArtTodData包会被自动播出。

Input Gateway Operation

输入网关生成TOD通过监测Art-Net的流量。该TOD然后由代理回复RDM发现设备命令。操作如下:

上电后,输入网关定向广播ArtTodRequest包。

在ArtTodData数据包监视网络。如果子网和全集字段匹配,输入网关增加了TOD内容到它自己的内部TOD。这使得输入网关,为他们收到的任何RDM发现设备响应命令。

输入网关不发送任何RDM发现设备的消息到网络。

Controller Operation:

控制器模拟输入网关的操作。

2

ArtTodRequest:

该数据包用于请求RDM设备(TOD)的列表。一个节点收到此数据包不能把它解释为迫使全部发现设备。全部发现设备被初始化仅在启动电源或当收到sh时。响应是ArtTodData。

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点输出网关 接收

单一传输

广播

节点输入网关 接收

单一传输

广播

媒体服务器 接收

单一传输

动作

无动作

不被允许

控制器定向广播到所有节点

随ArtTodData回复

不被允许

不被允许

无动作

不被允许

输入网关定向广播到所有节点

无动作

不被允许

广播 不被允许

ArtTodRequest packet definition

字名字

1

2

3

4

5

6

7

8

9

ID[8]

OpCode

ProtVerHi

ProtVerLo

Filler1

Filler2

Spare1

Spare2

Spare3

大小

Int8

Int16

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

Int8

2

Bit

描述

-

-

-

-

-

-

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpTodRequest.

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

Pad length to match ArtPoll.

Pad length to match ArtPoll.

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

10

Spare4

11

Spare5

12

Spare6

13

Spare7

14

Net

15

Command

16

AddCount

17

Address [AdCount]

Int8

Int8

Int8

Int8

Int8

Int8

-

-

-

-

-

-

传输为0,接收器不测试

传输为0,接收器不测试

需要回复这个数据包的节点的15Bit端口地址的高7Bit

0x00

TodFull 发送完整TOD

地址字段的数组的大小。最大值为32。

此数组定义需要回复这个数据包的输出网关节点的15Bit端口地址的低字节。高四位的分网开关。低四位对应于全集。这是结合了“Net”字段形成15位地址。

2

ArtTodData:

数据包策略

实体

控制器

方向

接收

单一传输

广播

节点输出网关 接收

单一传输

广播

节点输入网关 接收

单一传输

广播

媒体服务器 接收

单一传输

动作

无动作

不被允许

不被允许

无动作

不被允许

输入网关总是定向广播此数据包

无动作

不被允许

不被允许

无动作

不被允许

广播 不被允许

ArtTodData packet definition

字名字

1

2

3

4

5

ID[8]

OpCode

ProtVerHi

ProtVerLo

RdmVer

大小

Int8

Int16

Int8

Int8

Int8

Bit

描述

-

-

-

-

-

8字节数组,最后字符为空终止符。

Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00

OpTodData.

先传输低字节。

Art-Net版本号高字节

Art-Net版本号低字节,当前值为14

设备仅支持RDM DRAFT V1.0设置字段为0x00。支持RDM STANDARD V1.0设备设置字段为0x01。

6

7

8

9

Port

Spare1

Spare2

Spare3

Int8

Int8

Int8

Int8

Int8

Int8

Int8

2

-

-

-

-

-

-

-

物理端口。范围1-4。

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

传输为0,接收器不测试

10

Spare4

11

Spare5

12

Spare6

发布评论

评论列表 (0)

  1. 暂无评论