Simulink pump transfer function output remains zero

Hello,
I am working on a pump station model in MATLAB/Simulink with a 110 kW induction motor and centrifugal pump.
I derived the transfer function of the pump, but my system output stays at zero during simulation.
Transfer function:
Gp(s) = ...
Why does the output remain zero?
Is my model structure correct?
Thank you.

6 commentaires

Nabiyev Muslim
Nabiyev Muslim le 26 Fév 2026 à 5:56
The simulink model is ready and the simulation result is not being produced in this model. Help is needed. This model focuses on energy saving.
Sam Chak
Sam Chak le 26 Fév 2026 à 7:34
You did not post the transfer function Gp(s) or the complete Simulink model. Assuming the input to the transfer function is nonzero (a constant), then mathematically, if Gp(s) contains a factor s in the numerator (i.e., a zero at s = 0), the output of the transfer function block will be zero for a constant (DC) input.
Nabiyev Muslim
Nabiyev Muslim le 26 Fév 2026 à 10:26
Nabiyev Muslim
Nabiyev Muslim le 26 Fév 2026 à 10:29
Modifié(e) : Nabiyev Muslim le 26 Fév 2026 à 11:14
bu yerda model keltirilgan. model nasos stansiyasi uchun boshqaruv tizimi uchun qo'llaniladi. noaniq mantiq boshqaruvchisi orqali boshqarish rejalashtirilgan. noaniq mantiqning ikkita kirish va bitta chiqish qiymatlarga ega. qoidalar 5x5=25 asosida kiritilgan xatolikni topolmayapman keyingi rasmda simulatsiyani ham keltiraman
Nabiyev Muslim
Nabiyev Muslim le 26 Fév 2026 à 10:31
Nabiyev Muslim
Nabiyev Muslim le 26 Fév 2026 à 10:35
ekspertlardan iltimos qilardim shu modelim ishlashida yordam berishlarini. shu modelni katta quvvatli nasos stansiyalarida qo'llab elektr energiya tejash ko'zda tutilgan. agar imkoni bo'lsa bu modelni yana qanday takomillashtirish mumkin maslahat beringizlar. Uzbekistonda ham shu nasos stansiyasi sohasida yangilik kiritib energiya va resurs tejamkorligiga erishmoqchiman

Connectez-vous pour commenter.

 Réponse acceptée

I cannot help you with all aspects of the problem due to the lack of certain info, and the original plant system is nonlinearized with saturation blocks. However, you can explore the following design approach and adjust the master control gain Kc​ to ensure that the outputs of Ga and G2​ remain within the signal constraints.
Since the four individual subsystems (G1 to G4) are stable 1st-order systems, the overall plant (Gp​) behaves as a 4th-order system, similar to a 1st-order system. The auxiliary compensator (Ga​) uses the characteristics of Gp​ to reshape its response. A PI controller (Gc) has been found to be sufficient for the control task. If a fuzzy controller is required in your research, the PI controller can be fuzzified to maintain the effectiveness of the designed control strategy.
% individual subsystems
G1 = tf(5, [0.003, 1]);
G2 = tf(29.6, [0.3, 1]);
G3 = tf(0.0622, [0.15, 1]);
G4 = tf(1000, [2, 1]);
G5 = tf(0.0001);
% plant
Gp = minreal(series(G1, series(G2, series(G3, series(G4, G5)))))
Gp = 3409 ------------------------------------------ s^4 + 343.8 s^3 + 3527 s^2 + 9085 s + 3704 Continuous-time transfer function.
[num, den] = tfdata(Gp, 'v');
pp = pole(Gp)
pp = 4×1
-333.3333 -6.6667 -3.3333 -0.5000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% auxiliary compensator
Ga = zpk([pp(2), pp(3)], [pp(1), pp(1)], pp(4)*pp(1)^3/num(5))
Ga = 5431.5 (s+6.667) (s+3.333) -------------------------- (s+333.3)^2 Continuous-time zero/pole/gain model.
% cascaded system Ga*Gp with the dominant pole at s = pp(4)
Gap = (minreal(series(Ga, Gp)))
Gap = 1.8519e+07 ------------------- (s+333.3)^3 (s+0.5) Continuous-time zero/pole/gain model.
dcgain(Gap)
ans = 1.0000
[y1, t1] = step(Gp, 20);
[y2, t2] = step(Gap, 20);
% plot Open-loop step response
figure
yyaxis left
plot(t1, y1)
ylabel('y_{Gp}(t)')
yyaxis right
plot(t2, y2)
ylabel('y_{Gap}(t)')
grid on
legend('Gp', 'Gap', 'location', 'east')
xlabel('Time (seconds)')
title('Open-loop step response')
% PI controller for Gp (without Ga)
Kc1 = 1;
Gc1 = pid(1, -pp(4))/(-pp(4))*Kc1
Gc1 = 1 Kp + Ki * --- s with Kp = 2, Ki = 1 Continuous-time PI controller in parallel form.
% PI controller for Gap (with Ga)
Kc2 = 2;
Gc2 = pid(1, -pp(4))/(-pp(4))*Kc2
Gc2 = 1 Kp + Ki * --- s with Kp = 4, Ki = 2 Continuous-time PI controller in parallel form.

12 commentaires

Nabiyev Muslim
Nabiyev Muslim le 2 Mar 2026 à 9:23
Based on the above model, the simulation result was obtained based on the PI controller. Now, is it possible to obtain the simulation result using the same model based on the fuzzy logic controller. Or if there is another more improved model, we want to obtain the result. Please help in this regard.
Nabiyev Muslim
Nabiyev Muslim il y a environ 24 heures
Can you please tell me what kind of transfer function is provided in the Zero Pole Ga block that comes after the PI controller in the model?
I cannot address everything in the forum, as the course generally spans one to two semesters. What I have assumed is that your modeling of the stable plant is accurate.
By exploiting the characteristic poles of the plant, which are all real (no imaginary components) {-333.3333, -6.6667, -3.3333, -0.5000}, an auxiliary compensating biproper transfer function (Ga) can be designed so that the cascaded/reshaped 4th-order plant (Gap) behaves like a stable 1st-order system with a dominating pole {-0.5000} that is close to the imaginary axis on the complex s-plane:
The idea is to cancel out the two poles {-6.6667, -3.3333} using zeros in the numerator, and then replace them with a repeated pole {-333.3333} in the denominator. This explains why the transfer function of Ga was initially expressed in zero-pole-gain form:
where K is a constant that scales the numerator of Gp that yields a DC gain of 1 at steady-state.
In short, where its step response behaves like .
% individual subsystems
G1 = tf(5, [0.003, 1]);
G2 = tf(29.6, [0.3, 1]);
G3 = tf(0.0622, [0.15, 1]);
G4 = tf(1000, [2, 1]);
G5 = tf(0.0001);
% plant
Gp = minreal(series(G1, series(G2, series(G3, series(G4, G5)))))
Gp = 3409 ------------------------------------------ s^4 + 343.8 s^3 + 3527 s^2 + 9085 s + 3704 Continuous-time transfer function.
[num, den] = tfdata(Gp, 'v');
% poles (eigenvalues) of the plant
pp = pole(Gp)
pp = 4×1
-333.3333 -6.6667 -3.3333 -0.5000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% auxiliary compensator (in zero-pole form)
Ga = zpk([pp(2), pp(3)], [pp(1), pp(1)], pp(4)*pp(1)^3/num(5))
Ga = 5431.5 (s+6.667) (s+3.333) -------------------------- (s+333.3)^2 Continuous-time zero/pole/gain model.
% Convert the zero-pole form to rational function form
Ga = tf(Ga)
Ga = 5431 s^2 + 5.431e04 s + 1.207e05 -------------------------------- s^2 + 666.7 s + 1.111e05 Continuous-time transfer function.
% cascaded system Ga*Gp with the dominant pole at s = pp(4)
Gap = (minreal(series(Ga, Gp)))
Gap = 1.852e07 ---------------------------------------------------- s^4 + 1000 s^3 + 3.338e05 s^2 + 3.72e07 s + 1.852e07 Continuous-time transfer function.
%
dcgain(Gap)
ans = 1.0000
% target response of the reshaped open-loop plant
Gtr = tf(-pp(4), [1, -pp(4)])
Gtr = 0.5 ------- s + 0.5 Continuous-time transfer function.
[y1, t1] = step(Gtr, 20);
[y2, t2] = step(Gap, 0:0.25:20);
% plot Open-loop step response
figure
yyaxis left
plot(t1, y1)
ylabel('y_{Gtr}(t)')
yyaxis right
plot(t2, y2, '.')
ylabel('y_{Gap}(t)')
grid on
legend('Gtr', 'Gap', 'location', 'east')
xlabel('Time (seconds)')
title('Open-loop step response')
Nabiyev Muslim
Nabiyev Muslim il y a environ 17 heures
thank you @Sam Chak.
Can you help me build a completely different model in the next step? I am doing a Phd research on designing a pumping station and energy saving in a pumping station. If there are any perfect models for a pumping station, can you please share them with me. First of all, I created a model based on the transfer functions of a frequency converter, an asynchronous motor, a pump and a pipeline in the model you sent me. Now that I think about it, this model has many shortcomings. I need a more perfect model. We planned to control the model we want to build through a fuzzy logic controller.
If possible, let's improve that model further or work on another model. I want to prove energy saving by using this model in a real pumping station based on this simulink model.
Please help me with the model.
Walter Roberson
Walter Roberson il y a environ 14 heures
I doubt that a perfect model is possible. A perfect model would have to take into account chaotic fluid motion, but chaotic fluid motion can never be completely replicated by systems with discrete states.
Nabiyev Muslim
Nabiyev Muslim il y a environ 6 heures
Modifié(e) : Nabiyev Muslim il y a environ 6 heures
We can make a perfect model without taking into account the fluid movement and then use this model in the pumping station and take into account the fluid movement. Now we need a model. First we build the model and then we take into account the external influences.
Let's first build a model that works using a fuzzy logic controller.
Sam Chak
Sam Chak il y a environ 5 heures
Modeling the pumping station is not as straightforward as using a free-body diagram to model the mass-spring-damper, as it involves numerous structural and hydraulic components such as pumps, pipes, fittings (elbows, reducers, etc.), storage tanks, pressure vessels, inlet and outlet valves, water level sensors, and floor geometry. The fluid density and viscosity can also influence the modeling parameters.
Unfortunately, I am not an expert in fluid mechanics, but you likely are. What you can do is (Step 1) sketch the Piping and Instrumentation Diagram (P&ID) for the pumping station, followed by applying Lagrangian mechanics by first (Step 2) formulating the kinetic and potential energy of the system, and then (Step 3) deriving the Euler–Lagrange equations.
You need to complete Step 1 first, as you are the only one who knows the physical design requirements of the pumping station. After that, you can determine the total kinetic and potential energy of the entire system. Use MATLAB for this, employing special functions from the Symbolic Math Toolbox. For Step 3, you might consider using the functionalDerivative() function. See examples in the documentation.
Please post a new question along with your hand-sketched P&ID diagram and the MATLAB code for calculating the total kinetic and potential energy. If necessary, you can modify the values of the parameters to protect sensitive information from your PhD research, but please remain realistic. Standard modeling techniques are in the public domain, so there is no need to conceal them.
Nabiyev Muslim
Nabiyev Muslim il y a environ 4 heures
I understood you. I meant the energy model of the pumping station. It seems that you meant the modeling of the construction of a general pumping station. I said the control of the electrical system similar to the model I posted first. That is, I want to build a model aimed at saving energy in a ready-made pumping station. I want to build a model in Simulink and run it (the model) in laboratory conditions and then apply it to a large-capacity pumping station. It is also possible to improve the first model I posted. I would like to ask for help with this.
In my first model, I have the transfer function of the frequency converter, the transfer function of the AC asynchronous motor, the next one is the transfer function of the pump and the transfer function of the pipeline. So far, we have created a model for the electrical part of the pumping station using these functions. We are not taking into account the remaining external influences.
I would like to ask for help in improving this model.
The model should be run through a fuzzy logic controller. What other parameters should I enter so that you can help me fully. I can also throw in the fuzzy logic controller's rule base
Sam Chak
Sam Chak il y a environ 4 heures
I forgot to mention that when modeling a water supply pump station using Lagrangian mechanics, you should consider the total hydraulic energy, which includes potential energy (elevation), kinetic energy (velocity), and pressure energy. While traditional Lagrangian mechanics for a single particle () only includes kinetic and potential energy, fluid systems possess internal pressure energy.
Here is a sample P&ID diagram for a basic pumping station that includes a redundant pump.
Nabiyev Muslim
Nabiyev Muslim il y a environ 4 heures
very correct thoughts. now we will model the control part shown in the picture itself. the laws of the picture and the rules are given. we need the control part.
it is necessary to study this controller part in depth.
Nabiyev Muslim
Nabiyev Muslim il y a environ 4 heures
It is necessary to develop a control system for the above-mentioned frequency converter, asynchronous motor, pump and pipeline. As I said, we aim to control it through a fuzzy logic controller.
Walter Roberson
Walter Roberson le 3 Mar 2026 à 20:06
Chaotic movement of the fluid (as happens in real life) shows up as nonlinear moving friction that is more or less unpredictable. You cannot create a perfect discrete model of a system that has nondiscrete behaviour.
1 a : being entirely without fault or defect : flawless
At best you would get a close approximation, not a perfect model.

Connectez-vous pour commenter.

Plus de réponses (1)

Nabiyev Muslim
Nabiyev Muslim le 1 Mar 2026 à 16:47
Modifié(e) : Nabiyev Muslim le 1 Mar 2026 à 16:47

0 votes

rahmat bu modelni ham ishlatib kuraman va huddi shu fayl uchun noaniq mantiq boshqaruvchisini qullab kuraman. telegram messengeri orqali gaplashsak buladimi. @muslim_nabiyev shu manzilda bulardim bir real ishlaydigan model qilishimga yordam bera olasizmi vaqtingizni olib quymasam. telegramdan yozsangiz bemalol fikrlar modellar almashib ilmiy yunalishda katta loyixa qilishimga yordam bering itimos qilaman.

4 commentaires

Approximate translation of @Nabiyev Muslim
Thank you, I will try this model and use the fuzzy logic controller for the same file. Can we talk via telegram messenger? @muslim_nabiyev I was at this address, can you help me make a real working model if I don't take up your time? If you write on telegram, feel free to exchange ideas and models, help me make a big project in the scientific direction, I hope.
Nabiyev Muslim
Nabiyev Muslim le 2 Mar 2026 à 5:55
thank you bro
Sam Chak
Sam Chak il y a environ 20 heures
Thank you, @Walter Roberson.
I may not be able to respond in a timely manner, as I have commitments to various projects. Moreover, I prefer discussions on this platform because it allows users to interact mathematically using LaTeX, as well as execute MATLAB code and display the results.
You can explore the design approach I shared with you in your Simulink model on your computer, as the forum does not support Simulink modeling with a user-friendly interface. While it is possible to build a Simulink model using MATLAB code, I find this approach tedious for average forum users who prefer a click-and-drag interface.
Nabiyev Muslim
Nabiyev Muslim il y a environ 18 heures
Understandable. You are taking the right approach. So can I ask any questions I have on this platform?

Connectez-vous pour commenter.

Catégories

En savoir plus sur General Applications dans Centre d'aide et File Exchange

Produits

Version

R2025a

Question posée :

le 26 Fév 2026 à 5:53

Commenté :

le 3 Mar 2026 à 20:06

Community Treasure Hunt

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

Start Hunting!

Translated by