当我在VxWorks Real Time Targets环境下使用多个Wait on IRQ节点时,为何会得到假的返回值?主要软件: Driver Software>>NI-RIO主要软件版本: 主要软件修正版本: 次要软件: 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 最近更新: 10/30/2008 文档编号: 4CEFMFLX |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
