Breadcrumbs

wait_input()

정의

wait_input(port_type, index, val, timeout=None, condition=None)

기능

컨트롤러/플랜지의 디지털/아날로그 접점에서 수신 된 신호값이 val이 될 때까지 대기합니다. 대기 시간은 timeout 설정으로 변경할 수 있으며, 지정된 시간이 지나면 대기 상태가 종료됨과 동시에 결과를 리턴합니다. 단, timeout을 설정하지 않으면 무한 대기합니다.

주의

플랜지 보드 버전 및 로봇 모델에 따라 파라미터가 다르니, 매뉴얼을 확인해주시기 바랍니다.

인수

인수명

자료형

기본값

설명

port_type

int

-

명령어를 적용할 포트 타입

  • DR_CONTROLLER_DIGITAL : 0

  • DR_FLANGE_DIGITAL : 1

  • DR_CONTROLLER_ANALOG : 2

  • DR_FLANGE_ANALOG : 3

index

int

-

출력할 I/O의 번호(Analog 출력을 위한 channel 역할도 수행)

  • port_type이 DR_CONTROLLER_DIGITAL일 경우

    • 1 ~ 20

    • -20 ~ -1 (val이 None일 경우) : 양수는 ON / 음수는 OFF

    • 17 ~ 20 (-20 ~ -17)은 SI1 - SI4 단자의 입력입니다.

  • port_type이 DR_FLANGE_DIGITAL일 경우

    • 구 플랜지 M/H 모델의 경우

      • 1 ~ 6

      • -6 ~ -1(val이 None일 경우) : 양수는 ON / 음수는 OFF

    • 구 플랜지 / 신규 플랜지 A 모델일 경우

      • 1 ~ 2

      • -2 ~ -1(val이 None일 경우) : 양수는 ON / 음수는 OFF

    • 신규 플랜지 M/H 모델의 경우

      • 1 ~ 4

      • -4 ~ -1(val이 None일 경우) : 양수는 ON / 음수는 OFF

  • port_type이 DR_CONTROLLER_ANALOG 일 경우

    • 1 ~ 2(channel)

  • port_type이 DR_FLANGE_ANALOG일 경우(신규 플랜지에서만 사용 가능)

    • 1 ~ 2(A 모델일 경우)

    • 1 ~ 4(M/H 모델일 경우)

val

float

-

I/O value

timeout

float

None

대기 시간 [sec]

설정하지 않으면 무한 대기

condition

int

None

Analog 값 비교 조건

  • DR_ANALOG_CONDITION_UPPER : 0

    • 수신된 analog input이 val 파라미터보다 크거나 같아질 때 까지 대기

  • DR_ANALOG_CONDITION_LOWER : 1

    • 수신된 analog input이 val 파라미터보다 작거나 같아질 때 까지 대기

리턴

설명

0

성공

-1

실패 (time-out)

예외

예외

설명

DR_Error (DR_ERROR_TYPE)

인수들의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

DR_Error (DR_ERROR_RUNTIME)

C Extension 모듈 에러 발생 시

DR_Error (DR_ERROR_STOP)

프로그램 강제 종료 시

예제

Python
wait_input(0, 1, ON) # wait_digital_input(1, ON)과 동일
wait_input(1, 2, ON) # wait_tool_digital_input(2, ON)과 동일
wait_input(2, 1, 4.0, DR_ANALOG_CONDITION_LOWER) # wait_analog_input(1, DR_ANALOG_CONDITION_LOWER, 4.0)과 동일