SoAd产品参考手册


缩写词注解

缩写词

英文全称

中文解释

DET

Default Error Tracer

开发错误检测模块

IP

Internet Protocol

以太网Internet Protocol协议

IPv4/IPv6

Internet Protocol version 4/6

以太网Internet Protocol协议版本4和版本6

TCP

Transmission Control Protocol

以太网Transmission Control Protocol

UDP

User Datagram Protocol

以太网User Datagram Protocol

TcpIp

TCP/IP Protocols Module

AUTOS AR架构下TCP/IP协议实现模块

SoCon

Socket Connection

套接字连接

SoConGroup

Socket Connection Group

套接字连接组合

简介

SoAd作为“通信桥梁”将上层基于I-PDU的通信,与下层基于Socket的TCP/UDP通信连接起来。同时实现基于Socket Connection的连接控制,以及I-PDU与Socket Connection的路由控制,并为上层提供相应接口。

image1图1-1 SoAd模块层次图

SoAd模块处于AUTOSAR架构中的通信服务层,其下层模块为TcpIp模块,上层模块可能为Sd,DoIp,PduR,Xcp,UdpNm,SomeIpTp以及CDD模块。SoAd与TcpIp的交互:SoAd通过调用TcpIp模块的接口实现对TCP/UDP Socket的各种操作(获取,绑定,连接,监听,参数设置,释放),以及TCP/UDP报文的发送请求,TCP报文的接收窗口释放;TcpIp模块通过调用SoAd的回调函数实现IP地址分配状态改变通知,Socket事件通知,TCP Socket连接成功通知,以及TCP/UDP接收报文传递,TCP发送数据的拷贝,TCP发送数据的ACK发送确认。

SoAd与上层模块的交互:SoAd为上层模块提供基于Socket Connection的开启、关闭、Id获取、模式获取、远端地址设置/获取操作,提供基于Routing Group的路由使能控制,以及IF/TP PDU的发送接口,TP PDU的发送/接收取消接口;SoAd通过调用上层模块回调接口,实现IP地址分配状态改变通知,Socket Connection模式改变通知,以及IF/TP PDU发送或者接收流程所必须的Tx PDU数据获取、Rx PDU数据传递、发送确认、接收指示。

参考资料

[1] AUTOSAR_SWS_SocketAdaptor.pdf,R19-11和4.2.2

[2] AUTOSAR_SWS_TcpIp.pdf,R19-11和4.2.2

功能描述

Socket Connections功能

Socket Connections功能介绍

为了实现上层PDUs与下层Sockets之前的通信映射,SoAd模块定义了Socket Connection的概念。一个Socket Connection表示一个本端socket(本端IP和本端Port)与远端socket(远端IP和远端Port)的链接,以及该链接基于的传输协议(UDP/TCP),是否使用PDU Header,是否需求buffer,传输协议相关参数等。

每个Socket Connection的模式根据SoAd_SoConModeType定义分为三种:SOAD_SOCON_ONLINE、SOAD_SOCON_RECONNECT、SOAD_SOCON_OFFLINE。

1.Socket Connection Open:

当我们需要使能通信时,首先需要开启相应的Socket Connections。开启的方式分为两种:手动方式(需上层模块调用SoAd_OpenSoCon)、自动方式。初始化之后,每个Socket Connection都处于SOAD_SOCON_OFFLINE模式,执行Open操作时根据每个Socket Connection的配置属性,其模式切换路线分两种:SOAD_SOCON_OFFLINE→SOAD_SOCON_ONLINE;SOAD_SOCON_OFFLINE→SOAD_SOCON_RECONNECT→SOAD_SOCON_ONLINE。只有当处于SOAD_SOCON_ONLINE模式时才能通过该Socket Connection发送/接收数据(属于UDP的Socket Connection可以在SOAD_SOCON_RECONNECT模式下响应SoAd_RxIndication,在该API中先切换到SOAD_SOCON_ONLINE模式,再执行数据接收处理)。

2.Socket Connection Close:

Socket Connection的关闭分为主动请求关闭(上层模块调用SoAd_CloseSoCon),以及异常关闭,如下层模块检测到错误事件,通过SoAd_TcpIpEvent通知到SoAd模块;UDP报文接收超时;TP PDU收发过程中出现错误/取消等。只有在执行主动请求关闭时,Socket Connection的模式才能切换到SOAD_SOCON_OFFLINE,别的情况都切换到SOAD_SOCON_RECONNECT模式。

3.Socket Connection Open/Close Sequence Remarks:

Socket Connection的开启及关闭是异步的,任务队列只能缓存两个不同的任务请求,多余的任务根据策略进行舍弃或者撤销(revoke)队列中的任务。

4.Notifications:

当Socket Connection的模式切换时,可以通过调用<Up>_SoConModeChg()函数通知上层模块。

当Socket Connection关联的IP地址(本端)状态切换时,可以通过调用<Up>_LocalIpAddrAssignmentChg()函数通知上层。

Socket Connections功能实现

通过每个SoAdSocketConnectionGroup的配置参数SoAdSocketAutomaticSoConSetup可以选择相应的Socket Connections的开启方式是手动方式还是自动方式。

只有在配置成手动方式的情况下,才能通过调用SoAd_OpenSoCon或者SoAd_CloseSoCon函数来主动请求Socket Connection的开启或者关闭。

对于异常关闭的Socket Connection(SOAD_SOCON_RECONNECT),SoAd会自动尝试重连,具体描述参见2.8章节。

通过SoAdBswModules的配置参数SoAdLocalIpAddrAssigmentChg和SoAdSoConModeChg来决定当Socket Connection关联的IP地址状态切换和模式切换时,是否调用上层通知函数来通知上层模块。

PDU Transmission功能

PDU Transmission功能介绍

SoAd通过PDU route(SoAdPduRoute, SoAdPduRouteDest)将PDU映射到socket connection,进而通过其关联的UDP/TCP Socket进行发送。SoAd提供IF、TP两种PDU发送方式。

1.PDU Transmission via IF-API:

对于数据长度较小的PDU,通常使用IF发送方式。在SoAd中支持IF PDU的1:n路由发送。

2.PDU Transmission via IF-API and nPduUdpTxBuffer:

当Socket Connection(UDP类型)关联的所有发送PDU都是“IF”类型,使能PDU Header,其关联的SoAdPduRouteDests至少有一个SoAdTxUdpTriggerMode 配置为TRIGGER_NEVER模式。SoAd将使能该Socket Connection的nPduUdpTxBuffer机制。

nPduUdpTxBuffer机制,能够将多个IF PDU封装在一个UDP报文中进行统一发送,以达到节省带宽的目的。

  1. PDU Transmission via IfRoutingGroupTransmit API:

SoAd支持上层模块(通常为Sd模块),通过Trigger Transmit方式请求RoutingGroup关联的部分或者所有IF PDUs的发送。

上面提到的部分IF PDUs指的是关联到某一特定Socket Connection的PDUs。

4.PDU Transmission via TP-API:

对于上层模块数据长度较大的PDU,通常通过TP方式进行发送。TP发送不支持PDU的1:n路由。

PDU Transmission功能实现

1.PDU Transmission via IF-API:

通过配置参数SoAdTxUpperLayerType可以选择PDU通过IF或者TP方式进行发送。

当选择IF方式发送时,可以通过给一个SoAdPduRoute配置1-N个SoAdPduRouteDest,实现IF PDU的1:n路由。上层模块通过调用SoAd_IfTransmit来实现IF PDU的发送请求。

2.PDU Transmission via IF-API and nPduUdpTxBuffer:

当需要使能nPduUdpTxBuffer机制时,上层模块同样通过调用SoAd_IfTransmit来请求IF PDU(UDP)的发送,SoAd将N个IF PDU封装到nPduUdpTxBuffer中,统一的UDP报文进行发送,涉及到的配置如下:

(1)SoAdSocketUdpTriggerTimeout:Socket Connection的nPduUdpTxBuffer超时时间。

(2)SoAdSocketnPduUdpTxBufferMin:nPduUdpTxBuffer的触发长度(数据长度超过该参数,将触发发送)。

(3)SoAdPduHeaderEnable:PDU Header使能开关。

(4)SoAdTxPduHeaderId:PDU的Header ID。

(5)SoAdTxUdpTriggerMode:PDU(UDP)触发方式(NEVER/ALWAYS)。

(6)SoAdTxUdpTriggerTimeout:PDU的nPduUdpTxBuffer超时时间。

(7)SoAdTxUpperLayerType:PDU发送方式(IF/TP)。

3.PDU Transmission via IfRoutingGroupTransmit API:

SoAd为上层模块(通常为Sd模块)提供2种基于IfRoutingGroup的发送机制,分别为SoAd_IfRoutingGroupTransmit和SoAd_IfSpecificRoutingGroupTransmit。涉及的配置参数为SoAdRoutingGroupTxTriggerable(只有配置为TRUE的SoAdRoutingGroup才能通过以上两个API来触发IfRoutingGroup的发送机制)。该机制下,SoAd将调用<Up>_[SoAd][If]TriggerTransmit来获取发送数据,然后调用TcpIp层API来发送报文。

4.PDU Transmission via TP-API:

当PDU通过TP方式进行发送时,上层模块通过调用SoAd_TpTransmit来请求PDU发送。SoAd将通过N次调用<Up>_[SoAd][Tp]CopyTxData来分段获取PDU数据,当发送完成(成功/失败)则通过调用<Up>_[SoAd][Tp]TxConfirmation来通知上层发送成功或者失败。当通过UDP进行发送时,SoAd将提供足够长度的Buffer来获取到整个PDU数据后,再调用TcpIp_UdpTransmit来进行发送;当通过TCP进行发送时,SoAd不提供发送Buffer,TcpIp调用SoAd_CopyTxData请求Copy发送数据时,SoAd调用上层<Up>_[SoAd][Tp]CopyTxData来获取数据给TcpIp。

PDU Header option功能

PDU Header option功能介绍

SoAd支持PDU Header功能,PDU Header由4字节的Header ID,4字节的PDU数据长度组成(大端字节序)。当Socket Connection关联到多个接收PDU,以及需要用到nPduUdpTxBuffer机制等情况时,都需要PDU Header功能的支持。

PDU Header option功能实现

当配置参数SoAdPduHeaderEnable配置为TRUE时,对应的Socket Connection则使能PDU Header功能,其关联的PDUs需要相应配置各自的SoAdTxPduHeaderId/SoAdRxPduHeaderId。

在PDU发送过程中,SoAd层根据配置的HeaderId及PDU数据长度整合成8字节的PDU Header,添加到上层PDU数据前面,PDU数据长度+8,调用下层API统一进行发送。

在PDU接收过程中,SoAd对接收到的报文数据根据PDU Header进行PDU匹配、PDU数据提取等操作,将不含PDU Header数据的完整PDU数据传递给上层模块。

PDU Header数据的所有操作(添加、解析、去除)都在SoAd层完成。

PDU Reception功能

PDU Reception功能介绍

PDU的接收,在SoAd中通过Socket Route (SoAdSocketRoute, SoAdSocketRouteDest)来实现,将通过UDP/TCP Socket获取的报文映射到PDUs。当前Socket Route仅支持1:1路由(即一个SoAdSocketRoute只能包含一个SoAdSocketRouteDest),但需注意的是一个Socket Connection可以关联多个SoAdSocketRoute。

SoAd与上层模块PDU接收同样有两种方式:IF接收、TP接收。

PDU Reception功能实现

1.PDU Reception via IF-API:

SoAd解析出完整的IF PDU数据,通过调用<Up>_[SoAd][If]RxIndication()函数将接收到的IF PDU数据传递给上层模块。

2.PDU Reception via TP-API (PDU Header disabled):

Header disabled时的TP PDU接收,Socket Connection接收到的所有报文,在SoAd层都认为是相应的TP PDU的一段数据。从Socket Connection的连接建立,到连接断开,之间收到的所有报文都可认为是TP PDU的连续数据段。

3.PDU Reception via TP-API (PDU Header enabled):

Header enabled时的TP PDU接收,因为PDU Header中包含4字节的PDU长度信息,SoAd能够解析出每个PDU的开始与结束。因此从该Socket Connection接收到的报文流,根据PDU Header解析成不同的PDUs,传递给上层模块。

Best Match Algorithm功能

Best Match Algorithm功能介绍

该最佳匹配算法是根据提供的remote address(IP和Port)从Socket Connection Group中选择出最佳匹配的Socket Connection。

Best Match Algorithm功能实现

根据提供的remote address(IP和Port),从相应的Socket Connection Group中选择最佳匹配Socket Connection的方式如下:

1.首先该Socket Connection的remote address必须设置成功。

2.根据每个Socket Connection的remote address与提供的remote address相比较,选择出最佳匹配Socket Connection。匹配的优先级按从高到低排列如下:

(1)IP地址和Port都一致;

(2)IP地址一致,Socket Connection的Port为通配符(wildcard);

(3)Port一致,Socket Connection的IP地址为通配符(wildcard);

(4)Socket Connection的IP地址和Port都为通配符(wildcard);

(5)没有匹配的Socket Connection。

Message Acceptance Policy功能

Message Acceptance Policy功能介绍

该功能用于接收远端节点(remote nodes)发送报文的过滤。当该功能使能时,Socket Connection只能接收指定的某个/某些远端节点发送来的报文。当该功能不使能时,Socket Connection将接收所有远端节点发送来的报文。

Message Acceptance Policy功能实现

通过配置项SoAdSocketMsgAcceptanceFilterEnabled可以选择是否接收滤波功能(通常是使能的)。滤波机制是将远端节点的地址(远端节点的source address)与Socket Connection的remote address进行匹配比较,若匹配则接收,不匹配则舍弃。除了IP和Port相等外,当Socket Connection的remote address中存在通配符,也认为是匹配的。

TP PDU Cancelation功能

TP PDU Cancelation功能介绍

TP PDU的传输支持中途取消,分为接收取消和发送取消。

TP PDU Cancelation功能实现

SoAd_TpCancelReceive()用于请求TP PDU的接收取消, 当该TP PDU没有在接收过程中,将返回E_NOT_OK;SoAd_TpCancelTransmit()用于请求TP PDU的发送取消,若该TP PDU没有在发送过程中,将返回E_NOT_OK。当TP PDU成功取消后,在SoAd_MainFunction()中将关闭该Socket Connection(状态切换到RECONNECT,而非OFFLINE)。

Disconnection and recovery功能

Disconnection and recovery功能介绍

在SoAd_MainFunction中,将会对需要断开连接的Socket Connection进行连接关闭,其关闭后Socket Connection状态分为两种情况:SOAD_SOCON_OFFLINE和SOAD_SOCON_RECONNECT,具体可参考2.1章节描述。

对于处于SOAD_SOCON_RECONNECT状态的Socket Connection,SoAd将会自动尝试恢复连接。

Disconnection and recovery功能实现

对于Socket Connection连接的断开分为主动请求关闭、异常关闭:

主动请求关闭:Socket Connection状态将切换到SOAD_SOCON_OFFLINE,该状态下SoAd不会自动尝试去重新连接,只有通过调用SoAd_OpenSoCon主动请求开启才能重新连接。

异常关闭:Socket Connection状态切换到SOAD_SOCON_RECONNECT,该状态下,在SoAd_MainFunction中将根据Socket Connection是否具备重连条件而选择是否对其进行重连。该连接恢复功能与配置参数SoAdSocketAutomaticSoConSetup无关。

Routing Groups功能

Routing Groups功能介绍

SoAd支持对每个Routing Group的使能状态进行控制,进而控制各Routing Group关联的SoAdPduRouteDest或者SoAdSocketRouteDest。只有当RouteDest处于使能状态时,才能执行新PDU的收发。

Routing Groups功能实现

当SoAdPduRouteDest/SoAdSocketRouteDest不属于任何Routing Group时(参考配置参数SoAdRxRoutingGroupRef/SoAdTxRoutingGroupRef),其RouteDest一直处于Enable状态,不能被改变。

当SoAdPduRouteDest/SoAdSocketRouteDest从属于N个Routing Group时(参考配置参数SoAdRxRoutingGroupRef/SoAdTxRoutingGroupRef),其RouteDest使能状态根据其从属的Routing Group状态而定(只要其从属的任一Routing Group为Enable状态,则该RouteDest状态即为Enable状态)。

通过配置SoAdRoutingGroupIsEnabledAtInit可设置每个Routing Group的初始化状态,也可以通过调用SoAd_EnableRouting、SoAd_DisableRouting、SoAd_EnableSpecificRouting、SoAd_DisableSpecificRouting来动态切换Routing Group/Route Dest的状态。值得注意的是SoAd_EnableSpecificRouting、SoAd_DisableSpecificRouting这两个API,不改变Routing Group状态,而直接改变从属于该Routing Group,又仅通过某一特定Socket Connection收发的Route Dest状态。

PDU fan-out功能

PDU fan-out功能介绍

SoAd支持PDU的一对多路由功能,但前提是仅支持IF PDU的一对多发送。

PDU fan-out功能实现

IF PDU的一对多发送,可以通过为SoAdPduRoute配置多个SoAdPduRouteDest实现,即一个IF PDU通过多个Socket Connections发送。

只有当所有Socket Connections上的发送请求都返回E_OK时,SoAd_IfTransmit才返回E_OK;也只有当所有Socket Connections上的发送都成功,才会调用<Up>_[SoAd][If]TxConfirmation>通知上层发送成功。

Buffer handling功能

Buffer handling功能介绍

在SoAd的报文收发过程中,有些情况下需要用到合适的buffer来缓存需要发送的数据及接收到的数据。

Buffer handling功能实现

IF PDU发送时,TP PDU通过UDP进行发送时,IF PDU(带PDU Header)通过TCP接收时,TP PDU接收时都需要使用到相应的发送/接收Buffer。Buffer的生成根据配置情况由配置工具生成,Buffer的使用根据具体的报文收发机制决定,与SoAd上下层模块无关。

源文件描述

表3-1 SoAd组件文件描述

文件

说明

SoAd_Cfg.h

定义SoAd模块PC配置的宏定义。

SoAd_Cfg.c

定义SoAd模块PC配置的结构体参数。

SoAd_PBcfg.c

定义SoAd模块PB配置的结构体参数。

SoAd.h

实现SoAd模块全部外部接口的声明 (除了回调函数),以及配置文件中全局变量的声明。

SoAd.c

作为SoAd模块的核心文 件,实现SoAd模块全部对外接口,以及实现SoAd模块功 能所必须的local函数,local宏定义,local变量定义。

SoAd_MemMap.h

实现SoAd模块内存布局。

SoAd_Types.h

实现外部/ 内部类型的定义,包括AUTOSAR标准定义的类型,以及PB /PC配置参数结构体类型,以及内部运行时结构体类型。

SoAd_Cbk.h

实现SoAd模块全部回调函数的声明。

SchM_SoAd.h

提供给 SchM 的头文件,用于公开周期调度函数

image2

图3-1 SoAd组件文件交互关系图

API接口

类型定义

SoAd_SoConIdType类型定义

名称

SoAd_SoConIdType

类型

unit8/uint16

范围

描述

表示Socket Connection的Id号

SoAd_RoutingGroupIdType类型定义

名称

SoAd_RoutingGroupIdType

类型

unit8/uint16

范围

描述

表示Routing Group的Id号

SoAd_SoConModeType类型定义

名称

SoAd_SoConModeType

类型

enum

范围

SOAD_SOCON_ONLINE/

SOAD_SOCON_RECONNECT/

SOAD_SOCON_OFFLINE

描述

表示Socket Connection的状态

SoAd_ConfigType类型定义

名称

SoAd_ConfigType

类型

struct

范围

描述

SoAd模块的PB配置结构体

输入函数描述

输入模块

API

Det

Det_ReportRuntimeError

Det_ReportError

TcpIp

TcpIp_Bind

TcpIp_ChangeParameter

TcpIp_Close

TcpIp_GetIpAddr

TcpIp_GetPhysAddr

TcpIp_ReleaseIpAddrAssignment

TcpIp_RequestIpAddrAssignment

TcpIp_SoAdGetSocket

TcpIp_TcpConnect

TcpIp_TcpListen

TcpIp_TcpReceived

TcpIp_TcpTransmit

TcpIp_UdpTransmit

TcpIp_DhcpReadOption

TcpIp_DhcpV6ReadOption

TcpIp_DhcpV6WriteOption

TcpIp_DhcpWriteOption

<Up>

<Up>_[SoAd][If]RxIndication

<Up>_[SoAd][If]TriggerTransmit

<Up>_[SoAd][If]TxConfirmation

<Up>_[SoAd][Tp]StartOfReception

<Up>_[SoAd][Tp]CopyRxData

<Up>_[SoAd][Tp]TpRxIndication

<Up>_[SoAd][Tp]CopyTxData

<Up>_[SoAd][Tp]TpTxConfirmation

<Up>_SoConModeChg

<Up>_LocalIpAddrAssignmentChg

静态接口函数定义

SoAd_Init函数定义

函数名称:

SoAd_Init

函数原型:

void SoAd_Init(

const SoAd_ConfigType* SoAdConfigPtr)

服务编号:

0x01

同步/异步:

同步

是 否可重入:

输入参数:

SoAdConfigPtr

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

SoAd模块初始化

SoAd_GetVersionInfo函数定义

函数名称:

SoA d_GetVersionInfo

函数原型:

void SoA d_GetVersionInfo (

Std_V ersionInfoType* versioninfo)

服务编号:

0x02

同步/异步:

同步

是 否可重入:

输入参数:

输入 输出参数:

输出参数:

versioninfo

值域:

返回值:

功能概述:

获取软件版本信息

SoAd_IfTransmit函数定义

函数名称:

SoAd_IfTransmit

函数原型:

Std_ReturnType SoAd_IfTransmit (

PduIdType TxPduId,

const PduInfoType* PduInfoPtr)

服务编号:

0x49

同步/异步:

同步

是 否可重入:

不同 的PduId可重入,相 同的PduId不可重入

输入参数:

TxPduId

值域:

PduInfoPtr

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnType: E_OK/E_NOT_OK

功能概述:

IF PDU的发送请求

SoAd_IfRoutingGroupTransmit函数定义

函数名称:

SoAd_IfRou tingGroupTransmit

函数原型:

Std_ReturnType SoAd_IfRou tingGroupTransmit (

SoAd_R outingGroupIdType id)

服务编号:

0x1D

同步/异步:

异步

是 否可重入:

输入参数:

id

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

触发该Routing Group关联的所有IF PDUs的发送

SoAd_IfSpecificRoutingGroupTransmit函数定义

函数名称:

S oAd_IfSpecificRou tingGroupTransmit

函数原型:

Std_ReturnType S oAd_IfSpecificRou tingGroupTransmit (

SoAd_R outingGroupIdType id,

SoAd_SoConIdType SoConId)

服务编号:

0x1F

同步/异步:

异步

是 否可重入:

输入参数:

id

值域:

SoConId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

触发该Routi ngGroup关联的所有 与该SoCon关联的IF PDUs

SoAd_TpTransmit函数定义

函数名称:

SoAd_TpTransmit

函数原型:

Std_ReturnType SoAd_TpTransmit(

PduIdType SoAdSrcPduId,

const PduInfoType* S oAdSrcPduInfoPtr)

服务编号:

0x4

同步/异步:

异步

是 否可重入:

输入参数:

SoAdSrcPduId

值域:

SoAdSrcPduInfoPtr

值域:

输入 输出参数:

输出参数:

返回值:

Std_ ReturnType:E_OK/ E_NOT_OK

功能概述:

TP PDU的发送请求

SoAd_TpCancelTransmit函数定义

函数名称:

SoAd _TpCancelTransmit

函数原型:

Std_ReturnType SoAd_ TpCancelTransmit(

PduIdType PduId)

服务编号:

0x05

同步/异步:

同步

是 否可重入:

不同PduId可重入, 相同PduId不可重入

输入参数:

PduId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

取消正在发送的TP PDU

SoAd_TpCancelReceive函数定义

函数名称:

SoA d_TpCancelReceive

函数原型:

Std_ReturnType SoAd _TpCancelReceive(

PduIdType PduId)

服务编号:

0x06

同步/异步:

同步

是 否可重入:

不同PduId可重入, 相同PduId不可重入

输入参数:

PduId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

取消正在接收的TP PDU

SoAd_GetSoConId函数定义

函数名称:

SoAd_GetSoConId

函数原型:

Std_ReturnType SoAd_GetSoConId(

PduIdType TxPduId,

S oAd_SoConIdType* SoConIdPtr)

服务编号:

0x07

同步/异步:

同步

是 否可重入:

输入参数:

TxPduId

值域:

输入 输出参数:

输出参数:

SoConIdPtr

值域:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

获取TxP duId关联的SoConId

SoAd_OpenSoCon函数定义

函数名称:

SoAd_OpenSoCon

函数原型:

Std_ReturnType SoAd_OpenSoCon(

SoAd_SoConIdType SoConId)

服务编号:

0x08

同步/异步:

异步

是 否可重入:

输入参数:

SoConId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求该SoConId开启

SoAd_CloseSoCon函数定义

函数名称:

SoAd_CloseSoCon

函数原型:

Std_ReturnType SoAd_CloseSoCon(

SoAd_SoConIdType SoConId,

boolean abort)

服务编号:

0x09

同步/异步:

异步

是 否可重入:

输入参数:

SoConId

值域:

abort

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求该SoConId关闭

SoAd_GetSoConMode函数定义

函数名称:

SoAd_GetSoConMode

函数原型:

void SoAd_GetSoConMode (

SoAd_SoConIdType SoConId,

SoA d_SoConModeType* ModePtr)

服务编号:

0x22

同步/异步:

同步

是 否可重入:

输入参数:

SoConId

值域:

输入 输出参数:

输出参数:

ModePtr

值域:

返回值:

功能概述:

获取该 SoConId当前的状态

SoAd_RequestIpAddrAssignment函数定义

函数名称:

SoAd_Reques tIpAddrAssignment

函数原型:

Std_ReturnType SoAd_Request IpAddrAssignment(

SoAd_SoConIdType SoConId,

TcpIp_IpA ddrAssignmentType Type,

const Tcp Ip_SockAddrType* LocalIpAddrPtr,

uint8 Netmask,

const Tcp Ip_SockAddrType* DefaultRouterPtr

)

服务编号:

0x0A

同步/异步:

异步

是 否可重入:

不同 SoConId可重入,相 同SoConId不可重入

输入参数:

SoConId

值域:

Type

值域:

LocalIpAddrPtr

值域:

Netmask

值域:

DefaultRouterPtr

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求该SoConId关联 的本端IP地址分配

SoAd_ReleaseIpAddrAssignment函数定义

函数名称:

SoAd_Releas eIpAddrAssignment

函数原型:

Std_ReturnType SoAd_Release IpAddrAssignment(

SoAd_SoConIdType SoConId)

服务编号:

0x0B

同步/异步:

异步

是 否可重入:

输入参数:

SoConId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求释放该SoConI d关联的本端IP地址

SoAd_GetLocalAddr函数定义

函数名称:

SoAd_GetLocalAddr

函数原型:

Std_ReturnType S oAd_GetLocalAddr(

SoAd_SoConIdType SoConId,

Tcp Ip_SockAddrType* LocalAddrPtr,

uint8* NetmaskPtr,

Tcp Ip_SockAddrType* DefaultRouterPtr)

服务编号:

0x0C

同步/异步:

同步

是 否可重入:

输入参数:

SoConId

值域:

输入 输出参数:

LocalAddrPtr

值域:

DefaultRouterPtr

值域:

输出参数:

NetmaskPtr

值域:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

获取该SoConI d关联的本端IP地址

SoAd_GetPhysAddr函数定义

函数名称:

SoAd_GetPhysAddr

函数原型:

Std_ReturnType SoAd_GetPhysAddr(

SoAd_SoConIdType SoConId,

uint8* PhysAddrPtr)

服务编号:

0x0D

同步/异步:

同步

是 否可重入:

输入参数:

SoConId

值域:

输入 输出参数:

输出参数:

PhysAddrPtr

值域:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

获取该SoConId 关联的本端MAC地址

SoAd_GetRemoteAddr函数定义

函数名称:

S oAd_GetRemoteAddr

函数原型:

Std_ReturnType So Ad_GetRemoteAddr(

SoAd_SoConIdType SoConId,

Tcp Ip_SockAddrType* IpAddrPtr)

服务编号:

0x1C

同步/异步:

同步

是 否可重入:

输入参数:

SoConId

值域:

输入 输出参数:

输出参数:

IpAddrPtr

值域:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

获 取该SoConId关联的 远端地址(IP+PORT)

SoAd_EnableRouting函数定义

函数名称:

S oAd_EnableRouting

函数原型:

Std_ReturnType So Ad_EnableRouting(

SoAd_R outingGroupIdType id)

服务编号:

0x0E

同步/异步:

同步

是 否可重入:

输入参数:

id

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求使能该Routi ngGroup,进而使能 关联的PduRouteDes t/SocketRouteDest

SoAd_EnableSpecificRouting函数定义

函数名称:

SoAd_Enab leSpecificRouting

函数原型:

Std_ReturnType SoAd_Enabl eSpecificRouting(

SoAd_R outingGroupIdType id,

SoAd_SoConIdType SoConId)

服务编号:

0x20

同步/异步:

同步

是 否可重入:

输入参数:

id

值域:

SoConId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请 求基于该RoutingG roup和SoConId关联 的PduRouteDest/So cketRouteDest使能

SoAd_DisableRouting函数定义

函数名称:

So Ad_DisableRouting

函数原型:

Std_ReturnType SoA d_DisableRouting(

SoAd_R outingGroupIdType id)

服务编号:

0x0F

同步/异步:

同步

是 否可重入:

输入参数:

id

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求该Routi ngGroup的不使能, 进而影响关联PduR outeDest/SocketRo uteDest的使能情况

SoAd_DisableSpecificRouting函数定义

函数名称:

SoAd_Disab leSpecificRouting

函数原型:

Std_ReturnType SoAd_Disabl eSpecificRouting(

SoAd_R outingGroupIdType id,

SoAd_SoConIdType SoConId)

服务编号:

0x21

同步/异步:

同步

是 否可重入:

输入参数:

id

值域:

SoConId

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求 基于该RoutingGro up和SoConId关联的 PduRouteDest/Sock etRouteDest不使能

SoAd_SetRemoteAddr函数定义

函数名称:

S oAd_SetRemoteAddr

函数原型:

Std_ReturnType So Ad_SetRemoteAddr(

SoAd_SoConIdType SoConId,

const Tcp Ip_SockAddrType* RemoteAddrPtr)

服务编号:

0x10

同步/异步:

同步

是 否可重入:

相同 SoConId不可重入, 不同SoConId可重入

输入参数:

SoConId

值域:

RemoteAddrPtr

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

设 置SoCon的远端地址

SoAd_SetUniqueRemoteAddr函数定义

函数名称:

SoAd_Se tUniqueRemoteAddr

函数原型:

Std_ReturnType SoAd_Set UniqueRemoteAddr(

SoAd_SoConIdType SoConId,

const Tcp Ip_SockAddrType* RemoteAddrPtr,

S oAd_SoConIdType* As signedSoConIdPtr)

服务编号:

0x1E

同步/异步:

同步

是 否可重入:

相同 SoConId不可重入, 不同SoConId可重入

输入参数:

SoConId

值域:

RemoteAddrPtr

值域:

输入 输出参数:

输出参数:

A ssignedSoConIdPtr

值域:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求在该SoCon所在 的SoConGroup中选 择合适的SoCon设置 成要求的远端地址

SoAd_ReleaseRemoteAddr函数定义

函数名称:

SoAd_ ReleaseRemoteAddr

函数原型:

void SoAd_ ReleaseRemoteAddr (

SoAd_SoConIdType SoConId)

服务编号:

0x23

同步/异步:

同步

是 否可重入:

相同 SoConId不可重入, 不同SoConId可重入

输入参数:

SoConId

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

请求释放 该SoCon的远端地址

SoAd_TpChangeParameter函数定义

函数名称:

SoAd_ TpChangeParameter

函数原型:

Std_ReturnType SoAd_T pChangeParameter(

PduIdType id,

TPParameterType parameter,

uint16 value)

服务编号:

0x11

同步/异步:

同步

是 否可重入:

输入参数:

id

值域:

parameter

值域:

value

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

请求 改变传输协议参数

SoAd_ReadDhcpHostNameOption函数定义

函数名称:

SoAd_ReadD hcpHostNameOption

函数原型:

Std_ReturnType SoAd_ReadDh cpHostNameOption(

SoAd_SoConIdType SoConId,

uint8* length,

uint8* data)

服务编号:

0x1A

同步/异步:

同步

是 否可重入:

相同 SoConId不可重入, 不同SoConId可重入

输入参数:

SoConId

值域:

输入 输出参数:

length

值域:

输出参数:

data

值域:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

获取hostname

SoAd_WriteDhcpHostNameOption函数定义

函数名称:

SoAd_WriteD hcpHostNameOption

函数原型:

Std_ReturnType SoAd_WriteDh cpHostNameOption(

SoAd_SoConIdType SoConId,

uint8 length,

const uint8* data)

服务编号:

0x1B

同步/异步:

同步

是 否可重入:

相同 SoConId不可重入, 不同SoConId可重入

输入参数:

SoConId

值域:

length

值域:

data

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

设置hostname

SoAd_RxIndication函数定义

函数名称:

SoAd_RxIndication

函数原型:

void S oAd_RxIndication(

T cpIp_SocketIdType SocketId,

const Tcp Ip_SockAddrType* RemoteAddrPtr,

uint8* BufPtr,

uint16 Length)

服务编号:

0x12

同步/异步:

同步

是 否可重入:

相同 Socket不可重入, 不同Socket可重入

输入参数:

SocketId

值域:

RemoteAddrPtr

值域:

BufPtr

值域:

Length

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

TCP/UDP报文接收

SoAd_CopyTxData函数定义

函数名称:

SoAd_CopyTxData

函数原型:

BufReq_ReturnType SoAd_CopyTxData(

T cpIp_SocketIdType SocketId,

uint8* BufPtr,

uint16 BufLength)

服务编号:

0x13

同步/异步:

同步

是 否可重入:

相同 Socket不可重入, 不同Socket可重入

输入参数:

SocketId

值域:

BufLength

值域:

输入 输出参数:

输出参数:

BufPtr

值域:

返回值:

BufReq_Retur nType:BUFREQ_OK/ BUFREQ_E_NOT_OK

功能概述:

Tx Pdu发送数据拷贝

SoAd_TxConfirmation函数定义

函数名称:

So Ad_TxConfirmation

函数原型:

void SoA d_TxConfirmation(

T cpIp_SocketIdType SocketId,

uint16 Length)

服务编号:

0x14

同步/异步:

同步

是 否可重入:

相同 Socket不可重入, 不同Socket可重入

输入参数:

SocketId

值域:

Length

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

T CP报文发送ACK确认

SoAd_TcpAccepted函数定义

函数名称:

SoAd_TcpAccepted

函数原型:

Std_ReturnType SoAd_TcpAccepted(

T cpIp_SocketIdType SocketId,

T cpIp_SocketIdType S ocketIdConnected,

const Tcp Ip_SockAddrType* RemoteAddrPtr)

服务编号:

0x15

同步/异步:

同步

是 否可重入:

输入参数:

SocketId

值域:

SocketIdConnected

值域:

RemoteAddrPtr

值域:

输入 输出参数:

输出参数:

返回值:

Std_ReturnTy pe:E_OK/E_NOT_OK

功能概述:

TCP服 务端连接成功通知

SoAd_TcpConnected函数定义

函数名称:

SoAd_TcpConnected

函数原型:

void S oAd_TcpConnected(

T cpIp_SocketIdType SocketId)

服务编号:

0x16

同步/异步:

同步

是 否可重入:

输入参数:

SocketId

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

TCP客 户端连接成功通知

SoAd_TcpIpEvent函数定义

函数名称:

SoAd_TcpIpEvent

函数原型:

void SoAd_TcpIpEvent(

T cpIp_SocketIdType SocketId,

TcpIp_EventType Event)

服务编号:

0x17

同步/异步:

同步

是 否可重入:

输入参数:

SocketId

值域:

Event

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

Socket事件通知

SoAd_LocalIpAddrAssignmentChg函数定义

函数名称:

SoAd_LocalIp AddrAssignmentChg

函数原型:

void SoAd_LocalIpA ddrAssignmentChg(

TcpI p_LocalAddrIdType IpAddrId,

TcpI p_IpAddrStateType State)

服务编号:

0x18

同步/异步:

同步

是 否可重入:

输入参数:

IpAddrId

值域:

State

值域:

输入 输出参数:

输出参数:

返回值:

功能概述:

IP地址 分配状态改变通知

SoAd_MainFunction函数定义

函数名称:

SoAd_MainFunction

函数原型:

void SoAd_MainFunction(void)

服务编号:

0x19

同步/异步:

是 否可重入:

输入参数:

输入 输出参数:

输出参数:

返回值:

功能概述:

SoAd的调度主函数(周期性被调用)

可配置函数定义

无。

配置

SoAdGeneral

image3

图5-1 SoAdGeneral

表5-1 SoAdGeneral

UI名称

描述

SoAd DevErrorDetect

取值范围

true/false

默认取值

false

参数描述

是否 使能DET开发错误检测

依赖关系

依赖于Det模块的支持

SoAdIPv6 AddressEnabled

取值范围

true/false

默认取值

false

参数描述

是否支持IPv6

依赖关系

暂不支持IPv6,配 置项目前固定为FALSE

SoAdMain FunctionPeriod

取值范围

0 .. INF

默认取值

0.01

参数描述

SoAd_ MainFunction调用周期

依赖关系

SoAdR outingGroupMax

取值范围

0 .. 65535

默认取值

0

参数描述

限制SoAd RoutingGroup配置数目

依赖关系

SoAdSoConMax

取值范围

0 .. 65535

默认取值

0

参数描述

限制Socket Connection配置数目

依赖关系

SoAd VersionInfoApi

取值范围

true/false

默认取值

false

参数描述

是否支持 模块软件版本获取接口

依赖关系

SoAdBswModules

image4

图5-2 SoAdBswModules

表5-2 SoAdBswModules

UI名称

描述

SoAdIf

取值范围

true/false

默认取值

false

参数描述

关 联Bsw模块是否使能IF PDU通信

依赖关系

依赖于SoAdBswModuleR ef关联的模块是否支持

SoAdIfT riggerTransmit

取值范围

true/false

默认取值

false

参数描述

关 联Bsw模块是否使能IF PDU通过Trigger Transmit方式进行发送

依赖关系

依赖于SoAdBswModuleR ef关联的模块是否支持

SoAdIf TxConfirmation

取值范围

true/false

默认取值

false

参数描述

关 联Bsw模块是否使能IF PDU发送确认

依赖关系

依赖于SoAdBswModuleR ef关联的模块是否支持

SoAdLocalIpAd drAssigmentChg

取值范围

true/false

默认取值

false

参数描述

模块是 否使能IP地址状态通知

依赖关系

依赖于SoAdBswModuleR ef关联的模块是否支持

So AdSoConModeChg

取值范围

true/false

默认取值

false

参数描述

模式是 否使能SoCon模式通知

依赖关系

依赖于SoAdBswModuleR ef关联的模块是否支持

SoAdTp

取值范围

true/false

默认取值

false

参数描述

模块是否使能TP PDU通信

依赖关系

依赖于SoAdBswModuleR ef关联的模块是否支持

SoAd UseCallerInfix

取值范围

true/false

默认取值

true

参数描述

模块回调 接口名是否包含“SoAd”

依赖关系

依赖于SoAdBswModul eRef回调函数命名规则

So AdUseTypeInfix

取值范围

true/false

默认取值

true

参数描述

模块回调接 口名是否包含“Tp/If”

依赖关系

依赖于SoAdBswModul eRef回调函数命名规则

So AdBswModuleRef

取值范围

索引[Bsw]

默认取值

参数描述

关联Bsw模块

依赖关系

依赖于 配置工程中Bsw的添加

SoAdSocketConnectionGroup

image5

图5-3 SoAdSocketConnectionGroup

表5-3 SoAdSocketConnectionGroup

UI名称

描述

So AdSocketVlanId

取值范围

1-4094

默认取值

参数描述

Socket的Valn ID

依赖关系

依赖于使能Vlan

SoAdP duHeaderEnable

取值范围

true/false

默认取值

false

参数描述

表示该SoCon Gro up是否使能Header机制

依赖关系

SoAdResourceMa nagementEnable

取值范围

true/false

默认取值

false

参数描述

是否使能资源管理

依赖关系

固定为false不可改

S oAdSocketAutom aticSoConSetup

取值范围

true/false

默认取值

true

参数描述

表示该SoCon Group中SoCon是 自动链接还是手动链接

依赖关系

SoAdSocke tFramePriority

取值范围

0 .. 7

默认取值

参数描述

IP报文的优先级参数

依赖关系

SoAdSocketIpA ddrAssignmentC hgNotification

取值范围

true/false

默认取值

false

参数描述

表示该SoCon Group是 否使能IP地址状态通知

依赖关系

SoAdS ocketLocalPort

取值范围

0 .. 65535

默认取值

0

参数描述

该 SoConGroup本端PORT号

依赖关系

SoAdSock etMsgAcceptanc eFilterEnabled

取值范围

true/false

默认取值

true

参数描述

是否使能报文接收过滤

依赖关系

当SoAdSocketR emoteAddress配置了通 配符并且SoAdSocketUd pListenOnly为FALSE, 该配置项必须为TRUE;

当该SoConGrou p包含了多个SoCon时, 该配置项必须为TRUE;

SoAdSo cketSoConModeC hgNotification

取值范围

true/false

默认取值

false

参数描述

是否使 能SoCon模式切换通知

依赖关系

SoAdSocke tTpRxBufferMin

取值范围

0 .. 65535

默认取值

参数描述

表 示该SoConGroup接收TP Buffer大小

依赖关系

当该SoConGr oup中SoCon需要接收TP PDU时 才需配置,且配置长度 需≥关联的最大接收TP PDU长度

SoAdSocke tDifferentiate dServicesField

取值范围

0 .. 63

默认取值

参数描述

表示IP header中6-bit Differentiated Service Field

依赖关系

SoAdS ocketFlowLabel

取值范围

0 .. 1048575

默认取值

参数描述

表示IPv6 header中20-bit Flow Label field

依赖关系

依赖于 SoAdIPv6AddressEnabl ed的使能,当前不支持

SoAdSocke tPathMTUEnable

取值范围

true/false

默认取值

参数描述

表示是否使能 最大传输单元MTU探测

依赖关系

依赖于Tc pIp层MTU机制是否支持

SoAdSocketL ocalAddressRef

取值范围

索引[TcpIpLocalAddr]

默认取值

0

参数描述

关于TcpIp层 LocalAddr(本端IP)

依赖关系

依赖于T cpIp的配置;当前不支 持IPv6,当SoAdSocke tLocalAddressRef关联 TcpIpDomainType不能 配置为TCPIP_AF_INET6

SoAdSocketConnection

image6

图5-4 SoAdSocketConnection

表5-4 SoAdSocketConnection

UI名称

描述

SoAdSocketId

取值范围

0 .. 65535

默认取值

0

参数描述

表示该SoCon的Id号

依赖关系

SoAd工 具自动从0开始依次加1

SoAdSocketRemoteAddress

image7

图5-5 SoAdRoutingPath

表5-5 SoAdRoutingPath

UI名称

描述

SoAdSocketR emoteIpAddress

取值范围

IPv4/IPv6地址范围

默认取值

0 .0.0.0

参数描述

表示远端节点的IP地址

依赖关系

根据关联的

TcpIpLocalAddr→T cpIpDomainType决定IP 地址为IPv4或者IPv6;

全0的IP地 址代码通配符“ANY”;

SoAdSo cketRemotePort

取值范围

0 .. 65535

默认取值

0

参数描述

表示远端节点的PORT号

依赖关系

0表示 PORT值为通配符“ANY”

SoAdSocketTcp

image8

图5-6 SoAdSocketTcp

表5-6 SoAdSocketTcp

UI名称

描述

SoAdSocket TcpImmediateTp TxConfirmation

取值范围

true/false

默 认取值

false

参数描述

TP PDU发送是否立即确 认(无需等待对方ACK)

依赖关系

SoAdSoc ketTcpInitiate

取值范围

true/false

默 认取值

false

参数描述

TCP作为服务端(FAL SE)还是客户端(TRUE)

依赖关系

SoAdSock etTcpKeepAlive

取值范围

true/false

默 认取值

false

参数描述

是否使能 TCP协议keep-alive机制

依赖关系

当TcpIp模块支持Tc pIpTcpKeepAliveEnabled 时,该项才能配置为true

So AdSocketTcpKee pAliveInterval

取值范围

0 .. INF

默 认取值

参数描述

keep -alive探测报文间隔周期

依赖关系

依赖于SoAdSo cketTcpKeepAlive的使能

SoA dSocketTcpKeep AliveProbesMax

取值范围

0 .. 65535

默 认取值

参数描述

keep-ali ve探测报文最大发送次数

依赖关系

依赖于SoAdSo cketTcpKeepAlive的使能

SoAdSocketTc pKeepAliveTime

取值范围

0 .. INF

默 认取值

参数描述

最后一次数据报到发送 keep-alive探测报的时间

依赖关系

依赖于SoAdSo cketTcpKeepAlive的使能

SoAdSo cketTcpNoDelay

取值范围

true/false

默 认取值

false

参数描述

是否使能 TCP拥塞控制(Nagle机制 ),配置为true则关闭拥 塞控制(Nagle机制)。

依赖关系

若TcpIp模块 不支持Nagle算法,该配 置项不能配置为false。

SoAdSo cketTcpTxQuota

取值范围

0 .. 4294967295

默 认取值

参数描述

该SoConGroup中每个 SoCon缓存发送数据长度

依赖关系

该配置项/功能不支持

SoAdSocketTCPO ptionFilterRef

取值范围

索引

[TcpIp TcpConfigOptionFilter]

默 认取值

参数描述

需要加载的TCP option字段

依赖关系

依赖于TcpIp模块TcpI pTcpConfigOptionFilter

S oAdSocketTcpTl sConnectionRef

取值范围

索引

[TcpIpTlsConnection]

默 认取值

参数描述

TCP是否需要TLS加解密

依赖关系

依赖于TcpIp 模块TcpIpTlsConnection

SoAdSocketUdp

image9

图5-7 SoAdSocketUdp

表5-7 SoAdSocketUdp

UI名称

描述

SoAdSocketUd pAliveSuperv isionTimeout

取值范围

0 .. INF

默 | 认 | 取 | 值 |

无 |



参数描述

UDP接 收报文后保持ONLINE状 态的时间,若想一直保 持ONLINE则不配置该项

依赖关系

SoAdSocketU dpListenOnly

取值范围

true/false

默 | 认 | 取 | 值 |


f a l s e

参数描述

表示该SoCo nGroup是否只支持接收

依赖关系

UDP协议才存在 只接收的模式,不能被 SoAdPduRouteDest关联

SoAd SocketUdpStr ictHeaderLen CheckEnabled

取值范围

true/false

默 认取值

false

参数描述

表示是否使能接收 报文长度严格检测机制

依赖关系

依赖于SoAdP duHeaderEnable的使能

So AdSocketUdpI mmediateTxCo nfirmEnabled

取值范围

true/false

默 认取值

false

参数描述

使能UDP So cket立即回复发送确认

依赖关系

SoA dSocketUdpTr iggerTimeout

取值范围

0 .. INF

默 认取值

参数描述

nPduUdp TxBuffer超时发送时间

依赖关系

依赖于关联So AdPduRouteDest的SoAd TxUdpTriggerMode配置

SoAd SocketnPduUd pTxBufferMin

取值范围

0 .. 65535

默 认取值

参数描述

nPduUdp TxBuffer触发发送阈值

依赖关系

依赖于关联SoAd PduRouteDest的SoAdTx UdpTriggerMode配置, 若该SoAdSocketConnec tion当前支持nUdpBuff er,则SoAdSocketnPdu UdpTxBufferMin必须配 置并且其长度必须大于 关联的Pdu(可能加Hea der长度8)的最大长度

SoAdRoutingGroup

image10

图5-8 SoAdRoutingGroup

表5-8 SoAdRoutingGroup

UI名称

描述

SoAd RoutingGroupId

取值范围

0 .. 65535

默认取值

参数描述

配置 的SoAdRoutingGroup统 一排序的Id号,由工具 自动从0..N依次排序。

依赖关系

SoA dRoutingGroupI sEnabledAtInit

取值范围

true/false

默认取值

false

参数描述

表示该SoAdRoutingGro up初始化之后是否使能

依赖关系

S oAdRoutingGrou pTxTriggerable

取值范围

true/false

默认取值

false

参数描述

表示该SoAd RoutingGroup关联的If TxPdu 是否可以通过SoAd_IfR outingGroupTransmit/

SoA d_IfSpecificRoutingG roupTransmit请求发送

依赖关系

SoAdPduRoute

image11

图5-9 SoAdPduRoute

表5-9 SoAdPduRoute

UI名称

描述

SoAdTxPduId

取值范围

string

默认取值

参数描述

SoAd层TxPdu的Id值

依赖关系

根 据配置项SoAdTxPduRe f关联的Pdu名自动生成

SoAdTx UpperLayerType

取值范围

IF/TP

默认取值

参数描述

TxPdu发送方式选择

依赖关系

只有“IF” 时,才支持一对多发送

So AdUDPImmediate TxConfirmation

取值范围

true/false

默认取值

false

参数描述

该Pdu是否使能UDP Socket立即回发送确认

依赖关系

依赖于So AdSocketUdpImmediate TxConfirmEnabled使能

SoAdTxPduRef

取值范围

索引[Pdu]

默认取值

参数描述

关联到EcuC中的Pdu

依赖关系

依 赖于EcuC中Pdu的配置

SoAdPduRouteDest

image12

图5-10 SoAdPduRouteDest

表5-10 SoAdPduRouteDest

UI名称

描述

SoA dTxPduHeaderId

取值范围

0 .. 4294967296

默认取值

参数描述

TxPdu报 文在SoAd添加的Header Id值

依赖关系

依赖于其 关联的SoAdSocketConn ectionGroup配置项SoA dPduHeaderEnable使能

SoAdTx UdpTriggerMode

取值范围

TRIGGER_ALWAYS/

TRIGGER_NEVER

默认取值

参数描述

TxPdu通过 UDP发送且需要使用nPd uUdpTxBuffer机制时, 配置TxPdu的触发属性

依赖关系

依赖 于SoAdSocketProtocol 和SoAdTxUpperLayerTy pe,只有当TxPdu通过I F发送方式且由UDP进行 发送时才可选择配置该 项;配置为“TRIGGER_N EVER”时,SoAdPduRout eDest->SoAdTxUdpTrig gerTimeout有配置或者 其关联的SoAdSocketU dpTriggerTimeout参数 中至少要配置1个;当S oAdSocketConection关 联的所有SoAdPduRoute Dest都为“IF”,当其中 一个SoAdPduRouteDest 配置了SoAdTxUdpTrigg erMode,其他也需要配 置;当SoAdSocketCon ection关联的所有SoAd PduRouteDest,当配置 了SoAdTxUdpTriggerMo de时,至少存在一个配 置为TRIGGER_NEVER; 当SoAdSocketConecti on关联的所有SoAdPduR outeDest不全为“IF”, SoAdTxUdpTriggerMod e不能配置;关联到TCP SoAdSo cketConnection的SoAd PduRouteDest不能配置 SoAdTxUdpTriggerMode

SoAdTxUdp TriggerTimeout

取值范围

0 .. INF

默认取值

参数描述

nPduUdp TxBuffer发送时间阈值

依赖关系

当So AdTxUdpTriggerMode配 置为TRIGGER_NEVER, 才可选择是否配置该项

SoAdTxSoc ketConnOrSocke tConnBundleRef

取值范围

索引

[S oAdSocketConnection]

默认取值

参数描述

表示该SoAdPduRo uteDest通过哪个SoCon 进行发送(工具限制只 能关联到SoCon,而不 能关联到SoConGroup, 可通过配置多个SoAdP duRouteDest分别关联S oCon来实现同样功能)

依赖关系

依赖于SoAdSo cketConnection的配置

SoAdTxR outingGroupRef

取值范围

索引

[SoAdRoutingGroup]

默认取值

参数描述

关联到0..N 个SoAdRoutingGroup组

依赖关系

依赖于So AdRoutingGroup的配置

SoAdSocketRoute

image13

图5-11 SoAdSocketRoute

表5-11 SoAdSocketRoute

UI名称

描述

SoA dRxPduHeaderId

取值范围

0 .. 4294967296

默 认 取 值

参数描述

SoAd层RxPdu的Header Id值

依赖关系

依赖于关联SoConGr oup的SoAdPduHeaderEnable使能

SoAdRxSoc ketConnOrSocke tConnBundleRef

取值范围

索引

[SoAdSocketConnection ,SoAdSocketConnectionGroup]

默 认 取 值

参数描述

SoAdSocketRoute 通过哪个SoCon/SoConGroup接收

依赖关系

只有SoAdRxUpperLayerType 为“IF”时,才能关联SoConGroup

SoAdSocketRouteDest

image14

图5-12 SoAdSocketRouteDest

表5-12 SoAdSocketRouteDest

UI名称

描述

SoAdRxPduId

取值范围

string

默认取值

参数描述

SoAd层RxPdu的Id值

依赖关系

根据SoAdRxPduRe f关联的Pdu名自动生成

SoAdRx UpperLayerType

取值范围

IF/TP

默认取值

参数描述

表示RxPdu接收方式

依赖关系

SoAdRxPduRef

取值范围

索引[Pdu]

默认取值

参数描述

关联EcuC中Pdu

依赖关系

依 赖于EcuC中Pdu的配置

SoAdRxR outingGroupRef

取值范围

索引

[SoAdRoutingGroup]

默认取值

参数描述

关联到0..N 个SoAdRoutingGroup组

依赖关系

依赖于So AdRoutingGroup的配置