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; |