Diskuse Elektrika.cz

HYBRIDNÍ zóna => Technická podpora výrobce TECO Kolín radí odborníkům => Téma založeno: Ondřej Beran cheb 25.05.2017, 23:11



Název: Jakým způsobem se dá provádět zápis do proměnné v jazyce ST?
Přispěvatel: Ondřej Beran cheb 25.05.2017, 23:11

Jakým způsobem se v jazyce ST dá provést zápis do registru a následné čtení?

Prohledal jsem nápovědu snad už desetkrát a pořád na to nemůžu přijít, v IL jsem to našel ale v ST nic.


Název: Re: Jakým způsobem se dá provádět zápis do proměnné v jazyce ST?
Přispěvatel: Ondřej Beran cheb 26.05.2017, 10:55
Pro upřesnění, jedná se mi o vytvoření FB pro řízení solárních panelů na ohřev TUV a bazénové vody, zde bych potřeboval uložit hodnotu naměřenou na čidle počkat cca 2 minuty a provést porovnání těchto hodnot. předem děkuji


Název: Re: Jakým způsobem se dá provádět zápis do proměnné v jazyce ST?
Přispěvatel: Juraj Rojko 26.05.2017, 23:25
promenna := hodnota;

Ale to je tak triviální (a v dokumentaci samozřejmě popsané),  že si myslím, že se ptáte na něco úplně jiného. Jenže nevím na co.


Název: Re: Jakým způsobem se dá provádět zápis do proměnné v jazyce ST?
Přispěvatel: Ondřej Beran cheb 27.05.2017, 22:19
to co popisujete, je přiřazení hodnoty (na tvrdo programátorem),  to znám,
 start         : BOOL := 1;
Jedná se mi o to že potřebuji zkopírovat hodnotu teplotního vstupu typu real do proměnné typu real, tím tuto hodnotu zmrazit a uchovat cca 3 minuty a tuto hodnotu porovnat, v případě že delta T bude větší jak X, bude se čekat na vzestup teploty a nabere se nový vzorek teploty nebo pokud bude teplotní spád dostatečný připne se ohřev aku nádrže, v opačném případě že nebude docházet k vzestupu teploty celý proces se zastavý a bude se ohřívat bazén s menší teplotní náročností. Toto je ve zkratce.
V mnemo kódu jsou příkazy WR a WRC, ale pro ST jsem nic takového nenašel.



Název: Re: Jakým způsobem se dá provádět zápis do proměnné v jazyce ST?
Přispěvatel: Juraj Rojko 28.05.2017, 20:14
Je mi líto, ale stále nechápu o co vám jde. := dělá v podstatě to samé co WR. (Je pravda, že jsem měl napsat spíše výraz, než hodnota.)


Název: Re: Jakým způsobem se dá provádět zápis do proměnné v jazyce ST?
Přispěvatel: Luboš Urban 31.05.2017, 23:55
Je to opravdu tak jednoduché, jak píše pan Rojko.  Zápisu v mnemokódu

LD vstup
WR promenna

opravdu v jazyce ST odpovídá

promenna := vstup;

Ta vaše úloha by snad mohla vypadat nějak takhle:
VAR
     casovac : fbTick;
END_VAR

casovac(IN:= true, PT := T#3m);    // každé 3 minuty dá impuls, tj. nastaví
                                                       // na jeden cyklus svůj výstup

IF Casovac.Q THEN                         // když dočasoval
    IF teplota - predchozi_tepl ota >=  X THEN    // a nárůst teploty je větší než X
          ohrev_aku := true;               // zapni nabíjení aku nádrže
          ohrev_bazen := false;          // a vypni ohřev bazénu
       ELSE                                        // jinak
          ohrev_aku := false;              // vypni aku
          ohrev_bazen := true;           // a zapni bazén
    END_IF;
    Predchozi_tepl ota := teplota;    // a ulož si stávající teplotu
END_IF;