[] [ { "uid": "item_0000003I", "link": { "linkName": "PRODUCTS", "url": "/sg/products", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_00001I1Z", "link": { "linkName": "Electrical Interconnections", "url": "/sg/electrical-interconnections", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00001I20", "link": { "linkName": "Rail-Mount Terminal Blocks", "url": "/sg/electrical-interconnections/discover-rail-mount-terminal-blocks", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I22", "link": { "linkName": "Installation Terminal Blocks and Connectors", "url": "/sg/electrical-interconnections/discover-installation-terminal-blocks-and-connectors", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I24", "link": { "linkName": "Pluggable Connectors", "url": "/sg/electrical-interconnections/discover-pluggable-connectors", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I26", "link": { "linkName": "PCB Terminal Blocks and Pluggable Connectors", "url": "/sg/electrical-interconnections/discover-pcb-connection", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I2A", "link": { "linkName": "Field-Wiring Terminal Blocks", "url": "/sg/electrical-interconnections/discover-field-wiring-terminal-blocks", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001JWL", "link": { "linkName": "Feedthrough Components", "url": "/sg/electrical-interconnections/discover-feedthrough-components", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_00001I2V", "link": { "linkName": "Interface Electronic", "url": "/sg/interface-electronic", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00001I2Y", "link": { "linkName": "Signal Conditioners and Isolation Amplifiers", "url": "/sg/interface-electronic/discover-signal-conditioners-isolation-amplifiers", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I37", "link": { "linkName": "Relay and Optocoupler Modules", "url": "/sg/interface-electronic/discover-relays-optocouplers", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I39", "link": { "linkName": "Power supplies", "url": "/sg/interface-electronic/discover-power-supplies", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I35", "link": { "linkName": "Current Transformers and Voltage Taps", "url": "/sg/interface-electronic/discover-current-transformers", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001JWO", "link": { "linkName": "Interface Modules", "url": "/sg/interface-electronic/discover-interface-modules", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001JWQ", "link": { "linkName": "System Wiring", "url": "/sg/interface-electronic/discover-system-wiring", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I3B", "link": { "linkName": "Overvoltage Protection", "url": "/sg/interface-electronic/overvoltage-protection", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_00001I2C", "link": { "linkName": "Automation Technology", "url": "/sg/automation-technology", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00001I2J", "link": { "linkName": "I/O Systems", "url": "/sg/automation-technology/discover-io-systems", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I2E", "link": { "linkName": "PLCs - Controllers", "url": "/sg/automation-technology/discover-plcs", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I2P", "link": { "linkName": "Software", "url": "/sg/automation-technology/discover-software", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I2S", "link": { "linkName": "Touch Panels", "url": "/sg/automation-technology/discover-touch-panels", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I2N", "link": { "linkName": "Sensor and Actuator Boxes", "url": "/sg/automation-technology/discover-sensor-actuator-boxes", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I2L", "link": { "linkName": "Industrial Switches", "url": "/sg/automation-technology/industrial-ethernet-switches", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_00001I3D", "link": { "linkName": "General", "url": "", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00001I3J", "link": { "linkName": "Marking", "url": "/sg/electrical-interconnections/discover-marking", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001I3H", "link": { "linkName": "Tools", "url": "/sg/c/tools", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00001JX1", "link": { "linkName": "Accessories", "url": "/sg/c/accessories", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002T2X", "link": { "linkName": "smartDESIGNER", "url": "https://configurator.wago.com/", "target": "_blank", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00004ABO", "link": { "linkName": "New products", "url": "", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } ] } , { "uid": "item_0000003J", "link": { "linkName": "SOLUTIONS", "url": "/sg/solutions", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_00002A7D", "link": { "linkName": "Industries", "url": "", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00002A7J", "link": { "linkName": "Automobilindustrie", "url": "/sg/automotive-industry", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7L", "link": { "linkName": "Railway Systems", "url": "/sg/railway-systems", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7N", "link": { "linkName": "Power Engineering", "url": "/sg/power-engineering", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7P", "link": { "linkName": "Manufacturing Industry", "url": "/sg/manufacturing-industry", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7R", "link": { "linkName": "Building Technology", "url": "/sg/building-technology", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7T", "link": { "linkName": "Lighting Technology", "url": "/sg/lighting-technology", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7V", "link": { "linkName": "Marine and Offshore", "url": "/sg/marine-offshore", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A7X", "link": { "linkName": "Process Industry", "url": "/sg/process-engineering", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_00002A7F", "link": { "linkName": "Topics", "url": "", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00002A82", "link": { "linkName": "Energy Management", "url": "/sg/energy-management", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002A84", "link": { "linkName": "Lighting Management", "url": "/sg/building-technology/lighting/lighting-management", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_000032FC", "link": { "linkName": "Explosion protection", "url": "/sg/process-engineering/explosion-protection", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00008RU2", "link": { "linkName": "Control Cabinet Manufacturing", "url": "/sg/control-cabinet-manufacturing", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_00008RU4", "link": { "linkName": "Cybersecurity Instructions", "url": "/sg/automation-technology/psirt", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } , { "uid": "item_00003IJV", "link": { "linkName": "Digitization", "url": "", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00003IK0", "link": { "linkName": "Cloud Connectivity", "url": "", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00003IK6", "link": { "linkName": "Digital Engineering", "url": "/sg/discover-smartdata", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_00008RU6", "link": { "linkName": "Open Automation", "url": "/sg/open-automation", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_00008RU8", "link": { "linkName": "Cloud", "url": "/sg/open-automation/cloud-automation", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_00008RUA", "link": { "linkName": "Cyber-Security", "url": "/sg/open-automation/cybersecurity", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_00008RUC", "link": { "linkName": "Modular Software", "url": "/sg/open-automation/modular-software", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_00008RUE", "link": { "linkName": "Connectivity Hero", "url": "/sg/open-automation/connectivity-hero", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } ] } , { "uid": "item_00000H6J", "link": { "linkName": "COMPANY", "url": "/sg/company", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_00002Z9V", "link": { "linkName": "Our Responsibility", "url": "/sg/responsibility", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00002ZAB", "link": { "linkName": "Community", "url": "/sg/responsibility/community", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002ZAD", "link": { "linkName": "Supply Chain", "url": "/sg/responsibility/supply-chain", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_00002Z9X", "link": { "linkName": "Data and Facts", "url": "/sg/data-facts", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ ] } , { "uid": "item_000083VE", "link": { "linkName": "Management", "url": "", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ ] } , { "uid": "item_00002ZA3", "link": { "linkName": "WAGO Group", "url": "/sg/wago-group", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00002ZAL", "link": { "linkName": "Minden Headquarters", "url": "/sg/wago-group/minden", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00008RU0", "link": { "linkName": "WAGO International", "url": "/sg/search?f=%3Afacet_pos_type%3ANationalAgency%3Afacet_pos_type%3AWagoCorporation%3Afacet_pos_type%3AProductionSite%3AresultType%3Acontact&sort=relevance&pageSize=20", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_sg_0000CZRE", "link": { "linkName": "Production Sites", "url": "/sg/s/productionsite", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_00002ZAN", "link": { "linkName": "WAGO Germany", "url": "/sg/wago-group/germany", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002ZB5", "link": { "linkName": "M&M Software", "url": "/sg/wago-group/m-and-m-software", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } ] } , { "uid": "item_000006E3", "link": { "linkName": "CAREERS", "url": "/sg/careers", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ ] } ] } , { "uid": "item_00000Y94", "link": { "linkName": "CUSTOMER SERVICE", "url": "/sg/contact", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_sg_0000HJ6G", "link": { "linkName": "E-Business", "url": "/sg/procurement-channels", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_sg_0000HJ6J", "link": { "linkName": "Online Ordering", "url": "/sg/registrationpage", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } , { "uid": "Item_sg_0000GTVR", "link": { "linkName": "WAGO Partners", "url": "/sg/wago-partners", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_000052Y2", "link": { "linkName": "Solution Provider", "url": "/sg/solution_provider", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_00004SYZ", "link": { "linkName": "Wholesaler", "url": "/sg/wholesaler", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } , { "uid": "item_sg_0000HJ6K", "link": { "linkName": "Knowledge & Events", "url": "/sg/online-trainings", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_000049KC", "link": { "linkName": "Seminars and Training", "url": "/sg/online-trainings", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_sg_0000HJ6O", "link": { "linkName": "Online Feature Manuals", "url": "/sg/online-services", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } , { "uid": "item_sg_0000HQW1", "link": { "linkName": "Cross Reference Search", "url": "/sg/crossreferences", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } ] } , { "uid": "item_000006E5", "link": { "linkName": "DOWNLOADS", "url": "/sg/downloads", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" }, "children": [ { "uid": "item_00002CD1", "link": { "linkName": "Documentation", "url": "/sg/search?q=*%3Arelevance%3AresultType%3Adownload%3Afacet_download_docCategory1%3ADL_13", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ ] } , { "uid": "item_00002CD9", "link": { "linkName": "Software", "url": "/sg/search?q=*%3Arelevance%3AresultType%3Adownload%3Afacet_download_docCategory1%3ADL_58%3Afacet_download_docCategory1%3ADL_59%3Afacet_download_docCategory1%3ADL_57%3Afacet_download_docCategory1%3ADL_56%3Afacet_download_docCategory1%3ADL_8&ststate=eyJwcm9kdWN0IjoiL3NlYXJjaD9xXHUwMDNkKiUzQXJlbGV2YW5jZSUzQXJlc3VsdFR5cGUlM0Fwcm9kdWN0XHUwMDI2c2l0ZU5hbWVcdTAwM2RXQUdPLURFLVdlYnNpdGUiLCJkb3dubG9hZCI6Ii9zZWFyY2g%2FcVx1MDAzZColM0FyZWxldmFuY2UlM0FyZXN1bHRUeXBlJTNBZG93bmxvYWQlM0Fkb2NDYXRlZ29yeTElM0FETF81OCUzQWRvY0NhdGVnb3J5MSUzQURMXzU5JTNBZG9jQ2F0ZWdvcnkxJTNBRExfNTclM0Fkb2NDYXRlZ29yeTElM0FETF81NiJ9", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ ] } , { "uid": "item_00002CD3", "link": { "linkName": "Application Notes", "url": "/sg/search?q=*%3Arelevance%3AresultType%3Adownload%3Afacet_download_docCategory1%3ADL_3", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ ] } , { "uid": "item_00002CD7", "link": { "linkName": "smartDATA Downloads", "url": "/sg/search?q=*%3Arelevance%3AresultType%3Adownload%3Afacet_download_docCategory1%3ADL_47&ststate=eyJwcm9kdWN0IjoiL3NlYXJjaD9xXHUwMDNkKiUzQXJlbGV2YW5jZSUzQXJlc3VsdFR5cGUlM0Fwcm9kdWN0XHUwMDI2c2l0ZU5hbWVcdTAwM2RXQUdPLURFLVdlYnNpdGUiLCJkb3dubG9hZCI6Ii9zZWFyY2g%2FcVx1MDAzZColM0FyZWxldmFuY2UlM0FyZXN1bHRUeXBlJTNBZG93bmxvYWQifQ%3D%3D", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ ] } , { "uid": "item_00002CDB", "link": { "linkName": "Certificates and Approvals", "url": "/sg/certificates", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_00002CDJ", "link": { "linkName": "Corporate Certificates", "url": "/sg/corporate-certificates", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002CDL", "link": { "linkName": "Product-Specific Certificates", "url": "/sg/search?q=*%3Arelevance%3AresultType%3Adownload%3Afacet_download_docCategory2%3ADL_36&ststate=eyJwcm9kdWN0IjoiL3NlYXJjaD9xXHUwMDNkKiUzQXJlbGV2YW5jZSUzQXJlc3VsdFR5cGUlM0Fwcm9kdWN0XHUwMDI2c2l0ZU5hbWVcdTAwM2RXQUdPLURFLVdlYnNpdGUiLCJkb3dubG9hZCI6Ii9zZWFyY2g%2FcVx1MDAzZColM0FyZWxldmFuY2UlM0FyZXN1bHRUeXBlJTNBZG93bmxvYWQifQ%3D%3D", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00002CDP", "link": { "linkName": "Guidelines and Regulations", "url": "/sg/guidelines", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_00003PKN", "link": { "linkName": "Laboratory Tests", "url": "/sg/laboratory-tests", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" } } , { "uid": "item_0000AF34", "link": { "linkName": "Environmental Product Compliance", "url": "https://smartdata.wago.com/articledata/svhc", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } , { "uid": "item_00002CDT", "link": { "linkName": "Catalogs", "url": "/sg/catalogs-price-lists", "target": "_self", "renderWithEmptyTarget": true, "classAttributes": "" }, "children": [ { "uid": "item_000089G5", "link": { "linkName": "Catalogs and Other Print Media", "url": "", "target": "_self", "renderWithEmptyTarget": false, "classAttributes": "" } } ] } ] } ] [ { "uid": "link_contact", "linkName": "Contact", "url": "/sg/contact#wago-support-contact-anchor", "target": "_self", "classAttributes": "phone" } ] [{"term":"Libraries_BA","id":0,"type":"QUICKLINKS"},{"term":"Instructions","id":1,"type":"QUICKLINKS"},{"term":"WAGO-I/O-PRO","id":2,"type":"QUICKLINKS"},{"term":"Building","id":3,"type":"QUICKLINKS"},{"term":"221","id":4,"type":"QUICKLINKS"}]
{ "@context": "https://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "/iot-plc-controller-with-mqtt" }, "headline": "Cloud Connectivity – IoT PLC: Controllers with MQTT ", "image": { "@type": "ImageObject", "url": "/medias/iot-controller-2000x1125px.jpg?context=bWFzdGVyfGltYWdlc3wyMjIyMjh8aW1hZ2UvanBlZ3xhVzFoWjJWekwyaGhNeTlvTURVdk9EZzBPREEzTXpBMk5EUTNPQzVxY0djfGQwOWM2NTU4NzdkNWIyMmQ0OGViZjI0YzdmOTdmZTMwMmQwMjAyOGUwMmMwYjkzNGFiODNlMjFjNmY4MGRhMGM" }, "author": { "@type": "Organization", "name": "WAGO Kontakttechnik GmbH" }, "publisher": { "@type": "Organization", "name": "WAGO Kontakttechnik GmbH", "logo": { "@type": "ImageObject", "url": "/_ui/static_2024-08-21_12-57/desktop/common/images/logo.png" } }, "datePublished": "Thu Apr 19 14:11:00 CEST 2018", "dateModified": "Fri Feb 23 10:17:02 CET 2024" }

News
A Plug-In Makes WAGO Controllers IoT-Ready

Merging IT and automation, any member of WAGO’s PFC Controller family can be transformed into a cloud-connected IoT controller using a simple MQTT software upgrade.

Business Success with the Cloud

Recording, digitizing and linking data profitably – this is the core concept behind Industry 4.0. A simple upgrade transforms the WAGO PFC100 and PFC200 Controllers into IoT controllers that transmit data from the field level to the cloud, where this data can be aggregated and used for analysis. This creates true added value for companies – be it for increasing the efficiency of in-house production, implementing energy management in buildings, or further developing end customer services. Existing systems also become IoT-ready, making them sustainable into the future. The WAGO PFC family of controllers thus forms the basis for a sustainable corporate world.

Flexible and Designed for the Future

In just a few simple steps, both WAGO PFC100 and PFC200 Controllers can be transformed into an IoT device by installing a firmware upgrade and programming an IEC application with the corresponding library. Following these steps, status information such as Run/Stop, connection status, device information, and variables defined in the IEC program can be transmitted to a cloud and visualized. The customer can decide whether the controller sends the data to Microsoft Azure, Amazon Web Services or IBM Bluemix. Connections to third-party solutions will also be feasible in the future thanks to the standardized MQTT protocol. Data is transmitted in JSON files (JavaScript Object Notation), and the link is encrypted using TLS.

systemgrafik-mqtt_2000x1125px.jpg

Data can be securely transmitted from the field level to the cloud via the MQTT interface.

The user can easily run the software update in a Web browser using WAGO’s Web-Based Management (WBM) system. Libraries for CoDeSys 2.3 and e!COCKPIT are also included. The cloud connection data is also configured using WBM. The variables that will be transferred to the cloud can be defined using the IEC program – the programmer is always in control.