Home » Presse » Fachartikel » SOME/IP Simulation Teil 1 Server 

SOME/IP Simulation Teil 1 Server

Dieser Artikel beschreibt die Grundlagen einer SOME/IP Simulation zwischen einem Server und einem Client. Im ersten Teil wird ein Server konfiguriert. Es werden u.a. verschieden Einstellungen für die zu versendenden Service-Discovery bzw. SOME/IP Nachrichten gemacht. Zusätzlich wird noch definiert wie auf eingehende SOME/IP Nachrichten reagiert werden soll. 

Zustandsautomat des Servers initialisieren

Zuerst müssen grundlegende Parameter des Zustandsautomaten für die Service-Discovery Nachrichten definiert werden. Für das Aufstarten des Servers gibt es die Werte InitialDelayMin, InitialDelayMax, RepetitionBaseDelay und RepetitionMax.  Diese Werte definieren wie das zeitliche Verhalten und wie die Wiederholrate der ersten Service-Discovery Nachrichten sind. Mit dem Parameter CyclicAnnounceDelay  wird die Wiederholrate der Service-Discovery Nachrichten in Millisekunden in der Hauptphase des Zustandsautomaten definiert.

Server State Machine

Services des Servers konfigurieren

Welche Services der Server zur Verfügung stellt müssen als nächstes konfiguriert werden. Der wichtigste Parameter eines Services ist die Service-ID. Zusätzliche Parameter wie TTL, Instance-ID und Major-Version sind die Basisinformationen für die Bereitstellung von Service-Discovery Nachrichten für den jeweiligen Service. Dieser Service wird über einen sogenannten Applicationendpoint übertragen. Dieser Applicationendpoint wird definiert über die Parameter IP-Adresse, Port und Protokoll.

Server Services

Parameter für Service-Discovery

Auch Service-Discovery Nachrichten werden über bestimmte Mechanismen übertragen. Für die allgemeine Übertragung von Service-Discovery Nachrichten werden UDP Multicast-Nachrichten verwendet. In diesem Fall hat der Server noch kein Wissen über einen oder mehrere Clients. Es werden dabei nur Nachrichten verbreitet, die Informationen über Services enthalten, die dieser Server anbietet. Als Minimum an Konfigurationsparameter benötigt man die Multicast-Adresse, die IP-Adresse und den Port. Als Protokoll ist immer standardmäßig UDP definiert.

 

Server Service Discovery

Über diese Callbacks wird auf eingehende SOME/IP Nachrichten reagiert. Ruft ein Client über eine SOME/IP Nachricht beim Server einen bestimmten Service auf, wird dieser Aufruf an den jeweiligen Callback weiter geleitet. Der Server kann nun darauf reagieren und eine Antwort über eine SOME/IP Nachricht an den Client zurückschicken.

Server Callback

Der Header einer SOME/IP Nachricht für die Antwort vom Server zum Client kann schon vorkonfiguriert werden. Neben den Service-ID und Method-ID gibt es dafür noch die Parameter Typ, Protokoll-Version und Interface-Version. An diesen SOME/IP Header werden vor dem Versenden noch die jeweiligen Daten angehängt.

Server Init Vars

Die Callbackfunktion die beim Empfang einer Nachricht mit der Service-ID 0xa und der Method-ID 0x15 ausgelöst wird, sieht wie folgt aus. Als SOME/IP Nachricht wird nur eine Antwort mit dem Typ OK geschickt.

Server Callback Function

Mit all diesen Informationen kann der Server gestartet werden. Nach dem Start werden Service-Discovery Nachrichten mit den Services des Servers übertragen.

Server Start

Nach dem Start sieht man auf dem Bus folgende Service-Discovery Nachrichten mit dem Analysetool Wireshark.

SD_Server_Multicast

SOME/IP Simulation Teil 2 Client

Datenblatt der verwendeten SOME/IP Simulation