NI 9223 at 1Mhz on a cRIO-9024
Hi All,
I'm trying to use the 9223 module to sample at 1Mhz using User-Controlled IO Sampling.
The 9223 should be able to simultaneously sample 4 channels at 1Mhz (that's why I bought it), but I can't get it above 500khz.
I'm using the "NI 9223 User-Controlled IO Sampling" code from the LabView examples (see attached), which works fine with a sampling period of 2 uSec or above, but at 1uSec I get the attached error.
The example code has a warning saying some cRIO controllers can't keep up with 1Mhz rate of the NI 9223. I'm using a cRIO-9024, but I can't find the relevant specs on sampling at 1Mhz for it. Could this be the problem? This cRIO/module combo was recommended to me by a NI rep with one of my requirements being sampling at 1Mhz, so I hope that's not it...
Anything else I can do to get it to run at 1Mhz (or at least at 750khz)?
Thanks!
Attachments:
NI 9223 User-Controlled IO Sampling (Host).vi 259 KB
NI 9223 User-Controlled IO Sampling (FPGA).vi 128 KB
NI 9233 error msg.png 18 KB
Sorry for the late reply. I decided to install LabView 2013 since the code has obvioulsy changed between versions and I hoped it might solve my problems.
In short, the 2013 host code is also different than the 2011 example code. The 2013 code actually works at 1Mhz. However, it does not graph the data continuously. The 2011 code has the graph inside the while loop, while the 2013 code displays it after it acquired all of the samples (outside of the while loop). The number of samples that it can acquire is limited.
In my application I'll be running code on the FPGA at 1Mhz. It will control a voltage output based on input idependent of the host. However, I also need a continuous display of the data on the host and the ability to data log a couple of seconds at a time at the press of a button. This host code is all working, but times out at the 1Mhz that is required to run the FPGA code.
What I am now considering is putting two versions of the FIFO code on the FPGA. One running in a different loop that runs slower that is used to display the data continously and another one that runs at 1Mhz for data logging that will only gets called occasionally and does not need to be continuous.
I'm not completely happy with that solution however, because I'm used to pausing the graph at will to inspect the data and it will mean rewriting of some code.
I've attached the 2013 FPGA example code and 2011 Host example code. Ideally these would work together at 1Mhz (right now it times out at 76 ticks). Any ideas how to get this to work would be greatly appreciated!
Thanks in advance!
Attachments:
2011 Host code.png 60 KB
2013 FPGA code.png 85 KB
Similar Messages
-
Now I have developed a vehile controller model with LabVIEW so as to run on VxWorks operating system. ( compactRIO cRIO-9024)
And I converted a controller model of labview into *.lvmodel in order to use it as I did with simulink models.
However, converted *.lvmodel was not supported for VxWorks operating system. so after searching for this, I found out that I have to use a custom device.
I am now studying the custom device, but it looks diffcult because I dont have much experience in real-time system.
Here are my questions.
1. Simulation model in VeriStand
Should I convert a labview controller model into *.lvmodel even if I use the custom device in order to run on VxWorks operating system?
If not, what should I do after building a controller model with labview?
2. Operating system
It is silly question. anyway, as long as I run a controller model on compactRIO cRIO-9024, the operating system always has to be set to VxWorks. Is it right?
3. Custom device
This is the most difficult thing. I dont know even what to do. What functions should be inside a custom device template tool? The controller model send output signals to a vehicle model, and receive input signals from a vehicle model.
Thank you in advance.
HognjunHi,
You should post this on the Veristand Forum.
http://forums.ni.com/t5/NI-VeriStand/bd-p/440
Ravi -
Choosing the Right Network Protocol for CRIO 9024 to PXI over Ethernet
We are in the design phase of setting up a CRIO 9024 Embedded Controller to send data captured to a PXIe-8105 Controller over ethernet. The data will be be 2D arrays of double precision. This data will need to be sent to the pxi at the end of each test step. Each step will have different number of channels and sample rates.
For example, Test Step 1 will have 5 channels of Analog inputs that will be sampled at 100,000 KHz for 1 second. This data will be coming from the CRIO FPGA. The data will get post processed by the CRIO 9024 and analyzed for pass or fail metrics. Then, the CRIO controller will send the 2D Array of Data (500,000 data points 5 X 100,000) and the results of all the metrics (a 1D array) to the PXI.
The connection to the PXI will be using Ethernet.
Keep in mind that the PXI will also have to send the CRIO some values to tell the CRIO when to start the test and when the test sequence is complete.
I was thinking TCP/IP would work best because of the 2 way communication needed. But then I was looking at Network Streaming or even using Shared Variables.
If anyone has any ideas or suggestions please please post them.
Spark
CLAD
Test Engineer
Solved!
Go to Solution.Hi,
You could use either. Whichever you are more comfortable with really. The STM method will have slightly less overhead over my XML style of tagging the data but it will be very little given the data size. Probably go with STM as it just has most of the work done for you.
In terms of data size the way you should normally transfer data like this is to flatten to string. If you convert to a string of human readable numbers you will either lose precision, increase size or both. Given that, the string after being flattened will be the same size as the original array anyway so quick calculation based on your previous post 500,000 doubles (8 bytes) is 4 miB (3.8MB)
Cheers,
James Mc
========
CLA and cRIO Fanatic
wiresmithtech.com/blog -
Access deployed project on cRIO-9024
I think this is a fairly simple question, but I just can't find the answer anywhere. Is there a way to access the project that was most recently deployed onto the cRIO-9024 and open that file into LabVIEW? The problem I am having is that the computer where all the code is developed and saved is not the one used during experiments in my lab where the software and hardware is actually needed, and I am hoping there is an easier way to get to the files than just having to copy them all over to the other computer every time I make changes. I'm guessing there is one really simple thing I need to do that I just don't know about, so any help would be appreciated.
Thanks,
MeganHi Megan,
If you are referring to a deployed executable, you cannot open that in LabVIEW. When the executable is built, the block diagram is stripped and turned into lower level code, so that is unfortunately no longer accessible.
Jayme W.
Applications Engineer
National Instruments -
Error on RT Get CPU Load With CRIO 9024 and LV2010
I just try to monitor CPU Load on my CRIO 9024 using LV2010 and i get Error -2233 with RT Get CPU Load.vi
It worked with LV2009 and not anymore ... Someone has some issues ?
Could we enabled/disabled CPU load on target ? how ?Hi silencer,
Thank you for posting on National Instruments' forum.
Can you tell me your version of LabVIEW RT, and NI-RIO drivers please?
I verified the problem with LabVIEW 2010 and a cRIO 9022 and it works.
Can you send another screenshot please?
Best Regards,
Romain P.
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
>> NIDays 2011, le mardi 8 février au CNIT de Paris La Défense -
Hello all,
im trying to program an NI 9403 using labview and crio9024, but first of all i should delete priviously simulated hardwares. but it's somehow impossible caz i can't see these devices in the configuration tab (refer to the attached photo plz), can sb help plz ?
while running the program I get the following error, although the software is installed
Error Code: -63040
NI-RIO: (Hex 0xFFFF09C0) A connection could not be established to the specified remote device. Ensure that the device is on and accessible over the network, that NI-RIO software is installed, and that the RIO server is running and properly configured.
Thanks
Attachments:
MAX.jpg 46 KB
distribution system manager.jpg 29 KBHello AutonomusMode,
this is normal that no moduls are shown on a cRIO system in MAX.
You can see the moduls in your LV project explorer.
What LV Version is in use and in which VI the error happend?
Can you post your project?
Attached a little example project.
dublicate post on this web site
crio 9024-URGENT!
MAX
crio 9024 NI 9403
NI 9403 using FPGA as an input module help?
best regards
Alexander Glasner
AE NIE
Attachments:
9024.zip 37 KB -
I would like to request you to kindly address the following quarries.
1. Using cRIO-9024 serial port, can I read or write data from AFM60 absolute encoder, multi-turn, SSI interface (please see the attachment for detail information about the encoder)?
2. Which type of encoder interface (SSI, TTL/HTL) is compatible with the serial port connection of cRIO-9024 controller?
3. Are there any limitation on choosing the output frequency and resolution (pulses per step) of the encoder? If the answer are yes, what are the suitable ranges of frequency and resolution?
Looking forward to your kind reply. Thanking you.
Regards
Shantanu
Attachments:
afs60_afm60_english.pdf 2298 KBHi Shantanu,
To read and write data from the serial port on a cRIO you access the serial port as a VISA resource, there are serial VISA VIs to read and write data on the serial port.
If you look under the Hardware Input and Output folder in the NI Example Finder, you should find a Serial folder, this contains examples for serial communication.
The serial interfaces on cRIO devices use the RS232 standard, unfortunately as SSI is based on the RS422 standard, you won't be able to directly interface the encoder to the serial port as they are not compatible. You would have to either use a separate interface between the devices or use a digital input module in your cRIO to directly process the encoder data.
To answer your question about frequency, the maximum baud rate for the serial port on the 9072 as listed here is 115200 bps, so this would be the maximum raw data transfer rate for any connected device, the number of steps for your particular encoder is limited by the maximum shaft speed as detailed in its specification.
I hope this is helpful to you, feel free to ask further questions and I'll do my best to answer them.
Regards,
Adam Brown
Applications Engineer
National Instruments UK -
VeriStand 2013 Embedded Data Logger with cRIO 9024
I am using VeriStand 2013 with the Embedded Data Logger on a cRIO 9024. I have noticed that when I first deploy after a complete power cycle, the embedded logger works great - responding immediately to a change in the Log Trigger value. However, If I undeploy and then redeploy the project, the embedded data logger appear to casue issues in the communication between the target and the host. The first symptom of this is that the indicators on the workspace appear to begin to lag significantly. The also affect the response of the boolean control that I have for the log trigger which now will not actually turn off when pushed but will rather only respond many seconds or minutes later. When this happens, the log files are also much longer than the intended period.
This problem only gets worse with further undeploy and reploys. However, when I power cycle the cRIO, the net time i open the workspace everything is working great again with no delays.
Any ideas on what could be causing this issue?Hello Aaron_Smith,
Are you writing to a single file each time? If so then the issue could arise from the file size and the file needing to be loaded into memory each time your redeploy. Try to run the system so that it writes to different files. Also, what is the status of the memory and CPU usage of the device while the application is deployed? Please verify that you are not maxing out the processor or memory as this causes network issues that could result in behavior of this type. Also, would it be possible for you to post a simple example that exhibits the same issue? Please include all files that are necessary to run the system definition.
Wear
National Instruments
Product Support Engineer -
CRIO-9024とNI9401を使ったデジタルパルス生成について
現在、NI cRIO-9024とNI9401、LabVIEW2014を使って、任意の周波数のデジタルパルスを生成するプログラムを作成しています。
サンプルプログラムの PWM Generation.lvproj に少しだけ手を加えただけではありますが、添付画像のような、指定した時間だけONの状態で待機し、その後同じ時間だけOFFの状態で待機するプログラムを作成・実行したところ、低い周波数(1Hz程度)ではきちんと動作したものの、周波数を上げていくと10~100Hz辺りでパルスが出なくなり、1kHzの辺りで待機時間がバラバラなパルスが出るようになってしましました。
試しにNI9401の特殊デジタル構成の特殊モード「パルス幅変調」を使って、1kHのパルスを出力してみましたが、こちらはきれいにパルスを出力できたので、機械側の不調ということではなさそうです。
当方、まだLabVIEWどころか、プログラミングにも慣れておらず、また、このフォーラムで質問させていただくのも初めてですので、足りない情報や、破綻している個所もあるかとは思いますが、どうかご助言いただけたらと思います。
よろしくお願いいたします。
添付:
パルス生成.jpg 84 KB
パルス生成コントロールパネル.jpg 61 KB返事が遅くなてしまい、申し訳ありません。アドバイスありがとうございます!
アドバイスを参考に、リアルタイムのタイミングのパレットにある「次の倍数まで待機」を使い、μ秒単位に設定して組み込んでみましたが、やはり同じような症状になります。信号の乱れは若干減ったように見えますし、10Hz程度なら出力は出来るようになりましたが、100Hzを超えると前回と同じく待機時間がバラバラになってしまいます。
他のリアルタイムタイミングパレットのブロックも使ってみましたがうまくいきませんでした……
添付:
パルス生成 改良後.jpg 89 KB -
Why do I keep getting error -65581 when trying to use a cRIO 9024 and c series modules
I am simply trying to send out a digital high on DIO0 of a 9401 c series module and I get the following error every time.
Error -65581 occurred at Shared Variable in Send True Value Out.vi
Possible reason(s):
CompactRIO: (Hex 0xFFFEFFD3) The FPGA personality currently running on the CompactRIO chassis does not support the RIO Scan Interface in this slot.
This error or warning occurred while writing the following Shared Variable:
\\NRL-CMG-cRIO\NI 9401-1\DIO0
\\170.126.209.52\NI 9401-1\DIO0
Any help would be greatly appreciated.
Nate
Solved!
Go to Solution.NMAYO,
In your project view can you right click on the chassis in the cRIO and make sure that it is set for Scan Mode and not FPGA mode? Also, In the measurement and automation explorer you can check the cRIO and verify that it has Scan Engine Support installed on it. The tutorial below shows how to reformat a cRIO and install software on it, the later steps on software will allow you to check your cRIO.
Reformatting a CompactRIO Real-Time Embedded Controller
Ben Sisney
FlexRIO V&V Engineer
National Instruments -
Problems connecting to cRIO-9024 in MAX
Hello,
I can't see my cRIO in MAX. I have followed instructions on other guides but to no avail. I am using windows 7, LabVIEW 2012, MAX 5.5, I have to latest NI-RIO installed (NI-RIO 13). The cRIO has the correct setup, the status light is flashing 3 times etc.
It is probable something very small and basic that I have missed, any help would be much appreciated.
Thanks in advance,
ChrisI have both of those installed, and I jave RT and FPGA installed also.
I have reinstalled RIO just now to ensure that it was the last instulation and that all drivers were connecting but it still is not showing up.
Attachments:
Software MAX capture.PNG 56 KB -
Hello
I am now working on running a labview controller on VxWorks RTOS, and then this labview controller is integrated with a vehicle plant model in ControlDesk of dSPACE through CAN (cRIO-9113).
I have two models as below:
1. vehicle cruise controller written in labview using the Control and Simulation loop of labview
2. custom device project
: LabVIEW model is not supported for VxWorks RTOS, so it is necessary to interface between labview model and compactRIO.
This custom device project is set to Asynchronous execution mode and labview model was integrated into <custom device name> RT Driver VI.vi.
Anyway, I successfully built a custom device project and deployed to the target, and seems like there is no problem to integrate with a plant model in ControlDesk of dSPACE. (I can see the green light blinking on CRIO-9113, CAN module)
The problem is that signals from input are not delivered to ouput.
As seen below, I just put a laview model into <custom device name> RT Driver VI.
In order to synchronize time between Timed loop and Control and Simulation loop, Device Clock is connected to two loops.
Besides, local variables are used to share inputs and outputs.
Inputs were not delivered to outputs even when labview controller was an empty loop as below.
When I manipulated signals at ControlDesk of dSPACE, I saw values in input channels of workspace of veristand changing as I expected, but output didn't change.
How can I solve this? shoudl I add some functions into labview code?
Besides, when Device Clock is connected to the Control and Simulation loop, should I place a checkmark to 'Synchronize loop to Timing source?
Thank youHi Joe,
You are correct I would definitely begin by looking at the custom device template and the current custom devices (you can download them and open the source code to see a good starting point for how to start)
However it may be easier to just make a model that has a configurable trigger lines that controls the DAQ device and then use the Stimulus Profile to log the data whenever you want.
If you decide to go the custom device way here are some good starting points:
http://www.ni.com/white-paper/9348/en
http://www.ni.com/white-paper/13604/en
http://www.ni.com/white-paper/9349/en
https://decibel.ni.com/content/docs/DOC-9891
Sam S
Applications Engineer
National Instruments -
NI 986x XNET (bitfile) Veristand / cRIO-9024 VxWorks
Hello
I am developing a custom device to run a controller created in LabVIEW with a vehicle plant model written in Simulink.
And, I have also the same simulink controller as the controller created in LabVIEW. This simulink model is already test and it was ok.
To compare results between using simulink and using labview, so I am doing this.
My questions are
1. Can I use a bitfile created for simulink controller when I run a labview model on VxWorks RTOS?
2. Should I add NI 986x XNET modules under the chassis before compiling a custom device?
3. If I have to use different bitfile with the bitfile for simulink, how do I create a bitfile? to be honest, the bitfile I am using was not created by me.
Thank you in advance.
The trick is in the settings of the project. The module communicates in the background aka scan engine. So compilation of empty vi will add this underlying mechanism.
If you go to Help - Find Examples and search for 9862, there is an example project called NI-XNET CAN CompactRIO.lvproj. You can use it as a starting point.
C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\nixnet\projects\NI-XNET CAN CompactRIO\NI-XNET CAN CompactRIO.lvproj
Jiri
Certified LabVIEW Architect & Certified TestStand Architect -
Can I use the second TCP / IP port on my cRIO to drive a meter Agilent
I would like to use the second TCP / IP port of my NI cRIO-9024 to control my Agilent 33210A pulse generator with VISA TCP/IP.
My Agilent has only TCP/IP and GPIB ports.
Is it possible?
cordiallyAll the MACs (from my old 2006 PPC Mini) will auto detect ethernet crossover and straight through and rollover cables correctly. They should be Auto-MDIX.
Having said that, the FW800 (via TB) and Ethernet should be very close in terms of performance. -
When using my cRIO 9024 on the field, I prefer to be able to start and stop acquisition with push of a physical button on cRIO.
I mean I don't want it to be "as start-up," I don't want cRIO to start acquisition as soon as the power is supplied.
Is that possible?
Solved!
Go to Solution.Hi Cashany,
you surely can read that switch status. But there are easier (but more expensive) ways to switch a button. Fiddling with a pen or small screwdriver to switch USER1 isn't what I call "user friendly"...
- You have atleast 2 voltage inputs on your module available. Use a switch to supply voltage to those inputs. Use a "real" button!
- You have a serial port available. You could set some pins to GND or voltage and check their status inside cRIO/RT target...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome
Maybe you are looking for
-
BT Infinity - I need an answer please.
I have already posted in this forum before and not recieved much response. Only one kind person who told me about his upsetting experience with BT Infinity. I have (a countless number of times) rang up BT Customer Services about whether my area will
-
Using 1.3.1 plug-in if 1.4 is installed
I want to make sure that the end user is going to run an applet using the Java 1.3.1 plug-in, even if a 1.4 plug-in is installed. However, the client machine uses the 1.4 if it is installed. How can I "force" the browser to use the 1.3.1 plug-in even
-
Different language when installing SAP Business One client
Hello I live in Mexico City and we are using SAP Business One in Latin american Spanish. When i install a new computer with the client of SBO, and i run it. I always get it in CZECH language and not in spanish like the server. Is there any way i can
-
How do i view safari on icloud using my pc
i try viewing safari on icloud using pc...but cant find a safari icon what do i need to do in order to view safari from my ipad on icloud using my pc to see it
-
Myself, my iMac, and the bleeding edge of technology.
Okie... As a producer and a new Macintosh user, I just about wet myself when these hit the stores. I scrape up some jangle and head to the Mac store, surrender my savings account to the cashier, and run home to set it up in my studio. I hadnt been th