Aplicações CODESYS - comunicação catman-PMX Aplicações CODESYS - comunicação catman-PMX | HBM

Aplicações CODESYS – comunicação catman–PMX

Estas instruções descrevem como criar uma aplicação CODESYS para PMX. É necessária experiência básica com o CODESYS. Usuários experientes são livres para adotarem uma abordagem diferente. Mais ajuda está disponível a partir dos exemplos que estão instalados como padrão no desktop quando o pacote PMX é instalado e da ajuda on-line para o pacote.

Os arquivos necessários podem ser encontrados no CD "PMX CODESYS" que está incluso com o PMX com CODESYS ou pode ser baixado da página de suporte em hbm.com.

Neste exemplo, o PMX é usado como um servidor TCP/IP e cria uma comunicação com o catman AP da HBM.

O catman AP permite que canais da CPU possam ser definidos usando comandos personalizados, como por exemplo, para alterar os valores de referência PID ou similar. Portanto, sistemas de controle simples e automatizados podem ser implementados usando o PMX da HBM.

A funcionalidade básica do servidor TCP/IP no PMX é explicada na página de dicas do equipamento. A manipulação de cadeias descrita neste exemplo foi feita usando as bibliotecas OSCAT fornecidas (www.oscat.de). No PMX, o exemplo consiste principalmente entre o servidor TCP/IP e a interface da CPU. Funções de comunicação com o PC são fornecidas por um script do catman Easy.

Extraia o pacote CODESYS

Abra o ambiente de desenvolvimento
Execute o software CODESYS como administrador.

Extraia o pacote.

Conecte o PMX

Adicione um gateway

Duplo clique em “Device (CODESYS Control HBM PMX V3)“ e então pressione “Add gateway“ na margem direita. Mantenha os ajustes padrões e confirme pressionando "OK".

Integre o PMX

A função “Scan network” deve detectar automaticamente o PMX. Ative o equipamento clicando duas vezes sobre ele.

Interpretação de comando no PMX pelo CODESYS

O servidor TCP/IP é usado como uma caixa preta. Após o catman AP ter criado com sucesso uma conexão com ela, o servidor transmite as strings recebidas para a interface CPU que interpreta os comandos e opera de acordo.

Como introdução ao exemplo, as interfaces do servidor são mostradas em primeiro lugar. Então, vamos dar uma olhada mais de perto na interpretação de comando e explicar a conexão com os canais de CPU que podem ser usados para processamento posterior. Neste exemplo, dois canais são configurados desta forma.

Interfaces de servidor

  • Entradas:
    • sSend (String: String para ser enviado)
    • porta (Word: Porta na qual o PMX pode ser acessado)
    • sIpAddress (String: Endereço IP que tem de ser ajustado para o endereço IP mostrado no navegador web)
    • bStart (Boolean: Inicia o servidor)
    • bShutDownServer (Boolean: Pára o servidor)
  • Saídas:
    • sReceived (String: String recebido)
    • bClientOnline (Boolean: Sinais de identificação de um cliente)

Funcionalidade da interface CPU

A interface CPU fornecida suporta três comandos cada um para cada canal: set, get, reset. Os comandos são combinados no menu "InstructionSet" para fornecer uma visão geral das funções para o usuário.

Por favor, note que os comandos "set" terminam com um espaço: isso torna mais fácil para distinguir entre o comando real e o parâmetro a ser definido.

Quando o servidor TCP detecta uma conexão com o catman AP, a interface do CPU começa a verificar as mensagens recebidas em "sReceived". Uma vez que um comando é detectado, ele é executado.

O comportamento que é acionado pelo comando tem de ser determinado na interface do CPU.

Valores a serem devolvidos para catman AP tem que ser encerrado com a string "$R$N".  Para conseguir isso, o valor de retorno é concatenado com "$R$N" em uma string usando o comando string "Concat ()".

Atribuição aos canais CPU

A atribuição de variáveis aos canais de CPU é implementada no ambiente de desenvolvimento do CODESYS conforme abaixo:

  • Duplo clique em “Device” na árvore de diretórios do lado esquerdo do ambiente de desenvolvimento para abrir a janela de configuração correspondente;
  • Clique na aba “Internal I/O Mapping“. (2);
  • Desça até "Codesys Output x" e dê dois cliques no campo em branco na coluna “Variable” (3);
  • Selecione a variável de sua escolha na janela que se abre (a variável deve ser do tipo REAL!);
  • Finalmente, cheque a caixa “Always update variables“ no canto inferior direito. (4)

catman AP

Um script do catman Easy deve ser criado no catmanAP, que é capaz de criar um cliente TCP/IP por meio da biblioteca “EA_Comm” e pelo tratamento dos comandos definidos no CODESYS. Claro que qualquer outro cliente TCP/IP também pode estabelecer uma conexão com o PMX e comunicar através de comandos.

O exemplo fornece uma visualização com vários botões que permitem que uma conexão seja estabelecida passo a passo. Os botões deve ser operado na seqüência conforme indicado: conectar-se ao PMX, definir ou obter valores como necessário, desconectar-se do PMX. Se ocorrer um problema, desconectar e reconectar o PMX geralmente ajuda.

Um valor no campo (5) que não é igual a zero indica ao usuário de que existe um problema.

Use o botão “Connect to PMX” (1) para iniciar uma conexão. Se o PMX foi conectado com sucesso, a mensagem "Ready" aparecerá no campo (3). Os canais conectados 1 e 2 da CPU podem ser configurados (2) e obter (4) no campo (3) a partir de agora. O usuário tem que ter certeza de que os valores definidos estão dentro do intervalo específico de valores do PMX. Caso contrário, o canal CPU será configurado, mas o hardware conectado não conseguirá processar o valor inválido. 

Além disso, tem de haver um valor no campo (3), caso contrário, um zero será ajustado automaticamente no canal.

Valores de retorno também são exibidos no campo (3). O campo (5) só fornece detecção de erros dentro do script. Assim que um valor apresentado não for igual a zero, desconecte e reconecte. Depois da parametrização dos canais, a conexão deve ser sempre desfeita (6).

O código script permite entender como a biblioteca “EA_Comm” é usada para a instalação do cliente TCP/IP. As rotinas correspondentes, ou superiores, são acionadas pelos botões na visualização. As próximas são lidas apenas com a configuração do canal 1 da CPU. Entretanto, os sub-métodos podem ser transferidos para o canal 2 da CPU.

A variável "Timeout" define o período de espera por uma resposta do servidor. O tempo deve ser sempre maior do que os ciclos do PLC. "Id" oferece uma maneira de gerenciar os soquetes adjacentes. "Terminator" define o caractere ASCII até que as mensagens no buffer sejam lidas: "char 10" é para o "Linefeed", assim como “$R$N” é para o CODESYS. O tamanho do buffer é definido por “MaxBytes” e deve corresponder ao tamanho do buffer no PMX. O mesmo se aplica para o número de portas e para o endereço IP, é claro.

Por favor, note que o buffer de recepção não é esvaziado automaticamente pela biblioteca. Ou seja, ao reler uma mensagem depois de ter sido lida com êxito, todos os bytes restantes da mensagem anterior, que não incluem qualquer informação relevante, são lidos. O problema é resolvido através da leitura do buffer, byte por byte, até que esteja vazio. A parte correspondente é marcada em "getCPU1".

Dica

Mais informações e ajuda com a criação de programas CODESYS estão disponíveis na ajuda online CODESYS, na página https://www.codesys.com/ ou na sala de chat CODESYS em https://forum.codesys.com/

Aproveite o conhecimento e as informações da loja CODESYS. Você encontrará muitos exemplos de programas e soluções lá, cobrindo uma ampla gama de tarefas https://store.codesys.com/

Atenção

Estes exemplos são apenas para fins ilustrativos. Eles não podem ser usados como base para qualquer reclamação de garantia ou de responsabilidade.