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.
07-06-2023 05:53 PM
Hello,
I need to implement a station with OES 4.11 and MES@AE 1.1 Objects.
First things first, I tried to add a ModeForwarder to the Model. The problem is that I cannot use the Mode Forwarder Template (as in the sample project) because it requires al least OES 5.4. So I tried to add a Mode Forwarder (1.0.10.0) object to the standard, but the object is has Visibility="Never" in the ood. So I don't find it in the Object browser thus I cannot add it to the project.
Am I doing something wrong?
I know that I can cheat changing the visibility in the OOD, but, at the same time, I understand that there should be a reason why the Mode Forwarder is not visibile so I don't want to cheat!
-------------
By the way, this project does not requires a MF. It is a simple station with one Fu, one Wp and no conveyor. The original project that I'm updating does not have a MF, only a Mode Handler. I want to add the MF because the documentation I have tells to use a MF and add AeMesStationAddOn to it.
Solved! Go to Solution.
07-07-2023 05:40 AM
It's important to understand that the basic framework objects ModeForwarder, ModeHandler and CmdHandler each have two objects: One object that is just called ModeForwarder, ModeHandler and CmdHandler respectively, and a second object which is called ModeForwarderTemplate, ModeHandlerTemplate and CmdHandlerTemplate respectively. If you want to use any of the default BCI handlers, you need both of these objects, so in your case the ModeForwarder and the ModeForwarderTemplate. In OES you will always use the latter in your model tree, the Template objects. The former is invisible, as you have found out.
The logic is that the former implements the actual logic that each of these handlers need while the latter adds all the little details that you need when you want to efficiently work with this handler in the model tree. For normal users this separation is irrelevant, you just always use the Template objects and don't need to care about it. It gets interesting when you create derived objects which are inheriting from the BCI handlers. Then those need to inherit from the former kind, not from the template versions. And those objects themselves then need to be Templates or if they are not then a separate Template object needs to be created for the derived object so it can be used in OES/CPS.
While this is confusing in a special situation like yours, the architecture in general is well done as it is. (Thumbs up to whoever designed this in BCI). Using the Object Browser might have mitigated your confusion, but not sure. You can test it yourself: Open the Object Browser and look for mode forwarders in the BCI repo and try to download one. Chance is you get exactly what you need without even knowing it.
07-07-2023 08:13 AM
07-07-2023 09:13 AM
Thank you for your in depth answer. The model behind the base object and the derived one is clear.
What I do not understand is why I cannot use the Mode Forwarder Template in OES 4.11. Should I use a previous version? Latest version (1.5.3.0) im my repository requires OES5.4.
Maybe version 1.4.1.0 will do. The problem would be find that version. I'm using one of the latest object releases and it contains only V1.5!
07-07-2023 09:17 AM - edited 07-07-2023 09:23 AM
NxModeForwarderTemplate V1.5 requires at least Control plus Studio V5.4,
NxModeForwarderTemplate V1.4 can be used with OES V4.
You can find the old versions in the "_outdated" folder of the repository: