LabVIEW簡易計算機試寫及問題

各位前輩好

由於我完全是個程式新手

目前整個是邏輯及運用渣

所以寫出來的程式整個很雜亂

在B BUG的時候整個是一件大麻煩

雖然參考過很多網上的範例

但還是相當難產(有一些是太資深對我這個新手來說完全看不懂 

在跟LabVIEW苦戰幾天後好不容易把這個簡易計算機給生出來了

請問這樣的寫法還有辦法做簡化嗎?

請各位前輩指點 



計算機程式試寫 14.0.vi

計算機程式試寫 9.0.vi

9.0以下的版本無法提供

因為我這寫法8.0不支援
YuKuan42857.7504861111

看了程式之後,我相信你在Event Structure跟UI上面的Boolean Control也有碰到問題
雖然我自己還沒有把完整的原因統整起來

但先建議如下的步驟:
[1]把Stop Button本尊,確定放在主要接收他的事件的Event Case中 (你的程式中,正好只有Stop是做到了這一項)
未來所有需要初始化的數值,由於初始化不會太擔心競態條件,因此你可以改為Local Variable,而把本尊都留在Event Case,讓他觸發時會記得去更新Control的外貌以及正常發動自動跳回(latch)行為。

[2]上述項目確認過後,就可以把Stop改回Value Change觸發事件。
a.按鍵Value Change皆會觸發事件,b.事件觸發後皆能正常自動跳回(latch),c. Control外觀皆會被正常更新。

[3]事件觸發後,改為送出True。因為前兩項已經確認了沒問題的情況下,你可以放心地讓兩種Value Change都是自動送True。
不用特別再拉New Value這一類的數值來送。

除非你有一個Control要觸發"兩個以上"的"含事件while迴圈",否則上述用法都可以全面性的使用。
基本上我後來的程式都是
a.本尊丟在事件Value Change Case裡面,b.暫時性使用Local Varible (後用c與d);
c.使用shift register把資料記錄在本迴圈,d.用notifier或queue把資料傳遞給其他迴圈

我程式部分改的不多,還有問題的話要請教其他高手




2017-5-3 計算機程式試寫 (LabVIEW360 Ming-Yen 2013).vi

MingYen42860.4583217593