Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.
Highlighted

Různé dotazy ohledně Vaší práce v LabVIEW

Dobrý den,


rád bych využil možnosti na kurzu LabView konzultovat a něco přiučit u někoho, kdo už delší dobu v LabView pracuje. Narazil jsem na celkem jednoduchý problém s ovládacím prvkem "Ring". Potřeboval bych uvnitř Array v němž je Cluster s ovládacím prvkem Ring zjistit jeho "název položky" místo "hodnoty". Když na Cluster použiji Unbundle výstupem je jen číslo, ale už ne ring. Zatím jsem to vyřešil tak, že jsem si udělal kopii Ringu, změnil jí na indikátor a přivedl tam data z Unbundle. Problém vidím v tom, že si musím vytvořit nový Ring jen pro "přesýpání dat" a pokud změním v Ringu položky, musím je pak měnit na dvou místech (v Clusteru a v samostatném Ringu). Jde to nějak vyřešit lépe?

Ještě bych se rád zeptal, zda lze nějak otevřít .VI z LabView 2013 v LabView 2012? Zrovna dokončuji jedno GUI v LabView 2012, u kterého bych nerad vychytával chyby vzniklé migrací na novou verzi LV.

Odpověď:

a)

Řešením je např. "fiktivní" kontrol, který krmíte indexováním pole a PROPERTY NODE k Ringu v tomto "fiktivním" kontrolu. Více přiložený projekt v ZIPu. Pozn. "fiktivní" kontrol můžete snadno schovat v shortcut menu "Hide".


PS: Štefo v následujícím příspěvku ukazuje, jak to má vypadat opravdu správně pomocí referencí.


b)

Pokud chcete vyřešit problém s tím, že když změníte prvky v Ringu, tak musítě měnit i "fiktivní" kontrol, tak to vyřeší Typedef. Jednoduše řečeno vytvoříte extra soubor s příponou ctl, který bude definovat váš Ring. Pokud tento Ring změníte, tak se ta změna promítne do všech instancí tohoto Typedef Ringu. Vyzkoušejte v ZIPu.

c)

Kod v novější verzi lze uložit ve starší verzi v projektu: File>>Save for previous versions.

Starší kod by měl jít v novější verzi otevřít. Nicméně problémy s migrací mohou nastat, což může pomoci např. NI support.

Jednou jsem otevíral novější verzi ve starší a měl jsem spousty broken wires protože jeden blok z novější verzez neexistoval v té starší a musel jsem to tedy opravit ručně. Obecně ale moc zkušeností s převodem mezi verzemi nemám.

Property Node a Typedef jsou také obsahem výukových materiálů a dojde na ně řeč v dalších seminářích.

Děkuji za dotaz

0 Kudos
Message 1 of 2
(2,809 Views)
1 REPLY

Re: Různé dotazy ohledně Vaší práce v LabVIEW

Upresnim este bod a.

Ak chcete pracovat s objektom, ktory je sucastou ineho objektu, tak je vzdy mozne na neho dostat referenciu. Nasledne je mozne pouzivat tuto referenciu na dcersky objekt, ako keby ukazovala na konkretny objekt (dufam ze je to zrozumitelne

Vecsinou vsak treba daky medzikrok.

Pre konkretny priklad by to vyzeralo nasledovne:

priklad.png

Pri podobnych otazkach zvycajne nie ste prvy, ktory riesia danu ulohu, a je teda mozne tieto informacie najst priamo na NI webe:

How Do I Access the Properties / Methods of Elements in an Array?

Martin

Certified-LabVIEW-Developer_rgb.jpg

Message 2 of 2
(2,103 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.