Simulate machines and test your PLC programs before touching real hardware.
Listen to this pageabout 1 min
A digital twin is a virtual replica of a machine or process. You use it to build, test and debug PLC programs without real hardware.
FACTORY IO
3D factory simulation used in the Factory Automation using PLC course.
Simumatik
Free video lessons on building virtual control systems.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Code and Compile Wiki","description":"Free wiki for industrial automation and IIoT: PLC course resources, hands-on product reviews and free calculators for PLC, drives and IIoT engineers.","colors":{"primary":"#F78F3F","light":"#FF9843","dark":"#D9702A"},"logo":{"light":"https://mintcdn.com/code-and-compile/Foq_8tey_snLxDlI/images/logo-light.png?fit=max\u0026auto=format\u0026n=Foq_8tey_snLxDlI\u0026q=85\u0026s=0be14cd5908dc980d7d6e273b6f9082b","dark":"https://mintcdn.com/code-and-compile/Foq_8tey_snLxDlI/images/logo-dark.png?fit=max\u0026auto=format\u0026n=Foq_8tey_snLxDlI\u0026q=85\u0026s=0bef34911312a0b84d6782785e5fb109"},"favicon":"https://mintcdn.com/code-and-compile/AVgt2ILUleJ-6Ioq/images/caclogo.png?fit=max\u0026auto=format\u0026n=AVgt2ILUleJ-6Ioq\u0026q=85\u0026s=ab79a7d81b53c57c05cbe93a32ee985b","navbar":{"primary":{"type":"button","label":"Get my courses – 20% OFF","href":"/who-am-i/get-my-courses-20-off"}},"footer":{"socials":{"youtube":"https://www.youtube.com/thegeterrdone","linkedin":"https://www.linkedin.com/in/singhrajvir","instagram":"https://www.instagram.com/rajvir.codeandcompile","website":"https://www.codeandcompile.com"},"links":[{"header":"Learn","items":[{"label":"All courses","href":"https://learn.codeandcompile.com/l/products"},{"label":"Get 20% off","href":"/who-am-i/get-my-courses-20-off"},{"label":"Course resources","href":"/resources/based-on-courses"}]},{"header":"Free tools","items":[{"label":"PID tuning simulator","href":"/tools/pid-simulator"},{"label":"Modbus RTU frame builder","href":"/tools/modbus-rtu-frame-builder"},{"label":"IP subnet checker","href":"/tools/ip-subnet-checker"},{"label":"All tools","href":"/tools"}]},{"header":"Reviews","items":[{"label":"Smart devices","href":"/product-reviews/smart-devices"},{"label":"Smart platforms","href":"/product-reviews/smart-platforms"}]},{"header":"Work with me","items":[{"label":"Content creation","href":"https://codeandcompile.com/content-creation"},{"label":"Contact","href":"https://codeandcompile.com/contact"},{"label":"Cookie settings","href":"/"}]}]},"seo":{"metatags":{"canonical":"https://wiki.codeandcompile.com"},"indexing":"all"},"banner":{"content":"**20% off** all courses · code **WIKI** · [View](/who-am-i/get-my-courses-20-off)","dismissible":true,"color":{"light":"#B85A1C","dark":"#8A4313"}},"errors":{"404":{"redirect":false,"title":"This page moved or doesn't exist","description":"Try the search above, or start from [Course resources](/resources/based-on-courses), [Product reviews](/product-reviews/smart-devices) or the [homepage](/)."}},"thumbnails":{"preset":"headline","appearance":"dark","surface":"brand","fonts":{"family":"Inter"},"eyebrow":{"source":"tab","style":"pill"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"code-and-compile","hasAudioNarration":true,"actualSubdomain":"code-and-compile","customDomains":["wiki.codeandcompile.com"],"gitSource":{"type":"github","owner":"code-and-compile","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6af2fff81580bcb16605c19d"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af40d3f245d2149089267be","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Product reviews","count":49},{"language":"default","tag":"Course resources","count":37},{"language":"default","tag":"Smart devices","count":28},{"language":"default","tag":"Factory automation","count":27},{"language":"default","tag":"Smart platforms","count":23},{"language":"default","tag":"PLC","count":16},{"language":"default","tag":"Controllers and HMIs","count":12},{"language":"default","tag":"IoT platforms and alerts","count":10},{"language":"default","tag":"ctrlX CORE","count":9},{"language":"default","tag":"Free tools","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area:has(img[src*=\"wiki-banner\"])>#header{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cc-banner-mobile{display:none}@media (max-width: 640px){.cc-banner-desktop{display:none}.cc-banner-mobile{display:block}}#cc-consent{position:fixed;z-index:9999;left:16px;right:16px;bottom:16px;max-width:380px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.45;background:#ffffff;color:#12131a;border:1px solid rgba(0,0,0,.12);box-shadow:0 10px 30px rgba(0,0,0,.15)}.dark #cc-consent{background:#16171c;color:#f4f5f7;border-color:rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.5)}#cc-consent p{margin:0;flex:1 1 100%}#cc-consent .cc-actions{margin-left:auto}#cc-consent a{color:#F78F3F;text-decoration:underline}#cc-consent .cc-actions{display:flex;gap:8px}#cc-consent button{font:inherit;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer}#cc-consent .cc-decline{background:transparent;color:inherit;border:1px solid rgba(127,127,127,.4)}#cc-consent .cc-accept{background:#F78F3F;color:#fff;border:1px solid #F78F3F}"}],"page":{"pagePath":"factory-automation/digital-twin","slug":"/factory-automation/digital-twin","pageMetadata":{"title":"Digital Twin","description":"Simulate machines and test your PLC programs before touching real hardware.","href":"/factory-automation/digital-twin/index"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Simulate machines and test your PLC programs before touching real hardware.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components},{Card,Columns}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`A digital twin is a virtual replica of a machine or process. You use it to build, test and debug PLC programs without real hardware.`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`FACTORY IO`,icon:`cube`,href:`/factory-automation/digital-twin/factory-io`,children:_jsx(_components.p,{children:`3D factory simulation used in the Factory Automation using PLC course.`})}),_jsx(Card,{title:`Simumatik`,icon:`cube`,href:`/factory-automation/digital-twin/simumatik`,children:_jsx(_components.p,{children:`Free video lessons on building virtual control systems.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Digital Twin","description":"Simulate machines and test your PLC programs before touching real hardware.","href":"/factory-automation/digital-twin/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/code-and-compile/2ff53bdbfac34a49/consent.js"],"narration":{"path":"factory-automation/digital-twin","locale":"en","estimatedDurationSec":19},"subdomain":"code-and-compile","siteName":"Code and Compile Wiki","title":"Digital Twin - Code and Compile Wiki","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T13:14:32.094Z","originalFileLocation":"factory-automation/digital-twin/index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Simulate machines and test your PLC programs before touching real hardware.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Code and Compile Wiki\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Digital Twin - Code and Compile Wiki\">\u003cmeta data-mint-head property=\"og:description\" content=\"Simulate machines and test your PLC programs before touching real hardware.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Code and Compile Wiki\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://wiki.codeandcompile.com/factory-automation/digital-twin\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://code-and-compile.mintlify.site/_mintlify/api/og/v2?division=Course+resources\u0026amp;title=Digital+Twin\u0026amp;description=Simulate+machines+and+test+your+PLC+programs+before+touching+real+hardware.\u0026amp;theme=a63dcf1c9cb6329df04f1c98\u0026amp;signature=a7c17214b14f696966be2f8ff8b40c14a12bc9873e4549945c037544ab202c58\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Digital Twin - Code and Compile Wiki\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Simulate machines and test your PLC programs before touching real hardware.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://code-and-compile.mintlify.site/_mintlify/api/og/v2?division=Course+resources\u0026amp;title=Digital+Twin\u0026amp;description=Simulate+machines+and+test+your+PLC+programs+before+touching+real+hardware.\u0026amp;theme=a63dcf1c9cb6329df04f1c98\u0026amp;signature=a7c17214b14f696966be2f8ff8b40c14a12bc9873e4549945c037544ab202c58\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/code-and-compile/J4bDdR7f6_fJIDVF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Code and Compile Wiki\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F78F3F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://wiki.codeandcompile.com/factory-automation/digital-twin\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/factory-automation/digital-twin.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://wiki.codeandcompile.com/#organization\",\"name\":\"Code and Compile Wiki\",\"url\":\"https://wiki.codeandcompile.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/code-and-compile/Foq_8tey_snLxDlI/images/logo-light.png?fit=max\u0026auto=format\u0026n=Foq_8tey_snLxDlI\u0026q=85\u0026s=0be14cd5908dc980d7d6e273b6f9082b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://wiki.codeandcompile.com#website\",\"name\":\"Code and Compile Wiki\",\"url\":\"https://wiki.codeandcompile.com\",\"publisher\":{\"@id\":\"https://wiki.codeandcompile.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin#webpage\",\"url\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin\",\"name\":\"Digital Twin\",\"description\":\"Simulate machines and test your PLC programs before touching real hardware.\",\"dateModified\":\"2026-11-10T13:14:32.094Z\",\"isPartOf\":{\"@id\":\"https://wiki.codeandcompile.com#website\"},\"breadcrumb\":{\"@id\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Factory automation\",\"item\":\"https://wiki.codeandcompile.com/factory-automation/industrial-control\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Digital Twin\",\"item\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin#article\",\"headline\":\"Digital Twin\",\"name\":\"Digital Twin\",\"description\":\"Simulate machines and test your PLC programs before touching real hardware.\",\"url\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin\",\"mainEntityOfPage\":{\"@id\":\"https://wiki.codeandcompile.com/factory-automation/digital-twin#webpage\"},\"dateModified\":\"2026-11-10T13:14:32.094Z\",\"publisher\":{\"@id\":\"https://wiki.codeandcompile.com/#organization\"},\"isPartOf\":{\"@id\":\"https://wiki.codeandcompile.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Code and Compile Wiki\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Code and Compile Wiki\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/factory-automation/digital-twin.md","siteName":"Code and Compile Wiki","nav":{"global":null,"tabs":[{"tab":"Course resources","icon":"graduation-cap","groups":[{"group":"Start here","icon":"flag","pages":[{"title":"Code and Compile Wiki","mode":"wide","href":""},{"title":"Based on Courses","href":"/resources/based-on-courses"},{"title":"Code and Compile PRO: Learning Paths","sidebarTitle":"PRO learning paths","href":"/resources/yearly-subscription-guideline"}]},{"group":"Factory automation","icon":"industry-windows","pages":[{"title":"Industrial Control","description":"Resources for the industrial control section of the courses: PLCs, HMIs, sensors and actuators.","href":"/factory-automation/industrial-control"},{"group":"Digital Twin","root":{"title":"Digital Twin","href":"/factory-automation/digital-twin/index"},"pages":[{"group":"FACTORY IO","root":{"title":"FACTORY IO","description":"Course resources for Learn Factory Automation using FACTORY I/O: software, scenes, tasks and solutions.","href":"/factory-automation/digital-twin/factory-io/index"},"pages":[{"title":"Tasks and Solutions","description":"FACTORY I/O pre-built scenes with tasks and CONTROL I/O solutions to download, use and modify.","href":"/factory-automation/digital-twin/factory-io/tasks-and-solutions"},{"title":"FACTORY IO Scene","description":"Download the FACTORY I/O scenes used in the Node-RED, S7-1200 and Micro850 courses.","href":"/factory-automation/digital-twin/factory-io/factory-io-scene"}]},{"group":"Simumatik","root":{"title":"Simumatik","href":"/factory-automation/digital-twin/simumatik/index"},"pages":[{"title":"Resources","description":"Tutorial files from the Simumatik video lessons.","href":"/factory-automation/digital-twin/simumatik/resources"}]}]},{"group":"PLC","root":{"title":"PLC","href":"/factory-automation/plc/index"},"pages":[{"group":"Allen Bradley","root":{"title":"Allen Bradley","href":"/factory-automation/plc/allen-bradley/index"},"pages":[{"group":"Micro850 PLC","root":{"title":"Micro850 PLC","href":"/factory-automation/plc/allen-bradley/micro850-plc/index"},"pages":[{"title":"PLC Exercises - Part 1","href":"/factory-automation/plc/allen-bradley/micro850-plc/plc-exercises-part-1"}]},{"title":"Micrologix 1000 PLC","href":"/factory-automation/plc/allen-bradley/micrologix-1000-plc"}]},{"group":"Delta Electronics","root":{"title":"Delta Electronics","href":"/factory-automation/plc/delta-electronics/index"},"pages":[{"title":"DVP 12SE","href":"/factory-automation/plc/delta-electronics/dvp-12se"},{"title":"DVP 10SX","href":"/factory-automation/plc/delta-electronics/dvp-10sx"},{"title":"PLC Exercises 1","href":"/factory-automation/plc/delta-electronics/plc-exercises-1"}]},{"title":"Omron","href":"/factory-automation/plc/omron"},{"title":"PLCnext","href":"/factory-automation/plc/plcnext"},{"group":"Siemens","root":{"title":"Siemens","href":"/factory-automation/plc/siemens/index"},"pages":[{"title":"S7-200","href":"/factory-automation/plc/siemens/s7-200"},{"group":"S7-1200 (Basic)","root":{"title":"S7-1200 (Basic)","href":"/factory-automation/plc/siemens/s7-1200-basic/index"},"pages":[{"title":"Course Presentations","href":"/factory-automation/plc/siemens/s7-1200-basic/course-presentations"},{"title":"TIA Projects","href":"/factory-automation/plc/siemens/s7-1200-basic/tia-projects"}]},{"group":"S7-1200 (Advanced)","root":{"title":"S7-1200 (Advanced)","href":"/factory-automation/plc/siemens/s7-1200-advanced/index"},"pages":[{"title":"Course Presentation and Projects","href":"/factory-automation/plc/siemens/s7-1200-advanced/course-presentation-and-projects"},{"title":"HMI Presentations and Projects","href":"/factory-automation/plc/siemens/s7-1200-advanced/hmi-presentations-and-projects"}]}]},{"group":"Codesys","root":{"title":"Codesys","href":"/factory-automation/plc/codesys/index"},"pages":[{"title":"Exercises - Part 1","href":"/factory-automation/plc/codesys/exercises-part-1"}]},{"title":"WAGO CC100","href":"/factory-automation/plc/wago-cc100"},{"group":"Schneider","root":{"title":"Schneider","href":"/factory-automation/plc/schneider/index"},"pages":[{"title":"PLC Exercises","href":"/factory-automation/plc/schneider/plc-exercises"}]},{"group":"Articles","root":{"title":"Articles","href":"/factory-automation/plc/articles/index"},"pages":[{"title":"Modbus Word to Float Conversion (Big-Endian Byte Swap)","href":"/factory-automation/plc/articles/modbus-word-to-float-conversion-big-endian-byte-swap"}]}]},{"group":"Safety Controller","root":{"title":"Safety Controller","href":"/factory-automation/safety-controller/index"},"pages":[{"group":"Banner SC10 Series","root":{"title":"Banner SC10 Series","href":"/factory-automation/safety-controller/banner-sc10-series/index"},"pages":[{"title":"Resources","href":"/factory-automation/safety-controller/banner-sc10-series/resources"}]}]},{"group":"AC Drives","root":{"title":"AC Drives","href":"/factory-automation/ac-drives/index"},"pages":[{"group":"Allen Bradley","root":{"title":"Allen Bradley","href":"/factory-automation/ac-drives/allen-bradley/index"},"pages":[{"title":"PowerFlex 400","href":"/factory-automation/ac-drives/allen-bradley/powerflex-400"}]},{"group":"Delta Electronics","root":{"title":"Delta Electronics","href":"/factory-automation/ac-drives/delta-electronics/index"},"pages":[{"title":"VFD M-Series","href":"/factory-automation/ac-drives/delta-electronics/vfd-m-series"},{"title":"Servo Drives ASDA-B Series","href":"/factory-automation/ac-drives/delta-electronics/servo-drives-asda-b-series"}]}]},{"group":"HMI","root":{"title":"HMI","href":"/factory-automation/hmi/index"},"pages":[{"group":"Siemens KTP400","root":{"title":"Siemens KTP400","href":"/factory-automation/hmi/siemens-ktp400/index"},"pages":[{"title":"Error 1: Missing Panel images","href":"/factory-automation/hmi/siemens-ktp400/error-1-missing-panel-images"}]}]},{"group":"SCADA","root":{"title":"SCADA","href":"/factory-automation/scada/index"},"pages":[{"title":"Ignition SCADA","href":"/factory-automation/scada/ignition-scada"}]},{"title":"3D Camera","href":"/factory-automation/3d-camera"}]},{"group":"IIoT","icon":"earth-americas","pages":[{"title":"Introduction to IIoT","href":"/iiot/introduction-to-iiot"},{"group":"IIoT Tools","root":{"title":"IIoT Tools","href":"/iiot/iiot-tools/index"},"pages":[{"group":"Node-RED","root":{"title":"Node-RED","href":"/iiot/iiot-tools/node-red/index"},"pages":[{"title":"Renewing SSL Certificates","href":"/iiot/iiot-tools/node-red/renewing-ssl-certificates"},{"title":"Node-RED Safe mode","href":"/iiot/iiot-tools/node-red/node-red-safe-mode"},{"title":"How to format the timestamps","href":"/iiot/iiot-tools/node-red/how-to-format-the-timestamps"}]},{"group":"OPC UA","root":{"title":"OPC UA","href":"/iiot/iiot-tools/opc-ua/index"},"pages":[{"title":"OPC UA Course","href":"/iiot/iiot-tools/opc-ua/opc-ua-course"},{"group":"Troubleshooting","root":{"title":"Troubleshooting","href":"/iiot/iiot-tools/opc-ua/troubleshooting/index"},"pages":[{"title":"Certificate error in Node-RED","href":"/iiot/iiot-tools/opc-ua/troubleshooting/certificate-error-in-node-red"}]}]},{"title":"MySQL","href":"/iiot/iiot-tools/mysql"}]}]}]},{"tab":"Product reviews","icon":"circle-play","menu":[{"item":"Smart devices","icon":"microchip","description":"Hands-on reviews of industrial hardware","pages":[{"title":"Smart devices","href":"/product-reviews/smart-devices"}]},{"item":"Smart platforms","icon":"cloud","description":"Virtual PLCs, MQTT, IoT platforms and alerts","pages":[{"title":"Smart platforms","href":"/product-reviews/smart-platforms"}]}],"pages":[{"title":"Product reviews","href":"/product-reviews/smart-devices"}]},{"tab":"Free tools","icon":"calculator","pages":[{"title":"Free tools","href":"/tools"}]},{"tab":"About","icon":"user","pages":[{"title":"About","href":"/who-am-i/meet-the-creator"}]}]},"basePath":"","title":"Digital Twin - Code and Compile Wiki","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["10e4515597","2bfc744e19"],"chunks":["BannerMarkdown-DV3Oq1fY.js","dist-C-XZBk9h.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D3Isdib3.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","NarrationPlayer-CfOFO133.js","types-CiTgMxws.js","shallow-dY3TMRCk.js"]}