<求救>有能改變優先順序的方法嗎??

各位大大~大家好

小弟近日為了做labview的系統與PLC整合而傷透腦筋。問題如下:

近來我寫了一個有關Labveiw與PLC做結合的程式,此程式包涵了許許多多大小不一的程式匯聚而成,而在單一程式作業方面是沒什麼問題的,但只要把這些程式和連接PLC的程式整合在一起,如果利用while迴圈的話,其它程式是沒什麼大問題~但連接PLC的程式就會執行的很慢。為此我也考慮用過子vi去試~但結果並無多大的改變,不知是否有其它方法能改變主程式中之某特定程式的優先順序,也就是說不管其它程式執行的如何~只要我所定的程式(優先順序較最高)一動作就能立即反應~而不須等其它程式執行完一遍後才又從頭來,讓此小程式永遠處於主動狀態。由於小弟在此方面的知識尚嫌不足,希望有過此經驗的大大們能分享你們的解決之道。謝謝....對了~我是利用VISA來與PLC做連結~如圖

mikulu38802.4944675926

mikulu

FYI~~~

SetCurrentProcessPriority.vi

使用Sequence Structure無法改變程式流程,可以參考利用State Machine的順序控制方式.

另外,提供以下幾點建議:

1)儘量給予While Loop停止的條件,避免利用功能列上的Abort Execution按鈕.

2)使用VISA Configure Serial Port.vi時,應該只要在每次執行程式前,執行一次就可以,不需要一值重複執行.VISA Close也是一樣.

![](upload://2FflBLKE4o5Os6uR9E5aip3aJzS.png)

3)在While Loop內,利用Wait Until Next ms Multiple,Wait (ms)或在7.1以上版本使用Time Loop,以避免系統資源完全被While Loop所佔據.