Jak se řeší v Mosaicu proporcionální řízení hlavice C-HC-0201F-E?

<< < (2/3) > >>

Jan Novotný2:
 ,

tohle jsem dloooouho, opravdu dloooouho také řešil a pátral jak to udělat. Veškeré manuály byly na hlavicu typu 1/0, ale proporciální řízení nikde. A tak jsem si s inspirací z jiných FB sestavil vlastní.

A to funkční blok typu CFC, ve kterém si definuju vstupní a výstupní. Řeším v něm nastavení noční a denní teploty do týdenního progrmu, a vyhodnocuje naměřenou teplotu v místností (tep. čidlo) s požadovanou teplotou (v danný denní režim) a podle toho otevře/přivře hlavici.

Jak už tady zaznělo, je to opravdu obyčejné hloupé řízení hlavice, protože nijak neřeším ovládání kotle, tepltu na vstupním/výstupním okruhu podlahového topení....pros tě a jednoduše, když je v místnosti chladněji než je požadováno, povol ventil a pošli tam víc teplé vody dokud teplota v místnosti nebude jako požadována, pak zas ventil přiškrť. Vymakané by bylo řešit hysterze, nebo na základě rychlosti ohřevu včas s předstihem začít ventil přivírat a ne až v okamžik kdy je dosažená teplota.....al e víte jak, je to opravdu potřeba mít tak vymakané??

Sceen Funkčního bloku:

https://i.ibb.co/vdN6Fp3/fbwc.png

A pak v Programu CFC topení mám ty jednotlivý funkční bloky:

https://i.ibb.co/p0n9b2m/Prg-Topeni.png

Kdyby chtěl někdo poradit nebo něco objasnit proč kde co dělám, tak neváhejte napsat.
Stejně tak kdyby měl někdo připomínku a nápad jak to vylepšit, tak také uvítám ;-)

PS: také by mě zajímala životnost těch ventilů jestli jim to časté kroucení extra vadí...

Ivan Libicher:
Protože tazatel žádal jednoduché řešení, zde jedno je: Lineární průběh výstupu od 0% do 100% v pásmu proporcionalit y. PID je samozřejmě z pohledu regulace lepší, jak už zde bylo psáno, ale jednoduchost má někdy své výhody.
Kód:

PROGRAM prgMain
VAR
  tMerena: REAL :=21.0;
  tZadana: REAL := 21.5;
  tPropPasmo: REAL := 0.5;
  vystup: REAL;
END_VAR
  vystup := (tZadana - tMerena + tPropPasmo) / tPropPasmo * 50; // tZadana=tMerena-tPropPasmo => 0. tZadana=tMerena => 50. tZadana=tMerena+tPropPasmo => 100.
  vystup := LIMIT( 0, vystup, 100 );
  if System_S.R_EDGE_10MIN then // Zapis do skutecneho AO vystupu jen jednou za cas, aby pohon trvale nejezdil sem a tam !
    // AOxxx := vystup;
  end_if;
END_PROGRAM

Miroslav Krhounek:
Jenom pozor, že i když ovládání hlavice je lineární, rozhodně ventil nejspíš nebude lineární (tzn. průtok).

Pokud to chcete trochu lépe modelovat, jenom se vstupní a výstupní teplotou si nevystačíte, pokud neznáte průtok a tím množství dodávané energie do radiátoru.

Pro přiblížení se množství energie, kterou radiátor dodává do místnosti by asi šlo odhadovat podle výkonu radiátoru (podle typu radiátoru, velikosti atd.,  při dané vstupní a výstupní teplotě a teploty v místnosti)

A ideálně pak množství přiváděné energie by mělo být rovné množství odváděné energie - tzn. tepelné ztrátě místnosti, což pak záleží na vnitřní teplotě, vnějších teplotách (sousední místnosti, venkovní meteo) a materiálu stěn, větrání atd..

Takže ve finále nějaké on/off řízení s danou hysterzí a počítat s nějakou kapacitou radiátoru a setrvačností systému může být asi jednodušší.

Myslím, že vzhledem ke všem možným proměnným bude asi "nejjednodušší" napsat nějakou neuronovou síť, která se časem naučí, jak tu hlavici ovládat  8)  (dance)

Tomáš Martinek:
Citace: Miroslav Krhounek  30.01.2020, 16:19

...

Takže ve finále nějaké on/off řízení s danou hysterzí a počítat s nějakou kapacitou radiátoru a setrvačností systému může být asi jednodušší.

Myslím, že vzhledem ke všem možným proměnným bude asi "nejjednodušší" napsat nějakou neuronovou síť, která se časem naučí, jak tu hlavici ovládat  8)  (dance)


Chápu to dobře, že nám tedy rozmlouváte použití C-HC-0201F-E a doporučujete použít např. Alphu AA?
Pokud ano, tak je tu Vaše odpověď v této diskuzi trochu zbytečná  (dance)

Miroslav Krhounek:
Nerozmlouvám. Jenom upozorňuji na to, že pokud chcete nějaké trochu smysluplné řízení (které proporcionální hlavice tak nějak automaticky evokuje) musíte se zabývat podstatou problému a k tomu přidružených úloh.

Tzn. základní podstata udržení požadované teploty je vyrovnávat aktuální tepelné ztráty.
A ty závisí na mnoha okolnostech (meteorologická situace venku, skladba stěn, neprůvzdušnost, požadovaná teplota, ztráta do okolních bytů atd.). A tepelné zisky z radiátoru zas závisí na konstrukci radiátoru - přenost tepla, teplotě otopné vody - vstup a výstup, rychlosti průtoku, aktuální vnitřní teplotě aj.

Samozřejmě, že je nemyslitelné všechny "parametry" aktuální situace znát..

Charakteristik a průtoku ventilem nebude lineární, na to jsem chtěl hlavně upozornit.
Protože dodané teplo za daný čas je dané množstvím vody, která proteče a jejím ochlazením. A to množství vody budete regulovat tím ventilem. Což pak také ještě závisí na tlaku v soustavě - jestli je v systému čerpadlo nebo ne, jak jsou uzavřené/otevřené jiné radiátory, které pak mohou měnit tlakové poměry a tedy i průtok ventilem nastaveným na xyz % tedy ve finále množstvím dodané energie..

Takže to chce "nějak" pěkně chytře vymyslet a zjednodušit/modelovat aby řízení bylo stabilní a moc rychle necyklovalo

Navigace

[0] Index zpráv

[#] Další strana

[*] Předchozí strana