Temos um sistema que já faz isso para você se basear, porém muito arcaico, ele foi criado em javascript puro, precisamos atualizar para vue js. Em anexo tem prints de como funciona o sistema, você adiciona o bloco lógico e preenche as entradas e saídas, depois ele converte tudo em json, inclusive se ele ler um json compativel, automaticamente desenha os blocos na tela. Porém precisamos de algo mais fácil de mexer a ideia é criar uma espécie de node editor que converta para json, integrando as lógicas de and, or, not, etc. Resumindo, pegar um sistema arcaico pronto (apenas como base da ideia) e desenvolver em vue js uma interface para construir um programa para o CLP (Controlador lógico programável) que no final da construção ou durante é convertido em json pois o nosso CLP lê o json e se baseia nessa lógica por exemplo, se acionar a entrada 1 também aciona a saída 1. Porém há vários tipos de entradas e saídas (Comunicações, digitais, analógicas, etc).
Nos prints em anexo há uma base de como o sistema funciona, mas posso liberar um login e senha para você acessar e testar, no printa chamado "ideia
nova.png" é um node editor (puxa os fios e interliga os blocos, posicionando eles sobre a tela) teria que fazer baseado nisso, para você ter mais exemplos pesquise por "Blender 3d node editor" esse é um editor de lógica para jogos totalmente visual, mas o que precisamos é editar a lógica do programa do CLP onde ele faz um loop infinito na lógica construída. Para deixar claro não é preciso desenvolver o programa para o clp mas sim uma interface visual que converte os desenhos e ligações no node editor feitos pelo usuário em um json compatível com o clp, também é necessário a interface em vuejs ler o json do clp (um request http) e já desenhar os blocos de lógica interligados e permitir alteração pelo usuário.
O template podemos fornecer a fim que faça nas mesmas cores e estilos. Link do template:
https://atlantis.primevue.org/
Prazo de Entrega: Não estabelecido