NI-CAN 1.5版本中错误代码的改动



主要软件: Driver Software>>NI-CAN
主要软件版本: 2.3.2
主要软件修正版本: N/A
次要软件: N/A

问题:

我用1.5版本之前的NI-CAN开发了一个CAN应用,但是在更新到最新版本的CAN驱动后我的应用不工作了。当我尝试重新编译我的应用时,我收到了类似这样的错误信息——NC_ERR_TIMEOUT 没有被定义。 为什么我的错误处理在新版本的NI-CAN 中不再工作了?



解答:

随之NI-CAN 1.5版本的发布,被回调的错误代码也已经被更新。

当你的程序要在错误簇中评估错误代码,在新驱动版本下的程序就不再能够适当地作出响应。以下是可以让你的应用在新驱动版本下正常工作的两个方法。

 

1     更新你的应用从而使用新的错误代码

2     这是一个相对比较好的解决方法,因为它能使你的应用达到当前NI-CAN所要求的标准。这是你想继续推动NI-CAN的发展,让NI-CAN不再用旧的错误代码去编译头文件的唯一方法。

附件Errors.txt包含了对错误代码更改的解释,它可以被用来帮助你的应用和当前错误代码的转换。

 

3     配置NI-CAN驱动从而使用原始错误代码

NI-CAN能够恢复旧错误代码。这个解决方案仅适用于现有的可执行文件,因为NI-CAN的头文件不再包含使用旧错误代码编译所需的定义。恢复到旧错误代码方法是要依赖于NI-CAN在系统中的版本。

NI-CAN 1.51.5.11.6

NI-CAN的安装目录下有一个小程序(StatusEx.exe)可以将NI-CAN驱动(ver. 1.5, 1.5.1 or 1.6) 的输出错误从新版本向之前一个版本进行转换。这个程序必须以以下命令形式调用

StatusEx –L

让驱动以NI-CAN 1.4.2(或更早版本)的形式写出

StatusEx –D

让驱动以NI-CAN 1.5版本作为默认格式写出

通过StatusEx所做的改变是永久性的,所以即使电脑reset,在StatusEx –D被调用前旧的代码仍然会被使用。

NI-CAN 2.x:

NI-CAN 2.0 引入了一个不同的方式来修改错误代码格式。你可以在Windows里面直接找到这个文件nicanopt.ini. [REVERSESTATUS_OPTION] 在这个文件中并且REVERSESTATUS  会被设为OFF状态。把它设为开启状态将会把错误代码格式改成旧格式。 你要确保关掉了所有的NI-CAN 应用 并且再次打开来看一下改变的错误代码格式。

 

 



相关链接: KnowledgeBase 30RFM8HR: How Do I Know What the NI-CAN Error Codes Stand For?

附件:


Errors.txt - Errors.txt



报告日期: 07/12/2001
最近更新: 08/01/2016
文档编号: 2BBD8JHR