Bom dia, queridos leitores deste artigo. Escrevo isso em formato de revisão
Um pequeno avisoQuero avisar que, se você entendeu imediatamente sobre o que estamos falando pelo título, recomendo trocar o primeiro item (basicamente, o núcleo PLC) por qualquer coisa da faixa de preço um degrau acima.
Nenhuma economia de dinheiro vale a quantidade de nervos, subjetivamente.
Para aqueles que não se assustam com alguns fios grisalhos e a amplitude de um tique nervoso, mais tarde descreverei em detalhes como essa maravilha tecnológica foi criada. Neste artigo, farei uma análise breve do projeto com uma certa dose de criticismo.
Germinação. Definição do problema
Na verdade, trabalho em um escritório de design, e testamos equipamentos de automação para integração em nossas fábricas sob medida. Recentemente, recebemos equipamentos da OVEN e decidimos montar um estande de teste:
- PLC110[M02]-MS4 (ambiente de execução MasterSCADA 4D)
- Painel do operador SP307
- Módulo universal de entrada de sinais analógicos MV110-224.2A
- Módulo de entrada de sinais de transdutores MV110-4TD
- Módulo de medição elétrica MV110-220.3M
Estrutura do sistema foi escolhida com a separação de redes conforme sua finalidade:
- Modbus RTU baseado em RS-485 — comunicação do PLC com dispositivos subordinados (módulos, inversores, sensores inteligentes, painel HMI SP307), PLC-mestre da rede.
- Modbus TCP baseado em Ethernet — comunicação entre diferentes PLCs entre si e com o servidor OPC
- PC-servidor Os sistemas OPC e SCADA atuam simultaneamente como um gateway entre duas redes diferentes (LAN corporativa da empresa e rede Modbus TCP dos controladores (duas placas de rede com roteamento de dados por meio de recursos padrão do Windows)
- A LAN corporativa tem acesso à internet através de um servidor proxy
A estrutura do sistema em forma geral é apresentada na imagem abaixo:
![OVEN PLC110[M02]-MS4, HMI, OPC e SCADA, ou quanto uma pessoa precisa de chá de camomila. Parte 1](/wp-content/uploads/2019/10/18cb2554a35fbb11111a78572d0f2bf9.png)
Funcionalidade prevista
- Coleta e redirecionamento de dados do PLC para o servidor OPC
- Gerenciamento local e monitoramento por meio do painel HMI
- Gerenciamento e monitoramento através do SCADA via servidor OPC
- Gerenciamento de qualquer PC da LAN da empresa e pela internet usando o cliente SCADA
- Conexão de monitores OPC móveis via LAN e internet
- Evidentemente, arquivamento e geração de relatórios
Parece que não deixamos nada de fora. Temos uma descrição geral do sistema, e agora, de fato, sobre o assunto (os métodos de resolução serão descritos em artigos com a implementação de cada módulo):
Dificuldades surgidas
1. Documentação para o PLC
O teste beta do PLC anunciado com a base MasterSCADA 4D foi designado pelo fabricante em 2012. Apesar de sua longa existência, tudo que o desenvolvedor possui em 2019 é um manual de programação de 28 páginas, que contém quase nenhuma informação útil, e as capturas de tela no manual são do MasterSCADA 3D, o que é bem engraçado dado que a interface mudou.
Além disso, uma discussão ativa é mantida por três entusiastas e um gerente de vendas em um fórum, com 20 tópicos.
2. Arquitetura dos módulos do PLC
Este é um tópico separado para discussão. Resumidamente: o PLC se comunica com os módulos como dispositivos escravos Modbus RTU, que precisam ser configurados primeiro utilizando um utilitário, conectando cada um ao PC através de um conversor RS-485.
Os especialistas, naturalmente, podem fazer isso sem um conversor através do PLC, conectando os módulos de forma sequencial na rede e gravando os registros necessários, mas isso vem com experiência e uma enorme quantidade de dores.
Para um desenvolvedor que vê essa arquitetura pela primeira vez, não é nada user-friendly.
Além disso, todos os módulos analógicos tendem a falhar por motivos desconhecidos, levando toda a rede RS-485 para a Terra Incógnita, mas quero discutir isso separadamente, é uma verdadeira epopeia, é claro. Essa questão, a propósito, já existe há cerca de 10 anos, e o fabricante faz piadas sobre isso. «Deve-se admitir, nossos templates não foram bem-sucedidos», no entanto, essa é a única interface de comunicação com os módulos, e as pessoas, de forma bastante séria, já implementam suas próprias versões do Modbus RTU.
Enquanto isso, o chá de camomila estava acabando… O sol estava se pondo
3. IDE MasterSCADA
Não vamos falar sobre as ferramentas gráficas, eu não testei muito, mas posso dizer imediatamente que não gostei.
Falamos sobre a implementação da troca de dados e as linguagens da norma IEC:
As entradas físicas do controlador não são variáveis globais e não podem ser acessadas de qualquer parte do programa escrevendo um alias, por exemplo, «DI1». Cada programa deve arrastar isso manualmente, onde uma variável local é formada, que herda ou transmite o valor. Ou seja, a própria essência do PLC, na minha visão, está um pouco perdida: o dispositivo deveria simplificar a programação da lógica de trabalho dos canais físicos ao nível de «Se a entrada DI1 for acionada — Ativamos a saída DO1», e isso parece assim «Entrada DI1 — Variável LI1 — Variável LO1 — Saída DO1», também por desconhecer este princípio do IDE, pode-se receber uma interessante mensagem de aviso «Conversão Boolean-Boolean impossibilitada» (provavelmente, um deles é um ponteiro, mas imagino na edição dos criadores, fica mais harmônico).
As bibliotecas das linguagens ST, FBD, SFC são bastante extensas e há opções para facilitar a programação, entretanto, esses componentes não são funções, mas classes, dentro das quais estão embutidos métodos, e na maioria delas não existe documentação que descreva a funcionalidade e os tipos de dados. Minha persistência me levou às bibliotecas do núcleo do CodeSys, de onde todas essas funções foram retiradas, sua documentação ajudou.
4. Comunicação com o painel SP307
Um evento bastante interessante para quem não tem onde gastar alguns dias.
O teste padrão de GUI (HMI ou SCADA) para mim é realizar 6 testes:
- Leitura de sinal discreto
- Gravação de sinal discreto
- Leitura de valor inteiro
- Gravação de valor inteiro
- Leitura de valor real
- Gravação de valor real
Portanto, eu desenho na tela 6 componentes primitivos e verifico cada um deles em ordem
A comunicação é absolutamente a mesma que com os módulos, mas a partir de uma porta RS-232/485 do PLC, e, aparentemente, mais estável. Como é um HMI-slave, escrevi para ele em caso de mudança, e li por polling a cada 500ms, para não perder as ações do operador.
Os primeiros 4 itens foram executados perfeitamente, mas 5 e 6 apresentaram problemas.
Estamos enviando dados do tipo Single Float, exibimos na tela e vemos que os dados não estão corretos, embora todas as configurações de saída (Float, dimensionalidade 1 registrador e outras) estejam corretas. Não seria verdade dizer que o precedente não está descrito na documentação, no entanto, tente encontrar em qual e onde, isso é engraçado do lado de fora.
Após uma busca frenética em todas as configurações que dizem respeito aos próprios dados e seu envio, escrevemos para o suporte técnico, a resposta leva em média de 5 a 6 dias corridos, seguimos o roteiro padrão do suporte técnico «Verifique se a alimentação está ligada — verifique a versão do software — por favor, aguarde mais uma semana — vamos resolver por conta própria».
Por sinal, foi resolvido com a ativação de uma caixa de seleção em um local absolutamente inadequado com uma descrição absolutamente inadequada.
Na funcionalidade da tela não está previsto a entrada de sinal analógico do formato «Deslizante», só é possível inserir apenas no campo de texto como números. É simplesmente maravilhoso, ou usamos os botões «±» e a scriptagem por conta própria ou digitamos o número no teclado, esquecendo o controle suave de algum tipo de drive.
Não vou sobrecarregar o artigo, por isso descreverei os problemas com o nível superior na parte 2.
Resumindo, quero destacar que tive liberdade suficiente e muito tempo para resolver esses problemas, que à primeira vista parecem engraçados, mas causam muita dor para quem é afetado. Enfrentar esses problemas com prazos apertados é crítico.
P.S.: Todos os pontos apresentados aqui são subjetivos e são apenas uma tentativa de alertar os desavisados, e não discriminar os fabricantes; peço que leiam este artigo sob essa perspectiva.
A segunda parte já está aqui:
Fonte: habr.com
