标注:本文来自本实验室杜兴华的研究成果。
2 构建车载以太网数字孪生模型客户端
2.1 AddEthernetType
在车载以太网数组孪生模型中,AddEthernetType 表示引入以太网的类型。本文中以太网类型为车载以太网。
在该模型中,引用 MDD 的Blocks 功能,将车载以太网加入到模型中,表示我们本次要做的仿真模型为车载以太网的模型。AddEthernetType 模型如图 2-1 所示。
图 2-1: AddEthernetType 模型
2.2 GetEthernetType
在车载以太网数字孪生模型中,GetEthernetType 可以识别引入的以太网的类型,从而建立通信。本文中以太网类型为车载以太网。
在该模型中,引用 MDD 的Blocks 功能,识别引入的车载以太网,与引入的车载以太网建立通信,从而建立 GetEthernetType 模型。GetEthernetType 如图 2-2 所示。
图 2-2: GetEthernetType 模型
2.3 AddMAC
车载以太网数字孪生模型中,AddMAC 表示在引入以太网的 MAC 地址。
用长度为 255 的char 类型数组来表示 MAC 地址,引用 MDD 的Blocks 功能,引入以太网的 MAC 地址。模型见图 2-3。
图 2-3: AddMAC 模型
2.4 GetMAC
车载以太网数字孪生模型中,GetMAC 表示得到以太网的 MAC 地址。
在该模型中,同样使用长度为 255 的 char 类型数组来表示 MAC 地址,引用 MDD的Blocks 功能,该模型可以在数据包中解析到 MAC 地址。GetMAC 模型如图 2-4 所示。
图 2-4: GetMAC 模型
2.5 Test01
在车载以太网数字孪生模型中,Test01 表示使用TCP/IP 协议、UDP 协议、MAC 协议等模拟出车载以太网的模型。
在该模型中,将TCP/IP 协议和 SerialPackger 块连接起来,建立车载以太网的网络, 车载以太网客户端彻底组建完成,待与后端建立网络连接之后,便可以进行车载以太网和车载网络之间的通信。Test01 模型如图 2-5 所示。
2-5: Test01 模型
3 建立车载以太网后端服务器
在本文的车载以太网数字孪生模型中,后端服务器用 python 代码实现,使用 python模拟 TCP/IP 服务器,输入和输出的数据形式为以太网第二层数据帧。
3.1 设置 HOST 地址和 MAC 地址
我们首先设置一个给车载以太网 HOST 地址和 MAC 地址,如图 3-1 所示。
图 3-1: HOST 地址和 MAC 地址
3.2 设置以太网 IEEE 802.3 接口的全局定义
在车载以太网网址中定义 ETH_ALEN,占据八个字节,在车载以太网类型字段中定义 ETH_TLEN,占据八个字节,设置 ETH_DATA_LEN = 2,表示车载以太网报文有效载荷长度为 2,设置 ETH_FRAME_LEN = 1514,表示在 FCS 中的八位字节中最大值为 1514。代码如图 3-2 所示。
图 3-2: 车载以太网全局设置
3.3 以太网可联通性检查工具
可连通性测试可以让我们知道服务器访问互联网的状况。可连通性测试提供了一种可靠的方式,使外部来源检查以太网网络连接。当我们认为一切都正确配置,但无法测试连接时,该测试会提供即时反馈,让我们明白我们的配置是否可以真正进行外部访问。可连通性测试代码如图 3-3 所示。
图 3-3: 以太网可联通性检查工具
3.4 生成一个随机的 MAC 地址及其原始字符
首先生成一个随机的 MAC 地址,让以太网服务器拥有物理地址。代码如图 3-4 所示。
图 3-4: MAC 地址随机生成函数
3.5 建立服务器与车载以太网模型的通信
首先服务器在端口上监听车载以太网模型发出的数据包,监听到数据包之后进行解析,并且获得通信目标的 MAC 地址。获得地址之后进行数据的偏移,检测获得目标的MAC 地址是否和机器的 MAC 地址一致,如果不一致,返回一条错误信息,如果一致, 则建立通信连接,在给目标发送数据包时需要交换源地址和目标地址。通信代码如图 3-5 所示。
图 3-5: 建立通信
首先我们运行python 的服务器代码,让服务器处于监听状态,之后在 OpenModelica里面运行车载以太网的仿真模型,让两者建立通信,并且查看建模仿真结果。运行服务器代码结果如图 4-1 所示。
图 4-1: python 代码运行结果
由此图可以看出服务器正在监听,暂时还没有收到数据包。
接下来运行 OpenModelica 里面的车载以太网模型,结果如图 4-2 所示。
4-2: 模型运行结果
此时我们回看服务器运行结果,可以看到服务器与车载以太网模型已经建立通信连接。结果如图 4-3 所示。
图 4-3: 通信连接
编辑:jq
全部0条评论
快来发表一下你的评论吧 !