입출력 설정
이 단원에서는 외부 센서들의 레벨 및 범용 입출력, 서보 드라이브에 관련된 레벨 함수들을 소개한다. 레벨 설정이 잘못 되었을 경우 모터가 정상 동작을 하지 않을 수 있으므로 레벨을 알맞게 설정한 후 모션 구동을 시작해야 한다.
입출력 설정 함수
1. 함수 리스트
Function | Description |
---|---|
AxmSignalSetZphaseLevel | 지정 축의 Z 상 Level을 설정한다. |
AxmSignalGetZphaseLevel | 지정 축의 Z 상 Level을 반환한다. |
AxmSignalSetServoOnLevel | 지정 축의 Servo-On신호의 출력 레벨을 설정한다. |
AxmSignalGetServoOnLevel | 지정 축의 Servo-On신호의 출력 레벨 설정을 반환한다. |
AxmSignalSetServoAlarmResetLevel | 지정 축의 Servo-Alarm Reset 신호의 출력 레벨을 설정한다. |
AxmSignalGetServoAlarmResetLevel | 지정 축의 Servo-Alarm Reset 신호의 출력 레벨을 설정을 반환한다. |
AxmSignalSetInpos | 지정 축의 Inpositon 신호 사용 여부 및 신호 입력 레벨을 설정한다. |
AxmSignalGetInpos | 지정 축의 Inpositon 신호 사용 여부 및 신호 입력 레벨을 반환한다. |
AxmSignalReadInpos | 지정 축의 Inpositon 신호 입력 상태를 반환한다. |
AxmSignalSetInposRange | 지정 축의 Inposition 신호의 Range를 설정한다. |
AxmSignalGetInposRange | 지정 축의 Inposition 신호의 Range를 반환한다. |
AxmSignalSetServoAlarm | 지정 축의 알람 신호 입력 시 비상 정지 사용 여부 및 신호 입력 레벨을 설정한다. |
AxmSignalGetServoAlarm | 지정 축의 알람 신호 입력 시 비상 정지 사용 여부 및 신호 입력 레벨을 반환한다. |
AxmSignalReadServoAlarm | 지정 축의 알람 신호 입력 레벨을 반환한다. |
AxmSignalSetLimit | 지정 축의 end limit sensor의 사용 유무 및 신호의 입력 레벨을 설정한다. end limit sensor 신호 입력 시 감속 정지 또는 급정지에 대한 설정도 가능하다. |
AxmSignalGetLimit | 지정 축의 end limit sensor의 사용 유무 및 신호의 입력 레벨, 신호 입력 시 정지 모드를 반환한다. |
AxmSignalReadLimit | 지정 축의 end limit sensor의 입력 상태를 반환한다. |
AxmSignalSetSoftLimit | 지정 축의 Software limit의 사용 유무, 사용할 카운트, 그리고 정지 방법을 설정한다. |
AxmSignalGetSoftLimit | 지정 축의 Software limit의 사용 유무, 사용할 카운트, 그리고 정지 방법을 반환한다. |
AxmSignalReadSoftLimit | 지정 축의 Software limit의 현재 상태를 반환한다. |
AxmSignalSetStop | 비상 정지 신호의 정지 방법 (급정지/감속 정지) 또는 사용 유무를 설정한다. |
AxmSignalGetStop | 비상 정지 신호의 정지 방법 (급정지/감속 정지) 또는 사용 유무를 반환한다. |
AxmSignalReadStop | 비상 정지 신호의 입력 상태를 반환한다. |
AxmSignalServoOn | 지정 축의 Servo-On 신호를 출력한다. |
AxmSignalIsServoOn | 지정 축의 Servo-On 신호의 출력 상태를 반환한다. |
AxmSignalServoAlarmReset | 지정 축의 Servo-Alarm Reset 신호를 출력한다. |
AxmSignalWriteOutput | 범용 출력값을 설정한다. |
AxmSignalReadOutput | 범용 출력값을 반환한다. |
AxmSignalWriteOutputBit | 범용 출력값을 비트별로 설정한다. |
AxmSignalReadOutputBit | 범용 출력값을 비트별로 반환한다. |
AxmSignalReadInput | 범용 입력값을 반환한다. |
AxmSignalReadInputBit | 범용 입력값을 비트별로 반환한다. |
AxmSignalSetFilterBandwidth | 입력 신호들의 디지털 필터 계수를 설정한다. |
AxmSignalSetWriteOutputBitAtPos | 지정 축의 특정한 위치에서 지정 모듈의 디지털 출력값을 제어한다. |
AxmSignalGetWriteOutputBitAtPos | 지정 축의 특정한 위치에서 제어될 디지털 출력값 및 설정 값을 확인한다. |
AxmSignalGetInputBitCount | 지정 축의 범용 입력 접점 수를 반환한다. |
AxmSignalGetOutputBitCount | 지정 축의 범용 출력 접점 수를 반환한다. |
2. 함수 소개
AxmSignalSetZphaseLevel
Purpose
지정한 축의 Z상 입력 신호 레벨을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | O | X | X | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalSetZphaseLevel(long lAxisNo, DWORD uLevel);
C#
uint AxmSignalSetZphaseLevel(int lAxisNo, uint uLevel);
Visual Basic
Function AxmSignalSetZphaseLevel(ByVal lAxisNo As Long, ByVal uLevel As Long) As Long
Delphi
function AxmSignalSetZphaseLevel(lAxisNo : LongInt; uLevel : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uLevel | [01h]Z상 신호 입력의 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 사용자가 지정한 축의 Z상 입력 레벨을 설정한다.
- Z상 신호는 엔코더의 제로 펄스 신호를 의미한다. PCI-N804/404는 범용 입력 1을 Encoder의 Z상 신호로 사용한다.
- 이 신호를 사용하면 ORG신호를 사용했을 때보다 정밀한 원점 검색 작업을 수행할 수 있다.
- Z-Phase Level을 읽기 위해서는 AxmStatusReadMechanical 함수를 사용하여 Bit 8을 읽으면 레벨이 바뀌는지 확인할 수 있다.
예제 코드
// 0 축에 Z상 레벨을 설정한다.
AxmSignalSetZphaseLevel(0, HIGH);
// 0축의 Z상 레벨 값을 확인.
DWORD state;
AxmSignalGetZphaseLevel (0, &state);
AxmSignalGetZphaseLevel
Purpose
지정 축의 Z상 신호의 입력 레벨 설정을 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | O | X | X | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalGetZphaseLevel(long lAxisNo, DWORD *upLevel);
C#
uint AxmSignalGetZphaseLevel(int lAxisNo, ref uint upLevel);
Visual Basic
Function AxmSignalGetZphaseLevel(ByVal lAxisNo As Long, ByRef upLevel As Long) As Long
Delphi
function AxmSignalGetZphaseLevel(lAxisNo : LongInt; upLevel : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upLevel | [01h]Z상 신호 입력의 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- AxmSignalSetZphaseLevel로 설정한 Z상 입력 레벨을 반환한다.
예제 코드
// 0 축에 Z상 레벨을 설정한다.
AxmSignalSetZphaseLevel(0, HIGH);
// 0축의 Z상 레벨 값을 확인.
DWORD upLevel;
AxmSignalGetZphaseLevel (0, &upLevel);
AxmSignalSetServoOnLevel
Purpose
지정 축의 Servo-On 신호 출력 레벨을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | O | X | X | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalSetServoOnLevel(long lAxisNo, DWORD uLevel);
C#
uint AxmSignalSetServoOnLevel(int lAxisNo, uint uLevel);
Visual Basic
Function AxmSignalSetServoOnLevel(ByVal lAxisNo As Long, ByVal uLevel As Long) As Long
Delphi
function AxmSignalSetServoOnLevel(lAxisNo : LongInt; uLevel : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uLevel | [01h]Servo-On 신호의 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 사용자가 지정한 축의 Servo-On신호의 출력 레벨을 설정한다.
- 각 회사의 Servo-Drive 입력 레벨에 따라 출력 레벨을 설정하는 데 이용한다.
예제 코드
// 0 축에 Servo-On 레벨을 설정한다.
AxmSignalSetServoOnLevel(0, HIGH);
// 0축의 Servo-On 레벨 값을 확인.
DWORD uLevel;
AxmSignalGetServoOnLevel (0, & uLevel);
AxmSignalGetServoOnLevel
Purpose
지정 축의 Servo-On 신호 출력 레벨 설정을 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | O | X | X | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalGetServoOnLevel(long lAxisNo, DWORD *upLevel);
C#
uint AxmSignalGetServoOnLevel(int lAxisNo, ref uint upLevel);
Visual Basic
Function AxmSignalGetServoOnLevel(ByVal lAxisNo As Long, ByRef upLevel As Long) As Long
Delphi
function AxmSignalGetServoOnLevel(lAxisNo : LongInt; upLevel : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upLevel | [01h]Servo-On 신호의 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
AxmSignalSetServoOnLevel로 설정한 Servo-On 신호의 출력 레벨 설정을 반환한다.
예제 코드
// 0 축에 Servo-On 레벨을 설정한다.
AxmSignalSetServoOnLevel(0, HIGH);
// 0축의 Servo-On 레벨 값을 확인.
DWORD upLevel;
AxmSignalGetServoOnLevel (0, &upLevel);
AxmSignalSetServoAlarmResetLevel
Purpose
지정 축의 Servo-Alarm Reset 신호 출력 레벨을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | O | X | X | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalSetServoAlarmResetLevel(long lAxisNo, DWORD uLevel);
C#
uint AxmSignalSetServoAlarmResetLevel(int lAxisNo, uint uLevel);
Visual Basic
Function AxmSignalSetServoAlarmResetLevel(ByVal lAxisNo As Long, ByVal uLevel As Long) As Long
Delphi
function AxmSignalSetServoAlarmResetLevel(lAxisNo : LongInt; uLevel : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uLevel | [01h]Servo-Alarm Reset 신호의 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 모션 구동을 하면서 비정상적인 동작으로 인해 알람이 발생하거나 기타 다른 사유로 인해 알람이 발생했을 때, Servo Alarm Reset을 출력 함으로써 알람을 Clear 한다.
- 이때 각 회사마다 Servo-Drive의 입력 레벨이 다를 수 있으므로 Servo-Alarm Reset 레벨을 설정할 때 사용한다.
예제 코드
// 0 축에 Servo-Alarm Reset 레벨을 설정한다.
AxmSignalSetServoAlarmResetLevel(0, HIGH);
// 0축의 Servo-Alarm Reset 레벨 값을 확인.
DWORD uLevel;
AxmSignalGetServoAlarmResetLevel(0, &uLevel);
AxmSignalGetServoAlarmResetLevel
Purpose
지정 축의 Servo-Alarm Reset 신호 출력 레벨을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | O | X | X | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalGetServoAlarmResetLevel(long lAxisNo, DWORD *upLevel);
C#
uint AxmSignalGetServoAlarmResetLevel(int lAxisNo, ref uint upLevel);
Visual Basic
Function AxmSignalGetServoAlarmResetLevel(ByVal lAxisNo As Long, ByRef upLevel As Long) As Long
Delphi
function AxmSignalGetServoAlarmResetLevel(lAxisNo : LongInt; upLevel : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upLevel | [01h]Servo-Alarm Reset 신호의 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 모션 구동을 하면서 비정상적인 동작으로 인해 알람이 발생하거나 기타 다른 사유로 인해 알람이 발생했을 때, Servo Alarm Reset을 출력 함으로써 알람을 Clear 한다.
- 각 회사마다 Servo-Drive의 입력 레벨이 다를 수 있으므로 Servo-Alarm Reset 레벨을 설정할 때 사용한다.
예제 코드
// 0 축에 Servo-Alarm Reset 레벨을 설정한다.
AxmSignalSetServoAlarmResetLevel(0, HIGH);
// 0축의 Servo-Alarm Reset 레벨 값을 확인.
DWORD upLevel;
AxmSignalGetServoAlarmResetLevel(0, &upLevel);
AxmSignalSetInpos
Purpose
축의 InPos 신호(기능) 사용 여부를 설정한다. Inpositon 신호(기능)는 서보 드라이버를 사용하는 경우에만 유효한 신호(기능)로써 서보 드라이브가 위치 결정 이동을 완료했음을 알리는 신호이다. InPosition의 범위는 서보 드라이버에서 설정할 수 있으므로 InPosition 기능을 활용하려면 서보 드라이버에서 InPosition 범위를 적절한 값으로 설정해주어야 한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | X | X | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | X | X | X |
Format
C++
DWORD AxmSignalSetInpos(long lAxisNo, DWORD uUse);
C#
uint AxmSignalSetInpos(int lAxisNo, uint uUse);
Visual Basic
Function AxmSignalSetInpos(ByVal lAxisNo As Long, ByVal uUse As Long) As Long
Delphi
function AxmSignalSetInpos(lAxisNo : LongInt; uUse : Dword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uUse | [02h]InPos 신호 사용 여부 : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) - [02h]사용 안 함 - [03h]Active level을 유지하고 사용하도록 설정 |
Note
- 네트워크 타입 모션 제어기에서는 Use 값에 LOW, HIGH가 USED의 의미를 가진다.
예외) PM은 보드 타입 제어기(PCI-N804/404)와 동일하게 사용한다. - 네트워크 타입 EtherCAT모션 제어기에서는 서보 드라이의 Inpositon 신호(기능)를 사용하지 않고 Command Position과 Actual Position의 차가 설정한 Range 범위에 들어오면 Inposition신호가 발생한다.
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- InPos 신호를 사용할 때는 ENABLE로 설정하고, 사용하지 않을 때에는 DISABLE로 설정한다.
- ENABLE로 설정할 경우 InPos 신호의 Active Level은 이전에 설정된 레벨이 적용된다.
- InPos 신호의 Active Level을 설정하고자 할 경우는 LOW 또는 HIGH로 설정한다.
- 이 함수를 호출하면 모션 종료 시 inPos 신호(서보팩의 출력)가 들어왔을 때 구동이 끝난 것으로 인식된다. 즉, 함수 내에서 루프를 돌고 있는 move함수들은 inPos가 active될 때까지 그 함수 내에 머무르게 된다.
- InPos 신호란 서보 모터 드라이버 내부에 있는 명령 펄스 입력과 모터로부터 받은 피드백 펄스 입력의 차가 서보 드라이버에 설정한 오차 범위 내에 들어왔을 때 발생하는 신호이다. 따라서 이 신호를 위치 결정 완료 신호로 사용할 수 있다.
- InPos 신호의 입력 확인은 AxmSignalReadInpos 함수로 반환한다.

참고) 스텝 모터를 사용하는 경우나 InPos 신호를 연결하지 않은 경우에는 반드시 사용하지 않음으로 설정해야 한다.
예제 코드
// 0축에 InPos 신호 사용 여부를 설정.
AxmSignalSetInpos (0, HIGH);
// 0축의 InPos 신호 사용 여부를 확인.
DWORD uUse;
AxmSignalGetInpos (0, &uUse);
AxmSignalGetInpos
Purpose
지정 축의 InPos 신호의 사용 여부를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalGetInpos(long lAxisNo, DWORD *upUse);
C#
uint AxmSignalGetInpos(int lAxisNo, ref uint upUse);
Visual Basic
Function AxmSignalGetInpos(ByVal lAxisNo As Long, ByRef upUse As Long) As Long
Delphi
function AxmSignalGetInpos(lAxisNo : LongInt; upUse : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upUse | [02h]InPos 신호 사용 여부 : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(Normal Close) - [01h]A 접점(Normal Open) - [02h]사용 안 함 - [03h]Active level을 유지하고 사용하도록 설정 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- AxmSignalSetInpos로 설정한 InPos 신호의 Level 상태를 반환한다.
- 사용자가 지정한 축의 InPos신호가 ENABLE인지 DISABLE인지 사용 여부를 반환한다.
- InPos 신호를 사용할 경우 InPos 신호의 Active Level을 확인할 수 있다.
예제 코드
// 0축에 InPos 신호 사용 여부를 설정.
AxmSignalSetInpos (0, HIGH);
// 0 축의 InPos 신호 사용 여부를 확인.
DWORD upUse;
AxmSignalGetInpos (0, &upUse);
AxmSignalReadInpos
Purpose
지정 축의 Inpositon 신호의 입력 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadInpos(long lAxisNo, DWORD *upStatus);
C#
uint AxmSignalReadInpos(int lAxisNo, ref uint upStatus);
Visual Basic
Function AxmSignalReadInpos(ByVal lAxisNo As Long, ByRefupStatus As Long) As Long
Delphi
function AxmSignalReadInpos(lAxisNo : LongInt; upStatus : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upStatus | InPos 신호의 입력 상태 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h]비활성화 - [01h]활성화 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- AxmSignalSetInpos로 설정한 현재 InPos 신호의 입력 상태를 반환한다.
예제 코드
// 0축에 Inpositon 신호의 입력 확인.
DWORD upStatus;
AxmSignalReadInpos (0, &upStatus);
AxmSignalSetInposRange
Purpose
Inposition 신호의 Range를 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalSetInposRange(long lAxisNo, double dInposRange);
C#
uint AxmSignalSetInposRange(int nAxisNo, double dInposRange);
Visual Basic
Function AxmSignalSetInposRange(ByVal lAxisNo As Integer, ByVal dInposRange As Double) As Integer
Delphi
function AxmSignalSetInposRange(lAxisNo : LongInt; dInposRange: Double) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]dInposRange | Inposition 신호의 Range (dInposRange > 0) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- Inposition 신호의 Range를 설정한다.
- Command Position과 Actual Position의 차가 설정한 Range 범위에 들어오면 Inposition신호가 발생한다.
예제 코드
// 1번 축의 Inposition 신호의 Range를 10으로 설정한다.
long lAxisNo = 1;
double dInposRang = 10;
AxmSignalSetInposRange(lAxisNo, dInposRang);
AxmSignalGetInposRange
Purpose
설정된 Inposition 신호의 Range를 확인한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
X | X | X | X | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | X | X | X | X | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | X | X | X | X | X | X | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalGetInposRange(long lAxisNo, double *dpInposRange);
C#
uint AxmSignalGetInposRange(int nAxisNo, double *dpInposRange);
Visual Basic
Function AxmSignalGetInposRange(ByVal lAxisNo As Integer, ByRef dpInposRange As Double) As Integer
Delphi
function AxmSignalGetInposRange(lAxisNo : LongInt; dpInposRange: PDouble) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]dpInposRange | Inposition 신호의 Range (dInposRange > 0) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
Inposition 신호의 Range를 확인한다.
예제 코드
// 1번 축의 Inposition 신호의 Range를 확인한다.
long lAxisNo = 1;
double dInposRange;
AxmSignalGetInposRange(lAxisNo, &dInposRange);
AxmSignalSetServoAlarm
Purpose
지정 축의 알람 신호 입력 시 비상 정지의 사용 여부 및 알람 신호 Active Level을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalSetServoAlarm(long lAxisNo, DWORD uUse);
C#
uint AxmSignalSetServoAlarm(int lAxisNo, uint uUse);
Visual Basic
Function AxmSignalSetServoAlarm(ByVal lAxisNo As Long, ByVal uUse As Long) As Long
Delphi
function AxmSignalSetServoAlarm(lAxisNo : LongInt; uUse : Dword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uUse | [00h]알람 신호 사용 여부 및 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(NORMAL CLOSE) - [01h]A 접점(NORMAL OPEN) - [02h]사용 안 함 - [03h]현 상태 유지 |
Note) 네트워크 타입 모션 제어기에서는 Use 값의 ‘LOW’, ‘HIGH’가 ‘USED’ 의 의미를 가진다.
예외) RTEX-PM은 보드 타입 제어기(PCI-N804/404)와 동일하게 사용한다.
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- Alarm 입력이 On되면 해당 축의 모션 작업은 급정지하게 된다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open.
- High(A점점): 평상시 Open -> 감지되면 Close.
예제 코드
// 0축에 알람 신호 입력 시 비상 정지의 사용 여부를 설정.
AxmSignalSetServoAlarm (0, HIGH);
// 0축에 알람 신호 입력 시 비상 정지 여부 설정을 확인.
DWORD uUse;
AxmSignalGetServoAlarm(0, &uUse);
AxmSignalGetServoAlarm
Purpose
지정 축의 알람 신호 입력 시 비상 정지의 사용 여부 및 알람 신호 Active Level 설정을 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | X | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | O | X | O |
Format
C++
DWORD AxmSignalGetServoAlarm(long lAxisNo, DWORD *upUse);
C#
uint AxmSignalGetServoAlarm(int lAxisNo, ref uint upUse);
Visual Basic
Function AxmSignalGetServoAlarm(ByVal lAxisNo As Long, ByRef upUse As Long) As Long
Delphi
function AxmSignalGetServoAlarm(lAxisNo : LongInt; upUse : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upUse | [00h]알람 신호 사용 여부 및 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(NORMAL CLOSE) - [01h]A 접점(NORMAL OPEN) - [02h]사용 안 함 - [03h]현 상태 유지 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- AxmSignalSetServoAlarm로 설정한 Servo-Alarm신호의 출력 레벨 설정을 반환한다.
- Alarm 입력이 On 되면 해당 축의 모션 작업은 급정지하게 된다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open
- High(A점점): 평상시 Open -> 감지되면 Close
예제 코드
// 0축에 알람 신호 입력 시 비상 정지 사용 여부를 설정.
AxmSignalSetServoAlarm (0, HIGH);
// 0축의 알람 신호 입력 시 비상 정지 여부 설정을 확인.
DWORD upUse;
AxmSignalGetServoAlarm(0, &upUse);
AxmSignalReadServoAlarm
Purpose
지정 축의 알람 신호 입력 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadServoAlarm(long lAxisNo, DWORD *upStatus);
C#
uint AxmSignalReadServoAlarm(int lAxisNo, ref uint upStatus);
Visual Basic
Function AxmSignalReadServoAlarm(ByVal lAxisNo As Long, ByRefupStatus As Long) As Long
Delphi
function AxmSignalReadServoAlarm(lAxisNo : LongInt; upStatus : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upStatus | 알람 신호의 입력 상태 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h]비활성화 - [01h]활성화 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- AxmSignalSetServoAlarm로 설정한 Servo-Alarm신호의 현재 입력 상태를 반환한다.
- Alarm 입력이 On 되면 해당 축의 모션 작업은 급정지하게 된다.
- 입력 신호가 On되면 upStatus로 1을, Off되면 0을 반환한다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open
- High(A점점): 평상시 Open -> 감지되면 Close
예제 코드
// 0축의 알람 신호 확인.
DWORD upStatus;
AxmSignalReadServoAlarm (0, &upStatus);
AxmSignalSetLimit
Purpose
지정 축의 리미트 센서 사용 유무 및 신호 Active Level을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalSetLimit(long lAxisNo, DWORD uStopMode, DWORD uPositiveLevel, DWORD uNegativeLevel);
C#
uint AxmSignalSetLimit(int lAxisNo, uint uStopMode, uint uPositiveLevel, uint uNegativeLevel);
Visual Basic
Function AxmSignalSetLimit(ByVal lAxisNo As Long, ByVal uStopMode As Long, ByVal uPositiveLevel As Long, ByVal uNegativeLevel As Long) As Long
Delphi
function AxmSignalSetLimit(lAxisNo : LongInt; uStopMode : DWord; uPositiveLevel : DWord; uNegativeLevel : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uStopMode | [00h]리미트 센서 검출 후 정지 모드 설정 값 : AXT_MOTION_STOPMODE_DEF - [00h]급정지 - [01h]감속 정지 |
[in]uPositiveLevel | [00h] (+) 리미트 센서 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(NORMAL CLOSE) - [01h]A 접점(NORMAL OPEN) - [02h]사용 안 함 - [03h]현 상태 유지 |
[in]uNegativeLevel | [00h] (-) 리미트 센서 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(NORMAL CLOSE) - [01h]A 접점(NORMAL OPEN) - [02h]사용 안 함 - [03h]현 상태 유지 |
Note) 네트워크 타입 모션 제어기에서는 PositiveLevel/NegativeLevel 값의 ‘LOW’, ‘HIGH’가 ‘USED’ 의 의미를 가진다.
예외) RTEX-PM은 보드 타입 제어기(PCI-N804/404)와 동일하게 사용한다.
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- -End Limit의 입력이 On되면 해당 축의 (-)방향 모션 작업이 정지하게 되고, +End Limit 입력이On되면 (+)방향 모션 작업이 정지하게 된다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open.
- High(A점점): 평상시 Open -> 감지되면 Close.
예제 코드
// 0축의 end limit sensor를 사용 가능하게 설정.
AxmSignalSetLimit (0, EMERGENCY_STOP, HIGH, HIGH);
// 0축의 end limit sensor 사용 유무 확인.
DWORD uStopMode, uPositiveLevel, uNegativeLevel;
AxmSignalGetLimit (0, &uStopMode, &uPositiveLevel, &uNegativeLevel);
AxmSignalGetLimit
Purpose
지정 축의 리미트 센서 사용 유무 및 신호 Active Level 설정 값을 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalGetLimit(long lAxisNo, DWORD *upStopMode, DWORD *upPositiveLevel, DWORD *upNegativeLevel);
C#
uint AxmSignalGetLimit(int lAxisNo, ref uint upStopMode, ref uint upPositiveLevel, ref uint upNegativeLevel);
Visual Basic
Function AxmSignalGetLimit(ByVal lAxisNo As Long, ByRef upStopMode As Long, ByRef upPositiveLevel As Long, ByRef upNegativeLevel As Long) As Long
Delphi
function AxmSignalGetLimit(lAxisNo : LongInt; upStopMode : PDword; upPositiveLevel : PDword; upNegativeLevel : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upStopMode | [00h]리미트 센서 검출 후 정지 모드 설정 값 : AXT_MOTION_STOPMODE_DEF - [00h]급정지 - [01h]감속 정지 |
[out]upPositiveLevel | [00h] (+) 리미트 센서 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(NORMAL CLOSE) - [01h]A 접점(NORMAL OPEN) - [02h]사용 안 함 - [03h]현 상태 유지 |
[out]upNegativeLevel | [00h] (-) 리미트 센서 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h]B 접점(NORMAL CLOSE) - [01h]A 접점(NORMAL OPEN) - [02h]사용 안 함 - [03h]현 상태 유지 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
참고 : 필요한 데이터만 가지고 올 경우, 필요하지 않은 변수에 NULL을 넣어 사용할 수 있다.
- AxmSignalSetLimit'으로 설정한 Pos, Neg End Limt 신호의 출력 레벨 설정의 반환과 StopMode를 반환한다.
- -End Limit의 입력이 On되면 해당 축의 (-)방향 모션 작업이 정지하게 되고, +End Limit 입력이On되면 (+)방향 모션 작업이 정지하게 된다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open.
- High(A점점): 평상시 Open -> 감지되면 Close.
예제 코드
// 0축에 end limit sensor를 사용 가능하게 설정함.
AxmSignalSetLimit (0, EMERGENCY_STOP, HIGH, HIGH);
// 0축의 end limit sensor 사용 유무 확인.
DWORD uStopMode, uPositiveLevel, uNegativeLevel;
AxmSignalGetLimit (0, &uStopMode, &uPositiveLevel, &uNegativeLevel);
AxmSignalReadLimit
Purpose
지정 축의 리미트 센서 신호의 입력 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadLimit(long lAxisNo, DWORD *upPositiveStatus, DWORD *upNegativeStatus);
C#
uint AxmSignalReadLimit(int lAxisNo, ref uint upPositiveStatus, ref uint upNegativeStatus);
Visual Basic
Function AxmSignalReadLimit(ByVal lAxisNo As Long, ByRef upPositiveStatus As Long, ByRef upNegativeStatus As Long) As Long
Delphi
function AxmSignalReadLimit(lAxisNo : LongInt; upPositiveStatus : PDword; upNegativeStatus : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upPositiveStatus | (+) 리미트 센서 신호 입력 상태 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h]비활성화 (+) 리미트 센서 신호 Off 상태 - [01h]활성화 (+) 리미트 센서 신호 On 상태 |
[out]upNegativeStatus | (-) 리미트 센서 신호 입력 상태 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h]비활성화 (-) 리미트 센서 신호 Off 상태 - [01h]활성화 (-) 리미트 센서 신호 On 상태 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
참고 : 필요한 데이터만 가지고 오고 싶을 때는 필요하지 않은 변수에 NULL을 넣어 사용 가능하다.
- 'AxmSignalSetLimit' 로 설정한 Pos, Neg End Limt 신호의 현재 입력 상태를 반환한다.
- -End Limit의 입력이 On되면 해당 축의 (-)방향 모션 작업이 정지하게 되고, +End Limit 입력이 On되면 (+)방향 모션 작업이 정지하게 된다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open.
- High(A점점): 평상시 Open -> 감지되면 Close.
예제 코드
// 0축 리미트 센서 입력 상태 확인.
DWORD upPositiveLevel, upNegativeLevel;
AxmSignalReadLimit (0, &upPositiveLevel, &upNegativeLevel);
AxmSignalSetSoftLimit
Purpose
지정 축의 소프트 리미트 기능을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalSetSoftLimit(long lAxisNo, DWORD uUse, DWORD uStopMode, DWORD uSelection, double dPositivePos, double dNegativePos);
C#
uint AxmSignalSetSoftLimit(int lAxisNo, uint uUse, uint uStopMode, uint uSelection, double dPositivePos, double dNegativePos);
Visual Basic
Function AxmSignalSetSoftLimit(ByVal lAxisNo As Long, ByVal uUse As Long, ByVal uStopMode As Long, ByVal uSelection As Long, ByVal dPositivePos As Double, ByVal dNegativePos As Double) As Long
Delphi
function AxmSignalSetSoftLimit(lAxisNo : LongInt; uUse : Dword; uStopMode : Dword; uSelection : Dword; dPositivePos : Double; dNegativePos : Double) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uUse | [00h]소프트 리미트 기능 사용 유무 : AXT_USE - [00h] 소프트 리미트 사용하지 않음 - [01h] 소프트 리미트 사용 |
[in]uStopMode | [00h]소프트 리미트 On 시 모션 정지 모드 : AXT_MOTION_STOPMODE_DEF - [00h] 급정지 - [01h] 감속 정지 |
[in]uSelection | [00h]현재 위치 입력 소스 선택 : AXT_MOTION_SELECTION_DEF - [00h]목표 위치 Cmd Pos를 현재 위치 비교 값으로 사용 - [01h]실제 위치 Act Pos를 현재 위치 비교 값으로 사용 |
[in]dPositivePos | [0.0] (+) 방향 소프트 리미트 위치값 |
[in]dNegativePos | [0.0] (-) 방향 소프트 리미트 위치값 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 소프트 리미트 기능을 사용하면 dPositivePositiin과 dNegativePos 범위 내에서 모션 동작이 가능하며, 이 범위를 벗어나게 되면 소프트 리미트에 의하여 모션이 정지하게 된다.
주의 사항
- 소프트웨어 리밋을 미리 설정해놓고 원점 검색을 수행할 경우, 도중에 사용자 또는 외부의 요인에 의해서 원점 검색이 중지되어도 소프트웨어 리밋은 설정을 유지한다.
- 소프트웨어 리밋을 미리 설정해놓고 원점 검색을 수행할 경우, 원점 검색 시작 시 소프트웨어 리밋이 DISABLE 되었다가 원점 검색을 완료하면 소프트웨어 리밋은 다시 ENABLE 된다.
N Limit : (-)방향으로의 스트로크 한계 값을 지정한다.
P Limit: (+)방향으로의 스트로크 한계 값을 지정한다.

예제 코드
// 0축의 Soft Limit을 설정한다.
AxmSignalSetSoftLimit(0, ENABLE, EMERGENCY_STOP, COMMAND, 50000, -50);
// 0축의 Soft Limit 설정 사항 확인.
DWORD upUse, upStopMode, upSelection;
double dpPositivePos, dpNegativePos;
AxmSignalGetSoftLimit (0, &upUse, &upStopMode, &upSelection, &dpPositivePos, &dpNegativePos);
AxmSignalGetSoftLimit
Purpose
지정 축의 소프트 리미트 기능 사용 유무, 위치, 정지 모드 등을 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalGetSoftLimit(long lAxisNo, DWORD *upUse, DWORD *upStopMode, DWORD *upSelection, double *dpPositivePos, double *dpNegativePos);
C#
uint AxmSignalGetSoftLimit(int lAxisNo, ref uint upUse, ref uint upStopMode, ref uint upSelection, ref double dpPositivePos, ref double dpNegativePos);
Visual Basic
Function AxmSignalGetSoftLimit(ByVal lAxisNo As Long, ByRef upUse As Long, ByRef upStopMode As Long, ByRef upSelection As Long, ByRef dpPositivePos As Double, ByRef dpNegativePos As Double) As Long
Delphi
function AxmSignalGetSoftLimit(lAxisNo : LongInt; upUse : PDWord; upStopMode : PDWord; upSelection : PDWord; dpPositivePos : PDouble; dpNegativePos : PDouble) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upUse | [00h]소프트 리미트 기능 사용 유무 : AXT_USE - [00h] 소프트 리미트 사용하지 않음 - [01h] 소프트 리미트 사용 |
[out]upStopMode | [00h]소프트 리미트 On 시 모션 정지 모드 : AXT_MOTION_STOPMODE_DEF - [00h] 급정지 - [01h] 감속 정지 |
[out]upSelection | [00h]현재 위치 입력 소스 선택 : AXT_MOTION_SELECTION_DEF - [00h]목표 위치 Cmd Pos를 현재 위치 비교 값으로 사용 - [01h]실제 위치 Act Pos를 현재 위치 비교 값으로 사용 |
[out]dPositivePos | [0.0] (+) 방향 소프트 리미트 위치값 |
[out]dNegativePos | [0.0] (-) 방향 소프트 리미트 위치값 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
참고 : 필요한 데이터만 가지고 오고 싶을 때는 필요하지 않은 변수에 NULL을 넣어 사용 가능하다.
- 'AxmSignalSetSoftLimit' 로 설정한 Pos, Neg 한계 값을 반환한다.
N Limit : (-)방향으로의 스트로크 한계 값을 지정한다.
P Limit: (+)방향으로의 스트로크 한계 값을 지정한다.
예제 코드
// 0축의 Soft Limit을 설정한다.
AxmSignalSetSoftLimit(0, ENABLE, EMERGENCY_STOP, CMD, 50000, -50);
// 0축의 Soft Limit 설정 사항 확인.
DWORD upUse, upStopMode, upSelection;
double dpPositivePos, dpNegativePos;
AxmSignalGetSoftLimit (0, &upUse, &upStopMode, &upSelection, &dpPositivePos, &dpNegativePos);
AxmSignalReadSoftLimit
Purpose
지정 축의 소프트 리미트 센서 신호의 입력 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | X | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadSoftLimit(long lAxisNo, DWORD *upPositiveStatus, DWORD *upNegativeStatus);
C#
uint AxmSignalReadSoftLimit(int lAxisNo, ref uint upPositiveStatus, ref uint upNegativeStatus);
Visual Basic
Function AxmSignalReadSoftLimit(ByVal lAxisNo As Long, ByRef upPositiveStatus As Long, ByRef upNegativeStatus As Long) As Long
Delphi
function AxmSignalReadSoftLimit(lAxisNo : LongInt; upPositiveStatus : PDword; upNegativeStatus : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upPositiveStatus | (+) 소프트 리미트 센서 신호 입력 상태 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h]비활성화 (+) 소프트 리미트 센서 신호 Off 상태 - [01h]활성화 (+)소프트 리미트 센서 신호 On 상태 |
[out]upNegativeStatus | (-) 소프트 리미트 센서 신호 입력 상태 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h]비활성화 (-)소프트 리미트 센서 신호 Off 상태 - [01h]활성화 (-)소프트 리미트 센서 신호 On 상태 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
지정 축의 소프트웨어 리미트 신호의 입력 상태를 반환한다.
예제 코드
// 0축 소프트 리미트 센서 입력 상태 확인.
DWORD upPositiveLevel, upNegativeLevel;
AxmSignalReadSoftLimit (0, &upPositiveLevel, &upNegativeLevel);
AxmSignalSetStop
Purpose
지정 축의 비상 정지 신호(SSTOP, ESTOP) 정지 모드와 레벨을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalSetStop(long lAxisNo, DWORD uStopMode, DWORD uLevel);
C#
uint AxmSignalSetStop(int lAxisNo, uint uStopMode, uint uLevel);
Visual Basic
Function AxmSignalSetStop(ByVal lAxisNo As Long, ByVal uStopMode As Long, ByVal uLevel As Long) As Long
Delphi
function AxmSignalSetStop(lAxisNo : LongInt; uStopMode : Dword; uLevel : Dword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uStopMode | [00h]정지 모드(PCI-N804/404은 급정지만 지원함) : AXT_MOTION_STOPMODE_DEF - [00h] 급정지 - [01h] 감속 정지 |
[in]uLevel | [01h]정지 신호 사용 유무 및 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h] B 접점(NORMAL CLOSE) - [01h] A 접점(NORMAL OPEN) - [02h] 사용 안 함 - [03h] 현 상태 유지 |
Note) 네트워크 타입 모션 제어기에서는 Level 값에 ‘LOW’, ‘HIGH’가 ‘USED’ 의 의미를 가진다.
예외) RTEX-PM은 보드 타입 제어기(PCI-N804/404)와 동일하게 사용한다.
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 사용자가 지정한 축의 비상 정지 신호의 레벨과 정지 모드를 잘못 설정하면 펄스 출력이 나가지 않는 현상이 발생할 수 있다.
- 이 신호 레벨은 AxmStatusReadMechanical로 확인할 수 있다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open.
- High(A 점점): 평상시 Open -> 감지되면 Close.
예제 코드
// 0축의 정지 신호 사용 유무를 설정.
AxmSignalSetStop (0, EMERGENCY_STTOP, ENABLE);
// 0축의 비상 정지 신호 사용 유무 설정 값을 확인.
DWORD upStopMode, upLevel;
AxmSignalGetStop (0, &upStopMode, &upLevel);
AxmSignalGetStop
Purpose
지정 축의 비상 정지 신호(SSTOP, ESTOP)의 정지 모드와 레벨을 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | X | X | X | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | X | X | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalGetStop(long lAxisNo, DWORD *upStopMode, DWORD *upLevel);
C#
uint AxmSignalGetStop(int lAxisNo, ref uint upStopMode, ref uint upLevel);
Visual Basic
Function AxmSignalGetStop(ByVal lAxisNo As Long, ByRef upStopMode As Long, ByRef upLevel As Long) As Long
Delphi
function AxmSignalGetStop(lAxisNo : LongInt; upStopMode : PDword; upLevel : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upStopMode | [00h]정지 모드(PCI-N804/404은 급정지만 지원함) : AXT_MOTION_STOPMODE_DEF - [00h] 급정지 - [01h] 감속 정지 |
[out]upLevel | [00h]정지 신호 사용 유무 및 Active Level : AXT_MOTION_LEVEL_MODE_DEF - [00h] B 접점(NORMAL CLOSE) - [01h] A 접점(NORMAL OPEN) - [02h] 사용 안 함 - [03h] 현 상태 유지 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
참고 : 필요한 데이터만 가지고 올 경우, 필요하지 않은 변수에 NULL을 넣어 사용할 수 있다.
- 'AxmSignalSetStop' 로 설정한 비상 정지 신호(SSTOP, ESTOP)의 정지 모드와 레벨을 반환한다.
- 비상 정지 신호의 레벨과 정지 모드를 설정 할 때, 잘못 설정하면 펄스가 출력 되지 않는 현상이 발생할 수 있다.
- 이 신호 레벨은 AxmStatusReadMechanical로 확인할 수 있다.
- Low(B 접점) : 평상시 Close -> 감지되면 Open.
- High(A 점점): 평상시 Open -> 감지되면 Close.
예제 코드
// 0축의 정지 신호 사용 유무를 설정.
AxmSignalSetStop(0, EMERGENCY_STTOP, ENABLE);
// 0축의 비상 정지 신호 사용 유무 설정 값을 확인.
DWORD upStopMode, upLevel;
AxmSignalGetStop(0, &upStopMode, &upLevel);
AxmSignalReadStop
Purpose
지정 축의 비상 정지 신호 입력 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | X | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | O | X | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadStop(long lAxisNo, DWORD *upStatus);
C#
uint AxmSignalReadStop(int lAxisNo, ref uint upStatus);
Visual Basic
Function AxmSignalReadStop(ByVal lAxisNo As Long, ByRef upStatus As Long) As Long
Delphi
function AxmSignalReadStop(lAxisNo : LongInt; upStatus : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upStatus | 펄스 출력 방식 : AXT_MOTION_SIGNAL_LEVEL_DEF - [00h] 비활성화 (정지 신호 Off) - [01h] 활성화 (정지 신호 On) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
AxmSignalSetStop로 설정한 비상 정지 신호(SSTOP, ESTOP) 의 현재 입력 상태를 반환한다.
예제 코드
// 0축의 STOP 신호 상태 확인.
DWORD uStatus;
AxmSignalReadStop (0, &uStatus);
AxmSignalServoOn
Purpose
지정 축의 Servo-On 신호의 출력을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalServoOn(long lAxisNo, DWORD uOnOff);
C#
uint AxmSignalServoOn(int lAxisNo, uint uOnOff);
Visual Basic
Function AxmSignalServoOn(ByVal lAxisNo As Long, ByVal uOnOff As Long) As Long
Delphi
function AxmSignalServoOn(lAxisNo : LongInt; uOnOff : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uOnOff | [00h]Serve-On 신호의 출력 설정 : FALSE & TRUE - [00h] Servo-On 출력 Off - [01h] Servo-On 출력 On |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 서보 드라이버를 사용할 때는 외부에서 신호를 이용하여 서보 드라이버의 On/Off를 제어할 수 있도록 하는데, 이를 Servo-On 신호라고 한다.
- 이 함수는 Servo-On 신호의 On/Off를 제어하는 함수이다.
- AxmSignalIsServoOn 함수는 현재 Servo-On 신호의 출력 On/Off 상태를 확인할 때 사용하고, AxmSignalSetServoOnLevel 함수를 이용해서 Active Level을 설정할 수 있다.
예제 코드
// 0축에 Servo On.
AxmSignalServoOn(0, ENABLE);
// 0축의 Servo On 확인.
DWORD level;
AxmSignalIsServoOn(0, &level);
AxmSignalIsServoOn
Purpose
지정 축의 Servo-On 출력 신호 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalIsServoOn(long lAxisNo, DWORD *upOnOff);
C#
uint AxmSignalIsServoOn(int lAxisNo, ref uint upOnOff);
Visual Basic
Function AxmSignalIsServoOn(ByVal lAxisNo As Long, ByRef upOnOff As Long) As Long
Delphi
function AxmSignalIsServoOn(lAxisNo : LongInt; upOnOff : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upOnOff | [00h]Serve-On 신호의 출력 설정 : FALSE & TRUE - [00h] Servo-On 출력 Off - [01h] Servo-On 출력 On |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 'AxmSignalServoOn' 로 설정한 Servo-On 출력 신호의 상태를 반환한다.
- 서보 드라이버를 사용할 때는 외부에서 스위치를 이용하여 서보 드라이버의 On/Off를 제어할 수 있도록 하는데, 이를 Servo-On 신호라고 하고, 이 함수는 Servo-On 신호의 On/Off를 제어하는 함수다.
- AxmSignalIsServoOn 함수는 현재 Servo-On 신호의 출력 상태를 반환하고, AxmSignalSetServoOnLevel 함수를 이용해서 Active Level을 설정할 수 있다.
예제 코드
// 0축에 Servo On.
AxmSignalServoOn (0, ENABLE);
// 0축의 Servo On 확인.
DWORD level;
AxmSignalIsServoOn (0, &level);
AxmSignalServoAlarmReset
Purpose
지정 축의 Servo-Alarm Reset 신호의 출력을 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalServoAlarmReset(long lAxisNo, DWORD uOnOff);
C#
uint AxmSignalServoAlarmReset(int lAxisNo, uint uOnOff);
Visual Basic
Function AxmSignalServoAlarmReset(ByVal lAxisNo As Long, ByVal uOnOff As Long) As Long
Delphi
function AxmSignalServoAlarmReset(lAxisNo : LongInt; uOnOff : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uOnOff | Serve-Alarm Reset 신호의 출력 설정 : FALSE & TRUE - [00h] Servo-Alarm Reset 출력 Off - [01h] Servo-Alarm Reset 출력 On |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 지정 축의 과부하 또는 다른 기타 사유로 인해서 Servo Drive에 알람이 발생했을 경우, Servo Drive의 알람을 Clear 시킬 때 사용한다.
- 서보팩의 종류와 알람의 종류에 따라 Clear되지 않을 수 있다.
예제 코드
// 0축에 Servo Alarm Reset.
AxmSignalServoAlarmReset (0, ENABLE);
AxmSignalWriteOutput
Purpose
지정 축의 범용 출력값을 설정한다. 여기서 Value 값은 Hex 값으로 입력한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalWriteOutput(long lAxisNo, DWORD uValue);
C#
uint AxmSignalWriteOutput(int lAxisNo, uint uValue);
Visual Basic
Function AxmSignalWriteOutput(ByVal lAxisNo As Long, ByVal uValue As Long) As Long
Delphi
function AxmSignalWriteOutput(lAxisNo : LongInt; uValue : Dword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uValue | 범용 출력값(Hex값) - 0 bit : 서보 On/Off - 1 bit : 알람 제거 신호 - 2 ~ 5 bit : 범용 출력 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 모션 제어기에 따라 범용 출력 내역이 다르며, 기본으로 범용(0)을 서보온으로, 범용(1)은 알람 클리어 용도로 사용한다.
- AxmSignalWriteOutput는 동시에 여러 출력을 사용할 때 이 함수를 이용하고, 한 개의 출력을 이용할 때는 AxmSignalWriteOutputBit 함수를 이용한다.
제품명 | 범용 입력 | 범용 출력 |
---|---|---|
SMC-2V04 | UIN(0) : 원점 신호 UIN(1) : Encoder Z상 신호 UIN(2~4) : 범용 입력 신호 UIN(5) : 범용 입력(SMC-2V04) |
UOUT(0) : 서보 On/Off 신호 UOUT(1) : 알람 제거 신호 UOUT(2~4) : 범용 출력 UOUT(5) : 범용 출력(SMC-2V04) |
PCI-N404/804 | ||
RTEX-04 | ||
RTEX-A4N | UIN(0) : 원점 신호(HOME) UIN(1) : 사용하지 않음. UIN(2~5) : 범용 입력(EX-IN2~5) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 사용하지 않음 UOUT(2~3) : 범용 출력(EX-OUT1~2) |
JEPMC-PL2910 | UIN(0) : 원점 신호(ZRNn 신호) UIN(1) : 사용하지 않음. UIN(2) : 범용 입력 신호(INn) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 UOUT(2) : 범용 출력(OUTn) |
SMC-2V04 | UIN(0) : 원점 신호(EXT1 신호) UIN(1) : Encoder Z상(PC 신호) UIN(2) : +End limit(EXT2 신호) UIN(3) : -End limit(EXT3 신호) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 |
예제 코드
// 0축의 범용 출력 신호 설정.
AxmSignalWriteOutput(0, 1);
// 0축의 범용 출력 신호 확인.
DWORD uValue;
AxmSignalReadOutput (0, &uValue);
AxmSignalReadOutput
Purpose
지정 축의 범용 출력값을 Hex값으로 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadOutput(long lAxisNo, DWORD *upValue);
C#
uint AxmSignalReadOutput(int lAxisNo, ref uint upValue);
Visual Basic
Function AxmSignalReadOutput(ByVal lAxisNo As Long, ByRef upValue As Long) As Long
Delphi
function AxmSignalReadOutput(lAxisNo : LongInt; upValue : PDword) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upValue | 범용 출력값(Hex값) - 0 bit : 서보 On/Off - 1 bit : 알람 제거 신호 - 2 ~ 3 bit : 범용 출력 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
AxmSignalWriteOutput로 설정한 범용 출력값을 반환한다.
예제 코드
// 0축의 범용 출력 신호 설정.
AxmSignalWriteOutput(0, 1);
// 0축의 범용 출력 신호 확인.
DWORD uValue;
AxmSignalReadOutput (0, &uValue);
AxmSignalWriteOutputBit
Purpose
지정 축의 범용 출력 중 지정한 비트의 On/Off 상태를 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalWriteOutputBit(long lAxisNo, long lBitNo, DWORD uOnOff);
C#
uint AxmSignalWriteOutputBit(int lAxisNo, int lBitNo, uint uOnOff);
Visual Basic
Function AxmSignalWriteOutputBit(ByVal lAxisNo As Long, ByVal lBitNo As Long, ByVal uOnOffAs Long) As Long
Delphi
function AxmSignalWriteOutputBit(lAxisNo : LongInt; lBitNo : LongInt; uOnOff : DWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]lBitNo | 범용 출력 비트 번호 - [00h]서보온 출력 (SVON) - [01h]알람 클리어 출력 (ALARMCLEAR) - [02h]범용 출력 2 - [03h]범용 출력 3 - [04h]범용 출력 4 |
[in]uOnOff | 출력 On/Off - [00h]출력 Off (0) - [01h]출력 On (1) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 모션 제어기에 따라 사용 가능한 범용 출력 내역이 다르며, 기본으로 범용(0)을 서보온으로 쓰며, 범용(1)은 알람 클리어 용도로 사용한다.
- AxmSignalWriteOutput는 동시에 여러 출력을 제어할 때 이용하고 한 접점의 출력을 이용할 때는 AxmSignalWriteOutputBit 함수를 이용한다.
제품명 | 범용 입력 | 범용 출력 |
---|---|---|
SMC-2V04 | UIN(0) : 원점 신호 UIN(1) : Encoder Z상 신호 UIN(2~4) : 범용 입력 신호 UIN(5) : 범용 입력(SMC-2V04) |
UOUT(0) : 서보 On/Off 신호 UOUT(1) : 알람 제거 신호 UOUT(2~4) : 범용 출력 UOUT(5) : 범용 출력(SMC-2V04) |
PCI-N404/804 | ||
RTEX-04 | ||
RTEX-A4N | UIN(0) : 원점 신호(HOME) UIN(1) : 사용하지 않음. UIN(2~5) : 범용 입력(EX-IN2~5) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 사용하지 않음 UOUT(2~3) : 범용 출력(EX-OUT1~2) |
JEPMC-PL2910 | UIN(0) : 원점 신호(ZRNn 신호) UIN(1) : 사용하지 않음. UIN(2) : 범용 입력 신호(INn) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 UOUT(2) : 범용 출력(OUTn) |
SMC-2V04 | UIN(0) : 원점 신호(EXT1 신호) UIN(1) : Encoder Z상(PC 신호) UIN(2) : +End limit(EXT2 신호) UIN(3) : -End limit(EXT3 신호) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 |
예제 코드
// 0축의 범용 출력 신호 4 ON.
AxmSignalWriteOutputBit(0, 4, 1);
// 0축의 범용 출력 신호 4 확인.
DWORD uOnOff;
AxmSignalReadOutputBit(0, 4, &uOnOff);
AxmSignalReadOutputBit
Purpose
지정 축의 범용 출력 중 지정한 비트의 On/Off 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadOutputBit(long lAxisNo, long lBitNo, DWORD *upOnOff);
C#
uint AxmSignalReadOutputBit(int lAxisNo, int lBitNo, ref uint upOnOff);
Visual Basic
Function AxmSignalReadOutputBit(ByVal lAxisNo As Long, ByVal lBitNo As Long, ByRef upOnOff As Long) As Long
Delphi
function AxmSignalReadOutputBit(lAxisNo : LongInt; lBitNo : LongInt; upOnOff : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]lBitNo | 범용 출력 비트 번호 - [00h] 서보온 출력 (SVON) - [01h] 알람 클리어 출력 (ALARMCLEAR) - [02h] 범용 출력 2 - [03h] 범용 출력 3 - [04h] 범용 출력 4 |
[out]upOnOff | 출력 On/Off - [00h] 출력 Off (0) - [01h] 출력 On (1) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
AxmSignalWriteOutputBit로 설정한 범용 출력값을 반환한다.
예제 코드
// 0축의 범용 출력 신호 4 ON.
AxmSignalWriteOutputBit(0, 4, 1);
// 0축의 범용 출력 신호 4 확인.
DWORD uOn;
AxmSignalReadOutputBit(0, 4, &uOn);
AxmSignalReadInput
Purpose
지정 축의 범용 입력값을 Hex값으로 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadInput(long lAxisNo, DWORD *upValue);
C#
uint AxmSignalReadInput(int lAxisNo, ref uint upValue);
Visual Basic
Function AxmSignalReadInput(ByVal lAxisNo As Long, ByRef upValue As Long) As Long
Delphi
function AxmSignalReadInput(lAxisNo: Long, upValue: PLong) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upValue | 범용 입력값 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
지정 축의 범용 입력 0,1,2,3을 Hex 값으로 반환한다.
제품명 | 범용 입력 | 범용 출력 |
---|---|---|
SMC-2V04 | UIN(0) : 원점 신호 UIN(1) : Encoder Z상 신호 UIN(2~4) : 범용 입력 신호 UIN(5) : 범용 입력(SMC-2V04) |
UOUT(0) : 서보 On/Off 신호 UOUT(1) : 알람 제거 신호 UOUT(2~4) : 범용 출력 UOUT(5) : 범용 출력(SMC-2V04) |
PCI-N404/804 | ||
RTEX-04 | ||
RTEX-A4N | UIN(0) : 원점 신호(HOME) UIN(1) : 사용하지 않음. UIN(2~5) : 범용 입력(EX-IN2~5) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 사용하지 않음 UOUT(2~3) : 범용 출력(EX-OUT1~2) |
JEPMC-PL2910 | UIN(0) : 원점 신호(ZRNn 신호) UIN(1) : 사용하지 않음. UIN(2) : 범용 입력 신호(INn) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 UOUT(2) : 범용 출력(OUTn) |
SMC-2V04 | UIN(0) : 원점 신호(EXT1 신호) UIN(1) : Encoder Z상(PC 신호) UIN(2) : +End limit(EXT2 신호) UIN(3) : -End limit(EXT3 신호) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 |
예제 코드
// 0축의 범용 입력 신호 확인.
DWORD uValue;
AxmSignalReadInput (0, &uValue);
AxmSignalReadInputBit
Purpose
지정 축의 범용 입력 중 지정한 비트의 On/Off 상태를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
O | O | O | O | O | O | O | O | O | O | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | O | O | O | O | O | O | O | O | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
O | O | O | O |
Format
C++
DWORD AxmSignalReadInputBit(long lAxisNo, long lBitNo, DWORD *upOn);
C#
uint AxmSignalReadInputBit(int lAxisNo, int lBitNo, ref uint upOn);
Visual Basic
Function AxmSignalReadInputBit(ByVal lAxisNo As Long, ByVal lBitNo As Long ,ByRef upOn As Long) As Long
Delphi
function AxmSignalReadInputBit(lAxisNo : LongInt; lBitNo : LongInt; upOn : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]lBitNo | 범용 출력 비트 번호 - [00h]원점 센서 입력 - [01h]Z상 입력 - [02h]범용 입력 2 - [03h]범용 입력 3 - [04h]범용 입력 4 |
[out]upOn | 입력 비트의 On/Off 상태 - [00h]출력 Off (0) - [01h]출력 On (1) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
지정 축의 범용 입력 중 지정한 비트의 On/Off 상태를 반환한다.
제품명 | 범용 입력 | 범용 출력 |
---|---|---|
SMC-2V04 | UIN(0) : 원점 신호 UIN(1) : Encoder Z상 신호 UIN(2~4) : 범용 입력 신호 UIN(5) : 범용 입력(SMC-2V04) |
UOUT(0) : 서보 On/Off 신호 UOUT(1) : 알람 제거 신호 UOUT(2~4) : 범용 출력 UOUT(5) : 범용 출력(SMC-2V04) |
PCI-N404/804 | ||
RTEX-04 | ||
RTEX-A4N | UIN(0) : 원점 신호(HOME) UIN(1) : 사용하지 않음. UIN(2~5) : 범용 입력(EX-IN2~5) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 사용하지 않음 UOUT(2~3) : 범용 출력(EX-OUT1~2) |
JEPMC-PL2910 | UIN(0) : 원점 신호(ZRNn 신호) UIN(1) : 사용하지 않음. UIN(2) : 범용 입력 신호(INn) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 UOUT(2) : 범용 출력(OUTn) |
SMC-2V04 | UIN(0) : 원점 신호(EXT1 신호) UIN(1) : Encoder Z상(PC 신호) UIN(2) : +End limit(EXT2 신호) UIN(3) : -End limit(EXT3 신호) |
UOUT(0) : 서보 On/Off 기능 UOUT(1) : 알람 제거 기능 |
예제 코드
// 0축의 범용 입력 4의 값을 확인.
DWORD upOn;
AxmSignalReadInputBit(0, 4, &upOn);
AxmSignalSetFilterBandwidth
Purpose
지정 축에 대한 입력 신호들의 디지털 필터 계수를 설정한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
O | O | O | O | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | X | X | X | X | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
X | X | X | X | X | X | X | X | X | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | X | X | X |
Format
C++
DWORD AxmSignalSetFilterBandwidth(long lAxisNo, DWORD uSignal, double dBanuidthUsec);
C#
uint AxmSignalSetFilterBandwidth(int lAxisNo, uint uSignal, double dBanuidthUsec);
Visual Basic
Function AxmSignalSetFilterBandwidth(ByVal lAxisNo As Long, ByVal uSignal As Long , ByVal dBandwidthUsec As Double) As Long
Delphi
function AxmSignalSetFilterBandwidth(lAxisNo : LongInt; uSignal : DWord; dBanuidthUsec : Double) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]uSignal | 입력 신호 설정 - [00h]END_LIMIT - [01h]INP_ALARM - [02h]UIN_00_01 - [03h]UIN_02_04 |
[in]dBandwidthUsec | 디지털 필터 계수 값 입력 (0.2 ~ 26666 usec) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO: 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO: 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 지정 축에 대한 입력 신호들의 디지털 필터 계수를 설정한다.
- 입력값은 0.2~26666usec 까지 설정이 가능하며 LIMIT, INPOSITION, ALARM, UIN0~4 를 설정할 수 있다.
- 모든 필터의 기본 값은 52usec 이며, PCI-N804과 N404, SMC-2V04만 필터 계수 설정이 가능하다.
예제 코드
// 0축의 END_LIMIT 신호에 2.12usec의 디지털 필터 계수 값을 설정.
AxmSignalSetFilterBandwidth(0, 0, 2.12);
AxmSignalSetWriteOutputBitAtPos
Purpose
지정 축의 특정한 위치에서 지정 모듈의 디지털 출력값을 제어한다.
주의) 세번째 인자값(lOffset)인 출력 접점의 개수는 모듈마다 다를 수 있으므로 확인이 필요합니다.(ex. SIIIH-DB32 : 32, SIIIH-DB16 : 16)
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
X | X | X | X | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | X | X | X | X | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | X | X | X | X | X | X | X | X | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | X | X | X |
Format
C++
DWORD AxmSignalSetWriteOutputBitAtPos(long lAxisNo, long lModuleNo, long lOffset, DWORD uValue, double dPosition, long lTarget);
C#
uint AxmSignalSetWriteOutputBitAtPos(int lAxisNo, int lModuleNo, int lOffset, uint uValue, double dPosition, int lTarget);
Visual Basic
Function AxmSignalSetWriteOutputBitAtPos(ByVal lAxisNo As Long, ByVal lModuleNo As Long, ByVal lOffset As Long, ByVal uValue As Long, ByVal dPosition As Double, ByVal lTarget As Long) As Long
Delphi
function AxmSignalSetWriteOutputBitAtPos(lAxisNo: LongInt; lModuleNo: LongInt; lOffSet: LongInt; uValue: DWord; dPosition: Double; lTarget: LongInt): DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[in]lModuleNo | Module(모듈) 번호(0 ~ (최대 모듈 수 – 1)) |
[in]lOffset | 제어할 출력 접점에 대한 Offset 위치 |
[in]uValue | 출력값 -[00h] OFF -[01h] ON -[FFh] Function Clear |
[in]dPosition | 출력값이 변경될 설정 위치 |
[in]lTarget | 대상 위치 입력 소스 선택 -[0] 목표 위치(Cmd Pos)를 대상 위치값으로 사용 -[1] 실제 위치(Act Pos)를 대상 위치값으로 사용 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1105] AXT_RT_INVALID_MODULE_NO : 유효하지 않은 모듈
[1053] AXT_RT_NOT_OPEN : AXL 라이브러리 초기화 실패
[1054] AXT_RT_NOT_SUPPORT_VERSION : 지원하지 않는 하드웨어
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음
[4261] AXT_RT_HW_ACCESS_ERROR: 메모리 Read / Write 실패
* See error code Table for more information on status error codes
Description
- 지정 축의 구동 중 설정 위치와 대상 위치가 같은 이벤트 발생 시, 지정 모듈의 디지털 출력값을 제어하는 함수이다.
- 이벤트 발생 시 설정 위치와 비교할 대상 위치는 목표 위치(Cmd Pos) 혹은 실제 위치(Act Pos)로 설정 할 수 있다.
예제 코드
long lAxisNo = 0;
DWORD uUse = ENABLE;
DWORD uStatus;
long lModuleNo = 0;
long lOffset = 0;
DWORD uValue = 1;
double dPosition = 1000;
long lTarget = 0;
DWORD upValue;
//Step1. DIO 모듈이 있는지 확인한다.
AxdInfoIsDIOModule(&uStatus);
//Step2. 0 축의 서보 드라이브를 On 시킨다.
AxmSignalServonOn(lAxisNo, uUse);
//Step3. 0 축의 설정 위치 1000에서 0번 모듈의 0번 접점 출력이 1(ON)으로 변경되도록 설정하고, 대상 위치 정보를 목표 위치(Cmd Pos)로 설정한다.
AxmSignalSetWriteOutputBitAtPos (lAxisNo, lModuleNo, lOffset, uValue, dPosition, lTarget);
//Step4. 0축을 1000의 위치로 이동시킨다.
AxmMoveStartPos(lAxisNo, dPosition, 500, 1000, 1000);
//Step5. 0번 모듈의 0번 접점 출력이 1(ON)으로 변경되었는지 확인한다.
AxdoReadOutportBit(lModuleNo, lOffset, &upValue);
AxmSignalGetWriteOutputBitAtPos
Purpose
지정 축의 특정한 위치에서 제어될 디지털 출력값 및 설정 값을 확인한다.
주의) 세번째 인자값(lOffset)인 출력 접점의 개수는 모듈마다 다를 수 있으므로 확인이 필요합니다.(ex. SIIIH-DB32 : 32, SIIIH-DB16 : 16)
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
X | X | X | X | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | X | X | X | X | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | X | X | X | X | X | X | X | X | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | X | X | X |
Format
C++
DWORD AxmSignalGetWriteOutputBitAtPos(long lAxisNo, long* lpModuleNo, long* lOffset, DWORD* uValue, double* dPosition, long* lTarget);
C#
uint AxmSignalGetWriteOutputBitAtPos(int lAxisNo, ref int lModuleNo, ref int lOffset, ref uint uValue, ref double dPosition, ref int lTarget);
Visual Basic
Function AxmSignalGetWriteOutputBitAtPos(ByVal lAxisNo As Long, ByRef lModuleNo As Long, ByRef lOffset As Long, ByRef uValue As Long, ByRef dPosition As Double, ByRef lTarget As Long) As Long
Delphi
function AxmSignalGetWriteOutputBitAtPos(lAxisNo: LongInt; lModuleNo: PLongInt; lOffSet: PLongInt; uValue: PDWord; dPosition: PDouble; lTarget: PLongInt): DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]lpModuleNo | Module(모듈) 번호(0 ~ (최대모듈수 – 1)) |
[out]lOffset | 제어할 출력 접점에 대한 Offset 위치 |
[out]upValue | 출력값 -[00h] OFF -[01h] ON -[FFh] Function Clear |
[out]dpPosition | 출력값이 변경될 설정 위치 |
[out]lpTarget | 대상 위치 입력 소스 선택 -[0] 목표 위치(Cmd Pos)를 대상 위치값으로 사용 -[1] 실제 위치(Act Pos)를 대상 위치값으로 사용 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1053] AXT_RT_NOT_OPEN : AXL 라이브러리 초기화 실패
[1054] AXT_RT_NOT_SUPPORT_VERSION : 지원하지 않는 하드웨어
* See error code Table for more information on status error codes
Description
AxmSignalSetWriteOutputBitAtPos 함수로 지정축의 특정한 위치에서 디지털 출력값이 제어되도록 설정한 값을 확인한다.
예제 코드
long lAxisNo = 0;
DWORD uUse = ENABLE;
DWORD uStatus;
long lModuleNo = 0;
long lOffset = 0;
DWORD uValue = 1;
double dPosition = 1000;
long lTarget = 0;
//Step1. DIO 모듈이 있는지 확인한다.
AxdInfoIsDIOModule(&uStatus);
//Step2. 0 축의 설정 위치 1000에서 0번 모듈의 0번 접점 출력이 1(ON)으로 변경되도록 설정하고, 대상 위치 정보를 목표 위치(Cmd Pos)로 설정한다.
AxmSignalSetWriteOutputBitAtPos(lAxisNo, lModuleNo, lOffset, uValue, dPosition, lTarget);
//Step3. 0 축의 설정 위치(1000)에서 디지털 출력값이 제어되도록 설정한 값을 확인한다.
AxmSignalGetWriteOutputBitAtPos(0, &lpModuleNo, &lOffset, &upValue, &dpPosition, &lpTarget);
AxmSignalGetInputBitCount
Purpose
지정 축의 범용 입력 접점 수를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
X | X | X | X | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | X | X | X | X | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | X | X | X | X | X | X | X | X | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | X | X | X |
Format
C++
DWORD AxmSignalGetInputBitCount(long lAxisNo, DWORD* upInputCount);
C#
uint AxmSignalGetInputBitCount(int lAxisNo, ref uint upInputCount);
Visual Basic
Function AxmSignalGetInputBitCount(ByVal lAxisNo As Long, ByRef upInputCount As Long) As Long
Delphi
function AxmSignalGetInputBitCount(lAxisNo : LongInt; upInputCount : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upInputCount | 범용 입력 접점 수 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1170] AXT_RT_2ND_BELOW_MIN_VALUE : 두 번째 인자 값이 최소값보다 더 작음
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 사용자가 지정한 축의 범용 입력 접점 수를 반환한다.
- AxmSignalReadInput, AxmSignalReadInputBit 함수들을 이용할 때 제어 가능한 범용 입력 접점의 수를 미리 확인하여 해당 정보를 이용할 수 있다.
예제 코드
// 0축의 범용 입력 접점 수를 확인.
DWORD uInputCount;
AxmSignalGetInputBitCount(0, &uInputCount);
AxmSignalGetOutputBitCount
Purpose
지정 축의 범용 출력 접점 수를 반환한다.
A Serviceable Product
BPHR / BPFR | BEHR / BEFR | PCI-Nx04 | PCIe-Nx04 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
X | X | X | X | ||||||||
PCI-Rxx04 | PCIe-Rxx04-RTEX | PCI-Rxx04-MLII | PCI-Rxx00-MLIII | ||||||||
A4N | A5N/A6N | PM | A4N | A5N/A6N | PM | SGDV | SGDV | SGD7 | PM | ||
X | X | X | X | X | X | X | X | X | X | ||
PCI-Rxx04-SIIIH | PCIe-Rxx04-SIIIH | PCIe-Rxx05-MLIII | PCIe-RxxIF-ECAT | ||||||||
MR-J4-B | PM | MR-J4-B | PM | SGDV | SGD7 | PM | Servo | PM | |||
O | X | X | X | X | X | X | X | X | |||
PCIe-Rxx05-ECAT | PCIe-Rxx05-ECAT-E | ||||||||||
Servo | PM | Servo | PM | ||||||||
X | X | X | X |
Format
C++
DWORD AxmSignalGetOutputBitCount(long lAxisNo, DWORD *upOutputCount);
C#
DWORD AxmSignalGetOutputBitCount(long lAxisNo, DWORD *upOutputCount);
Visual Basic
Function AxmSignalGetOutputBitCount(ByVal lAxisNo As Long, ByRef upOutputCount As Long) As Long
Delphi
function AxmSignalGetOutputBitCount(lAxisNo : LongInt; upOutputCount : PDWord) : DWord; stdcall;
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lAxisNo | 채널(축) 번호(0 ~ (최대 축 수 - 1)) |
[out]upOutputCount | 범용 출력 접점 수 |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[1170] AXT_RT_2ND_BELOW_MIN_VALUE : 두 번째 인자 값이 최소값보다 더 작음
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음
* See error code Table for more information on status error codes
Description
- 사용자가 지정한 축의 범용 출력 접점 수를 반환한다.
- AxmSignalWriteOutput, AxmSignalReadOutput, AxmSignalWriteOutputBit, AxmSignalReadOutputBit 함수들을 이용할 때 제어 가능한 범용 입력 접점의 수를 미리 확인하여 해당 정보를 이용할 수 있다.
예제 코드
// 0축의 범용 입력 접점 수를 확인.
DWORD uOutputCount;
AxmSignalGetOutputBitCount(0, &uOutputCount);