Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important information on the platform change.

cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Where is the SDK API documentation?

Where is the SDK API documentation?

Binarus
Member

Dear all,

I have successfully set up the CtrlX app build environment from within CtrlX Works, and have compiled one of the sample applications.

But I am missing the SDK / API documentation. The question is probably silly, but I just can't find it. I only have found the documentation at https://docs.automation.boschrexroth.com and the guides at https://boschrexroth.github.io/ctrlx-automation-sdk/overview.html

However, both of them do not contain a single word about the actual API (functions and data structures) the SDK itself and the various apps provide. To give one random example, I have seen the types

 

comm::datalayer::DlResult
comm::datalayer::IClient

 

in the C++ hello.plc sample, but I couldn't find documentation about them.

Where can I find descriptions for all API types, constants, classes and functions the SDK provides, including the APIs and data streams each app provides?

Thank you very much, and best regards,

Binarus

 

5 REPLIES 5

nickH
Community Moderator
Community Moderator

Hi Binarus, 

you can look directly into the headers which are included in the SDK (datalayer_system.h and datalayer.h). Or for more context you can have a look at the Data Layer chapter in the manual (link). 

Best regards, 

Nick

Hi @nickH,

thank you very much for your reply. However, if I click the link you gave, the browser is redirected to

 

https://docs.automation.boschrexroth.com/doc/0/not-found/latest/iv/

 

and consequently the website that appears is nearly empty and does not contain something useful.

In the meantime, I have found the documentation for C# and for Python myself. The version for C# is at https://apps.boschrexroth.com/docs/ctrlx/csharp/html/. I find it nearly unusable, because there are no explanations about functions and their parameters, but at least it's a starting point where available classes are listed.

May I suggest that you place a link to it prominently on your Github site? It's the first thing developers need, but developers are generally not very delighted about having to work out class hierarchies, API functions etc. from header files or sample programs 😁 It would also be nice if you could add documentation like the one under the above link for the other available programming languages as well, especially for C++.

The lack of API documentation had nearly made us dump the CtrlX in favor of other products. I doubt that I'll be able to write a first app within a few days as required ... but let's see how it goes. In every case, your company would do itself a favor if somebody took the effort to raise the quality of the documentation to the level of typical Linux API manpages, e.g., https://man7.org/linux/man-pages/man3/printf.3.html (random example; compare it with the documentation of any arbitrary function of your SDK, e.g., ReadAsync() (https://apps.boschrexroth.com/docs/ctrlx/csharp/html/interfaceDatalayer_1_1IClient.html#aecf60d66247...)).

Apart from the catastrophic (nearly non-existent) API documentation, I find the overall approach of the CtrlX system and the development environment very good. Cross-compiling in VMs that are operated via SSH is a good idea, given that your recommended editor (VS Code) handles that without problems, and given that most developers are using VS Code anyway (at least for minor tasks, if not for their main job).

Best regards,

Binarus

CodeShepherd
Community Moderator
Community Moderator

Something seeme to wrong with the link. We will check that. 

The data layer doumentation is part of our "ctrlX CORE, Runtime 02VRS, Application Manual".

nickH
Community Moderator
Community Moderator

Thanks very much for your feedback. I will forward it. 

The link I sent was to a chapter in the official docu of the ctrlX OS runtime. The link @CodeShepherd shared. 

I can recommend you to look at these C++ samples to get started with the ctrlX Data Layer:

  • Data Layer Client Simple
  • Data Layer Provider Simple 

Please feel free to ask here in the forum, if you need support. 

Thanks for your help.

FYI, the link suddenly was working correctly yesterday; I guess that was due to actions at your side. But today it fails again (just tried, same problem as two days ago).

 

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