PSIM version and AC sweep problem

AC sweep user
AC sweep user Altair Community Member
edited January 18 in Community Q&A

I've got a project about Buck converter and 3p3z compensator with DLL.
The project's version is PSIM 9.0 (x86) and DLL (win32).
The bode plot of the product owner is good and reasonable. 
When I run the project on the version that I've got in Altair one education one year version, the result is terrible.
I've checked the steady state without AC sweep and excitation source, the result of steady state is the same as the project owner.
And I've checked with project owner. If he use my DLL code in PSIM 9.0 (x86), the result is as good as the original result that he gave.

Why the version cause this problem? I think the different about both is the PSIM version (x86 and x64).
Can someone tell me the different about two version? Like AC sweep block, excitation source sin wave, etc.

Best Answer

  • Rhonda_20369
    Rhonda_20369 New Altair Community Member
    edited January 10 Answer ✓

    If the DLL is 32-bit and you are using a the latest version of PSIM which is 64-bit, what DLL block are you using?
    Please use a "General DLL block" instead of any one with fixed number of inputs.

    And make sure to check the box "Load DLL in an external process (slower simulation). This will enable you to run 32-bit DLL in PSIM versions later than PSIM2020.

Answers

  • Albert_Dunford
    Albert_Dunford
    Altair Employee
    edited January 9

    there will be issues if the DLL is 32-bit and you are using a the latest version of PSIM which is 64-bit. for reference PSIM 9.0 is easily 15 years old.

    Are you able to recompile the dll as a 64-bit?

     

     

  • AC sweep user
    AC sweep user Altair Community Member
    edited January 10

    there will be issues if the DLL is 32-bit and you are using a the latest version of PSIM which is 64-bit. for reference PSIM 9.0 is easily 15 years old.

    Are you able to recompile the dll as a 64-bit?

     

     

    Thanks for Albert's replying.
    I've recompiled the dll as 64-bits.
    If I don't recompile the dll as 64-bits, PSIM dll block will send the alarm like "unable to load the dll".

    The dll doesn't have any issue because the steady state result is correct.
    I think the AC sweep block or PSIM version make the problem.

  • Albert_Dunford
    Albert_Dunford
    Altair Employee
    edited January 10

    Thanks for Albert's replying.
    I've recompiled the dll as 64-bits.
    If I don't recompile the dll as 64-bits, PSIM dll block will send the alarm like "unable to load the dll".

    The dll doesn't have any issue because the steady state result is correct.
    I think the AC sweep block or PSIM version make the problem.

    OK are you able to post the simulation? The dll will be locked and no one will be able to see the internals. There have been changes to how PSIM runs sweeps over the years as PSIM multi threads when doing a sweep. Have you tried:

    - running the m-sine sweep?

    - setting up a script and using "asimulate" to queue up several simulations to run in parallel?

    - if you can't post the sim can you post the settings that you are using or screenshots? of the settings and topology?

  • Rhonda_20369
    Rhonda_20369 New Altair Community Member
    edited January 10 Answer ✓

    If the DLL is 32-bit and you are using a the latest version of PSIM which is 64-bit, what DLL block are you using?
    Please use a "General DLL block" instead of any one with fixed number of inputs.

    And make sure to check the box "Load DLL in an external process (slower simulation). This will enable you to run 32-bit DLL in PSIM versions later than PSIM2020.

  • AC sweep user
    AC sweep user Altair Community Member
    edited January 11

    image

    I use this circuit to use AC sweep. The AC sweep isn't m-sine AC sweep because the original project doesn't have it. If you know the differences and advantages, please tell me. I am thanksful.

    The DLL is general DLL, I've tried your advice to  check the box "Load DLL in an external process (slower simulation)", but PSIM was crashed.

    excitation source:
    frequency: 80k
    amplitude: 1m

    ac sweep setup
    start frequency: 100Hz
    end frequency: 80kHz
    start amplitude: 1mV
    end amplitude: 1mV

    The Attachments have the circuit picture & the steady state result without AC sweep. Thanks all.

  • AC sweep user
    AC sweep user Altair Community Member
    edited January 10

    OK are you able to post the simulation? The dll will be locked and no one will be able to see the internals. There have been changes to how PSIM runs sweeps over the years as PSIM multi threads when doing a sweep. Have you tried:

    - running the m-sine sweep?

    - setting up a script and using "asimulate" to queue up several simulations to run in parallel?

    - if you can't post the sim can you post the settings that you are using or screenshots? of the settings and topology?

    I've put some information in new reply, thanks for your advise.

  • AC sweep user
    AC sweep user Altair Community Member
    edited January 10

    If the DLL is 32-bit and you are using a the latest version of PSIM which is 64-bit, what DLL block are you using?
    Please use a "General DLL block" instead of any one with fixed number of inputs.

    And make sure to check the box "Load DLL in an external process (slower simulation). This will enable you to run 32-bit DLL in PSIM versions later than PSIM2020.

    I've put some information in new reply, thanks for your advise.

    Check the box "Load DLL in an external process (slower simulation) is able to load the 32-bits DLL correctly, but PSIM is crashed when I press run if I use the AC sweep.

  • Rhonda_20369
    Rhonda_20369 New Altair Community Member
    edited January 16

    Hi, AC sweep user,

    Do you have the latest PSIM version PSIM2023.0 or PSIM2023.1? Do you still have the same problem when running simulation in those versions?

    We need your PSIM schematic file and the DLL file to run the simulation. 

    If the problem can be reproduced in the latest version, we will notify the development team.

    If you don't feel comfortable to post those files in this public forum, please send your question and those files to Altair's support portal:

    Contact Support - Create a support request or report a problem.

     

    Sincerely,

    Rhonda

  • AC sweep user
    AC sweep user Altair Community Member
    edited January 17

    Hi, AC sweep user,

    Do you have the latest PSIM version PSIM2023.0 or PSIM2023.1? Do you still have the same problem when running simulation in those versions?

    We need your PSIM schematic file and the DLL file to run the simulation. 

    If the problem can be reproduced in the latest version, we will notify the development team.

    If you don't feel comfortable to post those files in this public forum, please send your question and those files to Altair's support portal:

    Contact Support - Create a support request or report a problem.

     

    Sincerely,

    Rhonda

    I've also try this schemetic in PSIM2023.0 version. The result is the same as PSIM2022.
    The attachment is the schemetic file and the dll file, and the PASSWORD is 0115.

    Please tell me if the attachment have any problem, thanks a lot.

  • Rhonda_20369
    Rhonda_20369 New Altair Community Member
    edited January 18

    A lengthy explanation is sent to you via the Altair's support portal.
    That support ticket was created by an agent of Solore Technology.

    You have 2 questions in that ticket:

    1. Why PSIM generates distorted Bode plot for the frequencies higher than switching frequency while another simulation software generates perfect one.

    The answer is:

    The other software uses linearized models to replace all nonlinear device in the system when running AC analysis.

    PSIM uses the nonlinear models of the switch-mode devices to represent the true response of the converter system.

     

    2. Why the Bode plot from C block is different from the DLL block while the time-domain steady state results seem the same.

    The answer is:

    Your time-domain steady state is obtained with only one frequency and one amplitude. And you did not zoom in to look at the AC component in the DC signal.

    When simulating the AC response of the C block and the DLL with the same AC sweep, the Bode plots of the two blocks show many different amplitude and phase at many frequency points.

    Therefore, those two blocks do not have the same characteristics.