Developer Portal Community

    We are moving! We are currently migrating our community to the new Bosch Connected Industry Online Portal. The community will be available latest in the new year again, until then it will be in read-only mode. Click here for more information.

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    Axis quickstop

    Axis quickstop

    rbresca
    Established Member

    Hello,

    I would like to understand how to properly handle the following situation: I have an axis (indradrive) which should be stopped when a light curtain is interrupted.

    The curtain safety signal is properly connected to the safety signal MS (mode selection) of the drive and is also connected to the PLC. When the curtain is interrupted the MS signal goes to FALSE and the drive will go in STO status.

    To avoid a drive error, the PLC must react stopping and disabling the drive. A function called in AxisExtension.OnCall check this condition and set ParImm.QuickStop := TRUE and ParImm.Activate := FALSE when the barrier is interrupted.

    I've used this code two years ago and it worked. The same situation, today seems to work in a different way. Setting/forcing the two values manually seems to work as I expect, but, if the curtain is interrupted when an axis command is executing, the drive is not disabled, thus it raises an error after one second (max transition time exceeded).

    After some trial an error I've found a working solution cancelling the command setting Execute := FALSE. This of course, stops the command before the axis reaches the final position and the come must verify this condition and issue the commnad again if necessary.

    Also, I'm not sure which OutImm bit check to be sure the axis is enabled, when the curtain is free and the axis is Activated again (OutImm.DriveEnabled does not seem the right bit).

    Is there a proper way to handle a situation like this?

     

    P.S. when I had the same situation in the past, using QuickStop lead had the side effect to cancel the command, now the command is not cancelled. In the past, I had no problem with drive safety errors, now I have. I'm pretty sure something is handled differently in Rexroth Axis between the two versions.

    (Old Indradrive MPM (native/NC) 2.0.10.0, New Indradrive MPB (native) 2.0.13.0)

    6 REPLIES 6

    SteffenR-
    Community Moderator
    Community Moderator

    How do you parametrize the IndraDrive regarding Drive Halt?

    SteffenR_0-1687205913407.png

     

    If you use the red option, ParImm.Dec is used for deceleration (which could be too slow) and the command stays in ExecState RUNNING (with speed 0).
    If you use the green options, the Drive Halt acceleration (S-0-0372) is used for deceleration and the ExecState will change to ERROR (but I didn't test the combination with ParImm.Activate:=FALSE).

    For further diagnosis, the version of the base peripheral NexeedEcRxId is needed. There were several changes regarding reset (see VersionHistory.xml).

    rbresca
    Established Member

    Hello,

    thank you for this explanation.The behaviour of the axis was very similar to your description, with the exception of the deceleration.

    For most of the tests I did last week, the configuration was the red one. During those tests, the axis was stopped vith very high deceleration (much higher than configured Dec parameter). After I've changed the axis configuration to the green one, the deceleration in S-0-0372 was used, as you state.

    In August I'll work on a similar station and I'll do some more test to understand the best way to handle this situation.

    Since the light curtain reset the MS signal in the drive SMO, I need the axis peripheral to reset the enabling signal in order to avoid the "maximum transition time exceeded" error on the drive.

    At the same time, I need to intercept the axis ERROR because I don't want any error in the HMI and I'll need to re-issue the positioning command to be sure the axis is in the desired position before going on

    By the way, the NexeedEcRxId used in the Std is the following

    ObjectVersion version="2.2.10.0"

    SteffenR-
    Community Moderator
    Community Moderator

    As the light curtain deactivates the drive, the green option does not help you because the safety signals deactivate the drive (and therefore unit does not stay in ExecState RUNNING).

    You can try:

    1. If light curtain accessed, set Axis.Execute:=FALSE.
    2. Then set Axis.ParImm.Enable:=FALSE (currently Enable FALSE will internally be executed after the command cancel, but it is planned to change this behaviour).
    3. If light curtain is free again, set AxisParImm.Enable:=TRUE
    4. Then start axis command again.

    rbresca
    Established Member

    Thank you for your answer.

    This is what I'm doing right now (with the green option). As soon as the PLC see that the light curtain is interrupted, it set QuickStop, reset Enable and reset Execute.

    The axis stops with the desored deceleration (within the prescribed time, otherwise the Maximum transition time will be raised by the drive).

    Then, as soon as the light curtain is free again, the PLC check the axis position and jump back in the chain to the prevoius steps when the axis is enabled and the MOVE command is execute.

    I still need to investigate which OutImm signal check before re-enabling the drive. At the moment I have an opcon object error if I do not add a delay before enabling the drive after the OutImm.DriveEnabled value is true.

    I will have a station available within the next month to do some more test.

    For sure I'll check any axis update to see if any behaviour is changed.

    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