2008-09-16 76 views
8

Todos conocemos las diversas formas de probar los sistemas OO. Sin embargo, parece que voy a hacer un proyecto en el que lidiaré con la lógica de escalera del PLC (no preguntes: /), y me preguntaba si hay una buena manera de probar la validez del sistema.Escala lógica de prueba

La única forma que veo hasta ahora es simplemente construir una gran tabla con todos los estados conocidos del sistema y qué estados de salida genera. Esto haría por simple 'si la entrada A está activa, enciende la salida B en' casos. Sin embargo, no creo que esto funcione para construcciones más complicadas.

Respuesta

4

La verificación de sistemas "lógicos" en el campo del diseño de circuitos integrados se conoce como "Verificación de diseño", que es el proceso de garantizar que el sistema que diseña en hardware (RTL) implementa la funcionalidad deseada.

lógica

escalera se puede transformar en una de las más modernas de HDL como Verilog .. transformar cada escalera

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

a una expresión como

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

o se puede utilizar una sentencia de asignación

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

un relé de enganche

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

A continuación, utilice un simulador de verilog gratuito como Icarus para desarrollar un banco de pruebas y probar su sistema. ¡Asegúrate de que los testcases dan una buena cobertura CODE de tu lógica! Y si su software de edición de escalera le ofrece capacidades de nomenclatura decentes, úselos, en lugar de Rnn.

. (Nota: en la lógica de escalera para la convención del PLC, Rnn es para relés internos, mientras que, Xnn es una entrada y Ynn es una salida, como se puede extraer rápidamente de uno de los tutoriales en línea

Verilog se ser un lenguaje más fácil de desarrollar sus pruebas y bancos de prueba en!

puede ser útil a programar en algunos retrasos unidad.

lo sentimos, nunca he buscado la lógica de escalera para/desde traductores verilog .. pero escalera la lógica en mi época solo estaba siendo puesta en una computadora para programar PLC's - la mayoría de Los sistemas de relevo que utilicé fueron relés REALES, conectados a los armarios.

Buena suerte. jbd

Hay un par de editores de lógica de escalera (con simultors) disponibles de forma gratuita .. aquí es uno que se ejecuta en Windows supuestamente:

http://cq.cx/ladder.pl

+0

muy agradable! Voy a examinar ese simulador pronto, con suerte. –

0

Hay un programa llamado LogixPro que tiene un simulador IO para lógica de escalera, puedes intentarlo.

1

Experimentamos con herramientas de cobertura de prueba para controladores Rockwell Control Logix. La mayoría de las herramientas de cobertura de pruebas de idiomas de procedimientos cubren sucursales o algo así; porque la lógica de la escalera de relés normalmente no se ramifica, esto no funciona muy bien.

Lo que hemos prototipo es MC/DC (modificada/estado/cobertura de decisión) para el código RLL para los controladores de Rockwell .. Esto le indica, para cada condición en peldaño, si este requisito ha sido probado como VERDADERO, FALSO como probado, y más importante, si la condición controlaba la salida de la decisión en el renglón (bueno al menos la acción controlada por la decisión) en direcciones verdaderas y falsas bajo alguna prueba.

Este trabajo se realiza utilizando una herramienta de análisis y transformación de programas de uso general llamada DMS que se utiliza para instrumentar el código RLL con lógica adicional para recopilar los datos necesarios.

usted todavía tiene que las pruebas unitarias de código. La forma más fácil de hacerlo es hacer que otro PLC actúe como un reemplazo del hardware mecánico que pretende controlar, y simplemente escriba otro programa RLL para ejercer el primero.

0

veces en programas de PLC pequeños un programa de prueba (o subrutina, o un archivo de escalera) se escribe en el proyecto, que sólo se ejecuta cuando se está emulando el proyecto. El archivo tiene una lógica simple que dice que cuando una salida está activada, active la entrada asociada con la retroalimentación. Luego puede controlar su PLC a través de cualquier HMI que esté conectado y ver que el código se comporte como se esperaba. Es muy importante desactivar o eliminar el programa de prueba cuando el software se descarga a un sitio real, ya que puede hacer cosas muy extrañas en el mundo real.

En proyectos más grandes que cada dispositivo tiene un modo de simulación que hace algo ligeramente parecido. http://www.batchcontrol.com/s88/01_tutorial/06-modules.shtml

Esto no tiene nada que ver con el uso de marcos de prueba para lenguajes OO, pero realmente no he visto ningún desarrollo impulsado por pruebas para PLC, o incluso muchas pruebas automatizadas.