KR950005523B1 - 프로그램어블 로직 콘트롤러의 스텝 런 처리방법 - Google Patents

프로그램어블 로직 콘트롤러의 스텝 런 처리방법 Download PDF

Info

Publication number
KR950005523B1
KR950005523B1 KR1019920008092A KR920008092A KR950005523B1 KR 950005523 B1 KR950005523 B1 KR 950005523B1 KR 1019920008092 A KR1019920008092 A KR 1019920008092A KR 920008092 A KR920008092 A KR 920008092A KR 950005523 B1 KR950005523 B1 KR 950005523B1
Authority
KR
South Korea
Prior art keywords
command
gate array
hardware
instruction
software
Prior art date
Application number
KR1019920008092A
Other languages
English (en)
Other versions
KR930023824A (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 KR1019920008092A priority Critical patent/KR950005523B1/ko
Publication of KR930023824A publication Critical patent/KR930023824A/ko
Application granted granted Critical
Publication of KR950005523B1 publication Critical patent/KR950005523B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

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

Abstract

내용 없음.

Description

프로그램어블 로직 콘트롤러의 스텝 런 처리방법
제1도는 프로그램어블 로직 콘트롤러(PLC)의 구성도.
제2도는 제1도에서 유저프로그램용 램에 유저프로그램이 입력되어 있는 순서도.
제3도는 종래 프로그램어블 로직 콘트롤러의 하드웨어 명령가 소프트웨어 명령 실행과정도.
제4도는 종래 하드웨어 명령(H/W)을 소프트웨어(S/W)로 처리하는 스텝런 프로그램도.
제5도는 종래 프로그램어블 로직 콘트롤러의 스텝런 수행과정도.
제6도는 제6도에 의한 스텝런 수행과정을 보여주는 명령처리도.
제7도는 본 발명 프로그램어블 로직 콘트롤러의 스텝런 수행과정도.
제8도는 제7도에 스텝런 수행시의 명령처리 과정도.
* 도면의 주요부분에 대한 부호의 설명
11 : 유저프로그램용 램 12 : 게이트어레이
13 : 씨피유(CPU) 14 : 오퍼레이팅시스템(OS)용 롬 및 램
본 발명은 하드웨어로 처리하는 명령어를 한 스텝(Step)씩 수행하는 스텝런시에 명령어 수행을 쉽게 할 수 있도록 한 프로그램어블 로직 콘트롤러의 스텝런에 관한 것으로, 특히 유저프로그램 영역에 있는 명령어들을 그대로 변화시키지 않고 스텝런 영역에 있는 한 명령어만 수행하도록 한 프로그램어블 로직 콘트롤러의 스텝런 처리방법에 관한 것이다.
프로그램어블 로직 콘트롤러(PLC)의 구성은 제1도에 도시한 바와 같이, 유저프로그램을 저장하고 있는 유저프로그램용 램(11)과, 이 유저프로그램용 램(11)에 기억되어 있는 유저프로그램에서 하드웨어 명령을 처리하는 게이트어레이(12)와, 상기 유저프로그램용 램(11)에 기억되어 있는 유저프로그램에서 소프트웨어 명령을 처리하는 씨피유(CPU)(13)와, 컴퓨터 시스템을 효율적으로 운전하기 위한 일련의 오퍼레이팅시스템(Operating System)동작용 소프트웨어가 프로그래밍되어 있는 오퍼레이팅시스템용 롬 및 램(14)으로 구성되어 있다.
이와 같이 구성된 종래의 회로에 있어서, 씨피유(13)가 유저프로그램용 램(11)에 저장되어 있는 유저프로그램 수행시 제2도에 도시된 바와 같이 유저프로그램용 램(11)의 유저프로그램 영역에서 프로그램 카운터(PC)가 위치한 번지로부터 명령을 읽어들여 수행함에 있어, 먼저 다음 명령을 수행하기 위해 프로그램카운터(PC)를 증가시켜 놓은 후(PC→PC+1) 상기 읽어들인 명령이 하드웨어(H/W)명령인지를 판단한다.
이때 명령이 하드웨어 명령이면 게이트어레이(12)로 하여금 그 명령을 실행하도록 하고, 소프트웨어 명령이면 게이트어레이(12) 수행을 중지시키고, 씨피유(13)가 그 소프트웨어 명령을 수행한다.
상기 소프트웨어 명령이 수행되고 나서 게이트어레이(12)를 인에이블시키면 증가된 프로그램 카운터에 의해 다음 명령을 순차적으로 수행할 수 있게된다.
그런데, 하드웨어 명령이 제2도에서와 같이 연속적으로 프로그래밍되어 있을 경우에는 게이트어레이(12)에 의해 모두 수행되고 난 후 소프트웨어 명령일 경우에만 게이트어레이(12)가 정지하게 된다.
입력된 프로그램을 디버깅(debugging)하기 위해 스텝런을 실행하게 되는 경우에는 이처럼 연속적으로 하드웨어를 처리해 버리면 안되므로 제4도에서와 같이 게이트어레이에 의한 하드웨어 처리를 행하지 않고 모든 명령을 씨피유(13)에 의한 소프트웨어를 1스텝씩 실행하는 방법도 있다.
또한 제5도에서와 같이 하드웨어 명령을 소프트웨어 처리를 하지않고 게이트어레이(12)에 의해 1스텝씩 처리하는 방법도 있는데, 이를 살펴보면 다음과 같다.
먼저 제6도의(가)에서와 같이 0000스텝을 제외한 나머지를 1스텝씩 뒤로 이동시키고, 제6도의(나)에서와 같이 0001스텝에 소프트웨어(S/W)코드를 입력시켜 둔다. 1스텝 실행을 지령하는 로더로부터 정보를 입력받고 1스텝 명령을 실행할 것인지를 판별하여 실행명령이 입력되었을 경우엔 프로그램카운터(PC)가 위치한 번지로부터 유저프로그램을 입력하고 프로그램카운터(PC)를 1스텝 증가시킨 다음(PC←PC+1) 입력된 명령이 하드웨어(H/W) 처리 가능한지를 판단한다.
하드웨어 처리가 가능하면 게이트어레이(12)에 의해 실행하고, 상기 게이트어레이(12)에 의한 처리가 불가능한 명령일 경우엔 소프트웨어 명령인지 소프트웨어 코드인지를 판별하여 소프트웨어 명령이면 씨피유(13)에 의해 소프트웨어 명령을 수행하고, 1명령어가 1스텝 이상되는 명령어도 있으므로 프로그램카운터(PC)간을 1스텝뒤가 아닌 다음 명령어를 수행할 수 있도록 프로그램카운터(PC)값을 조정해둔다.
그리고 소프트웨어 코드가 입력된 경우에는 다음에 수행될 명령어를 한 스텝씩 앞으로 이동시키고 그 명령뒤에 소프트웨어 코드를 라이트(Write) 해둔다.
이와 같은 방법으로 한 명령어씩 처리를 행하게 되며, 명령어 수행결과를 디버깅해 볼 수 있게된다.
그러나 종래의 방법에 있어서는 하드웨어 처리가능한 명령어를 스텝런시에는 소프트웨어 처리를 해야하기 때문에 소프트웨어 부담이 커지고, 동일하 명령어를 실제런중에 게이트어레이에 의해 처리되고 디버그할 때는(스텝런) 씨피유에 의해 처리하기 때문에 게이트어레이 파괴에 의한 명령어 오동작은 디버그해 볼 수 없는 문제점이 있고, 또한 스텝런시 유저프로그램영역에 소프트웨어 코드를 라이트하고 명령어를 이동시켜야 하기 때문에 동작중에 오동작이 발생하면 유저프로그램을 파괴해 버릴 소지가 있고, 맨처음 소프트웨어 코드를 삽입하기 위해서 한 스텝씩 뒤로 이동시켜야 하기 때문에 맨 마지막 명령어는 유저프로그램 영역밖에로 이동시켜야 하기 때문에 맨 마지막 명령어는 유저프로그램 영역만에 보관해 두어야 하는 불편한 점이 있었다.
따라서 종래의 결함을 감안하여 본 발명은 유저프로그램 영역에 있는 명령어들은 그대로 변화시키지 않고, 게이트어레이에 의해 하드웨어 처리될 명령어만 스텝런 영역에 라이트(Write)하여 둔 다음 스텝 런 영역 다음에 소프트웨어 코드를 라이트 해둠으로써 게이트어레이가 스텝런 영역만을 수행하도록 하여 스텝런시에 유저프로그램을 이동시킴에 따라 발생할 수 있는 유저프로그램 파괴를 방지하고, 실제런시와 스텝런시에 명령어 실행루틴을 단일화시켜 소프트웨어 부담을 줄이며, 게이트어레이에 의한 하드웨어 명령실행도 디버그해 볼 수 있도록 한 프로그램어블 로직 콘트롤러의 스텝런 처리방법을 창안한 것으로, 이하 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
프로그램어블 로직 콘트롤러(PLC)의 구성은 제1도에서 언급한 것과 동일하며, 본 발명의 작용 효과를 첨부한 도면 제7도 및 제8도를 참조하여 상세히 설명하면 다음과 같다.
스텝런 시 맨처음 게이트어레이(12)에 있는 프로그램카운터(PC')를 제8도에 도시한 스텝런 영역에 둔다. 그런 다음 씨피유(13)의 프로그램카운터(PC)로부터 명령어를 리드(Read)하고, 이 리드된 명령어를 스텝 런 영역에 복사(Copy) 한다.
외부 키이 입력장치인 로더(Loader)로부터 한 스텝을 실행할 것인지를 체크하면서 기다린다. 그리고 한 스텝 실행하라는 명령이 로더로부터 입력되면 씨피유(13)는 게이트어레이(12)를 인에이블시킨다. 게이트어레이 프로그램카운터(PC')를 스텝런 영역에 두었기 때문에 상기 게이트어레이(12)는 씨피유(13)가 스텝런 영역에 복사해 둔 명령어를 리드해보고, 하드웨어 명령인지를 판별한다.
이때 게이트어레이(12)는 다음 명령어 수행을 위해 프로그램카운터(PC')를 증가시킨다. 그리고 하드웨어 명령이면 게이트어레이가 수행하고 그다음 명령어를 리드하게 된다.
상기에서 하드웨어 명령이 아니면 게이트어레이(12)는 자동적으로 디스에이블되고 씨피유(13)가 게이트어레이(12)에 명령이 소프트웨어 명령인지를 판별하여 소프트웨어 명령이면 씨피유(13)에 의해 소프트웨어 명령을 수행하고 프로그램카운터(PC)값을 증가시킨 다음 게이트어레이(12)에 의해 증가된 프로그램카운터(PC')값을 맨처음 영역으로 원상복귀시켜 놓는다.
소프트웨어 코드가 입력되었으면 소프트웨어 명령처리를 하지않고 씨피유(13)의 프로그램카운터(PC)값만 증가시키고 게이트어레이에 의해 증가된 프로그램카운터(PC')값을 맨처음 영역으로 원상복귀시켜 놓는다.
또한 게이트어레이에 따라 소프트웨어 처리는 변할 수 있는데 이를 예를 들면 다음과 같다.
게이트어레이(12)는 씨피유(13)가 인에이블시키면 0000스텝으로부터 자동적으로 프로그램카운터(PC')값을 증가시키면서 제8도에서와 같은 유저명령어를 실행하고, 하드웨어 명령이 아닌 명령어가 입력되었을때만 정지시키는 형태의 게이트어레이를 기준으로 하며 게이트어레이가 정지하고 나면 내부상태를 씨피유에서 읽어볼 수 있는 형태의 게이트어레이를 예를 들어 설명하였다. 따라서 언급한 소프트웨어 처리순서는 게이트어레이에 따라 변환될 수 있다.
이상에서 상세히 설명한 바와 같이 본 발명은 스텝런 시에 하드웨어 처리명령을 게이트어레이가 실행하고 소프트웨어 명령일때는 씨피유가 처리함으로써 실제런과 동일한 방법으로 명령어를 실행해 볼 수 있도록 하여 신속하게 처리하고, 스텝런 영역을 두고 스텝런을 할 한 명령어만 스텝런 영역에 복사하여 스텝런 영역을 실행해보도록 함으로써 유저프로그램을 이동시킬 때 발생할 수 있는 유저프로그램의 파괴를 방지하도록 한 효과가 있다.

Claims (2)

  1. 스텝런 시 맨처음 게이트어레이용 프로그램카운터(PC')를 스텝런 영역에 두고 씨피유의 프로그램카운터(PC)로부터 명령어를 리드하는 단계와, 상기 단계에서 리드한 명령어를 스텝런 영역에 복사한 후 외부로더(Loader)로부터 정보를 입력받아 1스텝 실행할 것인지 체크하는 단계와, 상기 단계에서 1스텝 실행명령이 입력되면 게이트어레이(12)를 인에이블시키고 스텝런 영역에 복사해 둔 명령어를 디르하고 프로그램카운터(PC')를 증가시키는 단계와, 상기 단계에서 리드한 명령어가 하드웨어 명령이면 게이트어레이(12)에 의해 하드웨어 명령을 수행하고 하드웨어 명령이 아니면 게이트어레이가 자동 디스에이블되도록 하는 단계와, 상기 단계에서 리드한 명령어가 하드웨어 명령이 아니면 소프트레어 명령인지 소프트웨어 로드 명령인지를 판별하는 단계와, 상기 단계에서 판별된 명령어가 소프트웨어 명령이면 씨피유를 통해 소프트웨어 명령을 수행한 후 씨피유용 카운터(PC)값을 증가시키고 소프트코드이면 바로 씨피유용 카운터(PC)값을 증가시키는 단계와, 상기 단계에서 증가된 게이트 어레이용 카운터(PC')값을 스텝런 영역의 맨처음 영역으로 원상 복귀시키도록 하는 단계로 진행됨을 특징으로 하는 프로그램어블 로직 콘트롤러의 스텝런 처리방법.
  2. 제1항에 있어서, 상기 하드웨어 명령수행시 스텝런 영역을 두고 그 다음 영역에 소프트웨어 코드를 입력시켜 둠으로써 연속된 하드웨어를 하나씩 스텝런 영역에 라이트(Write)하여 1스텝섹 하드웨어 명령을 처리하도록 한 것을 특징으로 하는 프로고램어블 로직 코트롤러의 스텝런 처리방법.
KR1019920008092A 1992-05-13 1992-05-13 프로그램어블 로직 콘트롤러의 스텝 런 처리방법 KR950005523B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920008092A KR950005523B1 (ko) 1992-05-13 1992-05-13 프로그램어블 로직 콘트롤러의 스텝 런 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920008092A KR950005523B1 (ko) 1992-05-13 1992-05-13 프로그램어블 로직 콘트롤러의 스텝 런 처리방법

Publications (2)

Publication Number Publication Date
KR930023824A KR930023824A (ko) 1993-12-21
KR950005523B1 true KR950005523B1 (ko) 1995-05-25

Family

ID=19333041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920008092A KR950005523B1 (ko) 1992-05-13 1992-05-13 프로그램어블 로직 콘트롤러의 스텝 런 처리방법

Country Status (1)

Country Link
KR (1) KR950005523B1 (ko)

Also Published As

Publication number Publication date
KR930023824A (ko) 1993-12-21

Similar Documents

Publication Publication Date Title
KR950006616B1 (ko) 변환된 프로그램 코드에서 소스 명령 분자를 보전하기 위한 시스템 및 방법
US20070136565A1 (en) Stack underflow debug with sticky base
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
US5813039A (en) Guest execution control system, method and computer process for a virtual machine system
JPH0646380B2 (ja) 情報処理装置
JPS63214804A (ja) Plc用プロセツサ及びplc
KR920003909B1 (ko) 디버깅지원회로
JPS60124746A (ja) デ−タ処理装置
JPS5835648A (ja) プログラム実行制御方式
JPH0287237A (ja) Execute命令制御方式
JP3130421B2 (ja) プログラム解析方法および装置
JP3098501B2 (ja) ソースステップ実行方法およびその装置
JPS5941208B2 (ja) ケイサンキシステムニオケルホゴソウチ
JPH0391055A (ja) ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置
JPS60193046A (ja) 命令例外検出方式
JPH0432418B2 (ko)
JPH0239332A (ja) ソフトウェアブレーク方式
JPS63163543A (ja) 情報処理装置
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ
JPH01274253A (ja) ソフトウェアブレーク方式
JPH04367902A (ja) プログラマブルコントローラ
JPH0795288B2 (ja) マイクロコンピュータ
JPS6240550A (ja) プログラムデバツク装置

Legal Events

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

Payment date: 20110328

Year of fee payment: 17

EXPY Expiration of term