Jak wymusić wartość potęgi Engineering String?

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

Witajcie,
zmagam się z oto nie lada problemem :)

Otóż mam wrzucone na wykres XY Graph dane typu double, które w pewnym momencie z niego pobieram (Value).
Tworzę raport i chcę te dane z formie tabelki umieścić na wydruku, obok wykresu (tego "obok" chyba nie da sie zrobic bez zakupionego toolkita - nie?).

Problem polega na tym, że wykres przedstawiony jest w logarytmicznym układzie współrzędnych i gdy punkt należy do potęgi dziesiątki o wykładniku powiedzmy -13 (czyli E-13) chciałbym w tabelce mieć wartość X.XXXXE-13. Mam natomiast XXX.XXXXE-15.
Czy da się i w jaki sposób sprowadzić wyniki w tabeli do takiej postaci ażeby część całkowita Enigineering Stringa była jednocyfrowa? (wtedy potęgi byłyby ok).

Kombinowałem z ustawieniem konwersji na lenght=10 i precision=4 co miałoby zapewnić jedną cyfrę całkowitą, jednak konwersja działa jakoś nie po mojej myśli.

za wszelkie sugestie z góry dziękuję.
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: smiga »

Odnośnie raportu, to skorzystaj z pracy Łukasza (spec.kolombo) - HTML report from template
Znajdziesz tu:
http://labview.pl/viewtopic.php?f=26&t=3279

Odnośnie wyświetlania wyników, to możesz pokombinować w Display Format / Advanced editing mode
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

niestety pracuję na LV8.6 i nie odpalają mi się konkursowe toolkity :(

co do wyników to oczywiście kombinuję ciągle - efekty przedstawię jeśli do czegoś w ogóle dojdę :)
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: smiga »

Może wklej ten kawałek kodu z przykładowymi danymi ... bo u mnie domyślnie robi x,xxxE-13

I napisz do Łukasza - pewnie dobry człowiek zapisze wszystko do wersji 8.6 ;)
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

wrócę z Sylwestra i podam rozwiązanie :)
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

Poniżej prezentuję jak sobie poradziłem z własnym problemem.

Ogólnie rzecz biorąc mnożę w pętli konwertowaną liczbę po 10x, aż jej wartość będzie >=1 co oznacza że pojawiła się pierwsza cyfra z lewej strony symbolu dziesiętnego.
Dalej zaokrąglam liczbę do żądanej dokładności i doklejam info o potędze.

ot i co :)
Załączniki
double_na_engineering_string (SubVI).vi
(7.94 KiB) Pobrany 284 razy
konwersja.jpg
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: smiga »

Po pierwsze pętla się kręci do ... długo :-) przy wartości wejściowej 0.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: smiga »

Po drugie zmieniłem Display format i działa tak samo ... chyba że w wersji 8.6 działa inaczej?
Zerknij na poniższy kod:
Załączniki
double.jpg
double_na_engineering_string (SubVI).vi
v8.6
(7.55 KiB) Pobrany 265 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

rozwiązanie jest uproszczone i oczywiście będzie obsługiwało wartość=0 i >0.
chodziło mi o ideę.

jeśli chodzi o wyświetlanie to raczej chodziło mi o wartość pokazywaną po skonwertowaniu na stringa bloczkiem Number to Engineering String (chcę wyświetlać te informacje obok wykresu na raporcie).

problem w tym, że ta konwersja daje czasem więcej niż 1 cyfrę z lewej strony przecinka, a ja koniecznie muszę mieć tylko jedną i dobrze wyznaczoną potęgę.
moje engineering_string jest ok, zaś F-format string jest złe.

pozdrawiam
Załączniki
konwersja2.jpg
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: smiga »

ky3orr pisze:
jeśli chodzi o wyświetlanie to raczej chodziło mi o wartość pokazywaną po skonwertowaniu na stringa bloczkiem Number to Engineering String (chcę wyświetlać te informacje obok wykresu na raporcie).
A czemu nie Number to Exponential String? ... u mnie działa OK.

Polecam też przetestować Format Value odpowiednio ustawiając wejście Format String
Ostatnio zmieniony 02 sty 2011 21:27 przez smiga, łącznie zmieniany 1 raz.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

nie odnalazłem tego sposobu wiec założyłem temat :)

będę wdzięczny za wskazówkę :)

pozdro
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Jak wymusić wartość potęgi Engineering String?

Post autor: smiga »

W załączniku przykład. W Format String podłączyłem"%.2" ... składnie znajdziesz w helpie pod hasłem "Format Specifier Syntax"
Załączniki
double_na_engineering_string (SubVI)-2.vi
(8.66 KiB) Pobrany 266 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Jak wymusić wartość potęgi Engineering String?

Post autor: ky3orr »

dzięki smiga.
Exponential string i Format Value string całkowicie załatwiają sprawę.
nie bardzo rozumiem dla czego to działa (help jest mglisty dla mnie w kwestii jak to się dzieje, że wartość doprowadzana jest właśnie do jednej cyfry na lewo od znaku dziesiętnego), ale może dobrze że nie było mnie na CLADzie :)

pozdro
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
ODPOWIEDZ