A PLC (programmable logic controller) is a small industrial computer which originally replaced relay logic. It had inputs and outputs similar to those an RTU has.
It contained a program which executed a loop, scanning the inputs and taking actions based on these inputs. Originally the PLC had no communications capability, but they began to be used in situations where communications was a desirable feature.
Communications modules were developed for PLC’s, supporting Ethernet (for use in distributed control systems) and the Modbus communications protocol for use over dedicated (wire) links.
As time goes on we will see PLC’s support more sophisticated communications protocols. RTU’s have always been used in situations where the communications are more difficult, and the RTU’s strength was its ability to handle difficult communications.
RTU’s originally had poor programmability in comparison to PLC’s. As time has gone on, the programmability of the RTU has increased.