PSCAD, Matlab interfacing

12 views (last 30 days)
Mohamed Ibrahim
Mohamed Ibrahim on 23 Dec 2015
Answered: ahmed ali on 18 Nov 2024 at 15:14
I have simulation program called PSCAD which contains PID controller. I put Kp as a variable that get its value from matlab file(.m). The matlab file contains if and for loops (bacterial foraging algorithm) to determine the value of Kp. The time step for pscad execution the simulation is 0.001 sec, i.e (every 0.001 sec the program call the matlab file to get Kp) to run the simulation. All i want to know that how to make matlab file time step is 0.001 sec to be equal to pscad time step.
  1 Comment
Mohsen Arzani
Mohsen Arzani on 25 Feb 2021
Dear Mohamed,
I am doing the same research with the PSCAD and MATLAB interface. The problem is that the PSCAD can not detect any version of the installed MATLAB. I would appreciate if you could help me at:
moh.arzani@gmail.com
Thanks a lot. :))

Sign in to comment.

Answers (3)

D S Acharya
D S Acharya on 14 Oct 2023

MULI
MULI on 8 Nov 2024
Hi Mohamed,
To synchronize the timing of your MATLAB script with the PSCAD simulation, you need to ensure that your MATLAB code runs and updates the Kp value every 0.001 seconds.
  • Implement a timing mechanism in your MATLAB script to ensure that each iteration of updating Kp is completed within the specified time step.
  • Use tic and toc to measure execution time, ensuring that the function execution aligns with the 0.001-second interval.
Here is an example which demonstrates the updating of Kp value at every 0.001 sec
function Kp = getUpdatedKp()
persistent iteration;
persistent Kp;
if isempty(iteration)
iteration = 1;
Kp = 1; % Initial Kp value
end
tic; % Start timing
% Perform the bacterial foraging algorithm or other updates to Kp
Kp = Kp + 0.1 * randn; % Example update
% Enforce the 0.001-second time step
while toc < 0.001
% Busy-wait until 0.001 seconds have elapsed
end
iteration = iteration + 1;
end
For more information on usingtic and toc, you can refer to the following links

ahmed ali
ahmed ali on 18 Nov 2024 at 15:14
Hi Mohamed /Mohsen,
CAn you please follow the below link, hopefully it answers your query
I will quote from the PSCAD manual the following for your convenince
"To try and speed up the MATLAB solution, it is often a good idea to try and use a larger time step when invoking MATLAB components (wherever possible or practical). An enable/disable switch can also be implemented, so as to allow PSCAD to operate at close to full speed".

Community Treasure Hunt

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

Start Hunting!