<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:webfeeds="http://webfeeds.org/rss/1.0">
    <channel>
        <title><![CDATA[Automation Community - SDK]]></title>
        <description><![CDATA[Software Development Kit for ctrlX AUTOMATION]]></description>
        <link>https://community.boschrexroth.com</link>
        <generator>Bettermode RSS Generator</generator>
        <lastBuildDate>Sat, 04 Apr 2026 21:09:53 GMT</lastBuildDate>
        <atom:link href="/rss/31Kx4oGfT6Ym/posts" rel="self" type="application/rss+xml"/>
        <pubDate>Sat, 04 Apr 2026 21:09:53 GMT</pubDate>
        <copyright><![CDATA[2026 Automation Community]]></copyright>
        <language><![CDATA[en-US]]></language>
        <ttl>60</ttl>
        <webfeeds:icon></webfeeds:icon>
        <webfeeds:related layout="card" target="browser"/>
        <item>
            <title><![CDATA[App connection failed]]></title>
            <description><![CDATA[I have an SDK app, which is using the data layer with retain memory as well as UDP communication. The app works fine on a real core with Automation Core 2.6.x as well as on a virtual Core with ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/app-connection-failed-ky3SQG8y2PfNTbE</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/app-connection-failed-ky3SQG8y2PfNTbE</guid>
            <category><![CDATA[DATALAYER]]></category>
            <category><![CDATA[SDK]]></category>
            <dc:creator><![CDATA[BennyF]]></dc:creator>
            <pubDate>Tue, 31 Mar 2026 09:39:39 GMT</pubDate>
            <content:encoded><![CDATA[<p>I have an SDK app, which is using the data layer with retain memory as well as UDP communication. The app works fine on a real core with Automation Core 2.6.x as well as on a virtual Core with Automation Core 3.6.4. But the data layer access doesn't work for a real core with Automation Core 3.6.4.</p><p>There is an error message in the logbook:<br>Main diagnostic code: 080F0829<br>Detailed diagnostic code: 0C64100E<br>Description 1: App connection failed<br>Description 2: App connection not allowed for apps from unknown sources<br>Description 3: Connection of plug &lt;myappname&gt;:home is not allowed<br>Source 3: web.packagemanager / <a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="http://snap.rexroth">snap.rexroth</a>-deviceadmin.web.service</p><p>In the app settings, apps from unknown sources are allowed. Otherwise, I couldn't even have installed the app.</p><p>Description 3 of the error message says that plug "home" is not allowed, which is needed for file access. But file access is working.</p><p>UDP communication is also working. But the data layer access is not working.</p><p>Any idea what the issue could be?</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SNAP DEVELOPEMENT]]></title>
            <description><![CDATA[I want to create same snap like OPC UA, "create token app" which will get installed and In the menubar When clicked "Create token app" opens the gui in the right side where it will take two inputs ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/snap-developement-FGNU5oekK66Xr9y</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/snap-developement-FGNU5oekK66Xr9y</guid>
            <category><![CDATA[SDK]]></category>
            <dc:creator><![CDATA[asd]]></dc:creator>
            <pubDate>Fri, 20 Mar 2026 09:36:36 GMT</pubDate>
            <content:encoded><![CDATA[<figure data-align="center" data-size="best-fit" data-id="cflLm6JZxfvUrxF82EAoJ" data-version="v2" data-type="image"><img data-id="cflLm6JZxfvUrxF82EAoJ" src="https://tribe-eu.imgix.net/cflLm6JZxfvUrxF82EAoJ?auto=compress,format"></figure><p></p><p>I want to create same snap like OPC UA, "create token app" which will get installed and In the menubar When clicked "Create token app" opens the gui in the right side where it will take two inputs username and password and save button when clicked in the backend it will call restapi to create token </p><p>I want to develop in python  </p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Snap Development]]></title>
            <description><![CDATA[Hi I want to create a snap,

Which will have UI for configuration & On the backend it will read the parameter from that UI and call the rest api to create backup.

Can I create that snap in c++ does it ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/snap-development-fVbjecfIfeT8ag6</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/snap-development-fVbjecfIfeT8ag6</guid>
            <category><![CDATA[CTRLXAUTOMATION]]></category>
            <category><![CDATA[CTRLXCORE]]></category>
            <category><![CDATA[DATALAYER]]></category>
            <category><![CDATA[SDK]]></category>
            <dc:creator><![CDATA[asd]]></dc:creator>
            <pubDate>Thu, 19 Mar 2026 11:24:38 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi I want to create a snap,</p><p>Which will have UI for configuration &amp; On the backend it will read the parameter from that UI and call the rest api to create backup.</p><p>Can I create that snap in c++ does it support UI creation ??</p><p></p><p>One more thing how can we call the rest api using c++ ?using libcurl</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Create Variable in Ctrlx Datalayer]]></title>
            <description><![CDATA[Hi,

I want to create a variable in datalayer using restapi in python snap.

Variable will be int type and I want to read and write that also.

Could you please help me

I am calling the api like below

url = "...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/create-variable-in-ctrlx-datalayer-uwXL7yCIxacRGb6</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/create-variable-in-ctrlx-datalayer-uwXL7yCIxacRGb6</guid>
            <category><![CDATA[CTRLXCORE]]></category>
            <category><![CDATA[DATALAYER]]></category>
            <category><![CDATA[SDK]]></category>
            <dc:creator><![CDATA[asd]]></dc:creator>
            <pubDate>Thu, 19 Mar 2026 07:17:55 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi,</p><p>I want to create a variable in datalayer using restapi in python snap.</p><p>Variable will be int type and I want to read and write that also.</p><p>Could you please help me</p><p>I am calling the api like below</p><pre class="language-python"><code class="language-python">url = "https://" + self.ctrlx_ip_address + "/automation/api/v2/nodes/datalayer/test/value"</code></pre><pre class="language-python"><code class="language-python">        payload = {
            "value": "ok",
            "type": "types/string"
        }</code></pre><p>But I am getting response</p><p>Error: 400 {"type": "about:blank","title": "DL_TYPE_MISMATCH","status": 400,"detail": "Invalid type field","instance": "datalayer/test/value","severity": "Error"}</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[VB.NET intergrating comm_datalayer.dll to communicate with CtrlX core]]></title>
            <description><![CDATA[Hello ,

i installed the datalayer nuget in visual studio vb.net 2019, but when i run the code i get the error : Exception thrown: 'System.DllNotFoundException' in datalayer.dll

An unhandled exception ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/vb-net-intergrating-comm-datalayer-dll-to-communicate-with-ctrlx-core-QeQFjrUsudMSMyr</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/vb-net-intergrating-comm-datalayer-dll-to-communicate-with-ctrlx-core-QeQFjrUsudMSMyr</guid>
            <dc:creator><![CDATA[MesutK]]></dc:creator>
            <pubDate>Wed, 14 Jan 2026 12:59:26 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hello , </p><p>i installed the datalayer nuget in visual studio vb.net 2019, but when i run the code i get the error : Exception thrown: 'System.DllNotFoundException' in datalayer.dll</p><p>An unhandled exception of type 'System.DllNotFoundException' occurred in datalayer.dll</p><p>Unable to load DLL 'comm_datalayer.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)</p><p></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Findings using the Rest API for an Apache PLC4X driver]]></title>
            <description><![CDATA[Hi all,

over the christmas break I have been implementing a PLC4X compatible driver for CtrlX. So far it supports Browsing, Reading and Writing (Subscriptions will follow soon).

However I noticed a few ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/findings-using-the-rest-api-for-an-apache-plc4x-driver-0unrQnto5dpC06K</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/findings-using-the-rest-api-for-an-apache-plc4x-driver-0unrQnto5dpC06K</guid>
            <category><![CDATA[CTRLXCORE]]></category>
            <category><![CDATA[DATALAYER]]></category>
            <category><![CDATA[CODESYS]]></category>
            <category><![CDATA[API]]></category>
            <category><![CDATA[RESTAPI]]></category>
            <dc:creator><![CDATA[Chris]]></dc:creator>
            <pubDate>Sun, 04 Jan 2026 10:37:48 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi all,</p><p>over the christmas break I have been implementing a PLC4X compatible driver for CtrlX. So far it supports Browsing, Reading and Writing (Subscriptions will follow soon).</p><p>However I noticed a few things, that I think either I'm using it wrongly or that could use improvement.</p><p>In order to test my drivers in various protocols, I developed a standard set of variables, UDTs and values I statically assign to them to test my drivers (Attached that as DATA.txt). Then I have a test setup, where I read each tag, compare it to the expected value and then I write the same value back individually. As soon as they pass, I then read all tags at once in random order, then write them back and do that 100 times, each time with a different order. <br><br>That's basically the test I try to run on each device to test the driver functionality.<br><br>Here with CtrlX I ran into a few problems Added "trivial, minor and major" to indicate how they impact my work or the functionality of the driver:</p><ul><li><p>(minor) Time types are correctly supported within the CodeSys PLC, but when exported to the datalayer, they are all reduced to simple numeric values and the metadata doesn't provide means of interpreting them as a time, date or duration, they just become numeric values.</p></li></ul><ul><li><p>(minor) All other PLC types I have worked with support addressing parts of multi-dimensional arrays. In CtlrX it seems that you can either address the full array or leaf-elements, but not branches. So if for example /plc/app/Application/sym/PLC_PRG/g_matI16_2x3 addresses the full 2x3 array and /plc/app/Application/sym/PLC_PRG/g_matI16_2x3/2,3 one element, there's no way to address all 3 elements of array 1 (/plc/app/Application/sym/PLC_PRG/g_matI16_2x3/1)</p></li><li><p>(trivial) When fetching a multi-dimmensional array, the result is a flat array and my driver needs to convert that back into a multi-dimmensional array.</p></li><li><p>(major) Even if fetching multi-dimmensional arrays of simple types seems to work, this doesn't seem to work in case of multi-dimmensional arrays of user-defined types. Here I'm only getting errors, from the remote when trying to fetch them.</p></li></ul><p>(I added my unit-test as ManualCtrlXDriver.java as "txt" file) This also contains notes I did. </p><p>Will now try to convert the temporal types to numeric and at least continue checking the functionality of the reading and writing of UDTs.</p><p></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Problem to build snap from SDK sample tpm2-webserver]]></title>
            <description><![CDATA[Hello,

I try to build and run the SDK sample "tpm2-webserver" in version 0306 but it fails to generate the snap and one part in the readme file is not clear for me.

I am running a WM Ware virtual ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/problem-to-build-snap-from-sdk-sample-tpm2-webserver-WGQfv0ekdoyUYUq</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/problem-to-build-snap-from-sdk-sample-tpm2-webserver-WGQfv0ekdoyUYUq</guid>
            <category><![CDATA[SDK]]></category>
            <category><![CDATA[tpm]]></category>
            <category><![CDATA[tpm2.0]]></category>
            <dc:creator><![CDATA[ThibaultM]]></dc:creator>
            <pubDate>Tue, 16 Dec 2025 16:54:11 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hello,</p><p>I try to build and run the SDK sample "tpm2-webserver" in version 0306 but it fails to generate the snap and one part in the readme file is not clear for me.</p><p>I am running a WM Ware virtual machine with Ubuntu 22.04, ctrlX SDK installed, with all scripts recommanded and TPM 2.0 is declared inside my VM.</p><p>In the readme file of this exemple, in point 3, it is ask to : Build and install the snap as described in <code>Setup</code> section</p><figure data-align="center" data-size="original" data-id="zyGDU9pnZKSG6mJCtYoLy" data-version="v2" data-type="image"><img data-id="zyGDU9pnZKSG6mJCtYoLy" src="https://tribe-eu.imgix.net/zyGDU9pnZKSG6mJCtYoLy?auto=compress,format"></figure><p>Where is the "Setup" action? What should I do?</p><p>When I run the script "build-snap-amd64.sh" or "build-snap-arm64.sh" to make the app files, There is always an error :  </p><figure data-align="center" data-size="best-fit" data-id="10hxDtAolXirGD68j6m9g" data-version="v2" data-type="image"><img data-id="10hxDtAolXirGD68j6m9g" src="https://tribe-eu.imgix.net/10hxDtAolXirGD68j6m9g?auto=compress,format"></figure><p>And when I read the log file (file attached below) : </p><figure data-align="center" data-size="best-fit" data-id="5XCxAxTMOgbRQEj6XwQBz" data-version="v2" data-type="image"><img data-id="5XCxAxTMOgbRQEj6XwQBz" src="https://tribe-eu.imgix.net/5XCxAxTMOgbRQEj6XwQBz?auto=compress,format"></figure><p>I don't understand the issue. How get this exemple running?</p><p>Thanks for your help</p><p>ThibaultM</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Load a Sample Webpage Inside ctrlX Virtual Without Affecting the Side-Navbar & Header]]></title>
            <description><![CDATA[I tried loading my webpage inside ctrlX Virtual, and after removing target="_blank" in the manifest.json, it opens in the same window. It is working, but the side navbar and header are not replaced — ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/how-to-load-a-sample-webpage-inside-ctrlx-virtual-without-affecting-the-Cl8W0WXhXpolsxG</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/how-to-load-a-sample-webpage-inside-ctrlx-virtual-without-affecting-the-Cl8W0WXhXpolsxG</guid>
            <category><![CDATA[CTRLXAUTOMATION]]></category>
            <category><![CDATA[SDK]]></category>
            <dc:creator><![CDATA[Balaji]]></dc:creator>
            <pubDate>Thu, 11 Dec 2025 12:24:14 GMT</pubDate>
            <content:encoded><![CDATA[<p>I tried loading my webpage inside ctrlX Virtual, and after removing <code>target="_blank"</code> in the manifest.json, it opens in the same window. It is working, but the side navbar and header are not replaced — it looks like a new tab with an empty navbar and header. Please check the screenshots. I attached my manifest file also here.</p><figure data-align="center" data-size="best-fit" data-id="KKZTFX7EWZ3q6DUxJRbfs" data-version="v2" data-type="image"><img data-id="KKZTFX7EWZ3q6DUxJRbfs" src="https://tribe-eu.imgix.net/KKZTFX7EWZ3q6DUxJRbfs?auto=compress,format"></figure><figure data-align="center" data-size="best-fit" data-id="Px3BbJMWRYAcOduLdhksB" data-version="v2" data-type="image"><img data-id="Px3BbJMWRYAcOduLdhksB" src="https://tribe-eu.imgix.net/Px3BbJMWRYAcOduLdhksB?auto=compress,format"></figure><pre class="language-json"><code class="language-json">{
  "$schema": "https://json-schema.boschrexroth.com/ctrlx-automation/ctrlx-core/apps/package-manifest/package-manifest.v1.3.schema.json",
  "version": "1.0.0",
  "id": "sdk-net-hello-web-asp",
  "integration": {
    "type": "ui-extension",
    "path": "/sdk-net-hello-web-asp"
  },
  "services": {
    "proxyMapping": [
      {
        "binding": "unix://{$PACKAGE_WWW_SOCKET}",
        "url": "/sdk-net-hello-web-asp",
        "name": "sdk-net-hello-web-asp.webapp"
      }
    ]
  },
  "uiExtensions": {
    "dashboard": [
      {
        "order": 50,
        "src": "/sdk-net-hello-web-asp/widget/widgets.js",
        "tag": "rexroth-netweb-widget",
        "title": "test-web",
        "description": "Shows the status of test web",
        "categories": [
          "testweb"
        ],
        "i18n": "",
        "image": "/sdk-net-hello-web-asp/widget/assets/refer.svg",
        "initialSize": {
          "rows": 3,
          "cols": 3
        },
        "minSize": {
          "rows": 3,
          "cols": 3
        },
        "maxSize": {
          "rows": 3,
          "cols": 3
        }
      }
    ]
  },
  "menus": {
    "sidebar": [
      {
        "icon": "bosch-ic-grid-view",
        "id": "hello-web-asp",
        "title": "Hello Web ASP.NET",
        "items": [
          {
            "icon": "bosch-ic-grid-view",
            "id": "sdk-net-hello-web-asp",
            "link": "/sdk-net-hello-web-asp/",
            "title": "Hello Web"
          }
        ]
      }
    ]
  }
}</code></pre>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to get access to the TPM2 ?]]></title>
            <description><![CDATA[Hi,

I want to put a private key in TPM2.

The documentation is quite short and though I used the example that was given to get started, I am still struggling with how I am supposed to check on my TPM2.

Do...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/how-to-get-access-to-the-tpm2-6BtNE77Ju1mwy26</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/how-to-get-access-to-the-tpm2-6BtNE77Ju1mwy26</guid>
            <dc:creator><![CDATA[roskuyinetum]]></dc:creator>
            <pubDate>Tue, 09 Dec 2025 14:20:48 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi,</p><p>I want to put a private key in TPM2.</p><p>The documentation is quite short and though I used the example that was given to get started, I am still struggling with how I am supposed to check on my TPM2.</p><p>Do I necessarily need to use SSH to check it? I tried to generate a code using the example in python but I can't seem to manage to find the TPM2 Socket.</p><p>Copilot suggests to do that:</p><pre><code>snap connections mediation-dnc | grep tpm2-socket </code></pre><p>But I can't test it without SSH. Before I go any further and ask for SSH permissions, is it a requirement?<br></p><p>Is there any more information about TPM2?</p><hr><hr><p>Update of 11/12/2025 : </p><p>I have a problem finding/creating the tpm2-socket.sock that is at that location : /var/snap/my-project/x9/tpm2-socket/tpm2.sock.</p><p>As of now, I'm not sure if that's the correct path.</p><p>Thank you</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Subscription Status Monitoring]]></title>
            <description><![CDATA[What is the current best practice for monitoring if a subscription I have created is still valid? The interface provides no obvious way to do this. Currently, I periodically poll to ensure it's still ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/subscription-status-monitoring-iFWxfmSh0LRmIu8</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/subscription-status-monitoring-iFWxfmSh0LRmIu8</guid>
            <dc:creator><![CDATA[ArcherThompson]]></dc:creator>
            <pubDate>Fri, 05 Dec 2025 21:00:14 GMT</pubDate>
            <content:encoded><![CDATA[<p>What is the current best practice for monitoring if a subscription I have created is still valid? The interface provides no obvious way to do this. Currently, I periodically poll to ensure it's still in the DataLayer, but this approach is somewhat clunky.</p>]]></content:encoded>
        </item>
    </channel>
</rss>