Na área da Internet industrial das coisas, existem tantos dispositivos escravos industriais por trás do controlador lógico programável que eles não recebem nenhum endereço IP ou identidade. Como mapearíamos a identidade desses dispositivos e seus controles sobre o nível de aplicativo? a nuvem. Por exemplo, eu vou usar o rasberrypi como gateway, este gateway está conectado a um CLP. Por trás do PLC existem muitos dispositivos escravos conectados, como ventiladores, luzes LED, sensores de CO2.
Eu sou muito novo no protocolo PLC e modbus . Mesmo depois de ler a introdução, ainda tenho as perguntas, a principal questão é como podemos registrar e mapear os dispositivos escravos para o gateway e, finalmente, para a camada de aplicação IOT. e sob a pergunta principal, existem muitas pequenas perguntas a serem respondidas, como
- como posso determinar o endereço de cada dispositivo, é determinado manualmente ou pode ser descoberto no dispositivo escravo?
- se um dispositivo escravo é disfuncional, como podemos descobrir?
fonte
modbus discover devices
Respostas:
Examinando os códigos de função Modbus na wikipedia
Determinar endereços
Você pode consultar os códigos de função Report Slave ID 17 e Read Device Identification 43.
Embora seus dispositivos possam não suportar esta função e retornar com um código de exceção 1 (função ilegal). Se você não receber nenhuma resposta, o dispositivo está desligado ou o ID está desocupado.
Você pode listar esses dispositivos no seu raspberry pi. Portanto, você pode criar uma lista com valores: ID + identificação, conjunto de IDs, ID não definido.
Para Modbus / TCP, este link pode ser útil.
Descobrir que um dispositivo está com defeito
Para descobrir se está com defeito, você pode pesquisar diagnósticos de vez em quando e ouvir qualquer mensagem de exceção.
Se você não receber uma mensagem de volta, isso também poderá indicar um problema (se o ID já tiver um dispositivo conectado antes).
fonte
O 'mapeamento' do PLC será feito com tags variáveis.
Você estruturará os nomes de tag e, em seguida, encaminhará os dados por qualquer protocolo, neste caso, modbus. Confira o Advantech WISE-4060
Como alternativa, você pode ter um OPC em execução na sua rede, onde você puxa as etiquetas de dados e seus status.
fonte
Dê uma olhada no Node-Red. É executado no RPI e um dos pacotes de nós cobre praticamente qualquer coisa que você queira fazer com o Modbus. É de código aberto e você pode baixar uma imagem de trabalho e executar um script para começar.
Recentemente, criei um sistema de controle para controle de água e temperatura usando-o e foi rápido e fácil.
No que diz respeito à descoberta, receio que provavelmente seja semelhante à limpeza do sótão da avó. Só tem que passar por tudo isso uma caixa de cada vez! Com o RPI em uma rede, ele abre um mundo de conectividade, pois o Node-Red pode lidar com banco de dados, twitter, email, MQ e praticamente qualquer outro protocolo que você possa imaginar. Além disso, todos os dados podem estar na superfície de uma página da Web, basta soltar alguns nós na tela e arrastar os fios entre eles.
fonte