本文主要介绍的就是第二种方式,其基于Enterprise Architect+INTEWORK VDE的工具链实现了SOA架构的完整开发,如下图2所示,通过将Enterprise Architect导出的XMI文件导入VDE工具,从而形成了Service Library以及DataType Library并根据服务的部署关系自动创建Ethernet Node和Provide Service Instance和Consumer Service Instance.
将XMI文件导入VDE后,会根据配置文件自动设置默认参数,例如Service ID、Element ID、Instance ID、Port number、Mac Address、Netork Address、Network Mask等,通信工程师可使用默认参数或根据实际需要修改默认参数。服务定义页面共有General、Method、Event、Field和EventGroup五个标签页:
General标签页:主要用于定义Service Name、Service ID、Service Description;
Method标签页:可以定义Element Name、Element ID(0x0001-0xFFFE)、RR/FF、Protocol(UDP/TCP)、Parameter Name、Datatype、Direction(IN/OUT/INOUT)、Comment;
Event标签页:可以添加多个Event类型的接口,并定义Element Name、ElementID、Protocol、Trigger(Cycle/trigger)、Period、Threshold Value、Parameter Name、Data Type以及Comment;
Field标签页:可以添加多个Field类型的接口,并定义Element Name、Protocol、Getter/Setter/Notifier、ElementID、Trigger、Period、Threshold Value、Parameter Name、DataType以及Comment;
EventGroup标签页:可定义EventGroup Name、EventGroup ID, 并选择当前Service下的Event和Notifier添加到对应的EventGroup.
图5:VLAN定义界面
General标签页:定义Node Name,Mac Address;
Network Address标签页:定义ECU的IP地址以及子网掩码;
Port Config标签页:一个ECU可以有多个端口,ECU是通过Port和VLAN关联,通常一个端口可以与多个VLAN进行关联,定义Port以及对应的Network Address 和VLAN;
图6:Ethernet Node 定义界面
编辑Service Instance界面包含如下内容:
Provide Service Name:不可编辑,与添加的service名称一致;
Service ID:不可编辑;
Protocol:为Service中指令所拥有的所有协议类型,TCP、UDP和TCP/UDP,不可编辑;
Instance ID:长度一个字节,大小范围0x00-0Xff,通过Instance ID区分不同ECU提供的Service;
Port Number:端口号,大小范围是0-65535;
VLANID:选择该Service Instance要添加到那些VLAN下,可供选择的VLAN为当前ECU已经添加的VLAN,可以同时选择多个VLAN。
在ECU下面添加Consumed Service Instance时,可供选择的Service Instance为与当前ECU处于统一VLAN下的其他ECU提供的Provide Service Instance,并且Provided Service Instance所选择的VLAN也包含当前ECU所在的VLAN。
上述介绍的Enterprise Architect+INTEWORK VDE+Matlab Simulink工具链覆盖了SOA架构设计主要工作,从而使各阶段的开发输入输出能够有效衔接,避免了传统文档传递的过程,实现数据复用、数据一致性,另外本文介绍的INTEWORK VDE工具不仅支持XMI文件导入以及ARXML文件导出,同时支持传统CAN、CANFD、LIN以及J1939的设计工作,并可方便的实现EXCEL通信矩阵、DBC、LDF、ARXML等各种格式文件的导入以及导出,满足上下游不同业务的需求。
—END—
添加下方信加入汽专业交流群
(仅限专业人士)