Detail
Introduction
Contents
前言 Ⅶ
引言 Ⅷ
1 范围 1
2 未连接报文管理器(UCMM) 1
2.1 概述 1
2.2 外部接口 2
2.3 PDU 格式 3
2.4 UCMM 客户机 4
2.5 UCMM 服务器 5
2.6 例子(资料性) 9
2.7 保持器UCMM 11
3 报文路由(MR)对象 11
3.1 概述 11
3.2 路径 11
3.3 外部接口(SDU) 17
3.4 报文路由器报头(PDU) 17
4 连接管理器(CM)对象 18
4.1 服务数据单元(SDU) 18
4.2 参数 22
4.3 连接管理器服务(PDU) 28
4.4 错误代码 37
5 传输连接 44
5.1 传输的含义 44
5.2 用于讨论传输服务的工具(资料性) 44
5.3 传输连接的组件 45
5.4 创建传输连接 48
5.5 绑定传输到网络连接的生产者和消费者 48
5.6 传输类型 50
6 传输类 53
6.1 类 53
6.2 类0(Null或Base) 53
6.3 类1(重复检测) 56
6.4 类2(确认) 62
6.5 类3(证实-Verified) 69
6.6 类4至类6公共元素 79
6.7 类4(不堵塞) 83
6.8 类5(非阻塞,分段) 92
6.9 类6(多播,分段) 104
6.10 重试定时器 119
7 应用连接 121
7.1 连接 121
7.2 生产触发(Productiontrigger)、传输类和RPI 121
7.3 轮询(Polling) 122
8 TCP/IP封装 122
8.1 简介(资料性) 122
8.2 TCP/IP上的CIPPDU 123
8.3 连接管理器 124
8.4 类0和类1连接数据 127
8.5 IP多播范围和地址分配 128
8.6 封装协议 129
8.7 命令描述 132
8.8 会话管理 137
8.9 通用数据包格式 138
9 ControlNet物理层上的TCP/IP 140
9.1 IPLpackets(固定标签0x85) 140
9.2 以太网Lpackets(固定标签0x89) 140
9.3 TCP/IP在ControlNet上的举例 141
图1 与ISO/OSI模型的关系 1
图2 客户机状态转换图 4
图3 高端服务器状态转换图 6
图4 低端UCMM 服务器状态转换图 8
图5 具有一个未完成处理的报文的UCMM 流程图 9
图6 同时具有多个未完成处理报文的UCMM 的流程图 10
图7 段类型 12
图8 端口段 12
图9 网络连接参数 23
图10 优先级/片时间 25
图11 连接建立超时 26
图12 通信模型中传输服务的上下关系 44
图13 应用至应用的数据传送图 44
图14 一个链路生产者的数据流图 45
图15 状态转换图(StateTransitionDiagram-STD) 45
图16 链路消费者的数据流图 46
图17 链路消费者的状态转换图 47
图18 触发器 47
图19 T-PDU 缓存器 48
图20 绑定传输实例到一个没有反方向数据路径的传输连接的生产者和消费者 49
图21 绑定传输实例到一个有反方向数据路径的传输连接的生产者和消费者 49
图22 当传输连接没有反方向数据路径时,绑定传输实例到多播连接的生产者和消费者 50
图23 当传输连接有反方向数据路径时,绑定传输实例到多播连接的生产者和消费者 50
图24 使用客户传输类0和服务器传输类0的数据流图 54
图25 使用传输类0时数据传送的序列图 54
图26 类0客户状态转换图 55
图27 类0服务器状态转换图 56
图28 使用客户传输类1和服务器传输类1的数据流图 57
图29 用客户传输类1和服务器传输类1的数据传送序列图 57
图30 类1客户状态转换图(STD) 58
图31 类1服务器状态转换图(STD) 60
图32 使用客户传输类2和服务器传输类2的数据流图 63
图33 用客户传输类2和服务器传输类2且没有返回数据时的数据传送图 63
图34 使用客户传输类2和服务器传输类2且有返回数据时的数据传送序列图 64
图35 类2客户状态转换图(STD) 65
图36 类2服务器STD 67
图37 使用客户传输类3和服务器传输类3的数据流图 70
图38 使用客户传输类3和服务器传输类3且没有返回数据时的数据传送序列图 71
图39 使用客户传输类3和服务器传输类3且有返回数据时的数据传送序列图 72
图40 类3客户状态转换图(STD) 73
图41 类3服务器状态转换图(STD) 76
图42 用传输类4和类5的数据流图 79
图43 传输类4和类5的基本结构 80
图44 类6基本结构 81
图45 类4到类6的通用状态转换图 82
图46 使用传输类4时报文交换的序列图 84
图47 彼此覆盖写的报文的序列图 85
图48 用传输类4时列队的报文交换的序列图 86
图49 用传输类4时重试的序列图 87
图50 采用传输类4的空闲流量的序列图 88
图51 类4传输发送器STD 89
图52 类4接收器STD 91
图53 使用传输类5的三分段序列图 94
图54 使用传输类5有重试的分段序列图 95
图55 使用传输类5的二分段序列图 96
图56 用传输类5异常中断的报文序列图 96
图57 类5发送器STD 97
图58 类5接收器STD 100
图59 传输类6的数据流图 104
图60 用传输类6时报文交换的序列图 106
图61 用传输类6时重试的序列图 106
图62 用传输类6时空闲流量的序列图 107
图63 要求覆盖写了Null的序列图 108
图64 响应覆盖写了null的ACK的序列图 108
图65 用传输类6的三分段序列图 109
图66 用传输类6有重试的分段序列图 110
图67 用传输类6的二分段序列图 110
图68 用传输类6异常中断的报文序列图 111
图69 类6客户STD 112
图70 类6服务器STD 115
图71 重试定时器 120
图72 重试定时器状态转换图 120
图73 ControlNet与ISO/OSI模型的对应 123
图74 用化身ID的连接ID 125
图75 伪随机连接ID 126
图76 封装报文 130
表1 UCMM 命令代码 3
表2 UCMM 客户机状态事件矩阵 4
表3 高端UCMM 服务器的状态事件矩阵 6
表4 低端UCMM 服务器的状态事件矩阵 8
表5 UCMM 事务 10
表6 可能的端口段例子 13
表7 逻辑段 13
表8 网络段 15
表9 超时乘法因子 24
表10 时间片单位 25
表11 连接ID的选择 27
表12 连接管理器的类特定服务 29
表13 unconnected_reply的连接成功格式 34
表14 失败时unconnected_reply的格式 35
表15 连接管理器服务请求错误代码 37
表16 状态事件矩阵(StateEventMatrix-SEM) 46
表17 状态事件矩阵(SEM) 47
表18 通知 48
表19 传输类 53
表20 类0客户状态事件矩阵 55
表21 类0服务器状态事件矩阵 56
表22 类1客户状态事件矩阵(SEM) 59
表23 类1服务器状态事件矩阵(SEM) 60
表24 类2客户状态事件矩阵(SEM) 65
表25 类2服务器SEM 68
表26 类3客户SEM 74
表27 类3服务器状态事件矩阵(SEM) 76
表28 传输类4和类5中的写和触发事件 79
表29 类4到类6首部格式 81
表30 类4到类6的通用状态事件矩阵 82
表31 类4发送器SEM 89
表32 类4接收器SEM 91
表33 类5发送器SEM 98
表34 类5接收器状态事件矩阵(SEM) 101
表35 类6客户SEM 112
表36 类6服务器SEM 116
表37 重试定时器SEM 120
表38 生产触发、传输类和RPI如何确定何时产生数据 122
表39 TCP/IP链路地址实例 125
表40 类0和类1的UDP数据格式 127
表41 封装报头 130
表42 封装命令码 130
表43 封装状态码 131
表44 可选标记 132
表45 Nop封装报头 132
表46 RegisterSession报头 132
表47 RegisterSession数据部分 133
表48 选项标志 133
表49 RegisterSession应答 133
表50 RegisterSession应答,数据部分 133
表51 UnRegisterSession报头 134
表52 ListServices报头 134
表53 ListServices应答 134
表54 ListServices数据部分 135
表55 服务类型码 135
表56 通信性能标记 135
表57 SendRRData报头 135
表58 SendRRData数据部分 136
表59 SendRRData应答 136
表60 SendUnitData报头 136
表61 SendUnitData数据部分 137
表62 通用数据包格式 138
表63 地址和数据项结构 138
表64 地址类型ID 138
表65 数据类型ID 139
表66 空值地址类型 139
表67 连接地址类型 139
表68 序列地址类型 139
表69 UCMM 数据类型 140
表70 连接数据类型 140
表71 Sockaddrinfo项 140