How do I programmat​ically determine if a device supports external calibratio​n?

I'm writing a vi to determine the current state of a system with about 6 devices connected, consisting of two cDaq chassis with 9229 and 9269 modules and a few PXI cards. I want the vi to monitor when the devices were last calibrated and issue a warning if the device hasn't been calibrated within the accepted window. I can get the program to work as long as the device I'm polling supports external calibration, but naturally I get an error if it doesn't. I can't seem to find a property node or the like to determine this. Any help would be great.
This is a gross simplification of what I'm trying to accomplish:
Attachments:
calibration snippet.png ‏16 KB

Well, the trick is that while all of the C modules may be calibratable, the chassis is not. For example, if I have a cDAQ-9178 with 3 9269 units and 5 9229s and I query the system for devices it returns an array with 9 elements because the chassis is detected. If I then loop through those array elements in a for loop and query the last calibration date, I get the error:
Error -200197 occurred at Property Node DAQmx Calibration Info (arg 2) in Untitled 3
Possible reason(s):
Device does not support this property.
Property: ExtCal.LastDate/Time
Short of clearing the error and moving on, I don't know how to get around this. I've attached a new snippet in the hopes that it will better illustrate what I'm attempting.
Thanks again for your help,
Tanner Blair
Attachments:
calibration.png ‏25 KB

Similar Messages

  • Error -201402; how do you programmat​ically determine 'Samples per file' size

    Error -201402 - The samples per file is not divisible by the file write size. The error also give a suggested value to use, which is helpful, and i have amended by code to suit this value.
    I am writting to a tdms file in chunks, such as the first 2.5-5 seconds save the data (sampled at 1M samples per second per channel) to tdms files named initial.tdms, initial_0001.tdms (need to be able to split the files due large data size) then capture the remainder, such as 150 seconds of data (sampled at 1000 samples per second per channel) into a single file, remainder.tdms
    Example Inputs to the vi will be:
    Initial sampling rate = 1M
    Initial acquire time = 2.5 seconds
    Remainder sampling rate = 1000
    Remainder acquire time = 150 seconds
    What I want is to be able to programmatically set Logging.SampPerFile and maybe Logging.FileWriteSize to improve maintainablility and code reuse (I have a number of difference sequence patterns to generate/ capture.)
    I am also developing this code on a debug system which may have a different hard drive volume sector size so need to be able to derive the FileWriteSize based on this value, but don't know how to get/view this hard drive info.
    How do I go about this?
    Cheers,
    Helen
    CLD, CTD

    Thank you for your help.
    The Get Volume Info does indeed give me the Sector Size, however i still had problems with working out what multiple of the sector size to use.
    Based on "Samples per file - must be EVENLY divisible by the file write size" and "File write size - must be EVENLY divisible by the sector size" I have derived te following code snippet which ensures that the calculated SampPerFile is divisible by 4 (2 lots of evenly divisble by).
    Whilst this appears to work I wonder if anyone could comment/ suggest any pitfalls etc.
    Regards,
    Helen
    CLD, CTD

  • How do I programmat​ically open block diagram?

    Hi, All
    How do I programmatically open block diagram of subVI and add frame to event structure
    Thanks,

    Could you be a bit more specific on what you are trying to do?
    Do you want to programmatically edit an existing VI that is currently not running? As mike said, scripting could work but it is unsupported (see the Lava scripting forum for details: http://forums.lavag.org/LabVIEW-VI-Scripting-f29.h​tml). Somehow, adding an event case does not give you much, you would also need to add the code contents and hook everything up to the existing controls, indicators, and other nodes.
    If you just need an event that is not always active during run, maybe you can use user events. Check the online help. (Also have a look at e.g. section 4 in the following application note:
    http://zone.ni.com/devzone/cda/tut/p/id/2994.
    LabVIEW Champion . Do more with less code and in less time .

  • How do I programmat​ically set chart history length?

    How do I programmatically set chart history length?

    Hi, u could try instead of using a chart, u could use an xy graph with a chart buffer and with the chart buffer defining the length/amount points needed. And this also mimics what happens in a chart.
    Stuart
    Attachments:
    XY_Chart_Buffer.vi ‏54 KB

  • How can I programmat​ically detect transition times in a digital waveform

    Hi, I have a digital waveform and at certain times I have transistions and glinches , how can I programmatically detect and record the time stamps of the transitions
    Thanks  

    Let me see if I understand you. You are reading 14 bits in parallel and you want to know how long between transitions of just one of those bits - say bit 11. Is this bit number constant or can the number of the bit in which you are interested change?
    Well, you could XOR the value from each read of the digital bits with the 14 bits you got from the previous read. If the resulting value of bit 11 is true, the state of bit 11 has changed. Use that flag to read/restart an interval timer. Of course the resolution of your measurement will be dependent upon the rate at which you are reading the 14 bit input. If you are only sampling the 14 bits every 500 msec, you obviously won't be able to measure intervals of less than 1/2 sec.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How do I programmat​ically modify array element sizes?

    Hi All,
    I have a quick question about modifying the size of array elements. Hopefully someone can help, because I am at a dead end!
    I am logging some intensities from a Fibre Array using a camera. For calibration of the system, I acquire an image from the camera, click points on the image to divide it into areas of interest. I overlay my image with a grid showing the regions of interst - for example a 4x6 array. I then have to select the fibres - or ROIs - I want to log from.
    I have a cluster type-def ( a number and a boolean) to specify the fibre number and to turn logging from that fibre on/off. I overlay an (transparent) array of this typedef over my image to correspond with the regions of interest. So here's my problem - I want to modify the dimensions of the array so each control matches my ROI. I can resize the elements by rightclicking on the elements on the frontpanel, but can't find a way to do it programmatically. The Array Property Node>>Array Element>>Bounds won't 'change to write'...thats the first thing I tried.
    Its really only important that the elements align with my ROIs - so programmatically adding in gaps/spacings would also work for me...but again I can't figure out how to do this! I've attached a screenshot of part of my image with array overlaid to show you all exactly what my problem is.
    Thanks in advance for you help,
    Dave
    PS I am running Labview 8.6 without the vision add on.
    Solved!
    Go to Solution.
    Attachments:
    Array_Overlay.png ‏419 KB

    Here's my cheat (and cheap?) way If you want to get fancy and center the numeric and boolean indicators, you could add spacers on the north and west sides, too.
    Attachments:
    ClusterSpacer.vi ‏13 KB

  • How to create programmat​ically a new step type in TestStand (to myTypes.in​i)

    I need to create a new step type to myTypes.ini file programmatically. I have tried to do it with following steps:
    - Get reference to engine
    - Load type palette files
    - creating new step type (engine.NewSteptype() )
    - Inserting new type using TypeUsageList.InsertType method. Problem with this is the first parameter. It excpects it to be in a form of PropertyObject, but engine.NewStepType returns it as a StepType object. If I try to use StepType.AsPropertyObject it returns an error.
    How to convert StepType object to a PropertyObject?

    And here it is in C++:
    TS::IEnginePtr mEngine;
    SAFEARRAY * typeList;
    TS::TypeUsageListPtr typeUseage;
    TS:tepTypePtr stepObj;
    mEngine = engine;
    mEngine->LoadTypePaletteFiles();
    typeList=mEngine->GetTypePaletteFileList();
    TS:ropertyObjectFilePtr *rgelems;
    SafeArrayAccessData(typeList,(void**)&rgelems);
    typeUseage = rgelems[0]->TypeUsageList;
    stepObj=mEngine->NewStepType();
    TS:ropertyObject *property = stepObj->AsPropertyObject();
    property->PutName("TestMe");
    typeUseage->InsertType(property, 0, TS::TypeCategory_StepTypes);
    rgelems[0]->IncChangeCount();
    rgelems[0]->SaveFileIfModified(true);
    SafeArrayUnaccessData(typeList);

  • How to load programmat​ically from CVI the specific sequence file in TestStand 3.1

    I am trying to implement TestStand from Windows/CVI 3.1. I need to insert a specific sequence file in TestStand, with all other sequences unloaded. I used TSUI_ApplicationMgrCloseAllSequenceFiles() and TSUI_ApplicationMgrOpenSequenceFile(), but after Username/Password prompt, the TestStand loaded all the old sequences. How to eliminate this?

    Hello,
    I created a function that calls those two methods. When I made a simple CVI button and in a callback for it, I call my function, it does successfully close all open sequencefiles and then load the one I specified; however, it does not work when I call the function just before the call to RunUserInterface! I am very surprised by this and will be bringing it up with our R&D department. There is a simple work-around. Instead of closing all open sequencefiles at the beginning of the OI, close them at the end instead. I have modified the full-featured OI for you and tagged in the code where I made changes. This should do exactly what you want (you may want to change the code around to make it a little cleaner...I left more in code in than I needed for instructive purposes). Please let me know if you have any questions about this. Take care!
    Regards,
    Aaron B.
    National Instruments
    Attachments:
    TestExec.c ‏55 KB

  • How to install newer version of apple mobile device support

    when i plug in my ipod touch it says "itunes requires a newer version of apple mobile device support. please uninstall both apple mobile device support and itunes then install itunes again" i dont know what to do?

    im getting this to! if you find out could you let me know please

  • How do I re-install the HP Network Devices Support Service?

    It is not listed under Services and Applications from My Computer.  I am running Windows 7.  
    I have an Officejet 6500 wireless all-in-one.  I can still print; however, when I start the HP Solution Center app, I get an error message that says the printer is not connected but I can print.
    This is a problem because I would like to do some scanning but I can't.
    Do I need to un-install and re-install?  I'm hoping all I have to do is download some file to re-install this service.
    Please let me know.
    Regards,
    Dave

    There is no driver from HP for your printer that would work on an Intel Mac, and I'm almost sure they won't release a driver for all but their very latest printers.
    There is an open source driver included with OS X for Intel that you can use, though. Go to System Preferences > Print & Fax and add a new USB printer. Select "HP DeskJet 900 series - Gimp-Print v5.0.0-beta2" as the driver.

  • How do I get iCal to sync to my iphone 4. It used to work and now it won't. Any suggestions will be most appreciated.

    How do I get iCal on my Mac to sync with my iphone 4.
    It used to work and now it doesn't.
    I am not on MobileMe or the Cloud.
    Any suggestions will be most appreciated.

    Hi Arezzo
    I'm asuming you are using iTunes then to sync? this can be done over WiFi or the USB cable.
    Review your setting for the calendar sync once iTunes is open and your iPhone is connected. Make sure your Calendars are selected to sync that you need. By default all calendars will.
    So the option i have for you is to reset the sync service and this will reset those settings in iTunes. Meaning that you will have to switch them on again in iTunes to sync. But this mostly clears unresolved sync issues.
    Please do yourself a favour and hit backup in iTunes before doing any testing. iTunes will then keep a local backup of your iPhone in case of any data loss.
    {added}
    open Terminal from your Utilities folder and paste this command in to reset. OS X 10.6 - 10.8
    /System/Library/Frameworks/SyncServices.framework/Versions/A/Resources/resetsync .pl full [press Enter]
    if it prompts for a password, just type your password and hit [Enter] again.
    Open iTunes then set your syncs up and it should then carry on again.
    Message was edited by: WaldoWTM

  • What's the best way to put a programmat​ically sizeable transparen​t image onto a VI front panel

    The problem is twofold: 1) how can programmatically read a transparent image (i.e. image with transparent background) and 2) how can I programmatically position and size that image onto a VI front panel. The best luck I had with item 2 was with a boolean custom control with an imported image. However, this control does not have a programmatic method for importing an image, so the image had to be manually cut&pasted into the custom control.

    Hi,
    If the image is static, it's possible. You can drop a metafile on the front
    panel, and use Panel>Decorations> to get a reference to the image. Resize it
    as desired.
    Changing the image (e.g. from file) is not possible this way, but you can
    put multiple images on the screen and change the visibility...
    If you want to make a picture viewer, I'd consider an activex control (this
    way you can load several picture formats without any programming).
    Regards,
    Wiebe.
    "Jim Campbell" wrote in message
    news:506500000008000000AF4E0000-1023576873000@exch​ange.ni.com...
    > The problem is twofold: 1) how can programmatically read a transparent
    > image (i.e. image with transparent background) and 2) how can I
    > programmatically position and size that ima
    ge onto a VI front panel.
    > The best luck I had with item 2 was with a boolean custom control with
    > an imported image. However, this control does not have a programmatic
    > method for importing an image, so the image had to be manually
    > cut&pasted into the custom control.

  • How do I get iCal to print the calender just as it appears on the screen, not as lines down the side to indicate length of event?  I like the whole bubble of time approach as it is on the screen.

    How do I get iCal to print my calendar just as it appears on the screen?  I like the whole block-out method rather than just a line down the side indicating the time devoted to an event.  Is there any way to change the style of how it' sprinted?

    View > Sidebar > Bookmarks (Ctrl+B)
    Press F10 or tap the Alt key to bring up the "Menu Bar" temporarily.

  • How do I sync iCal on my mac with OS 8 devices

    How do I sync iCal on my mac with OS 8 devices

    Hi jgiolma,
    Since you do not mention what version of the Mac operating system you are running on your MacBook Pro it is a little hard to answer your question. For computers running Mac OS X Lion 10.7.5 or later one way to sync your calendars would be to use iCloud. See this article for minimum system requirements for iCloud -
    System requirements for iCloud
    Information on using iCloud for your calendars can be found here -
    iCloud: Calendar overview and
    iCloud: Using iCloud Calendars with Calendar and iCal
    More general information about iCloud is available here -
    Apple - iCloud - Everything you love, everywhere you go.
    Thanks for using Apple Support Communities.
    Best,
    Brett L 

  • How do I programmatically reference the current page in 902?

    Hello,
    How do I programmatically reference the current page in 902?
    The Portal Smart Text option for Current Page is not flexible enough, and I wish to create my own custom greeting using PL/SQL.
    Cheers,
    John

    hi,
    If you are developing a PLSQL Portlet, then you do have a way for getting the page URL.
    The page URL can be obtained from the record, portlet_runtime_record. There is a filed page_urlavailable with portlet_runtime_record.
    The portlet_runtime_record is passed as a argument to the show_portlet procedure.
    --Sriram                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Maybe you are looking for

  • Linksys vs. extreme

    I am going to be buying a linksys router this weekend, but i have been looking at the airport extreme quite a bit today. i have seen where a lot of people are saying that linksys drops the connection alot, etc. i am sure AE isn't without its problems

  • Invalid Column Name Problem

    Hi.. I have a table component and that is bound to a Database Table. I have button name "UPDATE" which commits changes to DB. When I press "UPDATE" button an error occurs... Number of conflicts while synchronizing: 1 SyncResolver.UPDATE_ROW_CONFLICT

  • Can't boot from Windows 7 DVD

    I'm running OS X 10.7.1 on a Mid-2007 MacBook Pro, and trying to install Windows 7 Professional 32 bit via Boot Camp. The partition went fine, but when I try to reboot off the DVD, I get something very strange. It boots to a grey screen, and flashes

  • Handle Idoc errors through workflow

    How  to handle inbound idoc  errors  through  workflow and How  to handle outbound idoc  errors  through  workflow Thanks, Asha

  • Bring back the desktop clock

    I have just purchased a new Mac mini with OS 10.5.6. I migrated all my files and settings with no problem from my older Mac but there is no desktop clock! The Time and Date System Preferences does not provide that option. I always thought Apple made