Pergunta

Eu estou trabalhando com um PC baseado em software de automação pacote chamado Pense n''Do criado por Phoenix Contact Ele faz o processamento em tempo real, entradas de leitura/ lógica de controle / gravação de saídas de tudo feito, no prazo máximo de 50ms.Temos um OPC server que está a ler/escrever tags de um PLC cada 10ms.Há uma longa demora em escrever uma marca de PLC e voltar a ler o escrito de valor (Acho que n'Do (50ms) > Servidor OPC (10ms) > PLC (10ms) > Servidor OPC (10ms) > Acho que n'Do (50ms) ) esse processo demora até 6 segundos quando ele deve por minha matemática só tomar 130ms.

Alguma idéia de onde procurar ou por que ele pode tomar muito mais tempo seria útil.

Foi útil?

Solução

Depende de como você ter o seu cliente OPC configurado para receber dados.Quando você se inscrever em um grupo no OPC, você tem de especificar uma taxa de atualização.Isso pode padrão para 1s ou mesmo de 5 anos, dependendo do OPC client.Há também um limite de OPC server pode colocar na frequência de atualização de dados.Isso se aplica somente se você tiver seu OPC cliente subscrever a alteração de dados de eventos.

A outra maneira que você pode ir é para fazer assíncrono ou de sincronização lê / escreve para o servidor OPC.Existem vários modos de leitura bem.Desde que você está usando OPC, você pode usar qualquer OPC compatível com o cliente para testar o servidor, isso irá dizer se o problema é com a configuração Pensar n''Do ou é algo com o PLC / servidor.

O melhor de propósito geral OPC cliente que eu tenho usado é o OPC Rápida Cliente.Você pode obtê-lo com o Servidor SUPERIOR aqui: http://www.toolboxopc.com/Features/Demo/demo.shtml.Pegue o TOPO do Servidor de demonstração e instalar o OPC Rápida Cliente.Você pode usá-lo para se conectar ao seu servidor OPC e procurar as tags e ver o que os dados se parece.O segundo melhor OPC cliente que eu usei é da EMBLEMÁTICAS (chamada de Dados OPC Espião), disponível aqui: http://www.iconics.com/support/free_tools.asp.

Use a OPC client para ver o quão rápido você pode ler os dados.Certifique-se de definir o grupo de taxa de atualização corretamente.Eu acho que as ferramentas podem fornecer algumas informações de temporização para você também (mas você vai ser capaz de descobrir a 6 segundos de atraso muito facilmente).

Outras dicas

Soa como se você não estiver usando o cache do servidor OPC.Normalmente os servidores OPC tem um cache, se o cliente liga e não especificar que deseja usar o cache de você não conseguir o desempenho que você precisa.O servidor OPC é responsável por atualizar o cache do dispositivo, embora os critérios para refrescante podem diferir do OPC server para o servidor OPC.

Se o sistema não syncronous lê (bloqueio de chamada de e/S) e, em seguida, implementa a lógica de sua aplicação, em seguida, syncronous escreve (novamente o bloqueio), em seguida, você precisa considerar que existem várias viagens de ida e volta para o PLC.

Um syncronous leitura envolve App(pedido)->OPCServer->PLC->OPCServer->App(resultado).Que é apenas a leitura para um item (embora você pode perguntar para um grupo de itens de uma só vez).

Em seguida, um semelhante a sincronização escrever também envolve a Aplicação(Escrever)->OPCServer->PLC->OPCServer->App(Feito).

Assíncrona lê e grava e grupo lê e grava pode ajudar a reduzir o bloqueio do aplicativo, mas tenha cuidado para que sua aplicação pode lidar com este comportamento ansyncronous

A outra coisa é olhar para o PLC configuration, No CLP Allen-Bradley há um interscan atraso de configuração que é usada para atender a solicitações de e/S através de redes externas.Se que o tempo é curto e você tem uma alta largura de banda de dados, então isso vai abrandar as coisas.

Aqui estão algumas dicas:OPC, a configuração do Cliente OPC próprio Cliente, Servidor OPC, ou o PLC em si.

Aqui estão algumas coisas que você deve verificar:

  1. OPC Client configuração - A OPC Grupo que você tenha adicionado as tags OPC deve ter uma alta taxa de digitalização (ou seja,.100 ms a 1 s, dependendo do que você usá-lo para).Com o ato de escrever valores, você observe se os valores de chegar mais rápido?Se não, então pode haver um DCOM ou problema de configuração de rede.
  2. OPC Client - faça o Download gratuito do OPC Client software(provavelmente a partir da OPC Foundation website ou grandes OPC Server fornecedores de software) para ver se obter os valores de volta mais rápido.Se assim for, pode haver um problema com o seu cliente.
  3. OPC Server - Algumas OPC Server tem as ferramentas de diagnóstico.Transformá-las e ver o que é o tempo que o escreve, na verdade, ocorrer e em que momento o lê realmente ocorrem.Se você pode responder a essas perguntas, provavelmente, você pode identificar se o culpado do atraso é desde o PLC ou o Servidor OPC.Observe, também, o uso da CPU do Servidor OPC, se você perceber que ele está usando mais CPU do que o normal, isso provavelmente significa que o Servidor OPC é carregado para baixo, o que pode deteriorar o desempenho.
  4. Outros, Finalmente, verificar PLC, de rede estão a funcionar correctamente.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top