迴圈讀到訊號停止問題

我作的這個是RS-232與LABVIEW之間的溝通控制,控制馬達行走方向和感應紅外線的程式,一開始送訊號,馬達前進同時紅外線偵測,然後一直前進偵測目標物,直到偵測到目標物迴圈停止(Stop if true),再送訊號給馬達停止,現在就是,紅外線有偵測到目標物,但是它還是一直執行迴圈內的事情(一直前進偵測),應該是偵測到目標物停止迴圈, 進行下一步的動作才對,不知有更好的建議嗎!        Basic Serial FrontWrite sync.vi

先請教您幾個問題

1. write & read string 是控制馬達的指令嗎?

2. 你說同時紅外線偵測,那紅外線又是怎麼偵測的呢?

3. read string 的輸出字串是什麼?

[QUOTE=dennisjhou]我作的這個是RS-232與LABVIEW之間的溝通控制,控制馬達行走方向和感應紅外線的程式,一開始送訊號,馬達前進同時紅外線偵測,然後一直前進偵測目標物,直到偵測到目標物迴圈停止(Stop if true),再送訊號給馬達停止,現在就是,紅外線有偵測到目標物,但是它還是一直執行迴圈內的事情(一直前進偵測),應該是偵測到目標物停止迴圈, 進行下一步的動作才對,不知有更好的建議嗎!        Basic Serial FrontWrite sync.vi[/QUOTE]

依照您的題意幫您修改了程式,您試看看

Basic_Serial_FrontWrite_sync_1.vi

[QUOTE=ancle]

[QUOTE=dennisjhou]我作的這個是RS-232與LABVIEW之間的溝通控制,控制馬達行走方向和感應紅外線的程式,一開始送訊號,馬達前進同時紅外線偵測,然後一直前進偵測目標物,直到偵測到目標物迴圈停止(Stop if true),再送訊號給馬達停止,現在就是,紅外線有偵測到目標物,但是它還是一直執行迴圈內的事情(一直前進偵測),應該是偵測到目標物停止迴圈, 進行下一步的動作才對,不知有更好的建議嗎!        Basic Serial FrontWrite sync.vi[/QUOTE]

我說一下 write 是,我給它一個訊號ASCII碼"A",馬達就前進,read string 是紅外線讀取是否偵測到目標物,紅外線有偵測到目標物,然後傳ASCII碼給LABVIEW,輸出N,大概是這樣的流程,我嘗試用你修改過的程式,還是一直在作迴圈內的動作,(內圈有偵測到是呈現 T的,但是外圈Stop一直都是呈現 F的,所以沒有辦法停止,進行下一步驟),還是要謝謝你的建議,我剛剛發現解決了,就是把外圈的Loop Condition跟read先連結起來,就可以了(感應到東西就停止)Basic_Serial_FrontWrite_sync_2.vi

還有一個存檔的問題,就是輸入的ASCII碼存檔之後(在Write欄輸入ASCII碼),再開的話,之前輸入的碼都不見了啊,是哪裡要調嗎還是不能存啊,給個建議?[/QUOTE] dennisjhou38964.6703935185

[QUOTE=dennisjhou]我說一下 write 是,我給它一個訊號ASCII碼"A",馬達就前進,read string 是紅外線讀取是否偵測到目標物,紅外線有偵測到目標物,然後傳ASCII碼給LABVIEW,輸出N,大概是這樣的流程,我嘗試用你修改過的程式,還是一直在作迴圈內的動作,(內圈有偵測到是呈現 T的,但是外圈Stop一直都是呈現 F的,所以沒有辦法停止,進行下一步驟),還是要謝謝你的建議,我剛剛發現解決了,就是把外圈的Loop Condition跟read先連結起來,就可以了(感應到東西就停止)[/QUOTE]

SORRY 再請教幾個問題

1. 紅外線有偵測到目標物 read string 輸出的字串是什麼呢?  輸出訊號 ASCII碼"N"嗎?

Basic_Serial_FrontWrite_sync_2.vi

2. 那紅外線沒有偵測到目標物 read string 輸出的字串又是什麼呢?

3. 要馬達停止,那又要輸入什麼訊號? 

JD38965.5361111111

[QUOTE=JD]

[QUOTE=dennisjhou]我說一下 write 是,我給它一個訊號ASCII碼"A",馬達就前進,read string 是紅外線讀取是否偵測到目標物,紅外線有偵測到目標物,然後傳ASCII碼給LABVIEW,輸出N,大概是這樣的流程,我嘗試用你修改過的程式,還是一直在作迴圈內的動作,(內圈有偵測到是呈現 T的,但是外圈Stop一直都是呈現 F的,所以沒有辦法停止,進行下一步驟),還是要謝謝你的建議,我剛剛發現解決了,就是把外圈的Loop Condition跟read先連結起來,就可以了(感應到東西就停止)[/QUOTE]

SORRY 再請教幾個問題

1. 紅外線有偵測到目標物 read string 輸出的字串是什麼呢?  輸出訊號 ASCII碼"N"嗎?

Basic_Serial_FrontWrite_sync_2.vi

2. 那紅外線沒有偵測到目標物 read string 輸出的字串又是什麼呢?

3. 要馬達停止,那又要輸入什麼訊號? 

紅外線有偵測到目標物 read string 輸出的字串是ASCII碼"N",沒有偵測到,它是一直判斷進行迴圈的,直到偵測到迴圈停止,輸出的字串是ASCII碼"N",馬達停止,我是給它ASCII碼"K",大概是這樣的.(那些ASCII碼都是自己設定的)[/QUOTE] dennisjhou38967.5957638889

[QUOTE=dennisjhou]

紅外線有偵測到目標物 read string 輸出的字串是ASCII碼"N",沒有偵測到,它是一直判斷進行迴圈的,直到偵測到迴圈停止,輸出的字串是ASCII碼"N",馬達停止,我是給它ASCII碼"K",大概是這樣的.(那些ASCII碼都是自己設定的)

[/QUOTE]

依你所敘述的內容,我解讀為;當紅外線在沒有偵測到目標物時 ,它是沒有輸出的字串的.

以下範例您參考看看.

Example.vi