We are upgrading our toolchain from matlab 2023a / as 4.12.10.39 / target 6.9.0 to matlab 2026a / as 6.7.0.187 / target 7.3.0.
Now we encountered the issue, that the target for simulink 7.3.0 still uses the AsArLog library for the external mode. This library is not supported anymore on as 6, but the target is not compatible with as 4.12. The code generation works without any problem, but the external mode does not work anymore. Is there a hotfix in planning for this, that the target for simulink uses ArEventLog?
We tried to use the build procedure and the building for monitoring procedure.
Is there a workaround to use the external mode again?
unfortunately I’m not familiar with Matlab and all the stuff around, but from the described issue perspective I would really recommend to contact your local B&R support so that they can raise an issue report / product request in direction of R&D.
Just out of interest:
is the external mode also generated code out of Matlab, so is the source code of the external mode functionality availiable in the AS project? Or is it just some binary function / function block?
I’m just asking because many years ago when I played around with Matlab and the Toolbox, as temporary hotfix I had to change some of the generated C code manually to get the project compiled (I can’t remember the cause of the issue, but I’m sure it wasn’t the external mode it was more something like declarations but definitely not in the model code but in some “helper” code) → so if the external mode is also generated as source code, maybe replacing the AsArLog functions with ArEventLog functions could be a hot-hot-fix until the situation is more clear (I understand that every new code generation would destroy this changes, but if it’s possible in general because of source code is available, we could maybe start thinking into some “mocking” direction as temporary fix … everything very theorectial I know, but as I mentioned I’m not familiar with the whole stuff I’m just curious).
Hy @alexander.hefner
I now created a B&R support ticket for the issue.
Thats a good point, to investigate the generated c-code for external mode.
It generated different c files, so I could be able to check, where AsArLog is used.
I will take a look at this.
I think I would have to take a look at the B&R target for simulink as well,
since it creates a library link to the AsArLog in the CPU.sw file.
This throws an error during the as build.
If you delete this link, the build runs without issues.
So I would have to replace the AsArLog calls in the external mode c files and the library link in the target for simulink i assume.
If the generated code for external mode is a source code library, maybe the deployment of AsArLog is (additionally) forced by a dependency set in the library properties.
In general, I assume that the AsArLog functionality is just used for info/warning/error entries in the logger. The basic functionality (=communicate online with Matlab Simulink) is just using AsTcp I think. So if there’s an easier way to temporary “just throwing out” the AsArLog calls until a solution is provided, I assume external mode should still be functional.
If possible, please keep us updated here how the topic proceeds, thanks in advance!
Topic unpin, thanks @alexander.hefner that you shared your thoughts here. @Lukas_Angst please update us with solution you get from support, so we can mark proper reply as a solution.