Developer Portal Community

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

    Help with custom node (ITrsGroupToNode)

    Help with custom node (ITrsGroupToNode)

    rbresca
    Established Member

    Hello,

    I need help to understand how to use the properties StopContactors and StopRequest implemented by a custom node via the ITrsGroupToNode.

    I'm implementing a custom node similar to standard node 40 (a swivel door).I would like to stop the conveyor belt when the gate is open.

    I saw that the standard node 40 has this functionality but it has no reference to the motor or to the GroupMaster. I think the standard node uses the aformentioned interface, but the documentation is empty.

    Is there any example on how to use them?

    4 REPLIES 4

    DavidB
    Member

    Hello,

    at first, do you know the TrsNodeTemplate? It was developed to program your own node (I think you can try to use it or at least check how it is done). If the node 40 already can stop the belts of the group master, why you want to program it by yourself? Do you maybe missing some functions? Let us know.
    The GroupMaster reads the Property via Interface and can then shut down all the belts. If you want to stop only the belt of the node 40 you have to put only this node in one GroupMaster.

    I hope it helped a bit. Do you need more information? Just let me know.

     

     

    rbresca
    Established Member

    Hello,

    yes, I know the Transfer Special Node Template, I'm using it to implement my own custom node.

    Why I don't use node 40?

    Because my beloved project engineers draw a custom node which is a mix of a L transfer plus a T crossing plus a gate at the end.

    (and I didn't described the whole node behaviour...)

    I'm trying to do my best to mimic the behaviour of a standard node but is not that easy. For example, in the documentation of NodeTemplate I have the following description for StopContactors:

    "In the case of certain nodes, it must be possible to switch the motors off on a process-specific basis. This variable makes it possible to stop the motors of a node via the group master (e.g. standard node 40)."

    But how I can use it? Setting the property to TRUE is enough to have the motors stopped. Resetting it automatically restarts the motors?

    Also the use of StopRequest is not that clear. Should I use that property instead of using _env.StopRequest? I don't really understand the reason behind that.

    Hello,

    if you reset the property the motors starts again. You can use an internal variable to set it out of your chain (for example for the pre phase of the node).

    DavidB_3-1663137847551.png

    DavidB_2-1663137832855.png

     The reason you should use the property instead of the _env.StopRequest:
    If you press stop on the ModeForwarder, all your ModeHandlers will get the stop request and try to stop their chains. The TransferMaster will do this also. The nodes will be in stop very fast but your process can take more time. Then your nodes finished and the belts stops. Your other ModeHandlers are maybe still in process and for the stop request they need the belt to get the WPC moving. So in german we would say "then the cat bites its tail". With the property we can handle the stop request of the TrasnferMaster by our self. There is also an parameter in the GroupMaster where you can handle the stop behavior.
    DavidB_0-1663137485728.png
    If you check this box you can link numbers of ModeHandlers. Then the GroupMaster will wait for this handlers to stop and only if they stopped the nodes will go into stop aswell.
    DavidB_1-1663137572123.png

    The StopRequest is forwarded to your chain in the NodeTemplate automatically and the GroupMaster has access to the StopRequest via interface.

    DavidB_4-1663137950694.png

    DavidB_5-1663138054276.png
    Let me know if this has helped.

    rbresca
    Established Member

    Thank you,

    your explanation helped a lot.

    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