Using the graphic debugger
 그래픽 디버거 (graphic Debugger) 사용법

ISaGRAF에는 그래픽 또는 심벌링 디버깅의 기능이 있습니다. 프로그램관리「디버거」명령어를 선택하면 타겟측에 다운로드된 어플리케이션이 제어됩니다. 이 기능에서는 디버거 는 Serial(default)을 통해서 타겟과 통신합니다.

「시뮬레이션」명령어는 디버거와 동시에 타겟 시스템을 시뮬레이션 합니다. 이 시뮬레이션으로 사용자는 타겟I/O가 아직 완성되지 않아도 어플리케이션을 테스트할 수 있습니다. 디버거 창에서 어플리케이션 조작이 가능합니다.

디버거 창

어플리케이션 제어

옵션

"적어넣기(Write)" 명령어

On-line 수정

DDE 통신

디버거가 작동되고, 타겟측의 어플리케이션이 workbench측의 어플리케이션과 동일한 경우는, 자동적으로 프로그램 관리 창이 디버거모드로 열립니다.(타겟과 workbench측에서 어플리케이션이 일치할 경우는 프로그램관리 창은 열리지 않습니다) 또한, 프로그램관리 창 메뉴에서 열려진 다른 창 (그래픽 에디터, 텍스트에디터, 모음에디터, 변수리스트,I/O접속 등) 는 모든 디버거 모드로 열립니다. 즉, 여기서는 프로그램 변경, 편집 명령어는 무효합니다. 표시된 프로그램 콤퍼넌트 (스텝, Transition, 변수....) 는 상태표시와 함께 표시됩니다. 콤퍼넌트를 더블클릭하면 타겟 상태와 변수치만을 일시적으로 변경할 수 있습니다.

디버거 시뮬레이션 모드로 실행되고 있을 때, workbench와 타겟간의 통신은 되고 있지 않습니다. 디버거 는 I/O시뮬레이터 창과 통신하고 있습니다. 타겟 자체가 존재하고 있지 않기 때문에 디버거 메뉴「다운로드」,「어플리케이션-시작」,「어플리케이션-정지」명령어 등은 사용할 수 없습니다.


The debugger window
디버거 창

런타임 에러는 디버거 창에 표시되지만, 옵션 - 에러 표시 명령어에 따라 에러 메시지 표시를 표시/비표시 가능합니다.

비버거창 메뉴（도구바）의 아래 상태 표시란 에는 타겟 어플리케이션 상태와 사이클 타임정보가 표시됩니다.　이하에서는 타겟의 상태를 표시합니다.:

Logging:	디버거가 타겟 시스템과의 통신을 설정 합니다.

Disconnected:	디버거가 타겟 시스템과 통신 불가능 상태. 연결 케이블 또는 통신 상태를 확인

어플리케이션없슴:	통신은 정상이지만, 타겟에는 실행중의 ISaGRAF 어플리케이션이 없습니다. 어플리케이션을 다운로드, 또는 갱신해 주십시오..

어플리케이션동작:	통신은 정상으로, 타겟에 어플리케이션이 있고, 어플리케이션과 디버거가 타겟 어플리케이션과 통신하려고 합니다. workbench와 타겟측의 어플리케이션이 같으면 프로그램 관리 창이 열립니다..

RUN:	타겟이 realtime모드로 실행중 입니다.

STOP:	타겟이 Cycle to Cycle모드로 실행중 입니다.

BreakPoint:	어플리케이션이 Break point에 와 있기 때문에 타겟이  사이클모드로 실행 중 입니다.

치명적 에러:	타겟 어플리케이션이 치명적인 의미불명 에러에 의해 실행 불가능합니다

사이클 타임에 관한 정보를 아래에서 나타냅니다:

허용치:	프로그램된 사이클 타임

현재치:	마지막 사이클 타임 측정치.

최대치:	어플리케이션이 RUN에서의 사이클 타임 최대치.

Overflow:	사이클 타임의 현재치가 허용치를 넘은 사이클 수.

모든 단위 ms표시입니다. 사이클 타임 표시는 타겟 시스템에 따라 표시 정도가 바뀝니다. 상세한 것은 타겟사용자가이드를 참조 바랍니다.  디버거 시뮬레이션 모드로 사용되고 있을때 타임은 표시되지 않습니다


Controlling the application
어플리케이션 제어

「파일」,「컨트롤」메뉴 명령어에 따라 타켓상에서ISaGRAF 어플리케이션을 제어 할 수 있습니다..

Note:	이하의 몇 개의 명령어는 시뮬레이션 모드에서는 사용할 수 없습니다.

       시뮬레이션 모드에서 어플리케이션은 workbench내부에서 만들어지기 때문입니다.

타겟-어플리케이션 정지

타겟-어플리케이션 동작

어플리케이션 다운로드

version보기

On-line 수정

Real Time 모드

Cycle to Cycle 모드

한 사이클 실행

사이클 타이밍(cycle timing)

모든 breakpoints삭제

I/O 변수 잠금 풀기


Stop the target application
타겟-어플리케이션 정지

「파일」－「정지」 명령어에 따라 현재 실행중인 타겟상의 어플리케이션을 정지 할 수 있습니다.


Activate the target application
타겟 어플리케이션 동작

「파일」－「시작」 명령어에 따라 타겟상의  어플리케이션을 start시킬 수 있습니다. 어플리케이션이 다운로드 된 때는 자동적으로 어플리케이션은 시작 합니다. 따라서　「시작」명령어는 「정지」명령어 후에 실행됩니다

Note：	새로운 어플리케이션이 타겟으로 다운로드 되기 전에는 타겟상의 어플리케이션은 stop시킬 필요가 있습니다


Download the application
어플리케이션 다운로드

「파일」－「다운로드」 명령어에 따라 workbench측에서 생성된 어플리케이션 코드를 타겟측으로 다운로드할 필요가 있습니다. 다운로드 해야 할 코드 타입（실행TIC코드, 어플리케이션 심벌 테이블）을 선택해 주십시오


Display version number
버젼 보기

「파일」－「버젼보기」 명령어에 따라 workbench 위에 열려 있는 어플리케이션과 타겟상에 존재하고 있는 어플리케이션 version을 확인할 수 있습니다. 이하의 항목이 표시됩니다.:

VERSION:	이 번호는 코드 생성기가 count하고 있는 과거에서의 코드 생성 횟수입니다..

DATE:	어플리케이션 코드가 생성된 날짜와 시간을 표시합니다.

CRC:	심벌 테이블에서 계산된 CheckSum을 표시합니다. 이 숫자는 코드 생성기로 계산된 값으로 변수모음 내용으로 정해집니다.（모음테이블을 변경하면 ＣＲＣ치는 변해 버립니다.）

Note:	「버젼 보기」명령어는 시뮬레이션 모드로는 사용할 수 없습니다. 단, 실제 모드에서는 타겟과 접속하고 있지 않는 경우 역시 사용할 수 없습니다.


On line modification
On-line 수정

「파일」－「업데이트 실행」 명령어에 따라 실행중인 타겟 어플리케이션에 대해서 온라인 편집이 가능하게 됩니다.　뒤에 절로 상세하게 설명합니다.  [*] 시뮬레이션 모드에서는 사용할 수 없습니다.


Real Time mode
Real Time 모드

「컨트롤」-「real time」 명령어에 따라  통상 모드로 사이클 실행은 지정된 사이클 타임 때 마다 trigger가 걸려 작동됩니다.


Cycle to Cycle mode
Cycle to Cycle 모드

「컨트롤」-「Cycle to Cycle」 명령어에 따라 타겟 어플리케이션을 사이클 실행 모드합니다. 이 모드에서는「컨트롤」-「한 Cycle실행」 명령어에 따라,  1사이클만 실행 하고 정지합니다.


Execute one cycle
한cycle 실행

타겟 어플리케이션 사이클  모드 시「컨트롤」－「Cycle To Cycle」 명령어에 따라 １ 사이클만 실행 하고 정지합니다. 또한, 어플리케이션 시작할 때 실시 모드는「어플리케이션 런타임 옵션」내의 파라미터로서 set되고 있습니다


The cycle timing
Cycle Timing

「콘트롤」－「사이클 타임의  변경」 명령어에 따라 프로그램화된 사이클 타임을 타겟 어플리케이션이 실시 중으로 변경 가능합니다. 이 변경치는 허용치로서 디버거 콘트롤 바에 표시됩니다. 사이클 모드로 새로 바꿀 경우는 사이클 타임 변경 전에 set해 둘 필요가 있습니다. 사이클 타임은 정수로 입력하지만, 단위는 ms입니다.


Remove all breakpoints
모든 breakpoints 삭제

「컨트롤」-「모든 break point 삭제」 명령어에 따라  어플리케이션 전체에 걸쳐서 설정되어 있는 break point를 모두 삭제 합니다.　 break point는 이 명령어를 사용하지 않으면 디버거 창을 닫아도 자동으로 clear되지 않습니다.


Unlock I/O variables
I/O 변수 잠금 풀기

「컨트롤」-「모든I/O변수를 잠금풀기」 명령어에 따라 디버그중에 어플리케이션 내에서 lock되어 있는I/O변수의 모든 점을 unlock합니다. I/O이 lock되어 있을 때는 디버거명령어와  어플리케이션에 따라 I/O변수 상태는 변경 가능하지만, 실I/O상태는 변화 하지 않습니다.　 lock된I/O변수는 이 명령어를 사용하지 않으면, 디버거를 닫아도 자동으로 unlock되지 않습니다.


Options
옵션

「옵션」메뉴에 따라 디버거 창에 표시되는 정보를 컨트롤할 수 있습니다.

통신 파라미터

옵션 보기


The communication parameters
통신 파라미터

명령어에 따라 통신 파라미터를 설정할 수 있습니다. 단, 통신  timeout 파라미터만 여기서 설정 가능합니다. 통신  timeout란 workbench에서의 요구에 대해, 타겟이 통신을 되돌리기 시작하기까지 타켓 시스템에 주어진 시간을 나타냅니다. 사이클 refresh 간격은 디버거중의 열린 창에서 데이터 읽어 넣기를 위해 디버거 에서 나오는 읽어 넣기 요구시간 간격을 나타냅니다.

표시되어 있는 수치 모두는 ms입니다. 시뮬레이션 모드 시엔 통신 파라미터는 설정할 수 없습니다


Display options
옵션 보기

[옵션] - [사이클 타임 표시] 명령어에 따라 디버거창에 표시되는 사이클 타임 표시를 유효/무효로 합니다. 사이클 타임  표시가 set되어 있을 때는 사이클 타임 (허용치, 현재치, 최대치, over load)이 표시됩니다. 설정 되어 있지 않을 때는 표시되지 않고, 타겟과의 통신 작업량은 줄어듭니다.

[옵션] - [에러 보기] 옵션이 설정 되어 있을 때는 RunTime 에러가 디버거창에 표시됩니다. set되어 있지 않을 때는 에러 리스트는 닫혀 있고, 타겟과의 통신 작업량은 줄어듭니다. [옵션] - [에러지우기] 명령어에 따라 현재 디버거 창에 표시되어 있는 에러 표시가 삭제 됩니다.

「옵션」-「창 최소화」 명령어에 따라  디버거창의 사이즈를 최소화 해서,  필요한 조작이 가능한 panel표시로 바뀝니다.


"Write" commands
"적어넣기(Write)" 명령어

ISaGRAF simbolic 디버거에 따라 어플리케이션 내의 변수치와 상태를 변경할 수 있습니다. 디버거창이 열려 있는 상태에서 프로그램 편집 창 등으로 명칭과 element부분을 다블클릭 하면 변경 가능한 상태가 됩니다

변수조건

SFC 오브젝트


Variables
변수조건

다블클릭 으로 변수 상태의 변경이 가능한 창에는 아래의 것이 있습니다.

•	변수목록 에디터

•	변수 리스트

•	LD 또는 FBD 프로그램

•	I/O 접속 에디터

다음의 명령어가 디버그 DialogBox로 사용됩니다.

•	새로운 값 적어넣기

•	변수 잠금  (I/O변수에 한합니다)

•	변수 잠금풀기 (I/O변수에 한합니다)

•	타임변수 시작 또는 정지 (자동 Refresh 모드설정)

FALSE,TRUE형 값으로 FALSE, TRUE치를 표현하는데 symbolic 변수가 사용됩니다. symbolic 변수와는 변수모음에서 FALSE,TRUE형 값의 변수를 위해 정의된 문자열입니다.　아나로그 변수에 대해서“적어넣기”  를 할 경우는 변수모음 정의에 합쳐진 정수 또는 실수로 입력할 필요가 있습니다. 메시지 변수에 대해서“적어넣기”할 경우는 메시지에 주어진 최대 문자 수를 넘을 수 없습니다


SFC objects
SFC 오브젝트

디버그시에 SFC프로그램 처리를 모니터 하려면 프로그램 관리 창의 파일 메뉴 명령어를 사용합니다. 이하에서는 사용할 수 있는 명령어를 나타냅니다.

시작:	선택된 SFC프로그램 각각의 이니셜 스텝에 token을set하면 선택된 프로그램을 실행모드로 합니다.

정지(Kill)	존재하고 있는 모든 token을 없애는 것으로 선택된 프로그램을 정지 시킵니다.

동결(Freeze)	존재하고 있는 모든 token을 선택된 프로그램에서 없애지만 그 장소를 기억 시켜 둡니다. 재작동 명령어로 조작됩니다.

재작동(Restart)	동결 되어 있는 프로그램에 대해서 한번 없앤 token을 원래 장소로 되돌립니다. 동결 명령어로 조작됩니다.

Child 프로그램으로서는 각각 "GSTART", "GKILL", "GFREEZE" 더욱이 "GRST" 스테이트먼트에 프로그램 중에서는 대응합니다.

SFC스텝에서도 SFC-Child 중의 그래픽 심벌을 더블클릭하면 제어 상태를 컨트롤할 수 있습니다. 이하의 명령어가 다이아로그 박스에서 나타납니다.

•	스텝이 활성 (상태)에 break piont 설정

•	스텝이 비활성(상태) 에 break piont 설정

•	스텝에 설정되어 있는 break piont 삭제

Note:	활성 상태시 break piont와 비활성시 break piont는 동일 스텝에서는 설정할 수 없습니다.

SFC  transition에서도 SFC child중의 그래픽심벌을 더블클릭하면 제어 상태를 컨트롤할 수 있습니다. 이하의 명령어가 다이아로그 박스에서 나타납니다:

•	transition 통과시에 break piont 설정

•	설정된 break piont 소거

•	수동으로 transition 통과 (tocken이동 또는 추가)

무조건 통과:

       transition 다음 스텝에 token을 이동(추가) 합니다. 이때 앞 스텝에 있는 token은

       제거되지 않습니다.

조건부 통과: 	transition 다음 스텝에 token이동합니다. 이때 앞 스텝에 있는 token 은 자동적으로 제거 됩니다.


On line modification
On-line 수정

 ISaGRAF에선 어플리케이션 프로그램을 정지하지 않고, 온라인으로 프로그램을 수정하는 기능이 있습니다.이것을 온라인 수정이라 부릅니다. 이 기능은 세심한 주의가 필요합니다.

왜냐면,  ISaGRAF는 사용자변경에 따른 모든 문제점을 검출할 수 없을 수도 있기 때문입니다.

온라인 수정할 때 디버그모드에서 열려져 있는 프로그램 관리 창을 일단 닫고 나서 다시 열어, 필요한 프로그램을 수정하고, 다시「어플리케이션 코드 생성」명령어로 코드를 생성합니다.　또한 생성 된 코드를 다운로드해 두고 디버그창 어플리케이션 변경 명령어로 새로 다운로드된 어플리케이션으로 실행을 바꿉니다.　단, 변수 모음이 변경된 경우는 ＣＲＣ코드가 일치하기 않기 때문에 온라인 수정은 무효가 됩니다.　이 경우는 일단 어플리케이션이 정지한 후에 새 어플리케이션을 다운로드start 필요가 있습니다.

코드 시퀀스

내부 변수 변경

입력/ 출력 변수의 변경

On-Line 수정의조작 순서

메모리 사양

On-Line수정에 따른 제한

상세한 On-Line수정 조작


Code sequences
코드 시퀀스

온라인 수정에 있어 적용범위는 코드 sequence의 변경 에 한합니다. 이 코드 sequence는“사이클 최초：Begin”또는“사이클 마지막：End”섹션에 적혀 있는 ST, IL, LD, FBD프로그램 또는 ＳＦＣ레벨２에 기술되어 있는 프로그램을 가리킵니다. 온라인 수정에서는 어플리케이션 실행을 정지시키는 일 없이, 복수 코드 sequence의 변경을 의미하지만, SFC에 있어서는 token컨트롤이 대단히 위험 하기 때문에 SFC구조의 변경, 즉 스텝과 transition의 추가, 삭제는 불가능합니다.


Variables
내부 변수 변경

변수치에 관한 것은 어플리케이션에 대단히 중요한 위치를 차지하지만, 디버그에서 변수치의 변경은 항상 가능합니다. 하지만, 온라인 수정에 있어서는 변수를 새로 추가, 삭제할 수 없습니다. 단, 미 사용변수(내부 또는I/O)로 설정해 두고(모음에 미리 변수를 정의해 두고) 처음의 프로그램에서는 사용하지 않아도 후에 사용할 일이 있으면, 온라인 수정으로 가능합니다.

- 변수목록 등록 된 변수

이것들은 온라인 수정에서는 추가, 삭제, 이름 변경 등은 할 수 없습니다. 온라인 수정을 위해서는 지금 현재는 사용하지 않을 지 모르지만, 몇 개의 예비 변수를 미리 등록 해 두는 것을 생각해 볼 수 있습니다. 이러한 예비 변수는 예기치 않은 어플리케이션 변경 시에도, 어플리케이션CRC CheckSm이 바뀌지 않기 때문에 온라인 수정이 가능해 집니다.

- function blocks

C언어와 ICE언어로 기술된 FunctionBlock 은 ISaGRAF타겟 데이터베이스 내에 확보된 데이터에 관련되어 있습니다. 따라서, FunctionBlock instance 추가 또는 삭제되면 온라인 수정은 불가능합니다. 그래서 블록을 삽입하면 자동적으로 FunctionBlock instance 가 자동 생성됩니다. QuickLD와FBD에디터에서의 프로그램믹 보다도 FunctionBlock instance를 명시적으로 변수목록에 등록해서,  ST언어로 프로그램을 기술하는 쪽이 좋을 것입니다. 물론 변수록록 에디터에서의 FunctionBlock ?instance의 편집은 온라인 수정이 불가능 할 때  원인이 됩니다.

- SFC 스텝

각각의 SFC스텝은 ISaGRAF 타겟 데이터베이스 내에 확보된 그 스텝의 다이나믹한 속성을 데이터에 관련되어 있습니다. SFC 스텝의 추가와 삭제와 같은 편집은 어플리케이션 데이터베이스 변경에 연결되고, 온라인 수정은 불가능합니다.

- 코드 생성기가 생성할 내부변수

ISaGRAF 코드 generate는 복잡한 프로그램을 코드화 하기 위해 temporary 변수를 생성합니다. 때로는, 프로그램 표현 방법 변경이 이 temporary 변수 변화에 연결되는 경우가 있고, 그 결과, 온라인 수정은 불가능하게 됩니다. 이러한 상태를 막기 위해 아래에 나타낸 것처럼 설정을 ISA.INI파일로 강제적으로 각 프로그램마다 temporary변수를 배당할 수 있습니다:

[디버그]

MNTVboo=8	; for booleans

MNTVana=4	; for integers and reals

MNTVtmr=4	; for timers

MNTVmsg=2	; for messages

ISA.INI 파일에 이렇게 설정된 때에는 코드생성기는 어플리케이션  코드생성 결과가 지정 이상의 temporary 변수가 필요했던 경우에 경고메시지를 출력합니다.


Inputs and outputs
입력 / 출력 변수의 변경

ISaGRAF에서의 I/O 시스템 변경은 하드웨어를 고려해서 넣은 I/O개발kit에 따라 변경 가능합니다. 온라인 수정에서는 I/O보드 기술을 변경과 I/O보드 채널 배정을 변경（추가, 삭제）할 수 없습니다.


Run time operations
온라인수정 조작 순서

온라인 수정의 통상 변경 방법을 이하에 설명합니다.

•	타겟에서 어플리케이션이 실행 중에 한번 디버그 창을 닫습니다.

•	프로그램 편집기로 어플리케이션 소스 코드를 변경합니다.

•	[만들기] 를 행합니다.

•	어플리케이션 코드를 [만들기] 명령어로 다운로드 합니다. 다운로드 명령어는 사용 안합니다.

•	갱신 실행명령어에 따라 오래된 어플리케이션에서 새 어플리케이션으로의 갱신을 사이클 타임간에 합니다.

그렇게 함으로서, 타겟 내부에서는 각 사이클에 있어서도 완전한 신뢰성이 있는 어플리케이션이 실행됩니다. 온라인 수정 빈도에 관한 제한은 없습니다.

온라인 수정은 결국 정지 - 다운로드 - 시작  매뉴얼로 하는 것에는 본질적으로 변함없지만, 다른점은 변수상태를 잃어버리지 않고 또,  어플리케이션 바꾸기 시간이 대단히 짧다

어플리케이션이 바꿔진（변경된）사이는 모든 변수（내부,I/O）상태는  값을 보지 하고 있고, SFC에 있어서는 어떠한 액션도 하지 않고 SFC token는 움직이지 않습니다.


Memory requirements
메모리 사양

온라인 수정이 가능한 조건으로 타겟 내부에 수정된 어플리케이션이 다운로드 되는 충분히 비어 있는 메모리가 필요합니다.　구, 신 두개 버전의 어플리케이션이 갱신 때는 동시에 존재합니다.


Limitations
On-Line 수정에 따른 제한

전에도 서술했지만, 온라인 수정에서는 Code Sequence 변경이 허용되지만, 변수 정의, 함수파라미터 변경,I/O접속 변경 등은 불가능합니다.

수정된 어플리케이션이 다운로드 될 때에 ISaGRAF는 위험한 변경을 미연에 체크할 목적으로 에러 검출을 합니다. 에러가 검출된 경우는 메시지를 표시하고 어플리케이션 경신은 중지됩니다.

체크 내용에는 심벌 테이블의 CheckSum Check가 있습니다. 여기에서 변수 정의, 프로그램명, element명의 수정이 있었는지 없었는지 체크하고 있습니다.

SFC에 있어서 변경시에 스텝이 활성 상태인 경우 nomal(N) 액션은 놓치게 됩니다. 또한, 새로운 스텝pulse(스텝 올리기) 액션은 실행되지 않습니다. 새로운 스텝P1(스텝 내리기)액션은 실행됩니다. 또한, 갱신 때는 transition활성상태로 있으면, 거기에서 조건식은 새로운 어플리케이션 코드로 다시 한번 체크됩니다.

새로 다운로드된 어플리케이션은 SFC내부에서의 백업(하드디스크로 보관)하지 않습니다. 백업 되어 있는 어플리케이션은 통상의 다운로드 명령어에 따라 다운로드 된 어플리케이션으로 제한합니다.

주의：	어플리케이션 온라인 수정 후에「어플리케이션 정지」명령어를 실행 또는, 타겟을 종료한 경우에는 다음 회의 어플리케이션이 start 된 때는. 온라인 수정 이전의 구 어플리케이션이 start합니다. 왜냐하면 어플리케이션 온라인 수정에 따라 어플리케이션 코드는 하드 디스크에 보관되지 않고, 메모리 상에 전개되고 있기 때문입니다. 따라서 다음 회에서도 수정된 어플리케이션으로 실행하고 싶을 때는, 온라인 수정 후에「다운로드」를 실행을 필요로 합니다.（상세한 것은 타겟 매뉴얼을 참조 바랍니다.）


Operations
상세한 온라인 수정 조작

어플리케이션 변경시의 조작을 일반적인 주의사항을 포함하고 이하에 설명합니다.

•	어플리케이션 수정할 경우는 대상 프로젝트를 미리 별명으로 백업 해 둘 필요가 있습니다. 수정은 복사하는 것이 현명합니다.

•	프로그램 수정 시 에는 에디터 창으로 수정이력 갱신 을 설정해 두기 바랍니다. 이후 프로그램 보존에 대응 됩니다.

•	코드 Switch에 변경이 있는 경우는 반드시 새로운 만들기 명령어로 코드를 생성할 필요가 있습니다.

•	「디버그」명령어에 따라 타겟측（구 어플리케이션이 실행 중）과 workbench간을 접속해 둡니다. 이때 workbench측과 타겟의 어플리케이션이 다르기 때문에 메시지 박스가 열립니다.

•	디버거 파일 - 어플리케이션 갱신 명령어를 실행합니다.

•	수정된 어플리케이션을 갱신용에 다운로드 합니다. 이때 다운로드 다이아로그 박스에서는“나중에 ”를 선택합니다.（이 선택에 따라 데이터 다운로드 스피드가 조금 늦어집니다.）

•	다운로드가 완료되면, 갱신실행 명령어에 따라 어플리케이션을 갱신합니다. 갱신에는 1~2사이클을 요합니다.

•	잘 어플리케이션이 갱신된 경우는 새로운 어플리케이션 프로그램이 디버그모드로 다시 표시됩니다.　만약, 어플리케이션 갱신을 실패했을 경우는 구 어플리케이션이 표시된 채로 있습니다.


DDE exchanges
DDE 통신

 ISaGRAF 디버거는 DDE(Dynamic Data Exchange)서버기능을 포함하고 있습니다. DDE 중에 Adviser와 Poke루프를 지원 하고 있습니다. 따라서, ISaGRAF이외 DDE를 지원 하고 있는 어플리케이션에 데이터를 넘겨줄 수 있습니다.

Advise루프에서는 ISaGRAF 변수에 변화가 생겼을 때만 client task에 데이터를 넘깁니다. Advise루프로 변수를 모니터링 중에는 그 변수에 대해서 Request루프도 취급할 수 있습니다. 모든 타입의 변수를 모니터할 수 있습니다. DDE에서의 파라미터를 이하에 나타냅니다.

어플리케이션명	"ISaGRAF"

토픽명	ISaGRAF의 프로젝트명

아이템명	변수명

만약, 변수가 프로그램의 지역변수인 경우는 이하와 같이 괄호로 프로그램명을 명기할 필요가 있습니다.

변수명(프로그램명)

DDE Advise루프에 따라 최대２５６변수인 동시에 모니터 가능합니다.

DDE는 디버그모드, 시뮬레이션 모드 중에서도 가용 가능합니다.

Refesh 시간 간격은 workbench측 타겟 과의 시간이 됩니다.