{"id":15598,"date":"2025-03-20T11:43:23","date_gmt":"2025-03-20T11:43:23","guid":{"rendered":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/"},"modified":"2025-12-23T09:45:36","modified_gmt":"2025-12-23T14:45:36","slug":"beckhoff-xts-part-3-simulation-and-plc-logic","status":"publish","type":"post","link":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/","title":{"rendered":"Beckhoff XTS Part 3 &#8211; Simulation and PLC Logic"},"content":{"rendered":"\n<p>This is Part 3 of Getting Started with XTS. The first two posts in the series discuss Beckhoff XTS, walks through the installation process, setting up a base project, and configuring an XTS system. Today we will continue by setting up an XTS simulation and begin adding logic into our application &nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-beckhoff-xts-series\">Beckhoff XTS Series<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.dmcinfo.com\/latest-thinking\/blog\/id\/13704\/beckhoff-xts-part-1-downloads-and-starter-project\">Part 1 &#8211; Downloads and Starter Project<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dmcinfo.com\/latest-thinking\/blog\/id\/13706\/beckhoff-xts-part-2-setting-up-a-physical-xts-system\">Part 2 &#8211;&nbsp;Setting Up a Physical XTS System<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dmcinfo.com\/latest-thinking\/blog\/id\/14734\/beckhoff-xts-part-4-movers\">Part 4 &#8211; Movers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dmcinfo.com\/latest-thinking\/blog\/id\/14735\/beckhoff-xts-part-5-stations\">Part 5 &#8211; Stations<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dmcinfo.com\/latest-thinking\/blog\/id\/14736\/beckhoff-xts-part-6-position-triggers\">Part 6 &#8211; Position Triggers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dmcinfo.com\/latest-thinking\/blog\/id\/14737\/beckhoff-xts-part-7-customizing-logic\">Part 7 &#8211; Customizing Logic<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-setting-up-an-xts-simulation-nbsp\">Setting Up an XTS Simulation&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-start-the-xts-simulator-nbsp\">Start the XTS Simulator&nbsp;<\/h3>\n\n\n\n<p>XTS has a built-in simulator that you can start through the XTS simulation builder. This is the gear icon with a <em>blue<\/em> arrow.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165224\/beckhoff-xts-simulator.png\" alt=\"beckhoff XTS simulator\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-start-the-xts-simulation-builder\">Start the XTS Simulation Builder<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165224\/simulation-builder.png\" alt=\"xts simulation builder\"\/><\/figure>\n\n\n\n<p>This starts the XTS simulation builder. You can select from a few template projects, but modifying the base project will give you the most control over the XTS system being set up. To do this, click the pencil next to modify base project.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165224\/xts-modify-projects.png\" alt=\"modify xts projects\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-configure-xts-modules\">Configure XTS Modules<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165223\/configure-xts-modules.png\" alt=\"configure xts modules\"\/><\/figure>\n\n\n\n<p>The first tab of the simulation builder is to configure the modules. Here you can add XTS track modules to build your track. In the top bar, you can select from the catalog of XTS modules and hovering over each module will give you the part number. To add a module, either select the module and click the add module plus button or double click on the module.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165223\/configure-xts-modules-2.png\" alt=\"configure xts modules\"\/><\/figure>\n\n\n\n<p>The last four digits of each module\u2019s part number represent its length in millimeters. There are some modules that look the same but have different lengths, so be sure to select the correct length of each part for your application. Below is a simulation track for the XTS larger starter kit. It uses two&nbsp;AT2002-0250, 2 AT2050-0250, and 10 AT2000-0250 modules to form a 4m loop.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165223\/configure-xts-modules-3.png\" alt=\"configure xts modules\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-configure-xts-movers-nbsp\">Configure XTS Movers&nbsp;<\/h3>\n\n\n\n<p>Next, navigate to the Movers tab.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165222\/configure-xts-movers.png\" alt=\"configure xts movers\"\/><\/figure>\n\n\n\n<p>Here you can add movers to the XTS track. Similar to the modules, at the top you can select which mover from the Beckhoff XTS catalog you\u2019d like to add to the track. To add a mover, select the type and then click the add mover plus button. Below are the simulation movers for the XTS large starter kit. It uses 10 AT9014-0070 movers.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165222\/configure-xts-movers-2.png\" alt=\"configure xts movers\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-configure-parts-tracks-and-stations-nbsp\">Configure Parts, Tracks, and Stations&nbsp;<\/h3>\n\n\n\n<p>For this example, we\u2019re not going to be using any parts, tracks, or stations. Here\u2019s a quick rundown of what each of them are with links to the Beckhoff documentation for more detail.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/infosys.beckhoff.com\/content\/1033\/xts_software\/10518294411.html?id=5816654963653202432\" target=\"_blank\" rel=\"noreferrer noopener\">Parts<\/a> \u2013<\/strong> Groupings of modules. Since our large starter kit is a loop, we only have the one part which was added by default.\u00a0<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/infosys.beckhoff.com\/content\/1033\/xts_software\/10518303499.html?id=5057607251771315029\" target=\"_blank\" rel=\"noreferrer noopener\">Tracks<\/a> \u2013<\/strong> A route that can be used by movers that is made up of one or multiple parts. Since our large starter kit is a loop with only one part, we also only use the single default track.\u00a0<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/infosys.beckhoff.com\/content\/1033\/xts_software\/10518313355.html?id=7102308198055763556\" target=\"_blank\" rel=\"noreferrer noopener\">Stations<\/a> \u2013<\/strong> A station in this configurator is still in the beta phase and is currently purely cosmetic. Stations will display in the XTS tool window, but the movers cannot use these stations in their logic. We will set up stations in the PLC logic later, so we don\u2019t have to set any up here.\u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" aria-level=\"3\" paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{104}\" paraid=\"304739211\" role=\"heading\">Configure XTS Real-Time Settings&nbsp;<\/h3>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\">Lastly, we need to set the real-time settings for the XTS system. This is functionally the same as going to SYSTEM &gt; Real-Time, but it\u2019s conveniently here in the configurator as well. First, navigate to the System tab and click the download button to sync the number of cores on your target to the configurator.&nbsp;<\/p><\/p>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\"><\/p><\/p>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\">Say &#8220;yes&#8221; to the popup that asks if you want to overwrite the current CPU config.&nbsp;<\/p><\/p>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\"><\/p><\/p>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\">The XTS Task 1 has to be configured onto an isolated CPU by itself with a 250\u03bcs base time and 1 cycle tick. Isolated cores are represented by an orange rectangle on the right side of the core. You can select which cores are being used with the checkbox on the left side and move tasks around using the up and down arrows on each task. The remaining tasks on the system can be set up to fit your system&#8217;s needs, but the XTS Task 1 should be configured like the image below.&nbsp;<\/p><\/p>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\"><\/p><\/p>\n\n\n\n<p><p paraeid=\"{9a139b91-8159-4c71-b387-a6090cf60596}{115}\" paraid=\"75925578\">If you\u2019re simulating on your engineering computer, keep in mind that all tasks must be on isolated cores, not just the XTS Task 1. The image above has all tasks on isolated cores for this reason.&nbsp;<\/p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-finish-the-xts-simulation-builder-nbsp\">Finish the XTS Simulation Builder&nbsp;<\/h3>\n\n\n\n<p>Click the next button a couple times and the XTS simulation builder should process the information to add the XTS system to your solution. This may take a few minutes, but afterwards the simulation builder should close. To start sending movers around the track, go to step 5.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-adding-logic-to-the-xts-system-nbsp\">Adding Logic to the XTS System&nbsp;<\/h2>\n\n\n\n<p>This section assumes that you\u2019re using the <a href=\"https:\/\/github.com\/Beckhoff-USA-Community\/XTS_Base\/tree\/master\" target=\"_blank\">XTS_Base code provided on Beckhoff\u2019s GitHub<\/a>. It\u2019s highly recommended to use this since it provides well-tested code for commonly used XTS tools like movers, stations, zones, position triggers, etc.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-check-iddetectionmode-nbsp\">Check IdDetectionMode&nbsp;<\/h3>\n\n\n\n<p>Under SYSTEM &gt; TcCOM Object &gt; XTS ProcessingUnit 1, go to the Parameter (Init) tab. Under the section for Mover ID Detection, we will want to set IdDetectionMode to the correct detection mode for our system.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165221\/Check-IdDetectionMode.png\" alt=\"Check IdDetectionMode\"\/><\/figure>\n\n\n\n<p>If you\u2019re simulating an XTS system, the IdDetectionMode should be set to Standard. If you\u2019re working with a physical XTS system, then it depends on your movers. Some movers are identified with mover 1 magnet plates. If you have no mover 1 magnet plates, set IdDetectionMode to Standard. With one mover 1 magnet plate, set the IdDetectionMode to Mover1. With multiple mover 1 magnet plates, set the IdDetectionMode to MultipleMover1.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-setting-the-gvl-parameters\">Setting the GVL Parameters<\/h2>\n\n\n\n<p>Under the Main Project, open GVLs &gt; GVL. In this global variable list, you\u2019ll need to set the following variables&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>NUM_MOVERS \u2013<\/strong>&nbsp;This should be the number of movers in your XTS system. In our case, 10.&nbsp;<\/li>\n\n\n\n<li><strong>NUM_STATIONS \u2013<\/strong>&nbsp;This should be set to a number greater than or equal to the number of stations you\u2019ll add to your system. In our case, we will keep it at 10.&nbsp;<\/li>\n\n\n\n<li><strong>TRACK_LENGTH \u2013 <\/strong>This should be the length of the track in your XTS system in millimeters. In our case, 4000mm. If you don\u2019t know the track length, you can find it under SYSTEM &gt; TcCOM Object &gt; XTS ProcessingUnit 1 &gt; Track 1 in the Parameter (Online) tab. The Length parameter should show an online value which should be entered for TRACK_LENGTH.&nbsp;<\/li>\n\n\n\n<li><strong>NUM_TRACKS \u2013<\/strong>&nbsp;This should be set to the number of tracks in your system. In our case, 1.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165220\/set-GVL-parameters.png\" alt=\"set GVL parameters\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" aria-level=\"3\" paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{57}\" paraid=\"1871624229\" role=\"heading\">Update the Track OTCID in MAIN&nbsp;<\/h3>\n\n\n\n<p><p paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{68}\" paraid=\"1362841373\">In the MAIN program inside the POUs folder, on line 138 there is an assignment to Track[1].OTCID. This will likely need to be changed.&nbsp;<\/p><\/p>\n\n\n\n<p><p paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{68}\" paraid=\"1362841373\"><\/p><\/p>\n\n\n\n<p><p paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{68}\" paraid=\"1362841373\">You can find your track\u2019s OTCID under SYSTEM &gt; TcCOM Objects &gt; XTS ProcessingUnit 1 &gt; Track 1 in the Object tab.&nbsp;<\/p><\/p>\n\n\n\n<p><p paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{68}\" paraid=\"1362841373\"><\/p><\/p>\n\n\n\n<p><p paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{68}\" paraid=\"1362841373\">You can then copy this value and assign it to Track[1].OTCID in MAIN. Make sure to change the \u201c0x\u201d prefix to a \u201c16#\u201d to match structured text formatting for hexadecimal numbers.&nbsp;<\/p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-link-the-mover-axes-nbsp\">Link the Mover Axes&nbsp;<\/h3>\n\n\n\n<p>Rebuild the solution first by going to the top toolbar and selecting Build &gt; Rebuild Solution. This makes sure that our change to NUM_MOVERS regenerated the correct number of AXIS_REFs to link to. After rebuilding, go to MOTION &gt; NC SAF &gt; Axes and you\u2019ll see a list of axes that are in our solution. They should already be linked to their I\/O components, which should be Mover Controllers. The next step is to link them to their PLC AXIS_REFs. Select all the axes using Shift + Click, then right click to select Change Axis PLC Links.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165219\/link-mover-axes.png\" alt=\"link mover axes\"\/><\/figure>\n\n\n\n<p>You should see the mover axis references show up. Click each reference to link all the movers to their NC axes. The linking should look like the image below afterwards.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165218\/link-mover-axes-2.png\" alt=\"link mover axes\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-run-the-program-nbsp\">Run the Program&nbsp;<\/h3>\n\n\n\n<p>We can now activate our configuration. Do this by clicking the icon shown below.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165218\/run-xts.png\" alt=\"run beckhoff xts\"\/><\/figure>\n\n\n\n<p>Click OK in the next popup.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165218\/xts-configuration.png\" alt=\"xts configuration\"\/><\/figure>\n\n\n\n<p>If you haven\u2019t already purchased licenses from Beckhoff, you\u2019ll likely get a popup asking if you want to activate trial licenses. Click yes and follow the steps to get a free 7-day trial license. Once you deploy the code onto a production machine, make sure to get a license from your local Beckhoff sales representative.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165217\/beckhoff-license-purchase.png\" alt=\"beckhoff license\"\/><\/figure>\n\n\n\n<p>After activating configuration, the target device should switch into run mode, which is indicated by the green gear icon next to the activate configuration button being highlighted instead of the blue one. Once in run mode, we can enable and start the movers.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-start-the-movers-nbsp\">Start the Movers&nbsp;<\/h3>\n\n\n\n<p>The solution we pulled from the Beckhoff GitHub already has a simple HMI to get the movers started. Let\u2019s log in by clicking the green door with the arrow pointing towards it.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165217\/start-xts-movers.png\" alt=\"start the movers in xts\"\/><\/figure>\n\n\n\n<p>After logging in, open the visualization under Main Project &gt; VISUs &gt; Controls.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165217\/xts-visualization.png\" alt=\"xts visualization\"\/><\/figure>\n\n\n\n<p><p paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{232}\" paraid=\"1628073123\">This provides four&nbsp;buttons for interacting with the XTS system.&nbsp;<\/p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{238}\" paraid=\"1744214791\"><strong>Enable &ndash;<\/strong> Will run the enable sequence for the movers, which initializes their order and assigns movers to tracks.&nbsp;<\/li>\n\n\n\n<li paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{244}\" paraid=\"2057721951\"><strong>Start &ndash;<\/strong> Once the movers are enabled, this will start running the station logic for the movers,&nbsp;<\/li>\n\n\n\n<li paraeid=\"{334c0585-749a-44c8-b51c-103ff91ff81c}{250}\" paraid=\"1519986144\"><strong>Stop &ndash;<\/strong> This will stop the movers but will keep them enabled.&nbsp;<\/li>\n\n\n\n<li paraeid=\"{e12f2616-cfdb-4722-a69e-8637d8283319}{1}\" paraid=\"1078918102\"><strong>Disable &ndash;<\/strong> This will remove the movers from their tracks, which allows for errors to be reset. If your track is mounted vertically, it&rsquo;s worth noting that this will depower the movers and they will succumb to gravity.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Click the enable button. Then click the start button. If you have a physical XTS system, you should see the movers start to move. Both physical and simulation systems can take advantage of the XTS tool window to see a live view of the track.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-live-monitor-the-xts-track-nbsp\">Live Monitor the XTS Track&nbsp;<\/h3>\n\n\n\n<p>Go back to the XTS tool window. You should be able to click the live view button to see the current state of the movers on the XTS track.&nbsp;<\/p>\n\n\n\n<p>At this point, you should see the movers going around the track according to the station logic that was already in the code we downloaded from Beckhoff\u2019s GitHub.&nbsp;<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/xts-monitor-2.png\" alt=\"xts live monitor\"\/><\/figure>\n\n\n\n<p>This should help get your physical or simulated XTS system moving. However, all XTS systems are different&nbsp;and this default station logic likely isn\u2019t going to work for your application. Next time, we will explore how to set up stations, position triggers, zones, and other things that can help customize the XTS system further.&nbsp;<\/p>\n\n\n\n<p>If you\u2019d like help with the next steps for your XTS system, DMC is proud to be a Beckhoff System Integrator and has worked on multiple XTS projects and applications. <strong>Learn more about\u202four <a href=\"https:\/\/www.dmcinfo.com\/about\/partners\/beckhoff-integrator-group\/\">Beckhoff partnership<\/a>\u202fand\u202f<a href=\"https:\/\/www.dmcinfo.com\/contact\">contact us<\/a>\u202ffor your next project.&nbsp;<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is Part 3 of Getting Started with XTS. The first two posts in the series discuss Beckhoff XTS, walks through the installation process, setting up a base project, and configuring an XTS system. Today we will continue by setting up an XTS simulation and begin adding logic into our application &nbsp; Beckhoff XTS Series [&hellip;]<\/p>\n","protected":false},"author":77,"featured_media":15599,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[733,731,732],"tags":[],"class_list":["post-15598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-beckhoff-plc","category-manufacturing-automation-intelligence","category-plc"],"yoast_head":"<title>Beckhoff XTS Part 3 - Simulation and PLC Logic | DMC, Inc.<\/title>\n<meta name=\"description\" content=\"Learn how DMC, Inc. sets up a Beckhoff XTS simulation and begins adding logic into the application in this guide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beckhoff XTS Part 3 - Simulation and PLC Logic\" \/>\n<meta property=\"og:description\" content=\"Learn how DMC, Inc. sets up a Beckhoff XTS simulation and begins adding logic into the application in this guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\" \/>\n<meta property=\"og:site_name\" content=\"DMC, Inc.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-20T11:43:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-23T14:45:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"925\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carter Silvey\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carter Silvey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\"},\"author\":{\"name\":\"Carter Silvey\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/d91de4b6b9fb5fa6d04183d3898c5081\"},\"headline\":\"Beckhoff XTS Part 3 &#8211; Simulation and PLC Logic\",\"datePublished\":\"2025-03-20T11:43:23+00:00\",\"dateModified\":\"2025-12-23T14:45:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\"},\"wordCount\":1852,\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg\",\"articleSection\":[\"Beckhoff PLC\",\"Manufacturing Automation &amp; Intelligence\",\"PLC\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\",\"url\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\",\"name\":\"Beckhoff XTS Part 3 - Simulation and PLC Logic | DMC, Inc.\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg\",\"datePublished\":\"2025-03-20T11:43:23+00:00\",\"dateModified\":\"2025-12-23T14:45:36+00:00\",\"description\":\"Learn how DMC, Inc. sets up a Beckhoff XTS simulation and begins adding logic into the application in this guide.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg\",\"width\":925,\"height\":400,\"caption\":\"beckhoff-xts-part-3\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dmcinfo.com\/#website\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"name\":\"DMC, Inc.\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dmcinfo.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\",\"name\":\"DMC, Inc.\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"width\":418,\"height\":167,\"caption\":\"DMC, Inc.\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\",\"https:\/\/www.instagram.com\/dmcengineering\",\"https:\/\/www.youtube.com\/DMCEngineering\",\"https:\/\/www.linkedin.com\/company\/dmc-engineering\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/d91de4b6b9fb5fa6d04183d3898c5081\",\"name\":\"Carter Silvey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/image\/\",\"url\":\"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/77.png\",\"contentUrl\":\"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/77.png\",\"caption\":\"Carter Silvey\"},\"url\":\"https:\/\/www.dmcinfo.com\/blog\/author\/carters\/\"}]}<\/script>","yoast_head_json":{"title":"Beckhoff XTS Part 3 - Simulation and PLC Logic | DMC, Inc.","description":"Learn how DMC, Inc. sets up a Beckhoff XTS simulation and begins adding logic into the application in this guide.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/","og_locale":"en_US","og_type":"article","og_title":"Beckhoff XTS Part 3 - Simulation and PLC Logic","og_description":"Learn how DMC, Inc. sets up a Beckhoff XTS simulation and begins adding logic into the application in this guide.","og_url":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/","og_site_name":"DMC, Inc.","article_publisher":"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","article_published_time":"2025-03-20T11:43:23+00:00","article_modified_time":"2025-12-23T14:45:36+00:00","og_image":[{"width":925,"height":400,"url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg","type":"image\/jpeg"}],"author":"Carter Silvey","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Carter Silvey","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#article","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/"},"author":{"name":"Carter Silvey","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/d91de4b6b9fb5fa6d04183d3898c5081"},"headline":"Beckhoff XTS Part 3 &#8211; Simulation and PLC Logic","datePublished":"2025-03-20T11:43:23+00:00","dateModified":"2025-12-23T14:45:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/"},"wordCount":1852,"publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"image":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg","articleSection":["Beckhoff PLC","Manufacturing Automation &amp; Intelligence","PLC"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/","url":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/","name":"Beckhoff XTS Part 3 - Simulation and PLC Logic | DMC, Inc.","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage"},"image":{"@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg","datePublished":"2025-03-20T11:43:23+00:00","dateModified":"2025-12-23T14:45:36+00:00","description":"Learn how DMC, Inc. sets up a Beckhoff XTS simulation and begins adding logic into the application in this guide.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/blog\/15598\/beckhoff-xts-part-3-simulation-and-plc-logic\/#primaryimage","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165215\/beckhoff-xts-part-3.jpg","width":925,"height":400,"caption":"beckhoff-xts-part-3"},{"@type":"WebSite","@id":"https:\/\/www.dmcinfo.com\/#website","url":"https:\/\/www.dmcinfo.com\/","name":"DMC, Inc.","description":"","publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dmcinfo.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dmcinfo.com\/#organization","name":"DMC, Inc.","url":"https:\/\/www.dmcinfo.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","width":418,"height":167,"caption":"DMC, Inc."},"image":{"@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","https:\/\/www.instagram.com\/dmcengineering","https:\/\/www.youtube.com\/DMCEngineering","https:\/\/www.linkedin.com\/company\/dmc-engineering"]},{"@type":"Person","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/d91de4b6b9fb5fa6d04183d3898c5081","name":"Carter Silvey","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/image\/","url":"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/77.png","contentUrl":"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/77.png","caption":"Carter Silvey"},"url":"https:\/\/www.dmcinfo.com\/blog\/author\/carters\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/15598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/users\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/comments?post=15598"}],"version-history":[{"count":3,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/15598\/revisions"}],"predecessor-version":[{"id":37417,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/15598\/revisions\/37417"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media\/15599"}],"wp:attachment":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media?parent=15598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/categories?post=15598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/tags?post=15598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}