http://labviewpro.net/forum_post_detail.php?post=2427&fid=1
你的主vi可以使用state machine的方式,這樣subvi就可以不用event的方式
PS.可以編輯主題為"問題發問"
ancle40813.7752430556你是說將RS232 communication.vi的Even Structure改為state machine?
你的主vi指的當然是Call RS-232,subvi指的是RS232 communication.vi,另外subvi裡的VISA configure和VISA Close建議放到主vi的迴圈外
感謝你的建議,明天試試結果。
http://labviewpro.net/forum_post_detail.php?fid=1&post=2427
根據實測結果,RS232可下可讀,控制還算正常。
但以目前的程式架構,指令下下去需等待250msec,感覺有點慢,不知還有甚麼方式可縮短測試時間?
[QUOTE=pfrhsd9512346]
根據實測結果,RS232可下可讀,控制還算正常。
但以目前的程式架構,指令下下去需等待250msec,感覺有點慢,不知還有甚麼方式可縮短測試時間?
[/QUOTE]
可以把你修改後的架構和程式上傳嗎?
其實光是下command就要250msec,而且在Running.vi下執行此程式,還需要給10msec的時間,才能確保硬體正常動作(總共260msec)。
這個硬體是同事做的一個Relay切換機箱,設計使用RS232傳輸,baud rate為9600,經他測試過確定從電腦下command給硬體,讓Relay切換的時間最快不超過0.1秒(<100msec),差別在他用C寫一個簡單的自動控制程式,而我是用LabVIEW寫。
<span =“apple-style-span” style="color: rgb(68, 68, 68); font-size: 12px; line-height: normal; ">另外我想就算LabVIEW不會比C快,至少Relay切換時間要低於200msec吧,最好低於150msec更佳,但依定要確保能夠正常動作啊!
在程式中就限制250ms了(圖無法上傳?????????)
因為限制在250msec硬體才會正常動作,如果降為200msec或更低,有時候硬體會不理我啊!
你原來的程式不知道WRITE或WAIT 250ms會先執行?

建議改成以下方式,這樣可以測試將250ms調低之後再試看看

3.這樣wait 10ms也可省略

我想我知道原因了,在RS232 communication裡有一個叫"VISA Clear",本來是想說可清除舊有資料,但這功能會拖累RS232的傳輸速度。
感謝各位的建議及幫助!!!