Setting PID coefficient

Practical ways to adjust control loops (short explanation of factors)

This article presents my subjective opinion of the engineer.

The conclusions were drawn from the explanations of Klaus Liebl, an engineer from Germany (MTU), and personal experience.

Before starting to tune the PID controller, make sure in advance that there are three components for tuning:

1. A convenient schedule should be created that would allow you to follow the changes in the process (preferably with a zoom function to see the whole process in retrospect). Variables that are needed: PV, SP, OUT;

2. The function block of the PID controller must be installed in such a place in the program that would guarantee its cyclical call with equal timings (time intervals). The point is that if we ignore this, then the PID calculations will float a little and introduce an unrelated error.

Example: OB100 or a periodic task with a cycle of 100 ms;

3. It is important to understand what formula is used in the library. I know 2 formulas:

  Формула

In this formula, the integration coefficient P is very important, which can be either direct or inverse proportional.

The method for selecting the Ziegler-Nickels coefficients is good, but it has the disadvantage that in complex interconnected systems, when it is impossible to exclude external influence on the process, setting up a specific circuit can take a very long time.

I will dwell on the main PID ratios:

1. Proportional coefficient "P" (gain) - the main coefficient of the regulator. The speed and direction of the regulator depends on it. The main task of a PID controller is to stabilize a process variable at a set value (setpoint or setpoint). Stabilization and buildup are two different things.

If the parameter "P" is made negative, the contour will start working exactly the opposite, and, therefore, be careful with it and set the value to 0.5.

So, for example, if the circuit heats some medium, then "P" must be positive, if you cool something, then the "P" -factor must be negative.

2. The integral coefficient "I" influences the regulation process. Its role is "precision and inertia." It is worth focusing on Formula 1.

If it is not inversely proportional, then in order to increase the integral component, you will have to decrease this coefficient, in our case, increase it. “Accuracy” indicates how large the slope of the process variable graph should be.

If you need to calm periodic fluctuations, simply increase the integration coefficient greatly (for example, from 0.5 to 8.0).

3. The differential coefficient "D" serves to calm down complex mutually inert systems, for fast interconnected processes, when the impact on the object causes wave-like damping processes, similar to those when we throw a stone into water and see diverging waves. With each wave, the vibrations subside noticeably. This coefficient serves to level such fluctuations.

Attention: for slow processes - more than 40 s from the minimum to the maximum of the curve graph - this parameter should be excluded, that is, equal to 0.

Useful video:
PID_simple

#setting,  #adjusts, #PID, #coefficients, #tuning, #controller, #simple

Russian version


Array
(
    [ID] => 32
    [IBLOCK_ID] => 1
    [NAME] => PID tuning 
    [IBLOCK_SECTION_ID] => 
    [IBLOCK] => Array
        (
            [ID] => 1
            [~ID] => 1
            [TIMESTAMP_X] => 26.03.2021 22:40:30
            [~TIMESTAMP_X] => 26.03.2021 22:40:30
            [IBLOCK_TYPE_ID] => EN
            [~IBLOCK_TYPE_ID] => EN
            [LID] => s2
            [~LID] => s2
            [CODE] => articals
            [~CODE] => articals
            [API_CODE] => 
            [~API_CODE] => 
            [NAME] => Articles
            [~NAME] => Articles
            [ACTIVE] => Y
            [~ACTIVE] => Y
            [SORT] => 10
            [~SORT] => 10
            [LIST_PAGE_URL] => /articals/
            [~LIST_PAGE_URL] => /articals/
            [DETAIL_PAGE_URL] => /articals/#ELEMENT_CODE#.html
            [~DETAIL_PAGE_URL] => /articals/#ELEMENT_CODE#.html
            [SECTION_PAGE_URL] => 
            [~SECTION_PAGE_URL] => 
            [CANONICAL_PAGE_URL] => https://lapshinvr.com/articals/articals.html
            [~CANONICAL_PAGE_URL] => https://lapshinvr.com/articals/articals.html
            [PICTURE] => 
            [~PICTURE] => 
            [DESCRIPTION] => 
            [~DESCRIPTION] => 
            [DESCRIPTION_TYPE] => html
            [~DESCRIPTION_TYPE] => html
            [RSS_TTL] => 24
            [~RSS_TTL] => 24
            [RSS_ACTIVE] => Y
            [~RSS_ACTIVE] => Y
            [RSS_FILE_ACTIVE] => N
            [~RSS_FILE_ACTIVE] => N
            [RSS_FILE_LIMIT] => 
            [~RSS_FILE_LIMIT] => 
            [RSS_FILE_DAYS] => 
            [~RSS_FILE_DAYS] => 
            [RSS_YANDEX_ACTIVE] => N
            [~RSS_YANDEX_ACTIVE] => N
            [XML_ID] => 
            [~XML_ID] => 
            [TMP_ID] => 
            [~TMP_ID] => 
            [INDEX_ELEMENT] => Y
            [~INDEX_ELEMENT] => Y
            [INDEX_SECTION] => N
            [~INDEX_SECTION] => N
            [WORKFLOW] => N
            [~WORKFLOW] => N
            [BIZPROC] => N
            [~BIZPROC] => N
            [SECTION_CHOOSER] => L
            [~SECTION_CHOOSER] => L
            [LIST_MODE] => 
            [~LIST_MODE] => 
            [RIGHTS_MODE] => S
            [~RIGHTS_MODE] => S
            [SECTION_PROPERTY] => N
            [~SECTION_PROPERTY] => N
            [PROPERTY_INDEX] => N
            [~PROPERTY_INDEX] => N
            [VERSION] => 1
            [~VERSION] => 1
            [LAST_CONV_ELEMENT] => 0
            [~LAST_CONV_ELEMENT] => 0
            [SOCNET_GROUP_ID] => 
            [~SOCNET_GROUP_ID] => 
            [EDIT_FILE_BEFORE] => 
            [~EDIT_FILE_BEFORE] => 
            [EDIT_FILE_AFTER] => 
            [~EDIT_FILE_AFTER] => 
            [SECTIONS_NAME] => 
            [~SECTIONS_NAME] => 
            [SECTION_NAME] => 
            [~SECTION_NAME] => 
            [ELEMENTS_NAME] => Элементы
            [~ELEMENTS_NAME] => Элементы
            [ELEMENT_NAME] => Элемент
            [~ELEMENT_NAME] => Элемент
            [REST_ON] => N
            [~REST_ON] => N
            [EXTERNAL_ID] => 
            [~EXTERNAL_ID] => 
            [LANG_DIR] => /
            [~LANG_DIR] => /
            [SERVER_NAME] => lapshinvr.com
            [~SERVER_NAME] => lapshinvr.com
        )

    [LIST_PAGE_URL] => /articals/
    [~LIST_PAGE_URL] => /articals/
    [SECTION_URL] => 
    [CANONICAL_PAGE_URL] => https://lapshinvr.com/articals/setting-pid-ratios.html
    [SECTION] => Array
        (
            [PATH] => Array
                (
                )

        )

    [IPROPERTY_VALUES] => Array
        (
            [ELEMENT_PREVIEW_PICTURE_FILE_NAME] => pid tuning 
            [ELEMENT_META_TITLE] => Adjustment of PID coefficients and video explanation
            [ELEMENT_META_KEYWORDS] => setting,  adjusts, PID, coefficients, tuning, controller, simple
            [ELEMENT_META_DESCRIPTION] => Practical ways of adjusting the control loops (a short explanation of the coefficients)
            [ELEMENT_PAGE_TITLE] => Setting PID coefficient
            [SECTION_META_TITLE] => Automation articles 
            [SECTION_META_KEYWORDS] => Automation, Articles 
            [SECTION_META_DESCRIPTION] => I met something worthy of attention during the work. It is difficult to assess the necessity of posting this or that article, I tried to clean up the obvious garbage
            [SECTION_PAGE_TITLE] => Here I published articles that may be useful to someone in the production of work
        )

    [TIMESTAMP_X] => 04.03.2021 11:04:51
    [META_TAGS] => Array
        (
            [TITLE] => Setting PID coefficient
            [BROWSER_TITLE] => Adjustment of PID coefficients and video explanation
            [KEYWORDS] => setting,  adjusts, PID, coefficients, tuning, controller, simple
            [DESCRIPTION] => Practical ways of adjusting the control loops (a short explanation of the coefficients)
        )

    [PREVIEW_TEXT] => 1. A convenient schedule should be created that would allow you to follow the changes in the process (preferably with a zoom function to see the whole process in retrospect). Variables that are needed: PV, SP, OUT;
2. The function block of the PID controller must be installed in such a place in the program that would guarantee its cyclical call with equal timings (time intervals). The point is that if we ignore this, then the PID calculations will float a little and introduce an unrelated error.
Example: OB100 or a periodic task with a cycle of 100 ms;
3. It is important to understand what formula is used in the library. [PREVIEW_PICTURE] => Array ( [ID] => 316 [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object ( [value:protected] => DateTime Object ( [date] => 2021-03-04 11:04:51.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [MODULE_ID] => iblock [HEIGHT] => 452 [WIDTH] => 800 [FILE_SIZE] => 442548 [CONTENT_TYPE] => image/png [SUBDIR] => iblock/474 [FILE_NAME] => adjusts_pid_coefficients.png [ORIGINAL_NAME] => adjusts-pid-coefficients.png [DESCRIPTION] => PID simple [HANDLER_ID] => [EXTERNAL_ID] => dc0be85544e346cd1b67f901dcb59326 [~src] => [SRC] => /upload/iblock/474/adjusts_pid_coefficients.png [UNSAFE_SRC] => /upload/iblock/474/adjusts_pid_coefficients.png [SAFE_SRC] => /upload/iblock/474/adjusts_pid_coefficients.png [ALT] => PID tuning [TITLE] => PID tuning ) [DETAIL_PAGE_URL] => /articals/setting-pid-ratios.html )
Ваш комментарий добавлен

Возврат к списку