Using the Library Manager
 라이브러리 관리자 사용법

ISaGRAF 라이브러리관리자는 각종 타입의 라이브러리군을 관리 하고 있습니다. I/O보드 드라이브에서 사용자정의 ＦＢ까지를 커버하고 있습니다. 라이브러리 관리를 사용해서 사용자가 작성할 드라이브, Function 등의 오브젝트 파라미터등을 정의 해서 등록해 둘 수 있습니다.

라이브러리 구성요소 관리

I/O 구성

I/O 장치기기

I/O 보드

Function  / FunctionBlock

"C" Functions / Function blocks

변환functions

라이브러리 보관함 구성요소

ISaGRAF 라이브러리 관리의 좌측 윈도우는 선택된 라이브러리 element리스트를 표시하고, 우측 윈도우는 선택된 element 기술 메모를 표시합니다. 라이브러리 관리 메뉴에는 선택된 라이브러리 element의 작성, 정의, 변경을 위한 명령어를 포함하고 있습니다.

이하의 ASC파일이 라이브러리 관리에 따라 변경됩니다. 이 파일들에는 element 이름과 라이브러리 중의 논리적인 index 관계가 표시되어 있습니다.

\isawin\lib\PLCNUMS	I/O구성용

\isawin\lib\XIONUMS	I/O장치 기기용

\isawin\lib\BRDNUMS	I/O보드용

\isawin\lib\IFCNUMS	IEC언어로 적힌 관수용

\isawin\lib\USPNUMS	C언어 관수용

\isawin\lib\FBLNUMS	Cfunction block용

\isawin\lib\CNVNUMS	변환 관수용

ISaGRAF 라이브러리선택은「파일」－「다른 라이브러리」명령어 또는 툴 바 좌측 콤보박스 에서 가능합니다.


Managing library elements
라이브러리 구성요소 관리

「파일」메뉴에는 오브젝트로서 라이브러리를 관리하는 명령어가 포함되어 있습니다.

새 구성요소

기존 구성요소 관리

암호 설정

function / function block 컴파일(만들기)

메모장

파라미터

소스코드


Creating a new element
새 구성요소

파일 - 신규 작성  명령어에 따라 선택중의 라이브러리에 새로운 element를 추가 합니다. 이하의 룰로 element명을 입력합니다.

•	최대8반각 문자

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

•	이후의 문자는 영문자, 숫자 중에서

•	라이브러리 element명에는 대소문자 구별없슴

텍스트에 의한 element에 대한 명령어(메모장)입력이 가능합니다. 이하의 내용은 반드시 기술 메모에 포함할 필요가 있습니다.

•	I/O구성 정의,

•	I/O보드에 대한 파라미터,

•	관수와 function block에 대한 사용자 interface

Ｃ변환 관수, Ｃfunction, Ｃfunction block이 정의되면 소스코드 template가 자동으로 작성됩니다..


Working on existing elements
기존 구성요소 관리

파일 - 이름 변경 명령어에 따라 element이름의 변경이 가능합니다. copy명령어에 따라 동일 라이브러리 없이 copy element를 작성합니다. 이미 같은 이름의 element가 있을 경우는 표서됩니다. 삭제 명령어에 따라 element가 삭제됩니다. 이름 변경 , copy , 삭제 명령어에 따라 element 이하의 component가 대상이 됩니다.

•	기술 메모

•	I/O구성 정의

•	I/O보드, 구성기기 파라미터

•	function, function block의 interface 정의

•	IEC언어로 적힌 function, function block 소스 코드

•	C변환 관수, Cfunction, Cfunction block 소스 코드

주의: 이름 변경 , copy 명령어에서는 element가 C변환 관수, C관수, Cfunction block 기술메모, 소스 코드 내부 이름은 자동으로 갱신되지 않습니다.

주의: 「이름 변경」,「copy」 명령어에서는 ＩＥＣ언어로 기술된 function 출력 파라미터（되돌리기 값）는 자동으로 갱신되지 않습니다.


Setting password protection
암호 설정

「파일」－「패스워드set」명령어에 따라 라이브러리내의 선택된 element에 대해서 각종 레벨 패스워드 protection할 수 있습니다. 패스워드는 선택되어 있는 element에서만 유효하고, 이것은  와 다른 라이브러리에 대해서는 무효가 됩니다. 패스워드protection에 관해서는 다른 장을 참조 바랍니다.


Compiling functions and function blocks
function / function block 만들기(Compile)

라이브러리에서 ＩＥＣ언어에 따라 function, function block이 선택되어 있는 경우「파일」－「검증」명령어에 따라 선택된 관수 element의 문법을 하지 않고, 대응한 오브젝트 코드를 생성합니다. 이들은 ISaGRAF프로젝트 내에서 사용되기 전에 에러 없이 compiler되어 있을 필요가 있습니다. ＩＥＣ언어에 따라 function, function block 이외의 라이브러리가 선택될 경우는 이 명령어는 사용할 수 없습니다.


Technical notes
메모장

「편집」－「메모장」명령어에 따라 선택되어 있는 element에 대한 기술메모 입력, 수정은 ISaGRAF텍스트 편집기를 사용해서 가능합니다. 메모장은 OnLine-Help로 ISaGRAF프로젝트 프로그램 작성시에 편집기에서“정보”로 호출 가능합니다. 기술 메모에는 element의 주된 목적, 프로그램 입출력 파라미터interface, 제한 그밖의 필요한 정보를 포함하고 있을 필요가 있습니다.

「편집」－「메모장」명령어에 따라  선택된 라이브러리의 모든element의 작성에 대해서 유효한 표준 기술 메모 형식을 작성할 수 있습니다. 신규element를 작성할 경우에 여기서의 형식이 기술 메모 template로서 사용됩니다. 사용자 정의 메모장 형식의 작성이 가능합니다.


Parameters
파라미터

 편집 - 파라미터 명령어에 따라 라이브러리 element의 파라미터 수정이 가능합니다. 라이브러리 element의 파라미터는 ISaGRAF 프로그램에서의 element의 interface 부분을 정의하고 있습니다. 라이브러리마다 파라미터가 가진 의미는 다릅니다.

•	I/O구성 파라미터

I/O보드 집합체의 구성을 정의하고 있고, I/O채널에는 기본명이 붙어 있습니다.

•	I/O보드 I/O장치 기기 파라미터

보드의 물리적, 논리적인 구성을 정의하고 있습니다

•	function, function block의 파라미터

element ＳＴ언어로 기술한 경우 인수에 해당하는 interface부를 정의합니다.

•	변환관수 파라미터

표준 설정 종료의 interface를 사용하기 위해 존재하지 않습니다.


Source code
소스코드

라이브러리 관리 utility에 따라 변환관수, function, function block 라이브러리 element의 소스 코드를 관리할 수 있습니다.

function의 소스 코드는 IEC언어(LD, FBD, ST, IL)로 적혀 있습니다.

C언어 function, C언어 function block, C언어 변환관수의 소스 코드는 두개의 파일로 나눠져 있습니다. 첫째는 소스  header appli.h 로 element 파라미터정의에서 온 interface부분을 정의하고 있습니다. 둘째로는 본래의 소스 코드(appli.c)로 element 처리 실현 부분을 정의하고 있습니다.

괷 function, C function block 소스 코드의 경우, 새로운 라이브러리 element가 작성되면 라이브러리관리 utility는 소스 코드의 template 파일을 자동 생성합니다. 파라미터정의에 기초한 소스  header도 자동 생성합니다. ISaGRAF텍스트 편집기로 소스 코드를 완성 시킬 수 있습니다. C언어 소스 파일 정의에 관해서는 타겟 메뉴얼 (C프로그램믹 테크닉)를 참조 바랍니다.

라이브러리 관리자는 I/O보드에 관한 소스 코드 관리를 포함하고 있지 않습니다.


I/O Configurations
I/O 구성

 I/O구성 라이브러리에 따라 설정 종료의 I/O구성을 편집, 작성할 수 있습니다. 여기서는 이하의 내용을 정의합니다.

•	I/O보드 집어넣기

•	I/O보드 파라미터용 기본 값

•	I/O채널용 디폴트명

신규 ISaGRAF프로젝트가 라이브러리 I/O구성을 선택한 경우, I/O보드 채널에 사용되어 있는 I/O변수명의 모음등록, 변수I/O접속이 자동적으로 됩니다.

 I/O구성의 정의는 ISaGRAF I/O접속 편집기(상세한 것은 I/O접속 편집기 사용방법 참조)로 합니다. I/O구성에 새로운 I/O보드를 삽입할 때에 보드의 모든 채널에 기본 변수명이 할당됩니다.(프로젝트 작성시 I/O접속 편집기에 따라 각 채널에서 수동으로 변수를 할당할 필요가 있습니다.)표준 기본 변수명 형식은 이하와 같이 됩니다.

<방향><타입><슬롯 번호>_<채널 번호>

<방향>

최초 문자는 I/O채널 방향을 나타냅니다.

"I"	입력채널

"O"	출력채널

<타입>

2번째 문자는 I/O채널 타입을 나타냅니다.

"X"	Boolen

"D"	정수형

"M"	가변장 문자열형

예로서 이하에 표준적인 I/O변수명을 나타냅니다.

IX0_7	Boolen 입력으로 슬롯번호0, 채널번호7

QD2_4	정수형 출력으로 슬롯번호2, 채널번호4

「편집」－「 파라미터 」명령어（또는 채널부분 더블클릭）에 따라I/O채널에 할당되어 있는 기본 변수명을 변경할 수 있습니다.


I/O complex equipments
I/O 장치 기기

 I/O 장치 기기는 다른 타입과 방향을 가진 I/O 보드가 편성된 I/O 디바이스를 나타냅니다. 각각의 보드는 동일 타입(Boolen, 정수형, 문자열형)으로 동시에 동일 방향(입력, 출력)을 가집니다. I/O 장치 기기는 복수 I/O 보드를 가지지만, rack내의 하나의 슬롯밖에 점유하지 않는 장치입니다.

I/O 장치 기기 정의

I/O 장치 기기 정의를 하기 위해서는 우선 복수I/O보드 리스트를 정의할 필요가 있습니다. 각각의I/O보드에 대해서 I/O보드 파라미터 DialogBox를 사용해서 상세한 파라미터를 입력할 필요가 있습니다.

I/O보드 리스트를 작성할 경우는 I/O기기 다이아로그박스로“추가기록”버턴에 따라 I/O보드 리스트 마지막에 새로운 보드를 추가할 수 있습니다.“삽입” 버턴에 따라 선택되어 있는 보드 앞에 새로운 보드를 삽입합니다.“삭제”는 선택되어 있는 보드 삭제를,“이름 변경”은 선택되어 있는 보드의 이름을 변경합니다.“파라미터”버턴에 따라 선택된 보드의 파라미터를 변경합니다. 파라미터설정은 이하의 항을 참조 바랍니다.I/O장차 기기는 최대16인 I/O보드를 가질 수 있습니다. I/O장치 기기내의 각각의 보드 이름은 최대 반각８문자 입니다.


I/O boards
I/O 보드

I/O보드 라이브러리 는 어플리케이션 프로그램변수와 타켓 하드웨어 (I/O) 사이의 인터페이스(INTERFACE)을 행하는 부분입니다. 프로젝트 어플리케이션을 작성할 때에는 전입 출력변수는 I/O보드의 채널에 할당됩니다. I/O보드는 이름과 보드 공급자를 나타내는 OEM코드를 가지고 있습니다. 그 외 I/O보드의 채널 수, 방향, 타입이 기술 되어 있습니다.

I/O 보드 파라미터

OEM 파라미터


I/O board parameters
I/O 보드 파라미터

  I/O보드 파라미터에는 2개의 부분이 있습니다. 공통적인 부분과 보드 고유의 부분입니다. 공통적인 부분에 관해서는 어떤I/O 라이브러리  보드에 대해서도 필요가 있고, I/O보드 파라미터정의 박스의 상부에 입력 되어집니다. 보드 고유의 부분은 웨어하우스(WAREHOUSE)에 따라 제공 됩니다.

OEM키 코드는 하드웨어 공급자를 정의 하는 번호입니다. 동시에 supply는 동일의 OEM키 코드를 가질 필요가 있습니다. OEM 키 코드는 16비트 unsigned word고, 16진수로 표현 될 필요가 있습니다. CJ International 에서 예약되어 있는 번호는 0, 1입니다.

채널갯수 는 보드에서 취급 가능한 채널갯수 입니다. 타입 은 채널에 접속된 변수의 타입 입니다. 방향은 접속 되어진 변수는 입력과 출력을 표시합니다

주의:

      한 장의 보드에서 다른 타입, 방향을 가진 채널을 동시에 연결 하는 것 은 불가능합니다。


The OEM parameters
OEM 파라미터

 I/O보드 파라미터정의 박스의 하부의 OEM 파라미터는 보드의 supply에 따라 정의 됩니다. 1장의 Board에 최대16개 OEM pameter (나눠넣기 번호[I/O주소]메모리주소...)가 set세트 가능합니다. Board에 따라서는 OEM 파라미터가 불필요한 경우도 있습니다. 각각의 파라미터 형식과 식별자는 하드웨어 공급자가  정의 할 필요가 있습니다

좌측의 그래프 박스에는 OEM  파라미터의 리스트가 표시되어 있습 니다. 각각의 파라미터는 파라미터명과 논리번호걁(0~15)를 가집니다. 우측에는 선택 되어진 파라미터의 주석이 표시되어 있습니다. 삭제 버턴에 따라 선택중의 OEM 파라미터 삭제가 가능합니다

정의된 OEM 파라미터 데이터 입력은 입출력변수와 I/O을 접속시키기 위해 I/O 접속 편집기에서 합니다. 파라미터명은 이하의 규칙에 따릅니다

파라미터명은 최대 16반각문자

최초의 문자는 영문자(a ~ z)

이후의 문자는 영문자,숫자 중에서

OEM 파라미터내부 형식을 갖고 있습니다. OEM 파라미터내부 형식과 I/O 접속 편집기를 사용중인 OEM 파라미터 데이터 입력 때의 입력 형식은 다릅니다

이하에서는 내부형식 예를 나타냅니다.

word	   unsigned 16 bit word

long	   unsigned 32 bit word

word hexa	   unsigned 16 bit word

long hexa	   unsigned 32 bit word

Boolean형   unsigned 16 bit word  (최하위bit만 사용됩니다.

문자	   unsigned 16 bit word (최하위 바이트만 사용됩니다

문자열 16바이트 문자열로 NULL로 끊겨 있다.

유동 소수	   single precision 32 bit floating value

I/O 접속 편집기 사용시의 입력 형식은 이하와 같습니다

word	   unsigned decimal word

long	   decimal long word

word hexa	   unsigned hexadecimal word

long hexa	   unsigned hexadecimal long word

Boolean형   "true" or "false"

문자 	   single character

문자열  ascii string (15 characters max)

유동소수	   single precision floating value

<사용자정의>

체크박스에 따라 사용자가 정의하는 파라미터와 설정종료를 결정할 수가 있습니다. 체크박스가 체크되면I/O접속 편집기를 사용 할 시에  사용자를 입력할 필요가 있습니다

lead only

           체크박스에 따라, 사용자는 I/O접속 편집기에서 파라미터를 나타낼 수 있지만 변경은 불가능합니다

숨김

           체크박스에 따라 사용자는I/O접속 편집기에서 파라미터를 볼수 없습니다.

기본

           값은I/O접속 편집기의 입력필드에 적힌 초기치를 나타냅니다. 체크박스가 체크 되어 있지 않는 경우는 파라미터값은 정수(기본 값으로서 입력된 값)이고 또한 I/O접속 편집기에 표시되지 않습니다.

기본 값으로서 입력된 값의 타입은 형식에서 선택한 타입과 일치해야 할 필요가 있습니다.


Functions and blocks written in IEC languages
Function / Function blocks

ISaGRAF는ＩＥＣ언어로 쓰여진 Function과 FunctionBlock의 라이브러리 를 가질 수 있습니다. 취급하는 언어는 ＦＢＤ, ＬＤ, ＳＴ, ＩＬ 입니다.　ＦＢＤ와ＬＤ는 함께 다룰 수 없습니다.　ＳＦＣ언어는 관수에는 취급 불가능 합니다. 또한 사용언어는 Function과 FunctionBlock을 작성시에 사용하지만 도중에서 변경 은 불가능 합니다.

만들기(컴파일)

소스 코드

지역변수

interface정의


Compiling
만들기

IEC언어로 쓰여진 Function, FunctionBlock의Compiler는 ISaGRAF프로젝트 중에 사용 되기 전에 Compiler(verify)되어야 만 합니다. 등록된 후는 LD/FD편집기의 Function을 선택하는 박스 내에 포함 됩니다.

Function에서 라이브러리 내의 다른 Function을 호출할 수 없지만, 자신을 호출하는 recursive는 지원 되지 않습니다.

또한, ＩＥＣ언어에서 기술 되어진 FunctionBlock은 다른 FunctionBlock(Ｃ또는ＩＥＣ언어）에서 읽어내지 못합니다. 즉, FunctionBlock 계층은 2개가 됩니다.


Entering source code
소스코드

IEC언어의 Function, FunctionBlock 소스 코드 즉, 프로그램 언어와 합친 편집기로 입력됩니다. 코드 생성은 직접 편집기에서 호출한 라이브러리 Function과 FunctionBlock Compiler 가 가능합니다.


Dictionary of local variables
지역변수

A 라이브러리 Function, Function 라이브러리는 local변수, local정의 워드를 가질 수 있습니다. 변수 설정을 위해 편집기 윈도우에서 파일 - 모음 메뉴를 사용할 필요가 있습니다.

라이브러리 Function, FunctionBlock은 글로블 변수와 글로블 FunctionBlock Instance에는 억세스가 불가능합니다. Function 내에서 사용되는 local변수는 Function, body에서 최소화될 필요가 있습니다.

ＩＥＣ언어로 기술된 FunctionBlock local변수는 프로젝트 내에서  block이 사용될 때 마다 Instance로서 copy됩니다.  block이 차례로 읽어질 때가지 copy된 값을 Hidden Instance로서 보존하고 있습니다.


Defining the interface
interface 정의

새로운 라이브러리 Function, FunctionBlock이 작성되면, 호출 Interface 즉, 입출 파라미터를 정의할 필요가 있습니다. I/O 파라미터의 이름과 타입을 정의하기 위해 파라미터정의 박스가 사용됩니다.「편집」메뉴인 「파라미터」명령어에 따라 합계 최대３２의 입력 파라미터와 출력 파라미터를 정의 합니다.（Function에서는 하나의 출력 파라미터만..）

파라미터Dialogue Box 상부 윈도우에서는 관수 파라미터(입/출력 파라미터)가 표시되어 있습니다. 하부 윈도우에는 현재 선택되어 있는 파라미터에 관한 상세한 정보를 나타내고 있습니다.

•	파라미터명

•	파라미터방향（입출력）

•	파라미터타입

다음의 어떠한 타입도 파라미터 로서 다룰 수 있습니다.

•	Boolean형

•	정수형

•	실수형

•	타임형

•	문자열형

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

- 파라미터명 최대장은 반각16문자

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

- 이후의 문자는 영문자, 숫자 중에

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

하나의 Function, FunctionBlock에서 동일의 파라미터명은 허용되지 않습니다.  동일 파라미터명은 다른 Function에서는 다룰 수 없습니다. 출력  파라미터명과 Function명과는 같을 필요가 있습니다.

“삽입”버턴은 새로운 파라미터를 선택중인 파라미터앞에 삽입합니다.“삭제”버턴은 선택중의 파라미터를 삭제합니다.　“arrange”버턴은 자동으로 파라미터순번을 나열을 바꿔 출력 파라미터가 마지막에 오도록 합니다.“확인”버턴은 파라미터정의를 보관해서 Dialogue Box를 종료합니다.“취소”버턴은 파라미터정의의 변경을 보관하지 않고 Dialogue Box를 닫습니다.


"C" Functions and function blocks
"C" Function  / Function block

IEC에 따라 Function Interface정의와 같은 모양인 C언어로 적혀진 Function, FunctionBlock은 어플리케이션 FBD와 ST언어에서 호출됩니다.

ISaGRAF 어플리케이션은 이 관수들이 호출되면 관수의 처리가 끝날  때까지는 대기 상태가 됩니다. 처리가 종료되면 다시 ISaGRAF 어플리케이션이 실행됩니다.

새로운 Function, FunctionBlock이 작성되면, 호출 Interface 즉, 입출력 파라미터를 정의 할 필요가 있습니다. 입/출력 파라미터이름과 타입을 정의하기 위해 파라미터정의 박스가 사용됩니다. 편집 - 파라미터명령어에 따라 합계 최대32입력 파라미터와 출력 파라미터를 정의합니다.(Function 어플리케이션의 경우는 출력 파라미터는 하나만)

파라미터정의는 IEC언어에 따라 Function, FunctionBlock은 같지만, 이하에서는 C언어에 따른 경우의 다른 부분을 기술합니다.

C언어에 의한 Function, FunctionBlock의 경우 파라미터타입에 관한 ISaGRAF에서의 타입과 C언어에서의 타입 대응도 이하에서 나타냅니다.

Boolean형	Unsigned long	unsigned 32 bit word: 1=true / 0=false
정수형	Long	signed integer 32 bit word
실수형	Float	단정도 유동소수치
타임형	Unsigned long	unsigned integer 32 bit word(단위는１ｍｓ)
가변장 문자열형	char *	character string.

메시지 타입의 경우 NULL캐릭터를 포함시킬 수 없습니다. C코드에서는 NULL캐릭터는 메시지(문자열)의 종료를 의미합니다.

Ｃ언어 Function, FunctionBlock의 상세한 것은 타겟 사용자가이드의「Ｃ언어 프로그램」을 참조 바랍니다.


Conversion functions
변환 functions

아나로그 입출력 변수에 부가되는 수치 변환 관수는 ISaGRAF I/O드라이브가 호출됩니다.

수치 변환 관수을 입출력 변수에 할당하기 위해서는 변수모음을 정의합니다.

변환 관수에서는 전기적인 값(외부)을 어플리케이션 값(내부)으로 변환합니다. 즉, 아나로그 입력변수 및 아나로그 출력변수 두개로 나눌 수 있습니다.

변환 관수에서는 정수 아나로그, 실수 아나로그 값의 어느쪽에서도 다룰 수 있습니다. 내부적으로 관수는 유동 소수점 처리를 하고 있습니다. 어떤 변환 관수에서도 관수 Interface 부분은 같습니다. 변환 관수 괷언어에 따라 Interface부분은 GRCN0DEF.H Header파일 내에 기술되고 있습니다.

매뉴얼「Ｃ언어 프로그램」에는 Ｃ언어 관수, FunctionBlock ISaGRAF상에서의 관리, 짜넣기에 관해서 설명되어 있습니다.


Archiving library elements
라이브러리 보관함 구성요소

"도구 / 보관함" 명령어 이용으로 라이브러리 구성요소를 보관하거나 복구 할 수 있다. 먼저 보관함을 실행 하기 전에 라이브러리 구성요소를 선택 하면 라이브러리 보관함 관리자가 목록을 보여 줍니다.