當我在VxWorks Real Time Targets環境下使用多個Wait on IRQ節點時,為何會得到假的回傳值? 主要軟體: Driver Software>>NI-RIO主要軟體版本: 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狀況 這個問題只會發生在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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
