Компенсирайте мъртвото време

Опции за темата
Търсене на тема
дисплей

В момента програмиране на гранулатна доза. Фунията, в която се намира гранулатът, се претегля. Гранулатът се притиска в екструдер чрез винт. Така теглото се променя непрекъснато.
Взимам тежестта и след 2 минути взимам новата тежест. От разликата знам колко тегло е загубено, това дава моята производителност [kg/h]
Сравнявам тази действителна стойност с целевата ми производителност и съответно винтът ще бъде по-бавен или по-бърз.
Тъй като стойността се променя на всеки 2 минути, имам мъртво време от 2 минути.

време

Идеята ми е да задам компонента I много малък, така че да не трепти твърде силно в зададената точка.

Имате ли идея как най-добре да компенсирате мъртвото време?

Спонтанно бих казал, направете 2 минути ---> 10 секунди.

Ако разбирам правилно вашата система, имате неинтегрираща се контролирана система. Регулирането на такъв маршрут определено се нуждае от част I-In.
За да подобря контролното поведение, бих се опитал да свържа контролиран компонент, пропорционален на зададената стойност (а не на отклонението на контрола!). Ако коефициентът на това свързване на зададената точка е повече или по-малко подходящ, устройството за управление трябва да направи само останалото и се е настроило по-бързо. Това ви помага с малка I-част.
Поздравления
Ерик

2 секунди не са възможни, защото теглото се променя много бавно

@Largo, би ли могъл да ми го опишеш с пример или да го обясниш по-просто
не разбирам как точно го мислиш

Покажете какво вече имате.
Първо трябва да знам дали използвате готови градивни елементи или нещо, което сте написали сами.

Променено от LargoD (21.07.2011 г. в 13:34)

контролер, i-част засега е пропусната
стъпкова верига за определяне на производителността

Разбира се, имам повече код, но не знам какво още искате да видите

по принцип е такава система, но за съжаление не със siwarex ftc, а със siwarex cs.
http://www.youtube.com/watch?v=nzNDeDufzP8

Бихте могли напр. Б. поставете сигнал на входния DISV, който се появява като

изчислено. След това изключете управлението и карайте само с тази стойност. След това играете с фактора, докато той е повече или по-малко подходящ дори без регулиране. След това включете управлението отново и оптимизирайте параметрите на управлението.

пс. Наистина ли се обаждате на контролера на всеки 100ms, въпреки че действителната стойност се променя само на всеки две минути?

да на всеки 100ms
какво препоръчваш?

10 секунди са достатъчно бързи,
Но въпросът ми няма нищо общо с проблема ви. Това е просто загуба на време на процесора, но при сегашните процесори това вече не е проблем.
Първо изпробвайте нещата със свързването на зададената точка.
Поздравления
Ерик

В момента програмиране на гранулатна доза. Фунията, в която се намира гранулатът, се претегля. Гранулатът се притиска в екструдер чрез винт. Така теглото се променя непрекъснато.
Взимам тежестта и след 2 минути взимам новата тежест. От разликата знам колко тегло е загубено, това дава моята производителност [kg/h]
Сравнявам тази действителна стойност с целевата ми производителност и съответно винтът ще бъде по-бавен или по-бърз.
Тъй като стойността се променя на всеки 2 минути, имам мъртво време от 2 минути.

Идеята ми е да задам компонента I много малък, така че да не трепти твърде силно в зададената точка.

Имате ли идея как най-добре да компенсирате мъртвото време?

Така че регулаторът не е проблемът, а записът на загуба на тегло. Без гравиметрична скала е късмет да се задейства.
С гравиметрична скала получавате пропускателната способност автоматично. Тези везни работят с филтри и честоти на вземане на проби, за които всеки PLC мечтае.

Как и с какво се претегля, откъде вземате теглото ?