Vítej, Host. Prosím přihlaš se nebo se zaregistruj.
23.03.2019, 02:31:10

Domů Nápověda Vyhledávání Přihlásit Registrovat
 
Fórum k produktům firmy ELSACO Kolín  

+  PROMOS fórum
|-+  FRED - grafické vývojové prostředí
| |-+  FRED - platforma PL2 (CCPU)
| | |-+  Jak realizovat podmínku if
0 uživatelů a 1 Host prohlíží toto téma. « předchozí další »
Stran: [1] Dolů Tisk
Autor Téma: Jak realizovat podmínku if  (Přečteno 2081 krát)
vholcman
člen

Příspěvků: 5


« kdy: 06.08.2015, 10:14:39 »

Dobrý den
Potřeboval bych udělat v podstatě podmínku if.
Mám dva binární stavy. Pokud jsou oba v 0 tak na výstupu je 0, pokud je první v jedničce tak na výstupu 1, a pokud jsou oba v 1 tak na výstupu cykluje 0 a 1.
Podařilo se mě to udělat pomocí AMUX a převodu BIN na INT, ale říkal jsem si že musí existovat nějaké elegantní řešení.
Děkuji
Holcman
Zaznamenáno
libor
moderátor+

Příspěvků: 388



« Odpověď #1 kdy: 07.08.2015, 08:09:45 »

Dobrý den,

jedním z velkých nedostatků platformy PL2 (CCPU-03, CCPU-02, CCPU-21) je neexistence podmínky if a její velice špatné nahrazování tím, že se "vrší" moduly. Pokud jste to realizoval pomocí modulu Int2Bin a Amux, tak to je nejspíše nejvíce elegantní řešení, které můžete dostat.

I z tohoto důvodu jsou nové centrály CCPU-34 postavené a více podobné jednotkám XCOM - modul si můžete vytvořit sám a může obsahovat (nejen) podmínek, kolik budete chtít.

Kdybychom vytvořili modul se 2 vstupy (in0, a in1) a jedním výstupem out, tak by kód tohoto modulu vypadal očekávatelně:

Kód:
if (!(*in0) && !(*in1)) out = 0;
else if ((*in0) && !(*in1)) out = 1;
else if ((*in0) && (*in1)) out = 1 - out;

Vytvoření modulu je v takovém případě otázkou několika málo minut. Bohužet toto není na starých jednotkách možné, ale pouze na nových jednotkách typu XCOM nebo CCPU-34.
Zaznamenáno

Stran: [1] Nahoru Tisk 
« předchozí další »
Skočit na:  


Poháněno MySQL Poháněno PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines Validní XHTML 1.0! Validní CSS!