U-BLOX NINA W106 e MODBUS TCP + Haiwell Cloud SCADA - VISUINO - CONTROLANDO LED
O objetivo deste BLOG é demonstrar como é possível utilizar o VISUINO para programar o módulo U-BLOX NINA W106 para ser acessado via MODBUS TCP, ou seja, tornando-o em um servidor MODBUS. Foi utilizado o EVK-NINA-W para os testes e somente efetuado leituras (READ INPUT REGISTER e COIL), bem como escrita COIL, ligado em um GPIO do W106, através do software Haiwell Cloud SCADA.
MODBUS
Modbus é um Protocolo de comunicação de dados utilizado em sistemas de automação industrial. Criado originalmente no final da década de 1970, mais especificamente em 1979, pela fabricante de equipamentos Modicon. É um dos mais antigos e até hoje mais utilizados[2] protocolos em redes de Controladores lógicos programáveis (PLC) para aquisição de sinais(0 ou 1) de instrumentos e comandar atuadores. A Schneider Electric (atual controladora da Modicon) transferiu os direitos do protocolo para a Modbus Organization em 2004 e a utilização é livre de taxas de licenciamento.Por esta razão, e também por se adequar facilmente a diversos meios físicos, é utilizado em milhares de equipamentos existentes e é uma das soluções de rede mais baratas a serem utilizadas em Automação Industrial.
Originalmente implementado como um protocolo de nível de aplicação destinado a transferir dados por uma camada serial, o Modbus foi ampliado para incluir implementações em comunicações seriais, TCP/IP e UDP (user datagram protocol).
O Modbus é um protocolo de requisição-resposta que utiliza um relacionamento mestre-escravo. Em um relacionamento mestre-escravo, a comunicação sempre ocorre em pares — um dispositivo deve iniciar a requisição e então aguardar por uma resposta — e o dispositivo iniciador (o mestre) é responsável por iniciar cada interação. Tipicamente, o mestre é uma interface homem-máquina (IHM) ou sistema SCADA (Supervisory Control and Data Acquisition) e o escravo é um sensor, controlador lógico programável (CLP) ou controlador programável para automação (CPA). O conteúdo dessas requisições e respostas e as camadas de rede pelas quais essas mensagens são enviadas são definidos pelas diferentes camadas do protocolo.
Acesso aos dados no Modbus e o modelo de dados do Modbus
Os dados que podem ser acessados pelo Modbus são armazenados, de forma geral, em um dos quatro bancos de dados, ou faixas de endereço: coils, entradas discretas, registradores holding e registradores de entrada. Como ocorre com muitas partes da especificação, esses nomes podem variar, dependendo da indústria ou aplicação. Por exemplo, os registradores holding podem ser denominados registradores de saída, e os coils podem ser referidos como saídas digitais ou discretas. Esses bancos de dados definem o tipo e os direitos de acesso dos dados contidos. Os dispositivos escravo têm acesso direto a esses dados, que são hospedados localmente nos dispositivos. Os dados que podem ser acessados pelo Modbus são de forma geral um subconjunto da memória principal do dispositivo. Por outro lado, os mestres Modbus precisam solicitar acesso a esses dados, utilizando diversos códigos de função
Endereçamento do modelo de dados
A especificação define que cada bloco contém um espaço de endereçamento de até 65.536 (216) elementos. Com a definição da PDU, o Modbus define o endereço de cada elemento de dados na faixa de 0 a 65.535. Entretanto, cada elemento de dados é numerado de 1 a n, onde n tem o valor máximo de 65.536. Assim, o coil 1 está no endereço 0 do bloco de coils, enquanto que o registrador holding 54 está no endereço 53 da seção de memória reservada pelo escravo para os registradores holding.
Não é obrigatório implementar as faixas completas permitidas pela especificação no dispositivo. Por exemplo, pode ser escolhido para um dado dispositivo não implementar coils, entradas discretas ou registradores de entrada e, em vez disso, utilizar registradores holding de 150 a 175 e 200 a 225. Isso é perfeitamente aceitável; nesse caso, tentativas de acesso inválidas seriam tratadas por exceções.
Faixas de endereçamento de dados
Embora a especificação defina que diferentes tipos de dados devem existir em blocos diferentes e atribua uma faixa de endereços local para cada tipo, isso não implica que haverá necessariamente um esquema de endereçamento intuitivo ou facilmente compreensível para a documentação da memória que pode ser acessada pelo Modbus para um determinado dispositivo. Para simplificar a discussão sobre as posições dos blocos de memória, foi introduzido um esquema de numeração que inclui prefixos ao endereço dos dados em questão.
Por exemplo, em vez de se referir a um item como registrador holding 14 no endereço 13, o manual do dispositivo pode se referir a um item de dados no endereço 4.014, 40.014 ou 400.014. Em todos esses casos, o primeiro número especificado é 4, que representa os registradores holding; os demais números especificam um endereço. A diferença entre 4XXX, 4XXXX e 4XXXXX depende do espaço de endereços utilizado pelo dispositivo. Se todos os 65.536 registradores estiverem em uso, utilizaremos a notação 4XXXXX, pois ela permite o uso da faixa de 400.001 a 465.536. Se apenas alguns registradores forem usados, uma prática comum é usar a faixa de 4.001 a 4.999.
Maiores detalhes neste excelente LINK
MODBUS TCP (Utilizado)
Modbus TCP/IP, também conhecido como Modbus-TCP é simplesmente o protocolo Modbus RTU com uma interface TCP que é executada na Ethernet.
TCP/IP chamado de Protocolo de Controle de Transmissão e Protocolo de Internet, que fornece o meio de transmissão para mensagens Modbus TCP/IP.
O TCP/IP facilita um grande número de conexões simultâneas, por isso é a escolha do iniciador se reconectar uma conexão ou reutilizar uma conexão vivida.
u-BLOX NINA W106
Wi-Fi 802.11b/g/n
Dual-Mode Bluetooth v4.2
Poderoso suporte de CPU aberta para aplicativos personalizados
Tamanho pequeno e várias opções de antena
Pino compatível com outros módulos NINA
Certificação global
Módulo baseado no ESP32, com 4MB FLASH
Haiwell Cloud SCADA
O software Haiwell Cloud SCADA permite a monitoração e controle de processos industriais. Também é o software utilizado para configurar a linha de IHMs. E o melhor de tudo, é grátis.
O software Haiwell Cloud SCADA é baseado em .NET Framework e permite a monitoração e controle de processos industriais. Também é o software utilizado para configurar a linha de IHMs (Interfaces Homem-Máquina) da Haiwell.
O Haiwell Cloud SCADA completo e sem limitações está disponível para download sem custos.
Diferenciais do SCADA Haiwell
Características de apresentação visual – Objetos visuais apresentam o estado das variáveis de campo na forma gráfica e numérica para o acompanhamento em tempo real do processo que está sendo monitorado.
Conectividade – O software se comunica com os mais diversos tipos de equipamentos de controle industrial, tais como CLPs, IHMs e inversores, utilizando diversos protocolos de comunicação, via comunicação serial e via Ethernet.
Utilização em rede – A operação em rede permite que diversos projetos possam ser clientes ou servidores de dados, compartilhando dados em redes distribuídas.
Diversas formas de alarme – As mensagens de alarme podem ser enviadas em diversos formatos, tais como imagens, mensagens de voz, SMS e-mail para os operadores pré-definidos.
Bando de dados – O software permite coletar e armazenar dados na forma de arquivos históricos. Os dados podem ser apresentados para análise na forma de tabelas numéricas e gráficos de tendência.
Linguagem de programação – O software permite criar trechos de programas scripts em JavaScript para o sequenciamento de ações coordenadas a partir do computador utilizado para monitorar e controlar o processo.
Segurança – Níveis de acesso pré-estabelecidos garantem a segurança do controle e operação dos processos de forma que os administradores, operadores e usuários tenham seu acesso restrito conforme as habilitações definidas durante a configuração do sistema de automação.
Simulação – O funcionamento do software Haiwell Cloud SCADA pode ser feito de forma simulada para testes ao longo do desenvolvimento, o que reduz o tempo de desenvolvimento e aumenta a segurança do processo de programação e configuração do sistema.
VISUINO
Visuino é o mais recente software inovador da Mitov Software. Um ambiente de programação visual que permite programar suas placas Arduino. ... Os componentes encontrados no software Visuino representam seus componentes de hardware e você pode criar e projetar facilmente seus programas usando o recurso de arrastar e soltar.
Abra o VISUINO e monte o projeto
Configuração para Colocar U-BLOX NINA W106 como MODBUS TCP (SERVER)
Nos exemplos abaixo, são criados dois INPUT REGISTERS os quais recebem números aleatórios para serem lidos pelo MODBUS TCP (CLIENT). Um Coil (entrada) também recebe um número (0,1) aleatório, outro Coil (saída) também é criado para acionar um LED.
Input Registers com registros 0 e 2 atribuídos pelo VISUINO, bem como dois Coils com registros 0 e 1
Configure o U-BLOX NINA W106 para acesso à Internet
Compile,Grave e resete o U-BLOX NINA W106
Execute o programa no U-BLOX NINA W106
No terminal aparecerá o IP.
Execute o aplicativo Haiwell Cloud SCADA e configure os dois READ INPUT REGISTER
Associe aos Objetos Visuais
No Visuino, os INPUT REGISTERS estão nos registros 0 e 2, que correspondem
3x0 e 3x2
COILS (LED e BOTÂO) correspondem 0x0 e 0x1
Endereço do MODBUS server - U-BLOX NINA W106
Projeto lendo RANDOM para os 2 INPUT REGISTER, lendo RANDOM para um Coil e escrevendo em outro Coil
Questões: suporte@smartcore.com.br
FONTES:
NINA-W10 data sheet (u-blox.com)
Sobre a SMARTCORE
Sobre a SMARTCORE
A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br
Nenhum comentário:
Postar um comentário