Home
Support
當我在VxWorks Real Time Targets環境下使用多個Wait on IRQ節點時,為何會得到假的回傳值?
當我在VxWorks Real Time Targets環境下使用多個Wait on IRQ節點時,為何會得到假的回傳值?
主要軟體:
主要軟體版本: 2.3
主要軟體修正版本: N/A
次要軟體: N/A
硬體: CompactRIO>>Controllers>>cRIO-9012, CompactRIO>>Controllers>>cRIO-9014
問題: NI-RIO 2.3搭配LabVIEW 8.5的使用可以支援在單一VI中使用多個Wait on IRQ節點。然而,當我使用CRIO-901x控制器時,會從"Wait on IRQ" 節點得到假的回傳值。這個現象並不會發生在cRIO-9000x或其他Pharlap的Real-Time控制器。這個問題發生的緣由為何呢?
解答: 在LabVIEW 8.2及更早之前的版本,一個host interface VI中只能有一個Wait on IRQ節點。NI-RIO 2.3搭配LabVIEW 8.5的使用可以支援在單一VI中使用多個Wait on IRQ節點。然而,如果應用程式使用多個"Wait on IRQ"節點,同時又發生time-outs的狀況,那麼有時候你會看到"Wait on IRQ"節點會因為其他的節點收到信息而跟著被啟動。這個問題的的另一個特徵是如果你使用多個"Wait on IRQ"節點,而且這些節點在等待不同的IRQs,如果其中有一個發生times out的狀況,你可能會看到當已經timed out的節點最終啟動時,其他的節點有假的回傳值。下面的執行順序會導致一個假的回傳值:
任務A在等待IRQ X時發生一次以上的time out狀況
任務A在等待IRQ Y
IRQ X有回應,接著啟動在等待其他IRQ的任務A
這個問題只會發生在VxWorks Real-Time targets,同時錯誤已經在NI-RIO 2.3.1被修正。
相關連結: KnowledgeBase 4E2GSKLX: List of Bug Fixes for NI-RIO 2.3.1
附加檔案:
報告日期: 08/15/2007
最後更新: 12/09/2007
文件偏號: 4CEFMFLX
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.