<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									General - The Lounge - twinControls Forum				            </title>
            <link>https://twincontrols.com/community/lounge/</link>
            <description>twinControls  Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Fri, 23 Oct 2026 13:41:44 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>Real Industrial OOP Examples in TwinCAT — Public Projects</title>
                        <link>https://twincontrols.com/community/lounge/real-industrial-oop-examples-in-twincat-public-projects/</link>
                        <pubDate>Mon, 23 Feb 2026 14:54:49 +0000</pubDate>
                        <description><![CDATA[Hi everyone,I’ve been reading a lot of the great content here about OOP and design patterns in TwinCAT — thanks to everyone who’s shared examples and explanations. Many of them do a nice job...]]></description>
                        <content:encoded><![CDATA[<p data-start="252" data-end="569">Hi everyone,<br data-start="264" data-end="267" />I’ve been reading a lot of the great content here about OOP and design patterns in TwinCAT — thanks to everyone who’s shared examples and explanations. Many of them do a nice job of explaining principles in a structured (academic) way, but I’m missing something important: <strong data-start="540" data-end="568">real industrial examples</strong>.</p>
<p data-start="1731" data-end="1795">I know that most real project source code is proprietary and can’t be shared publicly — that makes perfect sense. Still, I’m wondering if anyone <strong data-start="641" data-end="710">knows of a publicly available TwinCAT project from a real machine</strong>, or if someone would be willing to <strong data-start="746" data-end="807">show a simplified/cleaned-up version of their own project</strong> (with company IP removed) to illustrate how OOP is applied in practice (including HMI SCADA integration).</p>
<p data-start="1731" data-end="1795">Also — a related question: <strong data-start="1179" data-end="1243">have you used the SPT framework from Beckhoff USA</strong> in your projects? If so, how did it fit into your OOP structure and workflow?</p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>mircopolo</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/real-industrial-oop-examples-in-twincat-public-projects/</guid>
                    </item>
				                    <item>
                        <title>Beckhoff Automation at SPS 2024</title>
                        <link>https://twincontrols.com/community/lounge/beckhoff-automation-at-sps-2024/</link>
                        <pubDate>Thu, 14 Nov 2024 12:54:26 +0000</pubDate>
                        <description><![CDATA[Hello all,Just wondering if anyone has been to Beckhoff&#039;s booth at SPS 2024 this past week and if there is anything anyone wants to share on their experience.I am an American and cannot atte...]]></description>
                        <content:encoded><![CDATA[<p>Hello all,<br /><br />Just wondering if anyone has been to Beckhoff's booth at SPS 2024 this past week and if there is anything anyone wants to share on their experience.<br /><br />I am an American and cannot attend such an event, but I've been seeing a lot of the stuff online and would like to hear about it.<br /><br />I am most excited for PLC++, Beckhoff's new PLC part of TwinCAT 3. I want to know if they showed off any improvements to the Ladder editor for PLC++.</p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>ehixenbaugh</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/beckhoff-automation-at-sps-2024/</guid>
                    </item>
				                    <item>
                        <title>How to send UDP in a TwinCAT project without using PLC logic?</title>
                        <link>https://twincontrols.com/community/lounge/how-to-send-udp-in-a-twincat-project-without-using-plc-logic/</link>
                        <pubDate>Mon, 07 Oct 2024 09:55:31 +0000</pubDate>
                        <description><![CDATA[Hi. We are using TwinCAT 3 Interface for Simulink to convert a Simulink model into a TwinCAT object. The object has inputs/outputs that are linked to actual Beckhoff I/O terminals which in t...]]></description>
                        <content:encoded><![CDATA[<p class="first:mt-0 last:mb-0" dir="ltr"><span>Hi. We are using </span><i><em class="italic">TwinCAT 3 Interface for Simulink</em></i><span> to convert a Simulink model into a TwinCAT object. The object has inputs/outputs that are linked to actual Beckhoff I/O terminals which in turn control a motor and sense its angular position. Concurrently, we want to read this position information, and send it as UDP packets (</span><i><em class="italic">18 integers, i.e. 18 bytes</em></i><span>) to the engineering PC (</span><i><em class="italic">where TwinCAT is running</em></i><span>). That's because on that PC, we also have a Unity game running, which will listen to that UDP packet, and use it to update the position of a sprite on the screen.</span></p>
<p class="first:mt-0 last:mb-0" dir="ltr"><span>Before we migrated from Simulink-only solutions, to the Beckhoff ecosystem, the way we use to achieve UDP transmission was to go into our Simulink model workspace, drop a built-in "</span><i><em class="italic">UDP Sender</em></i><span>" block there:</span></p>
847
<p class="first:mt-0 last:mb-0" dir="ltr"><span>... then connect its data input to "</span><i><em class="italic">position</em></i><span>" data. This block will take care of converting that data into UDP packets, and broadcasting them to the desired IP address (</span><i><em class="italic">in this case to itself, hence "localhost" address</em></i><span>).</span></p>
<p class="first:mt-0 last:mb-0" dir="ltr"><span>But now, when we build that Simulink model into a Beckhoff TwinCAT object, the "</span><i><em class="italic">UDP Sender</em></i><span>" do not get code generated (</span><i><em class="italic">as a C instance</em></i><span>), and therefore it doesn't activate once that TC object is added into TwinCAT.</span></p>
<p class="first:mt-0 last:mb-0" dir="ltr"><span>Essentially our question is: do you have any solution or suggestion for how we can realize a "</span><i><em class="italic">UDP Sender</em></i><span>" replacement in our Simulink model, that will still be streaming UDP packets when the model is running as an object in TwinCAT?</span></p>
<p class="first:mt-0 last:mb-0" dir="ltr"><i><strong><strong class="italic">PS:</strong></strong></i><span> We are not very comfortable programming PLC using IEC61131-3 languages like ST and FBD (</span><i><em class="italic">we know TwinCAT provides a UDP FB_PeerToPeer and FB_SocketUdpSendTo Function Blocks</em></i><span>). Rather, we prefer a bare-bone solution using only our "</span><i><em class="italic">position</em></i><span>" I/O output being read on an ADS channel for example (</span><i><em class="italic">even if it comes to tweaking the Unity game itself</em></i><span>). That being said, if there is absolutely no alternative but to code PLC logic, then we will have to jump into that exercise (</span><i><em class="italic">in this project we have always managed to dodge coding in PLC languages thanks to Simulink TC Interface, but I guess there is a beginning for everything</em></i><span>).</span></p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>ylahdili</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/how-to-send-udp-in-a-twincat-project-without-using-plc-logic/</guid>
                    </item>
				                    <item>
                        <title>Sending UDP packets will occasionally get stuck for 20-50ms</title>
                        <link>https://twincontrols.com/community/lounge/sending-udp-packets-will-occasionally-get-stuck-for-20-50ms/</link>
                        <pubDate>Mon, 06 May 2024 16:24:47 +0000</pubDate>
                        <description><![CDATA[I am trying to send out a UDP packet, using the TF6310 FB_SocketUdpSendTo function block, every 100ms. I am using wireshark to measure the time it takes between packets, and I noticed that o...]]></description>
                        <content:encoded><![CDATA[<p>I am trying to send out a UDP packet, using the TF6310 FB_SocketUdpSendTo function block, every 100ms. I am using wireshark to measure the time it takes between packets, and I noticed that occasionally there is an additional delay (upwards of 50ms) between packets. There are no other protocols, that I am aware of, that are interfering with the UDP queue. </p>
<p>Basically what I have been seeing is this:</p>
<p>Packet A is put on the wire 100ms after previous packet</p>
<p>Packet B is put on the wire 150ms after packet A</p>
<p>Packet C is put on the wire 50ms after packet B</p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>nwalters</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/sending-udp-packets-will-occasionally-get-stuck-for-20-50ms/</guid>
                    </item>
				                    <item>
                        <title>Example of AoE traffic</title>
                        <link>https://twincontrols.com/community/lounge/example-of-aoe-traffic/</link>
                        <pubDate>Thu, 07 Dec 2023 07:06:14 +0000</pubDate>
                        <description><![CDATA[hi, does anyone have sample dumps of AoE traffic? Or tell me how to generate this on the simulator.]]></description>
                        <content:encoded><![CDATA[<p><span class="HwtZe"><span class="jCAhz ChMk0b"><span class="ryNqvb">hi, does anyone have sample dumps of AoE traffic?</span></span> <span class="jCAhz ChMk0b"><span class="ryNqvb">Or tell me how to generate this on the simulator.</span></span></span></p>
<p> </p>
<div id="simple-translate" class="simple-translate-system-theme">
<div>
<div class="simple-translate-button isShow" style="height: 22px;width: 22px;top: 1px;left: -51px"> </div>
<div class="simple-translate-panel " style="width: 300px;height: 200px;top: 0px;left: 0px;font-size: 13px">
<div class="simple-translate-result-wrapper" style="overflow: hidden">
<div class="simple-translate-move"> </div>
<div class="simple-translate-result-contents">
<p class="simple-translate-result" dir="auto"> </p>
<p class="simple-translate-candidate" dir="auto"> </p>
</div>
</div>
</div>
</div>
</div>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>iSbC</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/example-of-aoe-traffic/</guid>
                    </item>
				                    <item>
                        <title>AoE</title>
                        <link>https://twincontrols.com/community/lounge/aoe/</link>
                        <pubDate>Fri, 01 Dec 2023 12:45:39 +0000</pubDate>
                        <description><![CDATA[Hello.  I&#039;m an ICS/OT cybersecurity engineer. I have a question about the communication protocol. what the AoE protocol  will look like in a Wireshark. 
I need to understand  AoE is ADS + E...]]></description>
                        <content:encoded><![CDATA[<div dir="ltr">
<div>Hello.  I'm an ICS/OT cybersecurity engineer. I have a question about the communication protocol. what the AoE protocol  will look like in a Wireshark. </div>
<div>I need to understand  AoE is ADS + EtherCat in one package, or is this module like a convector, it has EtherCat on one side and ADS on the other side.</div>
</div>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>iSbC</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/aoe/</guid>
                    </item>
				                    <item>
                        <title>Ubuntu with a real-time kernel. What does it mean?</title>
                        <link>https://twincontrols.com/community/lounge/ubuntu-with-a-real-time-kernel-what-does-it-mean/</link>
                        <pubDate>Fri, 17 Feb 2023 09:59:03 +0000</pubDate>
                        <description><![CDATA[Real-Time Ubuntu was released this week. My initial thought was that this could be quite groundbreaking. Especially after reading the following customer testimonial, emphasis mine:

Develo...]]></description>
                        <content:encoded><![CDATA[<p><a href="https://ubuntu.com/blog/real-time-ubuntu-is-now-generally-available" target="_blank" rel="noopener">Real-Time Ubuntu</a> was released this week. My initial thought was that this could be quite groundbreaking. Especially after reading the following <a href="https://canonical.com/blog/bosch-rexroth-adopts-ubuntu-core-and-snaps-for-app-based-ctrlx-automation-platform" target="_blank" rel="noopener">customer testimonial</a>, emphasis mine:</p>
<blockquote>
<p><span><span class="ui-provider vf b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak">Developers can create apps, delivered as snaps, <strong>in the programming language of their choice, including C, C++, Python, Javascript or Go</strong>. Traditionally, developers were restricted to specialist programming languages like IEC 61131, or G-Code in an industrial setting. With Ubuntu Core and snaps, developers using the ctrlX AUTOMATION platform have the freedom to use either conventional programming languages or modern alternatives." </span></span></p>
</blockquote>
<p>And then I came across this example where they <a href="https://www.youtube.com/watch?v=ljooYMHs-qo&amp;t=472s" target="_blank" rel="noopener">control some axis from Python</a> with ctrlX. Holy shit! You can use any programming language apparently. Communication is just done over an REST api and you have real-time capabilities 🤯. You are not even bound to Rexroth.</p>
<p>Also the interfaces Rexroth build look so easy to use. You don't even need to install any software. This can speed up development so much. Anyone already has experience with rel-time ubunti or ctrlX?</p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>rruiter</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/ubuntu-with-a-real-time-kernel-what-does-it-mean/</guid>
                    </item>
				                    <item>
                        <title>Why Object Oriented PLC Programming is Essential for Industrial Automation</title>
                        <link>https://twincontrols.com/community/lounge/why-object-oriented-plc-programming-is-essential-for-industrial-automation/</link>
                        <pubDate>Mon, 16 Jan 2023 11:53:35 +0000</pubDate>
                        <description><![CDATA[Object oriented programming (OOP) is a popular programming paradigm that is widely used in software development. But did you know that OOP is also becoming increasingly important in the fiel...]]></description>
                        <content:encoded><![CDATA[<p>Object oriented programming (OOP) is a popular programming paradigm that is widely used in software development. But did you know that OOP is also becoming increasingly important in the field of industrial automation? In this post, we'll explore why object oriented PLC programming is essential for modern industrial automation systems.</p>
<p><span style="background-color: #ffff99"><strong>Increased Flexibility</strong>:</span> OOP allows for the creation of reusable code, which can be easily adapted to changing requirements. This makes it easier to update and maintain industrial automation systems, reducing downtime and increasing efficiency. <br /><br /><span style="background-color: #ffff99"><strong>Improved Modularity</strong>:</span> OOP allows for the separation of code into smaller, more manageable chunks. This makes it easier to test and debug industrial automation systems, and also allows for the use of different programming languages for different parts of the system. <br /><br /><span style="background-color: #ffff99"><strong>Enhanced Scalability</strong>:</span> OOP allows for the creation of large, complex systems that can be easily scaled up or down as needed. This is essential for industrial automation systems that must handle a large amount of data and perform complex tasks.<br /><br /><span style="background-color: #ffff99"><strong>Better Collaboration</strong>:</span> OOP allows for the creation of clear and consistent code, which makes it easier for multiple programmers to work on the same industrial automation system. This improves collaboration and speeds up development. <br /><br />Object oriented PLC programming is essential for modern industrial automation systems. It offers increased flexibility, improved modularity, enhanced scalability, and better collaboration. According to various studies and surveys, companies that use OOP in their industrial automation systems experience significant benefits such as reduction in downtime, improved scalability, better collaboration and improved modularity. By learning object oriented PLC programming, industrial automation professionals can stay ahead of the curve and create more efficient systems.<br /><br /></p>
<p>Some articles and posts regarding this topic: </p>
<p><a href="https://arxiv.org/ftp/arxiv/papers/2212/2212.09475.pdf" target="_blank" rel="noopener">"A Model Driven Approach on Object Oriented PLC Programming for Manufacturing Systems with regard to Usability"</a></p>
<p><a href="https://us.store.codesys.com/media/n98_media_assets/files/000123/2/Sample%20Chapter.pdf" target="_blank" rel="noopener">Object Oriented Industrial Programming</a></p>
<p><a href="https://go.gale.com/ps/i.do?id=GALE%7CA597810211&amp;sid=googleScholar&amp;v=2.1&amp;it=r&amp;linkaccess=abs&amp;issn=00108049&amp;p=AONE&amp;sw=w&amp;userGroupName=anon%7Ea639f428" target="_blank" rel="noopener">Leverage object-oriented industrial programming</a></p>
<p><a href="https://www.academia.edu/4312062/Object-oriented_models_for_advanced_automation_engineering" target="_blank" rel="noopener">Object-oriented models for advanced automation engineering</a></p>
<p><a href="https://publications.lib.chalmers.se/records/fulltext/168390/local_168390.pdf" target="_blank" rel="noopener">Developing control logic using aspect-oriented programming and sequence planning</a></p>
<p><a href="https://dl.acm.org/doi/pdf/10.1145/38807.38824" target="_blank" rel="noopener">Object Oriented Development in an Industrial Environment</a></p>
<p><a href="https://www.automationworld.com/home/news/13306079/objectoriented-programming-in-automation" target="_blank" rel="noopener">Object-Oriented Programming in Automation</a></p>
<p> </p>
<p><span style="color: #000000">What are your perspectives and experiences on this subject?</span></p>
<p> </p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>twinControls</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/why-object-oriented-plc-programming-is-essential-for-industrial-automation/</guid>
                    </item>
				                    <item>
                        <title>Emoji Keyboard in Windows</title>
                        <link>https://twincontrols.com/community/lounge/emoji-keyboard-in-windows/</link>
                        <pubDate>Mon, 19 Dec 2022 16:01:03 +0000</pubDate>
                        <description><![CDATA[During text entry, type Windows logo key  + . (period). The emoji keyboard will appear.]]></description>
                        <content:encoded><![CDATA[<blockquote>
<p>During text entry, type<span> </span><a href="https://support.microsoft.com/en-us/windows/windows-keyboard-tips-and-tricks-588e0b72-0fff-6d3f-aeee-6e5116097942#:~:text=Insert%20emojis%2C%20GIFs%2C%20and%20symbols%20with%20the%20emoji%20panel&amp;text=To%20use%20it%3A,The%20emoji%20keyboard%20will%20appear." target="_blank" rel="noopener"><strong class="ocpUI">Windows logo key </strong><span class="icon-mdl2 icon-windowslogo"></span> +<strong class="ocpLegacyBold"><span> </span>. (period)</strong></a>. The emoji keyboard will appear.</p>
</blockquote>
720]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>twinControls</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/emoji-keyboard-in-windows/</guid>
                    </item>
				                    <item>
                        <title>Best Books/Materials for Learning Object Oriented Programming?</title>
                        <link>https://twincontrols.com/community/lounge/best-books-materials-for-learning-object-oriented-programming/</link>
                        <pubDate>Thu, 03 Nov 2022 19:58:33 +0000</pubDate>
                        <description><![CDATA[Hello all,I am looking for suggestions on books that are best suited for getting started on learning object-oriented programming. For me personally, at college I took up to intermediate prog...]]></description>
                        <content:encoded><![CDATA[<p>Hello all,<br /><br />I am looking for suggestions on books that are best suited for getting started on learning object-oriented programming. For me personally, at college I took up to intermediate programming in C++, which introduced some object oriented concepts such as classes, get and set functions, class constructor, destructor, function overloading, stuff like that. <br /><br />I understand there are many threads like this on Reddit and Quora, but its hard for me to distinguish what is necessary and useful for industrial automation programming. <br /><br />Any advice and suggestions are appreciated<br /><br />-Evan H.</p>]]></content:encoded>
						                            <category domain="https://twincontrols.com/community/lounge/">General - The Lounge</category>                        <dc:creator>ehixenbaugh</dc:creator>
                        <guid isPermaLink="true">https://twincontrols.com/community/lounge/best-books-materials-for-learning-object-oriented-programming/</guid>
                    </item>
							        </channel>
        </rss>
		