Skip to content

출력 포트 쓰기 / 읽기

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);