KR19990024554A - 피엘씨의 시뮬레이터 - Google Patents

피엘씨의 시뮬레이터 Download PDF

Info

Publication number
KR19990024554A
KR19990024554A KR1019970045727A KR19970045727A KR19990024554A KR 19990024554 A KR19990024554 A KR 19990024554A KR 1019970045727 A KR1019970045727 A KR 1019970045727A KR 19970045727 A KR19970045727 A KR 19970045727A KR 19990024554 A KR19990024554 A KR 19990024554A
Authority
KR
South Korea
Prior art keywords
program
executable file
virtual machine
plc
debug
Prior art date
Application number
KR1019970045727A
Other languages
English (en)
Other versions
KR100294633B1 (ko
Inventor
손진욱
Original Assignee
이종수
엘지산전 주식회사
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 이종수, 엘지산전 주식회사 filed Critical 이종수
Priority to KR1019970045727A priority Critical patent/KR100294633B1/ko
Publication of KR19990024554A publication Critical patent/KR19990024554A/ko
Application granted granted Critical
Publication of KR100294633B1 publication Critical patent/KR100294633B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 피엘씨의 시뮬레이터에 관한 것으로, 종래에는 간단한 논리 프로그램을 검증할 때도 반드시 피엘씨장치가 있어야함과 아울러 모니터 정보를 사용자에게 즉각적으로 제공할 수 없고, 또한 통신상에서 시간지연이 발생하고 아울러 검증되지 않는 논리프로그램을 피엘씨장치를 통해 직접 실행시켜야 하므로 예상치 못한 오류가 생겨 인적/물적 손실이 발생할 수 있는 문제점이 있었다. 따라서, 본 발명은 논리프로그램을 작성하는 프로그램에디터와; 상기 프로그램에디터에서 작성된 논리프로그램을 입력받아 이를 컴파일하여 실행파일로 변환하는 가상머신용 실행파일메이커와; 상기 가상머신용 실행파일메이커로부터 출력된 실행파일을 입력받아 이를 이용하여 논리프로그램을 실행하는 피엘씨가상머신과; 상기 피엘씨가상머신의 프로그램운용에 필요한 변수,플래그등을 저장하는 공용램과; 상기 공용램의 데이터를 사용자에게 알맞은 형식으로 디스플레이하는 모니터 및 디버그부로 구성하여 피엘씨 의 논리프로그램을 모의로 실행시켜 모니터링함과 아울러 디버깅함으로써 사용자가 작성한 논리 프로그램을 쉽게 검증하고 피엘씨 작동에 필요한 여러 선행 작업을 덜어 주며 또한 모니터 정보를 즉각적으로 사용자에게 보여주어 프로그램 오류에 의한 손실을 미리 예방할 수 있는 효과가 있다.

Description

피엘씨의 시뮬레이터
본 발명은 피엘씨의 시뮬레이터에 관한 것으로, 특히 논리프로그램을 피엘씨 없이가상으로 실행시켜 모니터링 및 디버깅을 해줄 수 있도록 한 피엘씨의 시뮬레이터에 관한 것이다.
도1은 일반적인 피엘씨의 모니터 및 디버그 장치도로서, 이에 도시된 바와같이 피씨(1)와; 상기 피씨(1)를 콘넥트(2)로 연결하여 상호 약속된 프로토콜을 이용하여 통신하는 피엘씨(12)로 구성된다.
도2는 종래 피엘씨(12)의 씨뮬레이터 블록구성도로서, 이에 도시된 바와같이 논리프로그램을 작성하는 프로그램에디터(10)와; 상기 프로그램에디터(10)의 논리프로그램을 입력받아 이를 컴파일하여 실행파일로 변환하는 피엘씨용실행파일메이커(11)와; 상기 피엘씨용실행파일메이커(11)로부터 출력된 실행파일을 통신을 통해 입력받아 이를 이용하여 논리프로그램을 실행하는 피엘씨(12)와; 상기 피엘씨(12)에서 실행되고 있는 정보를 입력받아 이를 모니터링 및 디버깅하는 모니터 및 디버그부(13)로 구성되며, 이와같이 구성된 종래 장치의 동작을 설명한다.
먼저, 피씨(1) 내부에는 논리프로그램작성을 위한 프로그램에디터(10)와 모니터 및 디버그부(13)를 가지고 있느데, 상기 프로그램에디터(10)에서 작성된 논리프로그램은 약속된 프로토콜을 통해 피엘씨(12)로 다운로드된다.
이때, 상기 논리프로그램을 모니터링 및 디버깅하기 위해서 리모트로 피엘씨(12)를 동작시킨후, 실행중인 프로그램의 정보를 일정간격으로, 혹은 필요시에 통신을 통해 피엘씨(12)로부터 읽어온다.
여기서, 논리프로그램 실행에 필요한 모든 기능은 피엘씨(12)의 오에스(O/S)부가 갖추고 있으며, 피엘씨(12)의 컴퓨터 인터페이스모듈은 피씨(1) 내부에 있는 프로그램에디터(10), 모니터 및 디버그부(13)와 통신을 담당한다.
즉, 피씨(1)의 프로그램에디터(10)에서 작성된 논리프로그램은 피엘씨용실행파일메이커(11)를 거친후 통신을 통하여 피엘씨(12)에 다운로드된다.
이때, 상기 다운로드된 실행파일은 피엘씨(12)에 의해 실행되고, 만약 피씨(1)의 모니터 및 디버그부(13)에 의해 원거리 제어될 경우 피엘씨(12)는 실행되고 있는 모니터정보를 상기 피씨(1)의 모니터 및 디버그부(13)에 연속적으로 전송하며, 이에따라 상기 피씨(1)의 모니터 및 디버그부(13)는 모니터정보를 모니터링하고 또한 오류정보를 디버깅하게 된다.
그러나, 상기와 같이 동작하는 종래 장치는 간단한 논리 프로그램을 검증할 때도 반드시 피엘씨장치가 있어야함과 아울러 모니터 정보를 사용자에게 즉각적으로 제공할 수 없고, 또한 통신상에서 시간지연이 발생하고 아울러 검증되지 않는 논리프로그램을 피엘씨장치를 통해 직접 실행시켜야 하므로 예상치 못한 오류가 생겨 인적/물적 손실이 발생할 수 있는 문제점이 있었다.
따라서, 본 발명은 피엘씨의 논리프로그램을 피엘씨 장치 없이 가상으로 실행시켜 논리프로그램을 모니터링 및 디버깅할 수 있는 피엘씨의 시뮬레이터를 제공함에 그 목적이 있다.
도 1은 일반적인 피엘씨의 모니터 및 디버그장치도.
도 2는 종래 피엘씨의 시뮬레이터 블록구성도.
도 3은 본 발명 피엘씨의 시뮬레이터의 블록구성도.
도 4는 도 3에 있어서, 피엘씨 가상머신의 블록구성도.
도 5는 도 3에 있어서, 프로그램메모리에 브레이크포인트를 삽입하는 방법도.
도 6은 도4에 있어서의 흐름도.
도면의 주요부분에 대한 부호의 설명
10 : 프로그램에디터 20 : 가상머신용실행파일메이커
21 : 피엘씨가상머신 22 : 공용램
13 : 모니터 및 디버그부
상기와 같은 목적은 논리프로그램을 작성하는 프로그램에디터와; 상기 프로그램에디터에서 작성된 논리프로그램을 입력받아 이를 컴파일하여 실행파일로 변환하는 가상머신용 실행파일메이커와; 상기 가상머신용 실행파일메이커로부터 출력된 실행파일을 입력받아 이를 이용하여 논리프로그램을 실행하는 피엘씨가상머신과; 상기 피엘씨가상머신의 프로그램운용에 필요한 변수,플래그등을 저장하는 공용램과; 상기 공용램의 데이터를 사용자에게 알맞은 형식으로 디스플레이하는 모니터 및 디버그부로 구성함으로써 달성되는 것으로, 이와같은 본 발명을 설명한다.
도3은 본 발명 피엘씨(12)의 시뮬레이터 블록구성도로서, 이에 도시한 바와같이 논리프로그램을 작성하는 프로그램에디터(10)와; 상기 프로그램에디터(10)에서 작성된 논리프로그램을 입력받아 이를 컴파일하여 실행파일로 변환하는 가상머신용 실행파일메이커(20)와; 상기 가상머신용실행파일메이커(20)로부터 출력된 실행파일을 입력받아 이를 이용하여 논리프로그램을 실행하는 피엘씨가상머신(21)과; 상기 피엘씨가상머신(21)의 프로그램운용에 필요한 변수나 플래그등을 저장하는 공용램과(22); 상기 공용램(22)의 데이터를 사용자에게 알맞은 형식으로 디스플레이하는 모니터 및 디버그부(13)로 구성한다.
도4는 상기 피엘씨가상머신(21)의 블록구성도로서, 이에 도시한 바와같이 호출프로그램의 시작번지를 가지고 있는 태스크호출테이블부(40)와; 상기 모니터 및 디버그부(13)로부터 디버그 정보를 입력받아 이를 저장하는 디버그정보테이블부(42)와; 시스템의 정보를 프로그램메모리(44)로부터 타이머의 값과 오류정보를 입력받아 이를 저장하는 시스템램(43)과; 상기 테스크호출테이블부(40),디버그정보테이블부(42) 및 시스템램(43)의 모든 동작을 제어하는 운영시스템부(41)로 구성하며, 이와같이 구성한 본 발명의 일실시예의 동작을 도5 및 도6을 참조하여 설명한다.
먼저, 사용자는 프로그램에디터(10)를 이용하여 피엘씨(12)의 논리프로그램을 작성하고, 가상머신용실행파일메이커(20)는 상기 프로그램에디터(10)로부터 피엘씨(12)의 논리프로그램을 입력받아 이를 컴파일하여 중간코드형태로 변환하고 그 중간코드를 인텔 기계어코드로 바꾸어 상하단에 파일정보를 덧붙여 실행파일을 만든다.
이때, 피엘씨가상머신(21)의 운영시스템부(41)는 모니터 및 디버그부(13)와의 내부통신을 통해 디버그 정보를 입력받아 이를 이용하여 디버그정보테이블부(42)를 구성하고, 또한 디버그정보테이블부(42)의 데이터를 바탕으로 프로그램메모리(44)에 디버그 정보를 포함시키며 아울러 현재의 디버그 상태를 내부통신을 통하여 모니터 및 디버그부(13)로 전송한다.
여기서, 피엘씨가상머신(21)의 태스크호출테이블부(40)는 호출프로그램의 시작번지들을 가지고 있으며 각 시작번지에는 호출순위가 매겨져 있으며, 운영시스템부(41)는 프로그램 실행전과 실행중에 태스크호출테이블부(40)을 계속해서 변경하며, 또한 상기 태스크호출테이블부(40)을 검사하여 그에 따라 프로그램을 중지시키거나 다른 프로그램을 실행시켜 준다.
또한, 운영시스템부(41)는 타이머의 값과 오류정보를 저장하고 있는 피엘씨가상머신(21)의 시스템램(43)에 접근하여 그 시스템램(43)의 데이터를 관리한다.
즉, 상기 피엘씨가상머신(21)은 가상머신용실행파일메이커(20)에서 만들어진 실행파일을 다루기 위해서 태스크호출테이블부(40)을 구성하며, 이때 상기 태스크호출테이블부(40)는 스캔프로그램과 태스크프로그램의 시작번지 및 실행조건을 저장하고 있으며 또한 스캔프로그램의 실행순서를 정해준다.
이후, 하나의 프로그램을 로드할때, 만약 디버그 모드이면 브레이크포인트를 도5에서 보는 바와같이 프로그램포인트에 삽입한다.
즉, 명령어 한바이트를 임시버퍼(50)에 복사한 후 정수코드(int)를 삽입하며, 만약 브레이크가 걸리면 정수코드(int)를 다시 임시버퍼(50)에 복사된 원래 코드로 바꾸어 준다.
상기와 같은 방법으로 브레이크정보를 프로그램 메모리(44)에 포함시킨 후 태스크호출테이블부(40)의 데이터를 기초로 프로그램을 실행하는데, 이때 실행중 디버그 브레이크가 걸리면 디버그 정보를 내부통신을 통해 모니터 및 디버그부(13)로 전송하여 사용자의 지시를 기다린다.
이때, 사용자가 실행을 정지시키지 않으면 프로그램 수행을 계속하는데 이를 상기 태스크호출테이블부(40)에 있는 모든 태스크 프로그램에 대해 상기의 과정을 반복하고, 이후 운영시스템부(41)는 상기 태스크 프로그램의 실행조건을 검사한 후 그조건에 만족하는 태스크 프로그램을 실행하며, 여기서 사용자의 정지액션이 없는 동안은 상기의 과정을 계속하여 반복한다.
상기와 같이 동작하는 본 발명은 피엘씨 논리프로그램을 모의로 실행시켜 모니터링함과 아울러 디버깅함으로써 사용자가 작성한 논리 프로그램을 쉽게 검증하고 피엘씨 작동에 필요한 여러 선행 작업을 덜어 주며 또한 모니터 정보를 즉각적으로 사용자에게 보여주어 프로그램 오류에 의한 손실을 미리 예방할 수 있는 효과가 있다.

Claims (3)

  1. 논리프로그램을 작성하는 프로그램에디터와; 상기 프로그램에디터에서 작성된 논리프로그램을 입력받아 이를 컴파일하여 실행파일로 변환하는 가상머신용실행파일메이커와; 상기 가상머신용실행파일메이커로부터 출력된 실행파일을 입력받아 이를 이용하여 논리프로그램을 동작하는 피엘씨가상머신과; 상기 피엘씨가상머신의 프로그램운용에 필요한 변수,플래그등을 저장하는 공용램과; 상기 공용램의 데이터를 사용자에게 알맞은 형식으로 디스플레이하는 모니터 및 디버그부로 구성한 것을 특징으로 하는 피엘씨의 시뮬레이터.
  2. 제1항에 있어서, 피엘씨가상머신은 호출프로그램의 시작번지를 가지고 있는 태스크호출테이블부와; 상기 모니터 및 디버그부로부터 디버그 정보를 입력받아 이를 저장하는 디버그 정보테이블부와; 시스템 정보와 프로그램메모리로부터 타이머의 값과 오류정보를 입력받아 이를 저장하는 시스템램과; 상기 테스크호출테이블부,정보테이블부 및 시스템램의 모든 동작을 제어하는 운영시스템부로 구성한 것을 특징으로 하는 피엘씨의 시뮬레이터.
  3. 제2 항에 있어서, 프로그램메모리는 프로그램포인트의 명령어 한바이트를 임시버퍼에 복사한 후 그 프로그램포인트에 정수코드를 삽입하고 브레이크가 걸리면 임시버퍼에 복사된 원래 코드가 삽입되는 것을 특징으로 하는 피엘씨의 시뮬레이터.
KR1019970045727A 1997-09-04 1997-09-04 피엘씨의시뮬레이터 KR100294633B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970045727A KR100294633B1 (ko) 1997-09-04 1997-09-04 피엘씨의시뮬레이터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970045727A KR100294633B1 (ko) 1997-09-04 1997-09-04 피엘씨의시뮬레이터

Publications (2)

Publication Number Publication Date
KR19990024554A true KR19990024554A (ko) 1999-04-06
KR100294633B1 KR100294633B1 (ko) 2001-07-12

Family

ID=37527571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970045727A KR100294633B1 (ko) 1997-09-04 1997-09-04 피엘씨의시뮬레이터

Country Status (1)

Country Link
KR (1) KR100294633B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101053104B1 (ko) * 2009-10-28 2011-08-02 엘에스산전 주식회사 전산기기 소프트웨어 테스트 방법 및 시스템
KR101317581B1 (ko) * 2012-03-02 2013-10-11 엘에스산전 주식회사 피엘시 래더 프로그램의 에러 추적 방법
KR101323937B1 (ko) * 2012-01-02 2013-10-31 엘에스산전 주식회사 Hmi 시뮬레이터 및 plc 시뮬레이터간의 통신 시뮬레이션 시스템
KR20190079328A (ko) * 2017-12-27 2019-07-05 주식회사 에이치티씨시스템 통신 프로토콜을 변환하는 인터페이스 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276811A (en) * 1989-06-30 1994-01-04 Icom, Inc. Method for emulating programmable logic controller by exchanging information between debug program which emulates I/O devices and ladder logic program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101053104B1 (ko) * 2009-10-28 2011-08-02 엘에스산전 주식회사 전산기기 소프트웨어 테스트 방법 및 시스템
KR101323937B1 (ko) * 2012-01-02 2013-10-31 엘에스산전 주식회사 Hmi 시뮬레이터 및 plc 시뮬레이터간의 통신 시뮬레이션 시스템
KR101317581B1 (ko) * 2012-03-02 2013-10-11 엘에스산전 주식회사 피엘시 래더 프로그램의 에러 추적 방법
KR20190079328A (ko) * 2017-12-27 2019-07-05 주식회사 에이치티씨시스템 통신 프로토콜을 변환하는 인터페이스 장치 및 방법

Also Published As

Publication number Publication date
KR100294633B1 (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
US8117587B1 (en) Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems
US5630049A (en) Method and apparatus for testing software on a computer network
EP0782075B1 (en) Debug apparatus and method for debugging game program in ROM cartridge
JP6362821B2 (ja) 制御装置、制御方法および命令セット
KR100294633B1 (ko) 피엘씨의시뮬레이터
US7296187B1 (en) Hardware debug device having script-based host interface
CN109144849B (zh) 一种嵌入式软件调测方法
CN100517265C (zh) 一种微控制器仿真系统
US6611924B1 (en) Reducing code size of debug output statements
JP5212508B2 (ja) デバッグ装置
JP2861962B2 (ja) コンピュータプログラムのシミュレーション装置および方法
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体
KR20020032256A (ko) 통합 임베디드 시스템 및 이의 구현 방법
JP2803090B2 (ja) Mpuシミュレーション方法及びmpuシミュレータ
JPS6349851A (ja) シミユレ−シヨンシステム
JP2659366B2 (ja) デバッグ方法及びその装置
KR100619679B1 (ko) 프로세서의 실시간 모니터링 장치 및 방법
JP4192380B2 (ja) Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体
JPH06242943A (ja) ソースコードレベルデバッグ装置
JP2001209408A (ja) Plc用制御プログラムの実行シミュレーション装置、並びに、制御プログラム実行シミュレーション機能を有するplc
JP2004013880A (ja) コンピュータプログラムのデバッグ方法
JPS63271542A (ja) Romデバツガ
Korbel et al. Implementation of a Microcode-controlled State Machine and Simulator in AVR Microcontrollers (MICoSS)
JPS63223930A (ja) 専用プロセツサのプログラムのシミユレ−シヨン方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120327

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130222

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160401

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee