{"id":129611,"date":"2025-03-24T11:10:28","date_gmt":"2025-03-24T16:10:28","guid":{"rendered":"https:\/\/www.controleng.com\/?p=129611"},"modified":"2025-03-24T11:10:29","modified_gmt":"2025-03-24T16:10:29","slug":"practical-advice-for-automation-programmers","status":"publish","type":"post","link":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/","title":{"rendered":"Practical advice for automation programmers"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Practical advice for automation programmers insights<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore tips, tricks and best practices for controls and automation programming.<\/li>\n\n\n\n<li>Understand some instructors\u2019 best practices can advance controls and automation programming skills and increase your value.<\/li>\n\n\n\n<li>See the webcast for more advice: Register for the\u00a0<em>Control Engineering<\/em>\u00a0webcast, \u201cPractical advice for automation programmers,\u201d archived until March 26, 2026.<\/li>\n<\/ul>\n\n\n\n<p>Get \u201cPractical advice for automation programmers\u201d from <em>Control Engineering<\/em> in a March 26 webcast (archived for a year); webcast instructors provide programming advice for automation and programmable logic controllers (PLCs) below. The instructors are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Braden Hadwiger, mechanical engineer, <a href=\"https:\/\/huffmaneng.com\">Huffman Engineering Inc.<\/a><\/li>\n\n\n\n<li>Jason Israelsen, PE, senior control engineer, <a href=\"https:\/\/www.apco-inc.com\">APCO Inc.<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors-1024x575.jpg\" alt=\"Instructors for the \u201cPractical advice for automation programmers\u201d webcast from Control Engineering, March 26, also provide information here. The experts are Braden Hadwiger, mechanical engineer, Huffman Engineering Inc., and Jason Israelsen, PE, senior control engineer, APCO Inc. Courtesy: Control Engineering webcasts\" class=\"wp-image-129613\" srcset=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors-1024x575.jpg 1024w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors-300x168.jpg 300w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors-768x431.jpg 768w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors-900x506.jpg 900w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors-400x225.jpg 400w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg 1229w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Instructors for the \u201cPractical advice for automation programmers\u201d webcast from Control Engineering, March 26, also provide information here. The experts are Braden Hadwiger, mechanical engineer, Huffman Engineering Inc., and Jason Israelsen, PE, senior control engineer, APCO Inc. Courtesy: Control Engineering webcasts<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Tips, tricks and best practices on control system programming skills<\/h2>\n\n\n\n<p>Tips, tricks and best practices to hone your control system programming skills include programming for PLCs, programmable automation controllers (PACs), industrial PCs, embedded controllers and edge devices. IEC 61131-3 programming languages will be discussed, along with practical advice for making you and your teams more useful in your next controls and automation programming project. Control system programming experts aim to improve effectiveness of control system programming and automation programming projects.<\/p>\n\n\n\n<p>Israelsen, in discussing a generic table based on the principles of programming languages, noted that it can be misleading because it does not account for platform specifics. \u201cProcess Considerations\u201d are only one item of reference in choosing a programming language.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig1-IEC_61131-3-LanguageComparisons-1024x571.jpg\" alt=\"Figure 1: Discussing a generic table based on the principles of programming languages, Jason Israelsen, PE, senior control engineer, APCO Inc., noted that it can be misleading because it does not account for platform specifics. \u201cProcess Considerations\u201d are only one item of reference in choosing a programming language. Courtesy: Control Engineering webcasts\" class=\"wp-image-129614\" srcset=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig1-IEC_61131-3-LanguageComparisons-1024x571.jpg 1024w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig1-IEC_61131-3-LanguageComparisons-300x167.jpg 300w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig1-IEC_61131-3-LanguageComparisons-768x428.jpg 768w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig1-IEC_61131-3-LanguageComparisons.jpg 1434w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 1: Discussing a generic table based on the principles of programming languages, Jason Israelsen, PE, senior control engineer, APCO Inc., noted that it can be misleading because it does not account for platform specifics. \u201cProcess Considerations\u201d are only one item of reference in choosing a programming language. Courtesy: Control Engineering webcasts<\/figcaption><\/figure>\n\n\n\n<p>For instance, Israelsen said, also consider:<\/p>\n\n\n\n<p><strong>Licensing:<\/strong> Platforms may limit you based on the license you acquire. Licensing costs be weighted against features.<\/p>\n\n\n\n<p><strong>Interface:<\/strong> Even if your licensing gives you access to all the languages, certain platforms have developed the interface for certain languages more than others.<\/p>\n\n\n\n<p>Platform A may be intuitive and well-developed for Ladder Diagram (LD) and Sequential Function Chart (SFC), but not as much for Function Block Diagram (FBD).<\/p>\n\n\n\n<p>Platform B may be intuitive and well-developed FBD and Structured Text (ST), but not as much for LD.<\/p>\n\n\n\n<p><strong>Tools: <\/strong>Even if licensing provides access to all the languages, certain platforms have developed the tools and functions for certain languages more than others. One software might have a specific pulse function available in LD, but if you are developing in FBD that pulse function may be unavailable in FBD.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards-1024x576.jpg\" alt=\"Figure 2: The graphic shown on the screen is an example of a matching object tied to a function block located in the PLC created for a customer, explained Braden Hadwiger, mechanical engineer, Huffman Engineering Inc. This allows both PLC and HMI\/SCADA programming to be deployed much easier and faster and allows changes to be made to templates instead of individual instances. Courtesy: Control Engineering webcasts\" class=\"wp-image-129615\" srcset=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards-1024x576.jpg 1024w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards-300x169.jpg 300w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards-768x432.jpg 768w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards-900x506.jpg 900w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards-400x225.jpg 400w, https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig2-Using-standards.jpg 1317w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 2: The graphic shown on the screen is an example of a matching object tied to a function block located in the PLC created for a customer, explained Braden Hadwiger, mechanical engineer, Huffman Engineering Inc. This allows both PLC and HMI\/SCADA programming to be deployed much easier and faster and allows changes to be made to templates instead of individual instances. Courtesy: Control Engineering webcasts<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Programming standards for an organization can improve results<\/h2>\n\n\n\n<p>Hadwiger suggests creating a PLC standard for your facility. This can also be paired with a separate SCADA or HMI standard or can be part of a more comprehensive set of standards documents for your facility. Typically, a PLC standard includes information such as the type of hardware used, how to organize PLC programs, how tags are created, named and organized, and includes a reference for any pieces of custom code and how they operate and when they should be used.<\/p>\n\n\n\n<p>This type of document is useful as it builds uniformity across a facility making it easier to maintain, troubleshoot or make changes to PLC code. For example, if a PLC standard is used for organization of the PLC program, it becomes much easier to know where to look for issues when they arise no matter which part of your facility you are in. It also facilitates PLC code encapsulation and reuse reducing the time it takes to create new programs. It also makes it easier to train new staff as the different PLC programs use the same instructions and are organized in the same way.<\/p>\n\n\n\n<p>A PLC standard also can be used to create uniformity even when different PLC manufacturers are used, and it can be used with a SCADA or HMI standard to create visual elements corresponding with PLC instructions to speed up development and deployment time and can make it easier to troubleshoot when there are issues.<\/p>\n\n\n\n<p>Another programming practice is having a way to identify if a PLC tag has some sort of external access such as a setpoint that can be edited from an HMI as part of a standard, Hadwiger said. Typically, this is an identifier such as the area of the plant or which PLC it comes from and it included as part of the tag name.<\/p>\n\n\n\n<p><strong>Mark T. Hoske<\/strong> is editor-in-chief, <em>Control Engineering, <\/em>WTWH Media<em>,<\/em> <a href=\"mailto:mhoske@wtwhmedia.com\">mhoske@wtwhmedia.com<\/a>, and moderator for this webcast.<\/p>\n\n\n\n<p>CONSIDER THIS<\/p>\n\n\n\n<p>Are you getting all you need from one automation programming language, or are you using several?<\/p>\n\n\n\n<p>ONLINE<\/p>\n\n\n\n<p>Register for the <em>Control Engineering<\/em> webcast, \u201c<a href=\"https:\/\/gateway.on24.com\/wcc\/experience\/elitewtwhmedia\/2927718\/4673040\/ce.\">Practical advice for automation programmers<\/a>,\u201d archived until March 26, 2026.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Practical advice for automation programmers insights Get \u201cPractical advice for automation programmers\u201d from Control Engineering in a March 26 webcast (archived for a year); webcast instructors provide programming advice for automation and programmable logic controllers (PLCs) below. The instructors are: Tips, tricks and best practices on control system programming skills Tips, tricks and best practices [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":129613,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[107247],"tags":[110006,109340,110007,110008],"tracking-metrics":[],"display-location":[109353],"class_list":{"2":"type-post"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Practical advice for automation programmers - Control Engineering<\/title>\n<meta name=\"description\" content=\"Control Engineering&#039;s March 26 webcast instruction offers advice for automation programmers. Here&#039;s advice about programming automation and programmable logic controllers (PLCs).\" \/>\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.controleng.com\/practical-advice-for-automation-programmers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Practical advice for automation programmers - Control Engineering\" \/>\n<meta property=\"og:description\" content=\"Control Engineering&#039;s March 26 webcast instruction offers advice for automation programmers. Here&#039;s advice about programming automation and programmable logic controllers (PLCs).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/\" \/>\n<meta property=\"og:site_name\" content=\"Control Engineering\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ControlEngineeringMagazine\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-24T16:10:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-24T16:10:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1229\" \/>\n\t<meta property=\"og:image:height\" content=\"690\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sheri Kasprzak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@controlengtips\" \/>\n<meta name=\"twitter:site\" content=\"@controlengtips\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sheri Kasprzak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/\"},\"author\":{\"name\":\"Sheri Kasprzak\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/person\/95b2a8682c46f4ae90c170b265b9f5f8\"},\"headline\":\"Practical advice for automation programmers\",\"datePublished\":\"2025-03-24T16:10:28+00:00\",\"dateModified\":\"2025-03-24T16:10:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/\"},\"wordCount\":885,\"publisher\":{\"@id\":\"https:\/\/www.controleng.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg\",\"keywords\":[\"APCO\",\"control engineering\",\"Huffman Engineering\",\"system integrators\"],\"articleSection\":[\"Automation\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/\",\"url\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/\",\"name\":\"Practical advice for automation programmers - Control Engineering\",\"isPartOf\":{\"@id\":\"https:\/\/www.controleng.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg\",\"datePublished\":\"2025-03-24T16:10:28+00:00\",\"dateModified\":\"2025-03-24T16:10:29+00:00\",\"description\":\"Control Engineering's March 26 webcast instruction offers advice for automation programmers. Here's advice about programming automation and programmable logic controllers (PLCs).\",\"breadcrumb\":{\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage\",\"url\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg\",\"contentUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg\",\"width\":1229,\"height\":690,\"caption\":\"Courtesy: Control Engineering webcasts\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.controleng.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Practical advice for automation programmers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.controleng.com\/#website\",\"url\":\"https:\/\/www.controleng.com\/\",\"name\":\"Control Engineering\",\"description\":\"Control Engineering covers and educates about automation, control and instrumentation technologies\",\"publisher\":{\"@id\":\"https:\/\/www.controleng.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.controleng.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.controleng.com\/#organization\",\"name\":\"Control Engineering\",\"url\":\"https:\/\/www.controleng.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png\",\"contentUrl\":\"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png\",\"width\":300,\"height\":93,\"caption\":\"Control Engineering\"},\"image\":{\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/ControlEngineeringMagazine\",\"https:\/\/x.com\/controlengtips\",\"https:\/\/www.linkedin.com\/company\/control-engineering-magazine\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/person\/95b2a8682c46f4ae90c170b265b9f5f8\",\"name\":\"Sheri Kasprzak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.controleng.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6f6306210094147bb5c7004260197732685a63f208a811b2a6ad548e4152a5e2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6f6306210094147bb5c7004260197732685a63f208a811b2a6ad548e4152a5e2?s=96&d=mm&r=g\",\"caption\":\"Sheri Kasprzak\"},\"url\":\"https:\/\/www.controleng.com\/author\/sheri-kasprzak\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Practical advice for automation programmers - Control Engineering","description":"Control Engineering's March 26 webcast instruction offers advice for automation programmers. Here's advice about programming automation and programmable logic controllers (PLCs).","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.controleng.com\/practical-advice-for-automation-programmers\/","og_locale":"en_US","og_type":"article","og_title":"Practical advice for automation programmers - Control Engineering","og_description":"Control Engineering's March 26 webcast instruction offers advice for automation programmers. Here's advice about programming automation and programmable logic controllers (PLCs).","og_url":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/","og_site_name":"Control Engineering","article_publisher":"https:\/\/www.facebook.com\/ControlEngineeringMagazine","article_published_time":"2025-03-24T16:10:28+00:00","article_modified_time":"2025-03-24T16:10:29+00:00","og_image":[{"width":1229,"height":690,"url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg","type":"image\/jpeg"}],"author":"Sheri Kasprzak","twitter_card":"summary_large_image","twitter_creator":"@controlengtips","twitter_site":"@controlengtips","twitter_misc":{"Written by":"Sheri Kasprzak","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#article","isPartOf":{"@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/"},"author":{"name":"Sheri Kasprzak","@id":"https:\/\/www.controleng.com\/#\/schema\/person\/95b2a8682c46f4ae90c170b265b9f5f8"},"headline":"Practical advice for automation programmers","datePublished":"2025-03-24T16:10:28+00:00","dateModified":"2025-03-24T16:10:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/"},"wordCount":885,"publisher":{"@id":"https:\/\/www.controleng.com\/#organization"},"image":{"@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg","keywords":["APCO","control engineering","Huffman Engineering","system integrators"],"articleSection":["Automation"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/","url":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/","name":"Practical advice for automation programmers - Control Engineering","isPartOf":{"@id":"https:\/\/www.controleng.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage"},"image":{"@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg","datePublished":"2025-03-24T16:10:28+00:00","dateModified":"2025-03-24T16:10:29+00:00","description":"Control Engineering's March 26 webcast instruction offers advice for automation programmers. Here's advice about programming automation and programmable logic controllers (PLCs).","breadcrumb":{"@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#primaryimage","url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg","contentUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/03\/CTL2503_WEB_WC_ProgrammingTips-Preview-Fig3-Instructors.jpg","width":1229,"height":690,"caption":"Courtesy: Control Engineering webcasts"},{"@type":"BreadcrumbList","@id":"https:\/\/www.controleng.com\/practical-advice-for-automation-programmers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.controleng.com\/"},{"@type":"ListItem","position":2,"name":"Practical advice for automation programmers"}]},{"@type":"WebSite","@id":"https:\/\/www.controleng.com\/#website","url":"https:\/\/www.controleng.com\/","name":"Control Engineering","description":"Control Engineering covers and educates about automation, control and instrumentation technologies","publisher":{"@id":"https:\/\/www.controleng.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.controleng.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.controleng.com\/#organization","name":"Control Engineering","url":"https:\/\/www.controleng.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png","contentUrl":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/12\/ce_logo.png","width":300,"height":93,"caption":"Control Engineering"},"image":{"@id":"https:\/\/www.controleng.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ControlEngineeringMagazine","https:\/\/x.com\/controlengtips","https:\/\/www.linkedin.com\/company\/control-engineering-magazine\/"]},{"@type":"Person","@id":"https:\/\/www.controleng.com\/#\/schema\/person\/95b2a8682c46f4ae90c170b265b9f5f8","name":"Sheri Kasprzak","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.controleng.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6f6306210094147bb5c7004260197732685a63f208a811b2a6ad548e4152a5e2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6f6306210094147bb5c7004260197732685a63f208a811b2a6ad548e4152a5e2?s=96&d=mm&r=g","caption":"Sheri Kasprzak"},"url":"https:\/\/www.controleng.com\/author\/sheri-kasprzak\/"}]}},"_links":{"self":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/posts\/129611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/comments?post=129611"}],"version-history":[{"count":0,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/posts\/129611\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/media\/129613"}],"wp:attachment":[{"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/media?parent=129611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/categories?post=129611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/tags?post=129611"},{"taxonomy":"tracking-metric","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/tracking-metrics?post=129611"},{"taxonomy":"display-location","embeddable":true,"href":"https:\/\/www.controleng.com\/wp-json\/wp\/v2\/display-location?post=129611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}