출력 포트 쓰기 / 읽기
Function | Description |
---|---|
AxdoWriteOutport | 전체 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 출력한다. |
AxdoReadOutport | 전체 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다. |
AxdoWriteOutportBit | 지정한 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 출력한다. |
AxdoReadOutportBit | 지정한 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다. |
AxdoWriteOutportByte | 지정한 출력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 출력한다. |
AxdoReadOutportByte | 지정한 출력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 읽는다. |
AxdoWriteOutportWord | 지정한 출력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 출력한다. |
AxdoReadOutportWord | 지정한 출력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 읽는다. |
AxdoWriteOutportDword | 지정한 출력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 출력한다. |
AxdoReadOutportDword | 지정한 출력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 읽는다. |
AxdoWriteOutportByBitOffset | 지정한 출력 모듈의 Bit Offset 위치에서 Bit Length 단위로 데이터를 출력한다. |
AxdoReadOutportByBitOffset | 지정한 출력 접점 모듈의 bit Offset 위치에서 bit Length 단위로 데이터를 읽는다. |
AxdoWriteOutport
Purpose
전체 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 출력한다.
Format
C++
DWORD AxdoWriteOutport(long lOffset, DWORD uValue);
C#
uint AxdoWriteOutport(int lOffset, uint uValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lOffset | 전체 출력 접점에 대한 Offset 위치 |
[in]uValue | 출력 접점 값 (Boolean) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
전체 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 출력한다.
Offset 은 ‘0’부터 ‘총 출력 접점 수 – 1’까지 사용할 수 있다.
예제 코드
// 전체 출력 접점 모듈의 Offset 0번지에서 bit 단위로 데이터를 출력한다.
AxdoWriteOutport(0, 1);
AxdoReadOutport
Purpose
전체 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.
Format
C++
DWORD AxdoReadOutport(long lOffset, DWORD *upValue);
C#
uint AxdoReadOutport(int lOffset, ref uint upValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lOffset | 전체 출력 접점에 대한 Offset 위치 |
[out]upValue | 출력 접점 값 (Boolean) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
전체 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.
Offset 은 ‘0’부터 ‘총 출력 접점 수 – 1’까지 사용할 수 있다.
예제 코드
// 전체 출력 모듈의 Offset 0번지에서 bit 단위로 데이터를 읽는다.
DWORD uValue;
AxdoReadOutport(0, &uValue);
AxdoWriteOutportBit
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 출력한다.
Format
C++
DWORD AxdoWriteOutportBit(long lModuleNo, long lOffset, DWORD uValue);
C#
uint AxdoWriteOutportBit(int lModuleNo, int lOffset, uint uValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[in]uValue | 출력 접점 값 (Boolean) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 출력한다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 설정한다.
Offset 범위와 Value 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0~31 | 0(Off), 1(On) |
SIO-DB32x | 0~15 | 0(Off), 1(On) |
예제 코드
// 0번째 출력 접점 모듈의 Offset 0번지에서 bit 단위로 데이터를 출력한다.
AxdoWriteOutportBit(0, 0, 1);
AxdoReadOutportBit
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다
Format
C++
DWORD AxdoReadOutportBit(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdoReadOutportBit(int lModuleNo, int lOffset, ref uint upValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[out]uValue | 출력 접점 값 (Boolean) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 읽는다.
Offset 범위와 Return 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0~31 | 0(Off), 1(On) |
SIO-DB32x | 0~15 | 0(Off), 1(On) |
예제 코드
// 0번째 모듈에서 Offset 0번지에 데이터를 bit 단위로 읽는다.
DWORD uValue;
AxdoReadOutportBit(0, 0, &uValue);
AxdoWriteOutportByte
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 출력한다.
Format
C++
DWORD AxdoWriteOutportByte(long lModuleNo, long lOffset, DWORD uValue);
C#
uint AxdoWriteOutportByte(int lModuleNo, int lOffset, uint uValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[in]uValue | 출력 접점 값 (Byte) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 출력한다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 설정한다.
Offset 범위와 Value 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0,1,2,3 | 00h~FFh |
SIO-DB32x | 0,1 | 00h~FFh |
예제 코드
// 0번째 출력 접점 모듈의 Offset 0번지에서 byte 단위로 데이터를 출력한다.
AxdoWriteOutportByte(0, 0, 0xFF);
AxdoReadOutportByte
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 읽는다.
Format
C++
DWORD AxdoReadOutportByte(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdoReadOutportByte(int lModuleNo, int lOffset, ref uint upValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[out]uValue | 출력 접점 값 (Byte) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 읽는다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 읽는다.
Offset 범위와 Return 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0,1,2,3 | 00h~FFh |
SIO-DB32x | 0,1 | 00h~FFh |
예제 코드
// 0번째 모듈에서 Offset 0번지에 데이터를 byte 단위로 읽는다.
DWORD uValue;
AxdoReadOutportByte(0, 0, &uValue);
AxdoWriteOutportWord
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 출력한다.
Format
C++
DWORD AxdoWriteOutportWord(long lModuleNo, long lOffset, DWORD uValue);
C#
uint AxdoWriteOutportWord(int lModuleNo, int lOffset, uint uValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[in]uValue | 출력 접점 값 (Word) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 출력한다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 설정한다.
Offset 범위와 Value 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0,1 | 0000h~FFFFh |
SIO-DB32x | 0 | 0000h~FFFFh |
예제 코드
// 0번째 출력 접점 모듈의 Offset 0번지에서 word 단위로 데이터를 출력한다.
AxdoWriteOutportWord(0, 0, 0xFFFF);
AxdoReadOutportWord
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 읽는다.
Format
C++
DWORD AxdoReadOutportWord(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdoReadOutportWord(int lModuleNo, int lOffset, ref uint upValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[out]uValue | 출력 접점 값 (Word) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 읽는다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 읽는다.
Offset 범위와 Return 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0,1 | 0000h~FFFFh |
SIO-DB32x | 0 | 0000h~FFFFh |
예제 코드
// 0번째 모듈에서 Offset 0번지에 데이터를 word 단위로 읽는다.
DWORD uValue;
AxdoReadOutportWord(0, 0, &uValue);
AxdoWriteOutportDword
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 출력한다.
Format
C++
DWORD AxdoWriteOutportDword(long lModuleNo, long lOffset, DWORD uValue);
C#
uint AxdoWriteOutportDWord(int lModuleNo, int lOffset, uint uValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[in]uValue | 출력 접점 값 (Double Word) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 출력한다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 설정한다.
Offset 범위와 Value 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0 | 00000000h~FFFFFFFFh |
SIO-DB32x | 0 | 00000000h~FFFFFFFFh |
예제 코드
// 0번째 출력 접점 모듈의 Offset 0번지에서 double word 단위로 데이터를 출력한다.
AxdoWriteOutportDword(0, 0, 0xFFFFFFFF);
AxdoReadOutportDword
Purpose
지정한 출력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 읽는다.
Format
C++
DWORD AxdoReadOutportDword(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdoReadOutportDword(int lModuleNo, int lOffset, ref uint upValue);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]lOffset | 출력 접점에 대한 Offset 위치 |
[out]uValue | 출력 접점 값 (Double Word) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 읽는다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 읽는다.
Offset 범위와 Return 값
Module | Offset | Level |
---|---|---|
SIO-DO32x | 0 | 00000000h~FFFFFFFFh |
SIO-DB32x | 0 | 00000000h~FFFFFFFFh |
예제 코드
// 0번째 모듈에서 Offset 0번지에 데이터를 double word 단위로 읽는다.
DWORD uValue;
AxdoReadOutportDword(0, 0, &uValue);
AxdoWriteOutportbyBitOffset
Purpose
지정한 출력 모듈의 Bit Offset 위치에서 Bit Length 단위로 데이터를 출력
EtherCAT 전용 함수
Format
C++
DWORD AxdoWriteOutportByBitOffset(long lModuleNo, DWORD uBitOffset, DWORD uDataBitLength, BYTE *pbyData);
C#
uint AxdoWriteOutportByBitOffset(int lModuleNo, uint uBitOffset, uint uDataBitLength, ref uint pbyData);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]uBitOffset | 출력 접점에 대한 bit Offset 위치 |
[in]uBitLength | 출력할 접점들의 총 bit 길이 |
[in]pbyData | 출력 접점 값 (uBitLength 값 만큼 출력) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 bit Offset 위치에서 bit Length 단위로 데이터를 출력한다. 출력 접점 값의 데이터 배열의 bit size 는 uBitLength 보다 커야한다.
예제 코드
// 지정한 출력 모듈의 Bit Offset 위치에서 Bit Length 단위로 데이터를 출력.
BYTE byData[4] = {0, 1, 2, 3};
AxdoWriteOutportByBitOffset(0, 0, 32, byData);
AxdoReadOutportByBitOffset
Purpose
지정한 출력 접점 모듈의 bit Offset 위치에서 bit Length 단위로 데이터를 읽는다.
EtherCAT 전용 함수
Format
C++
DWORD AxdoReadOutportByBitOffset(long lModuleNo, DWORD uBitOffset, DWORD uDataBitLength, BYTE *pbyData);
C#
uint AxdoReadOutportByBitOffset(int lModuleNo, uint uBitOffset, uint uDataBitLength, ref uint pbyData);
Parameters
[in/out] Name | [Init Value] Explanation |
---|---|
[in]lModuleNo | 모듈 번호 |
[in]uBitOffset | 출력 접점에 대한 bit Offset 위치 |
[in]uBitLength | 입력 받을 출력 접점들의 총 bit 길이 |
[out]pbyData | 출력 접점 값 (uBitLength 값 만큼 읽음) |
Return Values
[0000] AXT_RT_SUCCESS : 함수 실행 성공
[3051] AXT_RT_DIO_NOT_MODULE : DIO 모듈 없음
[3101] AXT_RT_DIO_INVALID_MODULE_NO : 유효하지 않은 DIO 모듈 번호
[3102] AXT_RT_DIO_INVALID_OFFSET_NO : 유효하지 않은 DIO OFFSET 번호
Description
사용자가 지정한 출력 접점 모듈의 bit Offset 위치에서 bit Length 단위로 데이터를 읽는다.
출력 접점 값을 읽어올 배열의 bit size 는 uBitLength 보다 커야한다.
예제 코드
// 지정한 입력 출력 모듈의 bit Offset 위치에서 bit Length 단위로 데이터를 읽는다.
BYTE byData[4] = {0};
AxdoReadOutportByBitOffset(0, 0, 32, byData);