FlyCarpet Modeling Platform

In the project that created in past two chapter, we can see from control object that the control response time is long. In this chapter we use dynamic system optimization function to shorten response time, to realize optimal control.

Optimization object

The object selection depends on conception about the system control requirements. As sample, we set the absolution value 's integral of the difference of setting value Step_0->ST to output SCurve0->S2 as the optimization object. The plat will try to change PID parameters to find the minimal object value.

Add 3 new components to project: Node, Absolute, Integral.

Connect Step_0->S2 to Node_0->S1, SCurve_0->S2 to Node_0->C2, input Node_0->C1=-1, then Output S2 of Node_0 is (SCurve_0->S2 - Step_0->S2), after Absolute calculation, connected to Integral, which output is the optimization object.

Whole project is as follow:

Click "Dynamic system optimization" from menu or on toolbar, the following dialog pops up:

Click "Select optimizing quantity", the following dialog pops up:

Add the input parameter KP, KI, KD of PID0 to optimizing data list, then click "Input/Return" button to input data min and max range as upper, click OK to return.

Click "Select object quantity" button, the following dialog window pops up:

Select Integral->S2 as object, click OK to return.

Click "Begin" to run the process, observe the object value changing. The results will output as text. If not satisfied, change the setting and run optimization again. One result is as follows:

Use this result to modify the input data of PID0, and simulate the system again:

From this plot compare to former one, we can see the control response time is much shorted, the control performance is better than the former.


A FlyCarpet package is a collection of components. A FlyCarpet project can include multiple same state components.

  • Math

    General state, mathematical and logical functions.

  • General

    Dynamic state, general components for dynamic simulation.

  • Interactive

    Dynamic state, interactive components for dynamic simulation.

  • DuctNet

    Static state, duct network calculation.

  • Refrigeration

    Static state, refrigeration system design and optimization.

  • ECSOptim

    Static state, airplane Environmental Control System(ECS, or A/C system) design and optimization.

  • HXFinPlate

    Static state, Fin-Plate style heat exchangers design and simulation.

  • VacuumDesign

    Static state, steam eject steel furnace vacuum pump design and optimization.

Package developing tools

These tools are used to reduce developing time for package and its components so that developers can focus on the core component logic design.

  • FCPBuilder

    A fast package and components c++ code generating tool based on inputs, outputs settings and logic processing code.

  • MetaBuilder

    A specific metafile builder for FlyCarpet component.