In industrial automation, CAN-connectable controller devices are often so-called PLCs (programmable logic controllers). Most of them are coming with an IEC 61131 runtime environment and are programmable in a standardized manner (IEC 61131-3). The PLC program is generally executed periodically, meaning it reads the remote and local input variables, and sets the remote and local output variables. There is dedicated PLC hardware and there are PC-based solutions running a so-called Soft-PLC.
Embedded host controllers are programmed in one of the many programming languages (e.g. C, C++, Pascal). They are used for dedicated applications often based on real-time operating systems. Typical applications include ECUs for passenger cars, trucks and buses as well as for medical devices and other systems, where real distributed control is required.
Most of the industrial CAN control systems are still just decentralized. This is that a single host computer collects all sensor data and transmits after processing them the commands for the actuators. But there is an increasing demand on distributed control systems nearly in all application fields. Since several years, there are PLCs with embedded motion controllers available as well as motion controllers with embedded PLCs.
In automotive applications, the electronic control units are quite independent from each other. Of course, for full functionality they information from other ECUs, but with limited functions they also can operated stand-alone. This is needed in all mission-critical systems.