<< Click to Display Table of Contents >> Navigation: Plug-ins > Mitgelieferte User-Plug-ins > Formel > Beispiel: Checksummenberechnung |
Im Folgenden soll anhand eines Beispiels verdeutlicht werden, wie das Formel Plug-in eingesetzt werden kann.
Ziel soll es sein, für eine Botschaft und die darin enthaltenen Signale eine Checksumme zu berechnen. Für dieses Beispiel ist das Vorhandensein eines realen Steuergeräts nicht notwendig, eine Überprüfung der Checksumme sowie das Vortäuschen eines erkennbaren Übertragungsfehlers kann simuliert werden.
Für dieses Beispiel wird das Vorhandensein folgender Botschaften und Signale vorausgesetzt:
Botschaft |
Zykluszeit |
Signal |
Position in Botschaft |
Wertebereich |
Datenpaket |
100 ms |
Signal1 |
0 bis 15 |
0 bis 65535 |
Signal2 |
16 bis 23 |
0 bis 255 |
||
Signal3 |
24 bis 35 |
0 bis 4095 |
||
Signal4 |
36 bis 47 |
0 bis 4095 |
||
Signal5 |
48 bis 55 |
0 bis 255 |
||
Checksumme |
56 bis 63 |
0 bis 255 |
||
Anzeige |
10 ms |
ChecksummenFehler |
0 |
0 bis 1 |
Zunächst wird das Formel-Plug-in über das Kontextmenü des Baumes geladen (das Hauptfenster wird angezeigt). Alle nachfolgenden Formeln sollen hier eingegeben werden. Sie finden diese hier zum Kopieren via Copy & Paste:
Formel Nr.1
Durch Doppelklick auf einen leeren Eintrag wird der Formel-Editor geöffnet, in den die folgende erste Formel eingegeben werden soll:
Formel Nr.2
In der nächsten neuen Formel werden die Signalwerte zyklisch verändert, damit ständig neue Botschaftsdaten vorliegen.
Formel Nr.3
Ebenfalls vor dem Senden findet die Berechnung der Checksumme statt. Dabei werden die ersten sieben Botschaftsbytes durch ein Exklusiv-ODER miteinander verknüpft. Das Ergebnis wird dem Signal „Checksumme“ zugewiesen, welches sich im (bei der Berechnung ausgelassenen) achten Botschaftsbyte befindet.
Formel Nr.4
Mit der nächsten Formel wird eine Manipulation von Signal1 durchgeführt nachdem die Checksumme berechnet wurde. Damit soll später bei der Checksummenprüfung ein Fehler provoziert werden. Diese Formel soll zunächst einmal nicht ausgewertet werden, deshalb wird das Aktiv-Checkhäkchen nicht gesetzt.
Formel Nr.5
Die nächste Formel wird nach dem Senden der Botschaft ausgewertet. Dies soll die Prüfung nach Empfang der Botschaft simulieren (der Auswertungszeitpunkt „bei Empfang“ kann nur verwendet werden, wenn die Botschaften durch ein real vorhandenes Steuergerät versendet werden).
Wenn die Formeln alle eingetragen wurden, ergibt sich im Hauptfenster folgende Übersicht:
Nun kann die Simulation gestartet werden. Während die Simulation läuft, wird über das Setzen des Häkchens in der Checkbox die Formel aktiviert, die für das Verfälschen der Botschaftsdaten vorgesehen ist (Formel Nr. 4). Werden alle Signale in einem Plot überwacht kann man folgendes sehen:
Die Signalwerte ändern sich entsprechend Formel Nr.2, nachdem sie durch Formel Nr.1 beim Start der Simulation auf einen Startwert initialisiert wurden. Kurz nach drei Sekunden Laufzeit wurde die Formel Nr.4 zur Verfälschung der Botschaftsdaten aktiviert. Wie im untersten Signalverlauf „ChecksummenFehler“ zu sehen ist wird dieser Fehler erkannt, der Signalwert wechselt auf 1. Nach insgesamt sechs Sekunden seit Beginn der Simulation wurde Formel Nr.4 wieder deaktiviert, die Checksumme wird wieder als korrekt anerkannt.