08-21-2024 12:38 PM
Hello all,
I have a Handheld Scanner and implemented a continuous Read command in the OnUnitOperational method, as suggested in a forum post.
I implemented a timeout before the scanner read timeout to have the read command continuously.
However, I am having an odd behaviour regarding the Scanner object ExecState. Once my timeout is reached, I reset the Execute flag, but it seems like the scanner object doesn't reset the command timer.
In the next Execute set, the ExecState enters the error state, because it reaches its internal timeout.
Down below I have the code I implemented.
CASE _step OF
0: // Start command
IF ( Loc000B720_Scanner.Unit.ExecState = OpconExecState.READY )
THEN
Loc000B720_Scanner.Unit.Command := ScannerCmd.READ;
Loc000B720_Scanner.Unit.Execute := TRUE;
OpconSetTimeout( PT := T#4S, rTimer := _cmdTimer );
_step := _step + 1;
END_IF
1: // Wait until finished
IF( OpconCheckTimeout( rTimer := _cmdTimer ) = OK ) OR
( Loc000B720_Scanner.Unit.ExecState = OpconExecState.DONE )
THEN
Loc000B720_Scanner.Unit.Execute := FALSE;
_step := _step + 1;
END_IF
2: // End step
_step := 0;
ELSE
Loc000B720_Scanner.Unit.Execute := FALSE;
_step := 0;
END_CASE
Thank you in advance.
08-21-2024 03:39 PM
One quastion, do you use the actual peripheral from ipscanner.
With the last version from our releaseserver its posible to set the scanner as handheld.
Scanner as handheld read every time from socket. After you start cmd READ, the last scanned data you see in OutCmd.
08-21-2024 03:51 PM
No, I'm actually using a personalized object based on an older version.
I had this in the company's object repository, so we could connect a USB scanner to the PLC.
Is there any way to bypass this? Or should we just base ourselves on that new IPScanner version to develop a new USB Scanner object?
08-22-2024 03:27 PM
Sorry, but I didn't really understand it.
What is used by the Nexeed release server.
Only the object (NexeedScanner) and the peripheral was created by you?
Or were both created by you according to an example of the Nexeed objects/peripherals?
What error no. you have? Please create a screenshot with the error no and the ooid.
Our Object NexeedScanner has no timeout in the cmd. Only on Peripheral site we have a read timeout for socket read.
08-22-2024 03:32 PM
I think the problem has to do with our peripheral object, for the USB scanner.
The read timeout is not resetting upon the Execution flag reset.
We will fix our object and re-test it.
Thanks for your help.