Router, camera system used to enhance billboards

Moxa partnered with Media Resources on a project to improve the reliability of billboards with a router and managed switch that allow for constant surveillance and updates of any potential problems.

Media Resources, which specializes in large-format digital displays such as billboards and video scoreboards, partnered with Moxa Americas Inc. to improve the reliability of their control systems. The requirements for the project and upgrade included:

  • Minimal downtime. A downtime of over 10 seconds (contiguously) can result in lost revenue.
  • Remote diagnostics and ability to remotely monitor and cycle internal components from off-site.
  • Ultra-high network security, with VPN access.
  • Webcam monitoring. One webcam should be able to view a 14 ft x 48 ft billboard from the shortest distance away possible.

Moxa and Media Resources engineers worked together to overhaul the control system with a focus on reliability, redundancy, and self-monitoring. A Moxa remote I/O unit, the ioLogik E1214, monitored the performance of all components on a constant basis.

If an error is detected, the unit is able to automatically cycle the component. If the error persists, a Moxa all-in-one router and managed switch, the EDR-810, allows a technician to remotely and securely create a VPN tunnel to remotely assess the situation, with the assistance of a Moxa IP camera, the VPort P06-M12-CAM25. Moxa’s router and managed switch allows Media Resources to grant access of the IP camera to clients who wish to personally monitor the products they have purchased from the company. The bulletproof enclosure and extra-wide angle lens allow for high resolution video images regardless of where the billboards is installed, which can capture extra large signage products up to 50 ft wide from as close as 8 ft away.

Moxa Americas Inc.

Moxa – Your Trusted Partner in Automation –>
<br /> Moxa – Your Trusted Partner in Automation</a> </p> <p>– Edited by CFE Media. See more <i>Control Engineering</i> <a href="https://www.controleng.com/control-systems/plm-control-design/" target="cfeTarget" rel="noopener noreferrer">PLM and control design stories</a>.</p> </div> </article> <div class="after-entry"> </div> </main> <aside class="sidebar sidebar--primary" role="complementary"><div class="wd-shared-counts"><div class="wd-shared-counts__inner"><span class="wd-shared-counts__label"><svg xmlns="http://www.w3.org/2000/svg" fill="none" width="40" height="40" viewBox="0 0 48 48" aria-hidden="true" focusable="false"><path fill="#fff" d="M13 21.6 7 18l-6 3.6v7L7 32l6-3.4v-7ZM45 36.6 39 33l-6 3.6v7l6 3.4 6-3.4v-7ZM45 6.4 39 3l-6 3.4v7l6 3.6 6-3.6v-7Z"/><path fill="#008AD8" fill-opacity=".2" d="m33 43.6 6 3.4 6-3.4v-7l-12 7ZM1 28.6 7 32l6-3.4v-7l-12 7ZM33 13.4l6 3.6 6-3.6v-7l-12 7Z"/><path fill="#008AD8" fill-rule="evenodd" d="M6.486 17.142a1 1 0 0 1 1.029 0l6 3.6A1 1 0 0 1 14 21.6v7a1 1 0 0 1-.507.87l-6 3.4a1 1 0 0 1-.986 0l-6-3.4A1 1 0 0 1 0 28.6v-7a1 1 0 0 1 .486-.858l6-3.6ZM2 22.166v5.851l5 2.834 5-2.834v-5.85l-5-3-5 3ZM38.486 32.142a1 1 0 0 1 1.029 0l6 3.6A1 1 0 0 1 46 36.6v7a1 1 0 0 1-.507.87l-6 3.4a1 1 0 0 1-.986 0l-6-3.4A1 1 0 0 1 32 43.6v-7a1 1 0 0 1 .486-.858l6-3.6ZM34 37.166v5.851l5 2.834 5-2.834v-5.85l-5-3-5 3Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M33.925 13.02a1 1 0 0 1-.546 1.305l-20 8.2a1 1 0 0 1-.758-1.85l20-8.2a1 1 0 0 1 1.304.546ZM12.072 28.229a1 1 0 0 1 1.3-.557l20 8a1 1 0 0 1-.743 1.857l-20-8a1 1 0 0 1-.557-1.3Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M38.507 2.13a1 1 0 0 1 .986 0l6 3.4A1 1 0 0 1 46 6.4v7a1 1 0 0 1-.486.857l-6 3.6a1 1 0 0 1-1.029 0l-6-3.6A1 1 0 0 1 32 13.4v-7a1 1 0 0 1 .507-.87l6-3.4ZM34 6.983v5.85l5 3 5-3v-5.85l-5-2.834-5 2.834Z" clip-rule="evenodd"/></svg></span><div class="shared-counts-wrap style-icon"><a href="https://www.facebook.com/sharer/sharer.php?u=https://www.controleng.com/router-camera-system-used-to-enhance-billboards/&display=popup&ref=plugin&src=share_button" title="Share on Facebook" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button facebook shared-counts-no-count" data-postid="100173" data-social-network="Facebook" data-social-action="Share" data-social-target="https://www.controleng.com/router-camera-system-used-to-enhance-billboards/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18.8125" height="32" viewBox="0 0 602 1024"><path d="M548 6.857v150.857h-89.714q-49.143 0-66.286 20.571t-17.143 61.714v108h167.429l-22.286 169.143h-145.143v433.714h-174.857v-433.714h-145.714v-169.143h145.714v-124.571q0-106.286 59.429-164.857t158.286-58.571q84 0 130.286 6.857z"></path></svg></span><span class="shared-counts-label">Facebook</span></span></a><a href="https://twitter.com/share?url=https://www.controleng.com/router-camera-system-used-to-enhance-billboards/&text=Router%2C%20camera%20system%20used%20to%20enhance%20billboards" title="Share on Twitter" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button twitter shared-counts-no-count" data-postid="100173" data-social-network="Twitter" data-social-action="Tweet" data-social-target="https://www.controleng.com/router-camera-system-used-to-enhance-billboards/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13.8944 10.4695L21.3345 2H19.5716L13.1085 9.35244L7.95022 2H1.99936L9.80147 13.1192L1.99936 22H3.76218L10.5832 14.2338L16.0318 22H21.9827L13.8944 10.4695ZM11.4792 13.2168L10.6875 12.1089L4.39789 3.30146H7.10594L12.1833 10.412L12.9717 11.5199L19.5708 20.7619H16.8628L11.4792 13.2168Z" /></svg></span><span class="shared-counts-label">Tweet</span></span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.controleng.com/router-camera-system-used-to-enhance-billboards/" title="Share on LinkedIn" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button linkedin shared-counts-no-count" data-postid="100173" data-social-network="LinkedIn" data-social-action="Share" data-social-target="https://www.controleng.com/router-camera-system-used-to-enhance-billboards/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="27.4375" height="32" viewBox="0 0 878 1024"><path d="M199.429 357.143v566.286h-188.571v-566.286h188.571zM211.429 182.286q0.571 41.714-28.857 69.714t-77.429 28h-1.143q-46.857 0-75.429-28t-28.571-69.714q0-42.286 29.429-70t76.857-27.714 76 27.714 29.143 70zM877.714 598.857v324.571h-188v-302.857q0-60-23.143-94t-72.286-34q-36 0-60.286 19.714t-36.286 48.857q-6.286 17.143-6.286 46.286v316h-188q1.143-228 1.143-369.714t-0.571-169.143l-0.571-27.429h188v82.286h-1.143q11.429-18.286 23.429-32t32.286-29.714 49.714-24.857 65.429-8.857q97.714 0 157.143 64.857t59.429 190z"></path></svg></span><span class="shared-counts-label">LinkedIn</span></span></a><a href="https://www.reddit.com/submit?url=https://www.controleng.com/router-camera-system-used-to-enhance-billboards/" title="Share on Reddit" target="_blank" rel="nofollow noopener noreferrer" class="shared-counts-button reddit shared-counts-no-count" data-postid="100173" data-social-network="Reddit" data-social-action="Share" data-social-target="https://www.controleng.com/router-camera-system-used-to-enhance-billboards/"><span class="shared-counts-icon-label"><span class="shared-counts-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="16px" width="16px"><path d="M373 138.6c-25.2 0-46.3-17.5-51.9-41l0 0c-30.6 4.3-54.2 30.7-54.2 62.4l0 .2c47.4 1.8 90.6 15.1 124.9 36.3c12.6-9.7 28.4-15.5 45.5-15.5c41.3 0 74.7 33.4 74.7 74.7c0 29.8-17.4 55.5-42.7 67.5c-2.4 86.8-97 156.6-213.2 156.6S45.5 410.1 43 323.4C17.6 311.5 0 285.7 0 255.7c0-41.3 33.4-74.7 74.7-74.7c17.2 0 33 5.8 45.7 15.6c34-21.1 76.8-34.4 123.7-36.4l0-.3c0-44.3 33.7-80.9 76.8-85.5C325.8 50.2 347.2 32 373 32c29.4 0 53.3 23.9 53.3 53.3s-23.9 53.3-53.3 53.3zM157.5 255.3c-20.9 0-38.9 20.8-40.2 47.9s17.1 38.1 38 38.1s36.6-9.8 37.8-36.9s-14.7-49.1-35.7-49.1zM395 303.1c-1.2-27.1-19.2-47.9-40.2-47.9s-36.9 22-35.7 49.1c1.2 27.1 16.9 36.9 37.8 36.9s39.3-11 38-38.1zm-60.1 70.8c1.5-3.6-1-7.7-4.9-8.1c-23-2.3-47.9-3.6-73.8-3.6s-50.8 1.3-73.8 3.6c-3.9 .4-6.4 4.5-4.9 8.1c12.9 30.8 43.3 52.4 78.7 52.4s65.8-21.6 78.7-52.4z"/></svg></span><span class="shared-counts-label">Reddit</span></span></a></div></div></div> <div class="sidebar-author"> <a class="author-box author-box--sidebar" href="https://www.controleng.com/cfe_author/moxa-americas-inc/"><div class="author-box__content-wrap"><span class="author-box__leader">Written by</span><h4 class="author-box__title has-font-size-8-font-size">Moxa Americas Inc</h4><div class="author-box__content"></div></div></a> </div> <div class="sidebar-adspace-top"> <span> <div id='div-gpt-controleng_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom'); }); </script> </div> </span> </div> <div class="loop-wrapper-sidebar"> <h2 class="has-font-size-6-font-size">more news</h2> <article class="loop-item loop-item--sidebar"> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-4-font-size"> <a href="https://www.controleng.com/process-modeling-feedback-controllers/"> Seeking the value in APC and ARC for industrial control problems </a> </h3> </div> </article> <article class="loop-item loop-item--sidebar"> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-4-font-size"> <a href="https://www.controleng.com/10-ways-to-digitize-an-analog-control-room-by-changing-the-analog-meters/"> 10 ways to digitize an analog control room by changing the analog meters </a> </h3> </div> </article> <article class="loop-item loop-item--sidebar"> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-4-font-size"> <a href="https://www.controleng.com/best-practices-matter-when-designing-control-systems/"> Best practices matter when designing control systems </a> </h3> </div> </article> </div> <div class="sidebar__sponsored-content"> <div class="sidebar__sponsored-content-item"> <div id='div-gpt-controleng_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebar1'); }); </script> </div> </div> <div class="sidebar__sponsored-content-item"> <div id='div-gpt-controleng_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom'); }); </script> </div> </div> </div> <div class="block-area block-area-sidebar"> <div id="media-space-block_c3159ea00ac2a01e40d8eb79ec4eaa33" class="acf-block block-adspace type-custom-script layout-default"> <span> <div id='div-gpt-controleng_sidebarbottom2'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom2'); }); </script> </div> </span> </div> <div id="block-c55068be83de6a08061ac9533687ab37" class="acf-block block-email-subscribe block-email-subscribe--sidebar-layout" style="margin-top:var(--wp--preset--spacing--medium);margin-bottom:var(--wp--preset--spacing--medium);"> <div class="block-email-subscribe__innerBlocks acf-inner-blocks-container"> <div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-1 wp-block-group-is-layout-constrained" style="padding-top:0;padding-right:0;padding-bottom:0;padding-left:0"> <p class="has-secondary-color has-text-color has-secondary-font-font-family has-font-size-4-font-size" style="font-weight:800;text-transform:uppercase">Stay in the know</p> <h2 class="wp-block-heading">Subscribe to the controleng.com Newsletter</h2> </div> </div> <div class="block-email-subscribe__form"> <script type="text/javascript"></script> <div class='gf_browser_unknown gform_wrapper gravity-theme gform-theme--no-framework styled-labels_wrapper' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_5' ><form method='post' enctype='multipart/form-data' id='gform_5' class='styled-labels' action='/router-camera-system-used-to-enhance-billboards/' data-formid='5' novalidate> <input type='hidden' class='gforms-pum' value='{"closepopup":false,"closedelay":0,"openpopup":false,"openpopup_id":0}' /> <div class='gform-body gform_body'><div id='gform_fields_5' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_5_3" class="gfield gfield--type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" data-js-reload="field_5_3" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_5_3'>Submission URL</label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_5_3' type='text' value='https://www.controleng.com/router-camera-system-used-to-enhance-billboards/' class='large' aria-invalid="false" /></div></div><div id="field_5_1" class="gfield gfield--type-email gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible gfield_email_wrap" data-field-class="gfield_email_wrap" data-js-reload="field_5_1" ><label class='gfield_label gform-field-label' for='input_5_1'>Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_5_1' type='email' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_5_4" class="gfield gfield--type-text field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" data-js-reload="field_5_4" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_5_4'>Primary Cat</label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_5_4' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_5_5" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gfield_honeypot_wrap" data-field-class="gfield_honeypot_wrap" data-js-reload="field_5_5" ><label class='gfield_label gform-field-label' for='input_5_5'>Email</label><div class='ginput_container'><input name='input_5' id='input_5_5' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_5_5'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform-footer gform_footer top_label'> <button type="submit" id="gform_submit_button_5" class="gform_button button" onclick="gform.submission.handleButtonClick(this);">Subscribe Now</button> <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_5' value='postback' /> <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_5' id='gform_theme_5' value='gravity-theme' /> <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_5' id='gform_style_settings_5' value='' /> <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='5' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjY2NGFiY2JiYzY3MmNmZTRlNTIwZTkwMGI1NTA1ODcwIl0=' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script> gform.initializeOnLoaded( function() {gformInitSpinner( 5, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_5').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_5');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_5').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [5, current_page]);window['gf_submitting_5'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [5]);window['gf_submitting_5'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "5", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_5" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_5"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_5" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [5, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 5, currentPage: current_page } } ); gform.utils.trigger( { event: 'gform/post_render', native: false, data: { formId: 5, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); </script> </div> </div> <div id="media-space-block_e78dc5a51f6c4182491f190a79dbdd63" class="acf-block block-adspace type-global layout-default"> <span> <div id='div-gpt-controleng_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_sidebarbottom'); }); </script> </div> </span> </div> <div id="div-gpt-controleng_sidebarbottom_skyscraper"> <script> googletag.cmd.push(function() { googletag.display("div-gpt-controleng_sidebarbottom_skyscraper"); }); </script> </div> </div></aside> </div> </div> <div class="single-related-posts"> <h2>you might also like</h2> <div class="loop-wrapper"> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/integrated-design-software-lowers-costs-adds-flexibility/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTL2008_MAG1_TU_Digitalization-Siemens-x1-ByeAerospaceElectricPlane-400x225.png" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="Courtesy: Siemens Digital Industries Software" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/integrated-design-software-lowers-costs-adds-flexibility/"> Integrated design software lowers costs, adds flexibility </a> </h3> <p class="loop-item__article-date"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="16" height="16" viewBox="0 0 48 48"><path fill="#fff" d="M44 7H4v40h40V7Z"/><path fill="#008AD8" fill-opacity=".2" d="M44 19H4v4h40v-4ZM24 23H14v8h10v-8ZM44 39H34v8h10v-8Z"/><path fill="#008AD8" fill-rule="evenodd" d="M3 7a1 1 0 0 1 1-1h40a1 1 0 0 1 1 1v40a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Zm2 1v38h38V8H5Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M12 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM36 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM3 23a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 39a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 31a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M14 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM24 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM34 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1Z" clip-rule="evenodd"/></svg> August 9, 2020 </p> </div> </article> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/process-control-safety-and-compliance-advice/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTLxIcon_instrum_process_17-400x225.jpg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="Courtesy: CFE Media" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/process-control-safety-and-compliance-advice/"> Process control safety and compliance advice </a> </h3> <p class="loop-item__article-date"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="16" height="16" viewBox="0 0 48 48"><path fill="#fff" d="M44 7H4v40h40V7Z"/><path fill="#008AD8" fill-opacity=".2" d="M44 19H4v4h40v-4ZM24 23H14v8h10v-8ZM44 39H34v8h10v-8Z"/><path fill="#008AD8" fill-rule="evenodd" d="M3 7a1 1 0 0 1 1-1h40a1 1 0 0 1 1 1v40a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Zm2 1v38h38V8H5Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M12 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM36 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM3 23a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 39a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 31a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M14 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM24 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM34 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1Z" clip-rule="evenodd"/></svg> August 25, 2018 </p> </div> </article> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/choosing-between-a-sectional-or-monoblock-valve/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/CTL2104_WEB_IMG_Sayles_Process-Slider-2-400x225.jpg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="Image courtesy: Brett Sayles" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/choosing-between-a-sectional-or-monoblock-valve/"> Choosing between a sectional or monoblock valve </a> </h3> <p class="loop-item__article-date"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="16" height="16" viewBox="0 0 48 48"><path fill="#fff" d="M44 7H4v40h40V7Z"/><path fill="#008AD8" fill-opacity=".2" d="M44 19H4v4h40v-4ZM24 23H14v8h10v-8ZM44 39H34v8h10v-8Z"/><path fill="#008AD8" fill-rule="evenodd" d="M3 7a1 1 0 0 1 1-1h40a1 1 0 0 1 1 1v40a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Zm2 1v38h38V8H5Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M12 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM36 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM3 23a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 39a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 31a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M14 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM24 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM34 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1Z" clip-rule="evenodd"/></svg> August 14, 2018 </p> </div> </article> <article class="loop-item"> <div class="loop-item__thumbnail"> <a href="https://www.controleng.com/focusing-on-controller-choice-lean/" tabindex="-1"> <img width="400" height="225" src="https://www.controleng.com/wp-content/uploads/2024/11/AAM1808_MAG_controller_type_AD_Fig-1-400x225.jpg" class="attachment-e-thubmnail size-e-thubmnail wp-post-image" alt="" decoding="async" loading="lazy" /> </a> </div> <div class="loop-item__content"> <div class="loop-item__categories"><p class="has-font-size-1-font-size"><a href="https://www.controleng.com/plm-control-design/" class="loop-item__categories-link has-inline-color">PLM, Control Design</a></p></div> <h3 class="loop-item__title has-font-size-7-font-size"> <a href="https://www.controleng.com/focusing-on-controller-choice-lean/"> Focusing on controller choice, Lean </a> </h3> <p class="loop-item__article-date"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="16" height="16" viewBox="0 0 48 48"><path fill="#fff" d="M44 7H4v40h40V7Z"/><path fill="#008AD8" fill-opacity=".2" d="M44 19H4v4h40v-4ZM24 23H14v8h10v-8ZM44 39H34v8h10v-8Z"/><path fill="#008AD8" fill-rule="evenodd" d="M3 7a1 1 0 0 1 1-1h40a1 1 0 0 1 1 1v40a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Zm2 1v38h38V8H5Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M12 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM36 2a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM3 23a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 39a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1ZM3 31a1 1 0 0 1 1-1h40a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Z" clip-rule="evenodd"/><path fill="#008AD8" fill-rule="evenodd" d="M14 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM24 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1ZM34 22a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V23a1 1 0 0 1 1-1Z" clip-rule="evenodd"/></svg> August 12, 2018 </p> </div> </article> </div> </div> <div class="block-area block-area-before-footer"> <div id="media-space-block_11d185941c2687798ac0f0a064d350e0" class="acf-block block-adspace type-custom-script layout-default"> <span> <center><div id='div-gpt-controleng_largeleader_bottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_largeleader_bottom'); }); </script> </div></center> </span> </div> <div id="block-3004e78edfcab71c74f4ca4fd58272e4" class="acf-block block-email-subscribe above-footer-cta" style="margin-top:80px;margin-bottom:0px;"> <div class="block-email-subscribe__innerBlocks acf-inner-blocks-container"> <div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-2 wp-block-group-is-layout-constrained" style="padding-top:0;padding-right:0;padding-bottom:0;padding-left:0"> <p class="has-secondary-color has-text-color has-secondary-font-font-family has-font-size-4-font-size" style="font-weight:800;text-transform:uppercase">Stay in the know</p> <h2 class="wp-block-heading">Get the newsletter</h2> </div> </div> <img decoding="async" class="block-email-subscribe__icon" src="https://www.controleng.com/wp-content/themes/control-eng-2024/assets/images/icons/e-icon-newsletter.svg" width="160px" height="160px" alt="ControlEngineering.com Newsletter Icon"> <div class="block-email-subscribe__form"> <div class='gf_browser_unknown gform_wrapper gravity-theme gform-theme--no-framework styled-labels_wrapper' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_8' ><form method='post' enctype='multipart/form-data' id='gform_8' class='styled-labels' action='/router-camera-system-used-to-enhance-billboards/' data-formid='8' novalidate> <input type='hidden' class='gforms-pum' value='{"closepopup":false,"closedelay":0,"openpopup":false,"openpopup_id":0}' /> <div class='gform-body gform_body'><div id='gform_fields_8' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_8_6" class="gfield gfield--type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" data-js-reload="field_8_6" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_8_6'>Category</label><div class='ginput_container ginput_container_text'><input name='input_6' id='input_8_6' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_8_3" class="gfield gfield--type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_hidden gfield_text_wrap" data-field-class="gfield_text_wrap" data-js-reload="field_8_3" ><div class="admin-hidden-markup"><i class="gform-icon gform-icon--hidden" aria-hidden="true" title="This field is hidden when viewing the form"></i><span>This field is hidden when viewing the form</span></div><label class='gfield_label gform-field-label' for='input_8_3'>Submission URL</label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_8_3' type='text' value='https://www.controleng.com/router-camera-system-used-to-enhance-billboards/' class='large' aria-invalid="false" /></div></div><div id="field_8_1" class="gfield gfield--type-email gfield--width-three-quarter gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible gfield_email_wrap" data-field-class="gfield_email_wrap" data-js-reload="field_8_1" ><label class='gfield_label gform-field-label' for='input_8_1'>Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_8_1' type='email' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_submit" class="gfield gfield--type-submit gfield--width-quarter field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gfield_submit_wrap" data-field-class="gform_editor_submit_container" data-field-position="inline" data-js-reload="true" ><button type="submit" id="gform_submit_button_8" class="gform-button gform-button--white button" onclick="gform.submission.handleButtonClick(this);">Submit</button></div><div id="field_8_7" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gfield_honeypot_wrap" data-field-class="gfield_honeypot_wrap" data-js-reload="field_8_7" ><label class='gfield_label gform-field-label' for='input_8_7'>Comments</label><div class='ginput_container'><input name='input_7' id='input_8_7' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_8_7'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform-footer gform_footer top_label'> <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_8' value='postback' /> <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_8' id='gform_theme_8' value='gravity-theme' /> <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_8' id='gform_style_settings_8' value='' /> <input type='hidden' class='gform_hidden' name='is_submit_8' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='8' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_8' value='WyJbXSIsIjY2NGFiY2JiYzY3MmNmZTRlNTIwZTkwMGI1NTA1ODcwIl0=' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_8' id='gform_target_page_number_8' value='0' /> <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_8' id='gform_source_page_number_8' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script> gform.initializeOnLoaded( function() {gformInitSpinner( 8, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_8').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_8');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_8').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_8').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_8').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_8').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_8').val();gformInitSpinner( 8, 'https://www.controleng.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [8, current_page]);window['gf_submitting_8'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_8').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [8]);window['gf_submitting_8'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_8').text());}else{jQuery('#gform_8').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "8", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_8" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_8"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_8" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [8, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 8, currentPage: current_page } } ); gform.utils.trigger( { event: 'gform/post_render', native: false, data: { formId: 8, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); </script> </div> </div> <div id="media-space-block_60370798db36c0b58972450a6a38dadd" class="acf-block block-adspace type-custom-script layout-default"> <span> <center><div id='div-gpt-controleng_header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-controleng_header'); }); </script> </div></center> </span> </div> </div> <footer class="site-footer" role="contentinfo"> <div class="wrap"> <div class="site-footer__top"> <div class="site-footer__menu-wrap"> <svg class="site-footer__menu-wrap-angle site-footer__menu-wrap-angle--start" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 33" width="7" height="32"><path fill="#008AD8" d="M5.915.25 0 32.25h1.085L7 .25H5.915Z"/></svg> <div class="footer-menu-wrap"><ul id="menu-footer-navigation" class="menu menu--footer"><li id="menu-item-70025" class="menu-item"><a href="https://www.controleng.com/about/"><span>About</span></a></li> <li id="menu-item-70085" class="menu-item"><a href="/about/advertise-with-us/"><span>Advertise</span></a></li> <li id="menu-item-70089" class="menu-item"><a href="https://www.controleng.com/contact/"><span>Contact</span></a></li> <li id="menu-item-128811" class="menu-item"><a href="/advisory-board/"><span>Advisory Board</span></a></li> </ul></div> <svg class="site-footer__menu-wrap-angle site-footer__menu-wrap-angle--end" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 33" width="7" height="32"><path fill="#008AD8" d="M5.915.25 0 32.25h1.085L7 .25H5.915Z"/></svg> </div> <div class="social-media social-media__footer"> <div class="social-media__links"> <a class="social-media__link" href="https://www.facebook.com/ControlEngineeringMagazine" target="_blank" rel="noopener noreferrer" aria-label="Facebook"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="16px" height="16px"><path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg></a> <a class="social-media__link" href="https://twitter.com/controlengtips" target="_blank" rel="noopener noreferrer" aria-label="Twitter X"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="16px" height="16px"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></a> <a class="social-media__link" href="https://www.linkedin.com/company/control-engineering-magazine/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="16px" height="16px"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg></a> </div> </div> </div> <div class="site-footer__network-links"> <span class="site-footer__network-links-header"> Part of the DesignWorld and Industrial Automation Network </span> <div class="site-footer__network-links-list"> <a class="site-footer__network-links-list-item" href="https://www.automatedwarehouseonline.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Automated Warehouse </span> <span class="site-footer__network-links-list-item-secondary-text"> automatedwarehouseonline.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.csemag.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Consulting-Specifying Engineer </span> <span class="site-footer__network-links-list-item-secondary-text"> csemag.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.designworldonline.com" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> DesignWorld </span> <span class="site-footer__network-links-list-item-secondary-text"> designworldonline.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.engineering.com" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Engineering.com </span> <span class="site-footer__network-links-list-item-secondary-text"> engineering.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.eng-tips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Eng-Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> eng-tips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.tek-tips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Tek-Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> tek-tips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.bearingtips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Bearing Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> bearingtips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.couplingtips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Coupling Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> couplingtips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.linearmotiontips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Linear Motion Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> linearmotiontips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.motioncontroltips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Motion Control tips </span> <span class="site-footer__network-links-list-item-secondary-text"> motioncontroltips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.packagingoem.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Packaging OEM </span> <span class="site-footer__network-links-list-item-secondary-text"> packagingoem.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.plantengineering.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Plant Engineering </span> <span class="site-footer__network-links-list-item-secondary-text"> plantengineering.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.therobotreport.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> The Robot Report </span> <span class="site-footer__network-links-list-item-secondary-text"> therobotreport.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.3dcadforums.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> 3d CAD forums </span> <span class="site-footer__network-links-list-item-secondary-text"> 3dcadforums.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> <a class="site-footer__network-links-list-item" href="https://www.wireandcabletips.com/" target="_blank" rel="noopener noreferrer"> <span class="site-footer__network-links-list-item-primary-text"> Wire and Cable Tips </span> <span class="site-footer__network-links-list-item-secondary-text"> wireandcabletips.com </span> <svg class="site-footer__network-links-arrow" width="11" height="17" viewBox="0 0 11 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.39233e-07 16.0249L11 8.0249L0 0.0249023L8.39233e-07 16.0249Z" fill="#008AD8"/><path d="M0 16.0249L11 8.0249H0V16.0249Z" fill="#364867" fill-opacity="0.2"/></svg> </a> </div> </div> <div class="site-footer__bottom"> <div class="site-footer__copyright"> <p> © 2025 WTWH Media, LLC. All rights reserved. </p> </div> <div class="footer-privacy-menu-wrap"><ul id="menu-footer-privacy" class="menu menu--footer-privacy"><li id="menu-item-70090" class="menu-item"><a href="https://www.wtwhmedia.com/privacy-policy/"><span>Privacy Policy</span></a></li> <li id="menu-item-70091" class="menu-item"><a href="https://www.wtwhmedia.com/terms-and-conditions/"><span>Terms & Conditions</span></a></li> </ul></div> </div> </div> </footer> </div> <script> // ios old devices document.addEventListener('DOMContentLoaded', function() { setTimeout(() => { document.querySelectorAll('audio:not(.plyr audio)').forEach(function(audio, index) { audio.setAttribute('controls','') }); }, 3000); }); </script> <svg width="0" height="0" class="h5ap_svg_hidden" style="display: none;"> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511.997 511.997" id="exchange"> <path d="M467.938 87.164L387.063 5.652c-7.438-7.495-19.531-7.54-27.02-.108s-7.54 19.525-.108 27.014l67.471 68.006-67.42 67.42c-7.464 7.457-7.464 19.557 0 27.014 3.732 3.732 8.616 5.598 13.507 5.598s9.781-1.866 13.513-5.591l80.876-80.876c7.443-7.44 7.463-19.495.056-26.965z"></path> <path d="M455.005 81.509H56.995c-10.552 0-19.104 8.552-19.104 19.104v147.741c0 10.552 8.552 19.104 19.104 19.104s19.104-8.552 19.104-19.104V119.718h378.905c10.552 0 19.104-8.552 19.104-19.104.001-10.552-8.551-19.105-19.103-19.105zM83.964 411.431l67.42-67.413c7.457-7.457 7.464-19.55 0-27.014-7.463-7.464-19.563-7.464-27.02 0l-80.876 80.869c-7.444 7.438-7.47 19.493-.057 26.963l80.876 81.512a19.064 19.064 0 0013.564 5.649c4.865 0 9.731-1.847 13.456-5.54 7.489-7.432 7.54-19.525.108-27.02l-67.471-68.006z"></path> <path d="M454.368 238.166c-10.552 0-19.104 8.552-19.104 19.104v135.005H56.995c-10.552 0-19.104 8.552-19.104 19.104s8.552 19.104 19.104 19.104h397.38c10.552 0 19.104-8.552 19.098-19.104V257.271c-.001-10.552-8.553-19.105-19.105-19.105z"></path> </symbol> </svg> <svg width="0" height="0" class="h5ap_svg_hidden" style="display: none;"> <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.88 477.88" id="shuffle"> <path d="M472.897 124.269a.892.892 0 01-.03-.031l-.017.017-68.267-68.267c-6.78-6.548-17.584-6.36-24.132.42-6.388 6.614-6.388 17.099 0 23.713l39.151 39.151h-95.334c-65.948.075-119.391 53.518-119.467 119.467-.056 47.105-38.228 85.277-85.333 85.333h-102.4C7.641 324.072 0 331.713 0 341.139s7.641 17.067 17.067 17.067h102.4c65.948-.075 119.391-53.518 119.467-119.467.056-47.105 38.228-85.277 85.333-85.333h95.334l-39.134 39.134c-6.78 6.548-6.968 17.353-.419 24.132 6.548 6.78 17.353 6.968 24.132.419.142-.137.282-.277.419-.419l68.267-68.267c6.674-6.657 6.687-17.463.031-24.136z"></path> <path d="M472.897 329.069l-.03-.03-.017.017-68.267-68.267c-6.78-6.548-17.584-6.36-24.132.42-6.388 6.614-6.388 17.099 0 23.712l39.151 39.151h-95.334a85.209 85.209 0 01-56.9-21.726c-7.081-6.222-17.864-5.525-24.086 1.555-6.14 6.988-5.553 17.605 1.319 23.874a119.28 119.28 0 0079.667 30.43h95.334l-39.134 39.134c-6.78 6.548-6.968 17.352-.42 24.132 6.548 6.78 17.352 6.968 24.132.42.142-.138.282-.277.42-.42l68.267-68.267c6.673-6.656 6.686-17.462.03-24.135zM199.134 149.702a119.28 119.28 0 00-79.667-30.43h-102.4C7.641 119.272 0 126.913 0 136.339s7.641 17.067 17.067 17.067h102.4a85.209 85.209 0 0156.9 21.726c7.081 6.222 17.864 5.525 24.086-1.555 6.14-6.989 5.553-17.606-1.319-23.875z"></path> </symbol> </svg> <script> const single_player = document.querySelectorAll(".h5ap_single_button"); single_player.forEach(item => { const audio = item.querySelector("audio"); audio.volume = 0.6; item.querySelector('.play').addEventListener("click", function () { console.log('Audio'); single_player.forEach(player => { player.querySelector("audio")?.pause(); }) setTimeout(() => { audio.currentTime = 0; audio.play(); }, 0); }); item.querySelector('.pause').style.display = 'none'; item.querySelector('.pause').addEventListener("click", function () { audio.pause(); }); audio.addEventListener("ended", () => { item.querySelector(".play").style.display = 'inline-block'; item.querySelector(".pause").style.display = 'none'; }); audio.addEventListener("pause", () => { item.querySelector(".play").style.display = 'inline-block'; item.querySelector(".pause").style.display = 'none'; }); audio.addEventListener("play", () => { item.querySelector(".play").style.display = 'none'; item.querySelector(".pause").style.display = 'inline-block'; }); }) </script> <script type="text/javascript"> jQuery( function() { if ( window.Cookies ) { Cookies.set( "gp_easy_passthrough_session", "7b622dfa83bb3f4d2944321c8a051f2c||1742257000||1742256640", {"expires": new Date( new Date().getTime() + 1800000 ),"path": "/","domain": "","SameSite": "Lax","secure": false} ); } } ); </script> <link rel='stylesheet' id='wtwh-mlt-script-2-css' href='https://cdn.scripts.wtwhmedia.com/more-like-this/v1.7.8.css?ver=1.2.1' media='all' /> <link rel='stylesheet' id='gform_basic-css' href='https://www.controleng.com/wp-content/plugins/gravityforms/assets/css/dist/basic.min.css?ver=2.9.4' media='all' /> <link rel='stylesheet' id='gform_theme_components-css' href='https://www.controleng.com/wp-content/plugins/gravityforms/assets/css/dist/theme-components.min.css?ver=2.9.4' media='all' /> <link rel='stylesheet' id='gform_theme-css' href='https://www.controleng.com/wp-content/plugins/gravityforms/assets/css/dist/theme.min.css?ver=2.9.4' media='all' /> <style id='core-block-supports-inline-css'> .wp-container-core-group-is-layout-1 > .alignfull{margin-right:calc(0px * -1);margin-left:calc(0px * -1);}.wp-container-core-group-is-layout-1 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-1 > * + *{margin-block-start:4px;margin-block-end:0;}.wp-container-core-group-is-layout-2 > .alignfull{margin-right:calc(0px * -1);margin-left:calc(0px * -1);}.wp-container-core-group-is-layout-2 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-2 > * + *{margin-block-start:4px;margin-block-end:0;} </style> <link rel='stylesheet' id='shared-counts-css' href='https://www.controleng.com/wp-content/plugins/shared-counts/assets/css/shared-counts.min.css?ver=1.5.0' media='all' /> <script id="wtwh-uni-gam-prestitial-core-js-extra"> var PRESTITIALINFO = {"logoHeight":"100","logoWidth":"100","backgroundColor":"clear","siteUrl":"https:\/\/www.controleng.com","siteName":"Control Engineering","siteLogo":"https:\/\/www.controleng.com\/wp-content\/uploads\/2024\/10\/control-engineering-logo.svg","mainCss":"https:\/\/www.controleng.com\/wp-content\/plugins\/wtwh-universal-gam\/assets\/css\/frontend\/prestitial\/main.css?=1.1.4","prestitialCss":"https:\/\/www.controleng.com\/wp-content\/plugins\/wtwh-universal-gam\/assets\/css\/frontend\/prestitial\/prestitial.css?=1.1.4"}; </script> <script src="https://www.controleng.com/wp-content/plugins/wtwh-universal-gam/assets/js/frontend/prestitial/adlogic.js?ver=1.1.4" id="wtwh-uni-gam-prestitial-core-js"></script> <script src="https://www.controleng.com/wp-content/plugins/wtwh-mlt-plugin/assets/js/mlt-removal/v1.1.1-ce.js?ver=1.2.1" id="wtwh-mlt-script-0-js"></script> <script src="https://cdn.scripts.wtwhmedia.com/more-like-this/v1.7.8.js?ver=1.2.1" id="wtwh-mlt-script-1-js"></script> <script id="wtwh-mlt-frontend-script-js-extra"> var MLTVARS = {"pubCodes":["CONTROLENG"],"startEvent":"mltRemovalComplete","articleLimit":"6"}; </script> <script src="https://www.controleng.com/wp-content/plugins/wtwh-mlt-plugin/assets/js/wtwh-mlt-frontend.js?ver=1.2.1" id="wtwh-mlt-frontend-script-js"></script> <script src="https://www.controleng.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script src="https://www.controleng.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script src="https://www.controleng.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script src="https://www.controleng.com/wp-includes/js/dist/a11y.min.js?ver=3156534cc54473497e14" id="wp-a11y-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=2.9.4" id="gform_json-js"></script> <script id="gform_gravityforms-js-extra"> var gform_i18n = {"datepicker":{"days":{"monday":"Mo","tuesday":"Tu","wednesday":"We","thursday":"Th","friday":"Fr","saturday":"Sa","sunday":"Su"},"months":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"},"firstDay":1,"iconText":"Select date"}}; var gf_legacy_multi = []; var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled"},"vars":{"images_url":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/images"}}; var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg","version_hash":"0df9427b463e019963a325441cb14121","strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg","version_hash":"0df9427b463e019963a325441cb14121","strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; </script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=2.9.4" id="gform_gravityforms-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/js/placeholders.jquery.min.js?ver=2.9.4" id="gform_placeholder-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=501a987060f4426fb517400c73c7fc1e" id="gform_gravityforms_utils-js"></script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=639b4ac21c17c9dc304b05db4a3d3293" id="gform_gravityforms_theme_vendors-js"></script> <script id="gform_gravityforms_theme-js-extra"> var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"0df9427b463e019963a325441cb14121"},"ajax":{"ajaxurl":"https:\/\/www.controleng.com\/wp-admin\/admin-ajax.php","ajax_submission_nonce":"ec655aa470","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again."}}}},"hmr_dev":"","public_path":"https:\/\/www.controleng.com\/wp-content\/plugins\/gravityforms\/assets\/js\/dist\/","config_nonce":"0292c51432"}; </script> <script defer='defer' src="https://www.controleng.com/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=dc91b64a15c979eb9acace3fe2754b5f" id="gform_gravityforms_theme-js"></script> <script src="https://www.controleng.com/wp-content/plugins/gp-easy-passthrough/js/vendor/js.cookie.js?ver=1.9.33" id="gpep_vendor_cookie-js"></script> <script id="shared-counts-js-extra"> var shared_counts = {"social_tracking":"1"}; </script> <script src="https://www.controleng.com/wp-content/plugins/shared-counts/assets/js/shared-counts.min.js?ver=1.5.0" id="shared-counts-js"></script> <script> gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 5) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); } gform.utils.addAsyncFilter('gform/submission/pre_submission', async (data) => { const input = document.createElement('input'); input.type = 'hidden'; input.name = 'gf_zero_spam_key'; input.value = 'xabXim9yCPJxEUIw4LE4WEHaKYjy7OItKOcgJLFoG7CuuNRAwHExAYq2kcGkXzg4'; input.setAttribute('autocomplete', 'new-password'); data.form.appendChild(input); return data; });} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); </script> <script> gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "5", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_5" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_5"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_5" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [5, 1] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 5, currentPage: 1 } } ); gform.utils.trigger( { event: 'gform/post_render', native: false, data: { formId: 5, currentPage: 1 } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } ); </script> <script> gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 8) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); } gform.utils.addAsyncFilter('gform/submission/pre_submission', async (data) => { const input = document.createElement('input'); input.type = 'hidden'; input.name = 'gf_zero_spam_key'; input.value = 'xabXim9yCPJxEUIw4LE4WEHaKYjy7OItKOcgJLFoG7CuuNRAwHExAYq2kcGkXzg4'; input.setAttribute('autocomplete', 'new-password'); data.form.appendChild(input); return data; });} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); </script> <script> gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "8", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_8" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_8"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_8" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [8, 1] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 8, currentPage: 1 } } ); gform.utils.trigger( { event: 'gform/post_render', native: false, data: { formId: 8, currentPage: 1 } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } ); </script> </body></html>