Thermocouple Readings from CRIO

Hi,
I am fairly new to working with Compact RIO and I am having problems with thermocouples that I have connected. My setup has two thermocouple modules, the NI 9213 and NI 9211.
I have connected a Type K thermocouple (one each) to both of the units. I have used the FPGA Target vi to read from the Thermocouple channels together with the CJC and Autozero values of both the modules. I also have CRIO vi that references the FPGA vi and then uses the values and feeds them to the "Convert Voltage to Temperature.vi". I have attached screenshots of both the vi's.
The problem is the output I am receiving is -2 or 1 degree. When I touch the thermocouple the value increses to around 5 or 8 degrees.  The room temperature is around 24 degrees.
Can someone please help with where I am going wrong.
regards
Harshil.
Solved!
Go to Solution.
Attachments:
FPGAvi.jpg ‏51 KB
cRIOvi.JPG ‏60 KB

Hi Harshil,
Which cRIO controller and back plane are you using? As long as you don't have a 9002 or 9004, then you can get away without programming the FPGA with CompactRIO Scan Mode, which will calibrate and scale your temperature channels for you.
If you have a chassis that only has a 1M gate FPGA, you can still use scan mode for your TC modules, see this KB:
http://digital.ni.com/public.nsf/allkb/122E971F52FD081A86257500007A046C?OpenDocument 
Using CompactRIO Scan Mode with LabVIEW: 
http://zone.ni.com/devzone/cda/tut/p/id/7338 
Kurt 
Kurt
Join the LabVIEW Real-Time Developers Group

Similar Messages

  • How Do You Write Thermocouple Readings From Multiple Channels to One Text File?

    Hi Everyone,
    I am having difficulty writing a Labview program that allows me to combine readings taken from 8 thermocouples to one text file. I am using a NI cDAQ - 9174 with NI 9219 modules.
    Attached is a copy of my program thus far. I have figured out how to combine readings from 8 thermocouples to one waveform chart but the text file will infact be more vital.
    I am very new to Labview and only require it for this task so the simpler the solution the better. Apologies for the lack of technical language.
    Any help would be much appreciated.
    Amy

    Here's one simple possibility...
    Of course, this shows incomplete file handling, and you'll probably want to truncate your floating point values to a few decimal places. I have used this kind of operations for generating text and csv files for thermocouples, much like you are doing.
    Good luck!
    Dan

  • Wrong readings from a thermocouple

    hello
    Im getting wrong readings from a thermocouple T type, installed on SCXI1100/1300 using MIO6070E
    Tareq

    Tareq,
    first test: shortcut your TC input . Can you read the temperature of your input terminal (resp. of the tempsensor for the cold junction compensation)?
    If no then you have a problem with your measurement setup.
    If yes then the problem is you sensor (signal)
    maybe to much noise due to ground loops or other EMC
    do you use a extension cable? Right type ? Right polarity?
    Greetings from Germany
    Henrik
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

  • Reduce noise on thermocouple readings on NI PCI-6225

    Hello All
    I have a problem with what appears to be static electricity induced noise on thermocouples.
    We are testing with a sand like medium flowing across a plexiglass window and measuring temperature in the flow. The interaction of the air/sand mixture flowing across the plexiglass creates a significant amount of static and our thermocouple readings are severly impacted. Is there a way to filter the signal so my data and signal analysis tools ignore obvious off-scale readings ?
    The filtering i see seems to only apply to high freqency noise. I would like to trim the signals from the TCs to ignore any measurements above 700DegF and below 32Degf.
    Thank you
    Solved!
    Go to Solution.

    Hi AeroEng,
    It might be helpful to see what the current state of your acquisition VI is - just to get an idea of your overall architecture. I can think of a couple of alternatives.
    You could do some external signal filtering to get rid of the extra charge on your thermocouple wires - refer to this very helpful White Paper on the topic of Wiring: http://www.ni.com/white-paper/3344/en/
    As far as software-defined filtering, you could use the In Range and Coerce function (http://zone.ni.com/reference/en-XX/help/371361J-01/glang/in_range_and_coerce/) on your data and use the boolean output to hide your actual data or simply coerce it to your MAX/MIN values
    Hopefully this helps!
    Xavier
    Applications Engineering Specialist
    National Instruments

  • How temporary store data from CRio?

    Hi,
    I am using a CRio to control a system. I am finding that there is a little variation in readings from the ADC module of the CRio, so the reading on the screen is a little eratic. The input signal is more stable than what the reading is making it out to be, so i know it is to do with a sampling error in the CRio (Which is to be expected). To solve this problem, i want to apply a simple filter. Where i record 4 or 5 readings and take the mean average. The 4-5 readings are continuously rolling, so as soon as the CRio has taken a new reading. The value enters the stack and the oldest reading is removed.
    Now the way i would like to do this is to use a shift register. If a shift register is able to store values and not just boolean?
    I've seen other posts in hear talking about a shift register but i can't find it (I've even searched for it but the results doesn't return anything to do with a shift register). Where should i be able to find it?
    I have the CRio sampling the inputs using a flat sequence structure. Where i have a timer in the first section and everything else that is related to it in the next section. Obviously, the timer in the first section sets the frequency that CRio samples the data. If i increase the timer and therefore decrease the frequency, would the length of time that the CRio takes to samples the data naturally increase? The longer the ADC card takes to sample the signal, the ADC card is therefore given more time to settle and will naturally filter itself.
    Failing both of these, is there another way i can do what i want to achieve?

    A shift register is a fundamental LabVIEW concept.  It allows you to store any type of value from one iteration of a loop to the next.  Search the LabVIEW help for shift registers.  One common approach to your problem is to store an array of values in the shift register.  Inside the while loop, on each iteration, rotate the array (there's a function for this), then replace the first element with the new data.  This works well for a small array (for example 4-5 previous values); there are faster but more complicated approaches if your array is larger.  If you're doing this in the FPGA on the cRIO you might need a different approach as well: keep track of an array index, insert the new value at that index, increment the index, and reset to zero when you reach the array length.
    LabVIEW also provides a number of built-in filter VIs that manage all the previous values for you; see if one of those will do what you want.
    Changing your loop rate will not affect the sample time; as far as I know, the sample time is fixed, or at least not easily accessed.

  • Thermocouple Readings

    I'm using a NI USB-6210 with SignalExpress to take temperature readings from a type K thermocouple. The readings are all over the place. If I add more channels to aquire from, the readings get within a 2 degree C range, which is close to acceptable. Still seems like a large swing for a thermocouple device that is sitting in a room close to room termperature. Is there anything I'm doing wrong? I don't see anyother way I can hook things up.
    Thanks
    Chip

    Hi Chip,
    I noticed that you have not received any response on your last post so I wanted to provide some more help if you still are having trouble.  One thing that I noticed was that you are using a differential connection with your thermocouple (AI0-AI8, AI1-AI9).  It is recommended that you use a single ended ground referenced configuration (RSE) when you are measuring a floating signal such as a thermocouple.  This could be what is causing the erratic behavior on your measurement.  I attached a jpg of the different wiring configurations.  
    Also, what is the other device that you are using that gets a proper reading with the thermocouple?  What are the settings and how do you have it connected?
    Field Wiring and Noise Considerations for Analog Signals
    http://zone.ni.com/devzone/cda/tut/p/id/3344
    Regards,
    Jordan F
    National Instruments
    Attachments:
    Wiring diagram.jpg ‏3855 KB

  • Streaming data from cRIO to a data file (binary file) on a network Network Drive on the same LAN

    Dear All 
    I hope my message finds you all well 
    My Question is :  is it possible to log my data from cRIO to a network drive and stream the data being captured to a binary file in this drive ? and do the conventional File IO functions ?
    I heard that DataSocket can do this , but it is mainly used between computers (this is what i understood so far about it)
    My network drive is a DLink ShareCenter : http://sharecenter.dlink.com/products/DNS-320
    I know that i can use the NI 9802 SD Card module , but it is out of my budget now to buy it 
    Please assist 
    Best Regards
    Eng. Mohammed Ashraf
    Certified LabVIEW Associated Developer
    InnoVision Systems Founder, RF Test Development Engineer
    www.ivsystems-eg.com

    Hi Mohammed,
    Are you trying to accomplish all this with or without the use of a host machine? If you're doing it with a host machine then the best bet would be to transfer data to the host using network published shared variables and then write to a file on the network from there. 
    If you're trying to do all this from the cRIO straight to the network drive with no intermediate host PC there are many things to consider. First off would be making sure there are no security protocols on the network drive that would prevent the cRIO from accessing it. Next you'd have to make sure there are no drivers required for the network drive as many drivers will not work on the Real-Time OS since most of these drivers are designed for a Windows system. If all this is taken care of then I'd say FTP is probably your best bet for getting files onto the network drive as long as you have an FTP server. 
    I'm unsure about if you would be able to stream to a binary file from a cRIO. I would need to know more about your application and what hardware you're using. Again I'd recommend you use a host PC and do the file I/O from there if possible. Can you tell us a bit more about your application and setup?
    Miles G.
    National Instruments
    Applications Engineer

  • Fastest way to transfert data from cRIO

    Is anybody know the fastest way to transfert data from cRIO? I tested shared variable, but it's not fast enough. What is the fastest speed could we achieve with shared variable in cRIO? how can I transfert 50000 32 bit word per second from cRIO to my PC? This should run 24h/day.
    Thanks
    B.
    Benoit Séguin
    Software Designer

    Hi Benoit,
    Thanks for your post and I hope your well. I noticed you've not received a reply - and I would like offer my advice.
    Shared variables are one way to communicate over the Ethernet. You can use UDP, TCP and VI Server also. 
    UDP is the fastest network protocol but it includes little error handling and can lose data. TCP is commonly used for large systems. TCP takes more programming effort than shared variables, however, it provides a good mix of speed and reliability. You can use the VI server to run Vis and/or access and set the value of controls and indictors, but it is slower and not recommended for larger data sets. 
    Please let me know what you think,
    Kind Regards,
    James.
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!

  • LabVIEW readings from a DMM too slow

    Right now I am working on a program that takes readings from a multimeter and puts them into a graph. The multimeter is taking readings at 100 per second, while LabVIEW is only taking a number from the multimeter every five to six seconds. I am very new to LabVIEW so I am not sure if there is something in my program that is slowing it down or something that I can add to increase the frequency of readings taken. I have attached the program file I'm using and the multimeter is a Tektronix DMM4020, though I don't think the problem is with the multimeter. Any advice would be great, thanks in advance.
    Rach
    Solved!
    Go to Solution.

    I think they attached.
    Attachments:
    MultimeterBlock.doc ‏30 KB
    7-7-MultimeterGraph6.vi ‏22 KB

  • Is there a vi for acquiring bar code readings from a scanner?

    I need to acquire at least 3 readings from multiple transducers and have their serial number placed and stored in my vi. Should I use a digital indicator, and if so, what will be my input. Is there a VI that handles this task, already built into Lab View 6.1?

    Justin,
    It all depends on what kind of scanner you are using and how it communicates. If the scanner communicates using serial then it would be easy to write a VI to recieve the information. The protocol for a scanner is not likely to be very complicated.
    There are two instrument drivers on the Instrument Driver network for reading barcodes. Go to www.ni.com/drivers and then click on Search for a Driver. Only fill in the additional keywords and search for "bar code" (include the quotes to search for the phrase). You will find two instrument drivers (MS 810 and MS 850).
    Carl L
    National Instruments

  • Voltage readings from transducer

    Hi guys, I am currently stuck in here. I am doing a program that can take voltage readings from transducer using three-loop structure.
    I have a layout for that in my front panel. I am not sure if I am on the right track. Can give me your opinions on this?
    Many thanks!!!
    Regards
    Nic Ho
    Attachments:
    Simplified_prog.vi ‏30 KB
    Simplified_prog.vi ‏30 KB

    I get your point. What I am trying to do here is I first select a few channels. When the program is running, the total no of channels and the binary value
    are displayed. By looking at the binary value, I am able to tell which channels are light on. Basically my objective is to get voltage readings from the transducer and save the data. However I like to do an "Initialise" before starting the program. In addition, I am looking on ways how to set timing for scan and data log for eg 0.5 hr, the panel will show this particular channel reading? U guys have any clues on this? Do let me know if you have problems viewing the file. Many thanks!!!
    With Warmest Regards
    Nic ho
    Attachments:
    VI simplified version.vi ‏82 KB
    Shell Main States2.ctl ‏6 KB
    UI Msg Q Functions.ctl ‏5 KB

  • Strange thermocouple readings at high temps

    I am having trouble reading my thermocouples at high temps. I have a 9074 cRIO with a 9211 thermocouple module connected to 3 K-type thermocouples. The thermocouples monitor 3 heat zones of a giant furnace, in which the zones can be turned on and off using a solid-state relay. When turned on, the thermocouples read the temperature normally up to 800 degrees C. However, when it goes past 800 degrees, it may seem to be reading normally, but when you switch different heater relays on or off, the thermocouple reading changes significantly some times. This does not happen below 800C. See attached pictures, and assume the first picture is the correct base temperature:
    When I attached the first zone to an external thermocouple reader with its own digital display, I do not see this drastic change when switching the relays on and off. It stayed relatively constant.
    Why am I seeing such a big change with the 9211 module? I am not processing the signal in any way, just a direct read-through, and the module itself is set to read K-type thermocouples. The heater contactor and the thermocouples are relatively far away.
    Any help is appreciated.
    Linus
    Solved!
    Go to Solution.

    Hi Craig,
    Yes, I was able to resolve this issue. a LabVIEW field engineer suggested this solution and it worked. See Section 3 Measuring Floating (Nonreferenced) Sources at this link:
    http://www.ni.com/white-paper/3344/en/#toc3
    The source of the problem was instrumentation amplifier input bias currents, which was causing the voltage level of the floating source to be moved out of range. I needed to add bias resistors to provide a DC path from the instrumentation amplifier inputs to the instrumentation amplifier ground and anchor this voltage level to some reference. I followed FIgure 10 and added two 100 kOhm resistors for each of my thermocouples. Since then, I did not get anymore fluctuating readings.
    Hope this helps,
    Linus

  • Where can I go to learn about scaling voltage readings from different AI devices?

    Ex. I have a Vaisala HMP 60 RHT sensor. How do I know what to scale the voltage readings to get the correct RH? I have seen values (such as 20 in the linear range for the Vaisala HMT 100), but I don't know where it comes from or why it is chosen. In case it matters, I am using several AI devices (thermocouples, MFC's, RHT's) on an NI-6343 USB board. I'd really like to learn more, but am finding information very tough/convoluted. Thank you for any/all help and direction.
    Solved!
    Go to Solution.

    Thank you for the input/help. I think what I was looking for was that if you have a 5V output (for the Vaisala HMP60), then the slope would be 20 so that the zero voltage reading corresponds to 0% RH and 5V output corresponds to 100% RH. Hopefully this is right and their is no drift.

  • Spikes in readings from cFP-2000

    Hello,
    I'm hoping some one will be able to help with a problem we are experiencing with our temperature and voltage measurements. We are noticing large spikes in temperature being logged that are not physically possible, and hence must be some form of interference effect. The spike seem to be entirely random, and I can't seem to be able to replicate the problem. They may happen once a week on average, and its not at the same time every week so its not as if another event is causing it.
    Our setup is:
    - Type-R thermocouples connected to TC-125 modules via compensating cable (some via long runs)
    - 3 cFP-2000 units in an enclosure, with power supplied by individual Quint 24VDC power supplies. These are connected to the mains via a UPS.
    - Also there are AI-110 modules connected to the same field point banks. These also seem to be affected too. These monitor -/+10V voltages from LVDT signal conditioning, and the cabling come in through the same bunch of cables as the thermocouple compensating cable.
    - Each thermocouple is connected in parallel to a Eurotherm process controller (2416 and 3216 models) and the cFP.
    - The LabView software is set to take a reading every 10 seconds, so I presume the spikes we are seeing are when we've been unlucky enough to catch when the interference is happening.
    I'm hoping someone will be able to help! I haven't a clue where to start making changes to cure the problem, especially when I can't replicate the problem. Any suggestions would be approriate.
    Andy.

    Thanks for your quick reply,
    Yes the spiking has always been there. I hadn't even considered it could be a software problem, I didn't think this was very likely. all the program does is checks readings every 10 seconds - if the reading has changed from the previous value by an amount greater than a set deadband it logs a new point on the graph. Theres no control or processing element to it. My initial thought was it was EMI in the cabling.
    Just for further information the cable lengths vary because the field points are centrally located in one room. The cabling runs to another 4 rooms with the test rigs in.
    Signal conditioning is being used for the LVDT measurements to produce a -/+10V output. The TC-125 module's own cold junction compensation is being used for temperature measurements. I've checked the field points are correctly wired and everything appears to be correct.
    As an experiment we've fitted out three of the test rigs with ferrite blocks on several of the cables in an attempt to suppress any EMI.

  • How to get system time from cRIO?

    Hello,
    I have an NI cRIO-9076 chassis with an NI-9467 GPS module and an NI-9234 module.
    I've downloaded the FPGA Timekeeper application which synchronises the FPGA clock to the 1PPS GPS, this works well.  What I want to do is create a trigger that at a pre-defined HH:MMS the system will start to acquire and log data from the Accelerometers connected to the NI-9234 module.
    I have added the controls for the entry of the HH:MMS and calculated the time in seconds.  I would like to compare the system clock once it is locked to the entered timestamp and then trigger.
    As I only have a value that represents seconds in the day I need to calculate the offset from EPOCH to compare against the GPS time reference.  I have read that the NI system clock runs from 01/01/1904 instead of the EPOCH 01/01/1970.
    The question is how do I get the current system time so that I can compare it against the entered time?  I only need seconds in the day = (HH * 3600) + (MM * 60) + (SS)
    Thank you,
    Kind Regards,
    Simon

    You should use the Get Date/Time in Seconds VI which will return a timestamp. You can then format this timestamp using the Format Date/Time String to give you exactly the time format that you need. Then you can extract the numbers you need and do your math.
    www.movimed.com - Custom Imaging Solutions
    Attachments:
    Get Seconds in Day.vi ‏9 KB

Maybe you are looking for

  • Events from iCal changes when synced with phone :-((

    Hi! I've just bought a bluetooth adapter so I can sync my phone with ical. I'm convinced this will bring me one step closer to a digital synchronized heaven, but (of course) I encountered a problem: When I have added an event to my phone (Sony Ericss

  • Unable to install OS 2.0

    Can anyone help me here? I already tried for so many times downloading OS 2.0 but the result is still the same, it always say unable to install OS 2.0. Any idea?

  • Cannot reate online images in Thunderbird 24.6.0 under Win 8.1

    13.7.2014 Thunderbird 24.6.0 Windows 8.1 Hello, I cannot create an inline image using the add graphic menu. I unclick the Append box in the menu. The image appears in the originating mail, but when I send it only a box is received.. However when I op

  • 9iAS javac is running well but also want to compile Servlets

    Dears! I have installed Oracle 9iAS on Windows NT4.I want to develop servlet & JSP using Oracle 9iAS. I have tried compiling my servlet in Command Prompt after setting up the PATH for the JSDK & JDK shipped with 9iAS but i got the following error: Pa

  • Clustering with Cisco LD

    The on-line documents regarding clustering talks about using a single           web server front-end with the WLS plug-in and the plug-in sending the           WLS request to multiple WLSs in a cluster.           The environment that Im dealing with