07-30-2018 09:12 AM
Here's what I recommend, based on some of the new information about your Camera, its capabilities, and the (still-not-quite-specified) task.
Once you have the Image and the ROI, use a "three-frame-Timing Sequence", with a Tick Count in the first and last frame, subtracted to get Delta T, and the IMAQ Read QR function in the middle. This will tell you precisely how long the QR takes, independent of the Camera, the ROI, etc. If it really is > 1 second, then I don't understand the wisdom of having the camera run at 15 fps.
If you want more assistance on this problem, I recommend you "fill in some of the blanks" by including all of the code that you are using, including acquiring the Image, specifying the ROI, and reading the QR.
Bob Schor
07-30-2018 01:56 PM
Dear sir :
Thanks for guidance. I will provide you with the mentioned request. The frame per second setting is 15. But in reality it is triggered physically. So we can consider it as 15 triggers per second. But it is not that way. It would be triggered twice in one second every lets say 10 seconds.
07-30-2018 11:07 PM
Hi @Lotfee
The Read QR Code VI does not function like industrial scanners that you are mentioning. It instantly evaluates the image at that same instant that the image is received. It automatically gives a pass/fail result as soon as it is called and it does not necessarily wait for a specific amount of time. In that sense, a timeout is not needed to use the that function. Regarding your problem that it seems to hang up on that function for 1-2 seconds before proceeding to the next ROI, I suspect it is a bug from other part of the code which was not shown. If you can try to create a simple flat sequence to isolate the Read QR Code VI, then that will be a good point to start debugging the problem to verify that it is indeed hanging up on that point.
07-31-2018 03:08 PM
Thanks a lot for the directions.
I will try them certainly.
But aren't any methods to make a function skip its process after a specific time ?
07-31-2018 05:35 PM
Some functions, like Enqueue and Dequeue, have a TimeOut as an intrinsic part of the function, but most do not.
Bob Schor
07-31-2018 07:19 PM
It does not have a timeout function by nature. What you can do however is continuously call that VI for a certain amount of time (say like 300ms) or until a barcode has been read.
08-01-2018 09:14 AM
Could you please explain more sir about how ?
08-04-2018 04:29 AM
How can that be done for a certain amount of time ?
08-04-2018 03:00 PM
There are some of us that would be willing to help, to test your routine, and to explain, but you have to help, as well. We need you to attach an Image that includes a QR code that you want to read (I recommend attaching it as a PNG), and also a Screen Shot of your IMAQ Image (showing the QR) that includes the ROI (or multiple ROIs) that you are using.
I'm sure I won't be the only one willing to test out the QR Read functions and try to replicate (or not!) the problem you are having. We like experimenting with LabVIEW, testing things, finding what Works and what Doesn't Work, but so far, you haven't provided much help to allow us to help you. Give us some data (you've been asked this several times, before)!
Bob Schor
08-04-2018 04:30 PM
In regards to keeping track of time to decide to timeout, I recommend the Elapsed Time express VI. Reset it at the start of the process and compare the elapsed time to your predefined timeout time. If elapsed surpasses timeout, it is up to you to exit the loop/function/subvi gracefully.