Содержание
- LabWindows/CVI
- VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
- VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
- Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
- Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
- Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
- Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
- LabVIEW
- Framing Error?
- Framing Error?
- Re: Framing Error?
- Re: Framing Error?
- Re: Framing Error?
- Instrument Control (GPIB, Serial, VISA, IVI)
- Multimeter : serial port communication
- Multimeter : serial port communication
- Re: Multimeter : serial port communication
- Re: Multimeter : serial port communication
- Re: Multimeter : serial port communication
- Re: Multimeter : serial port communication
- Plotting SICK S300 data in LabVIEW
- Items needed
- Wiring
- Power
- RS422 communication
- Configure the S300 for continuous data output
- Ensure the S300 is sending telegrams
- Parsing the distance data
- Approach 1 – Convert ASCII to hex
- If you’re getting a framing error
- How to find the distance data
- Angular resolution and scanning range
- Approach 2 – Parse without converting to hex
- Backslash codes display
- Plotting the data
- Git repository
LabWindows/CVI
VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
02-14-2017 10:16 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
I’m new to the CVI and I am using CVI 2015 SP1. I am outputting a sequence of characters from a MCU in UART using USB converter every 10 ms and reading it using a VISA read.
When trying to read the serial port I get this error:
-1073807253 VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
Why does this happen?
Is there any speed rate limit for reading serial data in CVI?
Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
02-15-2017 10:28 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
We have a pretty good knowledgebase article about why this can happen:
Why Do I Receive Error Code -1073807253 When Performing a VISA Serial Read?
The article is written for LabVIEW but the reasons for the error are valid.
Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
02-23-2017 01:56 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Thanks for your response.
I am aware to this articale but I didn’t find an answer to my problem in it.
Insteade of using VISA library I decuded to try working with RS232 library and I didn’t get any errors and the connection was just fine.
I am curious to know why didn’t it work tha same way by using VISA.
Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
02-23-2017 05:53 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Based on the error, it seems like the VISA commands may have been in the wrong format. Did you ensure that the settings (baud rate, start bit, stop bit, etc.) were in the correct format that your serial device was expecting? You can access the serial settings by dropping a VISA property node on the block diagram and connecting your VISA reference to the reference input.
Re: VISA Error Message: (Hex 0xBFFF006B) A Framing error occurred during transfer.
02-24-2017 03:10 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Based on the error, it seems like the VISA commands may have been in the wrong format. Did you ensure that the settings (baud rate, start bit, stop bit, etc.) were in the correct format that your serial device was expecting? You can access the serial settings by dropping a VISA property node on the block diagram and connecting your VISA reference to the reference input.
. which translated to CVI environment ( ) means use a bunch of viSetAttribute to define communications parameters
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Источник
LabVIEW
Framing Error?
Framing Error?
11-30-2006 09:27 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Re: Framing Error?
11-30-2006 09:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Re: Framing Error?
11-30-2006 11:45 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Re: Framing Error?
11-30-2006 12:12 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Verify the device is configured as you said.
Configure your I/O to use those settings.
If you still have framing errors you are probably dealing with the signal integrity issue.
Use a short cable to test.
If all else fails break out a scope and start looking at your data while the framing errors occur. With a reapeating tramit pattern and a good scope you should be able to read the bits right of the scope (rember start and stop and parity bits). Electical interference, grounds, flourescent lights, motors, cable length cable capacitance.
Источник
Instrument Control (GPIB, Serial, VISA, IVI)
Multimeter : serial port communication
Multimeter : serial port communication
11-20-2006 02:02 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Re: Multimeter : serial port communication
11-20-2006 03:18 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
For a situation such as yours, I would first try communicating to the instrument using Hyperterminal.
After you get that working then I would try using NI-MAX to communicate to the instrument.
When that works, then go back to LabVIEW.
Re: Multimeter : serial port communication
11-21-2006 12:11 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
the framing error points to a wrong speed, or too many stopbits.
First try with one stopbit and after that with other bausrates.
The cable is probably ok otherwise the Velleman software wouldn’t work.
Maybe you need an extra cr/lf to end the command?
Re: Multimeter : serial port communication
11-23-2006 12:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Re: Multimeter : serial port communication
11-23-2006 03:27 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator
Do you have an oscilloscope?
Measure the baudrate or try sevral standard baudrates.
Last week it took me one whole day before I discovered that the default baudrate of a motor was actually twice as much as stood at least 20 times in the manual.
And with the scope I compared a byte that I did send and one I received. the received one was half the size. so double speed.
The 1000ms delay should be enough for 15 bytes (10 bit for each byte and some extra stop, but make it 2000 mseconds
if you only get 4 bytes and a framing error, try 4 times the speed being 2400baud (instead of almost 16 bytes. )
Источник
Plotting SICK S300 data in LabVIEW
This page documents two approaches to plotting SICK S300 data in LabVIEW. An example program that uses the second approach is stored in this Git repository.
Items needed
- Hardware
- SICK S300 sensor (any model)
- System plug that’s compatible with your S300
- SICK configuration cable (USB to serial) (6034574 or 6034575)
- One USB to RS422/485 converter (this one is used here)
- 24 VDC power supply
- Software
- SICK CDS
- LabVIEW (base package or higher)
Wiring
Wire the system plug as follows:
Figure 1 – Wire 24 VDC and USB to RS422 converter to system plug
Power
RS422 communication
Configure the S300 for continuous data output
Configure the S300 sensor for “Continuous data output” and your desired baud rate. This is done from the “Measured data output” tab in the device window in CDS.
Figure 4 – Configure the “Measured data output” tab
Ensure the S300 is sending telegrams
The easiest way to verify the S300 is sending telegrams is to just read some data from the port.
Figure 5 – Configure the serial port, read any bytes at the port, and then close the port
You might find that you need a delay after opening the port to allow some data to accumulate.
Figure 6 – Add a delay after configuring the port
I think I’ll add the delay to a subVI.
Figure 7 – Add delay to subVI
After running this VI you should see some ASCII symbols in your string indicator.
Parsing the distance data
This page discusses two approaches to parsing S300 distance data in LabVIEW.
Approach 1 – Convert ASCII to hex
One way to parse the distance data is to first convert the data from ASCII to hexadecimal. For me the motivation behind this approach is typically data presentation. When I want to make the data human readable – for debug purposes, for example – I do it this way.
One way to convert the data to hex is to use a subVI that looks something like this:
The above subVI has one input and one output. The input is first converted to a byte array, and then each byte is converted to a hex string one at a time. The argument “%02x” tells the “Format String” VI that each byte should be converted to hexadecimal and padded with two zeros. For readability and to match the formatting in SICK’s manual, I insert a space between each byte.
The subVI can be added to the block diagram as follows:
After running the above VI, the string indicator should look more like this:
If you’re getting a framing error
By now you might have noticed you’re sometimes getting a framing error (error – 1073807253) when you run your program.
The error occurs because we’re sometimes closing the COM port before the read task is complete. You could ignore this issue for now, or you could put a while loop around the “VISA read” VI and use a case structure to ensure we only read from the port when the number of bytes at the port is greater than zero. The while loop ensures the “VISA read” VI stops executing before the “VISA close” VI attempts to run.
Figure 13 – True case
Figure 14 – False case
And to retain the data being written to the string indicator from one iteration to the next, I’ll add a shift register to the while loop and use the “Concatenate Strings” VI.
Figure 15 – True case
Figure 16 – False case
How to find the distance data
After converting to space delimited hex form, the data should make more sense. First look for the telegram header. From SICK’s documentation, the header is the four byte sequence “00 00 00 00”. And since the sensor is in “Continuous data output” mode, the header will be followed by the two byte sequence “00 00”.
The distance data is the large block of data that begins immediately after the four byte sequence “BB BB 11 11”. (See the first two blue blocks in Figure 17.) The CRC is sandwiched between the last byte of distance data and the next telegram’s header (yellow box).
From Figure 17 you can see that a simple way to parse the distance data is to use the “Match Pattern” VI as follows:
Figure 18 – Rough subVI to parse distance data and CRC
Since the distance data always begins immediately after the byte sequence “BB BB 11 11”, the byte sequence “BB BB 11 11 ” is used as the “regular expression” input to the first “Match Pattern” VI. The “after substring” output is then passed to the second “Match Pattern” VI. The CRC will immediately precede the header of the next telegram, so the byte sequence “00 00 00 00” is used as the regular expression input to the second “Match Pattern” VI, and the “before substring” output is passed to the “distance data and CRC” string indicator. In addition, when the “match substring” output of the second “Match Pattern” VI matches the “regular expression” input, we set the “Stop?” Boolean to stop the while loop.
This subVI can be invoked as follows:
Figure 19 – Parse distance data and CRC and then stop
The above VI runs until it acquires the distance data and CRC from exactly one telegram – then it stops.
Figure 20 – Distance data and CRC from one telegram
In space delimited hex form, a LabVIEW string consisting of just the distance data and CRC should be of length 3252.
It’s also important to realize that when the data is in the above form, the msb and lsb of each distance value are interchanged. So, for example, the first 16 bits in Figure 20 should be interpreted as follows:
Figure 22 – Data format of measured data
So the distance measurement is 512 + 128 + 32 + 2 + 1= 675 centimeters.
Angular resolution and scanning range
To check your sensor’s resolution, open the device window and view the “Resolution/scanning range” tab.
The SICK S300 has a scanning range of 270° and the first beam of a scan is considered to start at -45°.
Figure 24 – Scanning range of S300 – Taken from p. 17 of S300 Operating Instructions
Since the value of 675 centimeters from Figure 22 is the first measured value after “BB BB 11 11”, its associated angle is -45°. And since the angular resolution of my S300 is 0.5°, the second distance measurement is 670 ∠ -44.5° centimeters, the third is 666 ∠ -44.0° centimeters, and so on. The last distance measurement in Figure 20 is 18 ∠ 225° centimeters.
Approach 2 – Parse without converting to hex
Approach 1 is useful for learning and/or debugging but computationally inefficient since the data can be parsed without first converting to hex.
Backslash codes display
If I run the VI in Figure 7 the string indicator should once again look something like this:
Figure 25 – Data in string indicator after running the VI in Figure 7
As before this data is not human readable. However, if I right-click on the string indicator and select Codes Display, I can see the data as it is actually represented in memory.
Figure 26 – Data in Figure 25 as it is represented in memory
Using backslash code display, I can rewrite the VI in Figure 18 to parse the S300 data without first converting to hex.
Figure 27 – Parse distance data without converting to hex
I can now remove the VI in Figure 9 from the VI in Figure 19 as follows:
Figure 27 – Modify the VI in Figure 19
I will also add error checking to this VI and then move it to a subVI.
Figure 28 – Convert VI in Figure 27 to subVI
The subVI in Figures 28 and 29 can be invoked as follows:
Figure 30 – Main VI that invokes subVI in Figures 28 and 29
Plotting the data
The following subVI can be used to plot the distance data read by the main VI in Figure 30.
Figure 31 – subVI to plot distance data (block diagram)
The subVI in Figures 31 and 32 is added to the main VI as follows:
Figure 33 – Add subVI to plot distance data to main VI
After configuring the COM port and baud rate with controls instead of constants, the front panel might look something like this:
Figure 34 – Front panel of VI shown in Figure 33
Git repository
The Git repository for the VI in Figure 34 can be found here.
Источник
Recommended Posts
-
- Report
- Share
Hi Guys,
Quick Q for those who are familiar with VISA serial functions.
My device sometimes returns error after long periods of perfect operation
−1073807253 A framing error occurred during transfer
I have seen this error before but never could figure out why it happens randomly after many thousands of perfect exchanges.
There is not too much I can do about it regarding the connections or the fact that it is going through a USB- Serial converter (Its on a laptop)
I am attempting to deal with this by putting in exception handling code that will catch the error then Close the port then
Open it again for a retry of the operation.
The Q is once an error like this occurs would an approach like this save me from further issues
does anyone have experience doing something similar to recover from a VISA error and will it work long term?
Thanks in advance
- Quote
Link to comment
-
- Report
- Share
QUOTE (TG @ Mar 6 2009, 10:44 AM)
Hi Guys,
Quick Q for those who are familiar with VISA serial functions.
My device sometimes returns error after long periods of perfect operation
−1073807253 A framing error occurred during transfer
I have seen this error before but never could figure out why it happens randomly after many thousands of perfect exchanges.
There is not too much I can do about it regarding the connections or the fact that it is going through a USB- Serial converter (Its on a laptop)
I am attempting to deal with this by putting in exception handling code that will catch the error then Close the port then
Open it again for a retry of the operation.
The Q is once an error like this occurs would an approach like this save me from further issues
does anyone have experience doing something similar to recover from a VISA error and will it work long term?
Thanks in advance
Framing Erors are generally due to issue with the transmission medium.
I question the need to close and re-open. Just flushing the port and doing a retry would be my first attempt at handling this situation. Closing and re-opening a VISA session will bite you eventually uless the app is restarted regularly.
- Quote
Link to comment
-
- Report
- Share
QUOTE (neBulus @ Mar 6 2009, 10:48 AM)
Closing and re-opening a VISA session will bite you eventually uless the app is restarted regularly.
Why do you think that closing and opening VISA session can cause problems?
- Quote
Link to comment
-
- Report
- Share
Your approach to detect the error, close the connection and reopen should work fine. You may lose some data in the process. The framing error is most likely caused by some clock drift. Reestablishing the connection should get you back in sync.
QUOTE (neBulus @ Mar 6 2009, 09:48 AM)
I question the need to close and re-open. Just flushing the port and doing a retry would be my first attempt at handling this situation. Closing and re-opening a VISA session will bite you eventually uless the app is restarted regularly.
I don’t agree with this. In our applications we open and close VISA sessions tens of thousands of times and we do not see any problems.
- Quote
Link to comment
- Author
-
- Report
- Share
QUOTE (neBulus @ Mar 6 2009, 04:48 PM)
Closing and re-opening a VISA session will bite you eventually uless the app is restarted regularly.
Can you elaborate further on this point?
Trust me I am not dissagree with you even if I do not know full answer.
I got this error even though I open/close the port before every exchange
(was required to make it reliable as it currently is)
and many thousands of successful queries on the device yet this error still manage to creep in randomly.
- Quote
Link to comment
-
- Report
- Share
QUOTE (TG @ Mar 6 2009, 10:57 AM)
Can you elaborate further on this point?
Trust me I am not dissagree with you even if I do not know full answer.
I got this error even though I open/close the port before every exchange
(was required to make it reliable as it currently is)
and many thousands of successful queries on the device yet this error still manage to creep in randomly.
When last i looked there where about 1K bytes allocated for every opean which were NOT released until after LV shutdown for every open opeation.
Ben
- Quote
Link to comment
-
- Report
- Share
QUOTE (neBulus @ Mar 6 2009, 11:51 AM)
When last i looked there where about 1K bytes allocated for every opean which were NOT released until after LV shutdown for every open opeation.
Can someone from NI confirm or deny this memory leak? Ben — have you reported it to NI?
- Quote
Link to comment
-
- Report
- Share
QUOTE (crelf @ Mar 6 2009, 12:12 PM)
Can someone from NI confirm or deny this memory leak? Ben — have you reported it to NI?
I can only provide anecdotal evidence that there is no memory leak. As I stated earlier in our environment we are constantly opeing and closing connections. If there truly was a memory leak we would have all kinds of issues with our applications.
- Quote
Link to comment
-
- Report
- Share
QUOTE (crelf @ Mar 6 2009, 01:12 PM)
Here is Dan Mondrik confirming there was an issue with opening and closing VISA sessions. Yes that post is old but I work across LV versions and there only has to be one version that is buggy for me to adapt my rules. Here is a more recent reference to VISA and leaks that recomends making sure they are the most recent version of VISA. I never said the leak rate was high. I have apps that run for years without restarting so even a slow leak is of concern to me.
I have an LV 8.6 machine running a test to see if this issue exists in a more recent version. So far it holding so that issue may have been fixed.
Ben
- Quote
Link to comment
-
- Report
- Share
QUOTE (neBulus @ Mar 6 2009, 02:12 PM)
I never said the leak rate was high. …even a slow leak is of concern to me.
A leak is a leak, and if we loose 1kb every time we open/close then that needs to be fixed.
- Quote
Link to comment
-
- Report
- Share
QUOTE (crelf @ Mar 6 2009, 11:35 AM)
A leak is a leak, and if we loose 1kb every time we open/close then that needs to be fixed.
Absolutely!
- Quote
Link to comment
-
- Report
- Share
QUOTE (neBulus @ Mar 6 2009, 02:12 PM)
I’ll leave this running over the week-end because I really don’t like talking bad about LV if I don’t have to.
Me either. Although this might skew the results, can you log the available memory while you’re doing this? (assuming there are no issues with the logging code )
- Quote
Link to comment
-
- Report
- Share
Results of over- the week-end test
Task manager memory showed (Kbytes)
start 1450404
end 1407336
That’s 43M over the week-end.
Ben
- Quote
Link to comment
-
- Report
- Share
QUOTE (neBulus @ Mar 9 2009, 02:42 PM)
That’s 43M…
…of memory released — your end amount is less than your start amount. Or is that the amount of free memory?
- Quote
Link to comment
-
- Report
- Share
QUOTE (crelf @ Mar 9 2009, 06:08 PM)
…Or is that the amount of free memory?
Exactly.
Ben
- Quote
Link to comment
-
- Report
- Share
QUOTE (neBulus @ Mar 10 2009, 05:45 AM)
Exactly.
Have you reported it to NI? If so, do you have a CAR#?
- Quote
Link to comment
-
- Report
- Share
QUOTE (crelf @ Mar 10 2009, 10:45 AM)
Have you reported it to NI? If so, do you have a CAR#?
No and no.
BTW: DAQmx Tasks will do the same thing (but you will have to trust me on that one. ) That behaviour SEEMS to apply to every resource allocated by LV. I think it has to do with hedging against the possiblity that someone that doesn’t know what they are doing cloising a ref and then latter trying to use it (trap catcher?), but NOW I AM speculating.
Ben
- Quote
Link to comment
- Author
-
- Report
- Share
QUOTE (neBulus @ Mar 10 2009, 05:33 PM)
No and no.
BTW: DAQmx Tasks will do the same thing (but you will have to trust me on that one.
) That behaviour SEEMS to apply to every resource allocated by LV. I think it has to do with hedging against the possiblity that someone that doesn’t know what they are doing cloising a ref and then latter trying to use it (trap catcher?), but NOW I AM speculating.
Ben
Thanks Ben
All I know is when I put the exception handler in and ran it over the weekensd it worked ok however
when I exit the program (The LabVIEW executable I built)
Monday Morning Windows was acting funky like it was out of memory.
It is a low price IBM laptop with 512MB like the 1970’s but..
BTW Thanks for doing the testing and reporting to us.
You say simply clearing the buffer works and no side effects?
Do you also keep ythe default (4096) buffer size?
- Quote
Link to comment
-
- Report
- Share
QUOTE (TG @ Mar 10 2009, 12:58 PM)
Thanks Ben
All I know is when I put the exception handler in and ran it over the weekensd it worked ok however
when I exit the program (The LabVIEW executable I built)
Monday Morning Windows was acting funky like it was out of memory.
It is a low price IBM laptop with 512MB like the 1970’s but..
BTW Thanks for doing the testing and reporting to us.
You say simply clearing the buffer works and no side effects?
Do you also keep ythe default (4096) buffer size?
Maybe more than one issue but focus on serial.
It is rare that I have to mess with the buffer size, but I’d keep it the same. Generally just checking the number of bytes waiting at the port and reading those is enough to clear the garbage. If your device is spewing data at a hight rate and you think there would be data in the serial ports hardware buffer then the Flush will take care of that.
But technically speaking this is just putting a bandaid on a wound. Framing errors are usually due to corruption of the serial data because there is something less than ideal about the physical connection.
Take care,
Ben
- Quote
Link to comment
Join the conversation
You can post now and register later.
If you have an account, sign in now to post with your account.
VISA Error Codes
This topic lists VISA error codes in numerical order and alphabetically
by description.
Error Codes Listed in Numerical Order
Hex Value |
Decimal Value |
VISA Status Code |
Success Codes |
||
3FFF0002 |
1073676290 |
VI_SUCCESS_EVENT_EN |
3FFF0003 |
1073676291 |
VI_SUCCESS_EVENT_DIS |
3FFF0004 |
1073676292 |
VI_SUCCESS_QUEUE_EMPTY |
3FFF0005 |
1073676293 |
VI_SUCCESS_TERM_CHAR |
3FFF0006 |
1073676294 |
VI_SUCCESS_MAX_CNT |
3FFF007D |
1073676413 |
VI_SUCCESS_DEV_NPRESENT |
3FFF007E |
1073676414 |
VI_SUCCESS_TRIG_MAPPED |
3FFF0080 |
1073676416 |
VI_SUCCESS_QUEUE_NEMPTY |
3FFF0098 |
1073676440 |
VI_SUCCESS_NCHAIN |
3FFF0099 |
1073676441 |
VI_SUCCESS_NESTED_SHARED |
3FFF009A |
1073676442 |
VI_SUCCESS_NESTED_EXCLUSIVE |
3FFF009B |
1073676443 |
VI_SUCCESS_SYNC |
Warning Codes |
||
3FFF000C |
1073676300 |
VI_WARN_QUEUE_OVERFLOW |
3FFF0077 |
1073676407 |
VI_WARN_CONFIG_NLOADED |
3FFF0082 |
1073676418 |
VI_WARN_NULL_OBJECT |
3FFF0084 |
1073676420 |
VI_WARN_NSUP_ATTR_STATE |
3FFF0085 |
1073676421 |
VI_WARN_UNKNOWN_STATUS |
3FFF0088 |
1073676424 |
VI_WARN_NSUP_BUF |
3FFF00A9 |
1073676457 |
VI_WARN_EXT_FUNC_NIMPL |
Error Codes |
||
BFFF0000 |
-1073807360 |
VI_ERROR_SYSTEM_ERROR |
BFFF000E |
-1073807346 |
VI_ERROR_INV_OBJECT |
BFFF000F |
-1073807345 |
VI_ERROR_RSRC_LOCKED |
BFFF0010 |
-1073807344 |
VI_ERROR_INV_EXPR |
BFFF0011 |
-1073807343 |
VI_ERROR_RSRC_NFOUND |
BFFF0012 |
-1073807342 |
VI_ERROR_INV_RSRC_NAME |
BFFF0013 |
-1073807341 |
VI_ERROR_INV_ACC_MODE |
BFFF0015 |
-1073807339 |
VI_ERROR_TMO |
BFFF0016 |
-1073807338 |
VI_ERROR_CLOSING_FAILED |
BFFF001B |
-1073807333 |
VI_ERROR_INV_DEGREE |
BFFF001C |
-1073807332 |
VI_ERROR_INV_JOB_ID |
BFFF001D |
-1073807331 |
VI_ERROR_NSUP_ATTR |
BFFF001E |
-1073807330 |
VI_ERROR_NSUP_ATTR_STATE |
BFFF001F |
-1073807329 |
VI_ERROR_ATTR_READONLY |
BFFF0020 |
-1073807328 |
VI_ERROR_INV_LOCK_TYPE |
BFFF0021 |
-1073807327 |
VI_ERROR_INV_ACCESS_KEY |
BFFF0026 |
-1073807322 |
VI_ERROR_INV_EVENT |
BFFF0027 |
-1073807321 |
VI_ERROR_INV_MECH |
BFFF0028 |
-1073807320 |
VI_ERROR_HNDLR_NINSTALLED |
BFFF0029 |
-1073807319 |
VI_ERROR_INV_HNDLR_REF |
BFFF002A |
-1073807318 |
VI_ERROR_INV_CONTEXT |
BFFF002F |
-1073807313 |
VI_ERROR_NENABLED |
BFFF0030 |
-1073807312 |
VI_ERROR_ABORT |
BFFF0034 |
-1073807308 |
VI_ERROR_RAW_WR_PROT_VIOL |
BFFF0035 |
-1073807307 |
VI_ERROR_RAW_RD_PROT_VIOL |
BFFF0036 |
-1073807306 |
VI_ERROR_OUTP_PROT_VIOL |
BFFF0037 |
-1073807305 |
VI_ERROR_INP_PROT_VIOL |
BFFF0038 |
-1073807304 |
VI_ERROR_BERR |
BFFF0039 |
-1073807303 |
VI_ERROR_IN_PROGRESS |
BFFF003A |
-1073807302 |
VI_ERROR_INV_SETUP |
BFFF003B |
-1073807301 |
VI_ERROR_QUEUE_ERROR |
BFFF003C |
-1073807300 |
VI_ERROR_ALLOC |
BFFF003D |
-1073807299 |
VI_ERROR_INV_MASK |
BFFF003E |
-1073807298 |
VI_ERROR_IO |
BFFF003F |
-1073807297 |
VI_ERROR_INV_FMT |
BFFF0041 |
-1073807295 |
VI_ERROR_NSUP_FMT |
BFFF0042 |
-1073807294 |
VI_ERROR_LINE_IN_USE |
BFFF0046 |
-1073807290 |
VI_ERROR_NSUP_MODE |
BFFF004A |
-1073807286 |
VI_ERROR_SRQ_NOCCURRED |
BFFF004E |
-1073807282 |
VI_ERROR_INV_SPACE |
BFFF0051 |
-1073807279 |
VI_ERROR_INV_OFFSET |
BFFF0052 |
-1073807278 |
VI_ERROR_INV_WIDTH |
BFFF0054 |
-1073807276 |
VI_ERROR_NSUP_OFFSET |
BFFF0055 |
-1073807275 |
VI_ERROR_NSUP_VAR_WIDTH |
BFFF0057 |
-1073807273 |
VI_ERROR_WINDOW_NMAPPED |
BFFF0059 |
-1073807271 |
VI_ERROR_RESP_PENDING |
BFFF005F |
-1073807265 |
VI_ERROR_NLISTENERS |
BFFF0060 |
-1073807264 |
VI_ERROR_NCIC |
BFFF0061 |
-1073807263 |
VI_ERROR_NSYS_CNTLR |
BFFF0067 |
-1073807257 |
VI_ERROR_NSUP_OPER |
BFFF0068 |
-1073807256 |
VI_ERROR_INTR_PENDING |
BFFF006A |
-1073807254 |
VI_ERROR_ASRL_PARITY |
BFFF006B |
-1073807253 |
VI_ERROR_ASRL_FRAMING |
BFFF006C |
-1073807252 |
VI_ERROR_ASRL_OVERRUN |
BFFF006E |
-1073807250 |
VI_ERROR_TRIG_NMAPPED |
BFFF0070 |
-1073807248 |
VI_ERROR_NSUP_ALIGN_OFFSET |
BFFF0071 |
-1073807247 |
VI_ERROR_USER_BUF |
BFFF0072 |
-1073807246 |
VI_ERROR_RSRC_BUSY |
BFFF0076 |
-1073807242 |
VI_ERROR_NSUP_WIDTH |
BFFF0078 |
-1073807240 |
VI_ERROR_INV_PARAMETER |
BFFF0079 |
-1073807239 |
VI_ERROR_INV_PROT |
BFFF007B |
-1073807237 |
VI_ERROR_INV_SIZE |
BFFF0080 |
-1073807232 |
VI_ERROR_WINDOW_MAPPED |
BFFF0081 |
-1073807231 |
VI_ERROR_NIMPL_OPER |
BFFF0083 |
-1073807229 |
VI_ERROR_INV_LENGTH |
BFFF0091 |
-1073807215 |
VI_ERROR_INV_MODE |
BFFF009C |
-1073807204 |
VI_ERROR_SESN_NLOCKED |
BFFF009D |
-1073807203 |
VI_ERROR_MEM_NSHARED |
BFFF009E |
-1073807202 |
VI_ERROR_LIBRARY_NFOUND |
BFFF009F |
-1073807201 |
VI_ERROR_NSUP_INTR |
BFFF00A0 |
-1073807200 |
VI_ERROR_INV_LINE |
BFFF00A1 |
-1073807199 |
VI_ERROR_FILE_ACCESS |
BFFF00A2 |
-1073807198 |
VI_ERROR_FILE_IO |
BFFF00A3 |
-1073807197 |
VI_ERROR_NSUP_LINE |
BFFF00A4 |
-1073807196 |
VI_ERROR_NSUP_MECH |
BFFF00A5 |
-1073807195 |
VI_ERROR_INTF_NUM_NCONFIG |
BFFF00A6 |
-1073807194 |
VI_ERROR_CONN_LOST |
BFFF00A7 |
-1073807193 |
VI_ERROR_MACHINE_NAVAIL |
BFFF00A8 |
-1073807192 |
VI_ERROR_NPERMISSION |
Alphabetical
Description of Error Codes
VISA Status Codes |
Description |
Success Codes
|
|
VI_SUCCESS |
Operation completed successfully. |
VI_SUCCESS_DEV_NPRESENT |
Session opened successfully, but the device at the specified |
VI_SUCCESS_EVENT_DIS |
The specified event is already disabled. |
VI_SUCCESS_EVENT_EN |
The specified event is already enabled for at least |
VI_SUCCESS_MAX_CNT |
The number of bytes specified were read. |
VI_SUCCESS_NCHAIN |
Event handled successfully. Do not invoke any other |
VI_SUCCESS_NESTED_EXCLUSIVE |
The specified access mode was successfully acquired |
VI_SUCCESS_NESTED_SHARED |
The specified access mode was successfully acquired |
VI_SUCCESS_QUEUE_EMPTY |
The event queue was empty while trying to discard queued |
VI_SUCCESS_QUEUE_NEMPTY |
The event queue is not empty. |
VI_SUCCESS_SYNC |
The read or write operation performed synchronously. |
VI_SUCCESS_TERM_CHAR |
The specified termination character was read. |
VI_SUCCESS_TRIG_MAPPED |
The path from trigSrc to trigDest is already mapped. |
Warning Codes
|
|
VI_WARN_CONFIG_NLOADED |
The specified configuration either does not exist or |
VI_WARN_NSUP_ATTR_STATE |
The attribute state is not supported by this resource. |
VI_WARN_NSUP_BUF |
The specified buffer is not supported. |
VI_WARN_NULL_OBJECT |
The specified object reference is uninitialized. |
VI_WARN_QUEUE_OVERFLOW |
The device sent more data than the user |
VI_WARN_UNKNOWN_STATUS |
The status code passed to the function |
VI_WARN_EXT_FUNC_NIMPL |
The operation succeeded, but a lower level |
Error Codes
|
|
VI_ERROR_ABORT |
Calls in the current process executing on the specified |
VI_ERROR_ALLOC |
Insufficient system resources to open a session or to |
VI_ERROR_ASRL_FRAMING |
A framing error occurred during transfer. |
VI_ERROR_ASRL_OVERRUN |
An overrun error occurred during transfer. A character |
VI_ERROR_ASRL_PARITY |
A parity error occurred during transfer. |
VI_ERROR_ATTR_READONLY |
The specified attribute is read-only. |
VI_ERROR_BERR |
A bus error occurred during transfer. |
VI_ERROR_CLOSING_FAILED |
Unable to deallocate the previously allocated data structures |
VI_ERROR_CONN_LOST |
A TCP connection is dropped as a result of keep-alives |
VI_ERROR_FILE_ACCESS |
An error occurred while trying to open the specified |
VI_ERROR_FILE_IO |
An error occurred while accessing the specified file. |
VI_ERROR_HNDLR_NINSTALLED |
A handler is not currently installed for the specified |
VI_ERROR_INP_PROT_VIOL |
Input protocol error occurred during transfer. |
VI_ERROR_INTF_NUM_NCONFIG |
The interface type is valid but the specified interface |
VI_ERROR_INTR_PENDING |
An interrupt is still pending from a previous call. |
VI_ERROR_INV_ACC_MODE |
Invalid access mode. |
VI_ERROR_INV_ACCESS_KEY |
The requestedKey value passed in is not a valid access key to |
VI_ERROR_INV_CONTEXT |
The event context specified is invalid. |
VI_ERROR_INV_DEGREE |
The specified degree is invalid. |
VI_ERROR_INV_EVENT |
The event type specified is invalid for the specified |
VI_ERROR_INV_EXPR |
The expression specified is invalid. |
VI_ERROR_INV_FMT |
The format specifier is invalid for the current argument. |
VI_ERROR_INV_HNDLR_REF |
The specified handler reference and/or the user context |
VI_ERROR_INV_JOB_ID |
The specified job identifier is invalid. |
VI_ERROR_INV_LENGTH |
The length specified is invalid. |
VI_ERROR_INV_LINE |
The value specified by the line parameter is invalid. |
VI_ERROR_INV_LOCK_TYPE |
The specified type of lock is not supported by this |
VI_ERROR_INV_MASK |
The system cannot set the buffer for the given mask |
VI_ERROR_INV_MECH |
The mechanism specified for the event is invalid. |
VI_ERROR_INV_MODE |
The value specified by the mode parameter is invalid. |
VI_ERROR_INV_OBJECT |
The object reference is invalid. |
VI_ERROR_INV_OFFSET |
The offset specified is invalid. |
VI_ERROR_INV_PARAMETER |
The value of some parameter is invalid. |
VI_ERROR_INV_PROT |
The protocol specified is invalid. |
VI_ERROR_INV_RSRC_NAME |
The resources specified are invalid. |
VI_ERROR_INV_SESSION |
The session specified is invalid. |
VI_ERROR_INV_SETUP |
The setup specified is invalid, possibly due to attributes |
VI_ERROR_INV_SIZE |
The specified size is invalid. |
VI_ERROR_INV_SPACE |
The address space specified is invalid. |
VI_ERROR_INV_WIDTH |
Invalid source or destination width specified. |
VI_ERROR_IO |
Could not perform read/write function because of an |
VI_ERROR_LIBRARY_NFOUND |
A code library required by VISA could not be located |
VI_ERROR_LINE_IN_USE |
The specified trigger line is in use. |
VI_ERROR_MACHINE_NAVAIL |
The specified machine is not available. |
VI_ERROR_MEM_NSHARED |
The device does not export any memory. |
VI_ERROR_NCIC |
The session is referring to something other than the |
VI_ERROR_NENABLED |
The session must be enabled for events of the specified |
VI_ERROR_NIMPL_OPER |
The given operation is not implemented. |
VI_ERROR_NLISTENERS |
No listeners are detected. (Both NRFD and NDAC are deasserted.) |
VI_ERROR_NPERMISSION |
You do not have permission to perform this operation. |
VI_ERROR_NSUP_ALIGN_OFFSET |
The specified offset is not properly aligned for the |
VI_ERROR_NSUP_ATTR |
The attribute specified is not supported by the specified |
VI_ERROR_NSUP_ATTR_STATE |
The state specified for the attribute is not supported. |
VI_ERROR_NSUP_FMT |
The format specifier is not supported for the current |
VI_ERROR_NSUP_INTR |
The interface cannot generate an interrupt on the requested |
VI_ERROR_NSUP_LINE |
One of the specified lines (trigSrc or trigDest) is not supported by this VISA implementation. |
VI_ERROR_NSUP_MECH |
The specified mechanism is not supported for the given |
VI_ERROR_NSUP_MODE |
The specified mode is not supported by this VISA implementation. |
VI_ERROR_NSUP_OFFSET |
The offset specified is not accessible. |
VI_ERROR_NSUP_OPER |
The operation specified is not supported in the given |
VI_ERROR_NSUP_VAR_WIDTH |
Cannot support source and destination widths that are |
VI_ERROR_NSUP_WIDTH |
The specified width is not supported by this hardware. |
VI_ERROR_NSYS_CNTLR |
The interface associated with this session is not the |
VI_ERROR_OUTP_PROT_VIOL |
Output protocol error occurred during transfer. |
VI_ERROR_QUEUE_ERROR |
Unable to queue read or write operation. |
VI_ERROR_RAW_RD_PROT_VIOL |
A violation of raw read protocol occurred during a transfer. |
VI_ERROR_RAW_WR_PROT_VIOL |
A violation of raw write protocol occurred during a |
VI_ERROR_RESP_PENDING |
A previous response is still pending, causing a multiple |
VI_ERROR_RSRC_BUSY |
The resource is valid, but VISA cannot currently access |
VI_ERROR_RSRC_LOCKED |
The specified operation could not be performed because |
VI_ERROR_RSRC_NFOUND |
The expression specified does not match any device, |
VI_ERROR_SESN_NLOCKED |
The current session did not have any lock on the resource. |
VI_ERROR_SRQ_NOCCURED |
A service request has not been received for the session. |
VI_ERROR_SYSTEM_ERROR |
Unknown system error. |
VI_ERROR_TMO |
The operation failed to complete within the specified |
VI_ERROR_TRIG_NMAPPED |
The path from trigSrc to trigDest is not currently mapped. |
VI_ERROR_USER_BUF |
A specified user buffer is not valid or cannot be accessed |
VI_ERROR_WINDOW_MAPPED |
The specified session already contains a mapped window. |
VI_ERROR_WINDOW_NMAPPED |
The specified session is not currently mapped. |
VI_ERROR_IN_PROGRESS |
Unable to start a new asynchronous operation while another |
Below are all of the Error Codes that belong to the VISA Error Code Family (see Error List for list of Families).