Developer Portal Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    OpconWorkingCode Enum doesn't match with XML specification

    OpconWorkingCode Enum doesn't match with XML specification

    tommy3000
    Established Member

    Hello together

    During a commissiong with MES I found a little inconsistency of data taypes in the OpconDataDefBase.

    The OpconWorkingCode in the PLC has more values, than the OpconWorkingCode on MES side.

    Here a screenshot of the current specifications for XML.

    tommy3000_0-1626363474144.png

    On PLC side the enumeration is equal until 15, like the spec, but it has more values.

    tommy3000_1-1626363643656.png

    Which one is now the correct one?

    3 REPLIES 3

    SteffenR-
    Community Moderator
    Community Moderator

    Both enumerations are correct 🙂

    Nexeed MES knows WorkingCodes 0-15 by default, that means they will be shown with their name in MES. Some WorkingCodes affect the behaviour of the MES communication, e.g. TEST_PART (1) or GOLDEN_DEVICE (15).

    These WorkingCodes 0-15 are the same on both sides (MES and OpconWorkingCode enum).

    All other WorkingCodes (16ff) of the OpconWorkingCode enumeration do not have a special effect in MES by default and MES just shows the number. The name can be added on MES side to also show the name for the WorkingCodes 16ff (that's at least the current solution/workaround, must be done in every MES project manually: OIS.NET Portal Setup → Internal Text Groups → WorkingCode → Text Group Customization).
    But it is also possible to give the WorkingCodes 16ff other meanings in MES than in the PLC enumeration. Actually that is already the case for HDP projects where some WorkingCodes have different numbers:

    Meaning

    HDP project

    Control plus (OpconWorkingCode)

    T16

    26

    18

    VA Packaging

    27

    19

    Z

    28

    20

    SPC

    29

    21

    Q

    30

    22

    VA

    31

    23

     

    For communication with OpconXml (DDL Event add-on) you can use your own enumeration instead of the OpconWorkingCode enumeration (e.g. necessary for HDP projects).
    But for Public Interface (OPC UA) you have to use the OpconWorkingCode enumeration. Currently it is not possible to provide a basic WorkingCode enumeration that can be extended/changed manually in the projects.

     

    PS: In general all WorkingCodes can have project specific effects (should be defined in the MES specification).

    tommy3000
    Established Member

    In my opinion, this is a big issue.

    Is it not possible, that you communicate internally the extended enumeration to the MES department, so they can extend there specs, especially with the new commincation with OPC UA.

    We have to avoid too many applicationable solutions and define a standard of our data.

    Little example, I tell my customer which possibilities we have with the WorkingCode and we choose Check_the_checker to use. After integration and testing the MES, we only see the number. Now I ask the collegue from MES why, the answer is not I can integrate this, the answer is, WorkingCode from spec is only until 15, that's what we can use.

    Explaining the customer the situation, he cannot understand, why my standard is different to the MES one.

    I think, we should have a common data base in OPC UA and use the Input and Output Data for special things, if needed.

    SteffenR-
    Community Moderator
    Community Moderator
    1. Thanks for this hint. We will think about documenting the difference (comment, documentation, ...).
      Actually the idea behind extending the WorkingCodes was to prevent too many application specific solutions.
    2. Our MES department knows this topic already. Currently I can't tell you anything about the final solution or time line, but I guess it will last some time.
    3. The Bosch division PS has specified our OpconWorkingCode enum (0-28) as standard for new PS projects. I am not sure about the specification of your fuel cell project, but the PS standard specification should apply for it. Maybe the MES colleage doesn't know this?
    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