10. 그래픽 프로그래밍
10.1. 개요
일반적으로 티치 펜던트에는 키보드나 마우스 같은 주변기기가 연결되지 않으므로, 티치 펜던트에서 로봇 WebAPP에 접근할 때 사용자는 그래픽 프로그래밍 기능을 이용해 로봇의 티칭 프로그램을 편집할 수 있습니다. 기능 표준화 함수는 Blockly 라이브러리를 사용해 구현되며, WebAPP 시스템에 통합할 수 있고 필요에 따라 사용자 정의 코드 블록도 구현할 수 있습니다. 또한 드래그 앤 드롭으로 프로그래밍을 마치면 LUA 프로그램으로 변환되어 기존 명령 프로토콜을 통해 실행됩니다.
그래픽 프로그래밍을 사용하면 간단하고 이해하기 쉬우며 조작이 편리한 방식으로 프로그램을 작성할 수 있습니다.
페이지는 조작 바, toolbox 도구 모음, `workspace 코드 편집 영역`의 세 영역으로 나뉘며, 전체 레이아웃은 아래 그림과 같습니다.
그림표 10.1-1 그래픽 프로그래밍 인터페이스
조작 바
불러오기: 워크스페이스를 다시 불러옵니다.
가져오기: 관련 그래픽 프로그래밍 프로그램을 가져옵니다.
내보내기: 저장된 워크스페이스의 그래픽 프로그래밍 프로그램을 내보냅니다. 저장 버튼은 코드 블록 편집이 끝난 뒤 이를 대응하는 티칭 프로그램으로 저장합니다.
저장: 편집한 그래픽 코드 블록을 저장합니다.
지우기: 코드 편집 영역을 빠르게 비웁니다.
코드: 코드 블록을 Lua 코드로 변환합니다.
Toolbox
모든 명령과 논리 코드 블록을 포함하며, 워크스페이스로 드래그해 코드 블록을 작성하고 편집할 수 있습니다.
Toolbox 도구 모음은 명령 타입에 따라 다시 세분화됩니다.
논리 클래스 명령: if-else, while 등
기본 운동 클래스 명령: PTP, LIN, ARC 등. 또한 실링, 용접, 컨베이어 등 응용 시나리오에 따른 명령 분류도 제공되어 필요한 코드 블록을 쉽게 찾을 수 있습니다.
Workspace: 코드 편집 영역에서는 그래픽 코드 블록을 편집하고 표시할 수 있습니다.
10.2. 논리 클래스 그래픽 프로그래밍 명령
논리 클래스 그래픽 프로그래밍 명령에는 루프, 수치 등 논리 명령이 포함됩니다.
그림표 10.2 논리 클래스 그래픽 프로그래밍
10.2.1. If/Else 판단 명령
If/Else 판단 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다. 이 명령은 어느 정도의 프로그래밍 기초 지식이 필요합니다. 도움이 필요하면 당사에 문의하십시오.
그림표 10.2-1 If/Else 판단 명령 코드 블록
10.2.2. While 명령
While 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다. 이 명령도 어느 정도의 프로그래밍 기초 지식이 필요합니다. 도움이 필요하면 당사에 문의하십시오.
While 뒤에 입력 대기 조건을 추가하고, while 내부에 운동 명령 코드 블록을 추가한 뒤 저장을 클릭합니다. 조작을 쉽게 하기 위해 do 내용은 임의로 입력한 뒤, 프로그램 안에서 다른 명령을 편집하여 삽입하고 교체할 수 있습니다.
그림표 10.2-2 While 명령 코드 블록
10.2.3. 점프 명령
점프 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다. 이 명령 역시 어느 정도의 프로그래밍 기초 지식이 필요합니다. 도움이 필요하면 당사에 문의하십시오.
점프 명칭: 점프 명칭을 입력해 점프 위치를 결정합니다.
그림표 10.2-3 점프 명령 코드 블록
중요
점프 명칭은 숫자로 시작할 수 없습니다.
10.3. 변수 클래스 그래픽 프로그래밍 명령
변수 클래스 그래픽 프로그래밍 명령에는 변수 생성 명령이 포함됩니다.
그림표 10.3 변수 클래스 그래픽 프로그래밍
10.3.1. 변수 명령
생성 버튼을 클릭하면 정의할 변수명을 입력할 수 있습니다.
변수 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
변수 명령 노드, 파라미터:
그림표 10.3-1 변수 명령 코드 블록
10.4. 함수 클래스 그래픽 프로그래밍 명령
함수 클래스 그래픽 프로그래밍 명령에는 함수 생성 명령이 포함됩니다.
그림표 10.4 함수 클래스 그래픽 프로그래밍
10.4.1. 함수 메서드 명령
함수 메서드 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
함수 메서드 명령 노드, 파라미터:
함수명: 실행할 함수명
그림표 10.4-1 함수 메서드 명령 코드 블록
10.5. 운동 클래스 그래픽 프로그래밍 명령
운동 클래스 그래픽 프로그래밍 명령에는 PTP, Lin, ARC 등의 운동 명령이 포함됩니다.
그림표 10.5 운동 클래스 그래픽 프로그래밍
10.5.1. 포인트투포인트 명령
포인트투포인트 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
도달하려는 포인트를 선택할 수 있습니다. 부드러운 전환 시간 설정을 통해 이 포인트에서 다음 포인트로의 운동을 연속적으로 수행할 수 있습니다. 오프셋 설정 여부를 선택할 수 있고, 베이스 좌표계 기반 오프셋과 툴 좌표 기반 오프셋을 선택할 수 있으며, x, y, z, rx, ry, rz 오프셋량 설정 팝업이 표시됩니다. PTP의 구체적인 경로는 운동 컨트롤러가 자동 계획하는 최적 경로입니다.
포인트투포인트 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0 ~ 100
정지: false/true
부드러운 전환(ms): 부드러운 전환 시간 0 ~ 500
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
그림표 10.5-1 포인트투포인트 명령 코드 블록
10.5.2. 직선 명령
직선 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령의 기능은 포인트투포인트 명령과 유사하지만, 이 명령으로 도달하는 포인트까지의 경로는 직선입니다.
직선 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0 ~ 100
정지: false/true, true 선택 시 부드러운 전환 파라미터 값은 유효하지 않습니다.
부드러운 전환(mm): 부드러운 전환 반경 0 ~ 1000
센싱 여부: false/true
센싱 포인트 변수: REF0~99/RES0~99, 센싱 여부가 `false`일 때는 유효하지 않습니다.
오프셋 여부: 없음
관절 과속 보호: 없음/있음
처리 전략: 표준/과속 시 오류 정지/적응 감속
허용 감속 임계값: 0~100
그림표 10.5-2 직선 명령 코드 블록
10.5.3. 직선(통과점 각속도 조정 가능) 명령
직선(통과점 각속도 조정 가능) 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령의 기능은 포인트투포인트 명령과 유사하지만, 이 명령은 통과점 각속도 조정을 포함합니다.
직선(통과점 각속도 조정 가능) 명령 노드, 파라미터:
최대 각속도: 0~300
그림표 10.5-3 직선(통과점 각속도 조정 가능) 명령 코드 블록
10.5.4. 직선(seamPos) 명령
직선(seamPos) 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령 기능은 용접 시나리오에서 레이저 센서를 사용할 때 적용됩니다.
직선(seamPos) 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0 ~ 100
정지: false/true, true 선택 시 부드러운 전환 파라미터 값은 유효하지 않습니다.
부드러운 전환(mm): 부드러운 전환 반경 0 ~ 1000
용접부 캐시 데이터 선택: 계획 데이터 실행/기록 데이터 실행
판재 타입: 골판/골판지/펜스판/오일 드럼/골판 갑각강
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋/레이저 원시 데이터 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
그림표 10.5-4 직선(seamPos) 명령 코드 블록
10.5.5. 원호 명령
원호 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
원호 운동은 두 개의 포인트를 포함하며, 첫 번째 포인트는 원호 중간 경유점이고 두 번째 포인트는 종점입니다. 경유점과 종점 모두에서 오프셋 여부를 설정할 수 있으며, 베이스 좌표계 기반 오프셋과 툴 좌표 기반 오프셋을 선택하고 x, y, z, rx, ry, rz 오프셋량을 설정할 수 있습니다. 종점에서는 부드러운 전환 반경을 설정해 연속 운동 효과를 구현할 수 있습니다.
원호 명령 노드, 파라미터:
원호 중간점: 티칭 포인트
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
원호 종점: 티칭 포인트
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
디버그 속도(%): 0 ~ 100
정지: false/true, true 선택 시 부드러운 전환 파라미터 값은 유효하지 않습니다.
부드러운 전환(mm): 부드러운 전환 반경 0 ~ 1000
그림표 10.5-5 원호 명령 코드 블록
10.5.6. 완전 원 명령
완전 원 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
완전 원 명령 노드를 클릭하면 노드 그래프 편집 인터페이스로 들어갑니다.
완전 원 운동은 두 개의 포인트를 포함하며, 첫 번째 포인트는 완전 원 중간 경유점 1, 두 번째 포인트는 완전 원 중간 경유점 2입니다. 경유점 2에서 오프셋 여부를 설정할 수 있으며, 이 오프셋량은 경유점 1과 경유점 2 모두에 동시에 적용됩니다.
완전 원 명령 노드, 파라미터:
완전 원 중간점 1: 티칭 포인트
완전 원 중간점 2: 티칭 포인트
디버그 속도(%): 0 ~ 100
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
그림표 10.5-6 완전 원 명령 코드 블록
10.5.7. 스파이럴 명령
스파이럴 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
스파이럴 운동은 세 개의 포인트를 포함하며, 이 세 포인트가 하나의 원을 구성합니다. 세 번째 포인트 설정 페이지에는 스파이럴 횟수, 자세 수정각, 반경 증분, 회전축 방향 증분 파라미터 설정이 포함됩니다. 스파이럴 횟수는 이 스파이럴 선의 운동 횟수입니다. 자세 수정각은 스파이럴 선 종료 시 자세와 스파이럴 선 첫 포인트의 자세를 수정합니다. 반경 증분은 각 회차의 반경 증가량이며, 회전축 방향 증분은 스파이럴 축 방향의 증가량입니다. 오프셋 여부를 설정하면 이 오프셋량은 스파이럴 선 전체 궤적에 적용됩니다.
스파이럴 명령 노드, 파라미터:
스파이럴 선 중간점 1: 티칭 포인트
스파이럴 선 중간점 2: 티칭 포인트
스파이럴 선 중간점 3: 티칭 포인트
디버그 속도(%): 0 ~ 100
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
스파이럴 횟수: 0 ~ 100
자세각 수정 rx(°): -1000 ~ 1000
자세각 수정 ry(°): -1000 ~ 1000
자세각 수정 rz(°): -1000 ~ 1000
반경 증분(mm): -100 ~ 100
회전축 방향 증분(mm): -100 ~ 100
그림표 10.5-7 스파이럴 명령 코드 블록
10.5.8. 신규 스파이럴 명령
신규 스파이럴 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
신규 스파이럴 명령 노드를 클릭하면 노드 그래프 편집 인터페이스로 들어갑니다.
신규 스파이럴 운동은 최적화된 스파이럴 선 운동입니다. 이 명령은 하나의 포인트와 각 파라미터 설정만으로 스파이럴 선 운동을 구현합니다. 로봇은 현재 위치를 시작점으로 하며, 사용자가 디버그 속도, 오프셋 여부, 스파이럴 횟수, 스파이럴 경사각, 초기 반경, 반경 증분, 회전축 방향 증분, 회전 방향 파라미터를 설정합니다. 스파이럴 횟수는 이 스파이럴 선의 운동 횟수입니다. 스파이럴 경사각은 툴 Z축과 수평 방향 사이의 각도입니다. 자세 수정각은 스파이럴 선 종료 시 자세와 첫 포인트의 자세를 수정합니다. 초기 반경은 첫 회차의 반경 크기입니다. 반경 증분은 각 회차의 반경 증가량이며, 회전축 방향 증분은 스파이럴 축 방향의 증가량입니다. 회전 방향은 시계 방향과 반시계 방향입니다.
신규 스파이럴 명령 노드, 파라미터:
스파이럴 선 시작점: 티칭 포인트
디버그 속도(%): 0 ~ 100
오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.
dx~drz: 오프셋량
스파이럴 횟수: 0 ~ 100
스파이럴 경사각(°): -100 ~ 100
초기 반경: 0 ~ 100
반경 증분(mm): -100 ~ 100
회전축 방향 증분(mm): -100 ~ 100
회전 방향: 시계 방향/반시계 방향
그림표 10.5-8 신규 스파이럴 명령 코드 블록
10.5.9. 수평 스파이럴 명령
수평 스파이럴 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
H-Spiral 명령은 수평 공간 스파이럴 선 운동이며, 단일 세그먼트 운동(직선) 명령 뒤에 설정됩니다.
수평 스파이럴 명령 노드, 파라미터:
스파이럴 반경: 0~100mm
스파이럴 각속도: 0~2회전/초
회전 방향: 스파이럴 시계 방향/반시계 방향
스파이럴 경사각: 0~40°
그림표 10.5-9 수평 스파이럴 명령 코드 블록
10.5.10. 스플라인 명령
스플라인 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 스플라인 그룹 시작, 스플라인 세그먼트, 스플라인 그룹 종료의 세 부분으로 나뉩니다. 스플라인 그룹 시작은 스플라인 운동의 시작 표시입니다. 스플라인 세그먼트는 현재 노드 그래프에서 SPL 세그먼트만 포함합니다. 스플라인 그룹 종료는 스플라인 운동의 종료 표시입니다.
스플라인-SPTP 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0 ~ 100
그림표 10.5-10 스플라인 명령 코드 블록
10.5.11. 신규 스플라인 명령
신규 스플라인 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 스플라인 명령 알고리즘 최적화 명령이며, 이후 기존 스플라인 명령을 대체합니다. 이 명령은 다점 궤적 시작, 다점 궤적 세그먼트, 다점 궤적 종료의 세 부분으로 나뉩니다. 다점 궤적 시작은 다점 궤적 운동의 시작 표시입니다. 다점 궤적 세그먼트에서는 각 궤적점을 설정하며, 아이콘을 클릭해 포인트 추가 인터페이스로 들어갑니다. 다점 궤적 종료는 다점 궤적 운동의 종료 표시이며, 여기서 제어 모드와 디버그 속도를 설정할 수 있습니다. 제어 모드는 주어진 제어점과 주어진 경로점으로 나뉩니다.
신규 스플라인 명령 노드, 파라미터:
제어 모드: 티칭 포인트
전체 평균 연결 시간: 정수형, 10 이상, 기본값 2000ms
신규 스플라인-SPL 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0 ~ 100
부드러운 전환 반경: 0 ~ 1000
최종 포인트 여부: 아니오/예
그림표 10.5-11 신규 스플라인 명령 코드 블록
10.5.12. 위빙 명령
위빙 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
위빙 명령 노드, 파라미터:
번호: 0~7
그림표 10.5-12 위빙 명령 코드 블록
10.5.13. 포인트 오프셋 명령
포인트 오프셋 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 전체 오프셋 명령이며, 각 오프셋량을 입력하면 운동 명령은 베이스 좌표(또는 워크 좌표)를 기준으로 오프셋됩니다.
포인트 오프셋 명령 노드, 파라미터:
∆x: 오프셋량, -300~300
∆y: 오프셋량, -300~300
∆z: 오프셋량, -300~300
∆rx: 오프셋량, -300~300
∆ry: 오프셋량, -300~300
∆rz: 오프셋량, -300~300
그림표 10.5-13 포인트 오프셋 명령 코드 블록
10.5.14. 서보 명령
서보 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
서보 제어(데카르트 공간 운동) 명령이며, 절대 자세 제어 또는 현재 자세 기반 오프셋 제어를 통해 로봇의 운동을 제어할 수 있습니다.
서보 명령 노드, 파라미터:
운동 방식: 절대 위치/베이스 좌표 오프셋/툴 좌표 오프셋
x: 오프셋량, -300~300
y: 오프셋량, -300~300
z: 오프셋량, -300~300
rx: 오프셋량, -300~300
ry: 오프셋량, -300~300
rz: 오프셋량, -300~300
비례 계수 x: 0~1
비례 계수 y: 0~1
비례 계수 z: 0~1
비례 계수 rx: 0~1
비례 계수 ry: 0~1
비례 계수 rz: 0~1
가속도(%): 0~100
속도(%): 0~100
명령 주기(s): 0.001~0.016
필터 시간(s): 0~1
비례 확대: 0~100
그림표 10.5-14 서보 명령 코드 블록
10.5.15. 궤적 명령
궤적 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령을 사용하려면 먼저 기록된 궤적이 필요합니다.
궤적 명령 노드, 파라미터:
궤적 파일 선택: 기록된 궤적
디버그 속도(%): 0 ~ 100, 기본값 25
그림표 10.5-15 궤적 명령 코드 블록
10.5.16. 궤적 J 명령
궤적 J 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령을 사용하려면 먼저 기록된 궤적이 필요하며, 티칭 프로그램 인터페이스에서 미리 궤적 파일을 가져올 수 있습니다. 궤적 명령과 궤적 J 명령은 카메라가 직접 궤적을 지정하는 범용 인터페이스에 적용되며, 고정 형식의 이산 궤적점 파일이 이미 있을 경우 이를 시스템으로 가져와 로봇이 해당 파일의 궤적을 따라 움직이도록 할 수 있습니다.
궤적 J 명령 노드, 파라미터:
궤적 파일 선택: 기록된 궤적
디버그 속도(%): 0 ~ 100, 기본값 25
궤적 모드: 경로점/제어점
그림표 10.5-16 궤적 J 명령 코드 블록
10.5.17. 궤적 재생 명령
궤적 재생 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령을 사용하려면 먼저 기록된 궤적이 필요합니다.
프로그램 프로그래밍을 수행할 때는 먼저 포인트투포인트 명령으로 해당 궤적 시작점에 도달한 다음, 궤적 재생 명령에서 궤적을 선택하고 부드러운 궤적 여부와 디버그 속도를 설정합니다. 궤적 로드 명령은 주로 궤적 파일을 미리 읽어 들여 궤적 명령으로 추출하고, 컨베이어 트래킹 시나리오에 맞게 적용하기 위해 사용됩니다.
궤적 재생 명령 노드, 파라미터:
궤적 명칭: 기록된 궤적
부드러운 궤적: 아니오/예
디버그 속도(%): 0 ~ 100, 기본값 25
그림표 10.5-17 궤적 재생 명령 코드 블록
10.5.18. DMP 명령
DMP 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
DMP는 궤적 모방 학습 방식이며, 사전에 기준 궤적을 계획해야 합니다. 명령 편집 인터페이스에서 티칭 포인트를 새 시작점으로 선택한 뒤 추가, `적용`을 클릭하면 이 명령을 저장할 수 있습니다. DMP의 구체적인 경로는 새 시작점에서 기준 궤적을 모방하는 새로운 궤적입니다.
DMP 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0 ~ 100, 기본값 100
그림표 10.5-18 DMP 명령 코드 블록
10.5.19. 툴 좌표 변환 명령
툴 좌표 변환 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
자동 변환할 툴 좌표계를 선택하고 추가, `적용`을 클릭하면 이 명령을 저장할 수 있습니다. 툴 좌표계 아래의 포인트는 자동으로 변환됩니다.
툴 좌표 변환 명령 노드, 파라미터:
툴 좌표계: 툴 좌표계 목록
그림표 10.5-19 툴 좌표 변환 명령 코드 블록
10.5.20. 워크 좌표 변환 명령
워크 좌표 변환 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
자동 변환할 워크 좌표계를 선택하고 추가, `적용`을 클릭하면 이 명령을 저장할 수 있습니다. 워크 좌표계 아래의 포인트는 자동으로 변환됩니다.
워크 좌표 변환 명령 노드, 파라미터:
워크 좌표계: 워크 좌표계 목록
그림표 10.5-20 워크 좌표 변환 명령 코드 블록
10.6. 제어 클래스 그래픽 프로그래밍 명령
제어 클래스 그래픽 프로그래밍 명령에는 Wait, IO 등의 제어 명령이 포함됩니다.
그림표 10.6 제어 클래스 그래픽 프로그래밍 명령
10.6.1. 대기 명령
대기 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 지연 명령이며 WaitMs, WaitDI, WaitMultiDI, `WaitAI`의 네 부분으로 나뉩니다.
대기 명령 노드, 파라미터:
대기 시간(ms): 지연 대기 시간의 단위는 밀리초입니다. 대기할 밀리초 수를 입력합니다.
그림표 10.6-1 대기 명령 코드 블록
대기DI 명령 노드, 파라미터:
DI 포트 번호: Ctrl-DI0 ~ Ctrl-CI7(WaitDI,[0~15]), End-DI0 ~ End-DI1(WaitToolDI,[0~1])
상태: false/true
최대 시간(ms): 0 ~ 10000
대기 타임아웃 처리: 정지 오류/계속 실행/영구 대기
그림표 10.6-2 대기DI 명령 코드 블록
대기 다중 DI 명령 노드, 파라미터:
조건: AND/OR
조건 선택: 상태가 On이 되는 비트의 포트 번호를 선택합니다. 쉼표로 구분합니다. 예: DI0,DI1
참값 대응 포트: 참값에 대응하는 포트 번호를 선택합니다. 쉼표로 구분합니다. 예: DI0,DI1
최대 시간(ms): 0 ~ 10000, 최대 대기 시간
대기 타임아웃 처리: 정지 오류/계속 실행/영구 대기
그림표 10.6-3 대기 다중 DI 명령 코드 블록
대기AI 명령 노드, 파라미터:
조건: AND/OR
AI 포트 번호: Ctrl-AI0 ~ Ctrl-AI1(WaitAI,[0~1]), End-AI0(WaitToolAI,[0])
조건: 초과/미만
수치(%): 1 ~ 100
최대 시간(ms): 0 ~ 10000
대기 타임아웃 처리: 정지 오류/계속 실행/영구 대기. 대기 타임아웃 처리가 영구 대기인 경우 최대 시간의 기본값은 `0`입니다.
그림표 10.6-4 대기AI 명령 코드 블록
10.6.2. 모드 전환 명령
모드 전환 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 로봇을 수동 모드로 전환할 수 있으며, 일반적으로 프로그램의 끝부분에 추가합니다. 프로그램 실행이 끝나면 로봇이 자동으로 수동 모드로 전환되어 드래그 조작이 가능해집니다.
모드 전환 명령 노드, 파라미터:
모드 전환: 수동 모드
그림표 10.6-5 모드 전환 명령 코드 블록
10.6.3. 일시정지 명령
일시정지 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 일시정지 명령입니다. 프로그램 안에 이 명령을 삽입하면, 프로그램이 이 명령을 실행하는 시점에서 로봇이 일시정지 상태가 됩니다. 계속 실행하려면 제어 영역의 일시정지/재개 키를 클릭합니다.
일시정지 명령 노드, 파라미터:
일시정지 타입: 기능 없음, 실린더 미도달 등
그림표 10.6-6 일시정지 명령 코드 블록
10.6.4. 좌표계 명령
툴 좌표계 설정/워크 좌표계 설정 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
툴 좌표계 설정 명령 노드, 파라미터:
툴 좌표계 명칭: toolcoord1 ~ toolcoord19(SetToolList,[0~19]), etoolcoord0 ~ etoolcoord14(SetExToolList,[0~14])
그림표 10.6-7 툴 좌표계 설정 명령 코드 블록
워크 좌표계 설정 명령 노드, 파라미터:
워크 좌표계 명칭: wobjcoord1 ~ wobjcoord14
그림표 10.6-8 워크 좌표계 설정 명령 코드 블록
10.6.5. 아날로그 AI 명령
AO 설정/AI 취득 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 아날로그 출력 설정(SetAO/SPLCSetAO)과 아날로그 입력 취득(GetAI/SPLCGetAI) 두 기능으로 나뉩니다.
AO 설정 명령 노드, 파라미터:
포트: Ctrl-AO0 ~ Ctrl-AO1(블로킹:SetAO, 비블로킹:SPLCSetAO,[0~1]), End-AO0(블로킹:SetToolAO, 비블로킹:SPLCSetToolAO,[0])
수치(%): 0 ~ 100
블로킹 여부: 블로킹/비블로킹
스레드 적용 여부: 아니오/예
그림표 10.6-9 AO 설정 명령 코드 블록
AI 취득 명령 노드, 파라미터:
포트: Ctrl-AI0 ~ Ctrl-DI1(블로킹:GetAI, 비블로킹:SPLCGetAI,[0~1]), End-AI0(블로킹:GetToolAI, 비블로킹:SPLCGetToolAI,[0])
조건: 초과/미만
수치(%): 0 ~ 100
최대 시간(ms): 0 ~ 10000
블로킹 여부: 블로킹/비블로킹
스레드 적용 여부: 아니오/예
그림표 10.6-10 AI 취득 명령 코드 블록
10.6.6. 디지털 I/O 명령
DO 설정/DI 취득 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 I/O 명령이며, I/O 설정(SetDO/SPLCSetDO)과 I/O 취득(GetDI/SPLCGetDI) 두 부분으로 나뉩니다.
DO 설정 명령 노드, 파라미터:
포트: Ctrl-DO0 ~ Ctrl-CO7(블로킹:SetDO, 비블로킹:SPLCSetDO,[0~15]), End-DO0 ~ End-DO1(블로킹:SetToolDO, 비블로킹:SPLCSetToolDO,[0~1])
상태: false/true
블로킹 여부: 블로킹/비블로킹
부드러운 궤적: Break/Serious
스레드 적용 여부: 아니오/예
그림표 10.6-11 DO 설정 명령 코드 블록
DI 취득 명령 노드, 파라미터:
포트: Ctrl-DI0 ~ Ctrl-CI7(블로킹:GetDI, 비블로킹:SPLCGetDI,[0~15]), End-DI0 ~ End-DI1(블로킹:GetToolDI, 비블로킹:SPLCGetToolDI,[0~1])
블로킹 여부: 블로킹/비블로킹
상태: false/true
최대 대기 시간(ms): 0 ~ 10000
스레드 적용 여부: 아니오/예
그림표 10.6-12 DI 취득 명령 코드 블록
10.6.7. 운동 DO 명령
운동 DO 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 직선 운동 과정 중 설정된 간격에 따라 연속적으로 DO 신호를 출력하는 기능을 구현합니다.
운동 DO 연속 출력 명령 노드, 파라미터:
포트: Ctrl-DO0 ~ Ctrl-DO0(MoveDOStart,[0~15]), End-DO1(MoveDOStart,[0~1])
설정 간격(mm): 0 ~ 500
출력 펄스 듀티 비율(%): 0 ~ 99
운동 DO 단일 출력 명령 노드, 파라미터:
포트: Ctrl-DO0 ~ Ctrl-DO0(MoveDOOnceStart,[0~15]), End-DO1(MoveDOOnceStart,[0~1])
출력 모드: 등속 세그먼트 출력/사용자 설정
Set 시간(ms): 0 ~ 1000`(등속 세그먼트 출력 모드의 기본값은 `-1)
Reset 시간(ms): 0 ~ 1000`(등속 세그먼트 출력 모드의 기본값은 `-1)
그림표 10.6-13 운동 DO 단일 출력/연속 출력 명령 코드 블록
10.6.8. 운동 AO 명령
운동 AO 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 운동 명령과 함께 사용하면, 운동 과정 중 실시간 TCP 속도에 비례하는 AO 신호를 출력할 수 있습니다.
운동 AO 명령 노드, 파라미터:
제어 박스 AO 번호: Ctrl-AO0 ~ Ctrl-AO1(MoveAOStart,[0~1]), End-AO0(MoveToolAOStart,0)
최대 TCP 속도: 0 ~ 100
최대 TCP 속도 AO 백분율: 0 ~ 100
데드존 보상값 AO 백분율: 0 ~ 100
그림표 10.6-14 운동 AO 명령 코드 블록
10.6.9. 충돌 레벨 명령
충돌 레벨 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 충돌 레벨 설정 명령입니다. 이 명령을 통해 프로그램 실행 중 각 축의 충돌 레벨을 실시간으로 조정할 수 있어, 더 유연한 응용 구성이 가능합니다.
충돌 레벨 명령 노드, 파라미터:
표준 레벨: 표준 레벨/사용자 정의 백분율
joint1-joint6(N): 0 ~ 100, 충돌 임계값, 배열형
그림표 10.6-15 충돌 레벨 명령 코드 블록
10.6.10. 가속도 명령
가속도 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
가속도 명령은 로봇의 가속도를 개별적으로 설정할 수 있게 합니다. 운동 명령의 가속도 스케일링 계수를 조정하여 가감속 시간을 늘리거나 줄이고, 로봇 동작의 사이클 타임을 조정할 수 있습니다.
가속도 명령 노드, 파라미터:
가속도 백분율(%): 0 ~ 100
그림표 10.6-16 가속도 명령 코드 블록
10.7. 주변기기 클래스 그래픽 프로그래밍 명령
주변기기 클래스 그래픽 프로그래밍 명령에는 그리퍼, 스프레이건, 확장축 등의 주변기기 명령이 포함됩니다.
그림표 10.7 주변기기 클래스 그래픽 프로그래밍 명령
10.7.1. 그리퍼 명령
그리퍼 운동, 그리퍼 활성화, 그리퍼 리셋 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
명령에서는 설정이 완료되어 이미 활성화된 그리퍼 번호가 표시되며, 그리퍼의 개폐, 개폐 속도, 개폐 토크를 설정합니다. 수치는 백분율입니다. 블로킹 기능 옵션이 있으며, 블로킹을 선택하면 그리퍼 운동은 이전 운동 명령이 끝난 뒤 실행되고, 비블로킹을 선택하면 이전 운동 명령과 병행하여 실행됩니다.
그리퍼 운동 노드, 파라미터:
그리퍼 번호: 활성화된 그리퍼 번호
그리퍼 위치: 0~100
개폐 속도: 0~100
개폐 토크: 0~100
최대 시간(ms): 0~30000
블로킹 여부: false/true
그림표 10.7-1 그리퍼 운동 명령 코드 블록
그리퍼 리셋 명령은 설정된 그리퍼 번호를 표시하며, 프로그램에 그리퍼 리셋 명령을 추가할 수 있습니다.
그리퍼 리셋 노드, 파라미터:
그리퍼 번호: 활성화된 그리퍼 번호
그림표 10.7-2 그리퍼 리셋 명령 코드 블록
그리퍼 활성화 명령은 설정된 그리퍼 번호를 표시하며, 프로그램에 그리퍼 활성화 명령을 추가할 수 있습니다.
그리퍼 활성화 노드, 파라미터:
그리퍼 번호: 활성화된 그리퍼 번호
그림표 10.7-3 그리퍼 활성화 명령 코드 블록
10.7.2. 스프레이건 명령
스프레이건 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 도장 관련 명령이며, 스프레이건의 도장 시작, 도장 정지, 건 클리닝 시작, `건 클리닝 정지`를 제어합니다. 이 프로그램 관련 노드를 편집할 때는 스프레이건 주변기기가 설정되어 있는지 확인해야 합니다. 그렇지 않으면 저장할 수 없습니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.
그림표 10.7-4 도장 시작 명령 코드 블록
그림표 10.7-5 도장 정지 명령 코드 블록
그림표 10.7-6 건 클리닝 시작 명령 코드 블록
그림표 10.7-7 건 클리닝 정지 명령 코드 블록
10.7.3. 확장축 명령(컨트롤러 + PLC)
확장축 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 외부축을 사용하는 시나리오를 대상으로 하며, PTP 명령과 함께 사용해 공간상의 한 점에 대한 X축 방향 이동을 외부축 운동으로 분해할 수 있습니다. 외부축 번호를 선택하고, 운동 방식을 동기로 설정한 뒤, 도달하려는 포인트를 선택합니다.
이 명령은 UDP 통신 로드/설정, 비동기 운동, 동기 PTP/LIN 운동, 동기 ARC 운동, 원점 복귀 명령, 이네이블 명령으로 나뉩니다.
UDP 통신 설정 명령 노드에서는 IP 주소, 포트 번호, 통신 주기를 입력합니다.
그림표 10.7-8 UDP 통신 설정 명령 코드 블록
비동기 운동 명령 노드, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0~100
그림표 10.7-9 비동기 운동 명령 코드 블록
동기 PTP/LIN 운동 명령 노드, 파라미터:
운동 선택: PTP/LIN
포인트 명칭: 티칭 포인트
디버그 속도(%): 0~100
그림표 10.7-10 동기 PTP/LIN 운동 명령 코드 블록
동기 ARC 운동 명령 노드, 기본 운동 방식은 ARC, 파라미터:
포인트 명칭: 티칭 포인트
디버그 속도(%): 0~100
그림표 10.7-11 동기 ARC 운동 명령 코드 블록
확장축 원점 복귀 명령 노드, 파라미터:
확장축 번호: 1~4
원점 복귀 방식: 현재 위치 원점 복귀/음수 리미트 원점 복귀/양수 리미트 원점 복귀
원점 검색 속도: 0~2000, 기본값 5
원점 래치 속도: 0~2000, 기본값 1
그림표 10.7-12 확장축 원점 복귀 명령 코드 블록
확장축 이네이블 명령 노드, 파라미터:
확장축 번호: 1~4
그림표 10.7-13 확장축 이네이블 명령 코드 블록
10.7.4. 확장축 명령(컨트롤러 + 서보 드라이버)
확장축 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 확장축 파라미터를 설정할 수 있습니다. 서로 다른 제어 모드에 따라 다른 파라미터를 설정하며, 설정된 확장축에 대해 원점 설정도 수행할 수 있습니다.
이 명령은 서보 ID, 제어 모드, 서보 이네이블, 서보 원점 복귀로 나뉩니다. 제어 모드 안에서는 위치 모드와 속도 모드로 다시 나뉘며, 이들 노드는 제어 모드와 함께 사용해야 하고, 단독으로 추가해도 유효하지 않습니다.
서보 ID 명령 노드, 파라미터:
서보 ID: 1~15
그림표 10.7-14 서보 ID 명령 코드 블록
제어 모드 명령 노드, 파라미터:
서보 ID: 1~15
제어 모드: 위치 모드/속도 모드
그림표 10.7-15 제어 모드 명령 코드 블록
서보 이네이블 명령 노드, 파라미터:
서보 ID: 1~15
서보 이네이블: 서보 이네이블/이네이블 해제
그림표 10.7-16 서보 이네이블 명령 코드 블록
서보 원점 복귀 명령 노드, 파라미터:
서보 ID: 1~15
원점 복귀 방식: 현재 위치 원점 복귀/음수 리미트 원점 복귀/양수 리미트 원점 복귀
원점 검색 속도: 0~2000, 기본값 5
원점 래치 속도: 0~2000, 기본값 1
가속도 백분율: 1~100, 기본값 100
그림표 10.7-17 서보 원점 복귀 명령 코드 블록
위치 모드 명령 노드, 파라미터:
서보 ID: 1~15
목표 위치: 제한 없음
원점 검색 속도: 제한 없음
가속도 백분율: 1~100, 기본값 100
그림표 10.7-18 위치 모드 명령 코드 블록
속도 모드 명령 노드, 파라미터:
서보 ID: 1~15
목표 속도: 제한 없음
가속도 백분율: 1~100, 기본값 100
그림표 10.7-19 속도 모드 명령 코드 블록
10.7.5. 컨베이어 명령
이 명령은 I/O 실시간 감지, 위치 실시간 감지, 트래킹 시작, 트래킹 종료의 네 가지 명령을 포함합니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.
I/O 실시간 감지 명령 노드, 파라미터:
최대 대기 시간: 0~10000
그림표 10.7-20 I/O 실시간 감지 명령 코드 블록
위치 실시간 감지 명령 노드, 파라미터:
작업 모드: 트래킹 파지/트래킹 운동/TPD 트래킹
그림표 10.7-21 위치 실시간 감지 명령 코드 블록
트래킹 시작, 트래킹 종료 명령 노드, 파라미터:
작업 모드: 트래킹 파지/트래킹 운동/TPD 트래킹
그림표 10.7-22 트래킹 시작/종료 명령 코드 블록
10.7.6. 연마 명령
연마 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 연마 시나리오에서 사용하기 위한 명령입니다. 사용 시에는 먼저 드라이버를 언로드한 뒤 다시 로드하고, 이후 연마 장치를 이네이블 상태로 설정해야 합니다.
그 다음 연마 장치의 회전수, 접촉력, 돌출 거리, 제어 모드를 설정할 수 있으며, 동시에 장치 오류 클리어와 장치 힘 센서의 영점 조정도 수행할 수 있습니다.
그림표 10.7-23 통신 드라이버 로드/언로드 명령 코드 블록
장치 이네이블 명령 노드, 파라미터:
장치 이네이블: 이네이블/디스에이블
그림표 10.7-24 장치 이네이블 명령 코드 블록
그림표 10.7-25 장치 오류 클리어 명령 코드 블록
그림표 10.7-26 장치 힘 센서 영점 조정 명령 코드 블록
회전수 명령 노드, 파라미터:
회전수: 0~5500
그림표 10.7-27 장치 회전수 명령 코드 블록
설정 힘 명령 노드, 파라미터:
설정 힘: 0~200
그림표 10.7-28 설정 힘 명령 코드 블록
돌출 거리 명령 노드, 파라미터:
돌출 거리: 0~12
그림표 10.7-29 돌출 거리 명령 코드 블록
연마 접촉력 명령 노드, 파라미터:
접촉력: 0~10000
그림표 10.7-30 연마 접촉력 명령 코드 블록
설정 힘 과도 시간 명령 노드, 파라미터:
설정 힘 과도 시간: 0~10000
그림표 10.7-31 설정 힘 과도 시간 명령 코드 블록
워크 중량 명령 노드, 파라미터:
워크 중량: 0~10000
그림표 10.7-32 워크 중량 명령 코드 블록
제어 모드 명령 노드, 파라미터:
제어 모드: 원점 복귀 모드/위치 모드/토크 모드
그림표 10.7-33 제어 모드 명령 코드 블록
10.8. 용접 클래스 그래픽 프로그래밍 명령
용접 클래스 그래픽 프로그래밍 명령에는 센싱, 스폿 용접, 용접, 레이저 트래킹 등의 용접 명령이 포함됩니다.
그림표 10.8 용접 클래스 그래픽 프로그래밍 명령
10.8.1. 스폿 용접 명령
스폿 용접 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 용접 전용 명령이며, 주로 용접하는 구간과 용접하지 않는 구간이 반복되는 간헐적 용접 시나리오에서 사용됩니다. 시작점과 종료점 사이에서 이 명령을 사용하고, 스폿 용접 모드, 시작점, 종료점, 디버그 속도, 아크 시작 DO 포트, 실행 길이, 비실행 길이를 설정합니다. 또한 실제 응용 시나리오에 따라 기능 모드, 위빙 선택, 라운딩 규칙을 설정하면 스폿 용접 기능을 구현할 수 있습니다. 자세한 조작은 프로그램 티칭 페이지의 스폿 용접 명령을 참조하십시오.
아크 종료/시작 명령 노드, 파라미터:
I/O 타입: 컨트롤러 I/O/확장 I/O
용접 프로세스 번호: 0 ~ 7
최대 대기 시간(ms): 0 ~ 10000
그림표 10.8-1 아크 종료/시작 명령 코드 블록
스폿 용접 명령 노드, 파라미터:
스폿 용접 모드: 자세 변화 없음/자세 변화 있음
시작점: 티칭 포인트
종료점: 티칭 포인트
디버그 속도(%): 0~100, 기본값 100
실행 길이: 0~1000
비실행 길이: 0~1000
기능 모드: 0~100, 기본값 100
위빙 선택: 실행 세그먼트에서 위빙 없음/실행 세그먼트에서 위빙 있음
라운딩 규칙: 라운딩 없음/순환 라운딩/단일 세그먼트 라운딩
그림표 10.8-2 스폿 용접 명령 코드 블록
10.8.2. 용접 명령
용접 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 주로 용접기 주변기기에 사용됩니다. 이 명령을 추가하기 전에 사용자 주변기기에서 용접기 설정이 완료되어 있는지 확인하십시오. 자세한 내용은 로봇 주변기기 장을 참조하십시오.
용접 전압 명령 노드, 파라미터:
I/O 타입: 컨트롤러 I/O/확장 I/O
용접기 전압: 최소값 0
용접 전류 제어 AO: Ctrl-AO0/Ctrl-AO1
평활 선택: Break/Serious
그림표 10.8-3 용접기 전압 명령 코드 블록
용접기 전류 명령 노드, 파라미터:
I/O 타입: 컨트롤러 I/O/확장 I/O
용접기 전류: 최소값 0
용접 전류 제어 AO: Ctrl-AO0/Ctrl-AO1
평활 선택: Break/Serious
그림표 10.8-4 용접기 전류 명령 코드 블록
가스 공급/정지 명령 노드, 파라미터:
I/O 타입: 컨트롤러 I/O/확장 I/O
그림표 10.8-5 가스 공급/정지 명령 코드 블록
와이어 정송/와이어 정송 정지 명령 노드, 파라미터:
I/O 타입: 컨트롤러 I/O/확장 I/O
그림표 10.8-6 와이어 정송/와이어 정송 정지 명령 코드 블록
와이어 역송/와이어 역송 정지 명령 노드, 파라미터:
I/O 타입: 컨트롤러 I/O/확장 I/O
그림표 10.8-7 와이어 역송/와이어 역송 정지 명령 코드 블록
10.8.3. 레이저 트래킹 명령
레이저 트래킹 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 레이저 명령, 트래킹 명령, 센싱 명령의 세 부분을 포함합니다. 이 명령을 추가하기 전에 사용자 주변기기에서 레이저 트래킹 센서가 정상적으로 설정되어 있는지 확인하십시오. 자세한 내용은 로봇 주변기기 장을 참조하십시오.
센서 On/Off 명령 노드, 파라미터:
용접부 타입 선택: 0 ~ 49
그림표 10.8-8 센서 On/Off - 용접부 타입 명령 코드 블록
작업 번호 선택: 0 ~ 255
그림표 10.8-9 센서 On/Off - 작업 번호 명령 코드 블록
솔루션: 0 ~ 5
그림표 10.8-10 센서 On/Off - 솔루션 명령 코드 블록
센서 로드/언로드 명령 노드, 파라미터:
기능 선택: 睿牛RRT-SV2-BP/創想CXZK-RBTA4L
그림표 10.8-11 센서 로드/언로드 명령 코드 블록
레이저 트래킹 시작/정지 명령 노드, 파라미터
좌표계 명칭: 사용자 정의 좌표계
그림표 10.8-12 레이저 트래킹 시작/정지 명령 코드 블록
레이저 센서 기록 명령 노드, 파라미터:
기능 선택: 기록 정지/실시간 트래킹/기록 시작/궤적 재생
기능 선택: 지연 시간/지연 거리
시간: 0 ~ 10000
확장축 번호: 1 ~ 4
거리: 0 ~ 10000
보상 감도 계수: 0 ~ 1
속도: 0 ~ 100
그림표 10.8-13 레이저 센서 기록 명령 코드 블록
센서 취점 운동 명령 노드, 파라미터:
좌표계 명칭: 사용자 정의 좌표계
운동 방식: PTP/Lin
디버그 속도(%): 0 ~ 100
자세 기준점: 티칭 포인트
그림표 10.8-14 센서 취점 운동 명령 코드 블록
레이저 트래킹 재생 명령 노드, 파라미터:
그림표 10.8-15 레이저 트래킹 재생 명령 코드 블록
센싱 시작/종료 명령 노드, 파라미터:
좌표계 명칭: 사용자 정의 좌표계
방향: -x/-x/-y/-y/-z/-z/지정 방향
방향점: `지정 방향`을 선택하지 않은 경우 이 파라미터는 유효하지 않습니다.
속도(%): 0 ~ 100
길이(mm): 0 ~ 1000
최대 센싱 시간(ms): 0 ~ 10000
그림 10.8-16 센싱 시작/종료 명령 코드 블록
10.8.4. 레이저 기록 명령
레이저 기록 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 레이저 트래킹 기록의 시작점과 종료점을 추출하는 기능을 구현하며, 로봇이 자동으로 시작점 위치로 이동할 수 있게 합니다. 워크 외부에서 운동을 시작해 레이저 트래킹 기록을 수행하는 경우에 적용됩니다. 동시에 상위 컴퓨터는 기록 데이터의 시작점 및 종료점 정보를 가져와 후속 운동에 사용할 수 있습니다.
레이저 트래킹 재생 속도 조절 기능도 제공하여, 로봇이 고속으로 기록한 뒤 일반 용접 속도로 재생할 수 있으므로 작업 효율을 높일 수 있습니다.
레이저 센서 기록 명령 노드, 파라미터:
기능 선택: 기록 정지/실시간 트래킹/기록 시작/궤적 재생
기능 선택: 지연 시간/지연 거리
시간: 0 ~ 10000
확장축 번호: 1 ~ 4
거리: 0 ~ 10000
보상 감도 계수: 0 ~ 1
속도: 0 ~ 100
그림 10.8-17 용접부 데이터 기록 명령 코드 블록
용접부 시작점/종료점 취득 명령 노드, 파라미터:
운동 방식: PTP/LIN
속도(%): 0~100, 기본값 30
그림 10.8-18 용접부 시작점/종료점 취득 명령 코드 블록
10.8.5. 와이어 센싱 명령
와이어 센싱 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 일반적으로 용접 시나리오에 적용되며, 용접기와 로봇의 IO 및 운동 명령을 함께 사용해야 합니다. 센싱 시작, 센싱 종료, 센싱점 설정, 오프셋 계산, 접촉점 데이터 쓰기로 구성됩니다.
와이어 센싱 시작/종료 명령 노드, 파라미터:
기준 위치: 갱신 안 함/갱신
센싱 속도: 0~100
센싱 거리: 0~1000
자동 복귀 플래그: 자동 복귀 안 함/자동 복귀
자동 복귀 속도: 0~100
자동 복귀 거리: 0~1000
센싱 방식: 교시점 센싱/오프셋 포함 센싱
그림 10.8-19 와이어 센싱 시작/종료 명령 코드 블록
센싱점 설정은 용접부 유형과 계산 방식에 따라 포인트를 추가합니다.
유형이 필릿 용접이고 계산 방식이 1D(xyz 중 1개)인 경우, a점과 b점 중에서 선택해 포인트를 추가합니다.
유형이 필릿 용접이고 계산 방식이 2D(xyz 중 2개)인 경우, a점, b점, e점, f점 중에서 선택해 포인트를 추가합니다.
유형이 필릿 용접이고 계산 방식이 3D(xyz)인 경우, a점, b점, c점, d점, e점, f점 중에서 선택해 포인트를 추가합니다.
유형이 필릿 용접이고 계산 방식이 2D-(xyz 중 2개, rxryrz 중 1개)인 경우, a점, b점, c점, d점, e점, f점 중에서 선택해 포인트를 추가합니다.
유형이 내경/외경이고 계산 방식이 2D2D(xyz 중 2개)인 경우, a점과 b점 중에서 선택해 포인트를 추가합니다.
유형이 점이고 계산 방식이 3D(xyz)인 경우, a점, b점, c점, d점, e점, f점 중에서 선택해 포인트를 추가합니다.
유형이 카메라고 계산 방식이 3D-(xyzrxryrz)인 경우, a점과 b점 중에서 선택해 포인트를 추가합니다.
유형이 면이고 계산 방식이 3D-(xyzrxryrz)인 경우, a점과 b점 중에서 선택해 포인트를 추가합니다.
그림 10.8-20 센싱점 설정 가이드 명령 코드 블록
오프셋 계산은 용접부 유형과 계산 방식에 따라 기준점과 접촉점을 설정합니다.
유형이 필릿 용접이고 계산 방식이 1D(xyz 중 1개)인 경우, 기준점 1과 접촉점 1을 설정합니다.
유형이 필릿 용접이고 계산 방식이 2D(xyz 중 2개)인 경우, 기준점 1, 기준점 2, 접촉점 1, 접촉점 2를 설정합니다.
유형이 필릿 용접이고 계산 방식이 3D(xyz)인 경우, 기준점 1, 기준점 2, 기준점 3, 접촉점 1, 접촉점 2, 접촉점 3을 설정합니다.
유형이 필릿 용접이고 계산 방식이 2D-(xyz 중 2개, rxryrz 중 1개)인 경우, 기준점 1, 기준점 2, 기준점 3, 접촉점 1, 접촉점 2, 접촉점 3을 설정합니다.
유형이 내경/외경이고 계산 방식이 2D2D(xyz 중 2개)인 경우, 기준점 1, 기준점 2, 기준점 3, 접촉점 1, 접촉점 2, 접촉점 3을 설정합니다.
유형이 점이고 계산 방식이 3D(xyz)인 경우, 접촉점 1과 접촉점 2를 설정합니다.
유형이 카메라고 계산 방식이 3D-(xyzrxryrz)인 경우, 접촉점 1과 접촉점 2를 설정합니다.
유형이 면이고 계산 방식이 3D-(xyzrxryrz)인 경우, 접촉점 1, 접촉점 2, 접촉점 3, 접촉점 4, 접촉점 5, 접촉점 6을 설정합니다.
그림 10.8-21 오프셋 계산 명령 코드 블록
접촉점 데이터 쓰기 명령 노드, 파라미터:
접촉점 이름: RES0~99
접촉점 데이터 형식: {0,0,0,0,0,0}
그림 10.8-22 접촉점 데이터 쓰기 명령 코드 블록
10.8.6. 아크 트래킹 명령
아크 트래킹 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 로봇의 용접부 트래킹에서 용접부 편차를 검출해 보정 궤적을 수행하는 기능을 구현하며, 아크 센서를 사용해 용접부 편차를 감지할 수 있습니다.
아크 트래킹 시작/종료 명령 노드, 파라미터:
아크 트래킹 지연 시간(ms): 참고값 50
편차 보정: 꺼짐/켜짐
조정 계수: 0 ~ 300
보정 시간(cyc): 0 ~ 300
회당 최대 보정량(mm): 0 ~ 300
누적 최대 보정량(mm): 0 ~ 300
상하 좌표계 선택: 위빙
상하 기준 전류 설정 방식: 피드백/상수
상하 기준 전류(A): 0 ~ 300
그림 10.8-23 아크 트래킹 명령 코드 블록
10.8.7. 자세 조정 명령
자세 조정 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 용접 트래킹 시 토치 자세를 자동 적응 방식으로 조정하는 시나리오를 대상으로 하며, 먼저 PosA, PosB, PosC의 3개 포인트를 교시해야 합니다. 그렇지 않으면 노드를 추가할 수 없습니다.
세 개의 대응 자세점을 기록한 후, 로봇의 실제 운동 방향에 따라 자세 자동 적응 조정 명령을 추가합니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.
자세 조정 시작 명령 노드, 파라미터:
판재 유형: 코리게이트 판/골판지/펜스 판/코리게이트 갑각강
운동 방향: 좌에서 우/우에서 좌
자세 조정 시간(ms): 0 ~ 1000
제1 세그먼트 길이(mm):
코너점 유형: 위에서 아래/아래에서 위
제2 세그먼트 길이(mm):
제3 세그먼트 길이(mm):
제4 세그먼트 길이(mm):
제5 세그먼트 길이(mm):
그림 10.8-24 자세 조정 명령 코드 블록
10.9. 힘 제어 클래스 그래픽 프로그래밍 명령
힘 제어 클래스 그래픽 프로그래밍 명령에는 힘 제어 세트, 토크 기록 등의 힘 제어 명령이 포함됩니다.
그림 10.9 힘 제어 클래스 그래픽 프로그래밍 명령
10.9.1. 힘 제어 명령
힘 제어 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 FT_Guard(충돌 검출), FT_Control(정력 제어), FT_Compliance(유순 제어), FT_Spiral(스파이럴 삽입), FT_Rot(회전 삽입), FT_Lin(직선 삽입), FT_FindSurface(표면 위치결정), FT_CalCenter(중심 위치결정)의 8개 명령을 포함합니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.
충돌 검출 시작/종료 명령 노드, 파라미터:
좌표계 이름: 사용자 정의 좌표계
Fx-Tx 참값: true/false
Fx-Tx 현재값: 실제 상황에 맞게 입력
Fx-Tx 최대 임계값: 실제 상황에 맞게 입력
Fx-Tx 최소 임계값: 실제 상황에 맞게 입력
그림 10.9-1 충돌 검출 시작/종료 명령 코드 블록
제어 시작/종료 명령 노드, 파라미터:
좌표계 이름: 사용자 정의 좌표계
Fx-Tx 참값: true/false
Fx-Tx 현재값: 실제 상황에 맞게 조정
F_P_gain - F_D_gain: 실제 상황에 맞게 조정하며, `0`으로 설정할 수 없습니다.
자동 적응 시작/정지 상태: 정지/시작
ILC 제어 시작/정지 상태: 정지/트레이닝/실행
최대 조정 거리(mm): 0 ~ 1000
최대 조정 각도(°): 0 ~ 1000
그림 10.9-2 제어 시작/종료 명령 코드 블록
유순 제어 시작/종료 명령 노드, 파라미터:
지령 위치 조절 계수: 0 ~ 1
유순 제어 시작 힘 임계값(N): 0 ~ 100
그림 10.9-3 유순 제어 시작/종료 명령 코드 블록
스파이럴 삽입 명령 노드, 파라미터:
좌표계 이름: 툴 좌표계/베이스 좌표
회당 반경 이송량(mm): 0 ~ 100, 참고값 0.7
힘 또는 모멘트 임계값(N/Nm): 0 ~ 100, 참고값 50
최대 탐색 시간(ms): 0 ~ 60000, 참고값 60000
최대 선속도(mm/s): 0 ~ 100, 참고값 5
그림 10.9-4 스파이럴 삽입 명령 코드 블록
회전 삽입 명령 노드, 파라미터:
좌표계 이름: 툴 좌표계/베이스 좌표
회전 각속도(°/s): 0 ~ 100, 참고값 0.7
트리거 힘 또는 종료 모멘트(N/Nm): 0 ~ 100, 참고값 50
최대 회전 각도(°): 0 ~ 100, 참고값 5
힘 방향: 방향 z/방향 mz
최대 회전 각가속도(°/s^2): 0 ~ 100
삽입 방향: 정/부
그림 10.9-5 회전 삽입 명령 코드 블록
직선 삽입 명령 노드, 파라미터:
좌표계 이름: 툴 좌표계/베이스 좌표
동작 종료 힘 임계값(N): 0 ~ 100
직선 속도(mm/s): 0 ~ 100, 참고값 1
직선 가속도(°/s^2): 0 ~ 100
최대 삽입 거리(mm): 0 ~ 100
삽입 방향: 정/부
그림 10.9-6 직선 삽입 명령 코드 블록
표면 위치결정 명령 노드, 파라미터:
좌표계 이름: 툴 좌표계/베이스 좌표
이동 방향: 정/부
이동 축: X/Y/Z
탐색 직선 속도(mm/s): 0 ~ 100
탐색 가속도(mm/s^2): 0 ~ 100
최대 탐색 거리(mm): 0 ~ 100
동작 종료 힘 임계값(N): 0 ~ 100
그림 10.9-7 표면 위치결정 명령 코드 블록
중간 평면 계산 시작/종료 명령 노드.
그림 10.9-8 중간 평면 계산 시작/종료 명령 코드 블록
10.9.2. 토크 기록 명령
토크 기록 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 토크 기록 명령으로, 토크 기록 시작/`토크 기록 정지`와 `토크 기록 리셋`의 세 가지 명령을 포함합니다.
토크를 실시간으로 기록하여 충돌 검출 기능을 구현합니다.
토크 기록 시작 버튼을 클릭하면 운동 명령 실행 과정의 충돌 상황을 지속적으로 기록합니다. 기록된 실시간 토크는 충돌 검출 판단의 이론값으로 사용되어 오탐 확률을 줄입니다.
설정된 임계값 범위를 초과하면 충돌 검출 지속 시간을 기록합니다.
토크 기록 정지 버튼을 클릭하면 기록을 중지합니다. `토크 기록 리셋`을 클릭하면 상태가 기본 상태로 돌아갑니다.
토크 기록 시작 명령 노드, 파라미터:
평활화 선택: 평활화 없음(원시 데이터)/평활화 있음(평활화 후 데이터)
관절 음의 임계값(Nm): -100 ~ 0
관절 양의 임계값(Nm): 0 ~ 100
관절 지속 충돌 검출 시간(ms): 0 ~ 1000
그림 10.9-9 토크 기록 시작 명령 코드 블록
토크 기록 종료 명령 노드
그림 10.9-10 토크 기록 종료 명령 코드 블록
토크 기록 리셋 명령 노드
그림 10.9-11 토크 기록 리셋 명령 코드 블록
10.10. 통신 클래스 그래픽 프로그래밍 명령
통신 클래스 그래픽 프로그래밍 명령에는 modbus 마스터 스테이션 설정(클라이언트), modbus 슬레이브 스테이션 설정, 레지스터 읽기 등의 통신 명령이 포함됩니다.
그림 10.10 통신 클래스 그래픽 프로그래밍 명령
10.10.1. Modbus 명령
Modbus 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령 기능은 ModbusTCP 프로토콜 기반의 버스 기능입니다. 사용자는 관련 명령을 통해 로봇과 ModbusTCP client 또는 server 간의 통신(마스터 스테이션과 슬레이브 스테이션 간 통신)을 제어하고, 코일, 이산량, 레지스터의 읽기/쓰기 작업을 수행할 수 있습니다. ModbusTCP의 기타 조작 기능은 당사에 문의하십시오.
modbus 노드 기능을 사용하기 전에, 먼저 교시 프로그램의 ModbusTCP 설정에서 마스터 스테이션, 슬레이브 스테이션, 그리고 DI, DO, AI, AO 이름을 설정해야 합니다.
마스터 스테이션 디지털 출력 설정, 파라미터:
Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정
DO 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1
그림 10.10-1 마스터 스테이션 디지털 출력 읽기/쓰기 명령 코드 블록
마스터 스테이션 디지털 입력 설정, 파라미터:
Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정
DI 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
그림 10.10-2 마스터 스테이션 디지털 입력 읽기 명령 코드 블록
마스터 스테이션 아날로그 출력 설정, 파라미터:
Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정
AO 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1
그림 10.10-3 마스터 스테이션 아날로그 출력 읽기/쓰기 명령 코드 블록
마스터 스테이션 아날로그 입력 설정, 파라미터:
Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정
AI 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
그림 10.10-4 마스터 스테이션 아날로그 입력 읽기 명령 코드 블록
마스터 스테이션 대기 디지털 입력 설정, 파라미터:
Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정
DI 이름: 실제 상황에 맞게 설정
대기 상태: true/false
타임아웃 시간(ms): 정수형 0 ~ 128
그림 10.10-5 마스터 스테이션 대기 디지털 입력 명령 코드 블록
마스터 스테이션 대기 아날로그 입력 설정, 파라미터:
Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정
AI 이름: 실제 상황에 맞게 설정
대기 상태: 큼/작음
레지스터 개수: 정수형 0 ~ 128
레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다.
그림 10.10-6 마스터 스테이션 대기 아날로그 입력 명령 코드 블록
슬레이브 스테이션 디지털 출력 설정, 파라미터:
DO 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1
그림 10.10-7 슬레이브 스테이션 디지털 출력 읽기/쓰기 명령 코드 블록
슬레이브 스테이션 디지털 입력 설정, 파라미터:
DI 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
그림 10.10-8 슬레이브 스테이션 디지털 입력 읽기 명령 코드 블록
슬레이브 스테이션 아날로그 출력 설정, 파라미터:
AO 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1
그림 10.10-9 슬레이브 스테이션 아날로그 출력 읽기/쓰기 명령 코드 블록
슬레이브 스테이션 아날로그 입력 설정, 파라미터:
AI 이름: 실제 상황에 맞게 설정
레지스터 개수: 정수형 0 ~ 128
그림 10.10-10 슬레이브 스테이션 아날로그 입력 읽기 명령 코드 블록
슬레이브 스테이션 대기 디지털 입력 설정, 파라미터:
DI 이름: 실제 상황에 맞게 설정
대기 상태: true/false
타임아웃 시간(ms): 정수형
그림 10.10-11 슬레이브 스테이션 대기 디지털 입력 명령 코드 블록
슬레이브 스테이션 대기 아날로그 입력 설정, 파라미터:
AI 이름: 실제 상황에 맞게 설정
대기 상태: 큼/작음
레지스터 개수: 정수형 0 ~ 128
레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다.
그림 10.10-12 슬레이브 스테이션 대기 아날로그 입력 명령 코드 블록
레지스터 읽기 명령, 파라미터:
기능 코드: 0x01-코일/0x02-이산량/0x03-보유 레지스터/0x04-입력 레지스터
레지스터, 코일, 이산량 주소: 실제 상황에 맞게 입력
레지스터, 코일, 이산량 개수: 0 ~ 255
주소: 실제 상황에 맞게 입력
스레드 적용 여부: 아니오/예
그림 10.10-13 레지스터 읽기 명령 코드 블록
레지스터 데이터 읽기 명령, 파라미터:
레지스터, 코일, 이산량 개수: 0 ~ 255
스레드 적용 여부: 아니오/예
그림 10.10-14 레지스터 데이터 읽기 명령 코드 블록
레지스터 쓰기 명령, 파라미터:
기능 코드: 0x01-코일/0x02-이산량/0x03-보유 레지스터/0x04-입력 레지스터
레지스터, 코일 주소: 실제 상황에 맞게 입력
레지스터, 코일 개수: 0 ~ 255
바이트 배열: 실제 상황에 맞게 입력
주소: 실제 상황에 맞게 입력
스레드 적용 여부: 아니오/예
그림 10.10-15 레지스터 쓰기 명령 코드 블록
10.11. 고급 클래스 그래픽 프로그래밍 명령
고급 클래스 그래픽 프로그래밍 명령에는 dofile 서브루틴 호출, 보조 스레드, 접기 명령 등의 고급 명령이 포함됩니다.
그림 10.11 고급 클래스 그래픽 프로그래밍 명령
10.11.1. 접기 명령
접기 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 여러 줄의 코드 블록을 접어서 표시해 사용자가 코드 블록을 더 쉽게 읽을 수 있도록 합니다.
접기 명령 노드, 파라미터:
코드 블록 이름: 접기 코드 블록 이름 지정
그림 10.11-1 접기 명령 코드 블록
10.11.2. 서브루틴 호출 명령
서브루틴 호출 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 서브루틴 호출 명령입니다. 프로그램 내에 이 명령을 삽입하면, 프로그램이 이 명령을 실행하는 시점에 로봇은 일시정지 상태가 됩니다. 계속 실행하려면 제어 영역의 일시정지/재개 키를 클릭합니다.
서브루틴 호출 명령 노드, 파라미터:
dofile 파일: 생성되는 파일명
호출 계층: 제1 계층/제2 계층
id 번호: 소속 계층에 대응하는 위치 id
그림 10.11-2 서브루틴 호출 명령 코드 블록
10.11.3. 보조 스레드 명령
보조 스레드 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
Thread 명령은 보조 스레드 기능입니다. 사용자는 보조 스레드를 정의해 메인 스레드와 동시에 실행할 수 있습니다. 보조 스레드는 주로 외부 장치와의 데이터 교환에 사용되며, socket 통신, 로봇 DI 상태 획득, 로봇 DO 상태 설정, 로봇 상태 정보 획득, 메인 스레드와의 데이터 교환을 지원합니다. 메인 스레드는 보조 스레드에서 얻은 데이터를 사용해 로봇 운동 로직을 판단합니다.
보조 스레드 명령 노드, 파라미터:
메서드 이름: 보조 스레드 이름
호출 함수: 보조 스레드 호출 함수값
그림 10.11-3 보조 스레드 코드 블록
10.11.4. 포인트 테이블 명령
포인트 테이블 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 주로 시스템 모드와 포인트 테이블 모드 간 전환에 사용되며, 포인트 테이블을 전환하여 서로 다른 포인트 테이블의 교시 포인트를 적용합니다. 자세한 내용은 12장 `교시점`을 참조하십시오.
포인트 테이블 명령 노드, 파라미터:
포인트 테이블 모드: 다른 포인트 테이블 이름으로 전환
그림 10.11-4 포인트 테이블 코드 블록
10.11.5. 초점 추종 명령
초점 추종 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.
이 명령은 주로 로봇 운동 과정에서 항상 하나의 점을 향하도록 추종 이동할 때 사용됩니다.
초점 추종 명령 노드, 파라미터:
파라미터 비례값: 0~100, 기본값 50
피드포워드 파라미터: 0~1000, 기본값 19
최대 각속도 가속도 제한: 0~10000, 기본값 1440
최대 각속도 제한: 0~1000, 기본값 180
X축 지향 잠금: 기준 입력 벡터/수평/수직
그림 10.11-5 초점 추종 코드 블록
10.12. 그래픽 프로그래밍 명령 사용 예
그래픽 프로그래밍 타입을 선택한 뒤 사용할 그래픽 코드 블록을 클릭하면, 워크스페이스에서 드래그 앤 드롭과 연결 작업을 수행할 수 있습니다.
예를 들어 PTP와 Lin 운동 명령, 그리고 제어 명령 Waitms를 선택해 연결하고, 바깥쪽에 접기 고급 명령을 중첩한 뒤 주석 이름을 입력하면 코드 블록 접기 기능을 사용할 수 있습니다.
또한 드롭다운 메뉴를 클릭하면 명령 파라미터 타입을 선택할 수 있고, 입력 상자에 명령 파라미터 데이터를 입력할 수 있습니다. 그래픽 프로그래밍 명령 예시는 다음과 같습니다:
그림 10.12-1 그래픽 프로그래밍 명령 예
그래픽 프로그래밍 명령의 연결과 파라미터 입력이 끝난 후 워크스페이스 이름을 입력하고 저장 아이콘을 클릭하면 현재 프로그램을 저장할 수 있습니다. 생성이 완료된 `워크스페이스`를 선택한 뒤 실행 시작을 클릭하면 이 프로그램이 실행됩니다.
10.12.1. 그래픽 프로그래밍 코드 블록 모듈화
그래픽 프로그래밍 코드의 가독성을 높이기 위해 그래픽 프로그래밍 코드 블록 모듈화 기능, 즉 고급 명령인 접기 명령 코드 블록이 추가되었습니다.
그림 10.12-2 접기 명령 코드 블록
한 단의 코드 블록 명령을 만든 뒤, 바깥쪽에 접기 명령 코드 블록을 추가하고 입력 상자에 이 명령의 비고를 입력합니다.
그림 10.12-3 접기 명령 효과도
조작 바에서 `접기 블록`을 마우스 오른쪽 버튼으로 클릭하면 해당 명령 코드 블록이 접히며, 코드 블록이 한 줄 표시로 축약됩니다. 접힌 상태에서도 프로그램은 정상적으로 실행됩니다.
그림 10.12-4 접기 후 효과도
마우스 휠을 스크롤하면 페이지 확대/축소 기능을 사용할 수 있으며, 효과는 아래와 같습니다:
그림 10.12-5 페이지 확대/축소 기능 효과도
10.12.2. 그래픽 프로그래밍 동명 덮어쓰기
그래픽 프로그래밍 페이지에서 새로 만들기/파일 불러오기 후 워크스페이스 이름을 변경하고 저장을 클릭합니다. 변경한 워크스페이스 이름의 파일이 이미 존재하면 교시점이 이미 존재합니다 팝업창이 표시됩니다. 아래 그림을 참조하십시오.
그림 10.12-6 그래픽 프로그래밍 프로그램 덮어쓰기
단계 1: 취소 버튼을 클릭하면 이전 작업을 계속합니다.
단계 2: 교시 프로그램 동기 업데이트 체크박스를 클릭한 뒤 덮어쓰기 버튼을 클릭하면, 현재 그래픽 프로그래밍 페이지의 lua 프로그램이 변경된 워크스페이스 파일명의 lua 프로그램을 덮어씁니다.
10.12.3. 그래픽 프로그래밍 프로그램 미저장 확인
그래픽 프로그래밍 페이지에서 프로그램을 열거나 새로 만든 뒤, 그래픽 프로그래밍 프로그램에 변경이 발생했지만 저장되지 않은 경우입니다.
열기 파일 작업을 클릭하면 이 프로그램을 저장하시겠습니까? 팝업창이 표시되며, `현재 프로그램이 변경되었습니다. 이 프로그램의 변경사항을 저장하시겠습니까?`라는 메시지가 나타납니다. 아래 그림을 참조하십시오.
그림 10.12-7 현재 페이지 프로그램 미저장 확인
단계 1: 저장 안 함 버튼을 클릭하면 앞서 수행한 열기 파일 작업을 계속합니다.
단계 2: 저장 버튼을 클릭하면 저장되지 않은 lua 프로그램이 정상적으로 저장되고, 앞선 열기 파일 작업을 계속합니다.
그래픽 프로그래밍 페이지를 벗어나 다른 페이지로 전환할 때도 동일하게 이 프로그램을 저장하시겠습니까? 안내가 표시되며, 현재 그래픽 프로그래밍 페이지에 그대로 머무르게 됩니다. 아래 그림을 참조하십시오.
그림 10.12-8 페이지 전환 시 프로그램 미저장 확인
단계 1: 저장 안 함 버튼을 클릭하면 이전에 선택한 페이지로 이동합니다.
단계 2: 저장 버튼을 클릭하면 저장되지 않은 lua 프로그램이 정상적으로 저장되고, 이전에 선택한 페이지로 이동합니다. 저장하려는 프로그램 이름이 이미 존재하면 교시 포인트가 이미 존재하는지, 덮어쓸 것인지에 대한 안내가 표시됩니다. 취소/덮어쓰기 작업 후 이전에 선택한 페이지로 이동합니다.