TRDP协议消息数据 Message Data (MD)
TRDP协议定义了在一个已确认的TRDP服务上Caller和一个或多个Replier之间的MD交换。由于它只用于实时消息数据,因此报文的长度被限制为64 kb。
在Message Data交互的过程中,有两种角色:
• Caller: Push通信模式中MD消息的源设备;Pull通信模式中MD消息的目的设备
• Replier: Push通信模式中MD消息的目的设备;Pull通信模式中MD消息的源设备
• 请求消息没有应答 (‘notification’)
• 请求消息有应答但是没有确认 (‘request without confirmation’)
• 请求消息有应答有确认 (‘request with confirmation’)

支持点对点,点对多点,源设备知道目的设备,源设备不知道目的设备等多种模式
支持点对点,点对多点,目的设备知道源设备,目的设备不知道源设备等多种模式
IEC标准定义MD报文格式如下:

字段 | 长度 | 值 | 描述 |
| SequenceCounter | 4字节 | 从0开始计数 | |
| ProtocolVersion | 2字节 | 固定值 | 高字节:MainVersion 低字节:SubVersion 例如:“0102”= 版本 1.2 |
| MsgType | 2字节 | '4D6E 'H('Mn') '4D72 'H('Mr') '4D70 'H ('Mp') '4D71 'H('Mq') '4D63 'H('Mc') '4D65 'H('Me') | ‘Mn’ = Notification (Request without reply) ‘Mr’ = MD Request with reply ‘Mp’ = MD Reply without confirmation ‘Mq’ = MD Reply with confirmation ‘Mc’ = MD Confirm ‘Me’= MD error |
| comId | 4字节 | 用户设置 | 用户数据标识符,支持Unspecified message (ComId = 0) |
| etbTopoCnt | 4字节 | 0..232-1 | The ETB topography counter: • 作为列车的地址来使用IEC 61375-2-5 (parameter ‘etbTopoCnt’) • 用户设置这个字段 • 基于ETB的所有通信都要设置 • 如果设置了有效的opTrnTopoCnt,则这个字段也要设置 • 其它情况设置为0 |
| opTrnTopoCnt | 4字节 | The operational train topography counter: • 参照5.3.3章节的介绍来使用 • 用户设置这个字段 • 当需要使用operational train directory中的信息时,设置该字段(例如选路操作) • 当源设备使用operational列车字典来解析目的IP时,需要设置该字段。(例如解析URI ‘vcu.leadVeh.anyCst.anyClTrn.lTrn’) • 其它情况设置为0 | |
| DatasetLength | 4字节 | 0 ..65388 | 用户数据的长度,以字节为单位,不包括填充字节 |
| ReplyStatus | 4字节 | < 0: NOK 0: OK > 0: user reply status | Replier报告request消息执行结果的时候设置,或者caller发送确认消息的时候设置。Replier在reply消息中携带这个字段。 如果是MD error消息,值可能如下: –1 – reserved –2 – session abort –3 – no replier instance (at replier side) –4 – no memory (at replier side) –5 – no memory (local) –6 – no reply –7 – not all replies –8 – no confirm –9 – reserved –10 – sending failed |
| SessionId | 16字节 | 计算得到 | • 能够标识一组“request-reply”会话或“request-reply-confirm”会话 • 能够标识一组”请求-错误”会话 |
| ReplyTimeOut | 4字节 | 1..232-1 0==无限时间 | 在request/reply中使用 在’Mn’, ‘Mp’, ‘Mc’和’Me’中设置为0 |
| SourceURI | 32字节 | • 用于寻址功能 • 是一个以空字符结尾的字符串 • 最后用0填充 • URI只包含用户部分,不包括主机部分和@ • 可能是全0的空字符串 | |
| DestinationURI | 32字节 | • 用于寻址功能 • 应该是一个以空字符结尾的字符串 • 最后用0填充 • URI只包含用户部分,不包括主机部分和@ • 可能是全0的空字符串 | |
| HeaderFCS | 4字节 | • 根据PD-PDU头计算 • 在计算期间排除 headerFcs 本身 | |
| Dataset | 0..65388 | 必须是 4 字节的整数倍,不足时补零。 |
相关产品