In automation system development, both hardware and software are required. Typically, the hardware is selected by an electrical designer. Once the hardware is in place, the software designer downloads and deploys the control program to the PLC.
This article explains how these devices are linked together and communicate with each other. It also describes different communication protocols such as MQTT, Node-RED, Modbus, and others.
https://www.hemelix.com/automation/