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

    Setup control and TypeData list

    Setup control and TypeData list

    maj9bj
    Long-established Member

    For our project with Setup control we would like to show all TypeData available at server during manual changeover. The reason for this is we have lot of single stations and we do not want to write type data name directly into the dialog. So the idea is to display all available data and choose one of them in the same way like we use it for local TypeData in files.

    Is there any way how to show dialog similar to local data dialog which displays all data available in setup control?

    Is there any standard or example for this type of data handling? 

    4 REPLIES 4

    SteffenR-
    Community Moderator
    Community Moderator

    Maybe you can get a list of all types via a dataDownloadRequired (OpconXml) or DataSet (Public Interface), but it must be implemented/configured on MES site.

    It looks like there is a MES function GetAvailableTypes, see MES DirectDataLink documentation "Module.SetupControlAccess_UserManual_EN.pdf"

    I have never seen a project that uses such a function*, but I am looking forward to your feedback 😀

     

    * Bosch AE has realized something similar (download process list at machine startup, then download process data). But I am not sure how it is realized on MES side.

    MarvinW
    Long-established Member

    On the PLC side this is not particularly difficult. Like Steffen said, first you need to somehow get the data with DataDownloadRequired or DataSet. In the AE base station(s), they actually use 2 DataDownloadRequired for this afair: The first one downloads the number of available entries, which is just a single number, and then the second one downloads the actual list. The reason for the first telegram is to configure the amount of expected items in the variable length response array of the second. Not sure if this is _really_ necessary, but it may be good practice.

    On the PLC, put the items in a string array and show it in a GridControl in a Dialog on the HMI. If you're nice, set the index to the current type or the one that is most likely chosen to be changed over to. The rest is dialog handling and starting the change over from the selected string in the GridControl.

    ---

    If you have a lot of single stations and automatic change-over e.g. via WPC is not possible, how about triggering the change over from scanning the part, if it has identification? Even in change over mode you can have the operator scan the part he wants to change over to, do a PartReceived on that part ID and obtain the new type number from that. I did that in a manual station before as an option for manual change-over. If the operator wants, he can still input the type number manually instead. Just a suggestion. Maybe it's not useful in your case.

    maj9bj
    Long-established Member

    I like the idea with scanning of part during the changover 👍.

    PKlein
    Long-established Member

    Hallo,

    at the newest version of "Ae BaseStation's" (now 'MES@AE' PLC Objects) it is not necessary to use two DataDownloads. BCI implement a new feature, and there for  you don't have to download the Array-Size or the StructArray-Size. So just one DataDownload is essential.

    Activate the incompleat array size:

    _ddlMessage.Par.MsgGlobal.Recv.AcceptIncompArray := TRUE;
    _ddlMessage.Par.MsgGlobal.Recv.AcceptIncompStructArray := TRUE;

     

    But the best solution is to use the TypeNo and TypeVar of the part!

    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