howto-faq-1444x512

FAQ for SDK for ctrlX AUTOMATION

CodeShepherd
Community Moderator
Where can I get the Software Development Kit (SDK) for ctrlX AUTOMATION?

The official release of the SDK for ctrlX AUTOMATION is available as download via GitHub.

Prototype versions will be available for selected customers via download from Collaboration Room.   Link to Collaboration Room

To become a selected customer please contact any person at Bosch-Rexroth sales- or business development department. Link to contact search (At Product Groups please select only "Electric Drives and Controls")

 

Why SDK for ctrlX AUTOMATION?

The SDK contains all information and dependencies you need to start to develop additional software packages for ctrlX AUTOMATION. If we talk about software packages it means snaps. Snaps are app packages for desktop, cloud and IoT that are easy to install, secure, cross-platform and dependency-free - snapcraft.io.

With the samples containing our SDK you learn to build those packages for our new platform ctrlX CORE or ctrlX COREvirtual , from scratch. Don't be afraid and try it! 🙂

Which examples can be found in the SDK (1.10.0) for ctrlX AUTOMATION?
  • Samples C/C++:
    • Hello World --> print "Hello World" in the console and diagnostic logbook
    • Hello PLC --> write PLC symbol variables NRT
    • ctrlX Data Layer Client  --> NRT manipulation of ctrlX Data Layer data
    • ctrlX Data Layer RegisterNode  --> create own NRT ctrlX Data Layer nodes
    • ctrlX Automation Bundle  --> includes motion commands for axis and kinematics
    • ctrlX Automation Scheduler  --> add a callable to the scheduler
    • ctrlX Data Layer EtherCAT I/O's  --> RT use of Ethercat IOs
    • ctrlX Data Layer Realtime  --> create and use own RT data
    • ctrlX Data Layer All Data Provider  --> involve variables of different data types into Data Layer Variants
    • Diagnostics Logbook  --> send messages in the ctrlX Diagnostics Logbook

 

  • Samples Golang:
    • Hello Webserver  --> integration of your own app in the ctrlX CORE web interface and reverse proxy
    • AppData File Storage  --> persist application data in ctrlX environment using an HTTP Listener

 

  • Samples Python:
    • ctrlX Data Layer Client  --> reads values from ctrlX Data Layer
    • ctrlX Data Layer Client (complex)  -->  runs Data Layer client operations like read, write and so on. It can be used as sample to implement own apps
    • ctrlX Data Layer Client Subscription  --> ctrlX Data Layer Client written in Python which fetches Data Layer data via subscriptions
    • ctrlX Data Layer Provider  --> provides Data Layer nodes. It can be used as sample to implement own apps
    • ctrlX Data Layer Provider All Data  --> provides Data Layer nodes. It can be used as sample to implement own apps
    • ctrlX Data Layer Browse  --> runs browse Data Layer client operation. It can be used as sample to implement own apps
    • ctrlX Data Layer Calculation operations  --> ctrlX Data Layer Provider and Client written in Python
    • Diagnostics Logbook  --> showes how to log in different loglevels into the logbook
    • AppData File Storage  --> shows how to persist application data in ctrlX environment using an HTTP Listener.

 

  • Samples .NET:
    • Hello World  --> prints out "Hello World" to the console
    • ctrlX Data Layer Client  --> reads values from ctrlX Data Layer
    • ctrlX Data Layer Browse  --> writes out all node values from ctrlX Data Layer to console
    • ctrlX Data Layer Provider  --> provides some registered nodes to the ctrlX Data Layer tree
    • ctrlX Data Layer All Data Provider  --> provides all types of data to the ctrlX Data Layer tree
    • ctrlX Data Layer Provider Virtual  --> demonstrates how to write a light-weight provider, listing to a wildcard address and managing virtual nodes
    • ctrlX Data Layer MQTT  --> connects the Data Layer to a MQTT 5 broker. The sample is based on MQTT.net
    • Diagnostics Logbook  --> logging messages to the logbook of ctrlX

 

  • Samples Shell:
    • TPM2 Consumer  --> shows the basic usage of a TPM2 inside your application

 

Related Links

Must Read

1 Comment

Trending

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