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 Comments

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.
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 on 26 Feb 2026 at 10:29
Edited: Nabiyev Muslim on 26 Feb 2026 at 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
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

Sign in to comment.

 Accepted Answer

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.

11 Comments

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.
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')
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.
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.
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.
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.
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
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.
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.
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.

Sign in to comment.

More Answers (1)

Nabiyev Muslim
Nabiyev Muslim on 1 Mar 2026 at 16:47
Edited: Nabiyev Muslim on 1 Mar 2026 at 16:47
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 Comments

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.
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.
Understandable. You are taking the right approach. So can I ask any questions I have on this platform?

Sign in to comment.

Categories

Products

Release

R2025a

Asked:

on 26 Feb 2026 at 5:53

Commented:

about 9 hours ago

Community Treasure Hunt

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

Start Hunting!