前輩們大家好~
今天給老師驗收 他臨時要改功能.
我改不出來 上來向大家討教.
我現在要做讀寫功能合併.
也就是說 把COM的寫和讀寫在一起.
常態之下 處於接收資料.
寫的方面 則是 用按鈕控制.
當需要傳資料的時候 按下按鈕 就傳資料.
下面是小弟試著寫出來的程式.
COM PORT-1.vi
下面是錯誤訊息.
只要我一執行程式.
過一陣子 就出現 請大家指點我一下.
謝謝~
前輩們大家好~
今天給老師驗收 他臨時要改功能.
我改不出來 上來向大家討教.
我現在要做讀寫功能合併.
也就是說 把COM的寫和讀寫在一起.
常態之下 處於接收資料.
寫的方面 則是 用按鈕控制.
當需要傳資料的時候 按下按鈕 就傳資料.
下面是小弟試著寫出來的程式.
COM PORT-1.vi
下面是錯誤訊息.
我用同一台電腦做讀與寫的動作,若我選擇不寫入,則我的read物件的byte count就要設成0,因為若沒設成0,而設成任一數值,則因為沒有寫入的動作,而又要叫read去接收資料,自然就會因接收不到資料而產生您所出現的error code

[QUOTE=IN0819]這是原始程式.
2009-09-30_113835_ATRQ8BSRX00M(2).vi
我想請教的是.

桃紅色 框起來的地方.
是怎麼做出來的?
謝謝~
[/QUOTE]
將case 切到true , 再把滑鼠對到"亮燈"按右鍵.....如下圖
[QUOTE=LG]
我用同一台電腦做讀與寫的動作,若我選擇不寫入,則我的read物件的byte count就要設成0,因為若沒設成0,而設成任一數值,則因為沒有寫入的動作,而又要叫read去接收資料,自然就會因接收不到資料而產生您所出現的error code

[/QUOTE]
您第一次po上來的程式,若您跑燈來看的話,它會先跑flat裡面的物件,所以當visa在read資料時,因為接收不到資料,就會出現timeout(您所出現的error code);至於您左下角的while loop因為若沒有按下"stop",它是不會離開while loop的,所以您用case來決定要由write buffer或write buffer2送資料,也就不會執行,等到您按下"stop"後,即使把要傳的資料丟出來了,但接收的程式碼(就是整個flat內的物件)也早就做完了.....
但是,即使您再啟動程式前,就先將"stop"按下,它也還是會出現error, 因為"資料流的觀念",程式仍會先執行flat內的程序,才會輪到做write的動作.....
您把接線的順序稍微對調一下.....
下面附上我直接用您的程式修改的流程順序,但您所使用的物件,我並沒有全部用上,另外,我測試的結果,delay time設成200,可能不太夠。我做的實驗是從500開始,程式執行完立刻再執行一次,一直做,修正將delay time改成700才"稍微"好一點,
COM_PORT-2 Folder.zip.............用您的程式修改的(lv8.5)
COM_PORT Folder.zip..............用昨天的範例修改的(lv8.5)
[QUOTE=LG]
您第一次po上來的程式,若您跑燈來看的話,它會先跑flat裡面的物件,所以當visa在read資料時,因為接收不到資料,就會出現timeout(您所出現的error code);至於您左下角的while loop因為若沒有按下"stop",它是不會離開while loop的,所以您用case來決定要由write buffer或write buffer2送資料,也就不會執行,等到您按下"stop"後,即使把要傳的資料丟出來了,但接收的程式碼(就是整個flat內的物件)也早就做完了…
但是,即使您再啟動程式前,就先將"stop"按下,它也還是會出現error, 因為"資料流的觀念",程式仍會先執行flat內的程序,才會輪到做write的動作.....
您把接線的順序稍微對調一下.....
下面附上我直接用您的程式修改的流程順序,但您所使用的物件,我並沒有全部用上,另外,我測試的結果,delay time設成200,可能不太夠。我做的實驗是從500開始,程式執行完立刻再執行一次,一直做,修正將delay time改成700才"稍微"好一點,
COM_PORT-2 Folder.zip.............用您的程式修改的(lv8.5)
COM_PORT Folder.zip..............用昨天的範例修改的(lv8.5)
[/QUOTE][QUOTE=LG]
您看看,我寫了註解在程式碼裡面…
[/QUOTE]

[QUOTE=LG]
您看看,我寫了註解在程式碼裡面…
[/QUOTE]

[QUOTE=LG]

[/QUOTE]有辦法像這個範例一樣?
只要一輸出完.
按鈕就 回到原本的狀態嗎?
2009-09-30_113835_ATRQ8BSRX00M(2).vi
讀取的地方...
好像有蠻大的問題.
因為程式是一直持續執行的.
但是輸入如果的時間點 如果不是在他讀取的時候.
資料就會不見 也就不會顯示在螢幕上了.
有辦法等有資料輸入以後 在往後跑嗎?
[QUOTE=SCOTT7O]
有辦法像這個範例一樣?
只要一輸出完.
按鈕就 回到原本的狀態嗎?
2009-09-30_113835_ATRQ8BSRX00M(2).vi
讀取的地方…
好像有蠻大的問題.
因為程式是一直持續執行的.
但是輸入如果的時間點 如果不是在他讀取的時候.
資料就會不見 也就不會顯示在螢幕上了.
有辦法等有資料輸入以後 在往後跑嗎?
[/QUOTE]
前輩~
我已經 成功的 CREATE 出 LOCAL VARIABLE了.
但是 要怎麼拉到FALSE的選項去用.
因為CREATE 出 LOCAL VARIABLE 他是出現在TRUE裡.