01-02-2017 07:28 AM
Happy new year all!
I'm trying to use the TekBox TBS03 converter seen here: https://www.tekbox.net/converters/sdi-12-converters/tbs03-sdi-12-to-usb-converter-and-tester and the manual https://www.tekbox.net/images/documents/converters/tbs03/TBS03_SDI-12_USBConverterManual.pdf
I'm receiving the correct response to the command "run sdi recorder", but I'm receiving the error "Error -1073807298 occurred at VISA Read. VISA: (Hex 0xBFFF003E) Could not perform operation because of I/O error."
I've tried this article http://digital.ni.com/public.nsf/allkb/0C2ABA463217342686256E2E006DF187 as well as this article http://digital.ni.com/public.nsf/websearch/0C2ABA463217342686256E2E006DF187?OpenDocument but I'm still receiving the error.
The manual states the responses will end in <CR><LF>, so I'm trying to terminate the response on the line feed.
In this VI, I copied the read buffer and changed it to a constant so you could see the response:
In this VI, I tried skipping the "VISA Configure Serial Port" VI, to no avail:
I don't have any timing between the write and read functions because I'm using highlight execution.
Any help is greatly appreciated. I'm out of ideas.
Thanks!
Solved! Go to Solution.
01-02-2017 11:36 AM
I don't think this would cause your error number, but I see one glaring error in the code you posted. You used "Bytes at Port" which is the wrong thing to use 99% of the time. You write something, immediately check bytes at port which is probably 0 because you haven't given any time for the device to responde,then proceed to read 0 bytes.
Since your command you are writing as a line feed as a termination character, and your configuration of the serial port enabled a termination character on reads as a line feed character, you should get rid of bytes a port and just wire in a constant that is larger than the longest message you ever expect to receive. If it was necessary to use bytes a port, then you should wire a wait between the writing and the checking of bytes a por to give the device a chance to respond.
01-02-2017 11:44 AM
Hi RavensFan,
Another Ravens fan here too!
It's buried in my post, but I didn't put any wait between the write/read because I've been running it using highlight execution. I constantly get 6 bytes as a response.
I tried removing the "Bytes at port" and wired 1028 bytes to the byte count function with a 1 second wait between, but I still receive the same error.
Whether I use "Bytes at Port" or not, I'm getting the correct response "ACK\r\n" but it's still giving me the error.
01-02-2017 11:56 AM
@buickgn wrote:
Hi RavensFan,
Another Ravens fan here too!
Excellent! It is a shame the season ended about a month earlier than I would've liked.
You said the error occurs at the read. Correct? Not on one of the earlier functions?
There is nothing about the VISA read that should cause an I/O error in itself except if the driver that the device installed to cause the USB port to behave like a serial port is not behaving with VISA.
It's good that it otherwise seems to be working, and if it does, you might just be able to clear the error and move on. You should also try opening up a session in MAX and run the command to see if that gives you anymore detail on why the error is popping up.
01-02-2017 12:28 PM
Agreed. The end of the game on Christmas day.... nevermind trying to wipe that from memory.
You're correct, the error only occurs on the Read.
I tried running the command using VISA Interactive Control and this is the response I get:
Here's the buffer using Trace:
I was hoping not to clear the error after every read, but I'm not sure what else to do.
01-10-2017 08:40 AM
The manufacturer responded to my e-mails. Turns out, it's a driver problem.
thanks for the help!
02-23-2021 11:38 AM
By any chance do you remember the solution, regarding the driver problem? Did it work after?