Compact Rio - Multiple RT Threads communicating with FPGA

Hello,
What is the proper way to configure the OPEN FPGA REFERENCE call in Labview when multiple threads running on the RT side need to communicate with processes running on the FPGA?
Thanks,
- Jim

You can open multiple instances to the same FPGA VI, but since there is just a single bifile it is a shared resource. So you might introduce adittional jitter to your timecritical code.
But since accessing IOs or DMAs of the FPGA VI is really, really fast, you might not notice it.
You could also create an API for accessing the FPGA which you could use as a SubVI configured as Subrouting with "skip if busy is true", or you could handle all the access to the FPGA in a single thread and use other mechanisms to share the data among your RT VI.
Christian

Similar Messages

  • Compact RIO Standalone RT Applicatio​n with Internet access

    Hi,
    I am currently working on a Compact RIO and would like to deploy the VI as a standalone application to run independantly on the Compact RIO without the need for a host computer. Apart from that, the Compact RIO also has to have internet access. I have a CRIO 9022 and am unsure how to set up internet access for it as well. Should the Ethernet cable be plugged into Socket 1 or Socket 2? The other end of the ethernet cable is connected to a switch with internet access enabled.
    Please Help
    Thanks

    Hi
    Thanks for your reply. After we set up the Compact RIO to run st startup with a real time application, what other settings do we have to configure to allow it to have internet access? The IP address is static. Also, we would like to have a remote front panel service running in order to view the front panel from a remote browser to monitor our system. Would it be possible to provide me with some step by step instructions of setting this up? I tried the steps from the guides at National Instruments website but all of them require the presence of a host computer, whereas we are building a real time application.
    Thanks

  • Compact RIO EtherNet/IP Industrial Communication Data Packaging

    Hello,
    I’m new to the Industrial Communications for EtherNet/IP module and quite a few questions. I am using a Compact RIO 9074 I first configured the Compact RIO’s Ethernet Adapter eth1 port to TCP/IP Network and entered the static IP address to the same subnet as the Fanuc LR. This was then saved and deployed to the Compact RIO. I then implemented the VI for the Access Assembly Instance Data through Explicit Messages, built the application and deployed it to the Compact Rio. This VI was run and the system shows that its making a connection, however, it’s still not able to communicate.
    In the example, there are two arrays, the Data Received, and Data to Set. I want to know if there’s a certain way of configuring the Data to Set to a scanner.
    Thank you.
    Thomas

    Hi Jesse
    Thanks for your information it was very helpful.
    I thought that the IP address of the Compact RIO’s Ethernet terminal needed to be within the same subnet but not the exact same.
    I agree with the Ethernet/IP having an address scheme laid out. Having a look at the example project, it claims I need to create the assembly instance. This can be done using the create assembly instance example VI.
    Does the create assembly instance VI need to be running with the Assembly Instance Data (using Explicit Messaging)? If so I’m having difficulty understanding how to apply this. Under the create assembly VI, it uses I/O Data function, while using an array of Data to Set and Data Received. Will the assembly address need to be set up in this array?
    I’m having a look through the manual for the Robot and the information I provided before is the configuration for the scanner.
    Thanks
    Thomas
    Attachments:
    Assembly Acess Panel.PNG ‏70 KB
    Create Assembly Instruction Panal.PNG ‏71 KB
    Create Assembly Block.PNG ‏35 KB

  • I2C communication with FPGA

    We have tried using the following program to communicate with an I2C compas using the cRIO 9014 and the digital I/O NI9403.
    http://decibel.ni.com/content/docs/DOC-1151
    We get an error when we try to run the host VI(see the error on the following link)
    Error
    The project we try to run its packet here: http://uldgade.dk/I2C.rar
    Or if anyone have another working solution for communication with I2C. The device we try to communicate with is a compas from Honeywell HMC6352 

    Have you seen this?
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/209​123
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Java Thread communication with web browser

    Hi All,
    I am facing a kind of problem, which i dont know if its a bug or the configuration setting in the web browser
    I have opened a server socket connection, that listens to a request coming from the browser(i.e the URL) and when request comes a new thread is being created..
    The problem is that when I enter a URL in the browser, it is being received by the socket but the thread runs into an infinite loop,for a specific period of time..
    What could be the problem,
    any help shall be appreciated..

    Most likely It's browser, some browsers open multiple connection to the server, for performance reasons. IE does it, try other browsers and see.

  • Communicat​ion Compact RIO et Touch Panel

    Bonjour,
    Je suis face à un petit problème qui pourrait devenir génant.
    Je dois faire communiquer un Touch Panel avec un Compact RIO de manière autonome (sans PC).
    Jusque là, pour la programmation, j'avais connecté mon PC, le Touch Panel et le compact à un hub ethernet, et cela me permettait d'envoyer les programmes correspondant, sur le Touch Panel et le Compact RIO via le PC de développement, et de tester si le Touc Panel et lme compact RIO communiquaient bien ensemble. Jusque là pas de problème tout fonctionne. Mais lorsque je déconnecte le PC du hub (et donc du réseau, ce qui sera la configuration finale = juste une relation entre le compact RIO et le Touch Panel), la communication ne se fait plus!!!!
    D'où vient ce problème? Est ce qu'il faut une configuration spéciale des switchs du Compact RIO pour qu'il communique de manière autonome avec le Touch Panel?
    Merci d'avance pour toutes vos réponses

    Bonjour,
    En effet, la configuration du CompactRIO ne pourra se faire que sur le port 1. En revanche, il doit être possible d'établir une communication entre le Touch Panel et le cRIO par le second port.
    Vous trouverez aux liens suivants les infos nécessaires sur l'utilisation des doubles ports:
    Introduction to Dual Ethernet Architectures
    Getting Started with Dual Ethernet Port Real-Time Controllers
    Guide du développeur CompactRIO
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

  • Build real-time application with Compact RIO

    Good afternoon,
    I am currently trying to run a VI on compact RIO and would like to control it through remote front panel. I followed steps on this link http://digital.ni.com/public.nsf/allkb/AB6C6841486E84EA862576C8005A0C26 and successfully done everything with a simple example.
    However when I moved on and did the same thing to a more complicated VI (my purpose is to make this VI work), everything was fine until I reboot the compact RIO. After a few seconds connection lost between the host computer and cRIO, and I had to shut it down and delete the startup file (with extension .rtexe).
    I am not sure what happened since everthing works fine with simple VI but not the complicated one. It could because the second VI has many sub VIs as well as objective functions loaded in it, it could also because the VI takes too much memories of the CRIO and stop it from connecting to the host computer.
    If anyone have any ideas of how to make it work please let me know.
    Thanks very much
    Carl

    Hello zzzfreedom,
    There are a number of potential issues I can see with the VI you're trying to deploy as a startup executable.  How do you intend to interact with this VI? Are you running the front panel as a remote panel or connecting to the VI using debug tools? A few points:
    - Your VI will run immediately when the RIO boots unless you're using debugging tools to prevent this from happening, keep that in mind.  It looks like you've accounted for this and required an initialize or network trigger of some sort for some of your loops, but the AI loop will start quickly and appears that it may require user input. 
    - You have several "user prompt" style express VIs.  These will not work (or will not work as expected) on a standalone RT target.  There is usually no front panel to interact with!
    - Like dialogs, event structures watching for user interaction probably aren't going to do what you want.
    - You are writing quite a bit of data to the VI's front panel, and there is at least one chart indicator.  Again, how will the user interact with this VI?  It looks like you need a host VI that will run on a machine the user will interact with.
    - You're using quite a few local variables.  It looks like you've taken a lot of care to protect against race conditions, but this causes a lot of data copies and tends to be error prone.
    - I've not analyzed all cases, but it looks like you have a number of places where the execution of a timed loop may be blocked under certain conditions.  This will likely rail the CPU due to the much higher priority of the timed loops.
    - What will happen if you lose connection with the server in your TCP command loop?  it doesn't look like there is any way for the user to reconnect without restarting the RIO.
    If you do intend to run this as a remotely accessible VI on your RT target, another point to note is that when running from the development environment, the front panel of your VI executes on the host machine. Once you deploy it as a remote front panel or debuggable RTEXE, everything is hosted on the RIO, and this has the potential to bog things down quickly.
    Here are a few references I think you might find helpful:
    LabVIEW Help: Real-Time Operating Systems - see considerations for Express VIs and Front Panel interaction
    http://zone.ni.com/reference/en-XX/help/370622L-01/lvrtconcepts/rt_osnotes/
    LabVIEW Help: Real-Time Module on VxWorks Targets - see unsupported features
    http://zone.ni.com/reference/en-XX/help/370622L-01/lvrtconcepts/rt_vxworks/
    NI LabVIEW for CompactRIO Developer's Guide -lots of good general information on architecting RT applications, network communication and hosts, etc. It looks like you're using the RIO Scan Engine, so the FPGA portion might not be relevant at this time.
    http://www.ni.com/compactriodevguide/
    Best Regards,
    Tom L.

  • CRIO and ni 9234 modules not working or communicating through fpga with accelerometers, fpga connected to real time application which is also connected to shared variables linked to modbus slave

    Hi,
    I have a compact rio which has a 4 way chassis attached to that chassis is three ni9234 modules they are linked using fpga to a real time application then using shared variables in the low speed loop that are linked to a modbus slave to communicate with dcs, the ni 9234's have accelerometers connected to them with iepe ac coupled option on the c modules, my problem is the real time application seems to be running okay even when power loss occurs it restarts with no problem and the fpga writes to the portable hard drive bin files fine but without a accelerometer connected I get low noise readings as soon as I connect a accelerometer to any one of the 10 outputs it just goes to a fixed number (0.03125) as soon as disconnect it again it reverts back to reading noise, I have run a scan on the modules and only get a spike when I connect or disconnect the accelerometer, I have tested the voltage at the pins of the module and I get 22 volts dc which makes it more likely that the hardware is not the problem but a software is maybe causing this to hang-up, I attach project and files for your perusal. I also carried out a new project which in scan mode directly linked the module input to shared variable and the same scenerio again. Help would be much appretiated. 
    Many thanks
    Jason
    Solved!
    Go to Solution.
    Attachments:
    logger 2plusmodbus2.zip ‏679 KB

    Whren using waveform acquisition with the 9234s we recommend the following FPGA and RT template.
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/209114
    it can be extended as a data logger with:
    http://zone.ni.com/devzone/cda/epd/p/id/6388
    or using shared variables combined with scan engine
    http://zone.ni.com/devzone/cda/tut/p/id/9851
    The FPGA in all of these, as well as the RT framework have been used successfully by 1000s of users.  I would recommend giving these a try. 
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • IMAQ FFT multiplication and MATLAB Script Nodes/Compact Rio

    I would like to automatically generate a frequency kernel to multiply with the FFT of my IMAQ image. I was wondering if there was a way for LabVIEW to automatically set up 2D arrays (with a lower bound, a step size and a higher bound) like what is done in MATLAB.
    I was wondering also, if someone could give me some insight as to what restrictions I face, when uploading code from MATLAB script nodes into the Compact RiO (I have a cRiO-9025).

    Hi Bilaln,
    I think you confused about a MATLAB script node and a Mathscript node.
    A MATLAB script nodes uses ActiveX to call into MATLAB, where as a Mathscript node runs in a NI built environment. The MATLAB script node requires both that MATLAB be installed and the host supports ActiveX. Since cRIO does not do either, you should use the MATHSCRIPT RT module.
    Joe Daily
    National Instruments
    Applications Engineer
    may the G be with you ....

  • Compact DAQ communications with SCADA Siemens

    Hello, I am currently designing a project for Machine condition monitoring using vibration sensors and temperature sensors as well as tachometer. The total number of sensors is about 161 sensors. My design include cDAQ 9188, NI 9234 and NI 9423. I am going also to use Moxa Industrial Access point to communicate the data with an existing SCADA system in the user control room.
    I have two questions:
    1-Will cDAQ platform be able to communicate with SCADA system?
    2- If yes, can any one help in the  design of interface screens for the project?
    Many thanks in advance for your support. Ihab

    Thank you Ryan,
    I am trying to select either CDAQ or Compact RIO. Either of them , I am going to use Labview to develop my system. The plant already have Siemens SCADA system for the rest of the process. They want me choose the less cost platform from NI Hardware (cDAQ) to develop the system for them. They claim that hey do not need the high cost platform from NI Hardware (cRIO). What you say is that SCADA will work with either system as long as we create ties between the outputs from a DAQ system to shared variables that will be available on your network.
    Also regarding the high number of sensors 161 (Accelerometers, Temperature sensors, Tachometers) , which platform can handle this high number of sensors better?
    Finally can you recommend any CLD or CLAD holder to help me against paid hours? 
    Thanks

  • HT202000 Is there a way to have multiple audio sources sent to multiple outputs (i.e. communications with skype sent to headset, music sent to speakers )

    Is there a way to have multiple audio sources sent to multiple outputs (i.e. communications with skype sent to headset, music sent to speakers ) I do this on my Windows but cannot find for mac.  I am transitioning from Windows brain to Mac brain and having a little difficulty
    OS Yosemite

    Is there a way to have multiple audio sources sent to multiple outputs (i.e. communications with skype sent to headset, music sent to speakers ) I do this on my Windows but cannot find for mac.  I am transitioning from Windows brain to Mac brain and having a little difficulty
    OS Yosemite

  • Compact RIO/PCI with Integrated Display unit?

    Is it possible to have a compact RIO/PCI  unit with an integrated display unit.Compact RIO/PCI meets my requirement except for an integrated display for monitoring the data.

    Generally the interfacing end of the DAQ cards will have to be connected to the connector block where you pins exposed wherein you can connect the sensors. In your case, make a mating connector to the lemo and connect the free end to the connector block which is connected to the DAQ

  • How can I control 4 sets of compact RIO system with my host PC?

    Hi all,
    As the title.
    I want to control 4 sets of compact RIO system at the same time.
    I have written TCPIP connection for two PC before.
    But I never program to connect more than one PC.
    If I need to connect more than one PC, should I set the PC's connection port different?
    Could you provide me an example?
    Thank you a lot.
    Solved!
    Go to Solution.

    Hi StephenCh...,
    you can calculate the transfer rate it depends on your network card. You'll find very good examples on that in the example finder, search for tcp/ip. You can use the server code on each of your cRIOs. Use the client to connect to your servers (cRIO), you only need to change the IP. If you need to connect to all at the same time, then you have to change the client program a bit, so that you are able to build four connections.
    Where do you have problems? Did you already see the examples?
    Mike

  • Error 1335 When Installing Compact RIO Module Software 2.1.4 From Hard Drive

    I’m having issues with the installation of the CompactRIO Module Software 2.1.4.
    Initially, problems were occurring when trying to communicate with the device, as it was denying access to it from the Development PC. Various things were tried such as adding a ‘*’ to the fields and making sure 'Allow' was selected in the communication properties on LabView RT. This didn't seem to work. A post relating to our problem is here: http://forums.ni.com/ni/board/message?board.id=170​&message.id=269809&query.id=18752#M269809
    As none of this was working, we decided to format the disk on the Compact RIO and reinstall the software to it. The software downloaded from Ni.com was the CompactRIO Module Software version 2.1.4 (dated May 2007). This file was unzipped using WinZIP 9.0 (on a PC running Windows XP Pro SP2 5.1.2600) and then transferred with a USB stick to the Development PC.
    We attempted to install the file on the Development PC (running Windows 2000 SP3 5.00.2195) by running setup.exe. This started normally, but then proceeded to come up with an error message saying: ‘Error 1335. The cabinet file ‘Cabs.w1.cab’ required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.’
    Attached are screen shots of the error message that appears.
    As a result of this error, the installation could not be continued and the module software was not installed.
    What is going wrong with the installation and how can I go about sorting it out?
    Thanks very much,
    Moses
    RT target cRIO-9012, NI-RIO 2.1.3, LV 8.2, RT 8.2, FPGA 8.2, host ip 150.150.10.15, cRIO IP 150.150.10.4
    Message Edited by Mohoyt on 09-10-2007 04:03 AM
    Attachments:
    Error Message CRIO Module 2.1.4.JPG ‏36 KB

    Way,
    Thanks for the help overall, I finally worked it out. The problem was initially present in the unzipping of the original archive that had been downloaded from the NI.com website. When I had previously unzipped it, I had done so to a network drive which for some reason stopped autorun.inf and autorun.exe from functioning properly and so when I tried to install it on the Dev PC I got the aforementioned error. To overcome this problem I unzipped it to a local drive and (surprise!) there were no faults, so when installing the actual software, no errors appeared and it was installed correctly.
    This however was not the only problem, the version that had now been installed did not want to co-operate with the RIO at all, and came up with various software errors in addition to not having all of the available software modules for the RIO available to install. The solution was then to install the newest RIO software, which is very badly labelled on the NI.com website by the way (its packaged as RIO software, so if you're looking explicitly for CRIO software you've got no chance of finding it). The newest version, 2.3 (Aug 07) as opposed to the 2.1.4 (May 07) that I was previously trying, worked fine and I was able to get all the software modules installed. So for now the problem is solved!
    Thanks again for all the help.
    Cheers,
    Moses

  • Compact RIo's programming mode

    Hi,
    I'm working on Compact RIO 9022 including two chassis NI9403(Digital CHassis) and NI92205(Analog Chasis), and I want to konw if it is possibly to program my controler using scan Interface instead of scan engine. Because I find out that Scan Interface is dedicated for specific Modules as NI 9014 and NI 9073.
    Thank you in advance for your answers
    Best Regards
    Nadia
    Solved!
    Go to Solution.

    Hello Nadia,
    Thank you for posting to the National Instruments Forum.
    Can you tell us briefly what is your application?
    Do you have an error occuring when you try to develop in Scan Mode?
    Here are some information which can help you;
    - cRIO Scan Mode
    - Your Spec
    - Choose you mode (P7)
    Here's is a short extract:
    Scan Interface mode enables you to use C Series modules directly from LabVIEW Real-Time. Modules that you use in Scan Interface mode appear directly under the chassis item in the Project Explorer
    window and I/O channels appear as I/O variables under the modules. To use I/O variables, you drag and drop them to LabVIEW Real-Time VIs. In Scan Interface mode, you do not need to do any LabVIEW FPGA development or program communication between FPGA and Host VIs. You also do not need to wait for VIs to be compiled to the FPGA before deploying and running them. In Scan Interface mode , LabVIEW programs the FPGA on the CompactRIO target to work with the variables."
    Keep us notified,
    Kind regards.
    Pierre_D
    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;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014

Maybe you are looking for

  • Pass values to OAF search page (View Purchase Order History)

    I need to call a OAF page from a PO Approval Notification. I need to call page View Purchase Order History (func:ICX_PO_REVISIONS). I am able to create the URL (using function FND_RUN_FUNCTION.get_run_function_url) and when I click on the link it ope

  • Safari pop up that won't go away

    Ok so just like the title says I have a safari pop up that wont go away. I restored my iPhone and it still wont work. I saw a post describing this problem on the computer communities but I can't find anything to do with this on the iPhone community.

  • Upload new phrases in the system

    Hi, We are currently upgrading from 46c to ECC604. In 46C we use a very small functionality of the dangerous goods master. Just some info for entering UN numbers, hazardous substances and user defined texts (5x). We have our own forms and print some

  • Background job delete or move file

    Hi all , IS THERE ANY METHOD TO TRIGGER AN OS COMMAND TO RUN WHEN WE RUN OUR PROGRAM IN BACKGROUND? I HAVE TO DELETE OR MOVE A FILE AFTER IT IS READ IN BACKGROUND. Thanks

  • Update rules infocube 0py_c02 not found BI 7.0

    Hello Forum, By activating the infocube standard payroll (0PY_C02), I found the problem that the rules for updating the infocube not exist and neither are activated in the BI content version 7.0. I have written a note to Sap, and I say it is not a mi