Developer Portal Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    Execute Addon (EXTENDS OpconAddonExec) command from HMI. Object development.

    Execute Addon (EXTENDS OpconAddonExec) command from HMI. Object development.

    maj9bj
    Long-established Member

    My addon extends OpconAddonExec that means I implemented some commands I can execute from my code or chains. I would like to add HMI button which can execute command in manual mode in the same way like standard objects do.
    But I do not know how to handle this. Should I create addon extension for manual mode?

    4 REPLIES 4

    Thorsten_Brach
    New Contributor

    Hello Jiri,
    for addons there is no separation like between units and extensions.
    You would have to work with your HMI directly on the addon and for your manual release ,
    you could ( for example ) use a reference in the ParCfg.

    I hope that answers your question ?

    maj9bj
    Long-established Member

    Hello Thorsten, I need to know where and how to map manual function key from HMI.

    maj9bj_0-1732015648207.png

     

    And where to place code which sets in manual mode ParCmd and executes addon command. For standard objects this is placed in Man+CommandName.

    RottG
    Established Member

    You can also create manually a command SqC, and start the addon command from there. The SqC than can be mapped to the HMI button, and does the same. Not the best and most resourceful solution, but I've seen this in many projects.

    nexidator
    Community Moderator
    Community Moderator

    The ManualFunctionKey can only be linked to manual functions. Add-ons don't have an Extension, so they cannot have manual functions. If you want to bring manual functions through the object definition, your object has to be a unit, not an add-on.

    Of course, it is possible to create a manual function in the project that calls a command of an add-on. You cannot link the command to the manual function in CpStudio, but the call would have to be implemented manually in the PLC code.

    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