Read memory data [ANRITSU MS9710B GPIB]

Hi,
I'm trying to get spectrum form ANRITSU MS9710B OSA via GPIB link. I am using the VIs provided by ANRITSU, there is no problem to detect the device and communicate with it.
I got a problem when it comes to get the values from memory with "Read memory data.vi"; in fact, it detects the start wavelenght but stops the acqusition at the first sample.
Does anyone already had this problem ?
I can read this warning from the vi : 1073676294 occured at VISA read
Possible reasons: VISAHex 0xFFF0006). The number of bytes transfered is equal to the requested input count.More data might be available.
Thanks.

Status Code 1073676294 (Hex 0x3FFF0006) maps to a status report. The status code indicates The Number of Bytes Transferred is Equal to the Input Count. More data might be available. This is not an error message, but a status report indicating the value written to the input buffer has been successfully read and is now empty.
Error codes are assigned negative numbers and status codes are assigned positive numbers. You can ignore an error if the error status boolean is false. There are a variety of positive status codes such as this one that the VISA driver can return indicating the status after VISA operations.
Because there are applications where it is necessary to check status codes, they are returned in the error cluster without the error boolean set.

Similar Messages

  • I am using NI PXIe-1073 with Labview-2014.After deploying the VI how can i read the data through host computer?

    sankar,new delhi

    PIB. I want to read the data from the GPIB after the operation complete. I am using *opc? command, which should set the status register bit after the completion of the operation, but this is not working. How to know that the Operation is complete"-Thanks.The NI-488 global status variables ibsta, ibcnt, and iberr is what you are looking for. Look into the 4882 help file for details. Also NI-Spy, http://www.ni.com/support/gpib/nispy.htm, is a good debug util. There is a website that lists common GPIB error codes and solutions. You may check there for some things to try. You'll find the link at ni.com > Support > Troubleshooting > Installation/Getting Started > GPIB, titled "GPIB Error Codes and Common Solutions".
    You could find a driver for this instrument at http://www.ni.com/devzone/idnet/default.htm . If it's not listed there, it leaves you with one of a couple options. First, I would like you to submit a request for this driver at: http://zone.ni.com/idnet97.nsf/instrumentdriverrequest/
    We develop dri
    vers based on demand and popularity so the more requests we have for it, the greater the possibility that we will develop one.
    If you would like to try developing your own instrument driver (or modify the existing one), we have documentation, model instrument drivers, and driver templates to help at :
    http://www.ni.com/devzone/idnet/development.htm
    We also have a syndicate of third party vendors that specialize in National Instruments' products and services. Some of the vendors specialize in driver development. I would suggest contacting one of the Alliance members at:
    http://www.ni.com/alliance
    Hope this helps.

  • Data logging with gpib device

    I have a lock-in amp controlled by labview via gpib. My goal is to use the
    "advanced data logger" supplied with labview to log data from a daq card
    and the output from the lock-in amp. I have the lock-in vi working correctly
    and have the output on the screen. I don't know how to get the pre-packaged
    "advanced data logger" to read in data from the gpib device. I can only
    read in data from my daq card.
    Any assistance in this matter would be appreciated.

    1.  An OR function should work just fine for you.  I don't understand what you mean that the functionality changed.  If the reset button is true OR the Trip button is true, then a True gets put in the notifier and the Trip file functions are executed.
    I don't understand your "Scale".  Right now you have a zero if the button is true and 100 if it is false.  You don't have anything else going on with it.  I don't understand the stay at zero part.  How would it ever get to the point where it isn't zero.
    2.  For the main log file, you could detect when 43200 iterations of the loop have passed and at that time, just reset the writing to the beginning of the file.
    See attached.
    Attachments:
    Save_Previous_10_SecondsMOD3.vi ‏27 KB

  • How to read the data in spectrum analyzer (Anritsu MS2661C) and put it in Excel using Labview

    Hi all, I'm new to using the labview, and I have some trouble doing my project using the labview software.
    I have been trying to use the spectrum analyzer (Anritsu MS2661C) which connect to computer using the GPIB connection.
    I have got the instrument driver which can write and control the instrument using Labview 2010.
    and my Question is how do read the data or result from the spectrum analyzer and send it to the microsoft excel?
    Do I need to use other software or programming to do this step?
    If anyone know how is this done, please let me know.
    Regards,
    Ery

    Hi ery,
    In order to send data that you have read in from an instrument to Excel, the most convenient way to do this would be to use our Report Generation Toolkit.  The Report Generation Toolkit is a very useful tool that allows you to interface to Microsoft Office software from LabVIEW, including Word and Excel.  I am not sure if you are familiar with this, but I have attached a link that explains more about the Report Generation Toolkit below.  
    Another way would be to use the Write To Spreadsheet File VI.  While this will store your data to a spreadsheet data file, it will not allow you to programmatically perform any Excel formatting like the Report Generation Toolkit offers.  I have also attached a link to some information on the Write To Spreadsheet VI below.  
    Also, be sure to check out the Example Finder in LabVIEW for a number of examples on how to write data to a spreadsheet file.  From LabVIEW, you can go to Help»Find Examples to launch the Example Finder.  From there, you can search for "spreadsheet," which should populate examples for use in different applications.  I hope this helps, ery.  Please let me know if you have any further questions about these!
    NI LabVIEW Report Generation Toolkit for Microsoft Office
    Write To Spreadsheet File VI 
    Taylor G.
    Product Support Engineer
    National Instruments
    www.ni.com/support

  • How to read data from a GPIB when sending a function generator command

    I'm using Visual C++ with the ComponentWork ActiveX and I'm tring to plot a
    CWGraph using the data coming from a GPIB device. When I write command such
    as "*IDN?" to the GPIB device, everythings if fine and I can read what the
    GPIB device return me. But when I send a command like "SOUR:FUNC SIN;SENS
    DATA?", the writing seems to be okay, but when I try to read the data, I
    alway get a "Timeout expired before operation completed" error message. I
    have tried with the CWGPIB and with the CWVISA but the result are the same
    with both.
    My reading code looks like this:
    COleVariant vReadBuffer;
    vReadBuffer = m_VISA.Read( COleVariant( (short) 2000 ) );
    and it work fi
    ne for "*IDN?" or for multimeters command.
    I want to know how I must read the data for function generator commands.
    Thank alot

    It sounds like your device is not accepting that command string as valid. The string you listed above is probably missing a colon between SENS and DATA. "SOUR:FUNC SIN;SENSATA" Try sending this string in Measurement & Automation Explorer to the instrument first to make sure it is working.
    Best Regards,
    Chris Matthews
    Measurement Studio Support Manager

  • Working with Binary data from the Gpib Read Function

    I m using the gpib read command to recieve data from a gpib instrument. I already know the form of the binary data being sent back. I have programmed it in matlab before. I am haveing trouble parseing out the binary data I recieve. the basic form of the data is
    #I immediately followed by 401 64 bit ieee floating point numbers. When I programmed this in matlab the code I used was of the form:
    [a,count,msg]=fread(g2,2,'int8');
    [a,count,msg]=fread(g2,401,'float64');
    for those that don't know matlab code the command reads data from the instrument pointed to by the g2 handle. the number after the g2 above speicifies the number of values to read. And the last part the string in qoute specifies the way the binary data
    is to be interepeted. the output arguments a count and msg are
    a-your data
    count-number of items succesfully read in
    msg-error message
    In the above two lines I use the variable a twice to capture the data. The first time a is set equal to '#I' everything inside the qoutes. The second time a is set equal to the actual data, in this case 401 64bit floating point numbers. I m convince that the flatten to string and unflatten from string function are the set meant to accomplish this task. But I haven't been able to find a good example of how to use these functions. Especially with an array.
    Can some one please help me?
    Thanks
    Scourched

    I'm pretty sure what you're describing is a simple typecast in LabVIEW. You will want to strip off the #I first, using string manipulation functions. Then, you can wire the string into a "typecast" VI, and wire a double precision float constant to the top connector of the typecast (this tells the VI that you expect a 64 bit float output) and then you can read your resulting array of double precision floats on the output of the typecast. The typecast VI is found in All Functions >> Advanced >> Data Manipulation.
    I've attached an example in LabVIEW 7.0 and also 7.1 format.
    Scott B.
    Applications Engineer
    National Instruments
    Attachments:
    typecast.vi ‏11 KB
    typecast.vi ‏13 KB

  • Can I use LabVIEW to load data directly into system memory? The serial card I'm using isn't supported by NI nor does VISA recognize it. I'm using a Win32 function to read the data from the card and now I want it to go directly to system memory.

    Can I use LabVIEW to load data directly into system memory from a VI? The serial card I'm using isn't supported by NI nor does VISA recognize it. I'm using a Call Library function to read the data from the card and now I want it to go directly to system memory.
    The data is being received at 1Mbps.
    Thanks

    Two questions:
    One, if it's a serial card, then presumably it gives you more serial ports, like COM3, COM4, etc. If so, VISA would see the COM ports, and not the card directly. The drivers for the card should make it so that you see the extra serial ports from the OS. If you don't see the extra COM ports from VISA, then it sounds like the drivers for the card are not installed properly. Do the extra COM ports show up in Device Manager?
    Two, you said that you're using a Call Library function to get the data and you want to put it into system memory. Errr.... you just read the data and you have it in memory by definition. Are you saying you need a way to parse the data so it shows up on a graph or something?

  • I want to read data via a GPIB card

    Dear Sir,
    Who has the experience about how to read the data via a non-NI supported GPIB card? I have an AX5488 GPIB card (NEC7210 chip), however, this card has no LABVIEW driver for V.6.0i. But the manual showed the BASIC and C code examples for reading data via it. So I think is there any way to do as well as the BASIC or C code process. On the other hands, the interface card and NEC7210 chip occupy at &HF000 and &H62E1, respectively.
    Can I use “IN PORT” or “OUT PORT” in LABVIEW? If so please tell me how to do, if not please tell me has there any best way to do it? Or ….
    Thank you for your help.
    Hong-Ying Chen

    Hi,
    If the driver functions for your interface are available from a dll, you can use LabVIEW's "Library Function Call Node" VI. This VI allows you to call external C functions in dlls.
    Using this VI you can wrap around the dll C functions and use the VIs in your labview code.
    DiegoF.
    National instruments.

  • Getting the same return string while reading multiple times from a GPIB instrument

    I'm having problems reading data from a GPIB instrument.
    I'm using a sequence similiar to this:
    1. Send a "MEASCALRES?" command to the calibrator to measure the current pressure.
    2. Read the result string sent from the calibrator.
    3. Send a "SYST:ERR:NEXT?" query to check if an error has occured.
    4. Recieve the error string from the calibrator.
    When running the program, the error string sometimes contains the same data as the pressure reading. For example, if the calibrator's pressure output string was "1.0000000e2", the error string might be "1.0000000e2" or sometimes just "20, No Errors", with the extra "2" added to the normal "0, No Errors".
    The problem a
    ppears to occure randomly, a rough estimate would be that it happens one time out of 50 readings.
    Are there any relevant GPIB card settings I can change to fix the problem?

    It looks to me that more data is send or data end is signalled to early by hte iocard.
    Maybe you should check the gpib bus cable speed. The default is much too fast for almost all instruments. Put it on 2 microseconds (the slowest speed). And we always disable autopolling, to prevent asynchronous actions.
    greetings from the Netherlands

  • How we can see the abap memory data

    How we can see the abap-memory data
    fine the code below
    import lsind
             report_title
             table_name
             report_field
             change_display
             show_hide
             conversion_exits
             table_description
             form_program
             select_form
             update_form
             line_size
             line_count
             records[]
             fields[]
             header_fields[]
             select_fields[]
             xrep[]
             from memory id 'LZUT5U11'.
    Regards
    santhosh
    mail-id : [email protected]

    Dear Santosh,
    ABAP MEMORY:
    A logical memory model illustrates how the main memory is distributed from the view of executable programs. A distinction is made here between external sessions and internal sessions .
    An external session is usually linked to an R/3 window. You can create an external session by choosing System/Create session, or by entering /o in the command field. An external session is broken down further into internal sessions. Program data is only visible within an internal session. Each external session can include up to 20 internal sessions (stacks).
    Every program you start runs in an internal session.
    All "squares" with rounded "corners" displayed in the status diagram represent a set of data objects in the main memory.
    The data in the main memory is only visible to the program concerned.
    CALL TRANSACTION and SUBMIT AND RETURN open a new internal session that forms a new program context. The internal sessions in an external session form a memory stack. The new session is added to the top of the stack.
    When a program has finished running, the top internal session in the stack is removed, and the calling program resumes processing.
    The same occurs when the system processes a LEAVE PROGRAM statement.
    LEAVE TO TRANSACTION removes all internal sessions from the stack and opens a new one containing the program context of the calling program.
    The ABAP memory is initialized after the program is called. In other words, you cannot transfer any data to a program called with LEAVE TO TRANSACTION via the ABAP memory.
    SUBMIT replaces the internal session of the program performing the call with the internal session of the program that has been called. The new internal session contains the program context of the called program with which it is performed.
    When a function module is called, the following steps are executed:
    A check is made to establish whether your program has called a function module of the same function group previously.
    If this is not the case, the system loads the associated function group to the internal session of the calling program as an additional program group. This initializes its global data.
    If your program used a function module of the same function group before the current call, the function module that you have called up at present can access the global data of the function group. The function group is not reloaded.
    Within the internal session, all of the function modules that you call from the same group access the global data of that group.
    If, in a new internal session, you call a function module from the same function group as in internal session 1, a new set of global data is initialized for the second internal session. This means that the data accessed by function modules called in session 2 may be different from that accessed by the function modules in session 1.
    You can call function modules asynchronously as well as synchronously. To do so, you must extend the function module call using the addition STARTING NEW TASK ''. Here, '' is a symbolic name in the calling program that identifies the external session, in which the called program is executed.
    Function modules that you call using the addition STARTING NEW TASK '' are executed independently of the calling program. The calling program is not interrupted.
    To make function modules available for local asynchronous calls, you must identify them as executable remotely (processing type: Remote-enabled module).
    There are various ways of transferring data between programs that are running in different program contexts (internal sessions). You can use:
    (1) The interface of the called program (standard selection screen, or interface of a
    subroutine, function module, or dialog module)
    (2) ABAP memory
    (3) SAP memory
    (4) Database tables
    (5) Local files on your presentation server.
    For further information about transferring data between an ABAP program and your presentation server, refer to the documentation for the function modules WS_UPLOAD and WS_DOWNLOAD.
    Function modules have an interface, which you can use to pass data between the calling program and the function module itself (there is also a comparable mechanism for ABAP subroutines). If a function module supports RFC, certain restrictions apply to its interface.
    If you are calling an ABAP program that has a standard selection screen, you can pass values to the input fields. There are two options here:
    By using a variant of the standard selection screen in the program call
    By passing actual values for the input fields in the program call
    If you want to call a report program without displaying its selection screen (default setting), but still want to pass values to its input fields, there is a variety of techniques that you can use.
    The WITH addition allows you to assign values to the parameters and select-options fields on the standard selection screen.
    If the selection screen is to be displayed when the program is called, use the addition: VIA SELECTION-SCREEN.
    Use the pattern button in the ABAP Editor to insert a program call via SUBMIT. The structure shows you the names of data objects that you can complete with the standard selection screen.
    For further information on working with variants and further syntax variants for the WITH addition, see the key word documentation in the ABAP Editor for SUBMIT.
    You can use SAP memory and ABAP memory to pass data between different programs.
    The SAP memory is a user-specific memory area for storing field values. It is available in all of the open sessions in a user's terminal session, and is reset when the terminal session ends. You can use its contents as default values for screen fields. All external sessions can access SAP memory. This means that it is only of limited use for passing data between internal sessions.
    The ABAP memory is also user-specific, and is local to each external session. You can use it to pass any ABAP variables (fields, structures, internal tables, complex objects) between the internal sessions of a single external session.
    Each external session has its own ABAP memory. When you end an external session (/i in the command field), the corresponding ABAP memory is released automatically.
    To copy a set of ABAP variables and their current values (data cluster) to the ABAP memory, use the EXPORT TO MEMORY ID statement. The (up to 32 characters) is used to identify the different data clusters.
    If you repeat an EXPORT TO MEMORY ID statement to an existing data cluster, the new data overwrites the old.
    To copy data from ABAP memory to the corresponding fields of an ABAP program, use the IMPORT FROM MEMORY ID statement.
    The fields, structures, internal tables, and complex objects in a data cluster in ABAP memory must be declared identically in both the program from which you exported the data and the program into which you import it.
    To release a data cluster, use the FREE MEMORY ID statement.
    You can import just parts of a data cluster with IMPORT, since the objects are named in the cluster.
    In the SAP memory, you can define memory areas (SET/GET parameters, or parameter IDs), which you can then address by a name of up to 20 characters.
    You can fill these memory areas either using the contents of input/output fields on screens, or using the ABAP statement:
    SET PARAMETER ID '' FIELD .
    The memory area with the name now has the value .
    You can use the contents of a memory area to display a default value in an input field on a screen.
    You can also read the memory areas from the SAP memory using the ABAP statement GET PARAMETER ID FIELD . The field then contains the value from parameter .
    The link between an input/output field and a memory area in SAP memory is inherited from the data element on which the field is based. You can enable the set parameter or get parameter attributes in the input/output field attributes.
    Once you have set the Set parameter attribute for an input/output field, you can fill it with default values from SAP memory. This is particularly useful for transactions that you call from another program without displaying the initial screen. For this purpose, you must activate the Set parameter functionality for the input fields of the first screen of the transaction.
    You can:
    (1) Copy the data that is to be used for the first screen of the transaction to be called to the parameter ID in the SAP memory. To do so, use the statement SET PARAMETER immediately before calling the transaction.
    (2) Start the transaction using CALL TRANSACTION or LEAVE TO
    TRANSACTION . If you do not want to display the initial screen, use the AND
    SKIP FIRST SCREEN addition.
    (3) The system program that starts the transaction fills the input fields that do not already have default values and for which the Get parameter attribute has been set with values from SAP memory.
    The Technical information for the input fields in the transaction you want to call contains the names of the parameter IDs that you need to use.
    Parameter IDs should be entered in table TPARA. This happens automatically if you create them via the Object navigator.
    Programs that you call using the statements SUBMIT , LEAVE TO TRANSACTION , SUBMIT AND RETURN, or CALL TRANSACTION run in their own SAP LUW, and update requests receive their own update key.
    When you use SUBMIT and LEAVE TO TRANSACTION , the SAP LUW of the calling program ends. If no COMMIT WORK statement occurred before the program call, the update requests in the log table remain incomplete and cannot be processed. They can no longer be executed. The same applies to inline changes that you make using PERFORM … ON COMMIT.
    Data that you have written to the database using inline changes is committed the next time a new screen is displayed.
    If you use SUBMIT AND RETURN or CALL TRANSACTION to insert a program and then return to the calling program, the SAP LUW of the calling program is resumed when the called program ends. The LUW processing of calling and called programs is independent.
    In other words, inline changes are committed the next time a new screen is displayed. Update requests and calls using PERFORM ... ON COMMIT require an independent COMMIT WORK statement in the SAP LUW in which they are running.
    Function modules run in the same SAP LUW as the program that calls them.
    If you call transactions with nested calls, each transaction needs its own COMMIT WORK, since each transaction maps its own SAP LUW.
    The same applies to calling executable programs, which are called using SUBMIT AND RETURN.
    The statement CALL TRANSACTION allows you to
    Shorten the user dialog when calling using CALL TRANSACTION USING .
    Determine the type of update (asynchronous, local, or synchronous) for the transaction called. For this purpose, use the addition CALL TRANSACTION USING UPDATE 'update_mode', where update_mode can have the values a (asynchronous), L (local), or S (synchronous).
    Combining the two options enables you to call several transactions in sequence (logical chain), to reduce their screen sequence, and to postpone processing of the SAP LUW 2 until processing of the SAP LUW 1 has been completed.
    When you call a function module asynchronously using the CALL FUNCTION STARTING NEW TASK ' ' statement, it runs in its own SAP LUW.
    Programs that are executed with a SUBMIT AND RETURN or CALL
    TRANSACTION statement starts their own LUW processing. You can use these to perform nested (complex) LUW processing.
    You can use function modules as modularization units within an SAP LUW.
    Function modules that are called asynchronously are suitable for programs that allow parallel processing of some of their components.
    All techniques are suitable for including programs with purely display functions.
    Note that a function module called with CALL FUNCTION STARTING NEW TASK is executed as a new logon. It, therefore, sees a separate SAP memory area. You can use the interface of the function module for data transfers.
    Example: In your program, you want to call a display transaction that is displayed in a separate window (amodal). To do so, you encapsulate the transaction call in a function module, which you set as to Remote-enabled module. You use the function module interface to accept values that you write to the SAP memory. You then call up the transaction in the function module using CALL TRANSACTION AND SKIP FIRST SCREEN. You call the function module itself asynchronously.
    Type ‘E' locks for nested program calls may be requested more than once from the same object. This behavior can be described as follows:
    Lock entries from function modules called synchronously increment the cumulative counter, And are therefore successful.
    Lock entries from programs called with CALL TRANSACTION or SUBMIT
    AND
    RETURN is refused. The object to be locked by the called program is displayed as already Locked by another user.
    Programs that you call using SUBMIT or LEAVE TO TRANSACTION cannot come into conflict with lock entries from the calling program, since the old program ends when the call is made. When a program ends, the system deletes all of the lock entries that it had set.
    Lock requests belonging to the same user from different R/3 windows or logons are treated as lock requests from other users.
    Regards,
    Rajesh.
    Please reward points if found helpful.

  • Query reading the data

    Hi  all,
    we are involved in a SAP BW Upgrade 7.0 --> 7.3.
    During the manual follow up steps,  we are trying to launch some  Bex query to test if all works fine.
    Some of this queries returns us the following  message:
    Query XXX reading the data;
    the extended message says:
    DiagnosisXXX
    You need to replace variable XXX from as a boolean value. It can therefore only have the values 0 and 1.
    Entering (MWKZ = , WAERS = , ...) under Currency/Unit is therefore not advisable. Only dimension = number is allowed.
    System Response
    The query cannot be generated and executed.
    Procedure
    Change the definition of the variables.1.
    Procedure for System Administration
    Our SAP BW System is Version 7.3 support package 10.
    We found just the note   1873747  that seems like our message error but, unfortunately, the note itself have been just released with our support package  (SAPKB73010).
    Anyone have an idea?
    Thx in advance
    Best regards
    Rino

    Hello all,
    Yes, I agree with Robert that with suppressing the message we can avoid the failure.
    But, If the message is 541, you might have skipped the data which it reads. Query which you have executed must be with missing data.
    If the message is "109 - No data was found", you can suppress it.
    If you want to correct the 541 message either you have to reduce the selections of query or you should increase the memory elements.
    Please correct me if I am wrong.
    Thanks,
    Bharadhwaz

  • Reading in data

    Hi..
    My program copies data from one directory to another by
    reading in data into a FileInputStream and then writing
    out to a FileOutputStream. My question is about the
    method: #read(byte[],int,int.
    I set the buffer size to 5,000, but how do I know what
    an optimum value would be? I guessed at 5,000 and I think most
    files will be around 100KB, but could potentially be much larger.
    Thanks for any advice.

    hi ,I would use n times of 512 byte, an optimal size of n cant be defined,it depend on disk cache,system cache ...bigger n use more memory and lower count of disk acccess

  • Is it possible to read scalled data in 2D Waveform (DBL) at 2M Hz Sampling rate?

    I am using PXI Real time for my acquisition.
    NI PXIe-6368
    Simultaneous X Series Data Acquisition.
    It is supporing 2MHz sampling rate; When I am reading unscaled data, there is no problem.
    But when I am reading scaled data, I am getting,
    execution get stop or 'Run Out of memory' error.
    Can you please help me on this?
    I am not able to share the code, right now. I will try to share in personal.
    Thank you,
    Yogesh Redemptor
    Regards,
    Yogesh Redemptor

    Hi Allan,
    If you provided some numbers, we may be able to nail this issue for you. Without them I will just guess.
    The error codes you reported indicate that the app is not keeping up with the incoming data. If you are sampling 4 channels at 50kS/s then the hardware is transfering 200 kS/s into its on board FIFO. Page 344 of the NI catalog indicates that the FIFO can hold 2048 samples before it over-flows. The -10846 error indicates that these over-flows are occuring. To prevent this, the app must completely empty the FIFO more frequently. Doing the math this works out to one empty operation every 10ms maximum.
    This is a rather demanding rate. This only addresses the -10846. The -10845 error is troubling. The hardware you are working with may not do the j
    ob.
    Suggestions:
    1) make sure your app is reading at least this often.
    2) slow down you Acq rate (I know, not an option)
    3) DO NOT TRUST ME! Call NI and talk to their hardware support group and ask them;
    a) "Can I do continuous acq from X channels at Y rate using a DAQCard 6024E?"
    b)If yes, "Could you point me at an example?"
    c)If no, "Can I get credit on this device toward a purchase of a device that can?"
    I hope this get you started.
    Reply to this answer if you have further inquiries,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • �???��S Read this data

    Can anyone tell me how i can i read the foll data in normal text format.
    I read this data using socket connection and getting inputstream which is passed to BufferedReader and displayed using readLine method of BufferedReader
    Eg
    BufferedReader in = new BufferedReader(new InputStreamReader(Socket.getInputStream()));
    The data i get when i do
    System.out.println("data is : " + in.readLine());
    Output is :
    data is00020 30006`��w7x?� �?vH00036 30006��+��++`_+�?????Ax>?+�?L? -?!�00037 3
    0006��+��++`_+�???��S+-�?˜�03 +?s?00036 30006��+��++`_+�???�?$S0+�n +? r??�0003
    6 30006��+��++`_+�???X�d-/F�f+?? -?��00034 30006��+��++`_+�???XA��?+R ? �?=�0003
    6 30006��+��++`_+�???+�SIFf����? (?z�00036 30006�++��++`_+�?????Ax>?+�?L? +?E�00
    019 30002a��˜7?P? +?d700036 30006[++��++`_+�??????s>?+�?L? +?��00036 30006[_+��+
    +`_+�??????s>?+�?L? -?��00033 30006�Od+c``��d@???�@�<�?�? w?T�00036 30006[++��++
    `_+�?????-a>?+�?L? ??f�00019 30002a��&#732;7?P? +?d700036 30006[�+��++`_+�?????-a>?+�
    Pls help asap
    Anticipated Thanks

    You need to know what format the data is in. Without that it's pointless trying to continue.
    What you'll need to do is read all the data from the InputStream into memory and then decompress it according to whatever compression method has been used. You can use the following code to grab all the data, but until you know exactly what format your data is, you're on your own.
    try {
    InputStream is = socket.getInputStream();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    while(is.available()>0) {
    baos.write(is.read());
    byte[] data = baos.toByteArray();
    } catch( IOException e ) { e.printStackTrace(); }

  • I have a VI and an attched .txt data file. Now I want to read the data from the .txt file and display it as an array in the front panel. But the result is not right. Any help?

    I have a VI and an attched .txt data file. Now I want to read the data from the .txt file and display it as an array in the front panel. But the result is not right. Any help?
    Attachments:
    try2.txt ‏2 KB
    read_array.vi ‏21 KB

    The problem is in the delimiters in your text file. By default, Read From Spreadsheet File.vi expects a tab delimited file. You can specify a delimiter (like a space), but Read From Spreadsheet File.vi has a problem with repeated delimiters: if you specify a single space as a delimiter and Read From Spreadsheet File.vi finds two spaces back-to-back, it stops reading that line. Your file (as I got it from your earlier post) is delimited by 4 spaces.
    Here are some of your choices to fix your problem.
    1. Change the source file to a tab delimited file. Your VI will then run as is.
    2. Change the source file to be delimited by a single space (rather than 4), then wire a string constant containing one space to the delimiter input of Read From Spreadsheet File.vi.
    3. Wire a string constant containing 4 spaces to the delimiter input of Read From Spreadsheet File.vi. Then your text file will run as is.
    Depending on where your text file comes from (see more comments below), I'd vote for choice 1: a tab delimited text file. It's the most common text output of spreadsheet programs.
    Comments for choices 1 and 2: Where does the text file come from? Is it automatically generated or manually generated? Will it be generated multiple times or just once? If it's manually generated or generated just once, you can use any text editor to change 4 spaces to a tab or to a single space. Note: if you want to change it to a tab delimited file, you can't enter a tab directly into a box in the search & replace dialog of many programs like notepad, but you can do a cut and paste. Before you start your search and replace (just in the text window of the editor), press tab. A tab character will be entered. Press Shift-LeftArrow (not Backspace) to highlight the tab character. Press Ctrl-X to cut the tab character. Start your search and replace (Ctrl-H in notepad in Windows 2000). Click into the Find What box. Enter four spaces. Click into the Replace With box. Press Ctrl-V to paste the tab character. And another thing: older versions of notepad don't have search and replace. Use any editor or word processor that does.

Maybe you are looking for