当控制器重新启动以后,startup EXE在实施终端上无法自动启动。
硬件: Compact FieldPoint>>Controllers, Compact FieldPoint>>Controllers>>cFP-2120, Compact FieldPoint>>Controllers>>cFP-2000, Compact FieldPoint>>Controllers>>cFP-2010, Compact FieldPoint>>Controllers>>cFP-2020, Compact FieldPoint>>Controllers>>cFP-2100, Compact FieldPoint>>Controllers>>cFP-2110, Compact FieldPoint>>Controllers>>cFP-2200, Compact FieldPoint>>Controllers, CompactRIO>>Controllers>>cRIO-9002, CompactRIO>>Controllers>>cRIO-9004
问题: 我有一个部署在实时系统控制器上的设置为 startup 的EXE。当我重新启动控制器的时候,这个EXE似乎根本不运行,这可能是什么原因引起的?
解答: 可能有很多原因会导致,已经设置为startup的EXE在重新启动实时控制器的时候无法自动运行。下面列出了一些可能会导致这种现象的原因:
▪ Real-Time应用程序设置成 startup 应用程序。这个可以在下图所示的项目浏览器中进行设置。
- 一旦将应用程序设置为startup,Labview将会询问您是否想重新启动目标控制器,当点击确定重启以后,我们的应用程序才会下载到目标控制器中。
- 有些实时控制器有一个dip开关,这个开关用来控制“NOAPP”的状态。有过这个开关被使能了,Labview Real-Time系统将会自动禁止startup exe程序的运行。这个开关的位置可以在控制器的说明书中找到。
- 如果控制器被设置成从DHCP服务器获取IP地址的状态,那么只有在当控制器连接到网络的情况下exe程序才会执行。如果网线连接被断开,那么当实时控制器重新启动以后就会导致,startup exe无法自动运行。这是因为控制器在搜寻网络,还没有运行exe程序。当控制器没有连接到网络的时候,控制就无法获取IP地址,所以exe程序一直不能启动。如果系统在没有网络的情况下,一定要设置成自启动的状态,您可以按照下面的步骤设置成静态的IP地址:
- 在MAX中检测到远程系统。在远程系统控制器的网络设置(Network Setting)标签页中,将“如果TCP/IP连接失败挂起系统”选项设为禁用。
- 为远程的控制器指定静态IP地址,选择编辑IP设置(Edit IP Setting),在远程控制可能断开网络连接的时候,不要使用DHCP服务器。
- 重启远程系统。
现在无论远程控制是否连接到网络,在控制器重启的时候startup exe都会自动运行了。
在目标实时控制器的根目录下有个叫做NI-RT.ini的配置文件,里面包含了配置控制器自启动的配置信息。您可以通过FTP连接到远程实时控制器,然后打开这个配置文件,查看“RTTatget.LaunchAppAtBoot" 这个项是否已经被设定成了“TURE”状态。
也存在这样的情况,就是startup EXE确实已经在运行了,但是程序内部可能发生了一些错误,导致无法输出或者读取数据。在这种情况下,最好注意观察控制器的user LED指示灯的状态,看是否每隔1秒闪烁一次。这个可以让您知道EXE是否正在运行。在一些情况下,远程的执行程序需要经过很长的时间才能开始运行。如果不能立即看到系统运行指示灯在闪烁,请不要着急,等待4-5分钟,如果应用程序还没有执行,再寻找问题的其他原因。
相关链接:
附件:
报告日期: 10/17/2006
最近更新: 07/05/2011
文档编号: 42GD4FZ
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.