Breaker operation error in parallel solar system
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
jaehan Kim
am 26 Aug. 2023
Bearbeitet: jaehan Kim
am 26 Aug. 2023
Five solar panels as shown in the following image are connected in parallel, and we designed a circuit on the right that receives the results of the logic circuits as input from the ideal switch and blocks them when overvoltage and overcurrent. It works well in normal situations where there is no cut-off, but an error occurs when a cut-off is made assuming an overcurrent or overvoltage condition.
May I know what the problem is?
An error occurred while running the simulation and the simulation was terminated
Caused by:
- Derivative of state '1' in block 'logic_gate_Version_UP_8_7_ideal_switch/PV Array 4/Diode Rsh/Transfer Fcn' at time 6.0782712007396E-6 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Component:Simulink | Category:Block error
The part of the element marked in blue in the error message.
0 Kommentare
Akzeptierte Antwort
Daniel
am 26 Aug. 2023
I woud guess that Rsh_array5pc is, at some point during the simulation, dropping to a value very near zero, such that the value of IRsh_5% approaches infinity. If you have an infinity term going into the sum, you'll have infinity leaving the sum, the input to your transfer function will be infinite, and you'll get that error.
The relevant concept here is that continuous state (such as the state in continuous transfer functions) is an integral, so the inputs to state can be viewed as derivatives. Thus, "Derivative of state '1'" can be read as "Input to internal state '1'", which is presumably also the input to the block. So you can read it as "Input to block <linked> is not finite" and then trace back.
You can probably solve the problem by putting a saturation block on the output of the divider, such that IRsh_5% is constrained to be between some appropriately large values, or by updating Rsh_array5pc so it never goes to 0. If Rsh_array5pc always carries the same sign you can do this with a Saturation block. Otherwise you can pull the sign out, saturate the magnitude, and put the sign back manually.
1 Kommentar
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!