Managing programs
 프로그램 관리

프로그램관리 창은 프로젝트(어플리케이션)으로 사용되는 모든프로그램(modular,프로그램유니트)을 표시합니다. 여기에서는 프로젝트 구성의 디자인, 프로그램의 편집기 작동, 컴파일러와 디버그의 작동 등이 행해집니다. 이 창은 어플리케이션을 개발할 경우에 Workbench의 중심적인

창입니다.

 프로젝트관리 창의 편집명령어（또는 프로젝트명을 더블클릭）로 열 수 있습니다.

프로젝트 구성요소

프로그램 관리

코드 만들기

기타 ISaGRAF 도구

도구 메뉴에 사용자 가이드 추가

시뮬레이션 / 디버그


The components of a project
프로젝트 구성요소

프로젝트를 구성하고 있는 요소는 프로그램입니다. 프로그램은 제어의 내용을 논리적으로 기술한 것입니다.

Global변수（예를들면I/O변수）는 어플리케이션 전체의 어떠한 프로그램에서 사용할 수 있습니다. 지역변수는 현재의 프로그램에서만 억세스 됩니다. 프로그램관리 창은 프로젝트내의 프로그램의 계층적인 구성, 연관성을 나타내고 있습니다. 프로젝트를 구성하는 component 는 프로그램이라 불립니다. 프로그램은 논리적인 처리를 합니다. 프로그램은 계층적으로 구성된 ３종류의 섹션（Begin, Sequence, End）으로 나눠져 있습니다. 어떤 섹션에서도 계층의 좌측에 오는 프로그램은 top레벨 프로그램이라 불립니다.

Top 레벨 프로그램

Function  & function block

하위-프로그램

Child SFC/ FC 프로그램

프로그램 -하위프로그램 연결

프로그램 언어


Top level programs
Top 레벨 프로그램

3개의 섹션에 있었어도 탑레벨 프로그램은 계층투어의 좌단에 위치합니다. Sequence는 항상 활성상태(액티브)가 됩니다. 이하의 순으로 실행됩니다.

•	(입력 집어넣기)

•	Begin섹션의 탑레벨 프로그램 실행

•	Sequence섹션의 탑레벨 프로그램 실행

•	End섹션의 탑레벨 프로그램 실행

•	(출력 갱신)

Begin섹션은 항상 사이클의 최초에 실행됩니다. 같은 모양으로 End섹션은 항상 사이클의  마지막에 실행됩니다.

Begin,End섹션의  탑레벨 프로그램은  SFC또는 FC언어로의 기술은 할 수 없습니다. 역으로 Sequence섹션의 탑레벨 프로그램은 반드시 SFC또는 FC언어로 기술 되어야 합니다. 모든 섹션으로 어느 프로그램도 하나 이하의 하위프로그램을 가질 수 있습니다.


Functions and function blocks
Function / function block

Function섹션과 FunctionBlock섹션은 어떤 색션의 어떤 프로그램

에서도 호출 할 수 있는 서버프로그램이 됩니다. 펑션-펑션블록색션의 프로그램은 SFC/FC언어에서는 기술할 수 없습니다.

Function은 복수의 입력과  하나의 출력을 가집니다

Function중에서는 변수의 내용은 매회 없어져 버립니다. 즉 FunctionBlock과는 다릅니다.

FunctionBlock은 입력과 내부（hidden）의 static data로부터 출력합니다. 이 내부의 static data는 FunctionBlock이 부르면 매번 복사 됩니다.（즉 사용할 FunctionBlock에 매번 인스톨이 됩니다.）


Sub-programs
하위 프로그램

하위프로그램은 하나의 Father프로그램 에서 호출될 것인가 펑션, 펑션블록색션으로 적힌 프로그램으로서 관리되고 있는가 두가지의 경우가 있습니다. 펑션, 펑션블록섹션 내에 하위프로그램은 프로젝트 중의 어떠한 프로그램에서도 호출 할수 있지만 펑션섹션에 없는 하위프로그램은 그 Father프로그램（하나로 한정）으로 밖에 호출되지 않습니다. Father프로그램의 실행은 하위프로그램의 처리가 완료할 때까지 정지해 있습니다.

어떤 색션도 하나 이상의 하위프로그램을 가질 수 있습니다. 하위프로그램 오너는 하나의 Father프로그램 이 됩니다. 펑션섹션의 프로그램은 더구나 하위프로그램을 호출 할 수 있습니다. 하위프로그램은 지역변수,  지역정의 워드를 가질 수 있습니다.


Child SFC and FC programs
Child SFC/FC 프로그램

child SFC프로그램은 Father프로그램에서  작동(start), 정지(stop), 동결(freeze)이 관련된parallel처리 프로그램입니다.

Father프로그램과 child프로그램도 함께 SFC언어로 기술되어야 합니다.

•	Father SFC프로그램이 child프로그램이 ＳFC프로그램을 작동하면 SFC tocken 을 child프로그램의 initial step에 set합니다. 이 명령어는 GSTART statement로 합니다.

•	FatherＳFC프로그램이 childＳFC프로그램을 정지 시키면 child프로그램에 존재하고 있던 SFCtocken이 모두 클리어 됩니다. 이 명령어는 GKILL statement로 합니다.

•	FatherＳFC프로그램이 childＳFC프로그램을 동결시키면 child프로그램에 존재하고 있던 SFCtocen 전부를 제거하지만 이때 tocken의 장소를 모두 기억해 놓습니다. 이 명령어는 GFREEZE

- statement로 합니다.

•	Father  SFC프로그램이  동결된  child SFC프로그램을 재작동

    시키면 child프로그램이 동결 되었을 때  제거된 SFCtocken을

    전부 원래의 장소로 되돌립니다. 이 명령어는 GRST statement

    로 합니다.

Sequence 섹션의 FC언어프로그램은 다른 FC하위프로그램을 컨트롤할 수 있습니다. FC 하위프로그램이 실행되고 있을 때는 FatherFC프로그램의 처리는 정지해 있습니다. 따라서  FatherFC프로그램과 거기서 읽어낼 FC하위프로그램은 동시 실행은 되지 않습니다.


Links between programs and sub-programs:
프로그램-하위프로그램 연결:

하위프로그램과 child프로그램은 Father프로그램과는 계층 구조로 연결되어 있습니다. Father SFC프로그램과 child SFC프로그램과의 링은 화살표부착 라인으로 접속됩니다. 이 표시는 프로그램이 parallel처리된 것을 의미합니다.

	사이클처리 중에서 Father프로그램과 하위프로그램의 링
	FatherＳFC프로그램과 ＳFC이외의 하위프로그램과의 링
	FatherＳFC프로그램과 childＳFC프로그램과의  링 （화살표부착 링）
	FatherＳFC프로그램과 childＳFC프로그램 및 ＳFC이외의  하위프로그램과의 링


Programming languages
프로그램 언어

 각 프로그램은 하나의 언어로 기술됩니다. 프로그램 신규 작성시에는 선택한 언어는 변경할 수 없습니다. 단지,  FBD는 LD를 포함 시킬 수 있습니다. 또한  LD프로그램은 펑션블록 Call을 포함 시킬 수 있습니다. 그래픽언어로서는 SFC(Sequential Function Chart), FC (Flow Chart), FBD (Functional Block Diagram), LD (Ladder Diagram)가 있습니다. 텍스트언어로서는 ST (Structured Text), IL (Instruction List)가 있습니다. SFC,FC언어는 Sequence 섹션에서의 Father프로그램, child프로그램

     (FC에서는 하위프로그램) 으로서 사용되어집니다. 프로그램언어는

       프로그램관리 창에 프로그램명과 더불어 이하의 아이콘에서

       표시됩니다. 이하에서는 프로그램언어을 나타낼 아이콘을 가리킵니다.

 - SFC	SequentialFunctionChart

 - FC	FlowChart

 - FBD	FunctionBlockDiagram

 - LD	Ladder Diagram (Quick LD편집기를 사용)

 - ST	Structured Text

　IL	Instruction List


Working with programs
프로그램 관리

「파일」「도구」메뉴에는 프로그램을 작성, 갱신, 변경할 이하의 명령어를 포함시키고 있습니다.

새 프로그램

주석삽입

프로그램 편집

 "일기장" 편집

변수 목록

파라미터

이동

복사

삭제

라이브러리 에서 가져오기

라이브러리로 보내기


Creating a new program
새 프로그램

「파일」－「새파일」명령어에 따라 프로그램을 지정한 섹션에 신규 작성할 수 있습니다.

우선 프로그램명을 이하의 룰에 따라 입력합니다.

•	프로그램명은 최대8문자

•	최초의 문자는 영문자(a - z)

•	이후의 문자는 영문자, 숫자,중에 아무거나

•	대문자, 소문자의 구별 없슴 (전각입력은 할 수 없습니다)

     다음 사용할 프로그램언어를 선택합니다.

•	SFC

•	FC

•	FBD

•	LD

•	ST

•	IL

마지막에 프로그램 스타일／섹션을 선택합니다.

•	Begin	Begin섹션의 탑레벨

•	Sequential	Sequential의 탑레벨

•	End	End섹션의 탑레벨

•	Fnc	펑션섹션

•	Fnc Blk	펑션블록섹션

•	...의 하위	기존의 프로그램 하위프로그램, Child-SFC프로그램

이상의  모두 5개의 섹션 중에서 하나를 선택하는 것으로 Begin、End、Sequential、펑션、펑션블록의 어떠한 섹션의 탑레벨 에도 프로그램 위치를 정할 수 있습니다. 이것 　이외엔 작성할 프로그램이 childＳFC프로그램, FC하위프로그램, 또는 하위프로그램 일때 선택합니다. 이경우는 Father프로그램명을 선택 입력 할 필요가 있습니다. sequence프로그램의 탑레벨은 ＳFC／FC언어일 필요가 있습니다. ＳFC／FC언어 프로그램은 Begin、End섹션의 탑레벨, 또는 그 하위프로그램에는 사용할 수 없습니다.


Entering comments for each program
주석 삽입

 ISaGRAF에서는 프로젝트 중에 각 프로그램에 대해서 명령어를 입력할 수 있습니다. 이 명령어는 프로그램 옆의 작은 폰트로 표시됩니다.명령어의 입력에는 파일 - 주석문

명령어를 선택합니다. 여기서 새로운 명령어의 입력, 또는 수정을 합니다.


Editing the contents of a program
프로그램 편집

「파일」메뉴의「편집」메뉴에 따라 프로그램의 내용을 수정하기 위해 편집기 창을 열 수가 있습니다. ISaGRAF는 프로그램언어를 받아들여 편집기를 엽니다. 프로그램의 편집은 개별창에  표시됩니다. 복수 편집기창을 동시에 여는 것도 가능합니다. 프로그램이  선택되어져 있는 상태에서 ENTER키 입력, 또는 프로그램명의 마우스에 의한 더블클릭에 따라 프로그램 편집창을  열수 있습니다.


Editing the "diary" file
수정 이력 파일 편집

파일 - 수정이력 명령어에 따라 각 프로그램에 부속할 수정이력파일을 편집할 수 있습니다. 편집중의 프로그램을 종료 할 때 수정이력메모를 기입하기 위해, DialogBox가 열리기 때문에 필요한 메모 기입할 수 있습니다. 또한 코드작성, Verify를 행한 결과도 수정이력파일에 자동적으로 기입됩니다.

역시 각 편집기에서의「옵션」－「수정이력의 갱신」명령어가 set되지 않는 경우는 편집중의 프로그램 종료 시에 DialogBox는 열리지 않습니다. Default는 이 명령어가 set됩니다.


The dictionary of variables
변수목록

"변수목록" 메뉴에 따라 프로젝트로 사용된 변수와 정의워드의 모음파일 편집을 할 수 있습니다. 변수와 정의워드의 범위에 따라 Global변수, 지역변수가 있고 지역변수는 선택중의 프로그램에서만 억세스 됩니다. Global변수는 프로젝트 전체에서 억세스할 수 있습니다. 정의워드는 프로그램에서 사용된 문자열（숫자）의 바꿔 놓음을 의미합니다. 예를 들면 정수, 키워드, 논리치 상태를 다른 언어（워드）로 바꿔 놓을 때 사용합니다.


Parameters of a function, sub-program or function block
파라미터

「파일」－「파라미터」에 따라 선택된 하위프로그램 또는 펑션, 펑션블록섹션의 프로그램의 입력/출력 파라미터를 정의할 수 있습니다. 선택되어 있는 프로그램이 Begin,End섹션의 탑레벨Father프로그램 또는 ＳFC프로그램의 경우에는「파라미터」명령어는 무효가 됩니다. 펑션, 하위프로그램, ＦＢ는 최대３２의 입출력파라미터 를 가질 수 있습니다. 펑션과 하위프로그램은 하나의 출력파라미터 밖에 가질 수 없습니다. 그래서 그파라미터 명은 그 펑션과 하위프로그램의 이름과 같아야 합니다. 펑션블록 에서는 출력 파라미터를 복수로 가질 수 있습니다. 파라미터  Dialog Box의 상부의 창 에서는 파라미터 입력, 출력파라미터)가 표시되고 있습니다. 하부의 창에서는 현재 선택 되어 있는 파라미터에 관한 상세정보가 표시되어 있습니다. 파라미터의 data타입으로서 ISaGRAF가 지원하는 어떠한 데이터 타입으로도 사용할 수 있습니다.

출력파라미터는 파라미터 리스트의 마지막에 있을 필요가 있습니다. 파라미터명 에서는 이하의 룰이 있습니다.

•	파라미터명 최대길이는 반각16문자

•	최초의 문자는 영문자(a-z)

•	이후의 문자는 영문자, 숫자 중에 아무것이나

•	대문자, 소문자 구별 없슴

하나의 펑션과 펑션블록 내에서 동일의 파라미터명은 허용 하지 않습니다. 동일의 파라미터명은 다른 펑션에서는 취급 할 수 없습니다. 출력파라미터명과 펑션명, 펑션블록명과는 동일할 필요가 있습니다.

“삽입”버튼은 새로운 파라미터를 선택중의 파라미터앞에 삽입합니다.“삭제”버튼은 선택중의 파라미터를 삭제합니다.　“arrange”버튼은 자동으로 파라미터의 순번을 바꾸어 나열해서 출력파라미터가 마지막에 오도록 합니다.


Moving a program in the hierarchy tree
이동

파일 - 이동/이름 바꾸기 명령어에 따라 프로그램명의 변경과  프로그램을 다른 섹션에 이동할 수가 있습니다. 다만 프로그램언어는 변경할 수 없습니다. 이 명령어를 실행하면 프로그램의 신규작성시와 같은 DialogBox가 열립니다. 선택된 프로그램의 속성이 선택 표시됩니다. 여기서 프로그램명의 변경, 또는 이동시키고 싶은 섹션, Father프로그램의 선택을 할 수 있습니다.

파일 - 프로그램정렬 에 따라 동일레벨의 프로그램 사이에서는 순번 바꿔넣기를 할수 있습니다. 예를 들면 탑레벨의 프로그램 이 선택되어 있을 때는 탑레벨 사이에서 프로그램 의 순번을 바꿔넣기 할 수 있습니다. 하위프로그램의 레벨에서는 동일 Father프로그램을 가진 프로그램 사이에서 순번 바꿔넣기가 가능합니다.

프로그램의 순서바꿔넣기 DialogBox에서 위로이동 또는

“아래로이동”버튼을 선택하는 것으로 프로그램순을 바꿔 넣습니다.


Copying programs
복사

파일 메뉴의  복사 명령어에 따라 선택되어져 있는 프로그램을 다른 이름의 프로그램으로 복사할 수 있습니다.

복사 명령어를 실행하면 프로그램 신규 작성시 DialogBox가 열립니다. 선택된 프로그램의 속성에서 선택 표시되어 있습니다. 여기서 복사 전에 프로그램명의 입력, 또는 복사 전에 Father프로그램의 선택을 할수 있습니다. 복사 전의 프로그램이 존재 하지 않을 경우는 지정된 장소에서 프로그램이 복사되어, 이미 프로그램이 존재하고 있는 경우는 겉쓰기가 됩니다.프로그램 복사에 따라 프로그램에 첨가된 모음파일 내용도 정리되어 복사됩니다. 확인버튼에 따라 프로그램이 복사됩니다. 취소 버튼에 따라 프로그램은 복사 되지 않고 Dialog Box는 닫칩니다.

「파일」메뉴의「다른프로젝트에복사」에 따라 선택 되어 있는 프로그램을 동일명인 채로 다른 프로젝트에 복사할 수 있습니다. child프로그램, 하위프로그램도 정리되어 복사됩니다. 복사 전의 프로젝트에서 동일명의 프로그램 및 하위프로그램 이 존재하고 있지 않는 것을 확인해 둘 필요가 있습니다. 이 명령어에서는 프로그램 은 덮어쓰기 되지 않습니다. 이 명령어에 따라 프로그램 에 첨가시켜 변수목록파일（지역변수, 지역정의워드만）도 포함시켜 복사됩니다.


Deleting programs
삭제

「파일」－「삭제」명령어에 따라 선택 되어 있는 프로그램을 삭제할 수 있습니다. Child 또는 하위프로그램을 가진 Father프로그램을  선택해서 삭제할 수 없습니다. 이 경우에는 최초의 하위프로그램을 삭제 한 후 나중에 Father프로그램을 삭제할 필요가 있습니다. 프로그램을 삭제 할 때는 모음파일로 정의 되어 있는 지역한 정의내용도 포함해서 삭제됩니다.


Importing function or function block from library
라이브러리 에서 function / function block 가져오기

「도구」－「라이브러리 에서 가져오기」에 따라 ＩＥＣ로 적힌 펑션 또는 ＦＢ라이브러리와 현재의 프로젝트사이에서 프로그램정보 교환이 가능합니다. 라이브러리 내에서 선언되어 있는 지역변수, 정의 도 함께 import 됩니다. 라이브러리 내에서 이미 Verify, Compiler선택의 경우는 Obj-code도 포함해서 copy됩니다. 이 경우에는 열려 있는 프로젝트 내에서의 compiler는 생략됩니다. 이 명령어에 따라 ＩＥＣLanguage로 적혀진 라이브러리에서 펑션, ＦＢ섹션의 탑레벨에 복사할 수 있습니다. import된 관수는 프로젝트의 계층구조 가운데 소정의 섹션에「이름변경／이동」명령어에 따라 옮길 수 있습니다. 이미 존재하는 펑션과 ＦＢ에서의 겉쓰기를 기피하기 때문에 import된 라이브러리는 이름변경이 필요한 경우가 있습니다. 이런 경우에는 펑션의 복귀치의 변수명도 잊지 말고 펑션명에 맞춰 둘 필요가 있습니다.


Exporting function or function block to library
라이브러리로 function / function block 보내기

「도구」－「라이브러리로 보내기」명령어에 따라 오픈 중의 프로젝트의 펑션 또는 ＦＢ섹션 내의 펑션에 대응했던 라이브러리로 옮길 수 있습니다. 펑션 내에서 선언된 지역변수, 정의워드는 정리되어 옮겨집니다. export된 펑션, ＦＢ는 라이브러리 관리 창에서 Compile할 필요가 있습니다. export된 펑션, ＦＢ는 Global변수를 사용할 수 없습니다.


Running the code generation tools
코드 만들기

「만들기」메뉴에는 프로젝트 실행코드를 생성하기위한 명령어와 그 옵션이 포함되어 있습니다.

상세한 것은「코드생성 사용법」의 장을 참조 바랍니다.

만들기(TIC)

검증

시뮬레이션

run-time 옵션

컴파일러 선택

리소스 정의


Make the application code
만들기(TIC)

「만들기」－「만들기」에 따라 설정종료의 Compiler옵션에 의해 프로젝트코드가 생성됩니다. 프로젝트 코드 생성시에는 또한, 문법체크가 되어 있지 않은 코드에 관해서는 Verify도 됩니다. Increment Compiler를 위해 이미 Compiler 된 코드에 관해서의 재Compile 을 실행하지 않습니다.


Verify the selected program
검증

「만들기」－「검증」에 따라 프로그램관리 창에서 선택되어 있는 프로그램 문법 check Verify를 할 수 있습니다. 만약 에러가 검출 되지 않았던 경우는 코드 생성시에 내용과 모음에 변화가 없는 한 재차 프로그램  검증 되는 일은 없습니다.


Simulating a modification
시뮬레이션

「만들기」－「Touch」에  따라 각 프로그램에 수정이 첨가된 것을 시뮬레이션 다음회의 코드 생성시에는 모든 프로그램이 Verify, Compile됩니다.


Application run-time options
run-time 옵션

「만들기」－「프로그램실행시간선택」에 따라 중간코드 생성옵션 및 run-time  Priority의 설정을 할 수 있습니다. 이하에서 각각의 Priority의 설명을 합니다. 상세한 것은「만들기사용법」을 참조 바랍니다.


Compiler options
컴파일러 선택

「만들기」－「컴파일러 선택」명령어에 따라 ISaGRAF의 Code Generator가 Target 실행코드의 종류 선택 및 Optimize할 수 있습니다. 상세한 것은「코드 생성 사용법」을 참조 바랍니다.


History of modifications
수정 이력

이 명령어는 DialogBox를 열어 프로젝트의 수정 이력을 보여 줍니다.

자세한 것은 프로젝트 관리 를 참고 하시기 바랍니다.


Defining resources
리소스 정의

「만들기」－「리소스」명령어에 따라 Target 실행코드와 함께 사용할수 있는 데이타（혹은 참조할 파일）을 리소스파일로 정의해 다운로드할 수 있게 됩니다. 상세한 것은 리소스 정의파일의 설정 포멧 등「코드생성 사용법」을 참조 바랍니다.


Other ISaGRAF tools
기타 ISaGRAF 도구

「프로젝트」메뉴에는 ISaGRAF도구를 실행하기 위한 명령어가 포함되어 있습니다. 상세한 것은 각 도구의 사용법을 참조 바랍니다.

I/O 변수 연결

크로스 래퍼런스 편집기

프로젝트 설명 추가

문서 인쇄

수정 이력


Wiring I/O variables
I/O 변수 연결

「도구」－「I/O연결」명령어에 따라 I/O연결편집기 를 열 수 있습니다. 여기서는 선언되어 있는 I/O변수를 대응하는 I/O보드와 mapping을 합니다. 논리적인 변수를 물리적으로 할당하게 됩니다.


Running the cross reference editor
크로스 래퍼런스 편집기

「프로젝트」－「크로스 래퍼런스」명령어에 따라 프로젝트의 크로스 래퍼런스 편집기가 작동합니다. 크로스Reference로 프로그램의 소스코드 중의 모든 변수가 사용되어지고 있는 장소를 볼 수 있습니다. 특정 변수가 사용되어지고 있는 장소에 유효하게 사용할 수 있습니다.


Entering the project descriptor
프로젝트 설명 추가

「프로젝트」－「프로젝트 메모장」에 따라 프로젝트의 기술용 텍스트의 편집을 할 수 있습니다. 또한 이 명령어는 프로젝트관리 창에서도 작동할 수 있습니다.


Printing a complete document
문서 인쇄

「프로젝트」－「인쇄」에 따라 열려 있는 프로젝트에 관한 도큐먼트를 인쇄할 수 있습니다. 이 도큐먼트에는 프로그램, 변수, 파라미터 등이 포함됩니다. 사용자는 필요한 인쇄항목을 선택해서 도큐먼트을 인쇄할 수 있습니다. 또한「프로젝트관리」에도 같은 명령어가 있습니다.


Adding commands to the Tools menu
 도구 메뉴에 사용자 가이드 추가

도구 메뉴에 사용자 가이드를 추가할 수 있습니다. \ISAWIN\COM\ISA.MNU텍스트파일을 편집하는 것에 따라 사용자 가이드를 추가할 수 있습니다. 최대10개의 명령어를 추가할 수 있습니다. 명령어에 대한 명령어는 ; 으로 시작될 행에 기입할 수 있습니다. 각 명령어는 아래에 표시할 2행의 텍스트라인으로 구성됩니다. 이하의 문법에 따릅니다.

M=메뉴에 표시될 문자열

C=명령어

명령어라인에는 DOS와 Windows의 실행모듈을 인수를 합쳐서 기술 가능합니다. 다룰 인수로서 "%A" 는  열려 있는 프로젝트명, "%P"는 선택중의 프로그램명 입니다. 이하의 예에서는 메모장에서 선택된 프로그램을 편집할 경우 명령어라인이 됩니다.

M=메모장에서 편집

C=Notepad.exe \isawin\apl\%A\%P.lsf


Simulating and debugging the application
시뮬레이션 - 디버깅

「디버거」메뉴에는 ISaGRAF어플리케이션 시뮬레이션, 온라인 디버깅에 필요한 명령어가 포함되어 있습니다.

시뮬레이션

온라인 디버그

디버깅 공간 확보

Link 설정

Serial link 설정

Ethernet link 설정


Simulation
시뮬레이션

디버그 - 시뮬레이션 에 따라 디버그 창이 시뮬레이션 모드로 작동됩니다. 이것과 동시에 Kernel Simulator라고 불리는 창이 작동됩니다. Kernel Simulator 창과는 어플리케이션으로 입출력 I/O변수가 사용되고 있고, 이것들이 접속되어 있는 경우 가상I/O판넬을 가리킵니다. 시뮬레이션을 행하기 전에는 시뮬레이션용의 프로젝트 코드가 생성되어 있을 필요가 있습니다 (코드 생성Compiler옵션으로 시뮬레이션용 코드 선택이 필요)

디버그 창이 열려질 때 프로그램관리 창은 일단 닫힙니다. 시뮬레이션 창이 열린 후에 프로그램관리 창은 다시 디버그 창으로 열립니다. 또한 오픈 중의 프로젝트내의 프로그램편집기 코드생성 창I/O접속 창 등이 열려 있을 때는 디버그창은 열리지 않습니다. 디버그 전에는 이것들을 전부 닫을 필요가 있습니다. 이 명령어는 프로그램 관리 창에도 포함되어 있습니다.


Real debugging
온라인 디버그

디버그 - 디버그 명령어에 따라 디버그 메인 창이 작동합니다. 온라인 디버그 전에는 Target용의 어플리케이션 코드가 생성 되어 있을 필요가 있습니다. 디버그 창이 열려질 때에 프로그램관리 창은 일단 닫힙니다. Workbench의 디버그가 Target어플리케이션과 통신이 되었을 때 다시 디버그모드로 열립니다. 또한 오픈 중의 프로젝트 내의 프로그램편집기 Code Generation 창 I/O접속창 등이 열려 있을때는 디버그 창은 열리지 않습니다. 디버그 전에는 이것들을 전부 닫을 필요가 있습니다. 프로그램관리 창도 포함됩니다.

시뮤레이션과의 차이는 Kernel Simulation 창이 열리지 않는 점입니다. 이것 이외에는 같은 시뮤레이션기능을 가집니다.


Link setup
Link 설정

「디버그」－「타겟연결」에 따라 ISaGRAF Workbench와 Target 사이의 통신파라미터 설정을 합니다. 타겟연결 DialogBox로 이하의 통신파라미터를 설정합니다. 이들 설정내용은 접속될 ISaGRAF Target쪽의 설정내용과 일치할 필요가 있습니다.

Target slaveNO는 동시에 실행중의 ISaGRAFTarget의 ID괹번호가 됩니다. 1 ~ 255의 수치를 입력할 수 있습니다. Target slave No의 설정에 관해서는 Target 매뉴얼을 참조 바랍니다.

통신보드는 Workbench 디버그와 ISaGRAF Target과의 Communication Port를 설정합니다. 표준으로서 COM1~4, Ethernet가 있습니다.

Ethernet는 winsock ver 1.1을 사용한 TCP/IP 통신이 됩니다. Ethernet통신은 SunPC-NFS Ver5.0으로 동작확인 종료입니다.

Time Out은 디버그와 Target 간의 통신타임아웃 조건을 설정합니다. Time Out 시간는 디버그 질문에 대응할 응답까지의 간격을 가리킵니다. 단위는 초입니다.

Retry는 디버그가 Target 간에 통신을 할 때 통신에러를 검출하기 전의 통신트라이 횟수.


Serial link setup
Serial link 설정

통신보드에 ＣＯＭ１－４가 선택된 때에“설정”버튼을 선택하면 시리얼링 통신파라미터 설정 Dialog가 열립니다. 여기에서는 이하의  파라미터를 설정할 수가 있습니다.

•	Baudrate

           디버그와 Target 간의 통신속도(bit/sec) 를 나타냅니다. 최대19200Baud가 설정 가능 합니다.

•	Parity	 통신 페러티로 짝수, 홀수, 없슴 으로 선택 가능합니다.

•	Format	데이터set수와 스폿트set수를 지정합니다. 데이터set수는  7,8중에서, stopset수는 1,2중에서 선택 가능 합니다.

•	Flow Control 	제어의 선택을 합니다. ISaGRAF Workbench는 하드웨어 handshake를 가능케 하기위해 CTS, DSR신호룰 제어하는 것도 가능합니다.


Ethernet link setup
Ethernet link 설정

통신포트에 Ethernet가 선택된 때에는“설정”버튼에 따라 ＴＣＰ/ＩＰ 통신을 위해 Ｅｔｈｅｒｎｅｔ어드레스 및 Ethernet보드 선택의 DialogBox가 열립니다. 이 필드들은  소켓 인터페이스에 따라 정의종료 표준 포맷 입니다. Workbench는 ＴＣＰ/ＩＰ 통신에 winsock.dll(ver1.1)을 사용합니다. Workbench 환경에는 이 소켓이 바르게 인스톨되어 있을 필요가 있습니다. Default 포트번호는 １１００입니다.


Preparing debug workspace
디버깅 공간 확보

「디버그」－「작업공간」메뉴에 따라 초기의 디버그 워크스페이스에 표시됩니다. 문서 리스트를 설정할수 있습니다. 문서에는 프로그램, SpotLight그래픽, 변수리스트, 이전의 버전으로 사용되고 있었던 그래픽화면, 타임차트 등이 포함됩니다. 워크스페이스에 설정된 이것들의 문서는 시뮤레이션과 온라인 디버그를 할 때에 자동적으로 열립니다.

이 DialogBox에서는 좌측 Box에는 존재하고 있는 모든 문서가 표시됩니다. 이들 중에서 자동으로 표시하고 싶은 문서를 우측 워크스페이스Box에“＞＞”、“＜＜”버튼을 선택해서 이동시킵니다. 각 프로젝트에는 하나의 작업 공간을 가질 수 있습니다.