Imagine a seguinte cena
Um CLP ou um computador controlando diversas etapas de um sistema automatizado, controlando sensores, motores, redutores, atuadores e outras máquinas que compõem o sistema de produção, tudo funcionando como uma orquestra, onde se um elemento da rede falhar todo o sistema pode ser comprometido. Em determinada etapa da produção um motor para por algum motivo ou funciona de forma errônea, o passo seguinte da linha de produção começa a sofrer com a irregularidade ou pela falta de curso do processo, o gasto ou prejuízo gerado até a parada de todo sistema pode ser enorme.
Agora imagine se o sistema parasse de funcionar logo após este mesmo motor parar de funcionar ou responder, ou ainda tomar uma rota alternativa para não parar a produção.
Mas, como controlar todos os processos/ equipamentos de um sistema automatizado com confiança e com velocidade suficiente para se tomar uma rápida atitude?
Agora vamos imaginar um segundo cenário
Um CLP ou um computador que gerencia todo um sistema automatizado, e que fica verificando se cada elemento está funcionando corretamente. Para saber se cada um está de acordo, o CLP ou computador - que chamamos de Master (Mestre) - envia um sinal para cada componente abrindo uma porta de comunicação, uma vez a porta aberta o Master pergunta para o equipamento - que chamamos de Slave (escravo) - como está o seu funcionamento, o escravo por sua vez responde o seu status fechando a porta de comunicação.
Depois disso o Master executa o mesmo procedimento para todos os outros elementos do sistema, e assim mantém o gerenciamento de tudo. Até aqui tudo bem, mas imagine se um dos elementos por alguma falha não abre um canal de comunicação e nem responde o seu status? O Mestre ficaria esperando uma resposta até quando? Até alguém notar que o sistema que deveria ter parado, não parou?