NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

工具機人機介面

我用ni DAQMX卡做資料擷取,又想做兩個工具機的人機介面,所以我總共做3個while loop,最底下的2個while loop是工具機的loop,因為工具機有很多指令,我原本想說做stacked sequence來讓他照順序的執行各個透過rs232與機器溝通的指令,由於怕用while loop造成rs232一直再傳送指令,所以做一個case structure來使傳送rs232的指令有開關,並且把開關設為switch until released,可是這麼做,我第一次按開關來傳輸rs232,可以成功接收到機器的傳回值,可是再按一次開關來傳輸rs232,就無法接收到機器傳回來的code,不知道是那個環節出問題,請教各位大大解答
0 積分
1 條訊息(共 7 條)
5,465 檢視
Hi:
 
我看了一下您的程式,您在下面的部分RS232 在第一次程式執行完後,你就已經把visa close了,
所以您第二次跑並沒有再重新OPEN, 因此您第二次就讀不到訊號了.
 
NITW AE JAY
0 積分
2 條訊息(共 7 條)
5,449 檢視
可是如果我不加我圈出來的地方在讀取機器回傳值把visa close, visa read會發生錯誤,還是需要把最前頭的visa serial 移進每個stacked sequence structure才可以解決,可是這樣程式執行會不會很沒效率??每執行一次機器的code就需要重設visa serial
0 積分
3 條訊息(共 7 條)
5,444 檢視
HI
 
你可以嘗試在迴圈上加shift register, 把session傳回來.
就不用一值open的動作了.
 
NITW AE JAY 
0 積分
4 條訊息(共 7 條)
5,437 檢視
聽了大大說我是把visa關掉的原因,所以我把最下面的while loop裡面的溫控計開關裡面讀寫的visa,都通通在最前頭做visa的設定,可是我的開關也只有第一次可以正常讀visa read的值,之後我再按開關visa read的值也是讀不進來,修改如附件
0 積分
5 條訊息(共 7 條)
5,382 檢視

我發現我把最底下的While loop的sequence structures,給移除掉,則讀取visa read都沒有問題,當初我再撰寫sequence structures是想把指令一個一個給它連續跑,若不能用sequence structures的話,難道要做非常多的while loop嗎??這樣不會太吃資源嗎??

0 積分
6 條訊息(共 7 條)
5,375 檢視
不好意思,我解決了,我的寫入visa也要關閉才行
0 積分
7 條訊息(共 7 條)
5,374 檢視