<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Zeugwerk</title><link>/blog/</link><description>Structured TwinCAT software from PLC architecture to CI/CD - Framework, Creator, Twinpack, and DevTools, built by engineers who still deliver machines.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 09 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>CI/CD for TwinCAT: Which Branching Strategy Works for Machine Software?</title><link>/blog/branching-strategies-for-plc/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><guid>/blog/branching-strategies-for-plc/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;
Most branching strategy advice assumes you can deploy to everyone at once and roll back in minutes. PLC software ships to physical machines that run a specific version for years, sometimes on hardware that makes upgrading a major version a service project rather than a download. That constraint rules out most of the popular models and points at long-lived release branches. This post walks through the options, then covers the part that actually costs teams time: what parallel release lines do to your pipeline triggers, version derivation, and library resolution, and how to retrofit the model onto a repository that has already shipped.&lt;/p&gt;</description></item><item><title>CI/CD for TwinCAT: Distributing DevTools On-Prem with Scoop</title><link>/blog/distributing-devtools-with-scoop/</link><pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate><guid>/blog/distributing-devtools-with-scoop/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;
We distribute a set of CLI tools that power TwinCAT CI/CD pipelines. Getting those tools onto customer machines reliably, versioned, and authenticated was a problem we&amp;rsquo;d been solving badly with scripts. We evaluated Chocolatey, NuGet, and a few other options before landing on Scoop with a private bucket and a token-authenticated download API. The result: tools update themselves, every download is audited, and onboarding a new node takes minutes instead of an afternoon.&lt;/p&gt;</description></item><item><title>Beyond the Vendor Relationship</title><link>/blog/strategic-partner/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>/blog/strategic-partner/</guid><description>&lt;p&gt;&lt;img src="/images/blog/2026-07-strategic-partner.png" alt="Matthias Pfurtscheller in a review meeting with a long-standing Zeugwerk partner"&gt;
&lt;em&gt;Photo: ©Zeugwerk GmbH/Sadr-Salek&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Yesterday I came back from a meeting with a long-standing Zeugwerk partner. Sitting across the table were one of their machine engineering developers and their CTO.&lt;/p&gt;
&lt;p&gt;That conversation is a good example of how we think about collaboration at Zeugwerk.&lt;/p&gt;
&lt;p&gt;We moved away from the classic client-vendor relationship a long time ago. We see the people we work with as strategic partners.&lt;/p&gt;</description></item><item><title>Visibility Is No Accident</title><link>/blog/visibility-is-no-accident/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>/blog/visibility-is-no-accident/</guid><description>&lt;p&gt;&lt;img src="/images/blog/2026-06-visibility-photoshoot.jpg" alt="The Zeugwerk team at the photoshoot"&gt;
&lt;em&gt;Photo: ©Zeugwerk GmbH/&lt;a href="https://raum15.at/"&gt;Raum15&lt;/a&gt;, D. Jelemensky&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Last week the Zeugwerk team had a photoshoot. We wanted to make the people behind Zeugwerk more visible and deliberately chose a familiar setting: a place where we are at work throughout the year, alongside, for, and with our customers in mechanical and plant engineering.&lt;/p&gt;
&lt;p&gt;We have worked very successfully on machine projects with our long-standing colleagues &lt;a href="https://www.linkedin.com/in/bernhard-fock-58b6abab"&gt;Bernhard Fock&lt;/a&gt;, &lt;a href="https://www.ploetzeneder.com/ueber-uns/"&gt;Nando Plötzeneder&lt;/a&gt;, and the team at &lt;a href="https://www.ploetzeneder.com/"&gt;Plötzeneder GmbH&lt;/a&gt; for years. Being able to do the photoshoot on their shop floor meant more to us than it might sound at first.&lt;/p&gt;</description></item><item><title>Why AI Disappoints in PLC Development</title><link>/blog/ai-for-plc-code/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>/blog/ai-for-plc-code/</guid><description>&lt;p&gt;&lt;img src="/images/blog/2026-06-ai-for-plc-code.jpg" alt="Matthias Pfurtscheller inspecting a machine"&gt;
&lt;em&gt;Photo: ©Zeugwerk GmbH/&lt;a href="https://raum15.at/"&gt;Raum15&lt;/a&gt;, D. Jelemensky&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Many companies in mechanical and plant engineering are testing AI for PLC code right now. And are disappointed.&lt;/p&gt;
&lt;p&gt;At first, the results look impressive. The AI produces code seemingly without effort. But in day-to-day use it quickly becomes clear that those results are barely usable in practice.&lt;/p&gt;
&lt;p&gt;Why is that? Not because the models are poor, but because of a fundamental misunderstanding about how AI can actually work in machine building.&lt;/p&gt;</description></item><item><title>CI/CD for TwinCAT: Build Tools Landscape 2026</title><link>/blog/twincat-build-tools-landscape-2026/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><guid>/blog/twincat-build-tools-landscape-2026/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;
TwinCAT has no built-in CI/CD. Most teams get by with local IDE builds until something breaks - an engineer leaves, a deployment goes sideways at 2 AM, or a customer asks for traceability you don&amp;rsquo;t have. Your real options are: build a pipeline yourself with Jenkins or GitHub Actions (takes weeks, requires ongoing maintenance, TwinCAT knowledge not included), or use a cloud service that already handles TwinCAT (~€180 €/month, dedicated build node, unlimited builds, data deleted after every build). Start before the pain hits.&lt;/p&gt;</description></item><item><title>Sleeping Soundly at Night</title><link>/blog/sleeping-soundly-at-night/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>/blog/sleeping-soundly-at-night/</guid><description>&lt;p&gt;&lt;img src="/images/blog/2026-05-sleeping-soundly.jpg" alt="Matthias Pfurtscheller at a customer meeting"&gt;
&lt;em&gt;Photo: ©Zeugwerk GmbH/&lt;a href="https://raum15.at/"&gt;Raum15&lt;/a&gt;, D. Jelemensky&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I enjoy cycling. No motor, just legs. The classic way.&lt;/p&gt;
&lt;p&gt;It started as a way to balance out the office routine and all the questions that come with founding a company. Is this going to work out? Are we on the right track? Do we have enough time, enough resources, enough focus?&lt;/p&gt;
&lt;p&gt;So I would get on the bike, push hard, sweat it out, and literally cycle the workday out of my system.&lt;/p&gt;</description></item><item><title>Creator 1.8: CLI, MCP Server, and Why We Stopped Relying on the Automation Interface</title><link>/blog/creator-1-8-cli-mcp/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>/blog/creator-1-8-cli-mcp/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;
Creator 1.8 is bringing a command-line interface and an MCP server for AI agents. Both are the direct result of a deliberate architectural decision made 18 months ago: stop depending on Beckhoff&amp;rsquo;s Automation Interface and build our own parser and semantic model instead. That move gives us full control over code analysis and generation, independent of IDE, vendor, or whatever Beckhoff ships next. If you run a PLC software business and haven&amp;rsquo;t started thinking about this yet, it&amp;rsquo;s worth reading on.&lt;/p&gt;</description></item><item><title>A Structure Problem, Not a People Problem</title><link>/blog/developer-on-vacation/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>/blog/developer-on-vacation/</guid><description>&lt;p&gt;&lt;img src="/images/blog/2026-05-developer-on-vacation.jpg" alt="A team meeting at a machine builder"&gt;
&lt;em&gt;The Zeugwerk team on-site with customers in mechanical engineering. Photo: ©Zeugwerk GmbH/&lt;a href="https://raum15.at/"&gt;Raum15&lt;/a&gt;, D. Jelemensky&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The developer in charge is on vacation right now. Can you call back in two weeks?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A sentence no machine builder likes to say and no customer likes to hear. Yet it happens more often than you might expect.&lt;/p&gt;
&lt;p&gt;Not because the developers are doing poor work. Quite the opposite. There are genuinely talented people in these teams.&lt;/p&gt;</description></item><item><title>A Look Behind Our New Website</title><link>/blog/new-zeugwerk-website-behind-the-scenes/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>/blog/new-zeugwerk-website-behind-the-scenes/</guid><description>A short look behind the scenes of our new company website: built with Hugo, managed in GitHub, automatically deployed, fully static, and deliberately free of tracking.</description></item><item><title>Twinpack 1.4.2 Is Out</title><link>/blog/twinpack-1-4-2-is-out/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>/blog/twinpack-1-4-2-is-out/</guid><description>&lt;p&gt;&lt;em&gt;And it&amp;rsquo;s the best reason yet to modernise your TwinCAT workflow.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve spent any time developing PLC software with TwinCAT 3, you know the drill: libraries get copied around in ZIP files or even USB sticks, versioning happens in folder names like &lt;code&gt;MyLib_v2_FINAL_fixed&lt;/code&gt;, and setting up a new machine means hunting down the right library version from a shared drive that may or may not be up to date.&lt;/p&gt;</description></item><item><title>Build Performance Boost thx to TwinCAT Update</title><link>/blog/build-performance-boost/</link><pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate><guid>/blog/build-performance-boost/</guid><description>&lt;p&gt;In short: we run automated build, test, and deploy pipelines on TwinCAT - built entirely ourselves. Recently, Beckhoff released TwinCAT 3.1.4024.55. After updating our build nodes we couldn&amp;rsquo;t believe what we saw: the entire pipeline is 50-60% faster.&lt;/p&gt;
&lt;h2 id="what-our-build-pipeline-does"&gt;What our build pipeline does&lt;/h2&gt;
&lt;p&gt;Every commit to Zeugwerk Framework triggers a pipeline that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clones all necessary software from the repository and determines the version number for the new build&lt;/li&gt;
&lt;li&gt;Fetches all dependencies through &lt;a href="https://github.com/Zeugwerk/Twinpack"&gt;Twinpack&lt;/a&gt; - including external dependencies like TcUnit and Struckig, fully automated&lt;/li&gt;
&lt;li&gt;Builds each library, once as &lt;code&gt;.library&lt;/code&gt; and once as &lt;code&gt;.compiled-library&lt;/code&gt; (&lt;a href="https://github.com/Zeugwerk/zkbuild-action"&gt;zkbuild&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Extracts and runs all unit tests (&lt;a href="https://github.com/Zeugwerk/zkbuild-action"&gt;zkbuild&lt;/a&gt; with unit test mode)&lt;/li&gt;
&lt;li&gt;Generates binding code for the Quickstart HMI (&lt;a href="https://github.com/Zeugwerk/zkbindings-action"&gt;zkbindings&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Generates library API documentation (&lt;a href="https://github.com/Zeugwerk/zkdoc-action"&gt;zkdoc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Deploys all generated artifacts and the new documentation to our servers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This currently covers 7 library files, each built and installed twice and unit-tested.&lt;/p&gt;</description></item><item><title>Durst Group trusts in Zeugwerk</title><link>/blog/durst-group-trusts-in-zeugwerk/</link><pubDate>Sun, 01 Sep 2024 00:00:00 +0000</pubDate><guid>/blog/durst-group-trusts-in-zeugwerk/</guid><description>&lt;p&gt;&lt;a href="https://www.durst-group.com/en"&gt;Durst Group&lt;/a&gt; is a leading manufacturer of digital printing and production solutions. In order to meet the high standards of quality, speed, and future-viability in the development of its solutions, Durst relies on standardisation in the development of its control software.&lt;/p&gt;
&lt;p&gt;Josef Unterrainer, Development Department at Durst:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The introduction of the Zeugwerk Framework came at exactly the right time for us. This enabled us to significantly accelerate our cross-location harmonisation efforts. The framework offers invaluable implementation advantages, particularly for the planning of our series machines, which are manufactured from similar machine elements in different variants.&lt;/p&gt;</description></item><item><title>Zeugwerk DevKit 1.2</title><link>/blog/zeugwerk-devkit-1-2/</link><pubDate>Fri, 01 Mar 2024 00:00:00 +0000</pubDate><guid>/blog/zeugwerk-devkit-1-2/</guid><description>&lt;p&gt;Six months after the official release of Framework 1.0, we have published the first upgrade of the &lt;a href="https://github.com/Zeugwerk/Zeugwerk-Development-Kit/releases/tag/1.2.0.0"&gt;Zeugwerk Development Kit&lt;/a&gt;. Version 1.2 is available for download now.&lt;/p&gt;
&lt;p&gt;The supported platform remains Beckhoff TwinCAT &amp;gt;= 3.1.4024.12. For further details visit our &lt;a href="https://doc.zeugwerk.dev/"&gt;developer space&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="whats-in-the-kit"&gt;What&amp;rsquo;s in the kit&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Quickstart Tutorial &amp;amp; Visualization&lt;/li&gt;
&lt;li&gt;Zeugwerk Creator CE&lt;/li&gt;
&lt;li&gt;Zeugwerk Framework 1.2&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The new Framework version includes a number of improvements and new features - see the &lt;a href="https://doc.zeugwerk.dev/release/1.2/changelog/changelog_release_1_2.html"&gt;full changelog&lt;/a&gt; for details. An &lt;a href="https://zeugwerk.dev/Downloads/DevKit/UpgradeGuide_to_R1.2.pdf"&gt;upgrade guide&lt;/a&gt; is available because the API of some objects has changed slightly and the standard application structure has been extended.&lt;/p&gt;</description></item><item><title>Zeugwerk Datawrangler</title><link>/blog/zeugwerk-datawrangler/</link><pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate><guid>/blog/zeugwerk-datawrangler/</guid><description>&lt;p&gt;Do you want to back up data from your TwinCAT controller before deploying an application update? Are you commissioning a new system and need to load prepared data - perhaps from an existing installation?&lt;/p&gt;
&lt;p&gt;The Zeugwerk Datawrangler is the tool for this.&lt;/p&gt;
&lt;h2 id="what-it-does"&gt;What it does&lt;/h2&gt;
&lt;p&gt;The Datawrangler is a tool for exporting and importing data from TwinCAT controllers easily, quickly, and flexibly. It integrates directly into the TwinCAT XAE Shell (Visual Studio) as a Backup/Restore function - available whenever you need it during development or commissioning.&lt;/p&gt;</description></item><item><title>Zeugwerk DevKit 1.0</title><link>/blog/zeugwerk-devkit-1-0/</link><pubDate>Thu, 01 Jun 2023 00:00:00 +0000</pubDate><guid>/blog/zeugwerk-devkit-1-0/</guid><description>&lt;p&gt;One year after founding Zeugwerk GmbH, we have published the first stable version of the &lt;a href="https://github.com/Zeugwerk/Zeugwerk-Development-Kit/releases/tag/1.0.0.4"&gt;Zeugwerk Development Kit&lt;/a&gt;. It is available to download now.&lt;/p&gt;
&lt;p&gt;The supported platform is Beckhoff TwinCAT &amp;gt;= 3.1.4024.12 - and this is only the beginning.&lt;/p&gt;
&lt;h2 id="whats-in-the-kit"&gt;What&amp;rsquo;s in the kit&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Quickstart Tutorial &amp;amp; Visualization&lt;/li&gt;
&lt;li&gt;Zeugwerk Creator CE&lt;/li&gt;
&lt;li&gt;Zeugwerk Framework 1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The framework ships with a wide range of building blocks and functions to make automation engineers&amp;rsquo; lives easier. The Quickstart Tutorial is included as a simple starting point for developing your own applications with the framework.&lt;/p&gt;</description></item><item><title>Interview: Modern Software Engineering in Automation</title><link>/blog/interview-modern-software-engineering/</link><pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate><guid>/blog/interview-modern-software-engineering/</guid><description>&lt;p&gt;Zeugwerk was featured in the &lt;em&gt;What&amp;rsquo;s Next&lt;/em&gt; customer magazine published by Ferchau, covering the topic of modern software engineering in mechanical engineering.&lt;/p&gt;
&lt;p&gt;With our application framework and years of experience in standardised development of control software, we help machine builders meet the rising demands of software quality, maintainability, and speed of delivery.&lt;/p&gt;
&lt;p&gt;The interview discusses how modern software paradigms - object-oriented design, CI/CD, automated testing - are changing how automation software is built, and what that means for teams working with TwinCAT.&lt;/p&gt;</description></item><item><title>Zeugwerk is Beckhoff Solution Provider</title><link>/blog/zeugwerk-beckhoff-solution-provider/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>/blog/zeugwerk-beckhoff-solution-provider/</guid><description>&lt;p&gt;We are pleased to announce that Zeugwerk GmbH is now a certified Beckhoff Solution Provider for the areas of Industry, IoT, and more.&lt;/p&gt;
&lt;p&gt;The Solution Provider programme gives Beckhoff customers the ability to contact an integrator with long-standing Beckhoff product experience. Beckhoff ensures that Solution Providers are experts with comprehensive knowledge of the Beckhoff system and the underlying products and technologies.&lt;/p&gt;
&lt;p&gt;You can find our entry in the &lt;a href="https://www.beckhoff.com/de-at/support/solution-provider-programm/zeugwerk.html"&gt;Beckhoff Solution Provider directory&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Zeugwerk Creator Pro - Compose Equipment</title><link>/blog/creator-pro-compose-equipment/</link><pubDate>Sat, 01 Oct 2022 00:00:00 +0000</pubDate><guid>/blog/creator-pro-compose-equipment/</guid><description>&lt;h2 id="the-framework"&gt;The framework&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://doc.zeugwerk.dev"&gt;Zeugwerk Framework&lt;/a&gt; is a complete application framework for the standardised development of PLC applications. It consists of an application template and several libraries that provide all the functions needed for application development.&lt;/p&gt;
&lt;p&gt;The modular, clearly structured application architecture separates communication, data, and logic - and remains maintainable over the long term. The entire framework is fully object-oriented, providing a future-proof architecture.&lt;/p&gt;
&lt;h2 id="ide-extension"&gt;IDE extension&lt;/h2&gt;
&lt;p&gt;For a holistic, end-to-end development approach, &lt;a href="https://www.zeugwerk.at/loesungen/creator/"&gt;Zeugwerk Creator&lt;/a&gt; extends the TwinCAT XAE development environment (Visual Studio) with seamless integration for framework-based development. The goal: consistent, fast, and error-free workflows.&lt;/p&gt;</description></item></channel></rss>