Community news, upcoming events and general discussions
Threads: 36 Posts: 88
Get technical support from the community
Threads: 1427 Posts: 7608
Threads: 18 Posts: 64
Tell us how to make XDK better!
Threads: 36 Posts: 119
Share and discuss community member projects
Threads: 81 Posts: 350
I am trying to use the MLPI (Motion Logic Programmable Interface) Open Core Engineering library by Bosch Rexroth in order to connect an XDK to an industrial controller XM series.
This library is downloadable free of charge by Bosch Rexroth's website (https://www.boschrexroth.com/en/xc/products/engineering/opencoreengineering/engineering_network/engineering_network_start_1).
Has anyone tryed to accomplish this?
Hello Matteo, Unfortunately I have never done this before but it sounds like a great challenge. What types of interfaces does the specific XM controller provide in order to connect it to the XDK? Are you planning to connect it via a direct (physical) or indirect (web) connection? Kind regards, Manuel
Open Core Interface is a set of APIs for the most commonly used programming languages. The one that I had in mind to use for this application is the C++ library, referred as mlpiCore. Then wrap it around a shared C library.
Open Core allows to send commands via TCP/IP to our Bosch Rexroth controllers, which are then executed directly at firmware level.
The big roadblock that I am hitting is that I am unable to compile my XDK project if I link also the .lib libraries provided by mlpiCore. One solution would be to obtain this mlpiCore library compiled for ARM Cortex-M3 architecture.
Can you think of other solutions for this?
Hello Matteo, Linking the C++ (.a) static library would be a possible way I think. You would need an interface that combines the mlpiCore library functionality with the TCP/IP simplelink API of the XDK. User Christopher Koch was facing a similar issue discussed in this thread. Due to my knowledge he wanted to publish a tutorial on how to link such a library. Although he did not publish it yet, asking him appears to be a good idea. Kind regards, Manuel
I know well Chris, he's been helping me in this process and has already shared his guide on how to create a C++ wrapper and bundle it into a static library.
Unfortunately this is not working, as the mlpiCore .lib library must be compiled using MSVC++ and not the BCDS compile chain.
Hello Matteo, based on the fact that the mlpiCore library is unfortunately not a part of the XDK framework and is as mentioned limited to the MSVC++ compiler I can’t make any suggestion if the library can be cross compiled, wrapped or not. I am sorry for that. Another possibility or workaround would be to send requests via a gateway that implements the library. I would assume this is an issue that is more related to the mlpiCore library and consulting the Engineering Team of Bosch Rexroth could help you to make some progress. As you already mentioned obtaining the library in a matching compiled version would be the easiest way. Please feel free to ask if you have further questions. Kind regards, Manuel