Developer Portal Community

    We are still working on migrating to the new Bosch Connected Industry Online Portal. Stay tuned! Click here for the latest updates.

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    Scanner object ExecState behaviour

    Scanner object ExecState behaviour

    CtrlDiogoC
    Established Member

    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.

    6 REPLIES 6

    Düscha
    New Contributor

    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.

    Dscha_0-1724247513468.png

     

    Scanner as handheld read every time from socket. After you start cmd READ, the last scanned data you see in OutCmd.

    CtrlDiogoC
    Established Member

    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?

    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.

    CtrlDiogoC
    Established Member

    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.

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist