03-16-2009 06:50 PM
Hi everybody,
I am collecting data using a 9074 Rio, and I am currently writing data to 9802 SD cards. I now want to write a copy of all data into a network storage drive as well. I believe the network drive is ftp accessible. Is there a way to access the network drive from the Rio and write to it?
Thanks a lot!
03-16-2009 11:36 PM
Hai,
Its possible. since the network drive has ftp capability you can use the ftp vi's from internet toolkit to transfer the data from SD card. But one constraint is if the file that is being transferred is too large the the memory resource will be locked FTP thread and you cannot perform write to the card until the transfer completes. I havent used this particular SD module but some other usb drive in which i observed this. So transfer the data ensuring that no write will be done at that time.
Feel free to post for any queries.
03-17-2009 12:55 PM
Thanks JK.
I will need to write to the storage drive at the same time as writing to the SD cards. If this will delay the writing to the SD cards, then is there another way of doing this at all ? (Not necessarily with ftp)
Is there a better method than a network storage drive? Maybe another kind of hard drive?
Also, does any body know if writing to both the SD cards will cause a similar delay - i.e. if writing to both cards is slower than writing to just one ?
Thanks a lot!
03-17-2009 03:09 PM
I don't think there's a way to do what you want. FTP only transfers complete files, so you would need to finish writing your file before copying it to the network, which means you would not be able to write to the network drive concurrently with your SD card. I don't know of any way to mount a network drive on a cRIO. You could write a simple application that would accept data from the cRIO over TCP/IP and write it to the network drive, then run that program on a networked PC, which would give you almost the results you want.
What do you mean by a "better method than a network storage drive"? What exactly are you trying to accomplish? Why do you need two concurrent copies of the same data, one on the network and one on the SD card? Can your application copy files from the SD card to the network once the files are complete?
03-17-2009 10:47 PM - edited 03-17-2009 10:48 PM
Hai,
FTP transfer and simultaneous write to SD slows down all the activities.
One other method is to have a tcp/ip loop continuously transferring the data to other system where a client resides to receive the data and reformats to a file [suggested in the previous post too]
There are headless [without displays] systems that can run LabVIEW exe without any trouble and in the size of the network drive!!!! You can run an application [client] that will receive the data from cRIO and dump the data within itself. This will the possible solution if you think having a PC as a overhead.
03-17-2009 11:41 PM
nathand wrote :
What do you mean by a "better method than a network storage drive"? What exactly are you trying to accomplish? Why do you need two concurrent copies of the same data, one on the network and one on the SD card? Can your application copy files from the SD card to the network once the files are complete?
The Rio will be used to collect data from instruments on a portable weather tower that will be deployed in hurricanes. The Rio will operate on its own, without a computer or a network.
The reason for concurrent storage is for redundancy of data (client's requirement), therefore writing to two different types of storage.
I noticed that writing the same data concurrently to both SD cards causes a delay. Writing to a single SD card causes no delay in the execution of the loops. I don't know if this is normal or expected.
I am going to give what both of you said a shot and post back with the results. In the meantime, I do appreciate any tips or suggestions. Thanks!
03-21-2009 02:49 PM
Does anybody know if writing the same data concurrently to both the SD cards in the 9802 module causes a delay in the execution of my VI loops?
When I try writing to both SD cards I notice a delay that I don't see when writing to just one. I don't know if this is expected or if has to do with my program. Thanks!
03-23-2009 12:27 PM
03-23-2009 01:07 PM
The timed loop is supposed to execute at a period of 200ms or 5 hz, but when it tries writing to both SD cards it slows down to below 5 Hz. After a few hours, it lags by a minute or so.
Feedback on the suggestions in the previous posts:
I found that it is indeed possible to do what I was attemtping. I had one VI running on the Rio that continuosly wrote data to one SD card AND the onboard memory (note: this does not seem to cause a delay unlike writing to both SD cards), in the form of segmented files. Then I had a second VI running continuously on the Rio that FTP'd into the onboard memory and transferred every complete file to the network drive and deleted it from the onboard memory (thus freeing up the onboard memory). This has been working fine without a delay.
What I learnt is to try to avoid concurrent storage if possible as that seems to slow the loops down, and instead try to write to a single location from the main VI. For concurrent storage, using a FTP Vi to transfer files to a new location does not slow the primary data acquiring VI. I think I am going to go with this for my application.
Thanks a lot for the help, everybody! I appreciate it. I will post back with more feedback soon.