更換登入信箱  | 未收到確認信  | 忘記密碼  | 註冊  | 登入
|
|

登入‧會員服務
LabVIEW轉檔
論壇主頁
草稿 (0)
星號標記 (0)
最新主題
私人消息
論壇控制台
問問題
找答案
 LabVIEW

 LabVIEW Job

 硬體

 PLC

 PAC

 CAD

 嵌入式系統

 Matlab

 .NET

 C

 平行運算

 資料庫

 Web

 Orz

 產業消息

 站務

 閒聊八卦

 其他程式設計

聯絡我們
贊助LabVIEW360
按鈕跟slide作同步連動輸入 - LabVIEW360論壇
LabVIEW作業習題研討區
LabVIEW360論壇 : LabVIEW : LabVIEW作業習題研討區
  按鈕跟slide作同步連動輸入
Tags: 連動 控制權
回覆主題發表新主題
   收藏本文  我的知識庫
推文
4 網友認為
有用文章
2 個人遇過
相同問題

作者
信息 << 上一主題 | 下一主題 >>
Eternal60333
新手
新手
頭像
[尚無外包接案履歷]
 已通過行動電話認證

註冊時間: 2016/12/23
LabVIEW: LabVIEW 2011
作業系統: Others
居住地區: 基隆市
發表: 2
本文分級:5
網友分級:5
  發送私人消息
發表日期: 2017/1/02 at 12:47pm | IP已記錄
軟體環境:LabVIEW 2011、Others
1樓  引用發文

題目要求按鈕跟slide都可以選擇gauge檔位 並且同步顯示  但我怎麼做按鈕跟slide都會有一個去搶奪另一方的控制權
返回頂部
↓ 滑鼠左鍵測試器 ↓
 
MingYen
Senior Member
Senior Member
頭像
[尚無外包接案履歷]


註冊時間: 2015/6/03
LabVIEW: LabVIEW 2013
作業系統: Windows 7
居住地區: 台北市
發表: 171
本文分級:5
網友分級:4.839416
  發送私人消息
發表日期: 2017/1/03 at 2:52pm | IP已記錄
軟體環境:LabVIEW 2013、Windows 7
2樓  引用發文

這個問題有兩重,第一重是所謂搶奪控制權問題
你沒有把case 2的程式碼秀出來,這樣是沒有人有辦法幫你的,但是我應該是有猜中。

推測原因是Case 1與Case 2妳都使用了log2 X函數,這樣是不合理的。case 1應該要翻過來使用2^n函數。 (如下圖)

分析過程,
[a] 增加每圈顯示用Indicator Slider 2
嘗試理解程式是否是競態條件所造成。給予不同的Shift Register initialized Value,發現問題的行為數值變化仍幾乎相同。
[c] 發現只建立Case1的時候,表面上事情沒有問題,但是使用換算函數已經不合理。
[d] 建立Case 2後,似乎在兩個數值之間跳,這會讓人想去查Case 2,但問題其實在Case 1。

[e] 開啟HighLight Execution,可以看出就只在2與31兩個數值之間跳。根據一些相關的數學特性,發覺到這可能是數學問題,因此才追溯到Case 1使用的函數。

此版本Slide -> Array已經完全正常。但是Array -> Slide還會有按鍵問題。因為Boolean Array上面有新按鍵的時候,是以「新按下鍵」+「舊按下鍵」的狀態被換算,這裡應該要是僅有「新按下鍵」才是真正需要的按鍵才對。





Eternal60333 wrote:
題目要求按鈕跟slide都可以選擇gauge檔位 並且同步顯示  但我怎麼做按鈕跟slide都會有一個去搶奪另一方的控制權


[FP]1.vi收藏此檔案

icon版本:13.0
版號:318799872
元件數:5
前景圖:[FP]
背景圖:[BD]
轉檔



Edited by MingYen on 2017/1/03 at 3:05pm
返回頂部
↓ 滑鼠左鍵測試器 ↓
 
MingYen
Senior Member
Senior Member
頭像
[尚無外包接案履歷]


註冊時間: 2015/6/03
LabVIEW: LabVIEW 2013
作業系統: Windows 7
居住地區: 台北市
發表: 171
本文分級:5
網友分級:4.839416
  發送私人消息
發表日期: 2017/1/03 at 3:24pm | IP已記錄
軟體環境:LabVIEW 2013、Windows 7
3樓  引用發文

偵測新舊按鍵的差異,修改Case 2

大致上初步的Boolean Array的功能開始作用了,但是按鍵往後面的檔位按之後,只能回上一個等級的檔位

推測跟換算方式中,使用了許多I32的Conversion有關,造成了換算過程有東西被捨去等情況。


 

[FP][BD]2.vi收藏此檔案

icon版本:13.0
版號:318799872
元件數:5
前景圖:[FP]
背景圖:[BD]
轉檔

返回頂部
↓ 滑鼠左鍵測試器 ↓
 
MingYen
Senior Member
Senior Member
頭像
[尚無外包接案履歷]


註冊時間: 2015/6/03
LabVIEW: LabVIEW 2013
作業系統: Windows 7
居住地區: 台北市
發表: 171
本文分級:5
網友分級:4.839416
  發送私人消息
發表日期: 2017/1/03 at 4:55pm | IP已記錄
軟體環境:LabVIEW 2013、Windows 7
4樓  引用發文

修改之後,請參閱此最終版本,把當前不必要的部分都移除了

可以參考此程式簡潔有序的想法,以及一些特別的subVI的應用方式,來建構你最終的應用專案。
[1] Case迴圈有default case,便於未來做各種計時、計數、遞增、確認。這個default要非常簡潔,可以讓讀者看出你的每一個shift register隨時間的出和入,也就是是否變化。
[2] Case 1和Case 2明確簡潔,當發生什麼事件,便會造成誰改動了誰的數據,而誰不改變。

[3] 因為避免吃掉太多資源,放入1ms等待,適合人機介面。
[4] 承[3]之影響,基於快速更新顯示數值,以及程式行為簡明的需求,迴圈內除了每次讀入新的Boolean Array與Slider Controller數值外,跑到迴圈要結束時,一率會在Local Variable更新一次。這並非必要的作法。但可以告訴你「這個時間點」一定會更新人機介面一次。
[5] 迴圈前有Local Variable初始化。這也是對應[4]的習慣。在每個階段結束前更新數值。這並非必要的作法。但可以告訴你「這個時間點」一定會更新人機介面一次。

[6] 使用Exclusive OR (XOR),挑出兩組Boolean Array之間的差異處。搭配Case 2,就可以知道,採用新的那個差異按鈕,作為選擇鍵。如果點選已經亮的Boolean,則此處亦為那個差異按鈕,因此仍舊被選擇。
[7] 使用Or Array Elements,快速辨識是否有發現任何的XOR元素。

這個例子是很好的Event Structure(事件結構)題目,未來可以學習使用如何用事件結構達成。
 


[FP][BD]3.vi收藏此檔案

icon版本:13.0
版號:318799872
元件數:5
前景圖:[FP]
背景圖:[BD]
轉檔



Edited by MingYen on 2017/1/03 at 4:58pm
返回頂部
 
Eternal60333
新手
新手
頭像
[尚無外包接案履歷]
 已通過行動電話認證

註冊時間: 2016/12/23
LabVIEW: LabVIEW 2011
作業系統: Others
居住地區: 基隆市
發表: 2
本文分級:5
網友分級:5
  發送私人消息
發表日期: 2017/1/04 at 9:00am | IP已記錄
軟體環境:LabVIEW 2011、Others
5樓  引用發文

先感謝您 因為這是我第一次接觸labview 所以可能有很多表達的地方不清楚 多包涵
在這一次的例題裡中我發現我對元件的了解還不夠多
您的講解非常清楚 最後還是再次感謝您  
如果後續還有問題還請您多多指教了 謝謝

Edited by Eternal60333 on 2017/1/04 at 9:00am
返回頂部
 
MingYen
Senior Member
Senior Member
頭像
[尚無外包接案履歷]


註冊時間: 2015/6/03
LabVIEW: LabVIEW 2013
作業系統: Windows 7
居住地區: 台北市
發表: 171
本文分級:5
網友分級:4.839416
  發送私人消息
發表日期: 2017/1/04 at 11:37am | IP已記錄
軟體環境:LabVIEW 2013、Windows 7
6樓  引用發文

互相學習都會有收穫~~

我學到 2^n -> I32 -> Number to Boolean Array
這實在是對我太有幫助了
我也要感謝您 : )

Eternal60333 wrote:
先感謝您 因為這是我第一次接觸labview 所以可能有很多表達的地方不清楚 多包涵
在這一次的例題裡中我發現我對元件的了解還不夠多
您的講解非常清楚 最後還是再次感謝您  
如果後續還有問題還請您多多指教了 謝謝
返回頂部
 

關鍵字
關鍵字:(新增 )
連動 控制權
搜尋本站:





如果您想回復本文章您必須先 登陸  登入
如果您還沒有註冊您必須先 註冊

  回覆主題發表新主題
列印預覽 列印預覽

不可以 在本版發表新主題
不可以 在本版回復主題
不可以 在本版刪除您的發言
不可以 在本版編輯您的發言
不可以 在本版創建投票
不可以 在本版投票



Powered by Web Wiz Forums version 7.7a
Copyright ©2001-2004 Web Wiz Guide

頁面執行時間為 4.4297 秒。
 列印格式
|
 寄給朋友
|
 加到最愛
|
 意見回饋
|
 加到知識庫
|
 開啟知識庫
|

  |  我的最愛 隱私權保護政策 免責聲明 廣告刊登 系統整合 合作提案 聯絡我們 電話: 0988-002692

  您可以在以下的頻道跟LabVIEW360互動:
  Facebook: https://www.facebook.com/labview360
  Twitter: https://twitter.com/LabVIEW360
  Youtube: https://www.youtube.com/user/Labview360com