|
Compact RIO 控制器为了保持数据完整性,有一个内置特性,其中的一个特性就是当USB设备不再出现的时候,控制器会将数据写入到替代USB设备的内部存储空间。
如果你正将你的数据保存到你的USB存储设备,然后移除了它,控制器就会创建一个文件夹名字为U(USB的首字母),然后向这里继续存储数据,相关路径是c:\U\。
若想避免这种行为,你需要写代码来确保只在USB设备可用的时候才存储数据。下面的小段代码是一个实现该需求的范例。
如果指定设备没有出现, Get Volume Info 函数会返回一个错误。为实现我们的目的,我们指定 u:\设备,因为只当有USB设备插入CRIO的时候才会出现 u:\。Get Volume Info 函数返回的错误会传递给写入 Write to Text File 函数(或者任何一个写入文件函数),这就意味着当Write to Text File 函数接收到一个错误的时候,它就不会执行,这段程序就会保证若没有USB存储设备就不会存储数据,一旦又检测到了USB设备也就意味着又出现了u:\,Get Volume Info 函数则不会再产生错误,控制器会继续向USB设备写入数据,
Get Volume Info 函数的错误输出状态也能用于确定当 u:\ 设备不可用的时候该采取什么行动,除了简单的不写入数据。. 具体如何处理以及如何编写代码取决于你自己的应用需求。
|