{"version":"1.0","provider_name":"Control Engineering","provider_url":"https:\/\/www.controleng.com","author_name":"Mark T. Hoske","author_url":"https:\/\/www.controleng.com\/author\/mark-t-hoske\/","title":"Advice compendium for controls and automation programmers - Control Engineering","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"uTgtBLt3cv\"><a href=\"https:\/\/www.controleng.com\/advice-compendium-for-controls-and-automation-programmers\/\">Advice compendium for controls and automation programmers<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.controleng.com\/advice-compendium-for-controls-and-automation-programmers\/embed\/#?secret=uTgtBLt3cv\" width=\"600\" height=\"338\" title=\"&#8220;Advice compendium for controls and automation programmers&#8221; &#8212; Control Engineering\" data-secret=\"uTgtBLt3cv\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","thumbnail_url":"https:\/\/www.controleng.com\/wp-content\/uploads\/2025\/06\/CTL2506_WEB_WC_ProgrammingTips-Compendium-Fig1-Instructors.jpg","thumbnail_width":1229,"thumbnail_height":690,"description":"Industrial controller programmers can hone their control system programming skills for programmable logic controllers (PLCs), programmable automation controllers (PACs), industrial PCs, embedded controllers and edge using extensive advice from two programming experts."}