計算 負數小數 無法顯示(乘小數後 無法顯示)

大家好,想請問為什麼在Case Structure裡面 計算乘、除之後 顯示出來的數字是錯誤的呢?
在乘之前計算都是正確的 不曉得什麼問題,麻煩請各位高手解答
另外,附上新的VI,計算卻不會顯示錯誤

請問有附上程式嗎 怎麼找不到

我無法重現所謂的錯誤答案
可以附程式嗎

[QUOTE=zxcvjeff] 請問有附上程式嗎 怎麼找不到

我無法重現所謂的錯

誤答案
可以附程式嗎
[/QUOTE]



不好意思在搭車 先從雲端傳檔案 晚點補程式

https://docs.google.com/file/d/0B9X6GDtk11dSaEtwT09PUnN2bG8/e

dit?usp=docslist_api



另外,有問題的地方為乘法之後 計算值不正確

新手撰寫有點亂…

Google Drive無法下載你的vi檔,請確認一下喔


另外想請問一下,計算錯誤的地方是在哪裡? 很想解決你的問題。

[QUOTE=Benjamin]

Google Drive無法下載你的vi檔,請確認一下喔


另外想請問一下,計算錯誤的地方是在哪裡? 很想解決你的問題。
[/QUOTE]


不好意思,麻煩您在試試,應該可以了
我PO文的圖,最上面為正常應該正確的結果
下面二張為我出現顯示錯誤的結果(應該要負小數,但是卻顯示極大正數)

程式出現問題為右上角的Case Structure裡面 計算乘、除之後
不好意思,新手發問一直出錯.....
DavidLai41997.8456365741

原因出在case selection structure



如果這個送出False給case structure

程式就會跑下面這一段程式:


測試方法為,你可以使用probe,

接到後面,就可以偵測送出的是true或是false。

[QUOTE=Benjamin]原因出在case selection structure



如果這個送出False給case structure

程式就會跑下面這一段程式:


測試方法為,你可以使用probe,

接到後面,就可以偵測送出的是true或是false。
[/QUOTE]
不好意思,不太懂耶
我測試過了,他是跑進case structure True裡面
只是在乘之前(FFFFFF Data2顯示的值是正確的)
乘後(-2204*2.5 = -5510) Numeric 2應該要顯示(-5510)才對,但是卻顯示(10737412730)

我的問題是這邊,他計算出來得結果跟我想得到的結果不同,不曉得是哪邊出錯了

那就是資料型別不同造成的 溢位 了。

程式裡面出現的紅色點點,就是代表資料型別不同,labview自動做的轉換,但是有可能造成溢位。

你需要先了解I32、U32、I16、U16、I8、U8的差別。

你的程式應改為沒有紅色點點的樣子:


下面這個程式,你跑跑看:
Sensor_Chart_-_複製.viBenjamin41986.5082523148

[QUOTE=Benjamin]
那就是資料型別不同造成的 溢位 了。

程式裡面出現的紅色點點,就是代表資料型別不同,labview自動做的轉換,但是有可能造成溢位。

你需要先了解I32、U32、I16、U16、I8、U8的差別。

你的程式應改為沒有紅色點點的樣子:


下面這個程式,你跑跑看:
[/QUOTE]
可以幫我轉成11版嗎?
14版我開不起來…
另外,該怎麼把紅點改掉呢?
我記得I、U好像不支援小數,所以我選擇用DBL 支援小數、負數
但是顯示出來好像不是我所需求的值

麻煩請各位前輩指導一下 謝謝
DavidLai41997.8457175926

請善用轉檔功能唷:http://stdb.org/conversion/ 


I: 有正負的整數
U: 只有正整數

I8: 8byte的有正負的整數以及零,範圍-128 ~ +127
I16: 16byte的有正負的整數以及零,範圍?32,768 ~ 32,767
I32: 32byte的有正負的整數以及零,範圍?2,147,483,648 ~ 2,147,483,647
U8: 8byte的零與正整數,範圍0 ~ 255
U16: 16byte的零與正整數,範圍0 ~ 65,535
U32: 32byte的零與正整數,範圍0 ~ 4,294,967,295


你先用這裡轉檔 http://stdb.org/conversion/,執行看看我改的程式。
Benjamin41986.5360185185

[QUOTE=Benjamin]
那就是資料型別不同造成的 溢位 了。

程式裡面出現的紅色點點,就是代表資料型別不同,labview自動做的轉換,但是有可能造成溢位。

你需要先了解I32、U32、I16、U16、I8、U8的差別。

你的程式應改為沒有紅色點點的樣子:


下面這個程式,你跑跑看:
Sensor_Chart_-_複製.vi[/QUOTE]


你好,我測試過了 但是算出來的數字還是錯的耶
FFFFFF Data 2、Numeric 數字應該是 -2250(16474966 - 16777216 = -2250),
但是FFFFFF Data 2 卻顯示 4294965046、Numeric 顯示4294965046
導致最後計算得結果出錯了(我需要計算負值、小數)

麻煩請各位前輩教導一下,謝謝

謝謝 Benjamin  給我了方向,全部型態改為 DBL 就可以了!!
所有的數值計算出來接正確,當初因有些是Int有些是DBL導致溢位發生~
謝謝各位的指導!!

完成了!
DavidLai41997.8458564815