Painel de controle Habr baseado em HMI da Advantech


Vídeo: console de administração Habr. Permite regular o carma, avaliar e banir usuários.

TL; DR: Neste artigo tentarei criar um painel de controle Habr em quadrinhos usando o ambiente de desenvolvimento de interface industrial Webaccess/HMI Designer e o terminal WebOP.

Interface homem-máquina (HMI) é um conjunto de sistemas para interação humana com máquinas controladas. Normalmente, este termo é aplicado a sistemas industriais que possuem um operador e um painel de controle.

WebOP — um terminal industrial autónomo para a criação de interfaces homem-máquina. Usado para criar painéis de controle de produção, sistemas de monitoramento, salas de controle, controladores domésticos inteligentes, etc. Suporta conexão direta com equipamentos industriais e pode funcionar como parte de um sistema SCADA.

Terminal WebOP - hardware

Painel de controle Habr baseado em HMI da AdvantechO terminal WebOP é um computador de baixo consumo baseado em processador ARM, em um único gabinete com monitor e tela sensível ao toque, projetado para executar um programa com interface gráfica criada em HMI Designer. Dependendo do modelo, os terminais possuem diversas interfaces industriais integradas: RS-232/422/485, barramento CAN para conexão a sistemas automotivos, porta USB Host para conexão de periféricos adicionais, porta USB Client para conexão do terminal a um computador, áudio entrada e saída de áudio, leitor de cartão MicroSD para memória não volátil e transferência de configurações.

Os dispositivos são posicionados como um substituto econômico para PCs multifuncionais, para tarefas que não exigem processadores poderosos e recursos de um computador desktop completo. O WebOP pode funcionar como um terminal independente para controle e entrada/saída de dados, emparelhado com outros WebOPs ou como parte de um sistema SCADA.

Painel de controle Habr baseado em HMI da Advantech
O terminal WebOP pode ser conectado diretamente a dispositivos industriais

Resfriamento passivo e proteção IP66

Devido à baixa dissipação de calor, alguns modelos WebOP são projetados inteiramente sem resfriamento de ar ativo. Isto permite que os dispositivos sejam montados em áreas sensíveis aos níveis de ruído e reduz a quantidade de poeira que entra na caixa.

O painel frontal é feito sem frestas ou juntas, possui nível de proteção IP66 e permite a entrada direta de água sob pressão.

Painel de controle Habr baseado em HMI da Advantech
Painel traseiro do terminal WOP-3100T

Memória não volátil

Para evitar perda de dados, o WebOP possui 128 KB de memória não volátil, que pode ser trabalhada da mesma forma que a RAM. Ele pode armazenar leituras de medidores e outros dados críticos. No caso de falha de energia, os dados serão salvos e restaurados após uma reinicialização.

atualização remota

O programa executado no terminal pode ser atualizado remotamente através de uma rede Ethernet ou através de interfaces seriais RS-232/485. Isso simplifica a manutenção, pois elimina a necessidade de ir a todos os terminais para atualizar o software.

Modelos WebOP

Painel de controle Habr baseado em HMI da Advantech
Série 2000T - os dispositivos mais acessíveis construídos com base no sistema operacional em tempo real HMI RTOS. A série é representada por WebOP-2040T/2070T/2080T/2100T, com diagonais de tela de 4,3 polegadas, 7 polegadas, 8 polegadas e 10.1 polegadas, respectivamente.

Painel de controle Habr baseado em HMI da Advantech
Série 3000T — modelos mais avançados baseados no sistema operacional Windows CE. Eles diferem da série 2000T em um grande número de interfaces de hardware e possuem uma interface CAN integrada. Os dispositivos operam em uma faixa estendida de temperatura (-20~60°C) e possuem proteção antiestática (Ar: 15KV/Contato: 8KV). A linha atende integralmente aos requisitos da norma IEC-61000, o que permite que os dispositivos sejam utilizados na fabricação de semicondutores onde a descarga estática é um problema. A série é representada por WebOP-3070T/3100T/3120T, com diagonais de tela de 7 polegadas, 10.1 polegadas e 12.1 polegadas, respectivamente.

Ambiente de desenvolvimento WebAccess/HMI Designer

Pronto para uso, o terminal WebOP é apenas um computador ARM de baixo consumo de energia no qual você pode executar qualquer software, mas o objetivo desta solução é o ambiente proprietário de desenvolvimento de interface industrial WebAcess/HMI. O sistema consiste de dois componentes:

  • Projetista de IHM — ambiente para desenvolvimento de interfaces e lógica de programação. Funciona no Windows no computador do programador. O programa final é compilado em um arquivo e transferido para o terminal para execução em tempo de execução. O programa está disponível em russo.
  • Tempo de execução da IHM — tempo de execução para executar o programa compilado no terminal final. Ele pode funcionar não apenas em terminais WebOP, mas também em Advantech UNO, MIC e computadores desktop normais. Existem versões de tempo de execução para Linux, Windows, Windows CE.

Painel de controle Habr baseado em HMI da Advantech

Olá mundo - criando um projeto

Vamos começar a criar uma interface de teste para nosso painel de controle Habr. Vou executar o programa no terminal WebOP-3100T executando o WinCE. Primeiramente, vamos criar um novo projeto no HMI Designer. Para executar um programa no WebOP é importante selecionar o modelo correto, disso dependerá o formato do arquivo final. Nesta etapa, você também pode selecionar a arquitetura do desktop e, em seguida, o arquivo final será compilado para o tempo de execução X86.

Painel de controle Habr baseado em HMI da Advantech
Criando um novo projeto e escolhendo uma arquitetura

Selecionar o protocolo de comunicação através do qual o programa compilado será carregado no WebOP. Nesta etapa, você pode selecionar uma interface serial ou especificar o endereço IP do terminal.
Painel de controle Habr baseado em HMI da Advantech

Interface de criação de projetos. No lado esquerdo há um diagrama em árvore dos componentes do futuro programa. Por enquanto estamos interessados ​​apenas no item Telas, são diretamente as telas com elementos da interface gráfica que serão exibidas no terminal.

Painel de controle Habr baseado em HMI da Advantech

Primeiro, vamos criar duas telas com o texto “Hello World” e a possibilidade de alternar entre elas por meio de botões. Para isso, adicionaremos uma nova tela, a Tela #2, e em cada tela adicionaremos um elemento de texto e dois botões para alternar entre as telas (Screen Buttons). Vamos configurar cada botão para passar para a próxima tela.
Painel de controle Habr baseado em HMI da Advantech
Interface para configurar o botão para alternar entre telas

O programa Hello World está pronto, agora você pode compilá-lo e executá-lo. Na fase de compilação, podem ocorrer erros no caso de variáveis ​​ou endereços especificados incorretamente. Qualquer erro é considerado fatal; o programa só será compilado se não houver erros.
O ambiente oferece a capacidade de simular um terminal para que você possa depurar o programa localmente em seu computador. Existem dois tipos de simulação:

  • Simulação on-line — serão utilizadas todas as fontes de dados externas especificadas no programa. Podem ser USOs ou dispositivos conectados via interfaces seriais ou Modbus TCP.
  • Simulação off-line — simulação sem o uso de dispositivos externos.

Embora não tenhamos dados externos, utilizamos simulação offline, tendo previamente compilado o programa. O programa final estará localizado na pasta do projeto, com o nome NomeDoProjeto_NomeDoPrograma.px3

Painel de controle Habr baseado em HMI da Advantech
O programa em execução na simulação pode ser controlado com o cursor do mouse da mesma forma que seria na tela sensível ao toque de um terminal WebOP. Vemos que tudo funciona conforme planejado. Ótimo.
Para baixar o programa para um terminal físico, basta clicar no botão Download. Mas como não configurei a conexão do terminal ao ambiente de desenvolvimento, você pode simplesmente transferir o arquivo usando uma unidade flash USB ou cartão de memória MicroSD.
Painel de controle Habr baseado em HMI da Advantech
A interface do programa é intuitiva, não vou passar por todos os blocos gráficos. A criação de planos de fundo, formas e texto ficará clara para quem já usou programas semelhantes ao Word. Para criar uma interface gráfica não são necessários conhecimentos de programação; todos os elementos são adicionados arrastando o mouse sobre o formulário.

Trabalhando com memória

Agora que sabemos criar elementos gráficos, vamos aprender como trabalhar com conteúdo dinâmico e uma linguagem de script. Vamos criar um gráfico de barras exibindo dados de uma variável U $ 100. Nas configurações do gráfico, selecione o tipo de dados: inteiro de 16 bits e o intervalo de valores do gráfico: de 0 a 10.

Painel de controle Habr baseado em HMI da Advantech

O programa suporta a escrita de scripts em três linguagens: VBScript, JavaScript e sua própria linguagem. Usarei a terceira opção porque há exemplos na documentação e ajuda automática de sintaxe diretamente no editor.

Vamos adicionar uma nova macro:

Painel de controle Habr baseado em HMI da Advantech

Vamos escrever um código simples para alterar dados de forma incremental em uma variável que pode ser rastreada em um gráfico. Adicionaremos 10 à variável e zeraremos quando for maior que 100.

$U100=$U100+10
IF $U100>100
$U100=0
ENDIF

Para executar o script em loop, configure-o nas configurações de Configuração Geral como Macro Principal, com intervalo de execução de 250ms.

Painel de controle Habr baseado em HMI da Advantech
Vamos compilar e executar o programa no simulador:

Painel de controle Habr baseado em HMI da Advantech

Nesta fase, aprendemos a manipular os dados na memória e a exibi-los visualmente. Isso já é suficiente para criar um sistema de monitoramento simples, recebendo dados de dispositivos externos (sensores, controladores) e registrando-os na memória. No HMI Designer, diferentes blocos de exibição de dados estão disponíveis: na forma de mostradores circulares com setas, vários gráficos e gráficos. Usando scripts JavaScript, você pode baixar dados de fontes externas via HTTP.

Painel de controle Habr

Usando as habilidades adquiridas, faremos uma interface cômica para o console de administração Habr.

Painel de controle Habr baseado em HMI da Advantech

Nosso controle remoto deve ser capaz de:

  • Alternar perfis de usuário
  • Armazene dados de carma e classificação
  • Altere os valores de carma e classificação usando controles deslizantes
  • Ao clicar no botão “banir”, o perfil deverá ser marcado como banido, o avatar deverá mudar para riscado

Exibiremos cada perfil em uma página separada, portanto criaremos uma página para cada perfil. Armazenaremos karma e classificação em variáveis ​​locais na memória, que serão inicializadas usando Setup Macro quando o programa for iniciado.

Painel de controle Habr baseado em HMI da Advantech
A imagem é clicável

Ajustando carma e classificação

Para ajustar o carma usaremos o controle deslizante (Slide Switch). Especificamos a variável inicializada em Setup Macro como o endereço de gravação. Vamos limitar o intervalo de valores do controle deslizante de 0 a 1500. Agora, quando o controle deslizante se mover, novos dados serão gravados na memória. Neste caso, o estado inicial do controle deslizante corresponderá aos valores da variável na memória.

Painel de controle Habr baseado em HMI da Advantech
Para exibir os valores numéricos de carma e classificação, usaremos o elemento de exibição Numeric. O princípio de seu funcionamento é semelhante ao diagrama do exemplo do programa “Hello World”, simplesmente indicamos o endereço da variável em Monitor Address.

Botão Banir

O botão “ban” é implementado usando o elemento Toggle Switch. O princípio do armazenamento de dados é semelhante aos exemplos acima. Nas configurações você pode selecionar diferentes textos, cores ou imagens, dependendo do estado do botão.

Painel de controle Habr baseado em HMI da Advantech
Quando o botão é pressionado, o avatar deve ficar riscado em vermelho. Isso é fácil de implementar usando o bloco Picture Display. Ele permite que você especifique várias imagens associadas ao estado do botão Toggle Switch. Para fazer isso, o bloco recebe o mesmo endereço do bloco com o botão e o número de estados. A imagem com placas de identificação sob o avatar é configurada de maneira semelhante.

Painel de controle Habr baseado em HMI da Advantech

Conclusão

No geral, gostei do produto. Anteriormente, tive experiência no uso de um tablet Android para tarefas semelhantes, mas desenvolver uma interface para ele é muito mais difícil e as APIs do navegador não permitem acesso total aos periféricos. Um terminal WebOP pode substituir uma combinação de tablet, computador e controlador Android.

O HMI Designer, apesar de seu design arcaico, é bastante avançado. Sem habilidades especiais de programação, você pode esboçar rapidamente uma interface funcional. O artigo não discute todos os blocos gráficos, que são muitos: tubos animados, cilindros, gráficos, interruptores. Ele suporta muitos controladores industriais populares prontos para uso e contém conectores de banco de dados.

referências

O ambiente de desenvolvimento WebAccess/HMI Designer e Runtime pode ser baixado aqui

Fontes do projeto do painel de controle Habr

Fonte: habr.com

Adicionar um comentário