Pergunta

Todos nós sabemos que as várias formas de testar sistemas OO.No entanto, parece que eu vou estar indo para fazer um projeto onde eu vou estar lidando com PLC de lógica ladder (não pergunte :/), e gostaria de saber se há uma boa forma de testar a validade do sistema.

A única maneira que eu vejo até agora é simplesmente a construção de uma enorme mesa com todos os estados conhecidos do sistema e de saída de estados que gera.Isso faria por simples 'se a entrada A for, a curva de saída B em' casos.Eu não acho que isso vai funcionar para mais complicadas construções embora.

Foi útil?

Solução

A verificação da "lógica" de sistemas no projeto de IC arena é conhecido como "Design de Verificação", que é o processo de assegurar que o sistema de design de hardware (RTL) implementa a funcionalidade desejada.

Lógica Ladder pode ser transformada para uma das modernas HDL como Verilog..transformar cada escada

|---|R15|---+---|/R16|---------(R18)--------|
|           |
|---|R12|---+

para uma expressão como

always @(*) R18 = !R16 && ( R15 | R12);

ou você pode usar uma instrução assign

assign R18 = R16 && (R15 | R12); 

um ip-op

assign R18 = (set condition) || R18 && !(break condition);

Em seguida, usar um simulador verilog como Ícaro para desenvolver um testbench e teste o sistema.Certifique-se de que você está testcases dar uma boa cobertura de CÓDIGO a sua lógica!E Se a sua escada software de edição dá-lhe decente, de nomeação de recursos, usá-los, em vez de Rnn.

(Nota:em Lógica Ladder para do CLP convenção, Rnn é para relés internos, enquanto que, Xnn é uma entrada e Ynn é uma saída, como pode ser rapidamente obtidas a partir de um dos tutoriais on-line.

Verilog vai ser uma linguagem mais fácil para desenvolver seus testes e testbenches em!

Pode ser útil em alguns unidade de atrasos.

Desculpe, eu nunca olhou para a lógica ladder para/a partir do verilog tradutores..mas a lógica ladder no meu dia estava apenas sendo colocado em um computador para programação do CLP - a maioria dos sistemas de relé que eu usei foram o REAL Relés, com fios para os armários!!

Boa sorte.jbd

Há um par de lógica ladder editores (com simultors) disponíveis para livre..aqui está uma que é executado no windows supostamente:

http://cq.cx/ladder.pl

Outras dicas

Temos experimentado com cobertura de teste ferramentas para a Rockwell Controle de controladores Logix.A maioria linguagem de procedimento de teste ferramentas de cobertura de fazer ramo de cobertura, ou algum tipo;porque Relay Ladder Logic, normalmente, não é do ramo, isso não funciona muito bem.

O que temos é prototyped MC/DC (modificado/estado/decisão cobertura) para RLL código para a Rockwell controladores..Isso indica, para cada condição na linha, seja de que condição tem sido testado como VERDADEIRO, testado como FALSO, e o mais importante, se não a condição de controlada a saída de decisão na linha (bem, pelo menos a ação controlada pela decisão) em ambas verdadeiras e falsas direções em alguns testes.

Este trabalho é feito usando um objectivo geral do programa de análise e ferramenta de transformação chamado DMS usada para instrumento a RLL código com a lógica adicional para recolher os dados necessários.

Você ainda tem o código de testes de unidade.A maneira mais fácil de fazer isto é obter outro CLP para agir como um substituto para o mecânico de hardware que você tem a intenção de controlar, e simplesmente escrever outro RLL programa para o exercício da primeira.

Existe um programa chamado LogixPro que tem uma e / s simulador de lógica ladder, você pode tentar isso.

Às vezes, em pequenos PLC programas um programa de teste (ou sub-rotina, ou escada ficheiro) está escrito no projeto, que é executado somente quando o projeto está sendo emulado.O arquivo tem uma lógica simples que diz que, quando uma saída é energizado, ligue a entrada associada com o feedback.Em seguida, você pode controlar o seu PLC através de quaisquer IHM é com cópia para ele e ver o que o código se comporta como o esperado.É muito importante desativar ou excluir o programa de teste quando o software é baixado de um site real como ele pode fazer coisas muito estranhas no mundo real.

Em projetos maiores, cada dispositivo tem um modo de simulação que faz de algo um pouco semelhante. http://www.batchcontrol.com/s88/01_tutorial/06-modules.shtml

Isso não é nada, como o uso de estruturas de teste para OO línguas, mas eu realmente não tenho visto qualquer desenvolvimento orientado a testes para Clps, ou mesmo muito de testes automatizados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top