2016-04-05 16 views
0

Değişken veri tipine sahip bir çıkış terminali olan bir SubVI oluşturmak istiyorum. SubVI dışında terminal Type Cast'a bağlanacaktır. Variant'u veri türü olarak kullanmak istemiyorum. evet nasıl yapılabilir eğerDeğişken veri tipi ile LabView SubVI terminali

Blok diyagram

VI block diagram

bu mümkün mü ve?

+0

Polimorfik VI. –

+0

@Khachik: Çalışma zamanında veri türünü seçmeniz gerekiyorsa, bir polimorfik VI kullanmak mümkün değildir. – MarcoM

+0

Sorudaki çalışma zamanı ile ilgili gereksinim nerede? –

cevap

2

Hayır, bu mümkün değil. Tüm veri tiplerini taşıyabilecek tek bir veri türü vardır. Bu Variant. Neden kullanmak istemediğini bilmiyorum, ama bu senin tek seçeneğin. Tip Döküm sadece yüklenebilir türler içindir (yani sayısal değerler ve bir dizi bayttan bir dizge yayınlamak gibi birkaç sınırlı örnek).

3

Sen dize VI düzleştirmek kullanabilir ve Unflatten daha dize VI (yerine Türü Cast) den olabilir.

Varyant veri türünden niçin kaçınmak istiyorsunuz?

+0

Yukarıdaki örnek basitleştirilmiştir. Aslında ben 'Variant' kullanıyorum. Sorun, verilerin 'Variant'dan birden çok farklı genel veri türüne dönüştürüldüğü durumlarda ortaya çıkar. Bir veri tipini (çalışma zamanı sırasında belirlenecek olan) 'Veriye Varyant' VI 'tür terminaline iletmek istiyorum. –

+0

Davanızın ayrıntılarını bilmiyorum, bu yüzden yanılmış olabilirim, ama Classes'in burada size çok yardımcı olabileceği izlenimim var. – MarcoM

+0

Evet, büyük olasılıkla durum böyle! Hemen hemen her dilde nesne yönelimli programlama kullanmış olurdum. Bunun LabView'da da mümkün olduğunu biliyorum. Nedenini bilmiyorum ama LabView'da nesne yönelimli programlama kullanmıyorum. –

0

Her zaman çevirme yaparım. Program kontrolü altında birden fazla çözüme ihtiyacım varsa, bir vaka seçici kullanıyorum ve ihtiyaç duyulan her türden bir örnek oluşturuyorum. Vaka seçicisi, veri türleri için birden çok çıkış sunar.

İlgili konular