Host and Target checksum mismatch

13 views (last 30 days)
Victor Portillo
Victor Portillo on 9 Aug 2022
Edited: Saarthak Gupta on 5 Dec 2023
I built a model using Simulink Real-Time (2019b). I ran
[checksum,details] = Simulink.BlockDiagram.getChecksum('modelName')
Before and after the build to make sure theyre the same, they are. I am able to deploy to target (Speedgoat). The problem comes when I click "Connect Model". The error message tells me that the target checksum is the same as I get when I run the above command on the model. However the error message says the host checksum is something different. What is it calculating the host checksum from? Even after trying to connect, the checksum reported by the above function is the same as the target is reporting.

Answers (1)

Saarthak Gupta
Saarthak Gupta on 5 Dec 2023
Edited: Saarthak Gupta on 5 Dec 2023
Hi Victor,
It seems like you are getting a model checksum mismatch between the development computer (host) and the target computer.
The content and/or interface configuration specific to your model, along with several other reasons, may be contributing to this error:
1. The structural checksum reflects changes to the model that can affect the simulation results. The ‘details’ parameter returned by ‘Simulink.BlockDiagram.getChecksum’ exhaustively lists all items that go into computing the model checksum. You may investigate the same to ensure none of the said items change after compilation of the model. Examples of model changes that affect the structural checksum include:
a. Changing the solver type, for example from Variable-step to Fixed-step
b. Adding or deleting blocks or connections between blocks
c. Changing the values of nontunable block parameters, for example, the Seed parameter of the Random Number block
d. Changing the number of inputs or outputs of blocks, even if the connectivity is vectorized.
e. Changing the number of states or the initial states in the model
f. Selecting a different function in the Trigonometric Function block
g. Changing signs used in a Sum block.
h. Adding a Target Language Compiler (TLC) file to inline an S-function
2. The checksum that ‘Simulink.BlockDiagram.getChecksum’ returns can vary from the checksum returned if you first compile the model programmatically using the model name programmatic interface before calling ‘Simulink.BlockDiagram.getChecksum’.
3. In R2019b, there is a known issue pertaining to the inconsistent behavior of ‘Simulink.BlockDiagram.getChecksum’ between base workspace variable and model workspace variable in Accelerator mode. Please refer to the bug report for more details: https://www.mathworks.com/support/bugreports/details/2011438
You can execute the desired real-time application in Simulink External Mode by using Step-by-Step commands: https://www.mathworks.com/help/slrealtime/gs/execute-real-time-application-in-external-mode-with-step-by-step.html
Alternatively, Updating MATLAB to R2020a or later releases may help resolve the issue.
Please refer to the following MATLAB documentation for further reference:

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!