Q: Parsing an IAK file in LabVIEW

Hello,
I am looking for a way to read the fieldpoint channel names in their real order (not sorted) _and_ their corresponding range settings from an IAK file. Hardware is a FP-1001 network module connected via RS485 and a handful of AI-110s and AO-210s.
Has anyone found a way to do so yet?
Tried the FP get configuration info VI without succes, it sorts the channel names alphabetically. Edited the VI (threw out the sort array funktion), but no success: Channels now are mixed in no sensible way (the documentation confirms this behavior).
For the ranges, I've looked at the optomux !E, but a) it needs a FP ressource connected (can't work offline this way), and b) I have no clue yet of how to match these ranges with the well-mixed channel names :-(
Maybe someone here can help?
Yours, sincerely,
Sebastian F. Kleinau

I don't think that the ActiveX control exposes the
necessary methods and properties to be able to read the range of
FP-items. But there is another way to do that:
You can use Logos to get the info you need. You use the Datasocket
Read.vi in LabVIEW and use the Logos connection URL (ex.
lookout:\\10.0.34.183\FP\1TC\00\ConfiguredRange) to get the data. If
you have LabVIEW 7.0 or later it is even easier... Follow these step-by-step
instructions:
1) Open a new VI and place a Numeric Indicator on the front panel
2) Right click on the Numeric Indicator and select "Data Operations >> Datasocket Connection"
3) Click the "Browse" button and select "Browse Measurement Data"
4) Type in the IP address of the FP controller and press the "Refresh" button
5) Navigate to the Attribute you are intersted in (ex. FP>>1TC>>00>>Attributes>>ThermocoupleType)
and press the "OK" button
6) Click the "Attach" button
7) This will allow Datasocket to read from the location specified (ex.
lookout:\\10.0.34.183\FP\1TC\00\Attributes\Thermoc​oupletype) and
populate that data into the Numeric Indicator.
8) I found I needed to put a while loop around the indicator with a
loop delay and stop button to get any good data out.
*** The data you get back will be the code for the values... You will
have to just experiment to see what value means which attribute.
However, this will allow you to get the data. You can also cut and
paste the URL you get from steps 1-5 into the URL input of a Datasocket
Read.vi instead of using the Datasocket attach shortcut I do here...
Best regards,
Jochen Klier
National Instruments Germany
Message Edited by Jochen on 09-02-2005 08:34 AM

Similar Messages

  • Can I programmatically change the FP IAK file in LabView

    We are using our FP-1000 as dataloggers for thermocouples and voltage reading. However the configuration of the setup may change depending on which (and how many) modules are attached to the communication module. I would like my program to go out to the FP and figure out which modules are attached and then ask for channel configuration info form the user. This will prevent from needing multiple iak files and the operator will not have to use FP Explorer. Can this be done? Thanks.

    Mike,
    Yes, this can be done. You can use the low level serial FieldPoint VIs to do what you wish. The FieldPoint Serial VIs are located under the FieldPoint>>Advanced>>Serial Configuration palette. Side Note: These VIs used to be installed by default only if you had LabVIEW RT on the system, you may need to do a custom reinstall of NI-FieldPoint to get the VIs. The VIs allow you to determine what modules are attached (!B), configure the channels (!D), and read/write the channels. These commands are all documented in the FP-1000/1001 Programmers Reference Manual available at http://digital.ni.com/manuals.nsf/websearch/EE241C7357D3F8CE862567840072F554?OpenDocument&node=132100_US .
    Regards,
    Aaron

  • Parse fieldpoint IAK file -- get channel names and ranges?

    Hello,
    I am looking for a way to read the fieldpoint channel names in their real order (not sorted) _and_ their corresponding range settings from an IAK file. Hardware is a FP-1001 network module connected via RS485 and a handful of AI-110s and AO-210s.
    Has anyone found a way to do so yet?
    Tried the FP get configuration info VI without succes, it sorts the channel names alphabetically. Edited the VI (threw out the sort array funktion), but no success: Channels now are mixed in no sensible way (the documentation confirms this behavior).
    For the ranges, I've looked at the optomux !E, but a) it needs a FP ressource connected (can't work offline this way), and b) I have no clue yet of how to match these ranges with the well-mixed channel names :-(
    Maybe someone here can help?
    Yours, sincerely,
    Sebastian F. Kleinau

    Hi,
    Please take a look at the following knowledgebase:FP Get Configuration Info.vi Returns Values in a Different Order
    I think this is what you are looking for.
    Regards,
    Timo

  • How to open a .MAT file in LABVIEW

    Hey everyone,
    I currently have a .MAT image file which I would like to open in LABVIEW to apply some image filters. However, I am unsure as to how to open the .MAT file in LABVIEW. Ideally I would like to be able to open the .MAT file without using matlab, and it seems the only way to accomplish this task is through the mathscript node. I have attached an example of the image im trying to open, as well as the LABVIEW program which I would like to use on the image. Thanks for the feedback! =]
    Attachments:
    MAT_Image_Adjust.zip ‏1779 KB

    Hi Boiler,
    1) Do you have a choice in the format you export your data from MATLAB?
    "ASCII Format
    Complete the following steps if you want to import or export data between LabVIEW and the MATLAB® environment, the process is straightforward as long as you are using ASCII format.
    From the MATLAB® environment to LabVIEW
    To save a vector or a matrix Xin ASCII format with tab delimiter, enter the following in the command window or m-script file in the MATLAB® environment:   
    >>SAVE filename X -ascii -double -tabs
        This creates a file whose name is filename, and it contains the data X in ASCII format with a tab delimiter.
    Import the file into LabVIEW using the Read From Spreadsheet File VI located on the Programming»File I/O palette.
    2) Have you tried using the mathscript node? Did you get any errors?
    "Binary Format
    Complete the following steps if you want to import or export data between LabVIEW and MATLAB®.
    From the MATLAB® environment to LabVIEW
    To read a .mat file in LabVIEW would require a VI to parse the file. This may be easier if each variable is saved to a separate file.
    " -- this was done here, no ideas if it still works,
    I want to read a Matlab MAT file into labview
    Hope this helps, 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!

  • Where is the iak file defined in the project?

    I made changes to the *.iak file in MAX including the file name and now there are yellow bangs on the RT target and its subfolders in Project Explorer.  (The RT taget is a cFP-2110)  What is the best way to resolve this?
    Dave J.

    Dave,
    I lifted this out of the Fieldpoint help.  Suggest you make a backup of project before you try anything.
    Importing FieldPoint Configuration Files into LabVIEW Projects
    If you already have a FieldPoint system or systems configured in MAX, you can import your .iak configuration file to a new project in LabVIEW. Complete the following steps:
    Right-click the project name in the configuration tree and select Import»FieldPoint Configuration.
    Browse to the location of the .iak file, select it, and click Open.
    When you import a configuration file, LabVIEW makes a copy of the file for the project and automatically saves the file when you change the project. The original configuration file remains unchanged.

  • FP-module don't use new *.iak when changing to iak-file on runtime

    Hi folks,
    I'm using FP1001 (RS-485) communication modules with a bank of FP-AI-110
    (8 x AI) and FP-SG-140 (8 x StrainGauge) with LabVIEW 6.1.
    Since I need to change input ranges of the modules on runtime
    (autoranging feature) and there is no vi to manage this, I created a
    couple of iak-files with the FP-explorer (V3.02, build 177), where I set
    the approbiate input ranges. My application then monitors the analog
    input data of the modules and changes the used iak-file as needed to
    prevent over- and underranging.
    When changing the iak-file the current session is closed (FP-Close) and
    the next session is opened with FP-Open and Create Tag, continuing with
    FP-read.
    My application does its' job well, since I monitor the currently used
    iak-file, range and the fact that sessions get closed before opening the
    next, but the FP-modules won't restart using the new range settings,
    after the following session is started with the other iak-file. The
    modules allways keep the previous settings.
    So whats wrong?
    Btw.
    I noticed FP-Explorer also has its problems changing module- ranges,
    after loading a new iak-file.
    So I startup the FP-Explorer with a iak-file for a low range setting
    (module input range) and increase the input voltage at the module input
    just as much that a overrange occurs. Then I load another iak-file with
    higher range-settings. FP-explorer shows the higher range in its range
    column, but when monitoring the module input values, overrange is showed
    first. After restarting monitoring, the input values are showed
    correctly.
    Heres' the problem:
    Loading the previous iak-file again, the overrange should show again,
    since the input value was left at the higher value, as set before. But
    no overrange shows! FP-Explorer monitors the higher input value which
    istn't within the input range, showed in the range column.
    So FP-explorer hasn't switched down the modules range!!!
    Restarting monitoring, or reloading the iak-file doesn't change
    anything. Restarting the FP-explorer shows overrange again when starting
    to monitor values. Restarting monitoring lets the FP-explorer continue
    to monitor the higher input value, which is above the range showed in
    the range column.
    The only thing which helps all the time, is to open the devices context
    menu, then to click on "Edit this device", and click on channel
    configuration. Then a pop-up window asks which setting to use (file or
    device). If I click on file, all the settings of the current used
    iak-file are used correctly.
    Ciao,
    Rainer

    Rainer,
    The FieldPoint IAK File is used in application programs (e.g. LabVIEW, LabWindows/CVI, OPC) for channel names, handle information and scaling information. FP Open.vi launches the FieldPoint Server with the specified IAK file, and uses the information in the specified IAK file for scaling (serial modules require scaling on the computer, ethernet modules scale the data in the network module) but does not re-configure the IO modules according to the IAK file. Likewise, opening an IAK file in FieldPoint Explorer does not reconfigure the IO modules to match the IAK file. The only times that settings are synchronized between the IAK and the modules are when a)the Find Devices command is issued (config from modules loaded), b) the Channel Configuration wi
    ndow is opened (file or module config can be choosen) or c) a Snapshot command is issued (current settings of modules are stored).
    Currently, the FieldPoint Server VI's do not allow dynamic re-configuration of ranges. If you wish to dynamically reconfigure your module ranges, you will need to use the FieldPoint Optomux VI's, which are located under the RT sub-palette of FieldPoint. They are installed by default only if you have LabVIEW RT, so you may need to re-install FieldPoint Explorer (custom install) to get them. For more information on the Optomux commands, please see the FP-1000/1001 Programmers Reference Manual.
    Regards,
    Aaron

  • How to convert RDF file to Labview File

    I am trying to open a RDF file in Labview. What are some steps I can take to allow Labview to open the RDF file.

    You mean RDF as in Resource Description Framework ? You can use XML parser in Files->XML->XML Parser palette.

  • Want to lesen PDF file in labview

    i want tranfer a PDF file to binary String. And store the string in a oracle datebase. First of all, how can i lesen the PDF file use labview?

    Portable Document Format, short pdf, is (in general) an open file format. You can find information about this here.
    So if you can open the file at all depends on if it is encrypted or not (see usage restriction). Another point is that the text you are reading in a pdf-reader is not stored in the pdf like in any other ASCII-file. There are formatstrings, imagelinks (and data) and other things included WITHIN your text. Afaik (short for "as far as i know"), there are no "preprogrammed" pdf-reader available in LabVIEW, but maybe someone else knows a little more about that.
    So if there isn't one, you can only write a pdf-parser on your own......
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to create and read text file using LabVIEW 7.1 PDA module?

    How to create and read text file using LabVIEW 7.1 PDA module? I can not create a text file and read it.
    I attach my code here.
    Attachments:
    File_IO.vi ‏82 KB

    Well my acquisition code runs perfect. The problem is reading it. I can't seem to read my data no matter what I do. My data gets saved as a string using the array to string vi but I've read that the string to array vi (which I need to convert back to array to read my data) does not work on the pda. I'm using version 8.0. So I was trying to modify the program posted in this discussion so that it would save data from my DAQ. I did that but I still can't read the data after its saved. I really don't know what else to do. All I need to do is read the data on the pda itself. I can't understand why I'm having such a hard time doing that. I found a possible solution on another discussion that talks about parsing the strings because of the bug in the "string to array" vi. However, that lead me to another problem because for some reason, the array indicators or graphs don't function on the pda. When i build the program to the pda or emulator, the array indicators are faded out on the front panel as if the function is not valid. Does this kind of help give a better picture of what I'm trying to do. Simply read data back. Thanks.

  • Importing and displaying DXF files into Labview

    Dear all,
    Building an application for motion control, I want to import a DXF file into labview to be used as a template for the motion. For verification I would also need to display it. I cannot use ActiveX properly bcse I develop on Mac....
    If you have any idea or experience on how I might do this, I will be glad to hear from you !
    Thanks in advance !
    Regards,

    To display (not parse) DXF files and other CAD file formats (PRT, SLDASM, SLDDRW, SLDPRT) I've been using an ActiveX container with the EModelViewControl object from the free SolidWorks eDrawings. Use the OpenDoc method to display the file in the container (see attached snippet).
    - Philip Courtois, Thinkbot Solutions
    Attachments:
    eDrawings snippet.png ‏21 KB

  • Labvew is not recognizin​g the .iak file

    hi-
    I am trying to execute my program in labview, using my cFP-2020.  However, it will not recognize my .iak file.  When I go to view configuration, it is listed with the correct file path but will not go to the file.  It is giving me an error message 32812.  I have tried moving the .iak file to a different location and no change.  When I execute the program in my RT target, it works fine.  Also, everything in MAX works fine.  I am using LabView 7.1 with the simple FP write vi.  I read through the other posts and could not find anything that would fix the problem.
    Thanks,
    Curt

    Hi Curt,
    Try creating a new .iak file within Measurement and Automation Explorer (MAX) and referencing it instead.  Now does a simple program with FP Write work?  If so, refer to the knowledgebase article titled Error 32812 From FieldPoint VIs for more information (situation 5).  If not, please post back and we will continue to troubleshoot.
    Peter K.
    National Instruments

  • How to read the iak file in visual c#

    I am trying to read the iak file from visual c#.  How to parse the file?
    I need to know how and what information is stored in the file.
    Why?
    We have Fieldpoints and every time we are moving them around, or the eqjuipment connected to them.  Every time we have to go back and update the program reading the data from the Filedpoints.  If the program can read the iak file, it will be better.

    AlbertJ,
    With the Microsoft .NET Framework version 1.1 or later, you can
    use NI-VISA to create applications using Visual C# and Visual Basic .NET without
    Measurement Studio. You need Microsoft Visual Studio .NET 2003 for the API
    documentation to be installed.
    The installed documentation contains the NI-VISA API overview and
    function reference. This help is fully integrated into the Visual Studio .NET
    documentation. To view the VISA .NET documentation, go to
    Start»Programs»National Instruments»VISA»NI-VISA .NET Framework 1.1
    Help. Expand NI Measurement Studio Help»NI Measurement Studio
    .NET Class Library»Reference»NationalInstruments.VisaNS to view the
    function reference. Expand NI Measurement Studio Help»NI Measurement
    Studio .NET Class Library»Using the Measurement Studio .NET Class
    Libraries»Using the Measurement Studio VisaNS .NET Library to view
    conceptual topics for using NI-VISA with Visual C# and Visual Basic .NET.
    To get to the same help topics from within Visual Studio .NET
    2003, go to Help»Contents. Select Measurement
    Studio from the Filtered By drop-down list and follow
    the previous instructions.Examples can be found at C:\Program Files\National Instruments\MeasurementStudio(version #)\DotNET\Examples\Visa. These examples are installed when you install the VISA driver with .NET support.
    Test Engineer - CTA

  • Read IP address from iak file

    Hello,
    I have several cfp-1804 modules connected and functioning properly.  I would like to programatically read the IP address for each module from the *.iak file or maybe from MAX.  I want to be able to determine the IP address within my LabVIEW program even if the modules are disconnected or powered off.
    Thanks.  Corey

    I am using the LabVIEW project and after looking at the .aliases file I see the IP address.  I think that will work for me.  Thanks.
    The modules frequently get disconnected from the network or power is removed.  I want the IP address so I can Ping the modules to determine if they are connected.  I didn't want to hard code in the IP address, so that is why I wanted to pragmatically read it.  Currently, I try to read a value from the cfp-1804 to determine connection status.  This works, but it takes a long time (up to 30 seconds) if the unit is disconnected.  I also have experienced an issue where I can disconnect the network cable, but am still able to get a reading from the cfp module.  I've read that this is possible because the data is cached locally.

  • The niFPui.mxx plug-in caused an exception in the CmxAggregateItemUI::InvokeCommand function in the NIMax process. When saving *.iak file in MAX4.6

    The niFPui.mxx plug-in caused an exception in the CmxAggregateItemUI::InvokeCommand function in the NIMax process. When saving *.iak file in MAX4.6
    Hi There,
    The subject header just about says it all. This is the first action I took with MAX - it is a fresh install. The file I wanted to save was still written and the FP seems to be working ok. However, I need to know what happened.
    I can't post the whole log file due to the amount of characters allowed on this post. I can cut and paste sections if there is a specific part of the file you need. Below is the first section and last section.
     Context where exception was caught:
    Func:
    CmxAggregateItemUI::InvokeCommand Args: plugin=niFPui.mxx Item=0107EAB1
    cmdID.cmdId={4A36174B-EC0C-4D73-A23D-F15D164542DE} cmdID.index=0
    Application   : C:\Program Files\National Instruments\MAX\NIMax.exe
    User Name     : slaney
    OS Version    : 5.1.2600 (Service Pack 3)
    Exception Code: C000001E
    Exception Addr: 457BC448
    Return Address: 457BC448
    Function Name : nNIFPServer::tFpLinearScaleRange::`vftable'
    Module Name   : FieldPoint71
    Parameters    : F001008E 7800FDDD C5100DFC EC0107EA
    Source File   : (not available)
    Return Address: 481000C3
    Function Name : (not available)
    Module Name   : (not available)
    Parameters    : 00000000 00000000 00000000 00000000
    Source File   : (not available) 

    Hi,
    I did a research on your error message and it seems this problem was introduced with MAX 4.6. This version switched to a new error reporting mechanism and reports even errors that are which are not critical to your task.
    These errors typically show up as "unexpected" and if your error falls into this category have a look to this KB for further assistance.
    If it doesn't fall into this category, your could try to go back to the MAX 4.5 or 4.4.. Of course you would need to reinstall some components and might not be able to use newer drivers at all.
    Let me know.
    DirkW

  • My LV program can't find the iak file when the program is loaded from a different PC.

    Hello all,
    My LV vi with Fieldpoint I/O and it's IAK file are stored on the company network.  If I load and run the LV vi from the PC it was developed on, everything is fine.  If I load and run on a different PC (that has an identical install of LV), the LV vi can't find the IAK file (all of the I/O pointers to the file are grayed out.) 
    Also, if I make an EXE out of the vi on the machine that can find the IAK, it won't find it if it's run from the other machine.
    It is not related to whether one machine has different "rights", as they are identical.  It's not related to different installs of LV, as they are identical.   
    I have found that this is related to the network login name/password, and to the machine's network name.  If I login on the second machine and try to run the program, it won't find the IAK.  If I point it to the IAK it will run.  If I save it and log out, and then login as a different user with the same rights on the second machine, it won't find the IAK again, until I re-point it there when I re-run it.  This is true for both the vi and the EXE.
    This problem makes deploying the EXE difficult to different machines, as the first time it's run, the EXE has to be pointed to the IAK.  Pointing the EXE to the IAK is difficult as these installations have no keyboard or mouse.
    Does anyone have any ideas on how to fix this so the LV vi or it's EXE finds the IAK from no matter where it's loaded from?
    Thanks,
    Mike

    Laura,
    I figured I'd continue this thread because it's along he same line..
    I have two Fieldpoint systems. They are identical, except for one thing...one has an AI-110 in position 7...the other has nothing. Both have the same IP address, etc and I swap the ethernet cable between them when I want to select which one I use.  I use a dedicated ethernet card to the FP processor...and it's not the company net.
    There are two IAK files...one for the system with the AI-110, one for the system without the AI-110. The two IAKs are in different paths.
    Before I had the system and the IAK without the AI-110, I made an EXE of the code that woked with the AI-110, and it worked fine.
    But now if I run the EXE after I've used MAX and opened the IAK without the AI-110, the EXE won't read the AI-110!  I have to go back into MAX and open the IAK that has the AI-110 in it, close MAX and restart the EXE for the EXE to see the AI-110.  (Max is NOT SET to "Download Items on Save")
    I looks like the EXE is looking at MAX to get the IAK or a pointer to the IAK.
    Did I build my EXE incorrectly?  Shouldn't an EXE completely ignore MAX once it's made?
    Thanks,
    Mike

Maybe you are looking for