Avoiding safety PLCs? Rethink Your Approach
What do you think when you hear the term “safety PLC”? Does the word “expensive” come to mind? How about “complex”? When safety PLCs were brought to the US market coinciding with changes to the NFPA safety standards in the early 2000s, adoption was slow. Industry had to become comfortable with the idea of software based devices making decisions on the safe operation of machines. While most are now trusting of this technology and adoption is much higher, there are a couple misnomers still commonly attached to the safety PLC conversation – safety PLCs are expensive and really complex to program. Or are they? Check out this video where Rich covers this topic in further detail.
WIN ME
Watch our latest Straight to the Point video and answer the quiz correctly to be entered for a chance to win a SIMATIC S7-1200 Fail-safe Starter Kit, including a safety PLC, safety IO modules, programming software and more…
/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find(‘#gform_wrapper_304’);var is_confirmation = jQuery(this).contents().find(‘#gform_confirmation_wrapper_304’).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_304’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’)){jQuery(‘#gform_wrapper_304’).addClass(‘gform_validation_error’);} else {jQuery(‘#gform_wrapper_304’).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_304’).val();gformInitSpinner( 304, ‘https://www.pccweb.com/wp-content/plugins/gravityforms/images/spinner.svg’, true );jQuery(document).trigger(‘gform_page_loaded’, [304, current_page]);window[‘gf_submitting_304’] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find(‘.GF_AJAX_POSTBACK’).html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery(‘#gform_wrapper_304’).replaceWith(confirmation_content);jQuery(document).trigger(‘gform_confirmation_loaded’, [304]);window[‘gf_submitting_304’] = false;wp.a11y.speak(jQuery(‘#gform_confirmation_message_304’).text());}, 50);}else{jQuery(‘#gform_304’).append(contents);if(window[‘gformRedirect’]) {gformRedirect();}}jQuery(document).trigger(“gform_pre_post_render”, [{ formId: “304”, currentPage: “current_page”, abort: function() { this.preventDefault(); } }]); if (event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( “gform_wrapper_304” ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( “span” ); visibilitySpan.id = “gform_visibility_test_304”; gformWrapperDiv.insertAdjacentElement( “afterend”, visibilitySpan ); } const visibilityTestDiv = document.getElementById( “gform_visibility_test_304” ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( ‘gform_post_render’, [304, current_page] ); gform.utils.trigger( { event: ‘gform/postRender’, native: false, data: { formId: 304, 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(); } } );} ); /* ]]> */
For questions or more information, reach out to PCC at [email protected] or call (262) 251-3000.
