首页资源分类嵌入式系统 > ArtNet中文翻译

ArtNet中文翻译

已有 445122个资源

下载专区

上传者其他资源

    嵌入式系统热门资源

    本周本月全部

    文档信息举报收藏

    标    签:ArtNet

    分    享:

    文档简介

    舞台灯以太网协议ArtNet中文翻译

    文档预览

    Art-Net概述: Art-Net是一种基于TCP/IP协议栈的以太网协议。目的在于使用标准的网络技术允许在广域内传递大量DMX512数据。 最新版本协议实现了许多新的功能,并简化了数据传输机制。这些变化都是基于那些使用此协议的厂家反馈。 数据包地址: Art-Net3规范中,理论上最多为32768个数据包。实际可传输数据包数量取决于网络物理层和分配使用量。下面表格提供一个经验值。 地址 物理:10BaseT 物理:100BaseT 物理:1000BaseT 单一传播 40 400 4000+ 每个DMX512数据包的端口地址被编码为一个15位数,如下表。 Bit15 Bit14-8 Bit7-4 Bit3-0 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被称为一个节点。 端口地址(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。 以太网实现: 注意事项: 所有的通信是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地址配置——静态地址 使用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地址,不使用下面的过程。 IP Address A.B.C.D Subnet Mask Product Switch Settings A B C D Custom IP Programmed As Programmed As Programmed Network Switch Off 2 x+OEM y z 255.0.0.0 Network Switch On 10 x+OEM y z 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 计算: 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: 数据包策略 实体 方向 功能 控制器 接收 发送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) ArtPoll包的定义 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’’r’’t’’-’’N’’e’’t’0x00 2 OpCode Int16 - 操作码(OpCode)定义了再UDP包中紧随ArtPoll的数据的类型。 先传输低字节,操作码列表详见于表格1。 调到OpPoll。 3 ProtVerHi Int8 - Art-Net协议版本号高字节 4 ProtVerLo Int8 - Art-Net协议版本号低字节。当前值为14,控制器应该忽略与节点的通讯当使用版本号低于14的协议。 5 TalkToMe Int8 - 设置节点行为 7-4 未使用,传输为0, do not test upon receipt. 3 0=诊断信息为广播(if bit 2) 1=诊断信息为单一传播(if bit 2) 2 0=不要发送给我诊断信息 1=给我发送诊断信息 1 0=仅当响应ArtPoll或ArtAddress时发送ArtPollReply 1=每当节点条件发生变化时发送ArtPollReply。该选项使得控制器在条件发生变化时响应而不需要不断地轮询。 0 弃用 6 优先级 Int8 - 应发送的最低优先级的诊断信息。详见表格5 表格1-操作码 下表中详细规定了在Art-Net包中使用操作码的规定值。 操作码 名字 数值 定义 OpPoll 0x2000 这是一个ArtPoll包,没有其他数据被包含在这个UDP包中 OpPollReply 0x2100 这是一个ArtPollReply包,包含设备状态信息。 OpDiagData 0x2300 诊断和数据记录的数据包。 OpCommand 0x2400 用于发送基于文本的参数命令 OpOutput / OpDmx 0x5000 这是一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 这是一个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 上传用户文件到节点。 OpFileFnMaster 0xf500 从节点下载用户文件 OpFileFnReply 0xf600 节点确认下载 OpIpProg 0xf800 这是一个ArtIpProg 数据包。用来重新编程节点的IP,掩码和端口地址。 OpIpProgReply 0xf900 这是一个ArtIpProgReply 数据包。节点返回确认是否收到ArtIpProg 数据包。 OpMedia 0x9000 这是一个ArtMedia数据包。由媒体服务器单一传播而且由控制器来使其动作。 OpMediaPatch 0x9100 这是一个ArtMediaPatch 数据包。由控制器单一传播而且由媒体服务器来使其动作。 OpMediaControl 0x9200 这是一个ArtMediaControl 数据包。由控制器单一传播而且由媒体服务器来使其动作。 OpMediaContrlReply 0x9300 这是一个ArtMediaControlReply 数据包。由媒体服务器单一传播而且由控制器来使其动作。 OpTimeCode 0x9700 这是一个ArtTimeCode 数据包。用来通过网络传输时间代码。 OpTimeSync 0x9800 用于同步实时日期和时钟。 OpTrigger 0x9900 用于发送触发宏 OpDirectory 0x9a00 请求节点的文件列表 OpDirectoryReply 0x9b00 用文件列表来回复OpDirectory Table 2 - OemCode: 在DMX-Workshop安装目录中的Art-NetOemCodes.h文件中有详述注册的OEM代码。 在OEM代码中定义一个特定制造商的产品类型。该OemCode是在ArtPollReply返回。 Table 3 – NodeReport Codes: 下表详细列出了NodeReport代码。 NodeReport代码为节点和控制器定义了一般错误,报告和状态信息。该NodeReport在ArtPollReply返回。 代码 助记符 描述 0x0000 RcDebug 启动在调试模式(只有在开发中使用) 0x0001 RcPowerOk 开机测试成功 0x0002 RcPowerFail 开机硬件测试失败 0x0003 RcSocketWr1 最后的UDP从节点获取失败,原因是长度缩短了,最有可能因冲突造成的。 0x0004 RcParseFail 无法确定最后UDP传输。检查操作码和数据包的长度。 0x0005 RcUdpFail 无法再最后传输尝试中打开UDP口。 0x0006 RcShNameOk 确认通过ArtAddress的短名编程是成功的 0x0007 RcLoNameOk 确认通过ArtAddress的长名编程是成功的 0x0008 RcDmxError DMX512检测到接收错误 0x0009 RcDmxUdpFull DMX内部发送缓冲区溢出 0x000a RcDmxRxFull DMX内部接收缓冲区溢出 0x000b RcSwitchErr 接收 Universe switches 冲突 0x000c RcConfigErr 固件与产品配置不匹配 0x000d RcDmxShort DMX输出不足检测。见GoodOutput处 0x000e RcFirmwareFail 新固件最后一次尝试上传失败 0x000f RcUserFail 当使用远程处理锁定了地址时用户已经改变了开关设定。用户改变无效。 Table 4 – Style Codes(样式代码): 下表详细列出了样式代码。样式代码定义了一个控制器的一般功能。样式代码在ArtPollReply返回。 代码 助记符 描述 0x00 StNode 主/从Art-Net设备 0x01 StController 灯光控制台 0x02 StMedia 媒体服务器 0x03 StRoute 网络路由设备 0x04 StBackup 备份设备 0x05 StConfig 配置或诊断工具 0x06 StVisual 模拟器 ArtPollReply: 数据包策略 实体 方向 动作 所有 接收 无Art-Net动作 设备 单一传输 不允许 广播 定向广播数据包响应ArtPoll 响应控制器的ArtPoll的设备,发送ArtPollReply。这个数据包也由上电时所有Art-Net设备广播到定向广播地址。 ArtPollReply packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value= ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpPollReply 先传输低字节 3 IP Address[4] Int8 - 包含节点的IP地址数组。第一个数组条目是最高有效字节。 4 Port Int16 - 端口总是0x1936 先传输低字节 5 VersInfoH Int8 - 节点的固件版本的高字节。控制器只需要使用此字段来决定是否进行固件升级。这是一个使用较新版本号的固件的约定。 6 VersInfoL Int8 - 节点固件版本号的低字节 7 NetSwitch Int8 - 15位的端口地址的14-8位被编码成字段最低7位。用来结合SubSwitch和Swin[]或Swout[]产生完整集合地址。 8 SubSwitch Int8 - 15位端口地址的7-4位被编码成字段的最低4位。用来结合SubSwitch和Swin[]或Swout[]产生完整集合地址。 9 OemHi Int8 - Oem数值的高字节。 10 Oem Int8 - 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 不要实施,传输0,接收不要测试。 2 0=普通固件引导(从闪存)。不支持双启动的节点,清除此字段为零。 1=从ROM启动。 1 0=不能远程设备管理(RDM) 1=可以远程设备管理(RDM) 0 0= UBEA不存在或已损坏 1=UBEA存在 13 EstaManLo Int8 - ESTA制造商代码。这些码被用于表示设备制造商。它们是由ESTA分配。这个字段可以被解释为两个ASCII字节表示制造商的缩写。 14 EstaManHi Int8 - Hi byte of above 15 ShortName [18] Int8 - 数组表示节点的空终止短名称。控制器使用ArtAddress包编程该字符串。最大长度为17个字符加上空字符。这是一个固定长度的字段,尽管它包含字符串可以比字段短。 16 LongName [64] Int8 - 数组表示节点的空终止长名称。控制器使用ArtAddress包编程该字符串。最大长度为63个字符加上空字符。这是一个固定长度的字段,尽管它包含字符串可以比字段短。 17 NodeReport [64] Int8 - 数组是节点运行状态或操作错误的文字报告。主要用于“工程”数据而不是“最终用户”数据。改字段的格式为:“#XXXX[YYYY..] ZZZZZ......” xxxx是一个十六进制的状态码,如表3规定。节点每发送一次ArtPollResponse十进制计数器yyyy增加一次。 这使得控制器可以在节点钟监视事件变化。 ZZZZ是定义状态的英文文本字符串。 这是一个固定长度的字段,尽管它包含字符串可以比字段短。 18 NumPortsHi Int8 - 字的高字节描述端口的输入输出数量。高字节是为将来的扩展,目前为零。 19 NumPortsLo Int8 - 字的低字节描述端口的输入输出数量。如果输入数量不等于输出数量,取最大值。如果没有输入或输出端口实现,可以使用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 设置此通道是否可以通过Art-net网络输入。 5-0 000000 = DMX512 000001 = MIDI 000010 = Avab 000011 = Colortran CMX 000100 = ADB 62.5 000101 = Art-Net 21 GoodInput [4] Int8 - 数组定义了节点的输入状态 7 设置-数据接收 6 设置-通道包括DMX512测试数据包。 5 设置-通道包括DMX512的 4 设置-通道包括DMX512的文本包 3 设置-输入禁止 2 设置-检测到接收错误 1-0 未使用而且传输为0 22 GoodOutput [4] Int8 - 数组定义了节点的输出状态 7 设置-数据已经传输 6 设置-通道包括DMX512的文本包 5 设置-通道包括DMX512的 4 设置-通道包括DMX512的文本包 3 输出合并ArtNet数据 2 上电检测DMX输出不足 1 设置-合并模式是LTP 0 未使用而且传输为0 23 SwIn [4] Int8 - 每4个可能的输入口是15位端口编码中的3-0位被编码成低有效位。 24 SwOut [4] Int8 - 每4个可能的输出口是15位端口编码中的3-0位被编码成低有效位。 25 SwVideo Int8 - 设置为00时,视频显示出本地数据。设置为01时,视频显示以太网数据。该字段现在已经弃用。 26 SwMacro Int8 - 如果节点支持微距键输入,此字节代表的触发值。该节点是负责“反跳”的输入。当ArtPollReply设置为自动发送,(TalkToMe位1),所述ArtPollReply将被发送键向下和向上键事件。不过,控制器不应该假设只有一个位的位置发生了变化。 宏输入可用于远程事件触发或提示。 位字段是高电平有效。 7 Set – Macro 8 active. 6 Set – Macro 7 active. 5 Set – Macro 6 active. 4 Set – Macro 5 active. 3 Set – Macro 4 active. 2 Set – Macro 3 active. 1 Set – Macro 2 active. 0 Set – Macro 1 active. 27 SwRemote Int8 - 如果节点支持远程触发输入,此字节代表的触发值。该节点是负责“反跳”的输入。当ArtPollReply设置为自动发送,(TalkToMe位1),所述ArtPollReply将被发送键向下和向上键事件。不过,控制器不应该假设只有一个位的位置发生了变化。 宏输入可用于远程事件触发或提示。 位字段是高电平有效。 7 Set – Macro 8 active. 6 Set – Macro 7 active. 5 Set – Macro 6 active. 4 Set – Macro 5 active. 3 Set – Macro 4 active. 2 Set – Macro 3 active. 1 Set – Macro 2 active. 0 Set – Macro 1 active. 28 Spare Int8 未使用,设置为0 29 Spare Int8 未使用,设置为0 30 Spare Int8 未使用,设置为0 31 Style Int8 样式代码定义了设备的装备风格。见表4当前样式代码。 32 MAC Hi Int8 MAC地址Hi字节。设置为零,如果节点不能提供此信息。 33 MAC Int8 MAC Address 34 MAC Int8 MAC Address 35 MAC Int8 MAC Address 36 MAC Int8 MAC Address 37 MAC Lo Int8 MAC Address Lo Byte 38 BindIp[4] Int8 如果该单元是大规模的一部分或模块化产品。这是源设备的IP。 39 BindIndex Int8 设置为零,如果没有约束力,否则此数字代表约束设备的顺序。数值越小,越接近源设备。值为1表示源设备。 40 Status2 Int8 0 Set(设置)=产品支持Web浏览器的配置。 1 Clr =节点的IP是手动配置。 Set =节点的IP是DHCP配置。 2 Clr = 节点禁止DHCP Set= 节点使能DHCP 3 Clr = 节点支持8位端口地址(Art-NetII) Set = 节点支持15位端口地址(Art-Net3) 41 Filler 26x8 传输为0,未来扩展 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 OpCode Int16 OpIpProgReply 先传输低字节 3 ProtVerHi Int8 Art-Net协议版本号高字节 4 ProtVerLo Int8 Art-Net协议版本号低字节(14) 5 Filler1 Int8 Pad length to match ArtPoll. 6 Filler2 Int8 Pad length to match ArtPoll. 7 Filler3 Int8 Pad length to match ArtIpProg. 8 Filler4 Int8 Pad length to match ArtIpProg. 9 ProgIpHi Int8 节点IP地址 10 ProgIp2 Int8 11 ProgIp1 Int8 12 ProgIpLo Int8 13 ProgSmHi Int8 节点的子网掩码 14 ProgSm2 Int8 15 ProgSm1 Int8 16 ProgSmLo Int8 17 ProgPort Hi Int8 节点的端口地址 18 ProgPort Lo Int8 19 Status Int8 Bit7 0 Bit6 使能DHCP Bit5-0 0 20 Spare2 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) 21 Spare3 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) 22 Spare4 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) 23 Spare5 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) 24 Spare6 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) 25 Spare7 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) 26 Spare8 Int8 传输0,接收不测试(Transmit as zero, receivers don’t test. ) ArtAddress: 数据包策略 实体 方向 动作 控制器 接收 无动作 单一传输 控制器发送到一个特定的节点的IP地址。 广播 不允许 节点 接收 应答ArtPollReply. 单一传输 不允许 广播 不允许 媒体服务器 接收 应答ArtPollReply. 单一传输 不允许 广播 不允许 网络上的控制器或监控装置可以远程重新编程的节点的许多控制。例如,将允许灯光控制台重新路由DMX512数据在远程位置。这是通过发送一个ArtAddress数据包到节点的IP地址来实现的。 (该IP地址在ArtPoll数据包返回)。节点应答ArtPollReply数据包。 字段5-13包含可编程到节点的数据。 ArtAddress packet definition 字段 名字 大小 描述 1 ID[8] Int8 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 OpAddress 先传输低字节 3 ProtVerHi Int8 Art-Net协议版本号的高字节 4 ProtVerLo Int8 Art-Net协议版本号的高字节,当前值为14 5 NetSwitch Int8 15位端口地址的14-8位被编码为字段的最低7位。用来结合SubSwitch和SWIN[]或SWOUT[],以产生完整的全集地址。 这个值被忽略除非第7位为高。即编程值0×07,发送值为0x87。 发送0x00到重置此值到物理开关的设置。 使用值0x7f来不变化 6 Filler2 Int8 Pad length to match ArtPoll. 7 Short Name [18] Int8 数组表示节点的空终止短名称,控制器使用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 SwVideo Int8 保留 13 Command Int8 节点配置指令: 数值 助记符 动作 0x00 AcNone 无动作 0x01 AcCancel Merge 如果节点目前正处于合并模式,在收到下一ArtDmx包时取消合并模式。见合并运作模式的讨论。 0x02 AcLedNormal 节点的前面板指示灯正常工作。 0x03 AcLedMute 节点的前面板指示灯被禁止,关闭。 0x04 AcLedLocate 节点的前面板指示灯快速闪烁。它的目的是作为大型装置的一个出口定位器。 0x05 AcResetRx Flags 重置节点的SIP,文本,测试和数据错误标志。 如果输出不足被标记,强制测试重新运行。 需要注意的是LTP/ HTP设置应由功率循环过程中的节点保留。 0x10 AcMergeLtp0 设定DMX端口0到合并的LTP模式。 0x11 AcMergeLtp1 设定DMX端口1到合并的LTP模式。 0x12 AcMergeLtp2 设定DMX端口2到合并的LTP模式。 0x13 AcMergeLtp3 设定DMX端口3到合并的LTP模式。 0x50 AcMergeHtp0 设定DMX端口0到合并的HTP模式(默认)。 0x51 AcMergeHtp1 设定DMX端口1到合并的HTP模式(默认)。 0x52 AcMergeHtp2 设定DMX端口2到合并的HTP模式(默认)。 0x53 AcMergeHtp3 设定DMX端口3到合并的HTP模式(默认)。 0x90 AcClearOp0 清除DMX端口0的输出缓冲区 0x91 AcClearOp1 清除DMX端口1的输出缓冲区 0x92 AcClearOp2 清除DMX端口2的输出缓冲区 0x93 AcClearOp3 清除DMX端口3的输出缓冲区 ArtDiagData: 数据包策略 实体 方向 动作 控制器 接收 特殊用途 单一传播 ArtPoll定义 广播 ArtPoll定义 节点 接收 无动作 单一传播 ArtPoll定义 广播 ArtPoll定义 媒体服务器 接收 无动作 单一传播 ArtPoll定义 广播 ArtPoll定义 ArtDiagData是一个通用数据包,允许一个节点或控制器发送诊断数据以供显示。 控制器发出的ArtPoll数据包定义了需要被发送信息的目的地。 ArtDiagData packet definition ArtDiagData 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpOutput, 先传输低字节 3 ProtVerHi Int8 - Art-Net协议版本号高字节 4 ProtVerLo Int8 - Art-Net协议版本号低字节,当前值为14 5 Filler1 Int8 - 接收忽略,被发送器设置为0 6 Priority Int8 - 诊断数据的优先级,见表格5 7 Filler2 Int8 - 接收忽略,被发送器设置为0 8 Filler3 Int8 - 接收忽略,被发送器设置为0 9 LengthHi Int8 - 下面文本数组的长度,高字节 10 LengthLo Int8 - 低字节 11 Data[Length] Int8 - ASCII文本数组,空终止。最大长度为512字节,其中包括空终止。 Table 5 – Priority Codes: 下表详细诊断优先级代码。这些都是用在ArtPoll和ArtDiagData。 代码 助记符 描述 0x10 DpLow 低优先级信息 0x40 DpMed 中等优先级信息 0x80 DpHigh 高优先级信息 0xe0 DpCritical 关键优先级信息 0xf0 DpVolatile 易失信息。这种类型的信息在DMX-Workshop诊断显示一行。所有其它类型显示在列表框。 ArtTimeCode: 数据包策略 实体 方向 动作 控制器 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 节点 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 媒体服务器 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 ArtTimeCode允许时间码通过网络传输。数据格式是结合纵向时间代码和MIDI时间码。电影,EBU,丢帧和SMPTE的四个关键类型也都进行编码。 数据包是用在特殊用途,但在一般情况下,单一控制器将广播数据包到网络。 ArtTimeCode packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpTimeCode 先传输低字节 3 ProtVerHi Int8 - Art-Net协议版本号高字节 4 ProtVerLo Int8 - Art-Net协议版本号低字节,当前值为14 5 Filler1 Int8 - 接收忽略,被发送器设置为0 6 Filler2 Int8 - 接收忽略,被发送器设置为0 7 Frames Int8 - 帧时间,0-29取决于模式 8 Seconds Int8 - 秒,0-59 9 Minutes Int8 - 分,0-59 10 Hours Int8 时,0-23 11 Type Int8 - 0 = Film (24fps) 1 = EBU (25fps) 2 = DF (29.97fps) 3 = SMPTE (30fps) ArtCommand: 数据包策略 实体 方向 动作 控制器 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 节点 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 媒体服务器 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 ArtCommand数据包用于发送属性设置样式命令。该数据包可以单播或广播,由特殊用途决定 ArtCommand packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpOutput 先传输低字节 3 ProtVerHi Int8 - Art-Net协议版本号高字节 4 ProtVerLo Int8 -- Art-Net协议版本号低字节,当前值为14 5 EstaManHi Int8 - 接收器忽略,被发送器设置为0 6 EstaManLo Int8 - 诊断信息的优先级,见表5 7 LengthHi Int8 - 下面文本数组的长度,高字节 8 LengthLo Int8 - 低字节 9 Data [Length] Int8 - ASCII文本数组,空终止。最大长度为512字节,其中包括空终止。 数据段包含文本命令。文本是ASCII编码,并为空终止,不区分大小写。设置数据数组为最大512而且无填补未使用条目是可用但低效率的。 命令文本可以包含多个命令,并坚持语法如下: Command=Data& &符号是命令之间的间隔,另外请注意,该文本是大写的可读性;它不区分大小写。 迄今,Art-Net定义了两个命令。据预测,可能额外添加其他厂商注册的业界广泛认可的指令。 这些指令将在EstaMan=0xFFFF时候传输。 Table 6 – ArtCommand Commands: 下表详细列出了在ArtCommand使用定义的命令。 指令 描述 SwoutText 此命令用于重新编程与ArtPollReply-> SWOUT字段相关联的标签。 语法:“SwoutText=Playback&” SwinText 此命令用于重新编程与ArtPollReply-> SWOUT字段相关联的标签。 语法:“SwoutText=Record &” ArtTrigger: 数据包策略 实体 方向 动作 控制器 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 节点 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 媒体服务器 接收 特殊用途 单一传播 特殊用途 广播 特殊用途 ArtTrigger数据包用于发送触发宏到网络。最常见的实施涉及单个控制器广播到所有其他设备。 在某些情况下,控制器可以仅希望触发单个设备或一小部分,在这种情况下,单播将被使用。 ArtTrigger packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpOutput 先传输低字节 3 ProtVerHi Int8 - Art-Net协议版本号高字节 4 ProtVerLo Int8 - Art-Net协议版本号低字节,当前值为14 5 OemCodeHi Int8 - 需要接受触发器的节点的制造商代码(高字节)。 6 OemCodeLo Int8 - 需要接受触发器的节点的制造商代码(低字节)。 7 Key Int8 - 密钥 8 SubKey Int8 子密钥 9 Data [512] Int8[] 密钥定义的有效载荷的解释 Key 密钥(key)是一个用来定义数据包用的8-bit数值。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于0xFFFF,则密钥和子键字段是制造商明确。 然而,当OEM的字段=0xffff,意味着Key,SubKey和Payload由表格7来定义。 Table 7 – ArtTrigger Key Values. 下表详细列出了在ArtCommand使用定义的命令。 Key 名字 用途(Purpose) 0 KeyAscii SubKey字段包含当键盘按下,接收设备需要处理的ASCII码。(Payload not used) 1 KeyMacro SubKey字段包含的接收设备需要执行的宏的数量。(Payload not used) 2 KeySoft SubKey字段包含一个当软按键(sift-key)键盘被按下而且接收设备需要处理的软按键。(Payload not used) 3 KeyShow SubKey字段包含的接收设备需要运行的显示的数量。(Payload not used) 4-255 Undefined 未定义 SubKey 子密钥(SubKey)是一个用来定义数据包用的8-bit数值。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于ffff16,则密钥和子键字段是制造商明确。 然而,当OEM的字段=ffff16,意味着Key,SubKey和Payload由上面表格来定义。 Payload Payload是一个长度为512的8-bit字节数组。这个字段的解释取决于OEM的字段。如果OEM字段设置为一个值大于0xFFFF,则Payload是制造商明确。 ArtDmx: 数据包策略 实体 方向 动作 控制器 接收 特殊用途 单一传播 是 广播 否 节点 接收 特殊用途 单一传播 是 广播 否 媒体服务器 接收 特殊用途 单一传播 是 广播 否 ArtDmx是用于传输DMX512数据的数据包。节点到控制,节点到节点和控制器到节点的格式是相同的。 数据输出是通过全集设置的DMX O/P端口。在没有接收到ArtDmx数据包,每个DMX O / P端口连续地重发同一帧。、 每个输入口接收到的第一个完整的DMX数据帧放在上述的ArtDmx数据包中,并且作为一个包含全集参数的ArtDmx数据包传输。每个随后的包含新数据的(不同长度或不同内容)DMX数据帧同样作为ArtDmx数据包传输。 上电后,节点不传输ArtDmx数据当输入未接收到DMX512数据。 然而,活动但不变化的输入会每隔4秒重新传输最后一个有效的ArtDmx数据包。 失败的DMX输入将不会继续传输ArtDmx数据。 Unicast Subscription: ArtDmx数据包必须单一传播到包含ArtDmx的具体全集的用户。 发送设备必须定期ArtPoll网络来检测订阅的设备的变化。已订阅的节点将在ArtPollReply中列出订阅的全集。已订阅意味着全集(universes)在不管Swin数组还是Swout数组中被列出。 如果发送器想发送的全集(universes)没有订阅者,那么ArtDmx将不能被广播。如果全集用户超过40对于给定的全集,发送设备可以广播。 ArtDmx packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8个字符数组,最后一个字符是一个空的终止。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpOutput 先传输低字节 3 ProtVerHi Int8 - Art-Net协议版本号高字节 4 ProtVerLo Int8 - Art-Net协议版本号低字节,当前值为14 5 Sequence Int8 - 序列号用来确保ArtDmx数据包以正确的顺序使用。当Art-net是通过一个介质诸如因特网,可能的ArtDmx数据包在接收时出现乱序。 此字段递增取值范围0x01至0xFF,以允许接收节点重新排序数据包。 序列号设置为0来禁止这功能 6 Physical Int8 - 从DMX512数据输入的物理输入端口。此字段仅供参考。使用全集来数据路由。 7 SubUni Int8 - 目的地数据包的15位端口地址的低字节 8 Net Int8 - 目的地数据包的15位端口地址的高7位字节 9 LengthHi Int8 - DMX512数据数组的长度。这个值范围需要是2-512. 表示数据包编码的DMX512通道数目。注:产品转换Art-Net到DMX512可以选择总发送512个通道。 高字节 10 Length Int8 - 上述内容低字节 11 Data[Length] Int8 - DMX512的灯光数据的变长数组。 刷新率: 不可以使用重复速率传输特定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的两个来都发生故障,输出保持最后的合并结果。合并被限制为两个来源,任何额外的来源将被节点忽略。合并执行允许的操作如下两个关键模式。 1. 联合控制:两个控制器(控制台),可以在网络上运行和合并数据到多个节点。 2. 备份:一个控制器(控制台)可以监视网络当主控制器发生故障。如果发生故障,则可以使用ArtAddress AcCancelMerge命令即时控制网络。 当一个节点提供多个DMX512输入,节点需要处理数据合并。因为节点只能有一个IP地址。如果不能再节点处理好,那么ArtDmx数据包就会同一个IP地址和同一个全集数目,但是冲突的等级数据将会传输到网络。 ArtNzs: 实体 方向 动作 控制器 接收 特殊用途 单一传播 Yes 广播 No 节点 接收 特殊用途 单一传播 Yes 广播 No 媒体服务器 接收 特殊用途 单一传播 Yes 广播 No ArtNzs是用来传输非零起始码(RDM除外)的DMX512的数据包。节点到控制器,节点到节点,控制器到节点的格式是相同的。 ArtNzs packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpNzs 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 Sequence Int8 - 序列号用来确保ArtDmx数据包以正确的顺序使用。当Art-net是通过一个介质诸如因特网,可能的ArtDmx数据包在接收时出现乱序。 此字段递增取值范围0x01至0xFF,以允许接收节点重新排序数据包。 序列号设置为0来禁止这功能 6 StartCode Int8 - 数据包的DMX512起始码,不可以是0或RDM。 7 SubUni Int8 - 15bit目的地端口地址的低字节 8 Net Int8 - 15bit目的地端口地址的高7位字节 9 LengthHi Int8 - DMX512数据数组的长度。这个值范围需要是2-512. 表示数据包编码的DMX512通道数目。注:产品转换Art-Net到DMX512可以选择总发送512个通道。 高字节 10 Length Int8 - 上述内容低字节 11 Data [Length] Int8 - DMX512的灯光数据的变长数组。 ArtInput: 数据包策略 实体 方向 动作 控制器 接收 无动作 单一传播 控制器发送到一个特定节点的IP地址 广播 ArtPollReply回复 节点 接收 ArtPollReply回复 单一传播 无动作 广播 无动作 媒体服务器 接收 ArtPollReply回复 单一传播 无动作 广播 无动作 网络上的控制器或监控装置可以启用或禁用在任何网络节点中的个人的DMX512输入。这使得控制器直接控制网络流量,并确保未使用的输入被禁止,因此不浪费带宽。 所有节点上电时所有输入使能。 在控制器上实现此功能时应注意,一些网络流量可能是一个节点到节点的基础上运行。 ArtInput packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpNzs 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 Filler1 Int8 - Pad length to match ArtPoll. 6 Filler2 Int8 - Pad length to match ArtPoll. 7 NumPortsHi Int8 - 描述输入或输入端口数字的字的高字节,高字节是未将来的扩展,目前为零。 8 NumPortsLo Int8 - 描述输入或输入端口数字的字的低字节。如果输入数不等于输出数,取最大的值。最大值为4。 9 Input [4] Int8 - 数组定义每个通道的输入禁止状态。 (例如=0×01,0×00,为0x01,0x00来禁用第一和第三输入) 7-1 未使用 0 设置为禁用此输入。 Firmware and UBEA upgrades: 本章节定义用于发送固件版本为节点的数据包。在所有的情况下,通信是私人的。广播地址绝不使用。 处理涉及的控制器发送多个ArtFirmwareMaster包到节点的IP地址。每个数据包通过用ArtFirmwareReply节点确认。 控制器允许20秒的最大延迟接收ArtFirmwareReply。 如果应答未在此时间被接收,则控制器终止处理。用更大的时间周期,允许节点直接写入来减缓非易失性存储器。 节点允许发送ArtFirmwareReply和接收下一连续ArtFirmwareMaster之间有20秒的延迟。如果下一个连续的块未在此时间内收到,那么节点中止处理。在这种情况下该节点返回到其以前的操作,并相应的置位ArtPollReply->Status和ArtPollReply - > NodeReport。 固件更新文件包含定义节点OEM有效值的头数据。发送到节点之前,控制器必须检查此值。节点也要在接收到第一个数据包时检查这个数据。如果节点接收到一个无效的代码包,它发出了一个错误响应。 UBEA是用户的Bios扩展区。这是一种有限的固件上载的允许第三方固件扩展被添加到节点的机制。 实现这些特征的制造商必须记录软件接口要求。 ArtFirmwareMaster: 实体 方向 动作 控制器 接收 无动作 单一传播 控制器传输到特定节点IP地址 广播 不允许 节点 接收 随OpFirmwareReply回应 单一传播 不允许 广播 不允许 媒体服务器 接收 随OpFirmwareReply回应 单一传播 不允许 广播 不允许 ArtFirmwareMaster packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpFirmwareMaster 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 Filler1 Int8 - Pad length to match ArtPoll. 6 Filler2 Int8 - Pad length to match ArtPoll. 7 Type Int8 - 定义数据包内容如下: 数值 助记符 功能 0x00 FirmFirst 固件上传的第一个数据包。 0x01 FirmCont 固件上传的延续连续包。 0x02 FirmLast 固件上传的最后一个数据包。 0x03 UbeaFirst 固件上传的第一个UBEA 包。 0x04 UbeaCont 固件上传的延续连续 UBEA 包。 0x05 UbeaLast 固件上传的最后一个UBEA 包。 8 BlockId Int8 - 计算固件上传的连续块。开始0x00作为FirmFirst或UbeaFirst包。 9 Firmware Length3 Int8 - 这个int64的参数描述上传固件和固件头部大小的总字节数。例如:一个32K字的上传固件加上530字节头信息==0x00008212。这个值也是需要上传文件的文件大小(字节)。 10 Firmware Length2 Int8 - 11 Firmware Length1 Int8 - 12 Firmware Length0 Int8 - LSB 13 Spare[20] Int8 - 控制器设置为0,节点不测试 14 Data[512] Int8 - 数组包含固件或UBEA数据块。顺序是高字节在前。这个数据的解释是厂商特定的。 ArtFirmwareReply: 实体 方向 动作 控制器 接收 发送下一个OpFirmwareMaster. 单一传播 不允许 广播 不允许 节点 接收 无动作 单一传播 节点传输到特殊控制器IP地址 广播 不允许 媒体服务器 接收 无动作 单一传播 节点传输到特殊控制器IP地址 广播 不允许 这一数据包是由节点发送到控制器在每个OpFirmwareMaster数据包确认。 ArtFirmwareReply packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpFirmwareReply. 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 Filler1 Int8 - Pad length to match ArtPoll. 6 Filler2 Int8 - Pad length to match ArtPoll. 7 Type Int8 - 定义数据包内容如下,代码在固件和UBEA中使用。 数值 助记符 功能 0x00 FirmBlockGood 最后数据包接收成功 0x01 FirmAll Good 所有固件接收成功。 0xff FirmFail 固件更新失败(所有错误情况) 8 Spare[21] Int8 - 节点设置为0,控制器不测试 Firmware File Format: 所有固件和UBEA更新文件都需要按照下面的格式。 固件文件扩展名是.alf。 UBEA文件扩展名是.alu。 字节 名字 描述 1 ChecksumHi 这是一个16位,一次补足校验和的固件数据区域 2 ChecksumLo LSB of above 3 VersInfoHi 节点的固件版本号的高字节。控制器只能使用此字段,以决定固件更新是否应继续进行。该约定是一个较高的号码是一个较新的版本的固件。 4 VersInfoLo LSB of above 5-34 UserName 用户名信息30字节字段。节点不检查此信息。纯粹是由控制器显示。它应该包含文件可读性描述和版本号。虽然这是一个固定长度的字段,它必须包含一个空终止。 35-546 Oem[256] 256个字的数组。每个字都是显示高字节而且代表有效文件的OEM代码。未使用的条目必须充满0xFFFF的。 547-1054 Spare[254] 254个字的数组。目前未使用,应设置为零。 1055 Length3 1056 Length2 1057 Length1 1058 Length0 LSB 1059 Data[] 高字节在前的16位值数组的固件。实际数据是制造商特有的。 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。 当RDM设备加入或从输出网关的TOD(增量发现过程中)取出,一个ArtTodData包会被自动播出。 Input Gateway Operation 输入网关生成TOD通过监测Art-Net的流量。该TOD然后由代理回复RDM发现设备命令。操作如下: 上电后,输入网关定向广播ArtTodRequest包。 在ArtTodData数据包监视网络。如果子网和全集字段匹配,输入网关增加了TOD内容到它自己的内部TOD。这使得输入网关,为他们收到的任何RDM发现设备响应命令。 输入网关不发送任何RDM发现设备的消息到网络。 Controller Operation: 控制器模拟输入网关的操作。 ArtTodRequest: 该数据包用于请求RDM设备(TOD)的列表。一个节点收到此数据包不能把它解释为迫使全部发现设备。全部发现设备被初始化仅在启动电源或当收到ArtTodControl.AtcFlush时。响应是ArtTodData。 数据包策略 实体 方向 动作 控制器 接收 无动作 单一传输 不被允许 广播 控制器定向广播到所有节点 节点输出网关 接收 随ArtTodData回复 单一传输 不被允许 广播 不被允许 节点输入网关 接收 无动作 单一传输 不被允许 广播 输入网关定向广播到所有节点 媒体服务器 接收 无动作 单一传输 不被允许 广播 不被允许 ArtTodRequest packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpTodRequest. 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 Filler1 Int8 - Pad length to match ArtPoll. 6 Filler2 Int8 - Pad length to match ArtPoll. 7 Spare1 Int8 - 传输为0,接收器不测试 8 Spare2 Int8 - 传输为0,接收器不测试 9 Spare3 Int8 - 传输为0,接收器不测试 10 Spare4 Int8 - 传输为0,接收器不测试 11 Spare5 Int8 - 传输为0,接收器不测试 12 Spare6 Int8 - 传输为0,接收器不测试 13 Spare7 Int8 - 传输为0,接收器不测试 14 Net Int8 - 需要回复这个数据包的节点的15Bit端口地址的高7Bit 15 Command Int8 - 0x00 TodFull 发送完整TOD 16 AddCount Int8 - 地址字段的数组的大小。最大值为32。 17 Address [AdCount] Int8 - 此数组定义需要回复这个数据包的输出网关节点的15Bit端口地址的低字节。高四位的分网开关。低四位对应于全集。这是结合了“Net”字段形成15位地址。 ArtTodData: 数据包策略 实体 方向 动作 控制器 接收 无动作 单一传输 不被允许 广播 不被允许 节点输出网关 接收 无动作 单一传输 不被允许 广播 输入网关总是定向广播此数据包 节点输入网关 接收 无动作 单一传输 不被允许 广播 不被允许 媒体服务器 接收 无动作 单一传输 不被允许 广播 不被允许 ArtTodData packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpTodData. 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 RdmVer Int8 - 设备仅支持RDM DRAFT V1.0设置字段为0x00。支持RDM STANDARD V1.0设备设置字段为0x01。 6 Port Int8 - 物理端口。范围1-4。 7 Spare1 Int8 - 传输为0,接收器不测试 8 Spare2 Int8 - 传输为0,接收器不测试 9 Spare3 Int8 - 传输为0,接收器不测试 10 Spare4 Int8 - 传输为0,接收器不测试 11 Spare5 Int8 - 传输为0,接收器不测试 12 Spare6 Int8 - 传输为0,接收器不测试 13 Spare7 Int8 - 传输为0,接收器不测试 14 Net Int8 - 这个数据包生成的输出网关的DMX端口的端口地址的前7Bits 15 Command Response Int8 - 定义数据包内容如下 数值 助记符 功能 0x00 TodFull 该数据包含整个TOD或者是在一个包含了整个的TOD的数据包序列的第一个数据包 0xff TodNak TOD是不可用或发现设备是不完整的。 16 Address Int8 - 这个数据包生成的输出网关的DMX端口的端口地址的低8Bits. 高四位的分网开关。低四位对应于全集。 17 UidTotalHi Int8 - 通过全集发现RDM设备的总数。 18 UidTotalLo Int8 - 19 BlockCount Int8 - 数据包的索引号。当UidTotal超过200,多个ArtTodData包被使用。 第一个数据包的BlockCount被设置为零,以及递增含有TOD信息块的每个后续分组。 20 UidCount Int8 - UID编码在该数据包的数目。这是下面的数组的索引。 21 TOD [UidCount] Int8 - RDM的UID的数组 ArtTodControl: 数据包策略 实体 方向 动作 控制器 接收 无动作 单一传输 不被允许 广播 控制器定向广播到所有节点 节点输出网关 接收 随ArtTodData回复 单一传输 不被允许 广播 不被允许 节点输入网关 接收 无动作 单一传输 不被允许 广播 输入网关定向广播到所有节点 媒体服务器 接收 无动作 单一传输 不被允许 广播 不被允许 ArtTodControl包是用来通过Art-Net发送RDM控制参数。响应是ArtTodData。 ArtTodControl packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpTodControl. 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 Filler1 Int8 - Pad length to match ArtPoll. 6 Filler2 Int8 - Pad length to match ArtPoll. 7 Spare1 Int8 - 传输为0,接收器不测试 8 Spare2 Int8 - 传输为0,接收器不测试 9 Spare3 Int8 - 传输为0,接收器不测试 10 Spare4 Int8 - 传输为0,接收器不测试 11 Spare5 Int8 - 传输为0,接收器不测试 12 Spare6 Int8 - 传输为0,接收器不测试 13 Spare7 Int8 - 传输为0,接收器不测试 14 Net Int8 - 需要执行这个命令的DMX包的输出网关的端口地址的高7Bit 15 Command Int8 - 定义数据包动作 0x00 AtcNone 无动作 0x01 AtcFlush 节点刷新其TOD和驱动全部发现设备。 16 Address Int8 - 需要执行这个命令的DMX包的输出网关的15Bits端口地址的低字节 ArtRdm: 数据策略 实体 方向 动作 控制器 接收 无动作 单一传输 允许-首选 广播 允许 节点输出网关 接收 无动作 单一传输 允许-首选 广播 允许 节点输入网关 接收 无动作 单一传输 允许-首选 广播 允许 媒体服务器 接收 无动作 单一传输 不被允许 广播 不被允许 ArtRdm包用来通过Art-Net传输的所有非RDM发现设备的消息。 ArtRdm packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpRdm. 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 RdmVer Int8 - 设备仅支持RDM DRAFT V1.0设置字段为0x00。支持RDM STANDARD V1.0设备设置字段为0x01。 6 Filler2 Int8 - Pad length to match ArtPoll. 7 Spare1 Int8 - 传输为0,接收器不测试 8 Spare2 Int8 - 传输为0,接收器不测试 9 Spare3 Int8 - 传输为0,接收器不测试 10 Spare4 Int8 - 传输为0,接收器不测试 11 Spare5 Int8 - 传输为0,接收器不测试 12 Spare6 Int8 - 传输为0,接收器不测试 13 Spare7 Int8 - 传输为0,接收器不测试 14 Net Int8 - 需要执行此指令的15Bit端口地址的高7Bit 15 Command Int8 - 0x00 ArProcess 处理RDM包。 16 Address Int8 - 需要执行此指令的端口地址的低8bits 17 RdmPacket Int8[Vari] - RDM数据包除了DMX起始码。 ArtRdmSub: 数据策略 实体 方向 动作 控制器 接收 无动作 单一传输 yes 广播 允许 节点输出网关 接收 无动作 单一传输 yes 广播 不允许 节点输入网关 接收 无动作 单一传输 yes 广播 不允许 媒体服务器 接收 无动作 单一传输 不被允许 广播 不被允许 ArtRdmSub数据包用于传输或获取GetResponse和SetResponse数据从RDM设备的多个子设备。这包主要用于通过Art-Net设备代理或模拟RDM。它提供了发送多个数据包ArtRdm的做法非常显著的带宽收益。 请注意,此数据包添加在Art-NetII。为了向下兼容这是唯一可以接受的实现这个包,除了ArtRdm。它不能被用来代替ArtRdm。 ArtRdmSub packet definition 字段 名字 大小 Bit 描述 1 ID[8] Int8 - 8字节数组,最后字符为空终止符。 Value = ‘A’ ‘r’ ‘t’ ‘-‘ ‘N’ ‘e’ ‘t’ 0x00 2 OpCode Int16 - OpRdm. 先传输低字节。 3 ProtVerHi Int8 - Art-Net版本号高字节 4 ProtVerLo Int8 - Art-Net版本号低字节,当前值为14 5 RdmVer Int8 - 设备仅支持RDM DRAFT V1.0设置字段为0x00。支持RDM STANDARD V1.0设备设置字段为0x01。 6 Filler2 Int8 - Pad length to match ArtPoll. 7 UID Int8[6] - 目标RDM的UID 8 Spare1 Int8 - 传输为0,接收器不测试 9 CommandClass Int8 - 按照RDM规范。这个字段定义这是否是一个Get,Set,GetResponse,SetResponse。Little Endian。 10 ParameterId Int16 - 按照RDM规范。此字段定义参数中所含的该分组的类型。 11 SubDevice Int16 - 定义包含在数据包中的第一个设备的信息。这是延续RDM约定0=根设备,1=第一个子设备。Little Endian。 12 SubCount Int16 - 打包入数据包的子设备的数量。零是非法的。 13 Spare2 Int8 - 传输为0,接收器不测试 14 Spare3 Int8 - 传输为0,接收器不测试 15 Spare4 Int8 - 传输为0,接收器不测试 16 Spare5 Int8 - 传输为0,接收器不测试 17 Data Int16[Vari] - 数据数组的大小被定义由CommandClass和SubCount的内容: CommandClass Array Size Get 0 Set SubCount Get Response SubCount Set Response 0 Display of status: 大多数Art-Net兼容的设备将提供状态指示的某一水平。以下格式建议: 名字 助记符 颜色 功能 Power Pow Red 在正常情况下,如果闪烁故障检测。 Communication Com Amber 如果对任何Art-Net的数据包检测网络,6秒后超时。 DMX512 DMX x Green DMX输入 如果在良好的DMX接受,如果检测到错误则闪烁。另一种开始码都没有错误! DMX输出 如果对收到ArtDmx该输出。 6秒后超时。 Data Integrity: Art-Net接收器应该检查的一个项目:比较ID[8]字段。

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。