{"id":14693,"date":"2019-04-03T00:00:00","date_gmt":"2019-04-03T00:00:00","guid":{"rendered":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/"},"modified":"2025-07-17T15:58:23","modified_gmt":"2025-07-17T20:58:23","slug":"function-block-diagram-programming-for-plasma-treater","status":"publish","type":"our_work","link":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/","title":{"rendered":"Function Block Diagram Programming for Plasma Treater"},"content":{"rendered":"\n<p>The client reached out to DMC for aid in developing code for a plasma treater used in the creation of cardboard beverage containers. The client\u2019s programming standards documentation specified the need to implement all code in Function Block Diagramming (FBD). As a result, DMC programmed both the standard operational logic and safety logic using FBD.&nbsp;<\/p>\n\n\n\n<p>FBD is a method of programming that compartmentalizes and hides code within boxes called function blocks. These function blocks display only the inputs and outputs of the compartmentalized function and can be implemented repeatedly throughout a larger program.<\/p>\n\n\n\n<p><span style=\"font-size:larger;\"><strong>Benefits of using FBD code:<\/strong><\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Function blocks can be more intuitive for those with electronic\/computer science background as FBDs are comparable to logic gates<\/li>\n\n\n\n<li>FBDs be much more compact than a ladder for logic with lots of components<\/li>\n\n\n\n<li>FBDs allow for compartmentalizing complex code into a simple visual block<\/li>\n\n\n\n<li>FBDs enable users to modify repeated code within blocks only once; changes to a function block propagate to all instances of the function block<\/li>\n<\/ul>\n\n\n\n<p><span style=\"font-size:larger;\"><strong>Drawbacks of using FBD code:<\/strong><\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FBDs can be unfamiliar, and therefore more confusing, for developers or maintenance staff as ladder is generally a more commonly-used programming language\n \n \n<ul class=\"wp-block-list\">\n<li>NOT nodes are especially small and can be easy to overlook<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Compared to ladder, FBD can be less intuitive for those with electrical backgrounds as ladder logic is based on circuit diagramming for relay logic<\/li>\n\n\n\n<li>Like Ladder Logic, FBDs don\u2019t support complex math sequences or functions\n \n \n<ul class=\"wp-block-list\">\n<li>Structured text is more useful for this<\/li>\n\n\n\n<li>With that said, structured text is supported when programming in FBD<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><span style=\"font-size:larger;\"><strong>&#8220;AND&#8221; and &#8220;OR&#8221; Operations in Ladder Logic vs. FBD<\/strong><\/span><\/p>\n\n\n\n<p><img decoding=\"async\" alt=\"FBD vs ladder\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165836\/FBDvsLADDER-AND-OR-1-resized.png\"><img decoding=\"async\" alt=\"FBS vs. Logic\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165836\/FBDvsLADDER-Example-2-Resized.png\"><\/p>\n\n\n\n<p>In addition to programming in FBD, other considerations DMC took into account were:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I-Device communication<\/li>\n\n\n\n<li>Safety programming<\/li>\n<\/ul>\n\n\n\n<p>The plasma treater we were programming was only one step in a much larger operation. As a result, the treater\u2019s PLC served as a slave to a master PLC that controlled the overall system process. DMC configured I-Device Communication between the two units utilizing a PNP coupler to allow signals to pass from slave to master and vice-versa.<\/p>\n\n\n\n<p>The plasma treater project marked the first time DMC\u2019s clients had utilized failsafe logic in their products. DMC was able to provide insight on best safety practices and Siemens-specific safety concepts to our clients. Specifically, DMC successfully incorporated logic that allowed for safety bypass modes when the plasma treater needed to undergo maintenance.<\/p>\n\n\n\n<p>Learn more about DMC&#8217;s work in the <a href=\"https:\/\/www.dmcinfo.com\/industries\/food-and-beverage\/\">Food and Beverage Industry<\/a>&nbsp;and our&nbsp;<a href=\"\/services\/manufacturing-automation-and-intelligence\">Manufacturing Automation and Intelligence Services<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The client reached out to DMC for aid in developing code for a plasma treater used in the creation of cardboard beverage containers. The client\u2019s programming standards documentation specified the need to implement all code in Function Block Diagramming (FBD). As a result, DMC programmed both the standard operational logic and safety logic using FBD.&nbsp; [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":14690,"template":"","meta":{"customer":"Bevco Engineering","summary":"<p>DMC utilized Function Block Diagram (FBD) logic to write both operational and safety logic for a plasma treater used in the label printing process of cardboard beverage containers. FBD is a style of PLC programming that has a different graphical interface from the more commonly-used ladder logic. The differences between these two programming styles will be addressed later in the case study.&nbsp;<\/p>\r\n","description":"","customer_benefits":"<ul>\r\n <li>Ensures continuity between all of the client&rsquo;s machine programs<\/li>\r\n <li>Provides seamless communication between the plasma treater and all the other machines within the larger process line<\/li>\r\n <li>Allows the client to maintain the machine&rsquo;s code more easily<\/li>\r\n <li>Empowers the client to implement upgrades to their system as needed smoothly<\/li>\r\n <li>Prevents the client from having to learn and adapt to an unfamiliar code style<\/li>\r\n<\/ul>\r\n","components_used":"<ul>\r\n <li><a href=\"https:\/\/www.dmcinfo.com\/services\/manufacturing-automation-and-intelligence\/plc-programming\/siemens-s7-plc-programming\/\">TIA Portal V15<\/a><\/li>\r\n <li><a href=\"\/services\/manufacturing-automation-and-intelligence\/plc-programming\/siemens-s7-plc-programming\">Siemens 1500 Safety PLC<\/a> (CPU 1515F-2 PN)<\/li>\r\n <li>ET200 Remote I\/O (IM 155-6 PN ST)<\/li>\r\n <li>TP 1200 Comfort Panel&nbsp;<\/li>\r\n <li><a href=\"\/services\/manufacturing-automation-and-intelligence\/motion-control-engineering-and-servo-systems\/siemens-simotion-programming\">SINAMICS<\/a> S120 Drive (SINAMICS S120 CU310-2 PN V4.8)<\/li>\r\n <li>I-Device communication<\/li>\r\n<\/ul>\r\n","project":"Tetra Pak Plasma Treating Programming ","author":"Nick Leisle","notes":""},"work_category":[696,695,680,713,681,718,682],"class_list":["post-14693","our_work","type-our_work","status-publish","has-post-thumbnail","hentry","work_category-food-and-beverage","work_category-hmi-and-scada","work_category-manufacturing-automation-and-intelligence","work_category-packaging-machinery-programming","work_category-plc-programming","work_category-printing","work_category-siemens-plc"],"yoast_head":"<title>Function Block Diagram Programming for Plasma Treater | DMC, Inc.<\/title>\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\/our-work\/function-block-diagram-programming-for-plasma-treater\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Function Block Diagram Programming for Plasma Treater\" \/>\n<meta property=\"og:description\" content=\"The client reached out to DMC for aid in developing code for a plasma treater used in the creation of cardboard beverage containers. The client\u2019s programming standards documentation specified the need to implement all code in Function Block Diagramming (FBD). As a result, DMC programmed both the standard operational logic and safety logic using FBD.&nbsp; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/\" \/>\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:modified_time\" content=\"2025-07-17T20:58:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png\" \/>\n\t<meta property=\"og:image:width\" content=\"230\" \/>\n\t<meta property=\"og:image:height\" content=\"230\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/\",\"url\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/\",\"name\":\"Function Block Diagram Programming for Plasma Treater | DMC, Inc.\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png\",\"datePublished\":\"2019-04-03T00:00:00+00:00\",\"dateModified\":\"2025-07-17T20:58:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#primaryimage\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png\",\"width\":230,\"height\":230,\"caption\":\"sinamics driver\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Work\",\"item\":\"https:\/\/www.dmcinfo.com\/our-work\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Function Block Diagram Programming for Plasma Treater\"}]},{\"@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\"]}]}<\/script>","yoast_head_json":{"title":"Function Block Diagram Programming for Plasma Treater | DMC, Inc.","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\/our-work\/function-block-diagram-programming-for-plasma-treater\/","og_locale":"en_US","og_type":"article","og_title":"Function Block Diagram Programming for Plasma Treater","og_description":"The client reached out to DMC for aid in developing code for a plasma treater used in the creation of cardboard beverage containers. The client\u2019s programming standards documentation specified the need to implement all code in Function Block Diagramming (FBD). As a result, DMC programmed both the standard operational logic and safety logic using FBD.&nbsp; [&hellip;]","og_url":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/","og_site_name":"DMC, Inc.","article_publisher":"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","article_modified_time":"2025-07-17T20:58:23+00:00","og_image":[{"width":230,"height":230,"url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/","url":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/","name":"Function Block Diagram Programming for Plasma Treater | DMC, Inc.","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#primaryimage"},"image":{"@id":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png","datePublished":"2019-04-03T00:00:00+00:00","dateModified":"2025-07-17T20:58:23+00:00","breadcrumb":{"@id":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#primaryimage","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165837\/unnamed-file-73.png","width":230,"height":230,"caption":"sinamics driver"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dmcinfo.com\/our-work\/function-block-diagram-programming-for-plasma-treater\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Work","item":"https:\/\/www.dmcinfo.com\/our-work\/"},{"@type":"ListItem","position":2,"name":"Function Block Diagram Programming for Plasma Treater"}]},{"@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"]}]}},"_links":{"self":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/our_work\/14693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/our_work"}],"about":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/types\/our_work"}],"author":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/users\/8"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media\/14690"}],"wp:attachment":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media?parent=14693"}],"wp:term":[{"taxonomy":"work_category","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/work_category?post=14693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}