Are there any limitations on the number or size of DLL models that can be used in a single schematic?
In our simulation, we created DLL models for battery cells and their BMS. The simulation worked successfully with 350 battery cells and 3 BMS units in a schematic. However, when we increased the number to 450 battery cells and 4 BMS units, the simulation failed to run. No error logs were generated, making it difficult to identify the cause.
We would like to know if there are any limitations regarding:
The number of DLL models that can be included in one schematic
The file size or source code size of each DLL model
Any guidance or recommendations would be greatly appreciated.
Each battery cell uses the same DLL model.
As for the BMS model, they are based on essentially the same source code, but I compiled them into separate DLLs with different names. This was necessary because, for some reason, the outputs interfered with each other when using the same DLL name. I am not exactly sure why this happens, but I found a post in this forum mentioning a similar issue when using the same DLL source code across multipule instances. Based on that, I tried separating the source code and it seemed to resolve the problem.
Ideally, I would like to upload the schematic and DLL models with source code for review, but unfortunately, data sharing is not permitted on this forum. I apologize for the inconvenience.
Any insights or suggestions would be greatly appreciated.
This forum allows file uploads, but this feature is accessible only to users who have surpassed the new user status. To achieve this, engage with at least 5 different topics, read a minimum of 30 posts, and spend a total of 10 minutes on the forum to reach trust level 1, enabling you to upload files.
Well, at this point, I could only guess. Please upload schematic and files when you get the required permissions.
In the meantime, you might study the C-Block Basics papers on my QSpice GitHub repository. In particular, “per-instance data” is used to implement multiple schematic component instances with individual state data in a single DLL.
Thank you both for your helpful responses and guidance.
Robert, I appreciate your suggestion regarding the use of per-instance data in a single DLL. I will review the C-Block Basics papers on your GitHub repository to deepen my understanding of this approach.
KSKelvin, thank you for the clarification about the forum’s upload permissions. I will work on meeting the requirements to reach trust level 1 so that I can upload the schematic and DLL files for further review.
I will continue investigating on my end why the simulation fails to start when increasing from 3 sets to 4 sets.