ES2776445T3 - Método para depurar un programa PLC - Google Patents

Método para depurar un programa PLC Download PDF

Info

Publication number
ES2776445T3
ES2776445T3 ES16192825T ES16192825T ES2776445T3 ES 2776445 T3 ES2776445 T3 ES 2776445T3 ES 16192825 T ES16192825 T ES 16192825T ES 16192825 T ES16192825 T ES 16192825T ES 2776445 T3 ES2776445 T3 ES 2776445T3
Authority
ES
Spain
Prior art keywords
interrupt
stage
plc
debugging
mpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16192825T
Other languages
English (en)
Inventor
Kang-Hee Park
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LS Electric Co Ltd
Original Assignee
LSIS Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LSIS Co Ltd filed Critical LSIS Co Ltd
Application granted granted Critical
Publication of ES2776445T3 publication Critical patent/ES2776445T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13142Debugging, tracing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25252Microprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Un método para usar un microprocesador de propósito general para depurar un controlador lógico programable, PLC, el método comprende: recibir en una unidad de procesamiento principal, MPU del PLC, un comando de depuración desde una computadora personal, PC; en la MPU del PLC, interrumpir la ejecución del PLC en una etapa de interrupción; y reanudar la ejecución del PLC cuando la MPU completa la depuración; caracterizado porque el método comprende, además: recibir una instrucción de configuración de etapa de interrupción para establecer la etapa de interrupción desde la PC; almacenar, en un área de almacenamiento temporal (222) de un almacenamiento de datos (220) del PLC, un número de etapa para una ubicación de la etapa de interrupción y un código de compilación correspondiente a la ubicación de la etapa de interrupción; sustituir el código de compilación correspondiente a la ubicación de la etapa de interrupción, en un área de código de compilación (221) del almacenamiento de datos (220), con un código de interrupción excepcional para establecer la etapa de interrupción para la depuración; determinar, si se ha producido una interrupción excepcional para la depuración, si un modo actual es un modo de depuración dependiendo de si el número de etapa y el código de compilación de la etapa de interrupción para la depuración se almacenan en el área de almacenamiento temporal (222) al ejecutar un programa del usuario etapa por etapa mientras se ejecuta el PLC; y interrumpir la ejecución del PLC en la etapa de interrupción para la depuración cuando se determina que el modo actual es el modo de depuración.

Description

DESCRIPCIÓN
Método para depurar un programa PLC
Antecedentes
1. Campo técnico
La presente descripción se refiere a un método para usar un microprocesador de propósito general para depurar un Controlador Lógico Programable (PLC), y, en particular, a un método para usar un microprocesador de propósito general para depurar un PLC, que utiliza una unidad de procesamiento principal (MPU) que no tiene una función de rastreo separada a diferencia de un ASIC dedicado, para permitir que un usuario interrumpa una conducción en una etapa establecida por el usuario, depurando efectivamente el PLC.
2. Descripción de la técnica relacionada
Un controlador lógico programable (PLC) realiza una función de interrupción de las operaciones del PLC en una etapa del programa que un usuario desea en medio de la ejecución de un programa de secuencia escrito por el usuario, para permitir al usuario verificar la información de ejecución hasta el momento, de modo que el usuario puede detectar fácilmente errores en el programa o los datos del usuario en un momento específico.
Una computadora personal (PC) realiza operaciones de transmisión de un comando de depuración al PLC a través de comunicaciones, el comando de depuración contiene una etapa de interrupción de depuración que el usuario puede seleccionar arbitrariamente y lee varios datos del PLC.
El documento WO00/58857A2 describe un PLC de la técnica anterior y un método para depurar un programa en tiempo real mientras el programa lo ejecuta el PLC.
El documento EP2687928A1 describe una solución de la técnica anterior en la que se usa una computadora personal para realizar una operación de transmisión de un comando de depuración a un PLC.
El PLC realiza el procesamiento fundamental requerido para operar el propio PLC y, en el camino de realizar operaciones para ejecutar códigos de compilación, realiza operaciones de interrupción de la ejecución en una etapa de ejecución transmitido desde la PC y también reanuda la ejecución de acuerdo con las instrucciones de la PC.
Al recibir la etapa de interrupción para interrumpir la depuración desde la PC, el PLC almacena el número de etapa de la etapa de interrupción para interrumpir la depuración en un almacenamiento temporal dentro del PLC. El PLC ejecuta una función de verificación de depuración en cada etapa al ejecutar el programa del usuario. La función de verificación de depuración sirve para determinar si una etapa de ejecución actual corresponde a la etapa de interrupción almacenado en el almacenamiento temporal y permite que la ejecución se interrumpa cuando se determina que la etapa de ejecución actual corresponde a la etapa de interrupción. El PLC que ha interrumpido la ejecución en cualquier función espera hasta que recibe una instrucción de reanudación de ejecución de la PC y reanuda la ejecución desde la etapa interrumpida al recibir la instrucción de reanudación de ejecución.
Generalmente, un ASIC dedicado al PLC está diseñado para incluir una función TRACE en H/W, en donde la función TRACE es una función de interrumpir la ejecución en una etapa particular en el programa del usuario y notificarlo al PLC.
Sin embargo, la MPU de propósito general no tiene dicha función y, por lo tanto, contiene un algoritmo diseñado para que el PLC siga una rutina de verificación de depuración en cada etapa. Por lo tanto, una rutina de procesamiento de depuración convencional determina si un modo de ejecución actual del PLC es un modo de depuración, interrumpe la ejecución cuando se determina que el modo de ejecución actual es el modo de depuración y luego espera hasta que la siguiente instrucción se transmita desde la PC. El PLC reanuda la ejecución desde el siguiente etapa de interrupción actual al recibir la instrucción de reanudación de ejecución.
Un método de depuración convencional ejecuta la rutina de procesamiento de depuración para verificar una condición de procesamiento de interrupción de depuración en cada etapa de ejecución del programa del usuario. Por lo tanto, aumenta el tiempo de procesamiento del PLC para realizar las operaciones de procesamiento de bifurcación y depuración.
Además, el PLC ejecuta repetidamente la rutina de verificación de depuración que no se realiza en el modo de ejecución normal, incluso cuando se ejecuta en el modo de depuración. Por lo tanto, existe la posibilidad de que se produzcan efectos contaminantes impredecibles y, por lo tanto, es probable que el PLC no funcione como en un modo de ejecución.
Resumen
Es un aspecto de la presente descripción proporcionar un método para usar un microprocesador de propósito general para depurar un PLC, en el que el método simplifica la depuración del PLC y mejora su rendimiento.
Otros objetivos de la presente descripción no se limitan al objeto descrito anteriormente y otros objetivos y ventajas se pueden apreciar mediante la siguiente descripción descrita con referencia a las realizaciones de la presente descripción.
La presente invención se define por las características de la reivindicación independiente. Las modalidades beneficiosas preferidas de las mismas están definidas por las características secundarias de las reivindicaciones dependientes.
Al hacerlo, la presente descripción supera la desaceleración de la velocidad de procesamiento del PLC o los problemas en la depuración previa debido a los efectos concomitantes causados por la función de verificar si una etapa de ejecución actual es una etapa de depuración cada vez que se ejecuta cada etapa.
La presente descripción realiza la misma operación que en un modo de ejecución normal hasta que se produce una interrupción excepcional y, por lo tanto, puede mejorar la velocidad de procesamiento y la precisión en la depuración del PLC.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de una configuración de sistema para llevar a cabo un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
La Figura 2 es un diagrama de flujo para ilustrar un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
La Figura 3 es un diagrama de flujo que ilustra un proceso de configuración de una etapa de interrupción en un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
La Figura 4 es un diagrama de bloques que ilustra un proceso de copia de seguridad de un código de compilación y sustituirlo por un código de interrupción excepcional en un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
La Figura 5 es un diagrama de flujo que ilustra un proceso de realización de una rutina del proceso de interrupción en un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
Descripción detallada
De ahora en adelante, las modalidades preferidas de acuerdo con la presente descripción se describirán en detalle con referencia a los dibujos acompañantes.
La Figura 1 es un diagrama de bloques de una configuración de sistema para llevar a cabo un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
Con referencia a la Figura 1, una computadora personal (PC) realiza operaciones de comunicación con un controlador lógico programable (PLC) 200 para transmitir un comando de depuración a una unidad de procesamiento principal (MPU) 210 a través de comunicaciones (por ejemplo, USB, serie, etc.) y recibir información de estado de la MPU 210, leyendo así diversos datos del PLC 200, en donde el comando de depuración contiene información con respecto a una etapa de depuración que un usuario puede elegir a discreción del usuario.
La PC 100 puede realizar la depuración en el PLC para verificar un error en un programa o datos del usuario de interrupciones en un punto de tiempo particular. Para hacerlo, la PC 100 interrumpe la operación del PLC 200 en una etapa del programa, en la que un usuario desea, en el camino, ejecutar un programa de secuencia escrito por el usuario en el PLC 200, y permite al usuario verificar la información de ejecución hasta ahora.
El PLC 200 incluye la MPU 210 y un almacenamiento de datos 220. La MPU 210 se comunica con la PC 100 para hacer una copia de seguridad del número de etapa de la etapa interrumpida y un código de compilación de la etapa interrumpida en el almacenamiento de datos 220 y sustituye el código de compilación con un código de interrupción excepcional, configurando así la etapa de interrupción para la depuración.
La MPU 210 ejecuta el programa del usuario etapa por etapa en la ejecución del PLC y, a su vez, sigue una rutina de procesamiento de interrupciones en una etapa que tiene el código de interrupción excepcional, para interrumpir la ejecución del PLC para la depuración. Luego, la MPU 210 reanuda la ejecución del PLC cuando se completa la depuración a través de las comunicaciones con la PC 100.
El almacenamiento de datos 220 almacena los datos de ejecución y el código de compilación que el programa de secuencia escrito por el usuario se traduce a un lenguaje de máquina para un ejemplo, el almacenamiento de datos 220 incluye la operación en la MPU 210. En un ejemplo, el almacenamiento de datos 220 incluye una RAM. El almacenamiento de datos 220 tiene un área de código de compilación para almacenar un código de compilación para cada etapa y un área de almacenamiento temporal.
La Figura 2 es un diagrama de flujo para ilustrar un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
Con referencia a la Figura 2, el PLC 200 se comunica con la PC 100 para, al recibir una instrucción de configuración de etapa de interrupción, establecer una etapa de interrupción, hacer una copia de seguridad del número de etapa de la etapa de interrupción y un código de compilación en el área de almacenamiento temporal y sustituir la etapa de interrupción con un código de interrupción excepcional, estableciendo así la etapa de interrupción para la depuración (S10).
Bajo una condición en la que se establece la etapa de interrupción para la depuración, la MPU 210 sigue una rutina del proceso de interrupción en una etapa que tiene el código de interrupción excepcional al ejecutar el programa del usuario etapa por etapa mientras se ejecuta el PLC, para interrumpir la ejecución del PLC para la depuración y luego reanuda la ejecución del PLC cuando se completa la depuración (S20).
La Figura 3 es un diagrama de flujo para ilustrar un proceso de establecimiento de una etapa de interrupción en un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción. La Figura 4 es un diagrama de bloques para ilustrar un proceso de copia de seguridad de un código de compilación y sustituirlo por un código de interrupción excepcional en un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
Con referencia a la Figura 3, la MPU 210 del PLC se comunica con la PC 100 (S11). Por lo tanto, la MPU 210 recibe una instrucción de configuración de la etapa de interrupción para establecer la etapa de interrupción desde la PC 100.
Por lo tanto, la MPU 210 determina si la instrucción de configuración de la etapa de interrupción para establecer la etapa de interrupción se ha recibido del PC 100 (S12).
Cuando se determina que la instrucción de configuración de la etapa de interrupción se recibe de la PC, la MPU 210 realiza una copia de seguridad del número de etapa de la etapa de interrupción y un código de compilación correspondiente a la ubicación de la etapa de interrupción en el área de almacenamiento temporal 222 del almacenamiento de datos 220 (S13).
La MPU 210 no almacena solo el número de etapa de la etapa de interrupción, sino que también almacena el código de compilación contenido en la etapa de interrupción en el área de almacenamiento temporal 222.
Por ejemplo, haciendo referencia a la Figura 4, que muestra un ejemplo de recepción de la instrucción de establecimiento de la etapa de interrupción con respecto a una segunda etapa, un código de compilación 'SUB' de la segunda etapa se almacena en el área de almacenamiento temporal 222 del almacenamiento de datos 220.
Luego, la MPU 210 sustituye el código de compilación correspondiente a la ubicación de la etapa de interrupción en el área de código de compilación 21 del almacenamiento de datos 220 con un código de interrupción excepcional (S14). Es decir, el código de compilación correspondiente a la ubicación de la etapa de interrupción se sustituye por el código de interrupción excepcional que da como resultado una interrupción excepcional en la MPU 210. Por ejemplo, el código de interrupción excepcional contiene un lenguaje de máquina que genera una interrupción no enmascarable (NMI), una excepción de instrucción o códigos de interrupción excepcionales utilizados en cada MPU de uso general.
En la Figura 4 que muestra un ejemplo de recepción de la instrucción de configuración de la etapa de interrupción para la depuración con respecto a la segunda etapa, la MPU 210 sustituye el código de compilación 'SUB' de la segunda etapa en el área de código de compilación 221 del almacenamiento de datos 220 con un código de EXCEPCIÓN. A partir de entonces, la MPU 210 realiza la ejecución normal del PLC.
La Figura 5 es un diagrama de flujo para ilustrar un proceso de realización de una rutina del proceso de interrupción en un método de uso de un microprocesador de propósito general para depurar un controlador lógico programable de acuerdo con una realización de la presente descripción.
Con referencia a la Figura 5, la MPU 210 del PLC 200 ejecuta el programa del usuario etapa por etapa (S21). El PLC 200 ejecuta cada etapa para leer los códigos de compilación de cada etapa y determinar si se ha producido una interrupción excepcional (S22).
Cuando se determina que la interrupción excepcional ocurrió en cualquier etapa, la MPU 210 determina si un modo de ejecución actual es un modo de depuración (S23). La determinación es si un modo de ejecución actual es un modo de depuración con respecto a la interrupción excepcional dependiendo de si hay el número de etapa y el código de compilación de la etapa de interrupción en el área de almacenamiento temporal 222. Por ejemplo, bajo una condición en la que se ha producido la interrupción excepcional, se determina que el modo de ejecución actual es el modo de depuración cuando el número de etapa y el código de compilación de la etapa de interrupción se han almacenado en el área de almacenamiento temporal 222.
Cuando se determina que el modo de ejecución actual está en el modo de depuración, la MPU 210 interrumpe la ejecución y se comunica con la PC 100 para la depuración (S24). En consecuencia, la PC 100 realiza la depuración en la etapa de interrupción en un estado en el que se interrumpe la activación del PLC 200.
La MPU 210 determina si la instrucción de reanudación de ejecución se ha recibido de la PC 100 (S25).
Cuando se determina que la instrucción de reanudación de ejecución se ha recibido de la PC 100, la MPU 210 restaura el código de compilación almacenado en el área de almacenamiento temporal 222 (S26) y continúa con la siguiente etapa (S27).
De lo contrario, cuando se determina en S23 que un modo de ejecución actual no es un modo de depuración, la MPU 210 considera y procesa la interrupción excepcional como una interrupción excepcional general (S23). Es decir, si el número de etapa y el código de compilación de la etapa de interrupción no se han almacenado en el área de almacenamiento temporal 222, la MPU 210 determina que se produce la interrupción excepcional general y procesa un procesamiento de interrupción de excepción general.
Como tal, al llegar a la segunda etapa en el camino de la ejecución, se genera una interrupción excepcional de MPU y se ramifica una rutina del proceso de interrupción ya que el código de compilación ha sido sustituido por un código que permite que ocurra una interrupción excepcional de la MPU 210.
Por lo tanto, después de verificar solo si la etapa actual es la etapa de depuración, sin la necesidad de determinar si la etapa actual es una etapa de interrupción, la MPU 210 permite que se interrumpa el PLC 200. Posteriormente, la MPU 210 espera mientras realiza la comunicación con la PC 100. Además, al recibir la instrucción de reanudación de ejecución, restaura el código de compilación primitivo de la etapa interrumpida respaldado en el área de almacenamiento temporal 222 y luego reanuda la ejecución del PLC 200.
Debido a que la depuración convencional tiene que realizar una función de verificar si una etapa de ejecución actual es una etapa de depuración cada vez que se ejecuta cada etapa como se describió anteriormente, puede ralentizar la velocidad de procesamiento del PLC o tener problemas debido a los efectos concomitantes causados por la ejecución del función. Mientras tanto, la presente descripción puede realizar la misma operación que en un modo de ejecución general hasta que se produce una interrupción excepcional y, por lo tanto, puede mejorar tal problema como se describe anteriormente.

Claims (5)

  1. REIVINDICACIONES
    i. Un método para usar un microprocesador de propósito general para depurar un controlador lógico programare, PLC, el método comprende:
    recibir en una unidad de procesamiento principal, MPU del PLC, un comando de depuración desde una computadora personal, PC;
    en la MPU del PLC, interrumpir la ejecución del PLC en una etapa de interrupción; y reanudar la ejecución del PLC cuando la MPU completa la depuración;
    caracterizado porque el método comprende, además:
    recibir una instrucción de configuración de etapa de interrupción para establecer la etapa de interrupción desde la PC; almacenar, en un área de almacenamiento temporal (222) de un almacenamiento de datos (220) del PLC, un número de etapa para una ubicación de la etapa de interrupción y un código de compilación correspondiente a la ubicación de la etapa de interrupción;
    sustituir el código de compilación correspondiente a la ubicación de la etapa de interrupción, en un área de código de compilación (221) del almacenamiento de datos (220), con un código de interrupción excepcional para establecer la etapa de interrupción para la depuración;
    determinar, si se ha producido una interrupción excepcional para la depuración, si un modo actual es un modo de depuración dependiendo de si el número de etapa y el código de compilación de la etapa de interrupción para la depuración se almacenan en el área de almacenamiento temporal (222) al ejecutar un programa del usuario etapa por etapa mientras se ejecuta el PLC; y
    interrumpir la ejecución del PLC en la etapa de interrupción para la depuración cuando se determina que el modo actual es el modo de depuración.
  2. 2. El método según la reivindicación 1, que comprende además: en la MPU, recibir una instrucción de reanudación de ejecución del PLC desde una PC para reanudar la ejecución del PLC.
  3. 3. El método según la reivindicación 1, en donde la interrupción de la ejecución del PLC incluye:
    mientras sigue la rutina del proceso de interrupción para la depuración, en la MPU, procesar el programa del usuario gradualmente en camino a ejecutar el PLC; y en la MPU, leer un área de código de compilación correspondiente a cada etapa para determinar si se ha producido la interrupción excepcional para la depuración dependiendo de si el código de interrupción excepcional se ha almacenado en el área de código de compilación.
  4. 4. El método según la reivindicación 3, que comprende además: en la MPU, reanudar la ejecución cuando se completa la depuración y restaurar, en el área de código de compilación, el código de compilación, correspondiente a la etapa de interrupción, almacenado en el área de almacenamiento temporal de los datos almacenamiento.
  5. 5. El método según la reivindicación 3, que comprende además: en la MPU, determinar si el modo actual es el modo de depuración y ejecutar un procesamiento de interrupción general cuando se determina que el modo actual no es el modo de depuración.
ES16192825T 2015-10-22 2016-10-07 Método para depurar un programa PLC Active ES2776445T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150147155A KR101743836B1 (ko) 2015-10-22 2015-10-22 범용 마이크로 프로세서를 이용한 plc의 디버깅 방법

Publications (1)

Publication Number Publication Date
ES2776445T3 true ES2776445T3 (es) 2020-07-30

Family

ID=57113192

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16192825T Active ES2776445T3 (es) 2015-10-22 2016-10-07 Método para depurar un programa PLC

Country Status (6)

Country Link
US (1) US10041998B2 (es)
EP (1) EP3159756B1 (es)
JP (1) JP6318214B2 (es)
KR (1) KR101743836B1 (es)
CN (1) CN107065737B (es)
ES (1) ES2776445T3 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897301A (zh) * 2018-06-06 2018-11-27 北京铂阳顶荣光伏科技有限公司 一种专用设备的调试方法、装置及系统
CN109375576B (zh) * 2018-12-05 2021-07-20 广州奇芯机器人技术有限公司 一种plc程序信号在线分析和诊断方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303990A (en) * 1976-07-01 1981-12-01 Gulf & Western Industries, Inc. Programmable controller using microprocessor
DE3678893D1 (de) * 1985-10-03 1991-05-29 Mitsubishi Electric Corp Rechnerprogrammdebugsystem.
US5802389A (en) * 1994-12-29 1998-09-01 Siemens Energy & Automation, Inc. Expansion module address method and apparatus for a programmable logic controller
JPH1165886A (ja) * 1997-08-19 1999-03-09 Hitachi Ltd 計算機のプログラムデバック方式
JP2000215079A (ja) * 1999-01-22 2000-08-04 Nec Radio Equipment Eng Ltd Cpuデバッガ
US6574743B1 (en) * 1999-03-30 2003-06-03 Siemens Energy & Automation Programmable logic controller method, system and apparatus
US6839785B2 (en) * 2001-03-21 2005-01-04 Siemens Energy & Automation, Inc. System for and method of interfacing expansion modules with programmable logic controllers (PLC)
JP4784355B2 (ja) * 2006-03-17 2011-10-05 富士電機株式会社 プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法、プログラミング支援プログラム、プログラマブルコントローラのデバッグ制御プログラム
JP2008204023A (ja) 2007-02-19 2008-09-04 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法
CN101082819A (zh) * 2007-07-10 2007-12-05 张家港市万科信息技术有限公司 可视化可编程逻辑控制器
KR101426983B1 (ko) * 2010-07-07 2014-08-06 엘에스산전 주식회사 Plc의 통신장치 및 방법
JP4905597B1 (ja) * 2011-03-15 2012-03-28 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
JP5800135B2 (ja) 2011-07-15 2015-10-28 富士電機株式会社 プログラマブルコントローラ
JP5849592B2 (ja) * 2011-10-07 2016-01-27 富士電機株式会社 プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
CN104898546B (zh) * 2015-05-06 2017-07-14 浙江中控研究院有限公司 一种基于soc的plc在线调试系统和方法

Also Published As

Publication number Publication date
CN107065737B (zh) 2019-08-13
EP3159756B1 (en) 2019-12-25
JP6318214B2 (ja) 2018-04-25
US10041998B2 (en) 2018-08-07
CN107065737A (zh) 2017-08-18
JP2017084361A (ja) 2017-05-18
EP3159756A1 (en) 2017-04-26
KR101743836B1 (ko) 2017-06-07
US20170115349A1 (en) 2017-04-27
KR20170047435A (ko) 2017-05-08

Similar Documents

Publication Publication Date Title
US10503629B2 (en) Debugging method, multi-core processor, and debugging device
US10409709B2 (en) Debugging method, multi-core processor and debugging device
US9329977B2 (en) Framework for a software error inject tool
US20120124556A1 (en) Computing device and device driver debugging method
EP3306470A1 (en) Method and apparatus for executing non-maskable interrupt
CN104778116B (zh) 一种多断点的软件调试装置和方法
ES2776445T3 (es) Método para depurar un programa PLC
RU2014138139A (ru) Система управления технологическим процессом, периферийное устройство для использования в ней (варианты) и способ планирования действий
CN108292236A (zh) 一种信息处理方法及装置
CN108572831B (zh) 一种软件在线更新升级系统及方法
CN104572425B (zh) 程序调试方法、装置及系统
JP5906609B2 (ja) デバッグ支援プログラム、デバッグ支援方法及びデバッグ支援システム
CN112445607B (zh) 一种应用程序执行方法函数的方法及装置
CN102541649B (zh) 可配置中断程序运行模式的中断控制器
KR101630001B1 (ko) 동작 중 프로그램 변경이 가능한 장치
JP2018128767A (ja) デバッグシステム及び半導体装置
KR101188412B1 (ko) 소프트웨어의 함수 추적을 통한 디버깅 방법
CN108089886A (zh) 一种智能卡芯片下载程序的实现方法
CN107025132B (zh) 中断配置方法和装置
CN111158768A (zh) 一种服务器开关机控制方法、装置、设备及存储介质
CN116361084A (zh) 多核处理器调试方法、装置、调试设备和可读存储介质
EP2284708B1 (en) Microprogammable device code tracing
CN105573750A (zh) 一种基于嵌入式处理器的SoC验证软件设计平台