当我使用[c]FP-20xx和[c]FP-AIO-6xx时为什么会收到error33156



硬件: Compact FieldPoint>>Analog I/O Modules>>cFP-AIO-600, Compact FieldPoint>>Analog I/O Modules>>cFP-AIO-610

问题: 我正在我的[c]FP-2020对象上运行一个LabVIEW7.1的VI,这个VI一方面从[c]FP-2020 上的[c]FP-AIO-610的AI通道读取数据,另外一方面在同一个模块中把电流写出到模拟输出端口。我不时会收到错误Error 33156。这个问题为什么会发生,有没有什么解决措施。

解答: 当在一个配备了[c]FP-AIO-600 或者[c]FP-AIO-610模块的[c]FP-20xx控制器上运行嵌入式应用程序的时候,如果应用程序使用了[c]FP-AIO-6xx(FP读取VI或者FP写入VI),并且被更高优先级的线程打断,I/O模块可能会被自己重置并且导致error33156发生。模块重置的原因是看门狗导致的,看门狗在50ms过后还等不到信号量会重启模块的。

对于大部分的场点模拟量IO模块,除了cFP-AI-118之外,会有信号量来确认控制器和IO模块不会同时访问IO模块上的共享内存。如果[c]FP-AIO-6xx等待信号量超过了50ms,它会自己自动重启。IO模块此时不会收到信号量因为控制器此时正在运行优先级更高的线程。

又有这种情况的应用程序通常是因为包含了优先级更好的循环(比一般的优先级高)。他们通常有一些一般优先级的线程来实现IO模块的读取或者写入。解决这个问题的措施是确认优先级高的线程拥有足够的等待时间,这样,一般优先级的线程就有时间可以运行。有些应用程序对于[c]FP-20xx要求有较高的运行密度,此时,使用cFP-21xx系列来运行是一个较好的选择,因为它拥有4倍的处理能力。

但是,对于[c]FP-AIO-600系列,产品型号为189830J和189830K,对于[c]FP-AIO-610,产品型号为188054H, 188054J, 188054K和188054L这个50MS的看门狗超时问题已经解决。


相关链接: Products and Services: NI cFP-2000
Products and Services: NI cFP-2120
KnowledgeBase 3GSCPQSE: Why Does the Real-Time System Manager Have 100% CPU Usage on FieldPoint?
NI Developer Zone Tutorial: Developing a LabVIEW Real-Time Application for FieldPoint
LabVIEW 8.2 Help: Suggestions for Using Execution Systems and Priorities

附件:





报告日期: 05/01/2005
最近更新: 02/26/2015
文档编号: 3L0HGEVE