3

I try to build a PID controller for a valve in my model, I plan to do some process identification, get the system response to a step pulse and the transfer function of the system, then I could design the PID controller. But I am not sure if there is a Modelica library for this kind of job, or I need to do this manually. My question is : Is there any good reference examples for me?

enter image description here

Jonas
  • 121,568
  • 97
  • 310
  • 388
Jack
  • 1,094
  • 6
  • 16

2 Answers2

2

What you need to perform a step response is a controller which can be put in 'manual' mode. The free library https://github.com/mbonvini/IndustrialControlSystems gives you that.

Rene Just Nielsen
  • 3,023
  • 12
  • 15
  • Could I get the transfer function based on the response with this library? I didn't find the option to output the transfer function. I wanna get the transfer function use it to analyze how to design controllers. – Jack Jul 07 '20 at 08:05
2

There is an example in the Dymola manual to tune a controller of an airplane. It is found in the design library, more precisely: Design.Optimization.Examples.ControllerDesign_F14. The documentation is found in the Dymola Manual 2, Chapter 3 up to Dymola 2020x.

Another option is the commercial library "Optimization" developed by DLR which has enhanced capabilities, but comes with some cost...

Markus A.
  • 6,300
  • 10
  • 26
  • Could these libraries output the transfer functions of a system? I'd like to do system identification and get the describing function of a subsystem. – Jack Jul 07 '20 at 08:18
  • I think not. You should be able to use the (free) linearSystems2 library to create a transfer function... – Markus A. Jul 07 '20 at 08:37