Boa tarde, queridos leitores deste artigo. Estou escrevendo isso em um formato de revisão
Pequeno avisoQuero avisar que, se você entendeu imediatamente o que é o discurso a partir do título, aconselho a alterar o primeiro item (na verdade, o núcleo do PLC) para qualquer coisa da categoria de preço um passo acima.
Não poupar dinheiro custa tantos nervos, subjetivamente.
Para aqueles que não têm medo de um pequeno cabelo grisalho e da amplitude de um tique nervoso, mais tarde descreverei em detalhes como esse milagre tecnológico foi criado. Neste artigo, uma breve análise do projeto com certo grau de crítica.
Origem. Declaração do problema
Na verdade, trabalho em um escritório de design e testamos equipamentos de automação para integração em nossas plantas chave na mão. Recentemente, o equipamento de Áries foi recebido no armazém e foi decidido montar uma bancada de testes a partir dele:
- PLC110 [M02] -MS4 (ambiente de execução MasterSCADA 4D)
- Painel do Operador SP307
- Módulo de entrada universal de sinais analógicos MV110-224.2A
- Módulo de entrada de sinais de strain gauges MV110-4TD
- Módulo elétrico MV110-220.3M
A estrutura do sistema foi escolhida com a delimitação de redes de acordo com sua finalidade:
- Modbus RTU baseado em RS-485 - comunicação entre o PLC e os escravos (módulos, tabelas de frequências, sensores inteligentes, painel HMI SP307), rede principal do PLC.
- Modbus TCP baseado em Ethernet - Comunicação entre diferentes CLPs entre si e com o servidor OPC
- O servidor de PC dos sistemas OPC e SCADA é ao mesmo tempo um gateway entre duas redes diferentes (LAN corporativa da empresa e rede de controladores Modbus TCP (dois adaptadores de rede com roteamento de dados usando ferramentas padrão do Windows)
- A LAN corporativa possui acesso à Internet através de um servidor proxy
A estrutura do sistema em geral é mostrada na imagem abaixo:

A funcionalidade incorporada
- Coleta e redirecionamento de dados do PLC para o servidor OPC
- Gerenciamento e monitoramento local através do painel IHM
- Gerenciamento e monitoramento do SCADA através do servidor OPC
- Gerenciamento de qualquer PC da LAN corporativa e via Internet usando um cliente SCADA
- Conexão de monitores OPC móveis via LAN e Internet
- Obviamente, arquivar e gerar relatórios
Parece que eles não perderam nada. Há uma descrição geral do sistema, e agora, de fato, sobre o tópico (descreverei as soluções nos artigos com a implementação de cada nó):
Dificuldades
1. documentação do PLCO teste beta do PLC declarado no núcleo do MasterSCADA 4D foi designado pelo fabricante em 2012. Apesar de um período tão impressionante da existência do conceito, tudo o que o desenvolvedor possui em 2019 é um guia de programação em 28 páginas (!?), Nas quais há informações um pouco menos úteis e capturas de tela no manual do MasterSCADA 3D, o que é bem engraçado com dado que a interface mudou.
Também é apoiado ativamente por três especialistas e um gerente de vendas, um tópico do fórum em 20 tópicos.
2. Arquitetura dos módulos PLCEste é um tópico separado para discussão. Resumidamente: o PLC se comunica com os módulos, assim como com os dispositivos escravos Modbus RTU, que primeiro devem ser configurados pelo utilitário que conecta cada um separadamente a um PC através de um conversor RS-485.
Os tios inteligentes, é claro, provavelmente sabem como fazer isso sem um conversor através do CLP, conectando seqüencialmente os módulos à rede e escrevendo os registros necessários, mas isso traz experiência e muita dor.
Para um desenvolvedor que viu essa arquitetura pela primeira vez, não é nada fácil de usar.
Além disso, todos os módulos analógicos gostam de falhar por razões desconhecidas, ocupando toda a rede RS-485 no Terra Incognita, mas também quero falar sobre isso separadamente, um épico inteiro, é claro. O problema, a propósito, é de cerca de 10 anos, o fabricante brinca:
"Devemos admitir que não tivemos sucesso" , mas essa é a única interface para comunicação com módulos, e as pessoas, com muita seriedade, há muito tempo escrevem suas implementações Modbus RTU.
Enquanto isso, o chá de camomila estava acabando ... O sol estava se pondo ao pôr do sol3. IDE MasterSCADANão falamos sobre ferramentas gráficas, não testei muito, mas direi imediatamente que não gostei.
Estamos falando da implementação de intercâmbio de dados e idiomas do padrão IEC:As entradas físicas dos pinos do controlador não são variáveis globais e não podem ser acessadas de nenhuma parte do programa escrevendo um alias, por exemplo, "DI1". Em cada programa você deve arrastá-lo com alças, uma variável local é formada lá, que herda ou passa o valor. I.e. a própria essência do PLC, na minha visão, está um pouco perdida: o dispositivo deve simplificar a programação da lógica dos canais físicos para o nível
“Se a entrada DI1 funcionou - ligue a saída DO1” , e se parece com essa
“Entrada DI1 - Variável LI1 - Variável LO1 - Saída DO1” , também devido à ignorância desse princípio de IDE, é possível captar o delicioso aviso "A transformação booleano-booleana é impossível" (provavelmente, o deles é um ponteiro, mas apresento aos criadores como mais harmonioso).
As bibliotecas de linguagens ST, FBD, SFC são bastante volumosas e há uma opção para conveniência de programação, no entanto, esses componentes não são funções, mas classes, nas quais os métodos são costurados e, em segundo lugar, na maioria das vezes, não há ajuda com uma descrição da funcionalidade e dos tipos de dados. A persistência me levou às principais bibliotecas do CodeSys, de onde todas essas funções foram retiradas, sua ajuda ajudou.
4. Troque com o painel SP307Um evento bastante interessante para quem não tem para onde passar alguns dias.
O teste GUI padrão (HMI ou SCADA) para mim é fazer 6 testes:
- Ler sinal discreto
- Gravação discreta de sinal
- Ler valor inteiro
- Escrevendo um valor inteiro
- Lendo o valor real
- Registro de um valor material
Assim, eu desenho 6 componentes primitivos na tela e cada verificação é feita
A troca é exatamente igual à dos módulos, mas a partir de uma porta RS-232/485 PLC separada e, ao que parece, é mais estável. Como a IHM é escrava, escrevi sobre a mudança e li com uma pesquisa de 500ms para não perder as ações do operador.
Os 4 primeiros pontos foram excelentes, mas 5 e 6 causaram problemas.
Enviamos dados do tipo Single Float, na tela os exibimos e vemos que os dados não são os mesmos, embora todas as configurações de saída (Float, registro da dimensão 1, etc.) estejam corretas. Seria falso dizer que o precedente não está descrito na documentação, no entanto, tente descobrir em qual e onde é engraçado do lado.
Após uma enumeração histérica de todas as configurações relacionadas aos dados em si e ao seu envio,
escrevemos para o suporte técnico, a resposta é em média de 5 a 6 dias, trabalhamos de acordo com o script de suporte técnico padrão "Verifique se a energia está ligada - verifique a versão do software - aguarde, aguarde mais uma semana você mesmo .
"A propósito, decidi instalar uma marca de seleção em um local absolutamente inadequado com uma assinatura absolutamente inadequada.
A funcionalidade da tela
não inclui a entrada de um sinal analógico no formato "Corredor" , mas pode ser digitado apenas no campo de texto em números. Isso é simplesmente incrível: escrevemos os botões "±" e o script ou inserimos um número no teclado, esquecemos o controle suave de qualquer unidade.
Como não sobrecarregarei o artigo, descreverei os problemas com o nível superior na parte 2.
Resumindo, quero observar que tive liberdade suficiente e muito tempo para resolver esses problemas, que à primeira vista parecem ridículos, mas causam muita dor à vítima. Nas condições de tempo limitado, esses problemas são críticos.
PS: Todas as teses apresentadas aqui são subjetivas e são apenas uma tentativa de alertar os despreparados e não discriminar os fabricantes. Por favor, trate este artigo deste ponto de vista.
A segunda parte já está aqui: clique em