<?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>Thu, 30 Apr 2026 16:21:55 GMT</lastBuildDate>
        <atom:link href="/rss/31Kx4oGfT6Ym/posts" rel="self" type="application/rss+xml"/>
        <pubDate>Thu, 30 Apr 2026 16:21:55 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[Issue connecting custom Snap to Data Layer: "Data Layer SDK missing"]]></title>
            <description><![CDATA[We are currently working on a custom "Color Detector" app built for the ctrlX virtual OS environment. The application is designed to take a video stream/upload via a web interface, process it using ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/issue-connecting-custom-snap-to-data-layer-data-layer-sdk-missing-7bXTYrZhKRQ2Bj7</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/issue-connecting-custom-snap-to-data-layer-data-layer-sdk-missing-7bXTYrZhKRQ2Bj7</guid>
            <category><![CDATA[CTRLXAUTOMATION]]></category>
            <category><![CDATA[CTRLXWORLD]]></category>
            <dc:creator><![CDATA[Srishti]]></dc:creator>
            <pubDate>Tue, 21 Apr 2026 06:56:18 GMT</pubDate>
            <content:encoded><![CDATA[<p></p><figure data-align="center" data-size="best-fit" data-id="JiNIntybHFsTSq7FfHUCb" data-version="v2" data-type="image"><img data-id="JiNIntybHFsTSq7FfHUCb" src="https://tribe-eu.imgix.net/JiNIntybHFsTSq7FfHUCb?auto=compress,format"></figure><p></p><figure data-align="center" data-size="best-fit" data-id="fgu29sIpFCwA4HZHe55pt" data-version="v2" data-type="image"><img data-id="fgu29sIpFCwA4HZHe55pt" src="https://tribe-eu.imgix.net/fgu29sIpFCwA4HZHe55pt?auto=compress,format"></figure><p> We are currently working on a custom "Color Detector" app built for the ctrlX virtual OS environment. The application is designed to take a video stream/upload via a web interface, process it using computer vision to draw bounding boxes around detected colors, and then publish that metadata (frame count, object count, latest objects) to the ctrlX Data Layer.<br>While the computer vision and web UI components are working perfectly, I am completely unable to get the data to appear in the Data Layer.<br>Here is a breakdown of my setup and the exact issues I am facing:<br><strong>1. The Workflow &amp; Expected Behavior</strong><br></p><ul><li><p>The app runs as a snap (<code>color-detector</code>).<br></p></li><li><p>Users access the web UI via the device's IP, upload a video, and the processing begins.<br></p></li><li><p>The web app successfully processes the video and tracks the objects (as seen in my UI).<br></p></li><li><p><em>Expected:</em> The metadata should be written to the Data Layer nodes (e.g., <code>sdk/app/color-detector/objects/latest</code>).<br></p></li></ul><p><strong>2. The Problem &amp; Error Logs</strong><br>Despite the app working locally, the Data Layer connection fails. I noticed a few critical warnings in my terminal:<br></p><ul><li><p><strong>UI Status:</strong> In the top right corner of my web application UI, it clearly states <strong>"DATA LAYER: OFFLINE"</strong>.<br></p></li><li><p><strong>Startup Logs:</strong> When I check the snap logs (<code>sudo snap logs color-detector -n 30</code>) upon startup, I see the following errors before the Flask app initializes:<br></p></li></ul><p>Plaintext<br></p><pre><code>ctrlx-datalayer native library not found - Data Layer disabled
[WARNING] datalayer_client: Data Layer SDK missing - running in fallback mode
</code></pre><ul><li><p><strong>HTTP 200 Metadata:</strong> Once I upload the video, my logs show constant <code>GET /metadata HTTP/1.1" 200</code> requests. The app is clearly generating the metadata, but it's stuck in "fallback mode" and cannot push it to the ctrlX Data Layer tree.<br></p></li></ul><p><strong>My Questions for the Community:</strong><br></p><ul><li><p>How do I correctly bundle the <code>ctrlx-datalayer</code> native libraries and SDK into my snap build environment so that it doesn't default to "fallback mode"?</p></li></ul>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ctrlX CORE – Cannot reach custom Flask backend via HTTP/WS or HTTPS/WSS(port exposure / reverse proxy / networking clarification)]]></title>
            <description><![CDATA[Hi everyone,

I’m currently working on a ctrlX CORE X7 where I deployed a custom Python backend (Flask + flask-sock for WebSockets) together with a WebIQ frontend. The backend exposes both REST ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/ctrlx-core---cannot-reach-custom-flask-backend-via-http-ws-or-https-wss-QOWASJonhh5vxzy</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/ctrlx-core---cannot-reach-custom-flask-backend-via-http-ws-or-https-wss-QOWASJonhh5vxzy</guid>
            <category><![CDATA[CTRLXCORE]]></category>
            <category><![CDATA[HOWTO]]></category>
            <category><![CDATA[WEBIQ]]></category>
            <category><![CDATA[SDK]]></category>
            <category><![CDATA[IDE]]></category>
            <category><![CDATA[HTTPS]]></category>
            <category><![CDATA[HTTP]]></category>
            <category><![CDATA[PROXY]]></category>
            <category><![CDATA[NETWORKING]]></category>
            <category><![CDATA[DEPLOYMENT]]></category>
            <category><![CDATA[REVERSE PROXY]]></category>
            <dc:creator><![CDATA[alissbb]]></dc:creator>
            <pubDate>Wed, 15 Apr 2026 13:45:28 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi everyone,</p><p>I’m currently working on a ctrlX CORE X7 where I deployed a custom Python backend (Flask + flask-sock for WebSockets) together with a WebIQ frontend. The backend exposes both REST endpoints (e.g. <strong>/config</strong>,<strong> /write</strong>) and a WebSocket endpoint (<strong>/ws</strong>) used by a WebIQ frontend.<br><br>In local development everything works exactly as expected. The backend runs via the SDK, the WebIQ frontend is served locally (the HMI browser preview runs on http://localhost:10124), and communication over HTTP (<strong>http:// + ws://</strong>) works perfectly, including subscriptions, live updates, and write operations. So from a functional standpoint, both backend and frontend are correct and stable.<br><br>Since WebIQ is served over HTTPS on ctrlX, the browser enforces secure communication. As soon as the frontend tries to connect to my backend running on <strong>port 5055</strong>, I start getting multiple issues. Initially, the browser blocks requests due to mixed content (HTTPS frontend trying to call HTTP backend). To address this, I updated the frontend in WebIQ localscripts to dynamically switch protocols (<strong>http/https and ws/wss</strong>) based on <strong>window.location.protocol</strong>.</p><p>Here's a few examples:</p><p>const protocol = window.location.protocol === "https:" ? "https" : "http";<br>const configUrl = ${protocol}://${window.location.hostname}:5055/config/${plcName};</p><p>const protocol = window.location.protocol === "https:" ? "https" : "http"; <br>await fetch(${protocol}://${window.location.hostname}:5055/write, {...});<br><br>const protocol = window.location.protocol === "https:" ? "wss" : "ws";<br>ws = new WebSocket(${protocol}://${window.location.hostname}:5055/ws);</p><p>I also enabled CORS in Flask (<strong>CORS(app) </strong>and in a second moment<strong> CORS(app, resources={r"/*": {"origins": "*"}})</strong>), but this did not resolve the issue. The browser still reports errors or blocks the requests entirely.<br><br>I then tried to enable HTTPS directly in Flask. After that, I also did generate proper HTTPS certificates with the following command:<br><strong>openssl req -x509 -newkey rsa:2048 -nodes -keyout https_key.pem -out https_cert.pem -days 7305</strong></p><p>In this way it actually worked, with the following <strong>setup</strong>:<br>The application is configured to use HTTPS with: ssl_context=("https_cert.pem", "https_key.pem").<br>The server will be available at: https://[ctrlX_IP]:5055<br>After generating the certificates, you must manually access: https://[ctrlX_IP]:5055/health<br>This step is required to accept the certificate and allow trusted communication with WebIQ.<br>On first access, the browser will warn that the certificate is not trusted. Click "Proceed" (or the equivalent option).<br>If everything works correctly, you should see the following response: {"status":"up"}.<br><br>But it requires me to repeat these steps every x hours.<br><br>From the WebIQ community I got the following feedback:</p><p><strong>This is a browser security issue, not related to WebIQ.<br>You cannot mix HTTP and HTTPS, and you need either proper HTTPS or a reverse proxy.</strong></p><p>Which I agree with in general.<br><br>So with the current HTTPS setup using a self-signed certificate, I noticed the following behavior:</p><ul><li><p>The backend becomes reachable at https://[ctrlX_IP]:5055</p></li><li><p>However, the browser requires manually visiting https://[ctrlX_IP]:5055/health to accept the certificate</p></li><li><p>After accepting it, communication with WebIQ temporarily works</p></li><li><p>After some time, the browser seems to reject the connection again and the process must be repeated</p></li></ul><p>This makes the setup unstable and not suitable for a production-like scenario.<br><br>I also looked into the official reverse proxy approach using Caddy and tried to follow this guide:<br><a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/howto-view-content-from-multiple-web-servers-in-one-web-page-reverse-cI11ECmiI2GyvxP">https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/howto-view-content-from-multiple-web-servers-in-one-web-page-reverse-cI11ECmiI2GyvxP</a> and <a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://boschrexroth.github.io/ctrlx-automation-sdk/package-assets.html">https://boschrexroth.github.io/ctrlx-automation-sdk/package-assets.html</a></p><p>However, I have to admit I didn’t fully understand how to apply it to my setup. Additionally, I am running on WebIQ version 2.17, and from what I understood, starting from 2.14 Caddy should already be integrated and handling routing, so I expected less manual configuration.<br><br>So I suspect that the correct approach here is not to access the backend directly via <a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://hostname:5055">https://hostname:5055</a>, but instead to configure routing through the ctrlX reverse proxy (Caddy), so that:<br>- REST endpoints are reachable via something like /api/...<br>- WebSockets via /ws <br>- all under the same HTTPS origin</p><p>This would also naturally solve:<br>- mixed content issues<br>- certificate handling<br>- WebSocket upgrade handling</p><p>At this point I’m trying to better understand how to properly integrate a custom backend into the ctrlX routing layer, rather than exposing it directly.</p><p>If anyone has a working example of:<br>- exposing a custom backend via ctrlX reverse proxy<br>- handling WebSocket upgrades correctly in that setup</p><p>that would be extremely helpful.</p><p>Thanks again for your input!<br></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ctrlX OS Backup/Restore encryption]]></title>
            <description><![CDATA[I have one more query in context of CtrlX Backup/Restore encryption.

When we create a backup and encrypt it with a password, does it only encrypt it for restore? Because the zip contents are viewable ...]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/ctrlx-os-backup-restore-encryption-m16YyBEeBXdAa3x</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/ctrlx-os-backup-restore-encryption-m16YyBEeBXdAa3x</guid>
            <dc:creator><![CDATA[aaa]]></dc:creator>
            <pubDate>Fri, 10 Apr 2026 06:19:47 GMT</pubDate>
            <content:encoded><![CDATA[<p>I have one more query in context of CtrlX Backup/Restore encryption.</p><p>When we create a backup and encrypt it with a password, does it only encrypt it for restore? Because the zip contents are viewable if we view it from the zip file and it also let's us unzip and extract the zip.</p><p>Is this understanding correct? Or does it also encrypt the zip itself?</p><p><a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://community.boschrexroth.com/member/T9awA2dZPe">CodeShepherd</a></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ROS 2 Base Jazzy Snap]]></title>
            <description><![CDATA[Hi. Have anyone created the snap for ROS 2 Jazzy base? In the ROS 2 demo example for MoveIt (link: https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/ros2-demo-example---moveit2... [https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/ros2-demo-example---moveit2-in-ctrlx-os-bSZPCcJvk8Y1qsR]]]></description>
            <link>https://community.boschrexroth.com/sdk-el5su9ce/post/ros-2-base-jazzy-snap-WHh1r9dJIVGb4ru</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/sdk-el5su9ce/post/ros-2-base-jazzy-snap-WHh1r9dJIVGb4ru</guid>
            <dc:creator><![CDATA[A_K]]></dc:creator>
            <pubDate>Wed, 08 Apr 2026 04:52:15 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi. Have anyone created the snap for ROS 2 Jazzy base? In the ROS 2 demo example for MoveIt (link: <a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/ros2-demo-example---moveit2-in-ctrlx-os-bSZPCcJvk8Y1qsR">https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/ros2-demo-example---moveit2-in-ctrlx-os-bSZPCcJvk8Y1qsR</a>) it is using Humble</p>]]></content:encoded>
        </item>
        <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>
    </channel>
</rss>