4.12 BasScript 프로그램 클래스
개요
BasScript를 사용하면 모션, 로직, 프로그램 호출, 통신, 비전 및 Modbus 명령을 포함하여 호스트 PC에서 구조화된 방식으로 로봇에 대한 BAS 명령 시퀀스를 구성할 수 있습니다.
핵심 기능
- 빌딩 모션 명령 지원(MoveJoint, MoveLine, MoveCircle 등)
- 로직 명령어 구축 지원(If, While, Switch, Goto 등)
- 건물 할당, 대기, 일시 중지 및 중단 지침 지원
- 프로그램 호출 및 관리지시 구축 지원
- 소켓 통신 명령어 구축 지원
- Modbus 레지스터 read/write 명령어 구축 지원
- 빌딩 비전 프로그램 지침 지원
- 추가 매개변수 설정 지원(가속, RTCP, 프레임 오프셋 등)
- 퀵모션 명령어 지원(JUMP 시리즈)
사용 사례
- 복잡한 로봇 프로그램을 자동으로 생성
- 로봇 프로그램 편집 및 수정
- 공통 프로그램 모듈 및 명령어 시퀀스 재사용
- 호스트 PC와 로봇 프로그램 간의 원활한 통합 달성
- 맞춤형 로봇 모션 궤적 구축
- 비전, 통신, Modbus 기능을 로봇 프로그램에 통합
생성자
| 메서드 이름 | BasScript( name : str) -> BasScript |
|---|---|
| 설명 | 로봇에 대한 BAS 명령 시퀀스 구성 |
| 요청 매개변수 | name : 스크립트 이름 |
| 호환되는 로봇 소프트웨어 버전 | 협업(Copper): v7.5.2.0+ 산업용(Bronze): v7.6.0.0+ |
| 메모 | 이 클래스의 모든 메서드에는 이 클래스와 동일한 호환성 요구 사항이 있습니다. |
서브클래스 구조
BasScript 클래스에는 다양한 유형의 명령을 구성하기 위한 다음 하위 클래스가 포함되어 있습니다.
- ExtraParam: 복잡한 로봇 제어 명령을 구축하기 위한 추가 매개변수 클래스
- BasMotion: 모든 로봇 동작 관련 메서드를 포함하는 동작 명령 하위 클래스
- BasLogical: 모든 논리 제어 관련 메서드를 포함하는 논리 명령어 하위 클래스
- BasStructure: 모든 구조 제어 관련 메서드를 포함하는 구조 명령 서브클래스
- BasSocket: 모든 소켓 통신 관련 메서드를 포함하는 소켓 통신 하위 클래스
- BasModbus: 모든 Modbus 통신 관련 방법을 포함하는 Modbus 통신 하위 클래스
- BasVision: 모든 비전 관련 메서드를 포함하는 비전 지침 하위 클래스
4.12.1 추가 매개변수
| 메서드 이름 | ExtraParam() -> ExtraParam |
|---|---|
| 설명 | 복잡한 로봇 제어 명령을 구축하기 위한 추가 매개변수 클래스 |
| 요청 매개변수 | 없음 |
| 반환 값 | ExtraParam 객체 |
4.12.1.1 가속도 설정
| 메서드 이름 | extra_param.acceleration( value : float) -> None |
|---|---|
| 설명 | 가속도 설정, 범위는 1~120% |
| 요청 매개변수 | value : float 가속도 값, 단위: %(float) |
| 반환 값 | 없음 |
4.12.1.2 RTCP 매개변수 설정
| 메서드 이름 | extra_param.rtcp() -> None |
|---|---|
| 설명 | RTCP 매개변수 설정, MoveL 및 MoveC 명령어만 지원 |
| 요청 매개변수 | 없음 |
| 반환 값 | 없음 |
4.12.1.3 프레임 오프셋 설정
| 메서드 이름 | extra_param.offset( index : int) -> None |
|---|---|
| 설명 | 프레임 오프셋 설정 |
| 요청 매개변수 | index : int 오프셋 인덱스(정수) |
| 반환 값 | 없음 |
4.12.1.4 시간 기반 작업 또는 할당 설정
| 메서드 이름 | extra_param.tb( second : int, type : str, name : str = None, index : int = None, status : str = None) -> None |
|---|---|
| 설명 | 시간 기반 작업 또는 할당을 설정합니다. 범위는 0.01-30초이며, 0.01보다 작은 값은 성공적으로 저장되지 않습니다. |
| 요청 매개변수 | second : int 초, 단위: sec(정수) type : str 실행 유형(문자열) name : str 이름(연산용, 문자열) index : int 인덱스(할당용, 정수) status : str 상태 (할당용, 문자열) |
| 반환 값 | 없음 |
4.12.1.5 세트 점프
| 메서드 이름 | extra_param.skip( index : int) -> None |
|---|---|
| 설명 | 점프 설정, SKIP CONDITION 명령에 의해 설정된 점프 조건이 충족되면 SKIP 명령이 포함된 현재 라인에서 대상 명령 라인 또는 대상 프로그램으로 직접 점프합니다. |
| 요청 매개변수 | index : int 대상 라벨의 인덱스(정수) |
| 반환 값 | 없음 |
4.12.1.6 출발 거리 및 접근 거리 설정
| 메서드 이름 | extra_param.approach( departure_dist : float, approaching_dist : float) -> None |
|---|---|
| 설명 | 문형 모션의 출발거리와 접근거리를 설정하며 JUMP 명령에만 사용됩니다. |
| 요청 매개변수 | departure_dist : float 출발 거리, 단위: mm(float) approaching_dist : float 접근 거리, 단위: mm(float) |
| 반환 값 | 없음 |
4.12.2 바스모션
4.12.2.1 MoveJoint 모션-포인트 명령
| 메서드 이름 | motion.move_joint( pose_type : MovePoseType, pose_index : int, speed_type : SpeedType, speed_value : float, smooth_type : SmoothType, smooth_distance : float = 0.0, extra_param : ExtraParam = None) -> StatusCodeEnum |
|---|---|
| 설명 | Joint 모션 명령은 지정된 이동 속도와 방법으로 로봇을 작업 공간의 지정된 위치로 이동합니다. |
| 요청 매개변수 | pose_type : MovePoseType 포즈 유형 pose_index : int 포즈 인덱스 speed_type : SpeedType 속도 유형 speed_value : float 속도 값, 단위: % smooth_type : SmoothType Smooth type smooth_distance : float Smooth 거리, 단위: mm, 범위: 0~1000 extra_param : ExtraParam 추가 매개변수 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.2.2 MoveLine 선형 모션-포인트 명령어
| 메서드 이름 | motion.move_line( pose_type : MovePoseType, pose_index : int, speed_type : SpeedType, speed_value : float, smooth_type : SmoothType, smooth_distance : float = 0.0, extra_param : ExtraParam = None) -> StatusCodeEnum |
|---|---|
| 설명 | 선형 동작 명령은 로봇을 지정된 이동 속도와 방법으로 작업 공간의 지정된 위치까지 직선으로 이동시킵니다. |
| 요청 매개변수 | pose_type : MovePoseType 포즈 유형 pose_index : int 포즈 인덱스 speed_type : SpeedType 속도 유형 speed_value : float 속도 값, 단위: mm/s smooth_type : SmoothType Smooth 유형 smooth_distance : float Smooth 거리, 단위: mm, 범위: 0~1000 extra_param : ExtraParam 추가 매개변수 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.2.3 MoveCircle 호 모션 투 포인트 명령어
| 메서드 이름 | motion.move_circle( pose_type1 : MovePoseType, pose_index1 : int, pose_type2 : MovePoseType, pose_index2 : int, speed_type : SpeedType, speed_value : float, smooth_type : SmoothType, smooth_distance : float = 0.0, extra_param : ExtraParam = None) -> StatusCodeEnum |
|---|---|
| 설명 | 원호 모션 명령은 지정된 이동 속도와 방법으로 로봇을 작업 공간의 지정된 위치로 호 형태로 이동시킵니다. |
| 요청 매개변수 | pose_type1 : MovePoseType 첫 번째 포즈 유형 pose_index1 : int 첫 번째 포즈 인덱스 pose_type2 : MovePoseType 두 번째 포즈 유형 pose_index2 : int 두 번째 포즈 인덱스 speed_type : SpeedType 속도 유형 speed_value : 부동 속도 값, 단위: mm/s smooth_type : SmoothType 부드러운 유형 smooth_distance : float 부드러운 거리, 단위: mm, 범위: 0~1000 extra_param : ExtraParam 추가 매개변수 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.2.4 JUMP 퀵모션 명령어
| 메서드 이름 | motion.move_jump( pose_type : MovePoseType, pose_index : int, speed_value : float, speed_ratio : float, lim_Z_type : SpeedType, lim_Z_value : float, smooth_type : SmoothType, smooth_distance : float = 0.0, extra_param : ExtraParam = None) -> StatusCodeEnum |
|---|---|
| 설명 | 도어형 모션 명령은 로봇이 도어형 모션을 수행하도록 지정합니다(첫 번째 수직 상승, 다음 수평 이동, 마지막으로 수직 하강). |
| 요청 매개변수 | pose_type : MovePoseType 대상 포즈 저장 유형 pose_index : int 대상 위치 인덱스 speed_value : float 이동 속도 값, 단위: mm/s speed_ratio : float 이동 속도 비율, 단위: % lim_Z_type : SpeedType Z축 제한 유형 lim_Z_value : 부동 Z축 제한 값 smooth_type : SmoothType Smooth 유형 smooth_distance : 부동 Smooth 거리, 단위: mm, 범위: 0~1000 extra_param : ExtraParam 추가 매개변수 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.2.5 JUMP3 퀵모션 명령어
| 메서드 이름 | motion.move_jump3( pose_type : MovePoseType, pose_index : List[int], speed_value : float, speed_ratio : float, smooth_type : SmoothType, smooth_distance : float = 0.0, extra_param : ExtraParam = None) -> StatusCodeEnum |
|---|---|
| 설명 | 도어 유형 모션 명령은 출발, 접근 및 목표의 세 가지 위치로 도어 유형 모션을 수행하도록 로봇을 지정합니다. |
| 요청 매개변수 | pose_type : MovePoseType 타겟 포즈 저장 유형 pose_index : List[int] 3개의 타겟 위치 인덱스 목록(출발, 접근, 타겟) speed_value : float 이동 속도 값, 단위: mm/s speed_ratio : float 이동 속도 비율, 단위: % smooth_type : SmoothType Smooth 유형 smooth_distance : float 부드러운 거리, 단위: mm, 범위: 0~1000 extra_param : ExtraParam 추가 매개변수 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.2.6 JUMP3CP 퀵모션 명령어
| 메서드 이름 | motion.move_jump3cp( pose_type : MovePoseType, pose_index : List[int], speed_value : float, smooth_type : SmoothType, smooth_distance : float = 0.0, extra_param : ExtraParam = None) -> StatusCodeEnum |
|---|---|
| 설명 | 도어 유형 모션 명령은 출발, 접근 및 목표의 세 가지 위치로 도어 유형 모션을 수행하도록 로봇을 지정합니다. |
| 요청 매개변수 | pose_type : MovePoseType 타겟 포즈 저장 유형 pose_index : List[int] 3개의 타겟 위치 인덱스 목록(출발, 접근, 타겟) speed_value : float 이동 속도 값, 단위: mm/s smooth_type : SmoothType Smooth 유형 smooth_distance : float Smooth 거리, 단위: mm, 범위: 0~1000 extra_param : ExtraParam 추가 매개변수 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3 BasLogical
4.12.3.1 LogiIf 조건부 명령어
| 메서드 이름 | logical.logi_if( param1 : Union[RegisterType, IOType], index : int, param2 : Union[RegisterType, IOType, OtherType], value : Union[int, float, str, IOStatus], operator : BooleanOperator = BooleanOperator.EQ) -> StatusCodeEnum |
|---|---|
| 설명 | 조건부 판단 명령, 지정된 조건에 따라 다른 코드 블록을 실행합니다. |
| 요청 매개변수 | param1 : Union[RegisterType, IOType] 첫 번째 매개변수(레지스터 또는 IO 신호) index : int 매개변수 1의 인덱스 param2 : Union[RegisterType, IOType, OtherType] 두 번째 매개변수(레지스터, IO 신호 또는 기타 유형) value : Union[int, float, str, IOStatus] 매개변수 2의 인덱스 또는 값 operator : BooleanOperator 논리 연산자 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.2 LogiElseIf 조건부 분기 명령어
| 메서드 이름 | logical.logi_else_if( param1 : Union[RegisterType, IOType], index : int, param2 : Union[RegisterType, IOType, OtherType], value : Union[int, float, str, IOStatus], operator : BooleanOperator = BooleanOperator.EQ) -> StatusCodeEnum |
|---|---|
| 설명 | 조건 분기 명령, If 조건이 만족되지 않을 때 ElseIf 조건 충족 여부를 판단합니다. |
| 요청 매개변수 | param1 : Union[RegisterType, IOType] 첫 번째 매개변수(레지스터 또는 IO 신호) index : int 매개변수 1의 인덱스 param2 : Union[ValueType, IOType, OtherType] 두 번째 매개변수(레지스터, IO 신호 또는 기타 유형) value : Union[int, float, IOStatus] 매개변수 2의 인덱스 또는 값 operator : BooleanOperator 논리 연산자 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.3 LogiElse Else 명령어
| 메서드 이름 | logical.logi_else() -> StatusCodeEnum |
|---|---|
| 설명 | Else 명령은 모든 If 및 ElseIf 조건이 충족되지 않을 때 실행됩니다. |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.4 LogiEndIf 조건부 명령어 종료
| 메서드 이름 | logical.logi_end_if() -> StatusCodeEnum |
|---|---|
| 설명 | 조건문 종료 명령은 If 조건문 블록을 종료하는 데 사용됩니다. |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.5 LogiWhile 루프 명령어
| 메서드 이름 | logical.logi_while( param1 : Union[RegisterType, IOType], index : int, param2 : Union[RegisterType, IOType, OtherType], value : Union[int, float, str, IOStatus], operator : BooleanOperator = BooleanOperator.EQ) -> StatusCodeEnum |
|---|---|
| 설명 | 루프 명령, 조건이 충족되면 루프 본문의 코드를 반복적으로 실행합니다. |
| 요청 매개변수 | param1 : Union[RegisterType, IOType] 첫 번째 매개변수(레지스터 또는 IO 신호) index : int 매개변수 1의 인덱스 param2 : Union[RegisterType, IOType, OtherType] 두 번째 매개변수(레지스터, IO 신호 또는 기타 유형) value : Union[int, float, str, IOStatus] 매개변수 2의 인덱스 또는 값 operator : BooleanOperator 논리 연산자 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.6 LogiEndWhile 종료 루프 명령어
| 메서드 이름 | logical.logi_end_while() -> StatusCodeEnum |
|---|---|
| 설명 | 루프 종료 명령은 While 루프 문 블록을 종료하는 데 사용됩니다. |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.7 LogiSwitch 다중 브랜치 선택 지침
| 메서드 이름 | logical.logi_switch( param : Union[RegisterType, IOType], index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 다중 분기 선택 명령, 표현식의 값에 따라 실행할 다른 분기를 선택하고 분기를 종료하는 BREAK 문을 지원합니다. |
| 요청 매개변수 | param : Union[RegisterType, IOType] 레지스터 또는 IO 신호 index : int 인덱스 번호 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.8 LogiCase 분기 지침
| 메서드 이름 | logical.logi_case( param : Union[RegisterType, IOType, OtherType], value : Union[int, float, str]) -> StatusCodeEnum |
|---|---|
| 설명 | Switch 문에서 분기 조건을 정의하는 데 사용되는 분기 명령어 |
| 요청 매개변수 | param : Union[RegisterType, IOType, OtherType] 레지스터, IO 신호 또는 기타 유형 value : Union[int, float, str] 인덱스 번호 또는 값 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.9 LogiDefault 기본 분기 명령어
| 메서드 이름 | logical.logi_default() -> StatusCodeEnum |
|---|---|
| 설명 | 기본 분기 명령어는 모든 Case 조건이 충족되지 않을 때 실행됩니다. |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.10 LogiEndSwitch 종료 다중 브랜치 선택 명령어
| 메서드 이름 | logical.logi_end_switch() -> StatusCodeEnum |
|---|---|
| 설명 | Switch 문 블록을 종료하는 데 사용되는 다중 분기 선택 종료 명령 |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.11 LogiGoto 점프 지침
| 메서드 이름 | logical.logi_goto( index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 프로그램을 동일한 프로그램 내의 지정된 레이블 위치로 점프하고 해당 위치에서 계속 실행하는 데 사용되는 점프 명령어. LABEL 명령을 먼저 삽입한 다음 GOTO 명령을 사용해야 합니다. |
| 요청 매개변수 | index : int 대상 라벨의 인덱스 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.12 LogiLabel 라벨 지침
| 메서드 이름 | logical.logi_label( index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 프로그램에서 점프 대상 위치를 정의하는 데 사용되는 라벨 명령어, GOTO 명령어는 이 라벨 위치로 점프할 수 있습니다. |
| 요청 매개변수 | index : 정수 라벨 인덱스 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.13 LogiSkipCondition 조건 건너뛰기 명령어
| 메서드 이름 | logical.logi_skip_condition( param1 : Union[RegisterType, IOType], index : int, param2 : Union[RegisterType, IOType, OtherType], value : Union[int, float, str, IOStatus], operator : BooleanOperator = BooleanOperator.EQ) -> StatusCodeEnum |
|---|---|
| 설명 | 건너뛰기 조건 명령은 점프 조건을 설정하는 데 사용됩니다. 조건이 충족되면 SKIP 명령이 포함된 현재 라인에서 대상 명령 라인 또는 대상 프로그램으로 직접 점프합니다. |
| 요청 매개변수 | param1 : Union[RegisterType, IOType] 첫 번째 매개변수(레지스터 또는 IO 신호) index : int 매개변수 1의 인덱스 param2 : Union[RegisterType, IOType, OtherType] 두 번째 매개변수(레지스터, IO 신호 또는 기타 유형) value : Union[int, float, str, IOStatus] 매개변수 2의 인덱스 또는 값 operator : BooleanOperator 논리 연산자 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.14 LogiBreak 브레이크 루프 명령어
| 메서드 이름 | logical.logi_break() -> StatusCodeEnum |
|---|---|
| 설명 | 현재 루프 또는 Switch 문을 종료하는 데 사용되는 루프 중단 명령 |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.3.15 LogiContinue 루프 건너뛰기 명령어
| 메서드 이름 | logical.logi_continue() -> StatusCodeEnum |
|---|---|
| 설명 | 현재 루프의 나머지 부분을 건너뛰고 다음 루프로 들어가는 데 사용되는 루프 건너뛰기 명령 |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4 기본구조
4.12.4.1 대기 대기 조건 지시
| 메서드 이름 | structure.wait( param1 : Union[RegisterType, IOType], index : int, param2 : Union[ValueType, IOType, OtherType], value : Union[int, float, IOStatus], operator : BooleanOperator = BooleanOperator.EQ) -> StatusCodeEnum |
|---|---|
| 설명 | 대기 조건 명령, 조건이 충족될 때만 WAIT 명령을 실행하고, 그렇지 않으면 조건이 충족될 때까지 기다립니다. |
| 요청 매개변수 | param1 : Union[RegisterType, IOType] 첫 번째 매개변수(레지스터 또는 IO 신호) index : int 매개변수 1의 인덱스 param2 : Union[ValueType, IOType, OtherType] 두 번째 매개변수(레지스터, IO 신호 또는 기타 유형) value : Union[int, float, IOStatus] 매개변수 2의 인덱스 또는 값 operator : BooleanOperator 논리 연산자 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.2 WaitTime 대기 시간 지시사항
| 메서드 이름 | structure.wait_time( param : ValueType, value : Union[int, float]) -> StatusCodeEnum |
|---|---|
| 설명 | 대기 시간 명령, WAIT TIME 명령 실행, 로봇은 후속 명령 실행을 계속하기 전에 지정된 시간 동안 기다립니다. |
| 요청 매개변수 | param : ValueType 매개변수 유형(R 레지스터 또는 값) value : Union[int, float] 시간 값, 단위: 초 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.3 일시정지 일시정지 안내
| 메서드 이름 | structure.pause() -> StatusCodeEnum |
|---|---|
| 설명 | 일시 정지 명령은 일시 정지 명령을 실행할 때 프로그램 실행을 일시 정지하고 로봇은 즉시 감속 궤도를 계획하고 정지하며 프로그램은 일시 정지 상태로 들어갑니다. 계속 실행하려면 시작 버튼을 다시 눌러야 합니다. |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.4 중단 중단 명령
| 메서드 이름 | structure.abort() -> StatusCodeEnum |
|---|---|
| 설명 | 강제 종료 명령: 프로그램 실행을 종료하고, 로봇 서보가 즉시 제동하고, 브레이크가 적용되고, 서보 버스의 전원이 꺼집니다. 강제 종료 명령을 실행한 후 프로그램은 종료 상태로 들어가고 커서는 현재 행에서 멈춥니다. |
| 요청 매개변수 | 없음 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.5 호출 동기 프로그램 호출 명령
| 메서드 이름 | structure.call( name : str) -> StatusCodeEnum |
|---|---|
| 설명 | 동기 프로그램 호출 명령, 지정된 프로그램을 호출하고 현재 프로그램을 계속 실행하기 전에 실행이 완료될 때까지 기다림, 사전 설정된 BAS 프로그램 호출 지원 |
| 요청 매개변수 | name : str 프로그램 이름 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.6 비동기 프로그램 호출 명령 실행
| 메서드 이름 | structure.run( name : str) -> StatusCodeEnum |
|---|---|
| 설명 | 비동기 프로그램 호출 명령, 지정된 프로그램 호출 및 즉시 반환, 현재 프로그램 실행 계속, 사전 설정된 BAS 프로그램 호출 지원 |
| 요청 매개변수 | name : str 프로그램 이름 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.7 로드 로드 프로그램 지침
| 메서드 이름 | structure.load( name : str) -> StatusCodeEnum |
|---|---|
| 설명 | 프로그램 로드 명령, 지정된 프로그램을 메모리에 로드합니다. |
| 요청 매개변수 | name : str 프로그램 이름 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.8 언로드 언로드 프로그램 지침
| 메서드 이름 | structure.unload( name : str) -> StatusCodeEnum |
|---|---|
| 설명 | 프로그램 언로드 명령, 메모리에서 지정된 프로그램을 언로드합니다. |
| 요청 매개변수 | name : str 프로그램 이름 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.4.9 실행 프로그램 실행 명령
| 메서드 이름 | structure.exec( name : str) -> StatusCodeEnum |
|---|---|
| 설명 | 프로그램 명령 실행, 지정된 프로그램을 실행합니다. |
| 요청 매개변수 | name : str 프로그램 이름 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.5 BasSocket
4.12.5.1 SocketOpen 오픈 소켓 연결 지침
| 메서드 이름 | socket.socket_open( index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 소켓 열기 명령을 사용하여 서버를 생성하고 클라이언트 연결을 기다립니다. |
| 요청 매개변수 | index : int SK 레지스터 시퀀스 번호 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.5.2 SocketClose 닫기 소켓 연결 지침
| 메서드 이름 | socket.socket_close( index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 지정된 소켓 연결을 닫습니다. |
| 요청 매개변수 | index : int SK 레지스터 시퀀스 번호 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.5.3 SocketConnect 연결 소켓 명령어
| 메서드 이름 | socket.socket_connect( index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 소켓 연결 명령을 사용하여 지정된 소켓 서버에 연결 |
| 요청 매개변수 | index : int SK 레지스터 시퀀스 번호 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.5.4 SocketSend 소켓 데이터 전송 명령
| 메서드 이름 | socket.socket_send( index : int, msg_type : StrType, value : Union[int, str]) -> StatusCodeEnum |
|---|---|
| 설명 | 소켓 전송 명령어를 사용하여 지정된 소켓 연결로 데이터를 보냅니다. |
| 요청 매개변수 | index : int SK 레지스터 시퀀스 번호 msg_type : StrType 메시지 유형 value : Union[int, str] 메시지 내용 또는 시퀀스 번호 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.5.5 SocketRecv 소켓 데이터 수신 명령어
| 메서드 이름 | socket.socket_recv( index : int, msg_lenth : int, msg_type : StrType, value : Union[int, str]) -> StatusCodeEnum |
|---|---|
| 설명 | Socket Recv 명령어를 사용하여 지정된 소켓 연결에서 문자를 읽고 최대 길이를 지정할 수 있습니다. |
| 요청 매개변수 | index : int SK 레지스터 시퀀스 번호 msg_lenth : int 최대 메시지 길이 msg_type : StrType 메시지 유형 value : Union[int, str] 메시지 내용 또는 시퀀스 번호 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.6 BasModbus
4.12.6.1 ModbusReadMH Modbus 보유 레지스터 읽기 명령 읽기
| 메서드 이름 | modbus.modbus_read_MH( index : int, id : int, address : int, length : int, r_index : int) -> StatusCodeEnum |
|---|---|
| 설명 | Modbus 보유 레지스터 명령 읽기 |
| 요청 매개변수 | index : int 채널 시퀀스 번호 id : int Modbus ID address : int 레지스터 시작 주소 length : int 레지스터 길이, 즉 읽을 레지스터 수 r_index : int R 레지스터 쓰기를 위한 시작 시퀀스 번호 결과 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.6.2 ModbusReadMI Modbus 입력 레지스터 읽기 명령
| 메서드 이름 | modbus.modbus_read_MI( index : int, id : int, address : int, length : int, r_index : int) -> StatusCodeEnum |
|---|---|
| 설명 | Modbus 입력 레지스터 명령 읽기 |
| 요청 매개변수 | index : int 채널 시퀀스 번호 id : int Modbus ID address : int 레지스터 시작 주소 length : int 레지스터 길이, 즉 읽을 레지스터 수 r_index : int R 레지스터 쓰기를 위한 시작 시퀀스 번호 결과 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.6.3 ModbusWriteMH Modbus 홀딩 레지스터 쓰기 명령어
| 메서드 이름 | modbus.modbus_write_MH( index : int, id : int, address : int, length : int, value_type : ValueType, value : int) -> StatusCodeEnum |
|---|---|
| 설명 | Modbus 보유 레지스터 명령어 작성 |
| 요청 매개변수 | index : int 채널 시퀀스 번호 id : int Modbus ID address : int 레지스터 시작 주소 length : int 레지스터 길이, 즉 쓸 레지스터 수 value_type : ValueType 값 유형 value : int 값 또는 R 레지스터 시작 인덱스 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.7 바스비전
4.12.7.1 VisionFind 비전 찾기 프로그램 안내
| 메서드 이름 | vision.vision_find( name : str) -> StatusCodeEnum |
|---|---|
| 설명 | 비전찾기 프로그램 실행 |
| 요청 매개변수 | name : str 비전 프로그램 이름 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.7.2 VisionGetOffset 비전 프로그램 오프셋 명령 가져오기
| 메서드 이름 | vision.vision_get_offset( name : str, index : int, label_index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 비전 프로그램 실행 후 오프셋 가져오기 |
| 요청 매개변수 | name : str 비전 프로그램 이름 index : int 비전 레지스터 인덱스 label_index : int 라벨 인덱스 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.7.3 VisionGetQuantity 비전 프로그램 결과 지시사항 가져오기
| 메서드 이름 | vision.vision_get_quantity( name : str, index : int) -> StatusCodeEnum |
|---|---|
| 설명 | 비전 프로그램 실행 후 결과 수량 가져오기 |
| 요청 매개변수 | name : str 비전 프로그램 이름 index : int R 결과 저장을 위한 레지스터 인덱스 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.8 직접 방법
4.12.8.1 SetParam 매개변수 설정 명령
| 메서드 이름 | bas_script.set_param( type : ParamType, value_type : ValueType, value : Union[int, float]) -> StatusCodeEnum |
|---|---|
| 설명 | 로봇의 다양한 매개변수를 설정하는 데 사용되는 매개변수 설정 명령 |
| 요청 매개변수 | type : ParamType 매개변수 유형 value_type : ValueType 값 유형 value : Union[int, float] 값 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |
4.12.8.2 AssignValue 할당 지침
| 메서드 이름 | bas_script.assign_value( param1 : AssignType, index : int, param2 : Union[AssignType, OtherType], value : Union[int, float, str, IOStatus, CurrentPose], opt_index : int = 0, opt_value = 0) -> StatusCodeEnum |
|---|---|
| 설명 | 레지스터, IO 신호 등에 값을 할당하는 데 사용되는 할당 명령입니다. |
| 요청 매개변수 | param1 : AssignType 첫 번째 매개변수(레지스터 또는 IO 신호) index : int 매개변수 1의 인덱스 param2 : Union[AssignType, OtherType] 두 번째 매개변수(레지스터, IO 신호 또는 기타 type) value : Union[int, float, str, IOStatus, CurrentPose] 매개변수 2의 인덱스 또는 값 opt_index : int 매개변수 1이 PR_ELEMENT인 경우 추가 인덱스 opt_value : int 파라미터 2가 PR_ELEMENT일 때 추가 인덱스, 값이 IOStatus.PULSE일 때 펄스 값 |
| 반환 값 | StatusCodeEnum: 함수 실행 결과 |