Skip to content

입력 포트 읽기

Function Description
AxdiReadInport 전체 입력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.
AxdiReadInportBit 지정한 입력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.
AxdiReadInportByte 지정한 입력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를읽는다.
AxdiReadInportWord 지정한 입력 접점 모듈의 Offset 위치에서 word 단위로 데이터를읽는다.
AxdiReadInportDword 지정한 입력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 읽는다.
AxdiReadInportByBitOffset 지정한 입력 접점 모듈의 bit Offset 위치에서 bit Length 단위로데이터를 읽는다.

AxdiReadInport

Purpose

지정한 입력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.

Format

C++
DWORD AxdiReadInport(long lOffset, DWORD *upValue);
C#
uint AxdiReadInport(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;
AxdiReadInport(0, &uValue);

AxdiReadInportBit

Purpose

지정한 입력 접점 모듈의 Offset 위치에서 bit 단위로 데이터를 읽는다.

Format

C++
DWORD AxdiReadInportBit(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdiReadInportBit(int lModuleNo, int lOffset, ref uint upValue);

Parameters

[in/out] Name [Init Value] Explanation
[in]lModuleNo 모듈 번호
[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 단위로 데이터를 읽는다.
지정한 모듈이 어떤 모듈인지 확인하여 아래의 Table 에서 Offset 사용 범위를 참조하여 읽는다.

Offset 범위와 Return 값

Module Offset Level
SIO-DI32 0~31 0(Off), 1(On)
SIO-DO32x - -
SIO-DB32x 0~15 0(Off), 1(On)

예제 코드

// 0번째 모듈에서 Offset 0번지에 데이터를 bit 단위로 읽는다.
DWORD uValue;
AxdiReadInportBit(0, 0, &uValue);

AxdiReadInportByte

Purpose

지정한 입력 접점 모듈의 Offset 위치에서 byte 단위로 데이터를 읽는다.

Format

C++
DWORD AxdiReadInportByte(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdiReadInportByte(int lModuleNo, int lOffset, ref uint upValue);

Parameters

[in/out] Name [Init Value] Explanation
[in]lModuleNo 모듈 번호
[in]lOffset 입력 접점에 대한 Offset 위치
[out]upValue 입력 접점 값 (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-DI32 0,1,2,3 00h~FFh
SIO-DO32x - -
SIO-DB32x 0,1 00h~FFh

예제 코드

// 0번째 모듈에서 Offset 0번지에 데이터를 byte 단위로 읽는다.
DWORD uValue;
AxdiReadInportByte(0, 0, &uValue);

AxdiReadInportWord

Purpose

지정한 입력 접점 모듈의 Offset 위치에서 word 단위로 데이터를 읽는다.

Format

C++
DWORD AxdiReadInportWord(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdiReadInportWord(int lModuleNo, int lOffset, ref uint upValue);

Parameters

[in/out] Name [Init Value] Explanation
[in]lModuleNo 모듈 번호
[in]lOffset 입력 접점에 대한 Offset 위치
[out]upValue 입력 접점 값 (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-DI32 0,1 0000h~FFFFh
SIO-DO32x - -
SIO-DB32x 0 0000h~FFFFh

예제 코드

// 0번째 모듈에서 Offset 0번지에 데이터를 word 단위로 읽는다.
DWORD uValue;
AxdiReadInportWord (0, 0, &uValue);

AxdiReadInportDword

Purpose

지정한 입력 접점 모듈의 Offset 위치에서 double word 단위로 데이터를 읽는다.

Format

C++
DWORD AxdiReadInportDword(long lModuleNo, long lOffset, DWORD *upValue);
C#
uint AxdiReadInportDWord(int lModuleNo, int lOffset, ref uint upValue);

Parameters

[in/out] Name [Init Value] Explanation
[in]lModuleNo 모듈 번호
[in]lOffset 입력 접점에 대한 Offset 위치
[out]upValue 입력 접점 값 (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-DI32 0 00000000h~FFFFFFFFh
SIO-DO32x - -
SIO-DB32x 0 00000000h~FFFFFFFFh

예제 코드

// 0번째 모듈에서 Offset 0번지에 데이터를 double word 단위로 읽는다.
DWORD uValue;
AxdiReadInportDword (0, 0, &uValue);

AxdiReadInportByBitOffset

Purpose

지정한 입력 접점 모듈의 bit Offset 위치에서 bit Length 단위로 데이터를 읽는다. EhterCAT 전용 함수

Format

C++
DWORD AxdiReadInportByBitOffset(long lModuleNo, DWORD uBitOffset, DWORD uDataBitLength, BYTE *pbyData);
C#
uint AxdiReadInportByBitOffset(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};
AxdiReadInportByBitOffset(0, 0, 32, byData);