2. DMCNET网络架构与通信原理

DMCNET 是台达为运动控制场景设计的实时串行通信网络,其本质是一套“主站集中调度、从站被动响应”的周期式同步通信系统。理解它,不能只记住“主从结构”四个字,而要看清三件事:谁在什么时刻发什么帧、从站何时把数据放上线路、以及所有从站如何在时间轴上对齐到同一个节拍。这三件事分别对应网络架构、通信周期与同步机制,而它们最终都落在数据帧结构上。

一、主站与从站的职责边界

DMCNET 网络中只有一个主站(Master),通常由运动控制器或具备 DMCNET 主站接口的 PLC 担任;从站(Slave)则是伺服驱动器、变频器、远程 I/O 模块、编码器接口模块等。主站掌握整条网络的“发话权”,从站不会主动发起通信,只能在被寻址时回应。这种设计牺牲了从站之间的直接对话能力,换来了确定性的时序——任何时刻线路上只有一个发送者,不会出现总线争用。

从站在网络中的身份由站号(Station Number)标识,站号在参数中设定,主站按站号顺序轮询。每个从站内部都有一块通信缓冲区,主站写入的控制字、目标位置、目标速度等数据先进入缓冲区,再由从站固件映射到实际控制寄存器;从站的状态字、当前位置、当前速度、报警码等则从缓冲区回传给主站。因此,从站对主站而言是一组“可读写的寄存器窗口”,而不是需要协商的通信对等体。

二、通信周期:一轮扫描的时间账

DMCNET 的通信以“周期”为单位循环执行。一个通信周期大致包含:主站发出同步帧(或同步信号)→ 主站依次向各从站发送输出数据帧 → 从站回传输入数据帧 → 周期结束,进入下一轮。周期时间(Cycle Time)是网络最关键的参数之一,常见设定在 0.5 ms~4 ms 量级,具体取决于从站数量、每站数据量和所选波特率。

周期时间不是随便填的,它受三部分约束:一是帧传输时间,与波特率和总帧长成正比;二是从站内部处理与转发延迟,级联拓扑下每经过一级都会累加;三是主站软件调度开销。若周期设得过短,会出现从站来不及响应、主站报通信超时;设得过长,则位置环更新变慢,运动轨迹的跟随误差增大。工程上通常先按“从站数量 × 每站字节数 × 10 bit/字节 ÷ 波特率”估算纯传输时间,再留出 30%~50% 余量作为周期设定值。

三、同步机制:让所有从站踩同一个节拍

周期通信只保证“按时发”,不保证“同时动”。DMCNET 的同步机制解决的是后者:主站在每个周期起始发出同步信号,从站收到后并不立即执行新数据,而是等到下一个同步事件才统一锁存并生效。这样,即使各从站收到数据帧的时刻有先后差异(级联拓扑下尤其明显),它们的动作时刻仍被对齐到同一时间基准上。

同步精度直接影响多轴插补质量。若某从站同步偏差为 10 μs,在 3000 r/min、17 位编码器的伺服上,对应约几个脉冲的位置偏差;多轴联动时这种偏差会表现为轨迹圆度变差或拐角毛刺。因此调试时除了看通信是否正常,还要关注同步抖动指标,必要时缩短周期或减少级联级数。

DMCNET 主从架构与周期通信时序 主站 Master 运动控制器 / PLC 周期调度 · 同步源 从站 1 伺服驱动器 站号 01 从站 2 远程 I/O 站号 02 从站 n 站号 0n 下行帧 下行帧 下行帧 上行回传(状态/位置/报警) 通信周期时间轴 T0 T1 T2 T3 T4 同步信号 SYNC 同步信号 SYNC 同步信号 SYNC 同步信号 SYNC 下行数据帧 + 上行回传 下行数据帧 + 上行回传 下行数据帧 + 上行回传 下行数据帧 + 上行回传 从站动作锁存生效 从站动作锁存生效 从站动作锁存生效 从站动作锁存生效 一个通信周期 Tc 帧结构: 帧头 站号 命令/数据 CRC 帧尾

四、数据帧结构:每一轮到底传了什么

DMCNET 的数据帧由帧头、站号、命令/数据区、校验(CRC)和帧尾组成。帧头用于从站识别帧的起始,站号决定这一帧发给谁或来自谁,命令/数据区承载实际的控制字、状态字和过程数据,CRC 用于检测传输错误,帧尾标志帧结束。主站下行帧中,数据区按从站顺序排列各站的控制数据;从站上行帧中,数据区回传该站的状态与反馈数据。

以两个从站、每站 8 字节过程数据、波特率 10 Mbps 为例:单帧有效载荷约 2×8=16 字节,加上帧头、站号、CRC、帧尾等开销约 10 字节,总帧长约 26 字节,即 208 bit。纯传输时间约 208 bit ÷ 10 Mbps ≈ 20.8 μs。若周期设为 1 ms,传输占用仅约 2%,余量充足;若从站增至 16 个,总帧长约 16×8+10=138 字节,传输时间约 110 μs,仍可轻松容纳在 1 ms 周期内。这说明 DMCNET 的周期瓶颈通常不在波特率,而在从站处理延迟和主站调度能力。

调试时若出现“通信周期超时”报警,优先检查三处:实际从站数量是否超过主站允许上限、周期设定是否小于“传输时间+从站处理延迟”之和、级联拓扑是否过长导致末端从站响应超时。

五、同步与周期的配合关系

同步信号与通信周期是两套时间尺度:通信周期决定“多久交换一次数据”,同步信号决定“从站何时执行这批数据”。一个周期内通常只有一个同步事件,从站在收到同步后统一锁存新数据并开始执行,直到下一个同步到来。这样,即使主站向从站 1 和从站 n 发送数据的时刻相差几十微秒,它们的动作起始时刻仍被对齐到同一个同步沿上。

需要特别注意的是,同步信号本身也占用时间,且从站从收到同步到实际输出生效存在固定延迟。多轴联动时,各从站的这一延迟应尽量一致;若某从站固件版本或参数不同导致延迟差异,就会在插补轨迹上留下痕迹。因此,工程上建议同一网络内从站型号和固件版本尽量统一,并在调试阶段用示波器或控制器内置的同步监测功能确认各站同步偏差在允许范围内。

六、架构、周期、同步、帧结构的关系总结

把四者串起来看:主从架构决定了“谁发谁收”,通信周期决定了“多久一轮”,同步机制决定了“何时生效”,数据帧结构决定了“每轮传什么”。四者缺一不可,且相互制约——从站越多,帧越长,周期下限越高;周期越短,同步抖动对运动质量的影响越敏感;帧结构中的过程数据长度又直接决定每站能映射多少控制量和反馈量。理解这层制约关系,才能在配置 DMCNET 网络时做出合理取舍,而不是把参数填完就完事。