Using the SFC editor
 SFC 편집기 사용법

SFC언어는 Sequencial한 프로세스 동작을 기술 할 때 사용합니다. 프로세스 스텝을 표현할 부분과 스텝사이의 transition을 표현할 부분의 그래픽에서 성립되고 있습니다. SFC언어는 IEC1131-1표준이 되는 부분입니다. 기타 언어는 스텝 내에 액션을 기술하기 위해 또는, transition의 논리적인 조건을 기술하기 위해 사용되는 경우가 있습니다. SFC언어에디터는 차트를 작성할 그래픽 에디터 부분과 ST언어에 의한 텍스트 프로그래밍할 부분을 모두 처리 할 수 있습니다. 그래서 액션부분 transition조건부분의 프로그램도 연속적으로 할 수 있습니다.

SFC 언어 메인 토픽

SFC chart 입력

SFC chart 에서의 작업

level 2 프로그램 입력

변수명 입력

스텝에 Pulse (P) 액션 삽입

스텝에 normal(N) 액션 삽입

P0 ,  P1

Boolean 액션

SFC 액션

ST로 작성된Transition

QuickLD로 작성된 Transition

도구 메뉴

SFC 갤러리 사용법

다른 ISaGRAF 도구 호출

파일 메뉴의 다른 명령어

프로그램 일기장 갱신

변수목록에서 찾기


SFC language main topics
SFC 언어 메인 토픽

ＳＦＣ는 Sequential한 프로세스를 표현하기에는 최적의 언어입니다. ＳＦＣ언어는 프로세스의 사이클을 연속한 스텝을 transition에 따라 구분되어 구성되어 있습니다. 상세한 것은 ISaGRAF Technical Reference메뉴얼 ＳＦＣ언어를 참조해 주세요.

분기와 결합

점프 스텝

매크로 스텝

ＳＦＣ Component 사이는 방향을 가진 라인으로 접속됩니다. Default라인의 방향은 위에서 아래로（↓）입니다.:

시작 스텝

스텝

Transition

점프 스텝

매크로 스텝

매크로 시작 스텝

매크로 종료 스텝

SFC언어에 따라 프로그램은 2개의 레벨로 나눠져 있습니다.

레벨１ 에서는 그래픽차트를 표시합니다. step과 transition에능 Reference no와 명령어가 attach되어 있습니다.

레벨2	에서는 ＳＴ언어(transition조건기술에는 ＬＤ언어도 가능)또는 ＩＬ언어에 따라 프로그램으로 스텝 내의 액션 또는 transition에 attach되어 있는 조건 기술을 합니다. 액션과transition은 기타 언어(LD, FBD, ST, IL)로 적혀진 서브프로그램을 참조할 수 있습니다.

      레벨1, 레벨２의 프로그램의 예를 아래에서 가리킵니다.

레벨2의 프로그램에서는 스텝 내의 액션프로그램에는 ＳＴ,ＩＬ언어를 사용합니다. Transition 조건기에는 ＳＴ，ＩＬ 이외에 ＬＤ언어（QuickLD편집기를 사용）를 사용할 수 있습니다.


Divergences and convergences
분기와 결합

분기와 결합은 복수스텝과 transition을 연결하는 Multiple입니다.

선택（ＯＲ）분기에서는 몇 개의 패스 중에서 어떤 하나의 선택이 행해져 실행됩니다.

병렬（ＡＮＤ）분기는 parallel（병렬）처리를 의미합니다.


Jump to a step
점프 스텝

SFC편집기에서는 컴퍼넌트 간의 링은 위에서 아래 방향이 됩니다.  단, 스텝으로 점프할 경우는 상향 링이 됩니다.

아래 그림은　같은 의미를 가집니다.

병렬（ＡＮＤ）결합 때를 제외하고 transition으로의 점프는 금지되어 있습니다.


Macro steps
매크로 스텝

매크로스텝은 독립해서 존재하고 있는 스텝과 transition집단을 가리킵니다. 매크로스텝은 개시스텝으로 시작되고, 종료스텝으로 마칩니다.

매크로스텝은 동일 ＳＦＣ차트 내에 적혀 있을 필요가 있습니다. 매크로스텝  개시스텝번호와 매크로스텝 심벌은 같은 Reference번호 이어야 할 필요가 있습니다.  호출된 매크로스텝은 더욱이 다른 매크로스텝 심벌을 지닐 수도 있습니다.


Entering SFC chart
SFC chart 입력

SFC chart를 그릴 때는 key component만을 배치하는 것만으로 잘 접속라인으로서 수평-수직라인은 자동적으로 그어집니다.

목적화 차트	화면상에서의 심벌  배치조작

SFC component를 차트상에 배치하기 위해서는 커서를 목적장소에 이동해서 에디터 도구 바에서 목적타입의 component를 선택합니다. 심벌이 목적장소에 삽입됩니다. 아래에서 function key 입력을 사용하는 것도 가능합니다.

초기스텝 삽입

단일스텝 삽입

transition 삽입

스텝에 점프 삽입

 	선택(OR)  분기 또는 결합  삽입/ branch추가

 	병렬(AND) 분기 또는 결합 삽입/ branch추가

매크로스텝 삽입

 	메크로스텝 내용 시작 또는 종료스텝 삽입

(  " [image] "심벌은 + SHIFT키를 의미합니다 )

편집용 grid는 배치된 심벌 장소를 가리킵니다. grid표시가 있을 때 최초 SFC차트와 서버퍼즈 레이아우트 구성이 용이합니다. 옵션 - 윤곽 에 따라 grid의 표시/비표시가 가능합니다.

SFC에디터는 항상 현상에 선택되어 있는 장소표시가 좌표형으로 표시됩니다. 선택 되어 있는 Cell 위치는 gray 표시됩니다.  선택되어 있는 Box 오른쪽 코너를 마우스로 드래그하는 것으로 셀 사이즈를 자유로이 변경할 수 있습니다. X/Y비율을 변경하는 것도 가능합니다.


Creating a divergence or convergence
 	분기 또는 결합

분기와 결합 라인을 그을 경우는 좌에서 우로 라인을 component  배치해 갑니다. 우선 좌의branch 장소를 아래의 어떠한 도구 바 버튼으로 선택한 후에 차트 내에서 장소를 선택합니다.


Adding branches to divergences
   	분기에 branch 추가

각brunch의 시작와 마지막에는 이하의 도구 바 버튼을 선택해서 장소를 지정할 필요가 있습니다. 왼쪽코너 스타일 (선택, 병렬)을 맞춘 순번의 우측에 같은 스타일의 component를 배치합니다. 왼쪽코너에서 component가 선택되어 있지 않을 때는 우측에 component를 배치 할 수 없습니다.


Inserting a macro step
매크로스텝 삽입

이 도구바 아이콘버튼에 따라 메인 차트에 매크로스텝을 삽입할 수 있습니다. 매크로스텝 은 메인 차트와 같은 ＳＦＣ차트 내에 기술해야 합니다.


Body of a macro step
 	매크로스텝 내용

매크로스텝은 Father차트와 동일 ＳＦＣ차트 내에 적힐 필요가 있습니다. 매크로스텝은 개시스텝에서 시작되고 종료스텝에서 끝마칩니다. 매크로 개시스텝과 Father매크로스텝은 같은 참조번호 이어야 합니다. 매크로스텝을 적기위한 도구 바 버튼을 아래에서 나타냅니다.


Working on an existing SFC chart
SFC chart의 작업

마우스 또는 커서키에 따라 차트 내의 셀을 선택합니다. 선택된 장소는 회색(Gray)이 됩니다. 선택된 장소에 대해서는「편집」메뉴 명령어(자르기, 붙여넣기）를 사용할 수 있습니다:

  	자르기/ 복사 / 삭제 / 붙여넣기

이동

스텝과 transition 번호 고치기

스텝 또는 transition 직접 접근

텍스트 검색과 변환


Cut / copy / delete / paste commands
 	자르기/복사/삭제/붙여넣기

도구 바에서 화살표 버튼이 선택되어 있을 때 이하의 편집명령어가 선택된 심벌에서 사용할 수 있습니다.

 자르기	선택된 장방형 영역 클립보드로의 이동

 인쇄	선택된 장방형 영역 클립보드로의 인쇄

 붙이기	선택된 장방형 영역에서 클립보드 내용을 붙인다.

 삭제	선택된 장방형 영역 삭제

붙이기 명령어는 클립보드 내용을 화면에서 인쇄하지만 이때 스텝transition과 함께 레벨2 프로그램 내용도 인쇄됩니다.


Move elements
이동

SFC chart에서 선택되어 있는 심벌／Element는 마우스의 드래그 조작으로 다른 장소로 이동시킬 수 있습니다. 드래그 중에 최초의 장소는 사선표시 됩니다.

심벌의 이동 전은 공백이어야 합니다. SFC심벌을 이동 중에 삽입은 할 수 없습니다.


Renumbering steps and transitions
스텝과 transition의 번호 메김

각 스텝, transition에는 래퍼런스번호가 붙어 있습니다. 이 번호는「편집」-「다시번호적기」에 따라 편집중의 ＳＦＣ차트의 래퍼런스번호를 새로 자동으로 고칠 수 있습니다. 이때 스텝으로의 점프 래퍼런스번호와 매크로스텝으로의 점프 등의 번호도 자동으로 갱신됩니다.


Direct access to a step or transition
스텝 또는 transition에 직접 접근

ＳＦＣ차트 편집중에「F5: 점프 」명령어에 따라 편집중의 ＳＦＣ 내에 지정된 스텝과 transition으로 점프할 수 있습니다. 이때 점프 전의 스텝과 transition이 보이도록 윈도우 스크롤이 자동으로 행해집니다.


Find and replace texts
텍스트 검색과 치환

「편집」-「검색／치환」명령어에 따라 편집중의 ＳＦＣ차트 내의 스텝, transition 내에 기술되어 있는 모든 프로그램을 대상으로 텍스트 검색과 변환을 할 수 있습니다. 검색／치환 DialogBox에서 검색할 텍스트를 입력합니다. 만약 검색텍스트가 발견된 경우는 레벨２ 프로그램도 동시에 열립니다.


Entering the level 2 programming
level 2 프로그램 입력

레벨2에서 프로그램을 입력할 때에는 SFC스텝, transition을 더블클릭 합니다. 레벨2 프로그래믹 창이 SFC의 오른쪽 에서 열립니다. SFC프로그램과 레벨2 프로그램윈도우 사이에는 세프레이션이 있고 자유롭게 비켜 놓을 수 있습니다.

레벨2 프로그램을 최대 두개까지 동시에 열 수가 있습니다. 이하  키보드 입력명령어와 마우스 조작에 따릅니다.

	키보드	마우스	편집 메뉴 명령어
제1창	Enter	더블클릭	레벨2의 편집
제2창	Ctrl+Enter	Ctrl + 더블클릭	분리창에서 레벨2 편집

두개의 레벨 창이 열려 있을 때는 이들간의 separation 위치는 조정할 수 있습니다. 레벨２의 타이틀 바 오른쪽 위의 버튼으로 레벨２ 창을 닫을 수 있습니다.

레벨２ 프로그램에는 Default에서 ＳＴ언어가 사용됩니다. 단 transition 레벨２ 프로그램에 관해서는 ＬＤ언어（Quick LD에디터를 사용）사용할 수 있습니다. 레벨２ 창의 타이틀 바에 있는「ST/LD」바꾸기 버튼에 따라 액티브한 언어를 바꿀 수 있습니다. 이 바꾸기는 레벨２ 창이 공백 상태일 때만 유효하게 됩니다.

레벨２ 윈도우의 상부에는 일행의 편집 가능한 텍스트 행이 있습니다. 이 텍스트가 스텝과  transition의 명령어가 됩니다. 이 명령어는「점프」명령어와 SFC문서 인쇄시의 명령어로서 사용됩니다.

「옵션」－「갱신」메뉴 명령어에 따라 레벨２ 창이 열려 있을 시에 레벨２에서 수정내용을 메인 SFC차트에 반영 시킬 수 있습니다.

변수명 입력

스텝에 Pulse (P) 액션 삽입

스텝에 normal(N) 액션 삽입

 	P0 , P1

Boolean 액션

SFC 액션

ST로 작성한 Transitions

Quick Ladder 로 작성한 Transitions


Inserting a variable name
변수명 입력

텍스트 에디터로 프로그래믹을 행하고 있을 경우에 이 버튼을 선택하면 Project에 선언되어 있는 변수목록이 열려 삽입하고 싶은 변수명을 선택할 수 있습니다. QuickLD에서 프로그램을 행하고 있을 경우는 선택되어 있는 심벌에 대해서 변수명, FunctionBlock명, 파라미터 를 선택할 수 있습니다.


Inserting a Pulse action block in step
스텝에 Pulse (P) 액션 삽입

스텝의 레벨２ 프로그램을 행하고 있을 경우에 이 버튼을 선택하는 것으로 pulse액션블록을 삽입할 수 있습니다. 이하에서는 포맷을 나타냅니다.

Action (P) :

ST statement;

...

End_Action;

pulse액션은 스텝이 활성화상태가 되었을 때만 실행됩니다. 상세한 것은 언어 래퍼런스를 참조 바랍니다.


Inserting a Non stored action block in step
스텝에 normal(N) 삽입

스텝의 레벨2 프로그램을 행하고 있을 경우에 이 버튼을 선택하는 것으로 normal액션블록을 삽입할 수 있습니다. 이하에서 포맷을 나타냅니다.

Action (N) :

ST statement;

...

End_Action;

normal액션은  스텝이 활성화 상태일 때 매번 사이클이 실행됩니다. 상세한 것은 언어 래퍼런스를 참조 바랍니다


New P0 and P1 action qualifiers
 	P0 , P1

ISaGRAF는 새로운 P0 , P1 를 지지하고 있습니다. 스텝의 레벨2 프로그램을 행하고 있을 경우에 이 버튼을 선택하는 것으로 P0 , P1액션블록을 삽입할 수 있습니다. 이하에서는 이들 포맷을  나타냅니다.

Action (P0) :	Action (P1) :

ST statement;	ST statement;

...	...

End_Action;	End_Action;

P1액션은 스텝이 활성화상태가 되었던 때만（pulse와 같은 모양）P0액션은 스텝이 비활성화 상태이었을 때만 실행됩니다. 상세한 것은 언어 래퍼런스를 참조 바랍니다.


Boolean actions
Boolean 액션

Boolean 액션이란 현재의 스텝상태을 내부.외부변수에 할당하는 것입니다. 이하에서는 기본적인 Boolean 액션문법을 나타냅니다.(< >는 입력하지 않습니다)

< TRUE 형 변수명> (N) ;	스텝의 Activity상태를 변수에 할당

< TRUE 형 변수명 > ;	(N 속성은 옵션)

< TRUE 형 변수명 > ;	스텝의 Activity상태의 반전을 변수에 할당

이들 이외에도 스텝상태가 액티브 되었을 때 변수치를 set 또는 reset할 경우도 있습니다. 이하에서는 이들 문법을 나타냅니다.

< TRUE 형 변수명 > (S) ;	스텝의 상태가 TRUE가 되었을 때 변수치를 TRUE로 한다.

< TRUE 형 변수명 > (R) ;	스텝의 상태가 TRUE가 되었을 때 변수치를 FALSE로 한다.


SFC actions
SFC 액션

ＳＦＣ액션에서는 child SFC Sequence를 콘트롤 합니다. 즉 스텝의 상태에 대응해서 작동, 정지, Kill을 합니다.　ＳＦＣ액션에는 Ｎ（Non store）、Ｓ（Set）、Ｒ（Reset）식별자가 붙습니다. 이하에서는 문법을 나타냅니다.:

<child_program> (N);	스텝이 액티브 된 때는child Sequence를 작동해 비액티브된 때에 child Sequence를 정지시킵니다

<child_program>;	상동 (N 식별자는 옵션)

<child_program> (S);	스텝이 액티브된 때에 child sequence를 작동해 비액티브된 때에는 child Sequence에 대해서 아무것도 하지 않습니다.

<child_program> (R);	스텝이 액티브된 때에 child Sequence를 정지（kills）하고  비액티브된 때에는 아무것도 하지 않습니다.

ＳＦＣ액션에서 지정되어 있는 프로그램은 현재 편집중의  childＳＦＣ프로그램일 필요가 있습니다.


Transitions written in ST
ST로 작성된 Transition

transition의 레벨２ 프로그램은 TRUE 표현을 사용합니다. 이것은 TRUE졋�수를 ＳＴ문법에 따라서 입력하는 것입니다. 마지막에｀；｀를 부칩니다.


Transitions written in Quick Ladder
QuickLD로 작성된 Transition

transition의 레벨２ 프로그램에는 QuickLD를 사용할 수 있습니다. 이 경우는 １행의 rung에서만 표현해야 합니다. transition 상태를 나타내는 코일에는 변수명을 나눠서 부칠 필요는 없습니다. 이하에서 그 예를 나타냅니다.

QuickLD 편집기로 프로그램할 경우 키보드의 입력만으로 할 수 있습니다. 커서키로 커서를 이동시켜 심벌을 삽입할 때는 이하의 펑션키를 선택합니다.

F2:	접점을 뒤에 삽입

F3:	접점을 앞에 삽입

F4:	접점을 병렬로 삽입

F6:	펑션블록을 뒤에 삽입

F7:	펑션블록을 앞에 삽입

F8:	펑션블록을 병렬로 삽입

(마우스를 사용해서 화면 위를 클릭하는 것도 가능합니다.)

접점과 FunctionBlock, I/O파라미터를 커서로 선택해서 ENTER키를 선택하면, 변수를 선택할 DialogBox가 열립니다. 목적 변수명, FunctionBlock 명에 커서를 맞춰서 ENTER키를 선택합니다. 더블클릭에 의해서도 선택할 수 있습니다.

커서키를 접점과 코일에 맞춰서 Ctrl키＋스페이스키를 선택하는 것으로 접점, 코일타입（ａ접점, ｂ접점）을 변경할 수 있습니다. 상세한 것은「QuickLD의 사용법」을 참조 바랍니다.


Calling other ISaGRAF tools
다른 ISaGRAF 도구 호출

검증

 	시뮬레이션 / 디버그

변수목록 편집


Verify (compile) the program
검증

[파일] - [검증] 명령어에 따라 ISaGRAF 코드 생성이 실행되고, 편집중의 프로그램 문법을 검사 합니다. SFC프로그램에서는 레벨1,2 양쪽이 모두 체크 됩니다. 문법 체크가 완료되면 코드생성 창이 종료되고, 다음 조작으로 이동합니다. 만약, 프로젝트가 현재 편집중인 하나의 프로그램만에서 구성되어 있을 경우는 에러가 없으면 어플리케이션 코드도 생성됩니다.

「옵션」-「컴파일러옵션」 명령어에 따라 컴파일러와 최적화  옵션을 설정하기 위해 사용됩니다. 또한, 이들에 관한 상세한 설명은「코드생성의 사용법」을 참조 바랍니다.


Simulate or debug the application
 	시뮬레이션 / 디버그

「파일」－「시뮬레이션」,「디버그」명령어에 따라 ISaGRAF그래픽 디버거가 시뮬레이션 모드 또는 온라인 모드로 작동합니다. 이때, 각 프로그램 에디터는 모두 디버그 모드로 다시 열립니다. 이 debug모드에서는 프로그램의 직접 변경은 할 수 없습니다.（한번 디버그 모드에서 빠져나와 프로그램 에디터를 통상 모드로 열 필요가 있습니다.）상세한 것은「그래픽debug의 사용법」을 참조 바랍니다.


Editing the dictionary of variables
변수목록 편집

「파일」－「변수목록」 명령어에 따라 현재 편집 프로젝트 변수모음 에디터를 작동합니다. 또한 이 모음 에디터에서 사용자 정의 편집도 가능합니다. 상세한 것은「변수목록 편집기 사용법」 을 참조 바랍니다.


Other commands of the "File" menu
기타 "파일" 메뉴

다른 프로그램 열기

인쇄


Open another program
다른 프로그램 열기

「파일」－「열기」커맨드에 따라 현재 편집중인 프로그램을 닫고, 새로운 같은 언어의 다른 프로그램을 열수 있습니다. 다른 언어로 기술된 프로그램은 열수 없습니다.


Printing the program
인쇄

「파일」-「인쇄」커맨드에 따라 편집중인 프로그램은 인쇄가  불가능합니다. 단, 이「인쇄」커맨드에서는 프로그램 리스트와 내부변수가 인쇄됩니다.

SFC, FBD, QuickLD편집기 에서는「편집」-「메타파일로 복사」 커맨드에 따라 편집중인 다이아그램을 Ｗｉｎｄｏｗｓ 메타파일로서 클립보드에 복사할 수 있습니다. 이 내용은 다른 어플리케이션에 첨부할 수 있습니다. ＳＦＣ프로그램에 있어서는 레벨１（차트, 래퍼런스번호, 커맨드）이 그 대상이 됩니다.


Updating the program diary
일기장 갱신

[파일] - [수정이력] 커맨드에 따라 수정이력 파일의 편집이 가능합니다. 대개 이 파일에는 코드생성 등이 될 때, 문법체크 내용과 코드생성된 일시 등이 자동적으로 추가되도록 되어 있습니다.

만약,「옵션」－「수정이력 변경」옵션이 set되어 있으면, 변경내용을 디스크에 보관하기 위해, 이하의 다이아로그박스가 열립니다.

「확인」버턴을 선택하면 입력된 텍스트는 수정이력 파일에 날짜/시간 stemp붙임이 추가되어 보존됩니다. 이 기능은 프로그램의 유지상 유효하게 활용 가능 합니다.


Selecting a variable from dictionary
변수목록에서 찾기

  ST, IL프로그램 편집 중에는「편집」－「변수 삽입」커맨드에 따라 편집중인 프로그램으로 현재 커서에 변수목록에 등록되어 있는 변수명은 삽입이 가능합니다. 또한, QuickLD에서는「편집」－「텍스트／심벌설정」명령어（혹은 심벌과 지정된 영력을 더블클릭）에 따라 다이아그램중의 접점, 코일, 블록 I/O 파라미터 등에 변수명의 할당이 가능합니다. 또한, ＦＢＤ에디터에서는 심벌을 더블클릭 함으로서 다이아그램중의 접점, 코일, 블록 입출력 파라미터등에 변수명의 할당이 가능합니다.  어떤 경우라도 이하의 공통변수명 선택용 DilaogBox가 표시됩니다.

“스코프”용의 선택 에서는 변수의 범위를 글로벌, 지역 에서 선택 가능합니다. 오른쪽 위의 compobooks에서는 변수형 선택이 가능합니다. 옆의 ４개의 아이콘은 이 변수형을 선택하기 위해 shortcut해서 사용할 수 있습니다.

이진

정/실수

시변수

메세지

변수선택을 하기 위해, 리스트 가운데서 변수명을  선택해서（클릭） 선택된 변수명과 그 명령어가 선택books（리스트의 상부）에 표시된 것을 확인합니다. 다음에“ＯＫ”버턴을 선택하면, 선택된 변수명을 뽑을 수 있습니다. 또한, 변수명 더블클릭하든지, 선택버턴에 직접 변수명을 입력하면 같은 조작을 할 수 있습니다.


Commands of the "Tools" menu
"도구" 메뉴

다음은 도구 메뉴의 명령어 입니다.  SFC창의 바탕 화면아래에 작은 글씨로 정보를 보여 줍니다.

컴파일러 출력 보기	이전 컴파일 결과 에러 메세지를 보입니다

스텝/transitions 에서 찾기	스텝/transition 내의 텍스트 찾기 및 검색 목록을 보인다

출력창 숨기기	출력창을 닫는다


Using the SFC gallery
SFC 갤러리 사용법

SFC에디터에서는SFC갤러리를 취급할 수 있습니다. SFC갤러리라는 것은 각종SFC구조를 모은 것으로 SFC차트 안에 삽입할 수 있습니다. SFC갤러리에는 레벨２ 프로그램 내용을 포함시킬 수 있습니다. 이하에서「도구」메뉴명령어를 나타냅니다.

SFC갤러리에 복사        선택된 element를 SFC갤러리에 복사

SFC갤러리에서의 paste	SFC갤러리 내의 element를 SFC차트 위에 붙여넣기

SFC갤러리에 element을 인쇄할 때（즉 SFC갤러리element의 신규작성 때） 레벨２ 프로그램을 포함시킬지 않을지 선택을 할 수 있습니다.