10-13-2017 01:36 AM - last edited on 11-26-2018 05:34 AM by WaldemarM
This example contains SOME/IP Client and Server VIs which demonstrate
There are two versions of the SOME/IP examples contained in the LabVIEW project:
Every SOME/IP application requires a \etc\vsomeip.json configuration file on the same logical drive as the application. For more information regarding the JSON configuration file refer to the attached readme.txt.
SOME/IP Features supported in this example:
SOME/IP Feature |
Supported by Example |
Supported by used Genivi SOME/IP Stack |
Serialization |
Yes (0.3) |
No |
Service Discovery |
Yes |
Yes |
Publish/Subsribe |
Yes (0.2) |
Yes |
Method incl. response |
Yes |
Yes |
Method without response (Fire and Forget) |
Yes |
Yes |
Event |
Yes (0.2) |
|
Field |
Yes (0.2) |
Yes |
Event Group |
Yes (0.2) |
Yes |
Segmentation of UDP Messages |
No |
No |
E2E Protection |
Yes * |
Yes ** |
* = undocumented ** = uncomplete, with user defined DLLs possible
SOME/IP (Scalable Service-Oriented Middleware over IP) Overview
SOME/IP is an automotive middleware solution for control message data exchange of automotive devices like cameras, head units or telematics devices. SOME/IP supports features of various domains in the vehicle, allowing SOME/IP to be used as a replacement for a lot of traditional communication implementations.
SOME/IP has been introduced by BMW Group in 2011 and meanwhile is maintained by the AUTOSAR organization. SOME/IP (Scalable Service-Oriented Middleware over IP) relies on using Ethernet and TCP/IP. Use case of a middleware typically concentrates around serialization and deserialization between ECU internal and external network representations, as well as sending and receiving of data. For serialization, SOME/IP uses a straight forward approach of converting datatypes without complex conversion algorithms. Supported data types of SOME/IP are unsigned integer 8/16/32/64, signed integer 8/16/32/64, float 32/64, enumeration, Boolean, bitfield, struct union, static array and dynamic array. Arrays can be defined in multi dimensions. Simple data types like uint8 are identical in the network representation as well as for the internal representation. In opposite to CAN SOME/IP can transport large data packets as Ethernet offers higher payloads. SOME/IP communication is executed between a service producer (Server) and a Service Consumer (Client). A SOME/IP service can contain
Services can get instantiated several times in a car as so called Service Instances. SOME/IP transmits any message based on UDP or TCP. A SOME/IP message consists of header and data payload.
The header contains
SOME/IP supports a wide range of middleware features:
The attached zip folder contains the following files:
05-10-2018 06:30 AM
Hi,
Can the attached projects be converted to LabVIEW 2012? At the moment I have LabVIEW 2012.
Thank you in advance,
05-11-2018 01:30 AM
Hi Borsanu,
We do support only 3 latest versions of LabVIEW when creating new VIs. However it should be possible that you would install a new demo version of LabVIEW (time limited) and use File->Save For Previous Version to save the VIs for your version.
Thanks,
Waldemar
06-27-2018 02:04 PM
I was looking through the examples, and it appears that the SOME/IP examples cannot be modified to allow for a multi-UP tester (i.e. 16 different networks, regardless of whether they use different subnets or not). It looks like you only allow one source, defined by the unicast line in the json file.
Is this correct, or am I missing something fundamental?
06-27-2018 03:01 PM
You are correct. The open source library used in the examples allows binding to only one IP address, so if you are using a configuration requiring distinct IP address per network, this is unfortunately not supported.
07-03-2018 06:37 PM - edited 07-03-2018 06:38 PM
This is a limitation of the current examples, their corresponding instructions, and the underlying vsomeip libary. Referring to the vsomeip documentation, I have found a way to make this work on Windows, but it is not a very convenient solution.
Limitations of this approach:
I have not tested this extensively. I am using only the simple Client_Response and Server_Response examples.
I have verified they work independently by disconnecting one network interface at a time, and verifying that the other Client/Server pair continues to communicate.
The procedure I used it as follows:
"unicast" : "192.168.1.107",
"network" : "vsomeip-dut2",
AllowMultipleInstances=True
set VSOMEIP_CONFIGURATION=C:\MyTest\vsomeip-udp-server.json start C:\MyTest\Application.exe set VSOMEIP_CONFIGURATION=C:\MyTest\vsomeip-udp-server-alt.json start C:\MyTest\Application.exe
08-09-2018 02:26 AM - edited 08-09-2018 03:24 AM
Hi,
First of all thank you for posting this useful example on SOME/IP in LabVIEW.
I am trying to remotely control a media gateway from Technica Engineering ( user manual --> MediaGateway User Manual (PDF) ) using this example but with no success. The communication is over UDP with port n 30491.
As stated in the user manual the service id is 0x0124 but they do not specify the instance id for this service.
I am also using Wireshark with someip lua plugin to know a little more about what is happening.
Basically my first try is to get the Media Gateway to reset by using method 0x0001 but it is not doing anything. I can connect to the media gateway through internet browser connecting to its IP and I can perform reset and modify its internal switches configuration.
When I run the Client_Request.vi with:
I see the following packets through Wireshark: Could anyone provide me some hints about what I might be doing wrong or if i'm missing something about SOME/IP protocol?
Also find attached the .json file i am currently using (in txt format since i cannot attach .json files).
Thank you very much in advance,
Best regards.
10-31-2018 01:43 AM
Do anyone have a sample arxml which is used for some/ip interface definition. If yes, can you kindly share
06-12-2019 07:01 AM
Hi Gibson,
Refer to the 'README.txt', I can not find a 'User Defined Installation' option on 'Software and select Install or Remove Software' in Max, like attached picture.
so how to detailedly setup SOMEIP Examples on Linux 64bit RT system?
06-12-2019 07:29 AM
Hi Linna.ma,
User Defined Installation is on the page before the page you are showing on the bottom. Maybe you have already selected it.
If you have copied the files correctly to RT Images before, you should see SOME IP Examples in the selector like below.
Note that you have restart MAX after you have copied the files to RT Images due to cashing.