0% found this document useful (0 votes)
30 views52 pages

Axl Ref Kor V20170630

axl ref in korean

Uploaded by

bi4yqr2zk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views52 pages

Axl Ref Kor V20170630

axl ref in korean

Uploaded by

bi4yqr2zk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Library User Manual

AXL library family


AXL
Product Information
Full information about other AJINEXTEK products
is available by visiting our Web Site at:
Home Page : www.ajinextek.com
E-Mail : support@ajinextek.com

Useful Contact Information


Customer Support Seoul
Tel : 82-31-360-2182 Fax: 82-31-360-2183

Customer Support Cheonan


Tel : 82-41-555-9771 Fax: 82-41-555-9773

Customer Support Daegu


Tel : 82-53-593-3700 Fax: 82-53-593-3703

AJINEXTEK’s sales team is always available to assist you in making your decision the final
choice of boards or systems is solely and wholly theresponsibility of the buyer. AJINEXTEK’s
entire liability in respect of the board or systems is as set out in AJINEXTEK’s standard terms
and conditions of sale

ⓒ Copyright 2017. AJINEXTEK co.ltd. All rights reserved.


Library User Manual Rev.3.0

Content

CONTENT ..................................................................................................................................3

AXL 개요 ...................................................................................................................................5

라이브러리 초기화 ..........................................................................................................................................9

라이브러리 경로 설정 .......................................................................................................................................................... 9
DLL 파일 복사하기............................................................................................................................................................... 17

축 번호, 접점 번호, 채널 번호 할당 방법 ............................................................................................... 18

기본 원리 .................................................................................................................................................................................. 18
축 번호, 접점 번호, 채널 번호의 할당 예(PCI slot 장착 순서) ..................................................................... 19

AXL COMMAND 매뉴얼 정보 ............................................................................................ 20

헤더 파일 ...................................................................................................................................................... 20

함수 용어 ...................................................................................................................................................... 20

매뉴얼의 함수 이름 ............................................................................................................................................................. 20
본 매뉴얼의 인자 이름 ...................................................................................................................................................... 20

AXL COMMAND QUICK LIST............................................................................................. 21

라이브러리 초기화 ....................................................................................................................................... 21

라이브러리 및 베이스 보드 정보 .............................................................................................................. 21

Mechatrolink III 전용 함수........................................................................................................................ 21

AXL COMMAND FUNCTION LIST ..................................................................................... 22

라이브러리 초기화 ....................................................................................................................................... 22

AxlOpen ..................................................................................................................................................................................... 23

AJINEXTEK CO.,LTD. 3
Library User Manual Rev.3.0

AxlOpenNoReset ................................................................................................................................................................... 25
AxlClose ..................................................................................................................................................................................... 27
AxlIsOpened ............................................................................................................................................................................ 28
AxlInterruptEnable ................................................................................................................................................................ 29
AxlInterruptDisable ............................................................................................................................................................... 30

라이브러리 및 베이스 보드 정보 .............................................................................................................. 31

AxlGetBoardCount ................................................................................................................................................................ 32
AxlGetLibVersion.................................................................................................................................................................... 33
AxlGetModuleNodeStatus ................................................................................................................................................. 34
AxlGetBoardStatus ................................................................................................................................................................ 36
AxlGetLockMode ................................................................................................................................................................... 37
AxlSetLogLevel ....................................................................................................................................................................... 39
AxlGetLogLevel ....................................................................................................................................................................... 41

Mechatrolink III 전용 함수........................................................................................................................ 42

AxlScanStart ............................................................................................................................................................................. 43

에러코드 테이블 (Error Code Table) 확인 .............................................................................................. 44

4 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AXL 개요
AJINEXTEK의 제어보드는 기본형 베이스 보드에 디지털 I/O모듈, 아날로그 I/O모듈, 통신모듈 등을 어떻게
조합하는가에 따라 다양한 기능을 포함하는 형태로 구성할 수 있다.

또한 모듈형태가 아닌 특화된 기능의 일체형 단일 보드들의 조합으로도 저렴하고 강력한 기능을 구현하는
형태를 구성할 수 있다. 라이브러리의 사용 통일성을 위해 일체형 단일 보드도 모듈 형태처럼 베이스 보드에
모듈이 장착되어 동작되는 형식을 가진, 보드에 붙박이 된 Module이라고 이해하면 되겠다. 단일형 보드에는
네트워크 리소스를 제어하는 마스터 보드 제품군도 포함되며, 네트워크로 연결된 제어요소는 Slave Node로
기술한다.

이러한 아진엑스텍의 보드와 모듈을 제어하는 프로그램 라이브러리 API (Application Programming Interface)
를 통틀어 AXL(Ajinextek Library)이라고 한다.

AXL을 사용할 수 있는 PC 시스템 실장형 제품군은 다음과 같다.

제품명 특징 비고
BPFR(Full size) 모듈 장착형 베이스 보드(PCI bus) 최대 4개의 모듈 장착
BPHR(Half size) 모듈 장착형 베이스 보드(PCI bus) 최대 2개의 모듈 장착
BIFR(Full size) 모듈 장착형 베이스 보드(ISA bus) 최대 4개의 모듈 장착
BIHR(Half size) 모듈 장착형 베이스 보드(ISA bus) 최대 2개의 모듈 장착
모듈 장착형 베이스 보드, 최대 2개 모듈 장착,
BPHD(Half size)
DB32P가 기본 포함됨(PCI bus) 디지털 입력(16) / 출력(16) 기본 포함
PCI-DI64x 일체형 디지털 입력 보드(PCI bus) 디지털 입력 64
PCI-DB64x 일체형 디지털 입력 보드(PCI bus) 디지털 입력 32 / 디지털 출력 32
PCI-DO64x 일체형 디지털 입력 보드(PCI bus) 디지털 출력 64
PCI-AIO1602HR 일체형 아날로그 입출력 보드(PCI bus) 아날로그 출력(2CH), 입력(16CH)
PCI-N804(Half size) 일체형 모션 제어 보드(PCI bus) 8 축 제어, Open loop
PCI-N404(Half size) 일체형 모션 제어 보드(PCI bus) 4 축 제어, Open loop
PCI-N204(Half size) 일체형 모션 제어 보드(PCI bus) 2 축 제어, Open loop
RTEX 마스터 보드
PCI-R1604 네트워크 마스터 보드(PCI bus) 최대 32개 Slave Node 장착
기본 16축, 확장시 32축 제어
RTEX 마스터 보드
PCIe-Rxx04-RTEX 네트워크 마스터 보드(PCIe bus)
최대 32개 Slave Node 장착
Mechatrolink-II 마스터 보드
PCI-R1604-MLII 네트워크 마스터 보드(PCI bus) 최대 30개 Slave Node 장착
기본 16축, 확장시 30축 제어
Mechatrolink-II 마스터 보드
PCI-R0804-MLII 네트워크 마스터 보드(PCI bus) 최대 24개 Slave Node 장착
기본 8축, 확장시 24축 제어
SSCNET III/H 마스터 보드
PCI-R1604-SIIIH 네트워크 마스터 보드(PCI bus) 최대 32개 Slave Node 장착
기본 16축, 확장시 32축 제어
PCIe-Rxx04-SIIIH 네트워크 마스터 보드(PCIe bus) SSCNET III/H 마스터 보드

AJINEXTEK CO.,LTD 5
Library User Manual Rev.3.0

최대 32개 Slave Node 장착


Mechatrolink-III 마스터 보드
PCI-R1600-MLIII 네트워크 마스터 보드(PCI bus) 최대 16개 Slave Node 장착
기본 16축
Mechatrolink-III 마스터 보드
PCI-R3200-MLIII 네트워크 마스터 보드(PCI bus) 최대 32개 Slave Node 장착
기본 32축
Mechatrolink-III 마스터 보드
PCIe-Rxx05-MLIII 네트워크 마스터 보드(PCIe bus)
최대 32개 Slave Node 장착
AXL을 사용할 수 있는 베이스 보드 장착형 모듈 제품군은 다음과 같다.

제품명 특징 비고
SMC-2V03 모션 모듈 2축 제어, 펄스 출력형, (단종)
SMC-2V04 모션 모듈 2축 제어, 펄스 출력형
SIO-DI32 디지털 입력 모듈 디지털 입력 32 접점
SIO-DB32 디지털 입출력 모듈 디지털 입력(16) / 출력(16) 접점
SIO-DO32 디지털 출력 모듈 디지털 출력 32 접점
SIO-AI4RB 아날로그 입력 모듈 아날로그 입력 4CH
SIO-AO4RB 아날로그 출력 모듈 아날로그 출력 4CH
SIO-AO4F 아날로그 출력 모듈 아날로그 출력 4CH
SIO-AI8F 아날로그 입력 모듈 아날로그 입력 8CH
SIO-AI8AO4F 아날로그 입/출력 모듈 아날로그 입력8CH / 출력4CH
SIO-CN2CH 트리거 출력 모듈 카운터 입력, 트리거 출력 2CH
AXL을 사용할 수 있는 네트워크 Slave node 제품군은 다음과 같다.

제품명 특징 비고(제조사)
RTEX-PM RTEX 모션 Slave Node 1축, 펄스 출력형(Ajinextek)
RTEX-DI32 RTEX 디지털 입력 Slave Node 디지털 입력 32 접점(Ajinextek)
RTEX-DO32 RTEX 디지털 출력 Slave Node 디지털 출력 32 접점(Ajinextek)
RTEX-CNT2 RTEX 트리거 출력 Salve Node 카운터 입력, 트리거 출력 2ch
RTEX-AI8 RTEX 아날로그 입력 Slave Node 아날로그 입력, 8CH(Ajinextek)
RTEX-AI16 RTEX 아날로그 입력 Slave Node 아날로그 입력, 16CH(Ajinextek)
RTEX-AO4 RTEX 아날로그 출력 Slave Node 아날로그 출력, 4CH(Ajinextek)
RTEX-AO8 RTEX 아날로그 출력 Slave Node 아날로그 출력, 8CH(Ajinextek)
RTEX-A4N RTEX 모션 Slave Node 1축, 서보 드라이브(Panasonic)
RTEX-A5N RTEX 모션 Slave Node 1축, 서보 드라이브(Panasonic)
N3RTEX-PM2Q RTEX 모션 Slave Node 2축, 펄스 출력형(Ajinextek)
N3RTEX-PM4Q RTEX 모션 Slave Node 4축, 펄스 출력형(Ajinextek)
N3RTEX -DI32 RTEX 디지털 입력 Slave Node 디지털 입력 32 접점(Ajinextek)
N3RTEX -DO32 RTEX 디지털 출력 Slave Node 디지털 출력 32 접점(Ajinextek)
N3RTEX -DB32 RTEX 디지털 입/출력 Slave Node 디지털 입출력 16/16 접점(Ajinextek)

6 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

N3RTEX-AI16 RTEX 아날로그 입력 Slave Node 아날로그 입력, 8CH(Ajinextek)


N3RTEX-AO8 RTEX 아날로그 출력 Slave Node 아날로그 출력, 4CH(Ajinextek)
N3RTEX-CNT2 RTEX 트리거 출력 Salve Node 카운터 입력, 트리거 출력 2ch
JEPMC-PL2910 Mechatrolink-II 모션 Slave Node 2축, 펄스 출력형(Yaskawa)
Mechatrolink-II 아날로그 입력 Slave
JEPMC-AN2900 Node 아날로그 입력, 4CH(Yaskawa)

JEPMC-AN2910 Mechatrolink-II 아날로그 출력 Slave 아날로그 출력, 2CH(Yaskawa)


Node
Mechatrolink-II 디지털 입/출력 Slave
JEPMC-IO2330 Node 디지털 입출력 64/64 접점(Yaskawa)

Mechatrolink-II 디지털 입/출력 Slave


SIO-DB96T Node 디지털 입출력 96/96 접점(Ajinextek)

CSDL-xxxx Mechatrolink-II 모션 Slave Node 1축, 서보 드라이브(Convex)


CSDH-xxxx Mechatrolink-II 모션 Slave Node 1축, 서보 드라이브(Convex)
SGDV-xxxx11A Mechatrolink-II 모션 Slave Node 1축, 서보 드라이브(Yaskawa)
MRJ4B-xxxx SSCNET III/H 모션 Slave Node 1축, 서보 드라이브(Mitsubishi)
N3SIIIH-PM2Q SSCNET III/H 모션 Slave Node 2축, 펄스 출력형(Ajinextek)
N3SIIIH-PM4Q SSCNET III/H 모션 Slave Node 4축, 펄스 출력형(Ajinextek)
N3SIIIH-DI32 SSCNET III/H 디지털 입력 Slave Node 디지털 입력 32 접점(Ajinextek)
N3SIIIH-DO32T SSCNET III/H 디지털 출력 Slave Node 디지털 출력 32 접점(Ajinextek)
N3SIIIH-DB32T SSCNET III/H 디지털 입/출력 Slave Node 디지털 입출력 16/16 접점(Ajinextek)
N3SIIIH-AI16 SSCNET III/H 아날로그 입력 Slave Node 아날로그 입력, 8CH(Ajinextek)
N3SIIIH-AO8 SSCNET III/H 아날로그 출력 Slave Node 아날로그 출력, 4CH(Ajinextek)
N3SIIIH-CNT2 SSCNET III/H 트리거 출력 Salve Node 카운터 입력, 트리거 출력 2ch
SGDV-xxxx21A Mechatrolink-III 모션 Slave Node 1축, 서보 드라이브(Yaskawa)
N3MLIII-PM2Q Mechatrolink-III 모션 Slave Node 2축, 펄스 출력형(Ajinextek)
N3MLIII-PM4Q Mechatrolink-III 모션 Slave Node 4축, 펄스 출력형(Ajinextek)
N3MLIII-DI32 Mechatrolink-III 디지털 입력 Slave Node 디지털 입력 32 접점(Ajinextek)
N3MLIII-DO32 Mechatrolink-III 디지털 출력 Slave Node 디지털 출력 32 접점(Ajinextek)
Mechatrolink-III 디지털 입/출력 Slave
N3MLIII-DB32 Node 디지털 입출력 16/16 접점(Ajinextek)

N3MLIII-AI8 Mechatrolink-III 아날로그 입력 Slave 아날로그 입력, 8CH(Ajinextek)


Node
Mechatrolink-III 아날로그 출력 Slave
N3MLIII-AO4 Node 아날로그 출력, 4CH(Ajinextek)

N3MLIII-CNT2 Mechatrolink-III 트리거 출력 Salve Node 카운터 입력, 트리거 출력 2ch

AXL 라이브러리는 기능별로 분류되는데, 초기화 등의 기초함수와 관련된 AXL, Motion에 관련된 AXM,
Digital I/O에 관련된 AXD, Analog I/O에 관련된 AXA에 대한 라이브러리로 나누어져 있다. 라이브러리를 헤더
파일을 기준으로 분류하면 다음과 같다.

AJINEXTEK CO.,LTD 7
Library User Manual Rev.3.0

AXL (Base Command)


AXL은 장착된 모든 보드 및 모듈들을 자동으로 인식하고, 초기화하기 위한 기초 라이브러리이다.

AXM (Motion Command)


AXM은 모션제어 관련 라이브러리로써 직선 및 원호 보간 기능을 포함한 상위 고급 모션 함수들을 제공하
며 프로그래밍에 조금 더 편리한 인터페이스를 제공한다.

AXD (DIO Command)


AXD는 DIO 모듈 및 보드를 통하여 디지털 신호의 입출력을 제어하는 라이브러리이다.

AXA (AIO Command)


AXA는 AIO 모듈 및 보드를 통하여 아날로그 신호를 디지털 신호로 변환하거나, 디지털 신호를 아날로그 신
호로 변환하는 것을 제어하는 라이브러리이다.

AXC (Counter Command)


AXC는 CNT 모듈 및 보드를 통하여 엔코더 입력 값 확인, 트리거 출력 기능을 제공하는 라이브러리이다.

AXL 라이브러리의 OS 개발 환경 지원 내역은 다음과 같다.

OS 세부 내역
Windows 98 사용자 환경에 따라 지원 가능
Windows 2000 SP4 이상
Windows XP(32-bit) SP3 이상
Windows XP(32-bit)
+ RTX kernnel Windows XP(SP3 이상), RTX(7.0 이상)

Windows XP(64-bit) 지원
Windows 7(32-bit) Professional 이상
Windows 7(64-bit) Professional 이상

*. Windows 98/2000/XP/7(Microsoft 사 OS), RTX(IntervalZero 사의 Real-Time eXtension kernel)

AXL 라이브러리의 개발 언어 지원 내역은 다음과 같다.

개발 언어 세부 내역
Visual C++ Visual studio 6.0, 2003, 2005, 2008, 2010
Visual Basic Visual studio 6.0, 2003, 2005, 2008, 2010
C# Visual studio 2005, 2008, 2010
C++Builder 6.0 이상
Delphi 7.0 이상

8 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

라이브러리 초기화

라이브러리 경로 설정
각 개발 프로그램 언어별로 라이브러리 경로를 설정할 수 있으며, 한번 설정된 경로 정보는 새로운 프로젝
트를 시작할 때마다 따로 자동으로 적용된다.

 Visual C++ 라이브러리 링크하기 (VS6.0 기준)


Visual C++를 실행한 후 시스템 메뉴에서 Tools -> Options..를 클릭하여 Directories 탭으로 이동한다. 여기
서 Header 파일과 Library 파일을 지정한다.

Header 파일 지정은 Show directories for: 콤보에 Include files를 선택한 다음 Directories: 에 마지막 빈 라인
을 클릭하면 오른쪽에 버튼이 나타나는데 이 버튼을 클릭하면 Choose Directory 다이얼로그가 나타난다.
이때 \EzSoftware\AXL(Library)\C 폴더를 지정한다.

AJINEXTEK CO.,LTD 9
Library User Manual Rev.3.0

Library 파일 지정은 Show directories for: 콤보에 Library files 선택한 다음 Directories: 에 마지막 빈 라인을
클릭하면 오른쪽에 버튼이 나타나는데 이 버튼을 클릭하면 Choose Directory 다이얼로그가 나타난다. 이
때 \EzSoftware \AXL(Library)\Library 폴더를 지정한다.

Header 파일과 Library 파일 지정을 완료 했으면 OK 버튼을 클릭한다.

 C++ Builder 라이브러리 링크하기(CB6.0 기준)


C++ Builder를 실행한 후 시스템 메뉴에서 Project -> Options..를 클릭하여 Directories/ Conditionals 탭으로
이동한다. 여기서 Header 파일과 Library 파일을 지정한다.

10 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

Header 파일 지정은 Directories 안의 Include path: 항목 오른쪽에 버튼을 클릭하면 Directories 다이얼로
그가 표시된다.

여기서 Greyed items denote invalid path. 항목 오른쪽에 버튼을 클릭하면 폴더 찾아보기 다이얼로그가
나타난다.

이때 \EzSoftware\AXL(Library)\C 폴더를 지정하고 OK 버튼을 클릭한다.

AJINEXTEK CO.,LTD 11
Library User Manual Rev.3.0

Library 파일 지정은 Directories 안의 Library path: 항목 오른쪽에 버튼을 클릭하면 Directories 다이얼로
그가 나타난다.

여기서 Greyed items denote invalid path. 항목 오른쪽에 버튼을 클릭하면 폴더 찾아보기 다이얼로그가
나타난다.

이때 \EzSoftware\AXL(Library)\Library 폴더를 지정하고 OK 버튼을 클릭한다.

12 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

Header 파일과 Library 파일 지정을 완료했으면 왼쪽 하단에 있는 Default를 체크한 다음 OK 버튼을 클릭한
다.

 Delphi (7.0 기준)라이브러리 링크하기


Delphi를 실행한 후 시스템 메뉴에서 Project -> Options..를 클릭하여 Directories / Conditionals 탭으로 이동
한다. 여기서 Header 파일과 Library 파일을 지정한다.

Header 파일 지정은 Directories 안의 Search path: 항목 오른쪽에 버튼을 클릭하면 Directories 다이얼로
그가 나타난다.

AJINEXTEK CO.,LTD 13
Library User Manual Rev.3.0

여기서 Greyed items denote invalid path. 항목 오른쪽에 버튼을 클릭하면 폴더 찾아보기 다이얼로그가
나타난다.

이때 \EzSoftware\AXL(Library)\Delphi 폴더를 지정하고 OK 버튼을 클릭한다.

Header 파일 지정을 완료 했으면 왼쪽 하단에 있는 Default를 체크한 다음 OK 버튼을 클릭한다.

14 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

 Visual Basic 라이브러리 링크하기


Visual Basic을 실행한 후 시스템 메뉴에서 파일(F) -> 새 프로젝트(N)를 클릭하여 표준 EXE를 선택한 다음
확인 버튼을 클릭한다.

오른 쪽에 있는 프로젝트 창에서 마우스 오른쪽 버튼을 클릭하여 추가(A) -> 모듈(M)을 선택한다.

AJINEXTEK CO.,LTD 15
Library User Manual Rev.3.0

여기서 기존 파일 탭을 이동한 다음 찾는 위치(I)를 클릭하여 \EzSoftware\AXL\Visual Basic 폴더를 지정한


다.

관계된 모든 모듈을 하나씩 연다.

모듈을 링크한 다음 해당 함수를 사용할 수 있다.

16 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

DLL 파일 복사하기
해당 언어 라이브러리 링크 작업을 완료하였다면 프로젝트 컴파일 시 자동으로 생성되는 실행파일이 있는
폴더에 AXL.dll, EzBasicAXL.dll 총 2개의 파일이 있어야 된다.

파일 위치는 \EzSoftware\AXL(Library)\Library에 있으며, 사용자가 복사하여 사용하여야 한다. 단, Visual


Basic에서는 해당 운영체제의 system(운영체제가 Windows 2000일 경우 \WINNT\system32) 폴더에 직접 복
사하여 사용하여야 한다.

AJINEXTEK CO.,LTD 17
Library User Manual Rev.3.0

축 번호, 접점 번호, 채널 번호 할당 방법

기본 원리
1. 같은 시스템에 여러 가지 제품이 장착된 경우 보드 제품이 낮은 번호로 넘버링 된다.
모션에 관계된 제어요소를 예를 들면, PCI-N804/404 제품에 연결된 모터부터 넘버링되며, 이어서 PCI-R1604
또는 PCI-R1604-MLII와 연결된 모터가 넘버링된다.

2. 같은 종류의 모듈끼리 개별적으로 넘버링 된다.


모션에 관계된 제어 요소는 축 번호로 넘버링 되며, 디지털 입출력 제품은 모듈 번호 및 접점 번호로, 아날
로그 입출력 제품은 모듈 번호 및 채널 번호로 넘버링 된다.

3. 여러 개의 보드가 장착되어 있을 경우 CPU에 가까운 쪽 베이스보드에서부터 넘버링 된다.


일반적인 PC또는 IPC 시스템에서 CPU에 가까운 쪽부터 PCI슬롯의 순서가 정해져 있으나, 시스템의 설정에
따라서 CPU모듈에서 먼 쪽부터 번호가 시작되거나 임의로 각 슬롯의 번호를 설정해줄 수 있는 시스템도 있
다.

4. 같은 베이스보드에서는 J1, J2, J3, J4의 순서 또는 Network address 가 낮은 순서대로 넘버링 된다.
카드 타입 집중형 제어 보드의 넘버링 순서는 외부와 연결되는 커넥터 번호가 낮은 순서부터 넘버링되며,
분산 제어형 제어 보드는 연결된 Slave node에 설정된(H/W 스위치로 설정됨) 네트워크 주소 값이 작은 것부
터 넘버링 된다.

5. EzConfig 의 정보 확인 창에서 자세한 내용을 확인 한다.


EzSoftwareUC를 설치하면 제어 리소스를 확인하고 축 번호, 접점 번호, 채널번호를 확인할 수 있는
EzConfig 프로그램을 사용할 수 있다.

주의 사항) Network Master 보드 제품의 경우 Slave node를 연결하여야만 프로그램 사용이 가능하다. 또한
Slave node의 추가 및 제거로 인해 제어 리소스의 번호가 바뀔 수 있으므로 주의해야 한다.

18 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

축 번호, 접점 번호, 채널 번호의 할당 예(PCI slot 장착 순서)


PCI slot #1 : BPFR(보드 번호 : 0)
SIO-DB32(SUB1) : J1 connector SIO-DI32(SUB3) : J3 connector
모듈 번호: 0 접점 번호(DI/DO): 0~15/0~15 모듈 번호: 2 접점 번호(DI): 16 ~ 47
SIO-DO32(SUB2) : J2 connector SIO-DI32(SUB4) : J4 connector
모듈 번호: 1 접점 번호(DO): 16~47 모듈 번호: 3 접점 번호(DI): 48 ~ 79

PCI slot #2 : PCI-N804(보드 번호 : 1)


SMC-4V04(SUB1) : Embeded(J1/J2 connector)
모듈 번호: 0 축 번호 : 0~3
SMC-4V04(SUB2) : Embeded(J3/J4 connector)
모듈 번호: 1 축 번호 : 4~7

PCI slot #3 : PCI-R1604(보드 번호 : 3)


RTEX-DI32(NODE0) RTEX-PM(NODE16)
모듈 번호: 7 접점 번호(DI): 112~143 모듈 번호: 3 축 번호: 9
RTEX-DO32(NODE1) SIO-DI32(NODE17)
모듈 번호: 8 접점 번호(DO): 128~159 모듈 번호: 9 접점 번호(DI): 144 ~ 175
RTEX-PM (NODE2) A4N(NODE18)
모듈 번호: 2 축 번호 : 8 모듈 번호: 4 축 번호: 10
. . . . . .
나머지 Node 번호 비어있음. 나머지 Node 번호 비어있음.

PCI slot #4 : BPHD(보드 번호 : 2)


SIO-DB32(SUB1) SIO-DB32(SUB3) : Embeded(J3 connector)
모듈 번호: 4 접점 번호(DI): 80~95/48~79 모듈 번호: 6 접점 번호(DI/DO): 96~111/112~127
SIO-DO32(SUB2) SIO-DI32(NODE17)
모듈 번호: 5 접점 번호(DO): 80~111 모듈 번호: 9 접점 번호(DI): 144 ~ 175

PCI slot #5 : PCI-R1604-MLII(보드 번호 : 4)


SGDV (NODE ADDR : 0x41) On Net#1
모듈 번호: 5 축 번호: 11
SGDV (NODE ADDR : 0x41) On Net#2
모듈 번호: 6 축 번호: 12
JEPMC-IO2330 (NODE ADDR : 0x61) on NET#1
모듈 번호: 10 접점 번호(DI/DO): 176~239/160~223
JEPMC-PL2910 (NODE ADDR : 0x61) on NET#2
모듈 번호: 7 축 번호: 13~14
. . .
나머지 Node 번호 비어있음.

AJINEXTEK CO.,LTD 19
Library User Manual Rev.3.0

AXL Command 매뉴얼 정보


본 매뉴얼은 BPHR/BPFR/BPHD 베이스 보드(Base Board), PCI-Nx04/PCI-Dx64 일체형 보드, PCI-R1604/ PCI-
R1604-MLII 네트워크 마스터 보드의 기본 정보 확인 및 초기화 등의 기능을 구동하기 위해 필요한 매뉴얼이
다.

헤더 파일
C++
AXL.h
C#
AXL.cs
Visual Basic
AXL.bas
Delphi
AXL.pas

함수 용어

매뉴얼의 함수 이름
본 매뉴얼에서 사용된 함수 이름들은 접두어(Prefix)에 의해 동작을 구분할 수 있도록 되어있다.

※ 라이브러리 함수 Prefix
Axl : 베이스 보드 및 라이브러리 전용 함수임을 나타낸다. Axl로 시작되는 함수들은 모두 AXL.h 에 정의

되어 있다.

Set : 라이브러리 내부 설정 값을 변경한다.

Get : Set과 한 쌍으로 Set 함수에 의해 설정된 변수 값을 확인한다.

본 매뉴얼의 인자 이름
본 매뉴얼에서 사용된 함수들의 공통적인 인자들은 다음과 같은 의미를 가진다.

long lBoardNo : 초기화된 베이스 보드(Base Board)의 첫 번째 보드부터 오름차순으로 자동 정렬된다. 보드


번호는 ‘0’부터 시작한다.

20 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AXL Command Quick List

라이브러리 초기화
Function Description
AxlOpen 라이브러리를 초기화한다.
AxlClose 라이브러리 사용을 종료한다.
AxlIsOpened 라이브러리가 초기화되어있는지 확인한다.

라이브러리 및 베이스 보드 정보
Function Description
AxlGetBoardCount 등록된 베이스 보드의 개수를 확인한다.
AxlGetLibVersion 라이브러리 버전을 확인한다.
네트워크 마스터 보드와 연결된 Slave node 의 연결 상태를
AxlGetModuleNodeStatus
확인한다.
AxlGetBoardStatus 해당 보드가 제어 가능한 상태인지 반환한다.
AxlGetLockMode Network 제품의 Configuration Lock 상태를 반환한다.
AxlSetLogLevel EzSpy 에 출력할 메시지 레벨을 설정한다.
AxlGetLogLevel EzSpy 에 출력할 메시지 레벨을 반환한다.

Mechatrolink III 전용 함수
Function Description
AxlScanStart 해당 보드의 연결된 모듈에 대한 검색을 시작한다.

AJINEXTEK CO.,LTD 21
Library User Manual Rev.3.0

AXL Command Function List

라이브러리 초기화
Function Description
AxlOpen 라이브러리를 사용 가능하도록 준비한다.
AxlOpenNoReset 초기화 과정없이 라이브러리를 사용 가능하도록 준비한다.
AxlClose 라이브러리 사용을 종료한다.
AxlIsOpened 라이브러리가 초기화되어있는지 확인한다.
AxlInterruptEnable 인터럽트 기능을 사용 가능하도록 설정한다.
AxlInterruptDisable 인터럽트 기능 사용을 중지한다.

22 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlOpen
Purpose
라이브러리를 사용 가능하도록 준비한다.

Format
C++
DWORD AxlOpen(long lIrqNo);
C#
uint AxlOpen(int lIrqNo);
Visual Basic
Function AxlOpen(ByVal lIrqNo As Long) As Long
Delphi
function AxlOpen(lIrqNo : LongInt) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
ISA Type 보드 사용 시 IRQ 번호(0 ~ 64), PCI 보드 사용 시 의미
[in]lIrqNo
없음.

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1001] AXT_RT_OPEN_ERROR : AXL 라이브러리 초기화 실패
[1002] AXT_RT_OPEN_ALREADY : AXL 라이브러리 사용 중임
* See error code Table for more information on status error codes

Description
라이브러리를 초기화하고 사용자가 ISA Type 보드에서 인터럽트를 사용할 경우, 인터럽트를 처리할 IRQ
번호를 등록함으로써 인터럽트를 사용 가능하게 해준다. 이때 PnP 기능이 지원되는 PCI 버스와
cPCI 버스인 경우, IRQ 번호는 자동 할당되므로 사용자가 설정한 IRQ 번호는 무시된다.
라이브러리의 초기화 과정 중 모션 제어 파라미터 및 H/W 에 설정되는 파라미터 들이 초기 상태로
변경되며 사용자는 이 함수를 실행한 후, 각종 파라미터들을 올바르게 다시 설정하여야 한다.
IRQ 번호는 ISA 버스의 경우에는 베이스 보드에 있는 Irq 설정 Dip S/W 의 설정 값을 넣어주면 되고,
PCI 버스나 cPCI 버스의 경우에는 PnP 기능이 지원되어 IrqNo 가 자동 할당되므로 아무 값이나 넣어주면
된다. 제품 출고 시 초기 값으로 IrqNo 7 로 설정되어 있다.
AXL 을 사용하기 위해서는 AxlOpen 또는 AxlOpenNoReset 함수를 반드시 호출한 후 사용해야 한다.
그리고 사용이 끝난 후에는 AxlClose 함수를 호출하여 할당 받은 메모리를 해제해주어야 한다. 그렇지
않을 경우에 메모리 누수가 생겨 시스템에 문제가 발생할 수도 있다.

Example
C++
#include “AXL.h” // 통합 라이브러리 추가
#include “AXHS.h”

AJINEXTEK CO.,LTD 23
Library User Manual Rev.3.0

// 라이브러리를 초기화 한다.


// 7은 IRQ를 뜻한다. PCI에서 자동으로 IRQ가 설정된다.
if (AxlOpen(7) == AXT_RT_SUCCESS)
AfxMessageBox(“라이브러리가 초기화되었습니다.”);
else
AfxMessageBox(“라이브러리가 초기화되지 못했습니다.”);

See Also
AxlOpenNoReset, AxlClose, AxlIsOpened

24 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlOpenNoReset
Purpose
라이브러리 내부 파라미터 및 H/W 설정 파라미터의 초기화 과정 없이 라이브러리를 사용 가능하도록
준비한다.

Format
C++
DWORD AxlOpenNoReset(long lIrqNo);
C#
uint AxlOpenNoReset(int lIrqNo);
Visual Basic
Function AxlOpenNoReset(ByVal lIrqNo As Long) As Long
Delphi
function AxlOpenNoReset(lIrqNo : LongInt) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
ISA Type 보드 사용시 IRQ 번호(0 ~ 64), PCI 보드 사용시 의미
[in]lIrqNo
없음.

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1001] AXT_RT_OPEN_ERROR : AXL 라이브러리 초기화 실패
[1002] AXT_RT_OPEN_ALREADY : AXL 라이브러리 사용 중임
* See error code Table for more information on status error codes

Description
라이브러리를 초기화하지 않고 사용 가능하도록 제어 리소스를 연다. 즉, 현재 설정된 라이브러리 내부
파라미터들이 유지되고 H/W 에 설정된 파라미터들 또한 유지된다. 사용자가 인터럽트를 사용할 경우
인터럽트를 처리할 IRQ 번호를 등록함으로써 인터럽트를 사용 가능하게 해준다. 이때 PnP 기능이
지원되는 PCI 버스와 cPCI 버스인 경우, IRQ 번호는 자동 할당되므로 사용자가 설정한 IRQ 번호는
무시된다.
IRQ 번호는 ISA 버스의 경우에는 베이스 보드에 있는 Irq 설정 Dip S/W 의 설정 값을 넣어주면 되고,
PCI 버스나 cPCI 버스의 경우에는 PnP 기능이 지원되어 IrqNo 가 자동 할당되므로 아무 값이나 넣어주면
된다. 제품 출고 시 초기 값으로 IrqNo 7 로 설정되어 있다.
AXL 을 사용하기 위해서는 AxlOpen / AxlOpenNoReset 함수를 반드시 호출한 후 사용해야 한다. 또한
사용이 끝난 후에는 AxlClose 함수를 호출하여 할당받은 메모리를 해제해주어야 한다. 그렇지 않을
경우에 메모리 누수가 생겨 시스템에 문제가 발생할 수도 있다.

AJINEXTEK CO.,LTD 25
Library User Manual Rev.3.0

Examples
C++
#include “AXL.h” // 통합 라이브러리 추가
#include “AXHS.h”

// 라이브러리를 초기화한다.
// 7은 IRQ를 뜻한다. PCI에서 자동으로 IRQ가 설정된다.
if (AxlOpenNoReset(7) == AXT_RT_SUCCESS)
AfxMessageBox(“라이브러리가 초기화되었습니다.”);
else
AfxMessageBox(“라이브러리가 초기화되지 못했습니다.”);

See Also
AxlOpen, AxlClose, AxlIsOpened

26 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlClose
Purpose
라이브러리 사용을 종료한다.

Format
C++
BOOL AxlClose();
C#
int AxlClose();
Visual Basic
Function AxlClose() As Byte
Delphi
function AxlClose(): Boolean; stdcall;

Description
라이브러리 사용을 종료한다. 할당 받은 메모리를 해제하는 함수로, 라이브러리 사용이 종료되면 반드시
호출 해줘야 한다. 라이브러리를 다시 사용하기 위해서는 AxlOpen, AxlOpenNoReset 함수를 사용하여야
한다.

Return Values
[0] AXL 라이브러리 종료를 실패했을 경우
[1] AXL 라이브러리 종료를 성공했을 경우

Example
C++
// 프로그램의 종료 부분에서 사용함
AxlClose();

See Also
AxlOpen, AxlOnpenNoReset, AxlIsOpened

AJINEXTEK CO.,LTD 27
Library User Manual Rev.3.0

AxlIsOpened
Purpose
라이브러리가 초기화 되어있는지 확인한다.

Format
C++
BOOL AxlIsOpened();
C#
int AxlIsOpened();
Visual Basic
Function AxlIsOpened() As Byte
Delphi
function AxlIsOpened() : Boolean; stdcall;

Description
라이브러리가 초기화 되어있어 사용 가능한지 확인한다. 만약 라이브러리가 초기화 되지 않은 상태에서
함수들을 사용하게 되면 여러 가지 문제를 야기하므로 반드시 이 함수를 이용해서 라이브러리가 초기화
되었는지 확인한 후 함수들을 사용해야 한다.

Return Values
[0] AXL 라이브러리가 초기화 되어 있지 않음
[1] AXL 라이브러리가 초기화 되어 있음

Example
C++
// 라이브러리가 초기화되어 있는지 확인한다.
if(AxlIsOpened())
AfxMessageBox(“라이브러리가 초기화되어 있습니다.”);
else
AfxMessageBox(“라이브러리가 초기화되지 않았습니다.”);

See Also
AxlOpen, AxlOpenNoReset, AxlClose

28 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlInterruptEnable
Purpose
AXL 의 인터럽트 기능을 사용할 수 있도록 설정한다.

Format
C++
DWORD AxlInterruptEnable();
C#
uint AxlInterruptEnable();
Visual Basic
Function AxlInterruptEnable() As Long
Delphi
function AxlInterruptEnable() : DWord; stdcall;

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
* See error code Table for more information on status error codes

Description
AXL 의 인터럽트 기능을 사용하기 위해선 반드시 이 함수를 먼저 실행해야 한다. 즉 인터럽트 기능에
대한 Global mask 기능으로 이 함수를 실행하지 않으면 H/W 내부적으로 인터럽트가 발생하더라도 제어
프로그램으로 인터럽트를 전달하지 않는다.

Examples
C++
// 인터럽트 메시지를 받아오기 위하여 윈도우 메시지 사용
BEGIN_MESSAGE_MAP(CCAMCIPDlg, CDialog)
//}}AFX_MSG_MAP
// 선언함
ON_MESSAGE(WM_CAMCIP_INTERRUPT, OnTriggerInterrupt)
END_MESSAGE_MAP()

AxlInterruptEnable();
// 인터럽트 발생 시 ‘OnTriggerInterrupt()’ 호출 됨
AxmInterruptSetAxis(0, m_hWnd, NULL, NULL);

See Also
AxlInterruptDisable

AJINEXTEK CO.,LTD 29
Library User Manual Rev.3.0

AxlInterruptDisable
Purpose
AXL 의 인터럽트 기능을 사용 중지한다.

Format
C++
DWORD AxlInterruptDisable();
C#
uint AxlInterruptDisable();
Visual Basic
Function AxlInterruptDisable() As Long
Delphi
function AxlInterruptDisable() : DWord; stdcall;

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
* See error code Table for more information on status error codes

Description
AxlInterruptEnable 함수를 이용하여 인터럽트 사용을 중지하기 위해 이 함수를 사용한다.

Examples
C++
// 인터럽트를 사용한 후 반드시 disable 로 설정한다.
AxlInterruptDisable();

See Also
AxlInterruptEnable

30 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

라이브러리 및 베이스 보드 정보
Function Description
AxlGetBoardCount AXL 사용을 위해 등록된 보드의 개수를 확인한다.
AxlGetLibVersion 라이브러리 버전을 확인한다.
네트워크 마스터 보드와 연결된 슬레이브 노드의 연결 상태를
AxlGetModuleNodeStatus
확인한다.
AxlGetBoardStatus 해당 보드가 제어 가능한 상태인지 반환한다.
AxlGetLockMode Network 제품의 Configuration Lock 상태를 반환한다.
AxlSetLogLevel EzSpy 에 출력할 메시지 레벨을 설정한다.
AxlGetLogLevel EzSpy 에 출력할 메시지 레벨을 반환한다.

AJINEXTEK CO.,LTD 31
Library User Manual Rev.3.0

AxlGetBoardCount
Purpose
시스템에 등록된 AXL 사용 가능한 보드의 개수를 확인한다.

Format
C++
DWORD AxlGetBoardCount(long *lpBoardCounts);
C#
uint AxlGetBoardCount(ref int lpBoardCounts);
Visual Basic
Function AxlGetBoardCount(ByRef lpBoardCounts As Long) As Long
Delphi
function AxlGetBoardCount(lpBoardCounts : PLongInt) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
[out]lpBoardCounts 베이스 보드 개수

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1053] AXT_RT_NOT_OPEN : AXL 라이브러리가 초기화되지 않음
* See error code Table for more information on status error codes

Description
등록된 베이스 보드의 개수를 확인한다.

Examples
C++
// 등록된 AXL 사용 가능 보드의 개수를 확인한다.
long lBoardCounts;
CString strData;

AxlGetBoardCount(&lBoardCounts);
strData.Format(“전체 보드 개수는 %d개 입니다.”, lBoardCounts);

AfxMessageBox(strData);

See Also
AxlGetLibVersion, AxlGetModuleNodeStatus, AxlGetBoardStatus, AxlGetLockMode

32 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlGetLibVersion
Purpose
라이브러리 버전을 확인한다.

Format
C++
DWORD AxlGetLibVersion(char *szVersion);
C#
uint AxlGetLibVersion(ref byte szVersion);
Visual Basic
Function AxlGetLibVersion(ByRef szVersion As Byte) As Long
Delphi
function AxlGetLibVersion(szVersion : PChar) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
[out]szVersion 라이브러리 버전

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1053] AXT_RT_ERROR_VERSION_READ : AXL 라이브러리의 버전을 읽을 수 없을 때
* See error code Table for more information on status error codes

Description
라이브러리 버전을 확인한다. 라이브러리가 주기적으로 업데이트되므로 버전 정보를 확인하여 업데이트
여부를 결정할 수 있다.

Examples
C++
// 라이브러리 버전을 확인한다.
char szVersion[50];
CString strData;

AxlGetLibVersion(szVersion);
strData.Format(“현재 라이브러리 버전은 %s 입니다.”, szVersion);

AfxMessageBox(strData);

See Also
AxlGetBoardCount, AxlGetModuleNodeStatus, AxlGetBoardStatus, AxlGetLockMode

AJINEXTEK CO.,LTD 33
Library User Manual Rev.3.0

AxlGetModuleNodeStatus
Purpose
네트워크 마스터 보드와 연결된 슬레이브 노드의 현재 연결 상태를 확인한다.

Format
C++
DWORD AxlGetModuleNodeStatus(long lBoardNo, long lModulePos);
C#
uint AxlGetModuleNodeStatus(int lBoardNo, int lModulePos);
Visual Basic
Function AxlGetModuleNodeStatus(ByVal lBoardNo As Long, ByVal
lModulePos As Long) As Long
Delphi
function AxlGetModuleNodeStatus(lBoardNo : LongInt; lModdulePos :
LongInt) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
시스템에 장착된 AXL 지원 보드 중 네트워크 마스터 보드에
[in]lBoardNo
해당하는 보드 번호
마스터 보드와 연결된 슬레이브 노드의 상대적인 위치에 대한
번호
[in]lModulePos 예) PCI-R1604 : Node address 가 작은 것부터(0 ~ 31)
예) PCI-R1604-MLII : NET#1 에 장착된 것을 Node address 가 작은
것부터(0 ~ 29)

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1054] AXT_RT_NOT_SUPPORT_VERSION : 이 함수가 지원하지 않는 제품일 때
[1101] AXT_RT_INVALID_BOARD_NO : 베이스 보드의 위치 값이 유효하지 않을 때
[1102] AXT_RT_INVALID_MODULE_POS : 모듈 위치 값이 유효하지 않을 때
* See error code Table for more information on status error codes

Description
네트워크 마스터 보드와 연결된 슬레이브 노드의 연결 상태를 확인한다. 함수의 Return 값이
AXT_RT_SUCCESS(0000)이면 정상적으로 연결된 것을 의미한다. 이외 리턴 코드에 의하여 여러 가지
상황으로 해석될 수 있다.

Examples
C++
// 네트워크 마스터 보드와 연결된 슬레이브 노드의 연결 상태를 확인한다.
DWORD uReturn;
uReturn = AxlGetModuleNodeStatus (0, 0);

34 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

if(uReturn)
strData.Format(“0번째 보드의 0번째 노드에 연결 문제 발생 에러코드: %d.”, uReturn);
else
strData.Format(“0번째 보드의 0번째 노드 정상적으로 연결됨”);
AfxMessageBox(strData);

See Also
AxlGetBoardCount, AxlGetLibVersion, AxlGetBoardStatus, AxlGetLockMode

AJINEXTEK CO.,LTD 35
Library User Manual Rev.3.0

AxlGetBoardStatus
Purpose
해당 보드가 제어 가능한 상태인지 반환한다.

Format
C++
DWORD AxlGetBoardStatus(long lBoardNo);
C#
uint AxlGetBoardStatus(int lBoardNo);
Visual Basic
Function AxlGetBoardStatus(ByVal lBoardNo As Long) As Long
Delphi
function AxlGetBoardStatus(lBoardNo : LongInt) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
시스템에 장착된 AXL 지원 보드 중 네트워크 마스터 보드에
[in]lBoardNo
해당하는 보드 번호

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1053] AXT_RT_NOT_OPEN : 라이브러리 초기화 실패
[1101] AXT_RT_INVALID_BOARD_NO : 베이스 보드의 위치 값이 유효하지 않을 때
* See error code Table for more information on status error codes

Description
해당 보드가 제어 가능한 상태인지 반환하는 함수이다. 제어 가능하다면 라이브러리 초기화 성공을
Return 한다.

Examples
C++
// 0번 보드가 제어 가능한 상태인지 반환한다.
DWORD uReturn;
uReturn = AxlGetBoardStatus(0);
if(uReturn)
strData.Format(“0번째 보드 문제 발생 에러코드: %d.”, uReturn);
else
strData.Format(“0번째 보드가 정상적으로 초기화 됨.”);
AfxMessageBox(strData);

See Also
AxlGetBoardCount, AxlGetLibVersion, AxlGetModuleNodeStatus, AxlGetLockMode

36 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlGetLockMode
Purpose
Network 제품의 Configuration Lock 상태를 반환한다.

Format
C++
DWORD AxlGetLockMode(long lBoardNo, WORD* wpLockMode);
C#
uint AxlGetLockMode(int lBoardNo, ref uint wpLockMode);
Visual Basic
Function AxlGetLockMode(ByVal lBoardNo As Long, ByRef wpLockMode As
Long) As Long
Delphi
function AxlGetLockMode(lBoardNo : LongInt; wpLockMode : PWord) :
DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
시스템에 장착된 AXL 지원 보드 중 네트워크 마스터 보드에
[in]lBoardNo
해당하는 보드 번호
Configuration Lock 상태
[out]wpLockMode -[00h] DISABLE
-[01h] ENABLE

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1053] AXT_RT_NOT_OPEN : 라이브러리 초기화 실패
[1101] AXT_RT_INVALID_BOARD_NO : 베이스 보드의 위치 값이 유효하지 않을 때
* See error code Table for more information on status error codes

Description
네트워크 제품의 Configuration Lock 상태를 반환하는 함수이다. Configuration Lock/UnLock 은 Ezconfig
Agent 에서 설정할 수 있으며, 사용자 함수로는 설정이 불가능하다.

Examples
C++
// 장착된 보드의 Configuration Lock 상태를 확인한다.
DWORD uReturn, uLockStatus;
uReturn = AxlGetLockMode (0, &uLockStatus);
if(uReturn)
{
if(uLockStatus == ENABLE)
AfxMessageBox(“0번 보드가 Lock 상태입니다.”)

AJINEXTEK CO.,LTD 37
Library User Manual Rev.3.0

else
AfxMessageBox(“0번 보드가 UnLock 상태입니다.”);
}

See Also
AxlGetBoardCount, AxlGetLibVersion, AxlGetModuleNodeStatus, AxlGetBoardStatus,

38 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlSetLogLevel
Purpose
EzSpy 에 출력할 메시지 레벨을 설정한다.

Format
C++
DWORD AxlSetLogLevel(DWORD uLevel);
C#
uint AxlSetLogLevel(uint uLevel);
Visual Basic
Function AxlSetLogLevel(ByVal uLevel As Long) As Long
Delphi
function AxlSetLogLevel(uLevel: DWord) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
Log 설정 레벨
-[00h] LEVEL_NONE 모든 메시지를 출력하지 않는다.
-[01h] LEVEL_ERROR 에러가 발생한 메시지만 출력한다.
[in]uLevel
-[02h] LEVEL_RUNSTOP 모션의 Run/Stop 관련 메시지를
출력한다.
-[03h] LEVEL_FUNCTION 모든 메시지를 출력한다.

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1160] AXT_RT_1ST_BELOW_MIN_VALUE : 첫 번째 인자 값이 최소값보다 작음
[1161] AXT_RT_1ST_ABOVE_MAX_VALUE : 첫 번째 인자 값이 최소값보다 작음
* See error code Table for more information on status error codes

Description
EzSpy 의 Log Level 을 설정하는 함수이다.

Examples
C++
// EzSpy LogLevel을 모든 메시지 출력 레벨로 설정한다.
DWORD uReturn;
uReturn = AxlSetLogLevel (3);
if(uReturn)
{
AfxMessageBox(“EzSpy Log Level을 모든 메시지 출력으로 설정합니다.”)
}

AJINEXTEK CO.,LTD 39
Library User Manual Rev.3.0

See Also
AxlGetLogLevel

40 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlGetLogLevel
Purpose
EzSpy 에 출력할 메시지 레벨을 반환한다.

Format
C++
DWORD AxlGetLogLevel(DWORD *upLevel);
C#
uint AxlGetLogLevel(ref uint upLevel);
Visual Basic
Function AxlGetLogLevel(ByRef upLevel As Long) As Long
Delphi
function AxlGetLogLevel(upLevel : PDWORD) : DWord; stdcall;

Parameters
[in/out] Name [Init Value] Explanation
[out]upLevel EzSpy 에 출력할 메시지 레벨

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
* See error code Table for more information on status error codes

Description
EzSpy 에서 출력할 메시지 레벨을 반환하는 함수이다.

Examples
C++
// EzSpy 출력 메시지 레벨을 반환한다.
DWORD uReturn;
DWORD uLevel;
uReturn = AxlGetLogLevel (0, & uLevel);
if(uReturn)
strData.Format(“EzSpy 메시지 출력 Level : %d.”, uLevel);
AfxMessageBox(strData);

See Also
AxlSetLogLevel

AJINEXTEK CO.,LTD 41
Library User Manual Rev.3.0

Mechatrolink III 전용 함수
Function Description
AxlScanStart 해당 보드의 연결된 모듈에 대한 검색을 시작한다.

42 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

AxlScanStart
Purpose
MLIII 마스터 보드에 연결된 모듈에 대한 검색을 시작한다.

Format
C++
DWORD AxlScanStart(long lBoardNo, long lNet);
C#
uint AxlScanStart(int lBoardNo, int lNet);
Visual Basic
Function AxlScanStart(ByVal lBoardNo As Long, ByVal lNet As Long) As
Long
Delphi
function AxlScanStart(lBoardNo: LongInt; lNet: LongInt) : DWord;
stdcall;

Parameters
[in/out] Name [Init Value] Explanation
시스템에 장착된 AXL 지원 보드 중 MLIII 마스터 보드에 해당하는
[in]lBoardNo
보드 번호
[in]lNet 마스터 보드와 연결되는 네트워크 연결 번호

Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1054] AXT_RT_NOT_SUPPORT_VERSION : 이 함수가 지원하지 않는 제품일 때
[4500] AXT_RT_M3_COMMUNICATION_FAILED : 마스터 보드의 명령 버퍼가 가득 찼을 경우
* See error code Table for more information on status error codes

Description
등록된 베이스 보드의 개수를 확인한다.

Examples
C++
// 등록된 AXL 사용 가능 보드의 개수를 확인한다.
long lBoardCounts;
CString strData;

AxlGetBoardCount(&lBoardCounts);
strData.Format(“전체 보드 개수는 %d개 입니다.”, lBoardCounts);

AfxMessageBox(strData);

AJINEXTEK CO.,LTD 43
Library User Manual Rev.3.0

에러코드 테이블 (Error Code Table) 확인


라이브러리 사용 중에 발생할 수 있는 에러를 체크하고 처리하기 위해선 에러코드를 확인해보는 것이 좋다.
각 함수마다 반환하는 값을 에러코드라고 하는데, 에러가 발생한 경우 이 함수가 왜 동작하지 않는지 에러코
드를 확인해보면 알 수 있다. 필수적 사항은 아니지만 시스템의 안전성이나 프로그램의 디버깅을 용이하게
하기 위해서 AXT_RT_SUCCESS가 나오지 않으면 함수 실행의 반환 값인 에러코드를 확인해 보는 것을 권장한
다.

Error Code Description


[0000] AXT_RT_SUCCESS 함수 실행 성공
[1001] AXT_RT_OPEN_ERROR 라이브러리가 오픈 되어있지 않음
[1002] AXT_RT_OPEN_ALREADY 라이브러리가 오픈 되어있고 사용 중임
[1053] AXT_RT_NOT_OPEN 라이브러리 초기화 실패
[1054] AXT_RT_NOT_SUPPORT_VERSION 지원하지 않는 하드웨어
[1055] AXT_RT_LOCK_FILE_MISMATCH Lock 파일과 현재 Scan 정보가 일치하지 않음
라이브러리와 EtherCAT Master 버전이 일치하지
[1056] AXT_RT_MASTER_VERSION_MISMATCH
않음
[1057] AXT_RT_NOT_RUN_EZMANAGER EzManager 가 실행되지 않음
[1058] AXT_RT_NOT_FIND_BIN_FILE BIN 파일을 찾을 수 없음
[1059] AXT_RT_NOT_FIND_ENI_FILE ENI 파일을 찾을 수 없음
[1060] AXT_RT_NOT_FIND_CONFIG_FILE Config 파일을 찾을 수 없음
[1061] AXT_RT_RTOS_OPEN_ERROR RTOS Open 실패
[1062] AXT_RT_SLAVE_CONFIG_ERROR RTOS Slave Config 실패
Slave 들이 OP 모드가 될 때까지 대기 중 Timeout 이
[1063] AXT_RT_SLAVE_OP_TIMEOUT_WARNING
발생
[1064] AXT_RT_SLAVE_NOT_OP OP 모드가 아닌 Slave 가 존재함
[1101] AXT_RT_INVALID_BOARD_NO 유효하지 않은 보드 번호
[1102] AXT_RT_INVALID_MODULE_POS 유효하지 않은 모듈 위치
[1103] AXT_RT_INVALID_LEVEL 유효하지 않은 레벨
[1104] AXT_RT_INVALID_VARIABLE 유효하지 않은 변수
[1105] AXT_RT_INVALID_MODULE_NO 유효하지 않은 모듈
[1106] AXT_RT_INVALID_NO 유효하지 않은 번호
[1151] AXT_RT_ERROR_VERSION_READ 라이브러리 버전을 읽을 수 없음
네트워크에 연결된 슬레이브 노드가 연결되지
[1152] AXT_RT_NETWORK_ERROR
않았거나 연결 상태가 불량함.
저장된 연결 정보와 실제 연결 정보가 맞지 않음
EzConfig 에서 해당 보드의 Lock 정보와 실제 연결
[1153] AXT_RT_NETWORK_LOCK_MISMATCH 상태가 일치하지 않음
슬레이브 재구성 시 기존의 Lock 정보는
Ezconfig 에서 Unlock 으로 지워줘야 함

44 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

[1160] AXT_RT_1ST_BELOW_MIN_VALUE 첫 번째 인자 값이 최솟값보다 더 작음


[1161] AXT_RT_1ST_ABOVE_MAX_VALUE 첫 번째 인자 값이 최댓값보다 더 큼
[1170] AXT_RT_2ND_BELOW_MIN_VALUE 두 번째 인자 값이 최솟값보다 더 작음
[1171] AXT_RT_2ND_ABOVE_MAX_VALUE 두 번째 인자 값이 최댓값보다 더 큼
[1180] AXT_RT_3RD_BELOW_MIN_VALUE 세 번째 인자 값이 최솟값보다 더 작음
[1181] AXT_RT_3RD_ABOVE_MAX_VALUE 세 번째 인자 값이 최댓값보다 더 큼
[1190] AXT_RT_4TH_BELOW_MIN_VALUE 네 번째 인자 값이 최솟값보다 더 작음
[1191] AXT_RT_4TH_ABOVE_MAX_VALUE 네 번째 인자 값이 최댓값보다 더 큼
[1200] AXT_RT_5TH_BELOW_MIN_VALUE 다섯 번째 인자 값이 최솟값보다 더 작음
[1201] AXT_RT_5TH_ABOVE_MAX_VALUE 다섯 번째 인자 값이 최댓값보다 더 큼
[1210] AXT_RT_6TH_BELOW_MIN_VALUE 여섯 번째 인자 값이 최솟값보다 더 작음
[1211] AXT_RT_6TH_ABOVE_MAX_VALUE 여섯 번째 인자 값이 최댓값보다 더 큼
[1220] AXT_RT_7TH_BELOW_MIN_VALUE 일곱 번째 인자 값이 최솟값보다 더 작음
[1221] AXT_RT_7TH_ABOVE_MAX_VALUE 일곱 번째 인자 값이 최댓값보다 더 큼
[1230] AXT_RT_8TH_BELOW_MIN_VALUE 여덟 번째 인자 값이 최솟값보다 더 작음
[1231] AXT_RT_8TH_ABOVE_MAX_VALUE 여덟 번째 인자 값이 최댓값보다 더 큼
[1240] AXT_RT_9TH_BELOW_MIN_VALUE 아홉 번째 인자 값이 최솟값보다 더 작음
[1241] AXT_RT_9TH_ABOVE_MAX_VALUE 아홉 번째 인자 값이 최댓값보다 더 큼
[1250] AXT_RT_10TH_BELOW_MIN_VALUE 열 번째 인자 값이 최솟값보다 더 작음
[1251] AXT_RT_10TH_ABOVE_MAX_VALUE 열 번째 인자 값이 최댓값보다 더 큼
[1252] AXT_RT_11TH_ABOVE_MAX_VALUE 열 한 번째 인자 값이 최댓값보다 더 큼
[1253] AXT_RT_11TH_ABOVE_MAX_VALUE 열 한 번째 인자 값이 최댓값보다 더 큼
[2001] AXT_RT_AIO_OPEN_ERROR AIO 모듈 오픈 실패
[2051] AXT_RT_AIO_NOT_MODULE AIO 모듈 없음
[2052] AXT_RT_AIO_NOT_EVENT AIO 이벤트 읽지 못 함
[2101] AXT_RT_AIO_INVALID_MODULE_NO 유효하지 않은 AIO 모듈
[2102] AXT_RT_AIO_INVALID_CHANNEL_NO 유효하지 않은 AIO 채널 번호
[2106] AXT_RT_AIO_INVALID_USE AIO 함수 사용 못 함
[2107] AXT_RT_AIO_INVALID_TRIGGER_MODE 유효하지 않은 트리거 모드
[2108] AXT_RT_AIO_EXTERNAL_DATA_EMPTY 외부 데이터 값이 없을 경우
[2109] AXT_RT_AIO_INVALID_VALUE 유효하지 않은 값 설정
[2110] AXT_RT_AIO_UPG_ALEADY_ENABLED AO UPG 기능 사용 중 설정됨
[3001] AXT_RT_DIO_OPEN_ERROR DIO 모듈 Open 실패
[3051] AXT_RT_DIO_NOT_MODULE DIO 모듈 없음
[3052] AXT_RT_DIO_NOT_INTERRUPT DIO 인터럽트 설정 안됨
[3101] AXT_RT_DIO_INVALID_MODULE_NO 유효하지 않은 DIO 모듈 번호

AJINEXTEK CO.,LTD 45
Library User Manual Rev.3.0

[3102] AXT_RT_DIO_INVALID_OFFSET_NO 유효하지 않은 DIO OFFSET 번호


[3103] AXT_RT_DIO_INVALID_LEVEL 유효하지 않은 DIO 레벨
[3104] AXT_RT_DIO_INVALID_MODE 유효하지 않은 DIO 모드
[3105] AXT_RT_DIO_INVALID_VALUE 유효하지 않은 값 설정
[3106] AXT_RT_DIO_INVALID_USE DIO 함수 사용 못 함
[3201] AXT_RT_CNT_OPEN_ERROR CNT 모듈 오픈 실패
[3251] AXT_RT_CNT_NOT_MODULE CNT 모듈 없음
[3252] AXT_RT_CNT_NOT_INTERRUPT CNT 인터럽트 설정 안됨
[3301] AXT_RT_CNT_INVALID_MODULE_NO 유효하지 않은 CNT 모듈 번호
[3302] AXT_RT_CNT_INVALID_CHANNEL_NO 유효하지 않은 채널 번호
[3303] AXT_RT_CNT_INVALID_OFFSET_NO 유효하지 않은 CNT OFFSET 번호
[3304] AXT_RT_CNT_INVALID_LEVEL 유효하지 않은 CNT 레벨
[3305] AXT_RT_CNT_INVALID_MODE 유효하지 않은 CNT 모드
[3306] AXT_RT_CNT_INVALID_VALUE 유효하지 않은 값 설정
[3307] AXT_RT_CNT_INVALID_USE CNT 함수 사용 못함
[3401] AXT_RT_COM_OPEN_ERROR COM 포트 오픈 실패
[3402] AXT_RT_COM_NOT_OPEN COM 포트 오픈되지 않음
[3403] AXT_RT_COM_ALREADY_IN_USE COM 포트 사용 중
[3451] AXT_RT_COM_NOT_MODULE COM 포트 없음
[3452] AXT_RT_COM_NOT_INTERRUPT COM 인터럽트 설정 안됨
[3501] AXT_RT_COM_INVALID_MODULE_NO 유효하지 않은 COM 모듈 번호
[3502] AXT_RT_COM_INVALID_PORT_NO 유효하지 않은 채널 번호
[3503] AXT_RT_COM_INVALID_OFFSET_NO 유효하지 않은 COM OFFSET 번호
[3504] AXT_RT_COM_INVALID_LEVEL 유효하지 않은 COM 레벨
[3505] AXT_RT_COM_INVALID_MODE 유효하지 않은 COM 모드
[3506] AXT_RT_COM_INVALID_VALUE 유효하지 않은 값 설정
[3507] AXT_RT_COM_INVALID_USE COM 함수 사용 못 함
[3508] AXT_RT_COM_INVALID_BAUDRATE 유효하지 않은 값 설정
[4001] AXT_RT_MOTION_OPEN_ERROR 모션 라이브러리 Open 실패
[4051] AXT_RT_MOTION_NOT_MODULE 시스템에 장착된 모션 모듈이 없음
[4052] AXT_RT_MOTION_NOT_INTERRUPT 인터럽트 결과 읽기 실패
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO 해당 축 모션 초기화 실패
연속 보간 구동 중이 아닌 상태에서 연속 보간 중지
[4054] AXT_RT_MOTION_NOT_IN_CONT_INTERPOL
명령을 수행하였음
[4055] AXT_RT_MOTION_NOT_PARA_READ 원점 구동 설정 파라미터 로드 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO 해당 축이 존재하지 않음

46 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

[4102] AXT_RT_MOTION_INVALID_METHOD 해당 축 구동에 필요한 설정이 잘못됨


[4103] AXT_RT_MOTION_INVALID_USE 'uUse' 인자 값이 잘못 설정됨
[4104] AXT_RT_MOTION_INVALID_LEVEL 'uLevel' 인자 값이 잘못 설정됨
[4105] AXT_RT_MOTION_INVALID_BIT_NO 범용 입출력 해당 비트가 잘못 설정됨
[4106] AXT_RT_MOTION_INVALID_STOP_MODE 모션 정지 모드 설정 값이 잘못됨
[4107] AXT_RT_MOTION_INVALID_TRIGGER_MODE 트리거 설정 모드가 잘못 설정됨
[4108] AXT_RT_MOTION_INVALID_TRIGGER_LEVEL 트리거 출력 레벨 설정이 잘못됨
'uSelection' 인자가 COMMAND 또는 ACTUAL
[4109] AXT_RT_MOTION_INVALID_SELECTION
이외의 값으로 설정되어 있음
[4110] AXT_RT_MOTION_INVALID_TIME Trigger 출력 시간 값이 잘못 설정되어 있음
[4111] AXT_RT_MOTION_INVALID_FILE_LOAD 모션 설정 값이 저장된 파일의 로드가 안됨
[4112] AXT_RT_MOTION_INVALID_FILE_SAVE 모션 설정 값을 저장하는 파일 저장에 실패함
모션 구동 속도 값이 0 으로 설정되어 모션 에러
[4113] AXT_RT_MOTION_INVALID_VELOCITY
발생
모션 구동 가속 시간 값이 0 으로 설정되어 모션
[4114] AXT_RT_MOTION_INVALID_ACCELTIME
에러 발생
모션 단위 설정 시 입력 펄스 값이 0 보다 작은
[4115] AXT_RT_MOTION_INVALID_PULSE_VALUE
값으로 설정됨
위치나 속도 오버라이드 함수가 모션 정지 중에
[4116] AXT_RT_MOTION_INVALID_NODE_NUMBER
실행됨
[4117] AXT_RT_MOTION_INVALID_TARGET 다축 모션 정지 원인에 관한 플래그를 반환함
[4151] AXT_RT_MOTION_ERROR_IN_NONMOTION 모션 구동 중이어야 하는데 모션 구동 중이 아닐 때
[4152] AXT_RT_MOTION_ERROR_IN_MOTION 모션 구동 중에 다른 모션 구동 함수를 실행함
[4153] AXT_RT_MOTION_ERROR 다축 구동 정지 함수 실행 중 에러가 발생함
겐트리 enable 이 되어있어 모션 중일 때, 또 겐트리
[4154] AXT_RT_MOTION_ERROR_GANTRY_ENABLE
enable 을 누른 경우
[4155] AXT_RT_MOTION_ERROR_GANTRY_AXIS 겐트리 축이 마스터 채널일 때
[4156] AXT_RT_MOTION_ERROR_MASTER_SERVOON 마스터 축 서보온이 되어있지 않을 때
[4157] AXT_RT_MOTION_ERROR_SLAVE_SERVOON 슬레이브 축 서보온이 되어있지 않을 때
[4158] AXT_RT_MOTION_INVALID_POSITION 유효한 위치에 없을 때
[4159] AXT_RT_ERROR_NOT_SAME_MODULE 똑같은 모듈 내에 있지 않을 경우
[4160] AXT_RT_ERROR_NOT_SAME_BOARD 똑같은 보드 내에 있지 않을 경우
[4161] AXT_RT_ERROR_NOT_SAME_PRODUCT 제품이 서로 다를 경우
[4162] AXT_RT_NOT_CAPTURED 위치가 저장되지 않을 때
[4163] AXT_RT_ERROR_NOT_SAME_IC 같은 칩 내에 존재하지 않을 때
[4164] AXT_RT_ERROR_NOT_GEARMODE 기어 모드로 변환이 안될 때
[4165] AXT_ERROR_CONTI_INVALID_AXIS_NO 연속 보간 축 맵핑 시 유효한 축이 아닐 때
[4166] AXT_ERROR_CONTI_INVALID_MAP_NO 연속 보간 맵핑 시 유효한 맵핑 번호가 아닐 때

AJINEXTEK CO.,LTD 47
Library User Manual Rev.3.0

[4167] AXT_ERROR_CONTI_EMPTY_MAP_NO 연속 보간 맵핑 번호가 비어 있을 때


[4168] AXT_RT_MOTION_ERROR_CACULATION 계산상의 오차가 발생했을 때
연속 보간 구동 전 에러 센서가(Alarm, EMG,
[4169] AXT_RT_ERROR_MOVE_SENSOR_CHECK
Limit 등) 감지된 경우
[4170] AXT_ERROR_HELICAL_INVALID_AXIS_NO 헬리컬 축 맵핑 시 유효한 축이 아닐 때
[4171] AXT_ERROR_HELICAL_INVALID_MAP_NO 헬리컬 맵핑 시 유효한 맵핑 번호가 아닐 때
[4172] AXT_ERROR_HELICAL_EMPTY_MAP_NO 헬리컬 맵핑 번호가 비어 있을 때
[4180] AXT_ERROR_SPLINE_INVALID_AXIS_NO 스플라인 축 맵핑 시 유효한 축이 아닐 때
[4181] AXT_ERROR_SPLINE_INVALID_MAP_NO 스플라인 맵핑 시 유효한 맵핑 번호가 아닐 때
[4182] AXT_ERROR_SPLINE_EMPTY_MAP_NO 스플라인 맵핑 번호가 비어 있을 때
[4183] AXT_ERROR_SPLINE_NUM_ERROR 스플라인 점 숫자가 부적당할 때
[4184] AXT_RT_MOTION_INTERPOL_VALUE 보간할 때 입력 값이 잘못 넣어진 경우
연속 보간 할 때 CONTIBEGIN 함수를 호출하지 않은
[4185] AXT_RT_ERROR_NOT_CONTIBEGIN
경우
연속 보간 할 때 CONTIEND 함수를 호출하지 않은
[4186] AXT_RT_ERROR_NOT_CONTIEND
경우
[4201] AXT_RT_MOTION_HOME_SEARCHING 홈을 찾고 있는 중에 다른 모션 함수들을 사용할 때
홈을 찾고 있는 중에 외부에서 사용자나 혹은 어떤
[4202] AXT_RT_MOTION_HOME_ERROR_SEARCHING
것에 의해 강제로 정지당할 때
[4203] AXT_RT_MOTION_HOME_ERROR_START 초기화 문제로 홈 시작이 불가할 때
[4204] AXT_RT_MOTION_HOME_ERROR_GANTRY 홈을 찾고 있는 중에 겐트리 enable 이 불가할 때
[4210] AXT_RT_MOTION_READ_ALARM_WAITING 서보팩으로부터 알람 코드 결과를 기다리는 중
서보팩에 알람 코드 반환 명령이 내려지지 않았을
[4211] AXT_RT_MOTION_READ_ALARM_NO_REQUEST

[4212] AXT_RT_MOTION_READ_ALARM_TIMEOUT 서보팩 알람 읽기 시간을 초과 했을 때(1sec 이상)
[4213] AXT_RT_MOTION_READ_ALARM_FAILED 서보팩 알람 읽기에 실패 했을 때
[4220] AXT_RT_MOTION_READ_ALARM_UNKNOWN 알람 코드가 알 수 없는 코드일 때
[4221] AXT_RT_MOTION_READ_ALARM_FILES 알람 정보 파일이 정해진 위치에 존재하지 않을 때
[4222] AXT_RT_MOTION_READ_ALARM_NOT_DETECTED 알람 코드 Read 시, 알람이 발생하지 않았을 때
설정한 위치 값이 설정 최댓값보다 크거나
[4251] AXT_RT_MOTION_POS_OUTOFBOUND
최솟값보다 작은 값일 때
[4252] AXT_RT_MOTION_PROFILE_INVALID 구동 속도 프로파일 설정이 잘못됨
[4253] AXT_RT_MOTION_VELOCITY_OUTOFBOUND 구동 속도 값이 최댓값보다 크게 설정됨
[4254] AXT_RT_MOTION_MOVE_UNIT_IS_ZERO 구동 단위 값이 0 으로 설정됨
[4255] AXT_RT_MOTION_SETTING_ERROR 속도, 가속도, 저크, 프로파일 설정이 잘못됨
연속 보간 구동 중 구동 시작 또는 재시작 함수를
[4256] AXT_RT_MOTION_IN_CONT_INTERPOL
실행하였음
[4257] AXT_RT_MOTION_DISABLE_TRIGGER 트리거 출력이 Disable 상태임
[4258] AXT_RT_MOTION_INVALID_CONT_INDEX 연속 보간 Index 값 설정이 잘못됨

48 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

[4259] AXT_RT_MOTION_CONT_QUEUE_FULL 모션 칩의 연속 보간 큐가 Full 상태임


서보온 상태에서 사용할 수 없는 함수 또는 입력
[4260] AXT_RT_PROTECTED_DURING_SERVOON
값을 사용하였음
보드의 H/W 접근 오류가 발생함
[4261] AXT_RT_HW_ACCESS_ERROR 시스템 내의 보드 장착 상태를 확인하거나 전원
입력 상태를 확인하여 조치함
[4262] AXT_RT_HW_DPRAM_CMD_WRITE_ERROR_LV1 DPRAM Comamnd Write 실패 Level1
[4263] AXT_RT_HW_DPRAM_CMD_WRITE_ERROR_LV2 DPRAM Comamnd Write 실패 Level2
[4264] AXT_RT_HW_DPRAM_CMD_WRITE_ERROR_LV3 DPRAM Comamnd Write 실패 Level3
[4265] AXT_RT_HW_DPRAM_CMD_READ_ERROR_LV1 DPRAM Comamnd Read 실패 Level1
[4266] AXT_RT_HW_DPRAM_CMD_READ_ERROR_LV2 DPRAM Comamnd Read 실패 Level2
[4267] AXT_RT_HW_DPRAM_CMD_READ_ERROR_LV3 DPRAM Comamnd Read 실패 Level3
[4300] AXT_RT_COMPENSATION_SET_PARAM_FIRST 보정 파라미터 중 첫 번째 값이 잘못 설정되었음
[4301] AXT_RT_COMPENSATION_NOT_INIT 보정 파라미터 중 첫 번째 값이 잘못 설정되었음
[4302] AXT_RT_COMPENSATION_POS_OUTOFBOUND 위치 값이 범위 내에 존재하지 않음
[4303] AXT_RT_COMPENSATION_BACKLASH_NOT_INIT 백래쉬 보정 기능이 초기화되지 않음
[4304] AXT_RT_COMPENSATION_INVALID_ENTRY 보정 테이블 개수가 잘못 입력되었음
[4400] AXT_RT_SEQ_NOT_IN_SERVICE 순차 구동 함수 실행 중 자원 할당 실패
[4401] AXT_ERROR_SEQ_INVALID_MAP_NO 순차 구동 함수 실행 중 맵핑 번호 이상
[4402] AXT_ERROR_INVALID_AXIS_NO 함수 설정 인자 중 축 번호 이상.
[4403] AXT_RT_ERROR_NOT_SEQ_NODE_BEGIN 순차 구동 노드 입력 시작 함수를 호출하지 않음
[4404] AXT_RT_ERROR_NOT_SEQ_NODE_END 순차 구동 노드 입력 종료 함수를 호출하지 않음
[4405] AXT_RT_ERROR_NO_NODE 순차 구동 노드 입력이 없음.
[4406] AXT_RT_ERROR_SEQ_STOP_TIMEOUT 순차 구동 함수 종료 시 TimeOut 발생
[4500] AXT_RT_M3_COMMUNICATION_FAILED MLIII 통신 기준, 통신 실패
MLIII 통신 기준, 구성된 MLIII 노드 중에서 모션
[4501] AXT_RT_MOTION_ONE_OF_AXES_IS_NOT_M3
노드 없음
MLIII 통신 기준, 지정된 축의 설정된 최대 속도보다
[4502] AXT_RT_MOTION_BIGGER_VEL_THEN_MAX_VEL

MLIII 통신 기준, 지정된 축의 설정된 최대 속도보다
[4503] AXT_RT_MOTION_SMALLER_VEL_THEN_MAX_VEL
작음
MLIII 통신 기준, 지정된 축의 설정된 가속도가
[4504] AXT_RT_MOTION_ACCEL_MUST_BIGGER_THEN_ZERO
0 보다 큼
MLIII 통신 기준, UnitPulse 가 적용된 가속도가
[4505] AXT_RT_MOTION_SMALL_ACCEL_WITH_UNIT_PULSE
0 보다 큼
[4506] AXT_RT_MOTION_INVALID_INPUT_ACCEL MLIII 통신 기준, 지정된 축의 가속도 입력이 잘못됨
MLIII 통신 기준, UnitPulse 가 적용된 감속도가
[4507] AXT_RT_MOTION_SMALL_DECEL_WITH_UNIT_PULSE
0 보다 큼
[4508] AXT_RT_MOTION_INVALID_INPUT_DECEL MLIII 통신 기준, 지정된 축의 감속도 입력이 잘못됨
[4509] AXT_RT_MOTION_SAME_START_AND_CENTER_POS MLIII 통신 기준, 원호 보간의 시작점과 중심점이

AJINEXTEK CO.,LTD 49
Library User Manual Rev.3.0

같음
[4510] AXT_RT_MOTION_INVALID_JERK MLIII 통신 기준, 지정된 축의 저크 입력이 잘못됨
[4511] AXT_RT_MOTION_INVALID_INPUT_VALUE MLIII 통신 기준, 지정된 축의 입력 값이 잘못됨
[4512] AXT_RT_MOTION_NOT_SUPPORT_PROFILE MLIII 통신 기준, 제공되지 않는 속도 프로파일임
[4513] AXT_RT_MOTION_INPOS_UNUSED MLIII 통신 기준, 인포지션 사용하지 않음
[4514] AXT_RT_MOTION_AXIS_IN_SLAVE_STATE MLIII 통신 기준, 지정된 축이 슬레이브 상태가 아님
MLIII 통신 기준, 지정된 축들이 같은 보드 내에 있지
[4515] AXT_RT_MOTION_AXES_ARE_NOT_SAME_BOARD
않음
[4516] AXT_RT_MOTION_ERROR_IN_ALARM MLIII 통신 기준, 지정된 축이 알람 상태임
[4517] AXT_RT_MOTION_ERROR_IN_EMGN MLIII 통신 기준, 지정된 축이 비상 정지 상태임
[4518] AXT_RT_MOTION_CAN_NOT_CHANGE_COORD_NO MLIII 통신 기준, 코디네이터 넘버 변환 불가임
[4519] AXT_RT_MOTION_INVALID_INTERNAL_RADIOUS MLIII 통신 기준, 원호 보간의 X, Y 축 반지름 불일치
[4521] AXT_RT_MOTION_CONTI_QUEUE_FULL MLIII 통신 기준, 보간의 큐가 가득 참
MLIII 통신 기준, 원호 보간의 시작점과 종료점이
[4522] AXT_RT_MOTION_SAME_START_AND_END_POSITION
같음
MLIII 통신 기준, 원호 보간의 각도가 360 도를
[4523] AXT_RT_MOTION_INVALID_ANGLE
초과함
[4524] AXT_RT_MOTION_CONTI_QUEUE_EMPTY MLIII 통신 기준, 보간의 큐가 비어있음
[4525] AXT_RT_MOTION_ERROR_GEAR_ENABLE MLIII 통신 기준, 지정된 축이 이미 링크 설정 상태임
[4526] AXT_RT_MOTION_ERROR_GEAR_AXIS MLIII 통신 기준, 지정된 축이 링크 축이 아님
MLIII 통신 기준, 지정된 축이 겐트리 설정 상태가
[4527] AXT_RT_MOTION_ERROR_NO_GANTRY_ENABLE
아님
[4528] AXT_RT_MOTION_ERROR_NO_GEAR_ENABLE MLIII 통신 기준, 지정된 축이 링크 설정 상태가 아님
[4529] AXT_RT_MOTION_ERROR_GANTRY_ENABLE_FULL MLIII 통신 기준, 겐트리 설정 가득 참
[4530] AXT_RT_MOTION_ERROR_GEAR_ENABLE_FULL MLIII 통신 기준, 링크 설정 가득 참
MLIII 통신 기준, 지정된 축이 겐트리 슬레이브 설정
[4531] AXT_RT_MOTION_ERROR_NO_GANTRY_SLAVE
상태가 아님
MLIII 통신 기준, 지정된 축이 링크 슬레이브 설정
[4532] AXT_RT_MOTION_ERROR_NO_GEAR_SLAVE
상태가 아님
[4533] AXT_RT_MOTION_ERROR_MASTER_SLAVE_SAME MLIII 통신 기준, 마스터 축과 슬레이브 축이 동일함
MLIII 통신 기준, 지정된 축의 홈 신호는 지원되지
[4534] AXT_RT_MOTION_NOT_SUPPORT_HOMESIGNAL
않음
[4535] AXT_RT_MOTION_ERROR_NOT_SYNC_CONNECT MLIII 통신 기준, 지정된 축이 싱크 연결 상태가 아님
MLIII 통신 기준, 지정된 축에 대한 구동 위치 값이
[4536] AXT_RT_MOTION_OVERFLOW_POSITION
오버플로우임
MLIII 통신 기준, 보간 작업을 위한 지정된 좌표계 축
[4537] AXT_RT_MOTION_ERROR_INVALID_CONTIMAPAXIS
맵핑이 없음
MLIII 통신 기준, 보간 작업을 위한 지정된 좌표계 축
[4538] AXT_RT_MOTION_ERROR_INVALID_CONTIMAPSIZE
맵핑 축 사이즈가 잘못됨
[4539] AXT_RT_MOTION_ERROR_IN_SERVO_OFF MLIII 통신 기준, 지정된 축이 서보 OFF 되어 있음

50 AJINEXTEK CO.,LTD.
Library User Manual Rev.3.0

[4540] AXT_RT_MOTION_ERROR_POSITIVE_LIMIT MLIII 통신 기준, 지정된 축이 (+)리밋 ON 되어 있음


[4541] AXT_RT_MOTION_ERROR_NEGATIVE_LIMIT MLIII 통신 기준, 지정된 축이 (-)리밋 ON 되어 있음
MLIII 통신 기준, 지정된 축들에 대한 지원 프로파일
[4542] AXT_RT_MOTION_ERROR_OVERFLOW_SWPROFILE_NUM
개수가 오버플로우됨
[4543] AXT_RT_PROTECTED_DURING_INMOTION in_motion 되어 있는 상태에서 사용 못 함
[5000] AXT_RT_DATA_FLASH_NOT_EXIST 플래시 메모리가 존재하지 않음
[5001] AXT_RT_DATA_FLASH_BUSY 플래시 메모리가 사용 중

AJINEXTEK CO.,LTD 51
Library User Manual Rev.3.0

이 설명서의 내용은 예고 없이 변경될 수 있습니다. 용례에 사용된 회사, 기관, 제품, 인물 및 사건 등은 실


제 데이터가 아닙니다. 어떠한 실제 회사, 기관, 제품, 인물 또는 사건과도 연관시킬 의도가 없으며 그렇게
유추해서도 안 됩니다. 해당 저작권법을 준수하는 것은 사용자의 책임입니다. 저작권에서의 권리와는 별도
로, 이 설명서의 어떠한 부분도 (주)아진엑스텍의 명시적인 서면 승인 없이는 어떠한 형식이나 수단(전기적,
기계적, 복사기에 의한 복사, 디스크 복사 또는 다른 방법) 또는 다른 목적으로도 복제되거나, 검색 시스템
에 저장 또는 도입되거나, 전송될 수 없습니다.

(주)아진엑스텍은 이 설명서 본 안에 관련된 특허권, 상표권, 저작권 또는 기타 지적 소유권 등을 보유할


수 있습니다. 서면 사용권 계약에 따라 (주)아진엑스텍으로부터 귀하에게 명시적으로 제공된 권리 이외에,
이 설명서의 제공은 귀하에게 이러한 특허권, 저작권 또는 기타 지적 소유권 등에 대한 어떠한 사용권도
허용하지 않습니다.

52 AJINEXTEK CO.,LTD.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy