10. 그래픽 프로그래밍

10.1. 개요

일반적으로 티치 펜던트에는 키보드나 마우스 같은 주변기기가 연결되지 않으므로, 티치 펜던트에서 로봇 WebAPP에 접근할 때 사용자는 그래픽 프로그래밍 기능을 이용해 로봇의 티칭 프로그램을 편집할 수 있습니다. 기능 표준화 함수는 Blockly 라이브러리를 사용해 구현되며, WebAPP 시스템에 통합할 수 있고 필요에 따라 사용자 정의 코드 블록도 구현할 수 있습니다. 또한 드래그 앤 드롭으로 프로그래밍을 마치면 LUA 프로그램으로 변환되어 기존 명령 프로토콜을 통해 실행됩니다.

그래픽 프로그래밍을 사용하면 간단하고 이해하기 쉬우며 조작이 편리한 방식으로 프로그램을 작성할 수 있습니다.

페이지는 조작 바, toolbox 도구 모음, `workspace 코드 편집 영역`의 세 영역으로 나뉘며, 전체 레이아웃은 아래 그림과 같습니다.

../_images/0016.png

그림표 10.1-1 그래픽 프로그래밍 인터페이스

조작 바

  1. 불러오기: 워크스페이스를 다시 불러옵니다.

  2. 가져오기: 관련 그래픽 프로그래밍 프로그램을 가져옵니다.

  3. 내보내기: 저장된 워크스페이스의 그래픽 프로그래밍 프로그램을 내보냅니다. 저장 버튼은 코드 블록 편집이 끝난 뒤 이를 대응하는 티칭 프로그램으로 저장합니다.

  4. 저장: 편집한 그래픽 코드 블록을 저장합니다.

  5. 지우기: 코드 편집 영역을 빠르게 비웁니다.

  6. 코드: 코드 블록을 Lua 코드로 변환합니다.

Toolbox

  1. 모든 명령과 논리 코드 블록을 포함하며, 워크스페이스로 드래그해 코드 블록을 작성하고 편집할 수 있습니다.

  2. Toolbox 도구 모음은 명령 타입에 따라 다시 세분화됩니다.

  3. 논리 클래스 명령: if-else, while

  4. 기본 운동 클래스 명령: PTP, LIN, ARC 등. 또한 실링, 용접, 컨베이어 등 응용 시나리오에 따른 명령 분류도 제공되어 필요한 코드 블록을 쉽게 찾을 수 있습니다.

Workspace: 코드 편집 영역에서는 그래픽 코드 블록을 편집하고 표시할 수 있습니다.

10.2. 논리 클래스 그래픽 프로그래밍 명령

논리 클래스 그래픽 프로그래밍 명령에는 루프, 수치 등 논리 명령이 포함됩니다.

../_images/0036.png

그림표 10.2 논리 클래스 그래픽 프로그래밍

10.2.1. If/Else 판단 명령

If/Else 판단 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다. 이 명령은 어느 정도의 프로그래밍 기초 지식이 필요합니다. 도움이 필요하면 당사에 문의하십시오.

../_images/0214.png

그림표 10.2-1 If/Else 판단 명령 코드 블록

10.2.2. While 명령

While 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다. 이 명령도 어느 정도의 프로그래밍 기초 지식이 필요합니다. 도움이 필요하면 당사에 문의하십시오.

While 뒤에 입력 대기 조건을 추가하고, while 내부에 운동 명령 코드 블록을 추가한 뒤 저장을 클릭합니다. 조작을 쉽게 하기 위해 do 내용은 임의로 입력한 뒤, 프로그램 안에서 다른 명령을 편집하여 삽입하고 교체할 수 있습니다.

../_images/0224.png

그림표 10.2-2 While 명령 코드 블록

10.2.3. 점프 명령

점프 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다. 이 명령 역시 어느 정도의 프로그래밍 기초 지식이 필요합니다. 도움이 필요하면 당사에 문의하십시오.

  • 점프 명칭: 점프 명칭을 입력해 점프 위치를 결정합니다.

../_images/0234.png

그림표 10.2-3 점프 명령 코드 블록

중요

점프 명칭은 숫자로 시작할 수 없습니다.

10.3. 변수 클래스 그래픽 프로그래밍 명령

변수 클래스 그래픽 프로그래밍 명령에는 변수 생성 명령이 포함됩니다.

../_images/0046.png

그림표 10.3 변수 클래스 그래픽 프로그래밍

10.3.1. 변수 명령

생성 버튼을 클릭하면 정의할 변수명을 입력할 수 있습니다.

변수 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

변수 명령 노드, 파라미터:

../_images/0244.png

그림표 10.3-1 변수 명령 코드 블록

10.4. 함수 클래스 그래픽 프로그래밍 명령

함수 클래스 그래픽 프로그래밍 명령에는 함수 생성 명령이 포함됩니다.

../_images/0056.png

그림표 10.4 함수 클래스 그래픽 프로그래밍

10.4.1. 함수 메서드 명령

함수 메서드 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

함수 메서드 명령 노드, 파라미터:

  • 함수명: 실행할 함수명

../_images/0254.png

그림표 10.4-1 함수 메서드 명령 코드 블록

10.5. 운동 클래스 그래픽 프로그래밍 명령

운동 클래스 그래픽 프로그래밍 명령에는 PTP, Lin, ARC 등의 운동 명령이 포함됩니다.

../_images/0066.png

그림표 10.5 운동 클래스 그래픽 프로그래밍

10.5.1. 포인트투포인트 명령

포인트투포인트 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

도달하려는 포인트를 선택할 수 있습니다. 부드러운 전환 시간 설정을 통해 이 포인트에서 다음 포인트로의 운동을 연속적으로 수행할 수 있습니다. 오프셋 설정 여부를 선택할 수 있고, 베이스 좌표계 기반 오프셋과 툴 좌표 기반 오프셋을 선택할 수 있으며, x, y, z, rx, ry, rz 오프셋량 설정 팝업이 표시됩니다. PTP의 구체적인 경로는 운동 컨트롤러가 자동 계획하는 최적 경로입니다.

포인트투포인트 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100

  • 정지: false/true

  • 부드러운 전환(ms): 부드러운 전환 시간 0 ~ 500

  • 오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.

  • dx~drz: 오프셋량

../_images/0265.png

그림표 10.5-1 포인트투포인트 명령 코드 블록

10.5.2. 직선 명령

직선 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령의 기능은 포인트투포인트 명령과 유사하지만, 이 명령으로 도달하는 포인트까지의 경로는 직선입니다.

직선 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100

  • 정지: false/true, true 선택 시 부드러운 전환 파라미터 값은 유효하지 않습니다.

  • 부드러운 전환(mm): 부드러운 전환 반경 0 ~ 1000

  • 센싱 여부: false/true

  • 센싱 포인트 변수: REF0~99/RES0~99, 센싱 여부가 `false`일 때는 유효하지 않습니다.

  • 오프셋 여부: 없음

  • 관절 과속 보호: 없음/있음

  • 처리 전략: 표준/과속 시 오류 정지/적응 감속

  • 허용 감속 임계값: 0~100

../_images/0275.png

그림표 10.5-2 직선 명령 코드 블록

10.5.3. 직선(통과점 각속도 조정 가능) 명령

직선(통과점 각속도 조정 가능) 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령의 기능은 포인트투포인트 명령과 유사하지만, 이 명령은 통과점 각속도 조정을 포함합니다.

직선(통과점 각속도 조정 가능) 명령 노드, 파라미터:

  • 최대 각속도: 0~300

../_images/0285.png

그림표 10.5-3 직선(통과점 각속도 조정 가능) 명령 코드 블록

10.5.4. 직선(seamPos) 명령

직선(seamPos) 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령 기능은 용접 시나리오에서 레이저 센서를 사용할 때 적용됩니다.

직선(seamPos) 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100

  • 정지: false/true, true 선택 시 부드러운 전환 파라미터 값은 유효하지 않습니다.

  • 부드러운 전환(mm): 부드러운 전환 반경 0 ~ 1000

  • 용접부 캐시 데이터 선택: 계획 데이터 실행/기록 데이터 실행

  • 판재 타입: 골판/골판지/펜스판/오일 드럼/골판 갑각강

  • 오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋/레이저 원시 데이터 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.

  • dx~drz: 오프셋량

../_images/0294.png

그림표 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

../_images/0304.png

그림표 10.5-5 원호 명령 코드 블록

10.5.6. 완전 원 명령

완전 원 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

완전 원 명령 노드를 클릭하면 노드 그래프 편집 인터페이스로 들어갑니다.

완전 원 운동은 두 개의 포인트를 포함하며, 첫 번째 포인트는 완전 원 중간 경유점 1, 두 번째 포인트는 완전 원 중간 경유점 2입니다. 경유점 2에서 오프셋 여부를 설정할 수 있으며, 이 오프셋량은 경유점 1과 경유점 2 모두에 동시에 적용됩니다.

완전 원 명령 노드, 파라미터:

  • 완전 원 중간점 1: 티칭 포인트

  • 완전 원 중간점 2: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100

  • 오프셋 여부: 없음/베이스 좌표 오프셋/툴 좌표 오프셋. 없음`을 선택하면 `dx~drz 파라미터 값은 유효하지 않습니다.

  • dx~drz: 오프셋량

../_images/0313.png

그림표 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

../_images/0324.png

그림표 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

  • 회전 방향: 시계 방향/반시계 방향

../_images/0334.png

그림표 10.5-8 신규 스파이럴 명령 코드 블록

10.5.9. 수평 스파이럴 명령

수평 스파이럴 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

H-Spiral 명령은 수평 공간 스파이럴 선 운동이며, 단일 세그먼트 운동(직선) 명령 뒤에 설정됩니다.

수평 스파이럴 명령 노드, 파라미터:

  • 스파이럴 반경: 0~100mm

  • 스파이럴 각속도: 0~2회전/초

  • 회전 방향: 스파이럴 시계 방향/반시계 방향

  • 스파이럴 경사각: 0~40°

../_images/0344.png

그림표 10.5-9 수평 스파이럴 명령 코드 블록

10.5.10. 스플라인 명령

스플라인 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 스플라인 그룹 시작, 스플라인 세그먼트, 스플라인 그룹 종료의 세 부분으로 나뉩니다. 스플라인 그룹 시작은 스플라인 운동의 시작 표시입니다. 스플라인 세그먼트는 현재 노드 그래프에서 SPL 세그먼트만 포함합니다. 스플라인 그룹 종료는 스플라인 운동의 종료 표시입니다.

스플라인-SPTP 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100

../_images/0354.png

그림표 10.5-10 스플라인 명령 코드 블록

10.5.11. 신규 스플라인 명령

신규 스플라인 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 스플라인 명령 알고리즘 최적화 명령이며, 이후 기존 스플라인 명령을 대체합니다. 이 명령은 다점 궤적 시작, 다점 궤적 세그먼트, 다점 궤적 종료의 세 부분으로 나뉩니다. 다점 궤적 시작은 다점 궤적 운동의 시작 표시입니다. 다점 궤적 세그먼트에서는 각 궤적점을 설정하며, 아이콘을 클릭해 포인트 추가 인터페이스로 들어갑니다. 다점 궤적 종료는 다점 궤적 운동의 종료 표시이며, 여기서 제어 모드와 디버그 속도를 설정할 수 있습니다. 제어 모드는 주어진 제어점과 주어진 경로점으로 나뉩니다.

신규 스플라인 명령 노드, 파라미터:

  • 제어 모드: 티칭 포인트

  • 전체 평균 연결 시간: 정수형, 10 이상, 기본값 2000ms

신규 스플라인-SPL 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100

  • 부드러운 전환 반경: 0 ~ 1000

  • 최종 포인트 여부: 아니오/예

../_images/0364.png

그림표 10.5-11 신규 스플라인 명령 코드 블록

10.5.12. 위빙 명령

위빙 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

위빙 명령 노드, 파라미터:

  • 번호: 0~7

../_images/0373.png

그림표 10.5-12 위빙 명령 코드 블록

10.5.13. 포인트 오프셋 명령

포인트 오프셋 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 전체 오프셋 명령이며, 각 오프셋량을 입력하면 운동 명령은 베이스 좌표(또는 워크 좌표)를 기준으로 오프셋됩니다.

포인트 오프셋 명령 노드, 파라미터:

  • ∆x: 오프셋량, -300~300

  • ∆y: 오프셋량, -300~300

  • ∆z: 오프셋량, -300~300

  • ∆rx: 오프셋량, -300~300

  • ∆ry: 오프셋량, -300~300

  • ∆rz: 오프셋량, -300~300

../_images/0383.png

그림표 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

../_images/0393.png

그림표 10.5-14 서보 명령 코드 블록

10.5.15. 궤적 명령

궤적 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령을 사용하려면 먼저 기록된 궤적이 필요합니다.

궤적 명령 노드, 파라미터:

  • 궤적 파일 선택: 기록된 궤적

  • 디버그 속도(%): 0 ~ 100, 기본값 25

../_images/0403.png

그림표 10.5-15 궤적 명령 코드 블록

10.5.16. 궤적 J 명령

궤적 J 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령을 사용하려면 먼저 기록된 궤적이 필요하며, 티칭 프로그램 인터페이스에서 미리 궤적 파일을 가져올 수 있습니다. 궤적 명령과 궤적 J 명령은 카메라가 직접 궤적을 지정하는 범용 인터페이스에 적용되며, 고정 형식의 이산 궤적점 파일이 이미 있을 경우 이를 시스템으로 가져와 로봇이 해당 파일의 궤적을 따라 움직이도록 할 수 있습니다.

궤적 J 명령 노드, 파라미터:

  • 궤적 파일 선택: 기록된 궤적

  • 디버그 속도(%): 0 ~ 100, 기본값 25

  • 궤적 모드: 경로점/제어점

../_images/0412.png

그림표 10.5-16 궤적 J 명령 코드 블록

10.5.17. 궤적 재생 명령

궤적 재생 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령을 사용하려면 먼저 기록된 궤적이 필요합니다.

프로그램 프로그래밍을 수행할 때는 먼저 포인트투포인트 명령으로 해당 궤적 시작점에 도달한 다음, 궤적 재생 명령에서 궤적을 선택하고 부드러운 궤적 여부와 디버그 속도를 설정합니다. 궤적 로드 명령은 주로 궤적 파일을 미리 읽어 들여 궤적 명령으로 추출하고, 컨베이어 트래킹 시나리오에 맞게 적용하기 위해 사용됩니다.

궤적 재생 명령 노드, 파라미터:

  • 궤적 명칭: 기록된 궤적

  • 부드러운 궤적: 아니오/예

  • 디버그 속도(%): 0 ~ 100, 기본값 25

../_images/0423.png

그림표 10.5-17 궤적 재생 명령 코드 블록

10.5.18. DMP 명령

DMP 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

DMP는 궤적 모방 학습 방식이며, 사전에 기준 궤적을 계획해야 합니다. 명령 편집 인터페이스에서 티칭 포인트를 새 시작점으로 선택한 뒤 추가, `적용`을 클릭하면 이 명령을 저장할 수 있습니다. DMP의 구체적인 경로는 새 시작점에서 기준 궤적을 모방하는 새로운 궤적입니다.

DMP 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0 ~ 100, 기본값 100

../_images/0433.png

그림표 10.5-18 DMP 명령 코드 블록

10.5.19. 툴 좌표 변환 명령

툴 좌표 변환 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

자동 변환할 툴 좌표계를 선택하고 추가, `적용`을 클릭하면 이 명령을 저장할 수 있습니다. 툴 좌표계 아래의 포인트는 자동으로 변환됩니다.

툴 좌표 변환 명령 노드, 파라미터:

  • 툴 좌표계: 툴 좌표계 목록

../_images/0443.png

그림표 10.5-19 툴 좌표 변환 명령 코드 블록

10.5.20. 워크 좌표 변환 명령

워크 좌표 변환 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

자동 변환할 워크 좌표계를 선택하고 추가, `적용`을 클릭하면 이 명령을 저장할 수 있습니다. 워크 좌표계 아래의 포인트는 자동으로 변환됩니다.

워크 좌표 변환 명령 노드, 파라미터:

  • 워크 좌표계: 워크 좌표계 목록

../_images/0453.png

그림표 10.5-20 워크 좌표 변환 명령 코드 블록

10.6. 제어 클래스 그래픽 프로그래밍 명령

제어 클래스 그래픽 프로그래밍 명령에는 Wait, IO 등의 제어 명령이 포함됩니다.

../_images/0076.png

그림표 10.6 제어 클래스 그래픽 프로그래밍 명령

10.6.1. 대기 명령

대기 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 지연 명령이며 WaitMs, WaitDI, WaitMultiDI, `WaitAI`의 네 부분으로 나뉩니다.

  1. 대기 명령 노드, 파라미터:

  • 대기 시간(ms): 지연 대기 시간의 단위는 밀리초입니다. 대기할 밀리초 수를 입력합니다.

../_images/0463.png

그림표 10.6-1 대기 명령 코드 블록

  1. 대기DI 명령 노드, 파라미터:

  • DI 포트 번호: Ctrl-DI0 ~ Ctrl-CI7(WaitDI,[0~15]), End-DI0 ~ End-DI1(WaitToolDI,[0~1])

  • 상태: false/true

  • 최대 시간(ms): 0 ~ 10000

  • 대기 타임아웃 처리: 정지 오류/계속 실행/영구 대기

../_images/0473.png

그림표 10.6-2 대기DI 명령 코드 블록

  1. 대기 다중 DI 명령 노드, 파라미터:

  • 조건: AND/OR

  • 조건 선택: 상태가 On이 되는 비트의 포트 번호를 선택합니다. 쉼표로 구분합니다. 예: DI0,DI1

  • 참값 대응 포트: 참값에 대응하는 포트 번호를 선택합니다. 쉼표로 구분합니다. 예: DI0,DI1

  • 최대 시간(ms): 0 ~ 10000, 최대 대기 시간

  • 대기 타임아웃 처리: 정지 오류/계속 실행/영구 대기

../_images/0483.png

그림표 10.6-3 대기 다중 DI 명령 코드 블록

  1. 대기AI 명령 노드, 파라미터:

  • 조건: AND/OR

  • AI 포트 번호: Ctrl-AI0 ~ Ctrl-AI1(WaitAI,[0~1]), End-AI0(WaitToolAI,[0])

  • 조건: 초과/미만

  • 수치(%): 1 ~ 100

  • 최대 시간(ms): 0 ~ 10000

  • 대기 타임아웃 처리: 정지 오류/계속 실행/영구 대기. 대기 타임아웃 처리가 영구 대기인 경우 최대 시간의 기본값은 `0`입니다.

../_images/0493.png

그림표 10.6-4 대기AI 명령 코드 블록

10.6.2. 모드 전환 명령

모드 전환 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 로봇을 수동 모드로 전환할 수 있으며, 일반적으로 프로그램의 끝부분에 추가합니다. 프로그램 실행이 끝나면 로봇이 자동으로 수동 모드로 전환되어 드래그 조작이 가능해집니다.

모드 전환 명령 노드, 파라미터:

  • 모드 전환: 수동 모드

../_images/0503.png

그림표 10.6-5 모드 전환 명령 코드 블록

10.6.3. 일시정지 명령

일시정지 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 일시정지 명령입니다. 프로그램 안에 이 명령을 삽입하면, 프로그램이 이 명령을 실행하는 시점에서 로봇이 일시정지 상태가 됩니다. 계속 실행하려면 제어 영역의 일시정지/재개 키를 클릭합니다.

일시정지 명령 노드, 파라미터:

  • 일시정지 타입: 기능 없음, 실린더 미도달 등

../_images/0513.png

그림표 10.6-6 일시정지 명령 코드 블록

10.6.4. 좌표계 명령

툴 좌표계 설정/워크 좌표계 설정 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

  1. 툴 좌표계 설정 명령 노드, 파라미터:

  • 툴 좌표계 명칭: toolcoord1 ~ toolcoord19(SetToolList,[0~19]), etoolcoord0 ~ etoolcoord14(SetExToolList,[0~14])

../_images/0522.png

그림표 10.6-7 툴 좌표계 설정 명령 코드 블록

  1. 워크 좌표계 설정 명령 노드, 파라미터:

  • 워크 좌표계 명칭: wobjcoord1 ~ wobjcoord14

../_images/0532.png

그림표 10.6-8 워크 좌표계 설정 명령 코드 블록

10.6.5. 아날로그 AI 명령

AO 설정/AI 취득 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 아날로그 출력 설정(SetAO/SPLCSetAO)과 아날로그 입력 취득(GetAI/SPLCGetAI) 두 기능으로 나뉩니다.

  1. AO 설정 명령 노드, 파라미터:

  • 포트: Ctrl-AO0 ~ Ctrl-AO1(블로킹:SetAO, 비블로킹:SPLCSetAO,[0~1]), End-AO0(블로킹:SetToolAO, 비블로킹:SPLCSetToolAO,[0])

  • 수치(%): 0 ~ 100

  • 블로킹 여부: 블로킹/비블로킹

  • 스레드 적용 여부: 아니오/예

../_images/0542.png

그림표 10.6-9 AO 설정 명령 코드 블록

  1. AI 취득 명령 노드, 파라미터:

  • 포트: Ctrl-AI0 ~ Ctrl-DI1(블로킹:GetAI, 비블로킹:SPLCGetAI,[0~1]), End-AI0(블로킹:GetToolAI, 비블로킹:SPLCGetToolAI,[0])

  • 조건: 초과/미만

  • 수치(%): 0 ~ 100

  • 최대 시간(ms): 0 ~ 10000

  • 블로킹 여부: 블로킹/비블로킹

  • 스레드 적용 여부: 아니오/예

../_images/0553.png

그림표 10.6-10 AI 취득 명령 코드 블록

10.6.6. 디지털 I/O 명령

DO 설정/DI 취득 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 I/O 명령이며, I/O 설정(SetDO/SPLCSetDO)과 I/O 취득(GetDI/SPLCGetDI) 두 부분으로 나뉩니다.

  1. DO 설정 명령 노드, 파라미터:

  • 포트: Ctrl-DO0 ~ Ctrl-CO7(블로킹:SetDO, 비블로킹:SPLCSetDO,[0~15]), End-DO0 ~ End-DO1(블로킹:SetToolDO, 비블로킹:SPLCSetToolDO,[0~1])

  • 상태: false/true

  • 블로킹 여부: 블로킹/비블로킹

  • 부드러운 궤적: Break/Serious

  • 스레드 적용 여부: 아니오/예

../_images/0563.png

그림표 10.6-11 DO 설정 명령 코드 블록

  1. DI 취득 명령 노드, 파라미터:

  • 포트: Ctrl-DI0 ~ Ctrl-CI7(블로킹:GetDI, 비블로킹:SPLCGetDI,[0~15]), End-DI0 ~ End-DI1(블로킹:GetToolDI, 비블로킹:SPLCGetToolDI,[0~1])

  • 블로킹 여부: 블로킹/비블로킹

  • 상태: false/true

  • 최대 대기 시간(ms): 0 ~ 10000

  • 스레드 적용 여부: 아니오/예

../_images/0573.png

그림표 10.6-12 DI 취득 명령 코드 블록

10.6.7. 운동 DO 명령

운동 DO 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 직선 운동 과정 중 설정된 간격에 따라 연속적으로 DO 신호를 출력하는 기능을 구현합니다.

  1. 운동 DO 연속 출력 명령 노드, 파라미터:

  • 포트: Ctrl-DO0 ~ Ctrl-DO0(MoveDOStart,[0~15]), End-DO1(MoveDOStart,[0~1])

  • 설정 간격(mm): 0 ~ 500

  • 출력 펄스 듀티 비율(%): 0 ~ 99

  1. 운동 DO 단일 출력 명령 노드, 파라미터:

  • 포트: Ctrl-DO0 ~ Ctrl-DO0(MoveDOOnceStart,[0~15]), End-DO1(MoveDOOnceStart,[0~1])

  • 출력 모드: 등속 세그먼트 출력/사용자 설정

  • Set 시간(ms): 0 ~ 1000`(등속 세그먼트 출력 모드의 기본값은 `-1)

  • Reset 시간(ms): 0 ~ 1000`(등속 세그먼트 출력 모드의 기본값은 `-1)

../_images/0583.png

그림표 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

../_images/0593.png

그림표 10.6-14 운동 AO 명령 코드 블록

10.6.9. 충돌 레벨 명령

충돌 레벨 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 충돌 레벨 설정 명령입니다. 이 명령을 통해 프로그램 실행 중 각 축의 충돌 레벨을 실시간으로 조정할 수 있어, 더 유연한 응용 구성이 가능합니다.

충돌 레벨 명령 노드, 파라미터:

  • 표준 레벨: 표준 레벨/사용자 정의 백분율

  • joint1-joint6(N): 0 ~ 100, 충돌 임계값, 배열형

../_images/0602.png

그림표 10.6-15 충돌 레벨 명령 코드 블록

10.6.10. 가속도 명령

가속도 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

가속도 명령은 로봇의 가속도를 개별적으로 설정할 수 있게 합니다. 운동 명령의 가속도 스케일링 계수를 조정하여 가감속 시간을 늘리거나 줄이고, 로봇 동작의 사이클 타임을 조정할 수 있습니다.

가속도 명령 노드, 파라미터:

  • 가속도 백분율(%): 0 ~ 100

../_images/0612.png

그림표 10.6-16 가속도 명령 코드 블록

10.7. 주변기기 클래스 그래픽 프로그래밍 명령

주변기기 클래스 그래픽 프로그래밍 명령에는 그리퍼, 스프레이건, 확장축 등의 주변기기 명령이 포함됩니다.

../_images/0084.png

그림표 10.7 주변기기 클래스 그래픽 프로그래밍 명령

10.7.1. 그리퍼 명령

그리퍼 운동, 그리퍼 활성화, 그리퍼 리셋 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

명령에서는 설정이 완료되어 이미 활성화된 그리퍼 번호가 표시되며, 그리퍼의 개폐, 개폐 속도, 개폐 토크를 설정합니다. 수치는 백분율입니다. 블로킹 기능 옵션이 있으며, 블로킹을 선택하면 그리퍼 운동은 이전 운동 명령이 끝난 뒤 실행되고, 비블로킹을 선택하면 이전 운동 명령과 병행하여 실행됩니다.

  1. 그리퍼 운동 노드, 파라미터:

  • 그리퍼 번호: 활성화된 그리퍼 번호

  • 그리퍼 위치: 0~100

  • 개폐 속도: 0~100

  • 개폐 토크: 0~100

  • 최대 시간(ms): 0~30000

  • 블로킹 여부: false/true

../_images/0622.png

그림표 10.7-1 그리퍼 운동 명령 코드 블록

그리퍼 리셋 명령은 설정된 그리퍼 번호를 표시하며, 프로그램에 그리퍼 리셋 명령을 추가할 수 있습니다.

  1. 그리퍼 리셋 노드, 파라미터:

  • 그리퍼 번호: 활성화된 그리퍼 번호

../_images/0632.png

그림표 10.7-2 그리퍼 리셋 명령 코드 블록

그리퍼 활성화 명령은 설정된 그리퍼 번호를 표시하며, 프로그램에 그리퍼 활성화 명령을 추가할 수 있습니다.

  1. 그리퍼 활성화 노드, 파라미터:

  • 그리퍼 번호: 활성화된 그리퍼 번호

../_images/0643.png

그림표 10.7-3 그리퍼 활성화 명령 코드 블록

10.7.2. 스프레이건 명령

스프레이건 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 도장 관련 명령이며, 스프레이건의 도장 시작, 도장 정지, 건 클리닝 시작, `건 클리닝 정지`를 제어합니다. 이 프로그램 관련 노드를 편집할 때는 스프레이건 주변기기가 설정되어 있는지 확인해야 합니다. 그렇지 않으면 저장할 수 없습니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.

../_images/0653.png

그림표 10.7-4 도장 시작 명령 코드 블록

../_images/0663.png

그림표 10.7-5 도장 정지 명령 코드 블록

../_images/0673.png

그림표 10.7-6 건 클리닝 시작 명령 코드 블록

../_images/0683.png

그림표 10.7-7 건 클리닝 정지 명령 코드 블록

10.7.3. 확장축 명령(컨트롤러 + PLC)

확장축 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 외부축을 사용하는 시나리오를 대상으로 하며, PTP 명령과 함께 사용해 공간상의 한 점에 대한 X축 방향 이동을 외부축 운동으로 분해할 수 있습니다. 외부축 번호를 선택하고, 운동 방식을 동기로 설정한 뒤, 도달하려는 포인트를 선택합니다.

이 명령은 UDP 통신 로드/설정, 비동기 운동, 동기 PTP/LIN 운동, 동기 ARC 운동, 원점 복귀 명령, 이네이블 명령으로 나뉩니다.

UDP 통신 설정 명령 노드에서는 IP 주소, 포트 번호, 통신 주기를 입력합니다.

../_images/0692.png

그림표 10.7-8 UDP 통신 설정 명령 코드 블록

비동기 운동 명령 노드, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0~100

../_images/0702.png

그림표 10.7-9 비동기 운동 명령 코드 블록

동기 PTP/LIN 운동 명령 노드, 파라미터:

  • 운동 선택: PTP/LIN

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0~100

../_images/0711.png

그림표 10.7-10 동기 PTP/LIN 운동 명령 코드 블록

동기 ARC 운동 명령 노드, 기본 운동 방식은 ARC, 파라미터:

  • 포인트 명칭: 티칭 포인트

  • 디버그 속도(%): 0~100

../_images/0721.png

그림표 10.7-11 동기 ARC 운동 명령 코드 블록

확장축 원점 복귀 명령 노드, 파라미터:

  • 확장축 번호: 1~4

  • 원점 복귀 방식: 현재 위치 원점 복귀/음수 리미트 원점 복귀/양수 리미트 원점 복귀

  • 원점 검색 속도: 0~2000, 기본값 5

  • 원점 래치 속도: 0~2000, 기본값 1

../_images/0731.png

그림표 10.7-12 확장축 원점 복귀 명령 코드 블록

확장축 이네이블 명령 노드, 파라미터:

  • 확장축 번호: 1~4

../_images/0741.png

그림표 10.7-13 확장축 이네이블 명령 코드 블록

10.7.4. 확장축 명령(컨트롤러 + 서보 드라이버)

확장축 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 확장축 파라미터를 설정할 수 있습니다. 서로 다른 제어 모드에 따라 다른 파라미터를 설정하며, 설정된 확장축에 대해 원점 설정도 수행할 수 있습니다.

이 명령은 서보 ID, 제어 모드, 서보 이네이블, 서보 원점 복귀로 나뉩니다. 제어 모드 안에서는 위치 모드와 속도 모드로 다시 나뉘며, 이들 노드는 제어 모드와 함께 사용해야 하고, 단독으로 추가해도 유효하지 않습니다.

서보 ID 명령 노드, 파라미터:

  • 서보 ID: 1~15

../_images/0752.png

그림표 10.7-14 서보 ID 명령 코드 블록

제어 모드 명령 노드, 파라미터:

  • 서보 ID: 1~15

  • 제어 모드: 위치 모드/속도 모드

../_images/0762.png

그림표 10.7-15 제어 모드 명령 코드 블록

서보 이네이블 명령 노드, 파라미터:

  • 서보 ID: 1~15

  • 서보 이네이블: 서보 이네이블/이네이블 해제

../_images/0772.png

그림표 10.7-16 서보 이네이블 명령 코드 블록

서보 원점 복귀 명령 노드, 파라미터:

  • 서보 ID: 1~15

  • 원점 복귀 방식: 현재 위치 원점 복귀/음수 리미트 원점 복귀/양수 리미트 원점 복귀

  • 원점 검색 속도: 0~2000, 기본값 5

  • 원점 래치 속도: 0~2000, 기본값 1

  • 가속도 백분율: 1~100, 기본값 100

../_images/0782.png

그림표 10.7-17 서보 원점 복귀 명령 코드 블록

위치 모드 명령 노드, 파라미터:

  • 서보 ID: 1~15

  • 목표 위치: 제한 없음

  • 원점 검색 속도: 제한 없음

  • 가속도 백분율: 1~100, 기본값 100

../_images/0792.png

그림표 10.7-18 위치 모드 명령 코드 블록

속도 모드 명령 노드, 파라미터:

  • 서보 ID: 1~15

  • 목표 속도: 제한 없음

  • 가속도 백분율: 1~100, 기본값 100

../_images/0802.png

그림표 10.7-19 속도 모드 명령 코드 블록

10.7.5. 컨베이어 명령

이 명령은 I/O 실시간 감지, 위치 실시간 감지, 트래킹 시작, 트래킹 종료의 네 가지 명령을 포함합니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.

I/O 실시간 감지 명령 노드, 파라미터:

  • 최대 대기 시간: 0~10000

../_images/0812.png

그림표 10.7-20 I/O 실시간 감지 명령 코드 블록

위치 실시간 감지 명령 노드, 파라미터:

  • 작업 모드: 트래킹 파지/트래킹 운동/TPD 트래킹

../_images/0822.png

그림표 10.7-21 위치 실시간 감지 명령 코드 블록

트래킹 시작, 트래킹 종료 명령 노드, 파라미터:

  • 작업 모드: 트래킹 파지/트래킹 운동/TPD 트래킹

../_images/0832.png

그림표 10.7-22 트래킹 시작/종료 명령 코드 블록

10.7.6. 연마 명령

연마 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 연마 시나리오에서 사용하기 위한 명령입니다. 사용 시에는 먼저 드라이버를 언로드한 뒤 다시 로드하고, 이후 연마 장치를 이네이블 상태로 설정해야 합니다.

그 다음 연마 장치의 회전수, 접촉력, 돌출 거리, 제어 모드를 설정할 수 있으며, 동시에 장치 오류 클리어와 장치 힘 센서의 영점 조정도 수행할 수 있습니다.

../_images/0842.png

그림표 10.7-23 통신 드라이버 로드/언로드 명령 코드 블록

장치 이네이블 명령 노드, 파라미터:

  • 장치 이네이블: 이네이블/디스에이블

../_images/0852.png

그림표 10.7-24 장치 이네이블 명령 코드 블록

../_images/0862.png

그림표 10.7-25 장치 오류 클리어 명령 코드 블록

../_images/0872.png

그림표 10.7-26 장치 힘 센서 영점 조정 명령 코드 블록

회전수 명령 노드, 파라미터:

  • 회전수: 0~5500

../_images/0881.png

그림표 10.7-27 장치 회전수 명령 코드 블록

설정 힘 명령 노드, 파라미터:

  • 설정 힘: 0~200

../_images/0891.png

그림표 10.7-28 설정 힘 명령 코드 블록

돌출 거리 명령 노드, 파라미터:

  • 돌출 거리: 0~12

../_images/0901.png

그림표 10.7-29 돌출 거리 명령 코드 블록

연마 접촉력 명령 노드, 파라미터:

  • 접촉력: 0~10000

../_images/0911.png

그림표 10.7-30 연마 접촉력 명령 코드 블록

설정 힘 과도 시간 명령 노드, 파라미터:

  • 설정 힘 과도 시간: 0~10000

../_images/0921.png

그림표 10.7-31 설정 힘 과도 시간 명령 코드 블록

워크 중량 명령 노드, 파라미터:

  • 워크 중량: 0~10000

../_images/0931.png

그림표 10.7-32 워크 중량 명령 코드 블록

제어 모드 명령 노드, 파라미터:

  • 제어 모드: 원점 복귀 모드/위치 모드/토크 모드

../_images/0941.png

그림표 10.7-33 제어 모드 명령 코드 블록

10.8. 용접 클래스 그래픽 프로그래밍 명령

용접 클래스 그래픽 프로그래밍 명령에는 센싱, 스폿 용접, 용접, 레이저 트래킹 등의 용접 명령이 포함됩니다.

../_images/0093.png

그림표 10.8 용접 클래스 그래픽 프로그래밍 명령

10.8.1. 스폿 용접 명령

스폿 용접 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 용접 전용 명령이며, 주로 용접하는 구간과 용접하지 않는 구간이 반복되는 간헐적 용접 시나리오에서 사용됩니다. 시작점과 종료점 사이에서 이 명령을 사용하고, 스폿 용접 모드, 시작점, 종료점, 디버그 속도, 아크 시작 DO 포트, 실행 길이, 비실행 길이를 설정합니다. 또한 실제 응용 시나리오에 따라 기능 모드, 위빙 선택, 라운딩 규칙을 설정하면 스폿 용접 기능을 구현할 수 있습니다. 자세한 조작은 프로그램 티칭 페이지의 스폿 용접 명령을 참조하십시오.

  1. 아크 종료/시작 명령 노드, 파라미터:

  • I/O 타입: 컨트롤러 I/O/확장 I/O

  • 용접 프로세스 번호: 0 ~ 7

  • 최대 대기 시간(ms): 0 ~ 10000

../_images/0951.png

그림표 10.8-1 아크 종료/시작 명령 코드 블록

  1. 스폿 용접 명령 노드, 파라미터:

  • 스폿 용접 모드: 자세 변화 없음/자세 변화 있음

  • 시작점: 티칭 포인트

  • 종료점: 티칭 포인트

  • 디버그 속도(%): 0~100, 기본값 100

  • 실행 길이: 0~1000

  • 비실행 길이: 0~1000

  • 기능 모드: 0~100, 기본값 100

  • 위빙 선택: 실행 세그먼트에서 위빙 없음/실행 세그먼트에서 위빙 있음

  • 라운딩 규칙: 라운딩 없음/순환 라운딩/단일 세그먼트 라운딩

../_images/0961.png

그림표 10.8-2 스폿 용접 명령 코드 블록

10.8.2. 용접 명령

용접 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 주로 용접기 주변기기에 사용됩니다. 이 명령을 추가하기 전에 사용자 주변기기에서 용접기 설정이 완료되어 있는지 확인하십시오. 자세한 내용은 로봇 주변기기 장을 참조하십시오.

  1. 용접 전압 명령 노드, 파라미터:

  • I/O 타입: 컨트롤러 I/O/확장 I/O

  • 용접기 전압: 최소값 0

  • 용접 전류 제어 AO: Ctrl-AO0/Ctrl-AO1

  • 평활 선택: Break/Serious

../_images/0971.png

그림표 10.8-3 용접기 전압 명령 코드 블록

  1. 용접기 전류 명령 노드, 파라미터:

  • I/O 타입: 컨트롤러 I/O/확장 I/O

  • 용접기 전류: 최소값 0

  • 용접 전류 제어 AO: Ctrl-AO0/Ctrl-AO1

  • 평활 선택: Break/Serious

../_images/0981.png

그림표 10.8-4 용접기 전류 명령 코드 블록

  1. 가스 공급/정지 명령 노드, 파라미터:

  • I/O 타입: 컨트롤러 I/O/확장 I/O

../_images/0991.png

그림표 10.8-5 가스 공급/정지 명령 코드 블록

  1. 와이어 정송/와이어 정송 정지 명령 노드, 파라미터:

  • I/O 타입: 컨트롤러 I/O/확장 I/O

../_images/1001.png

그림표 10.8-6 와이어 정송/와이어 정송 정지 명령 코드 블록

  1. 와이어 역송/와이어 역송 정지 명령 노드, 파라미터:

  • I/O 타입: 컨트롤러 I/O/확장 I/O

../_images/1011.png

그림표 10.8-7 와이어 역송/와이어 역송 정지 명령 코드 블록

10.8.3. 레이저 트래킹 명령

레이저 트래킹 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 레이저 명령, 트래킹 명령, 센싱 명령의 세 부분을 포함합니다. 이 명령을 추가하기 전에 사용자 주변기기에서 레이저 트래킹 센서가 정상적으로 설정되어 있는지 확인하십시오. 자세한 내용은 로봇 주변기기 장을 참조하십시오.

  1. 센서 On/Off 명령 노드, 파라미터:

  • 용접부 타입 선택: 0 ~ 49

../_images/1021.png

그림표 10.8-8 센서 On/Off - 용접부 타입 명령 코드 블록

  • 작업 번호 선택: 0 ~ 255

../_images/1031.png

그림표 10.8-9 센서 On/Off - 작업 번호 명령 코드 블록

  • 솔루션: 0 ~ 5

../_images/1041.png

그림표 10.8-10 센서 On/Off - 솔루션 명령 코드 블록

  1. 센서 로드/언로드 명령 노드, 파라미터:

  • 기능 선택: 睿牛RRT-SV2-BP/創想CXZK-RBTA4L

../_images/1051.png

그림표 10.8-11 센서 로드/언로드 명령 코드 블록

  1. 레이저 트래킹 시작/정지 명령 노드, 파라미터

  • 좌표계 명칭: 사용자 정의 좌표계

../_images/1061.png

그림표 10.8-12 레이저 트래킹 시작/정지 명령 코드 블록

  1. 레이저 센서 기록 명령 노드, 파라미터:

  • 기능 선택: 기록 정지/실시간 트래킹/기록 시작/궤적 재생

  • 기능 선택: 지연 시간/지연 거리

  • 시간: 0 ~ 10000

  • 확장축 번호: 1 ~ 4

  • 거리: 0 ~ 10000

  • 보상 감도 계수: 0 ~ 1

  • 속도: 0 ~ 100

../_images/1071.png

그림표 10.8-13 레이저 센서 기록 명령 코드 블록

  1. 센서 취점 운동 명령 노드, 파라미터:

  • 좌표계 명칭: 사용자 정의 좌표계

  • 운동 방식: PTP/Lin

  • 디버그 속도(%): 0 ~ 100

  • 자세 기준점: 티칭 포인트

../_images/1081.png

그림표 10.8-14 센서 취점 운동 명령 코드 블록

  1. 레이저 트래킹 재생 명령 노드, 파라미터:

../_images/1091.png

그림표 10.8-15 레이저 트래킹 재생 명령 코드 블록

  1. 센싱 시작/종료 명령 노드, 파라미터:

  • 좌표계 명칭: 사용자 정의 좌표계

  • 방향: -x/-x/-y/-y/-z/-z/지정 방향

  • 방향점: `지정 방향`을 선택하지 않은 경우 이 파라미터는 유효하지 않습니다.

  • 속도(%): 0 ~ 100

  • 길이(mm): 0 ~ 1000

  • 최대 센싱 시간(ms): 0 ~ 10000

../_images/1101.png

그림 10.8-16 센싱 시작/종료 명령 코드 블록

10.8.4. 레이저 기록 명령

레이저 기록 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 레이저 트래킹 기록의 시작점과 종료점을 추출하는 기능을 구현하며, 로봇이 자동으로 시작점 위치로 이동할 수 있게 합니다. 워크 외부에서 운동을 시작해 레이저 트래킹 기록을 수행하는 경우에 적용됩니다. 동시에 상위 컴퓨터는 기록 데이터의 시작점 및 종료점 정보를 가져와 후속 운동에 사용할 수 있습니다.

레이저 트래킹 재생 속도 조절 기능도 제공하여, 로봇이 고속으로 기록한 뒤 일반 용접 속도로 재생할 수 있으므로 작업 효율을 높일 수 있습니다.

  1. 레이저 센서 기록 명령 노드, 파라미터:

  • 기능 선택: 기록 정지/실시간 트래킹/기록 시작/궤적 재생

  • 기능 선택: 지연 시간/지연 거리

  • 시간: 0 ~ 10000

  • 확장축 번호: 1 ~ 4

  • 거리: 0 ~ 10000

  • 보상 감도 계수: 0 ~ 1

  • 속도: 0 ~ 100

../_images/1111.png

그림 10.8-17 용접부 데이터 기록 명령 코드 블록

  1. 용접부 시작점/종료점 취득 명령 노드, 파라미터:

  • 운동 방식: PTP/LIN

  • 속도(%): 0~100, 기본값 30

../_images/1121.png

그림 10.8-18 용접부 시작점/종료점 취득 명령 코드 블록

10.8.5. 와이어 센싱 명령

와이어 센싱 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 일반적으로 용접 시나리오에 적용되며, 용접기와 로봇의 IO 및 운동 명령을 함께 사용해야 합니다. 센싱 시작, 센싱 종료, 센싱점 설정, 오프셋 계산, 접촉점 데이터 쓰기로 구성됩니다.

와이어 센싱 시작/종료 명령 노드, 파라미터:

  • 기준 위치: 갱신 안 함/갱신

  • 센싱 속도: 0~100

  • 센싱 거리: 0~1000

  • 자동 복귀 플래그: 자동 복귀 안 함/자동 복귀

  • 자동 복귀 속도: 0~100

  • 자동 복귀 거리: 0~1000

  • 센싱 방식: 교시점 센싱/오프셋 포함 센싱

../_images/1131.png

그림 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점 중에서 선택해 포인트를 추가합니다.

../_images/1141.png

그림 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을 설정합니다.

../_images/1151.png

그림 10.8-21 오프셋 계산 명령 코드 블록

접촉점 데이터 쓰기 명령 노드, 파라미터:

  • 접촉점 이름: RES0~99

  • 접촉점 데이터 형식: {0,0,0,0,0,0}

../_images/1161.png

그림 10.8-22 접촉점 데이터 쓰기 명령 코드 블록

10.8.6. 아크 트래킹 명령

아크 트래킹 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 로봇의 용접부 트래킹에서 용접부 편차를 검출해 보정 궤적을 수행하는 기능을 구현하며, 아크 센서를 사용해 용접부 편차를 감지할 수 있습니다.

아크 트래킹 시작/종료 명령 노드, 파라미터:

  • 아크 트래킹 지연 시간(ms): 참고값 50

  • 편차 보정: 꺼짐/켜짐

  • 조정 계수: 0 ~ 300

  • 보정 시간(cyc): 0 ~ 300

  • 회당 최대 보정량(mm): 0 ~ 300

  • 누적 최대 보정량(mm): 0 ~ 300

  • 상하 좌표계 선택: 위빙

  • 상하 기준 전류 설정 방식: 피드백/상수

  • 상하 기준 전류(A): 0 ~ 300

../_images/1171.png

그림 10.8-23 아크 트래킹 명령 코드 블록

10.8.7. 자세 조정 명령

자세 조정 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 용접 트래킹 시 토치 자세를 자동 적응 방식으로 조정하는 시나리오를 대상으로 하며, 먼저 PosA, PosB, PosC의 3개 포인트를 교시해야 합니다. 그렇지 않으면 노드를 추가할 수 없습니다.

세 개의 대응 자세점을 기록한 후, 로봇의 실제 운동 방향에 따라 자세 자동 적응 조정 명령을 추가합니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.

자세 조정 시작 명령 노드, 파라미터:

  • 판재 유형: 코리게이트 판/골판지/펜스 판/코리게이트 갑각강

  • 운동 방향: 좌에서 우/우에서 좌

  • 자세 조정 시간(ms): 0 ~ 1000

  • 제1 세그먼트 길이(mm):

  • 코너점 유형: 위에서 아래/아래에서 위

  • 제2 세그먼트 길이(mm):

  • 제3 세그먼트 길이(mm):

  • 제4 세그먼트 길이(mm):

  • 제5 세그먼트 길이(mm):

../_images/1181.png

그림 10.8-24 자세 조정 명령 코드 블록

10.9. 힘 제어 클래스 그래픽 프로그래밍 명령

힘 제어 클래스 그래픽 프로그래밍 명령에는 힘 제어 세트, 토크 기록 등의 힘 제어 명령이 포함됩니다.

../_images/0104.png

그림 10.9 힘 제어 클래스 그래픽 프로그래밍 명령

10.9.1. 힘 제어 명령

힘 제어 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 FT_Guard(충돌 검출), FT_Control(정력 제어), FT_Compliance(유순 제어), FT_Spiral(스파이럴 삽입), FT_Rot(회전 삽입), FT_Lin(직선 삽입), FT_FindSurface(표면 위치결정), FT_CalCenter(중심 위치결정)의 8개 명령을 포함합니다. 자세한 내용은 로봇 주변기기 장을 참조하십시오.

  1. 충돌 검출 시작/종료 명령 노드, 파라미터:

  • 좌표계 이름: 사용자 정의 좌표계

  • Fx-Tx 참값: true/false

  • Fx-Tx 현재값: 실제 상황에 맞게 입력

  • Fx-Tx 최대 임계값: 실제 상황에 맞게 입력

  • Fx-Tx 최소 임계값: 실제 상황에 맞게 입력

../_images/1191.png

그림 10.9-1 충돌 검출 시작/종료 명령 코드 블록

  1. 제어 시작/종료 명령 노드, 파라미터:

  • 좌표계 이름: 사용자 정의 좌표계

  • Fx-Tx 참값: true/false

  • Fx-Tx 현재값: 실제 상황에 맞게 조정

  • F_P_gain - F_D_gain: 실제 상황에 맞게 조정하며, `0`으로 설정할 수 없습니다.

  • 자동 적응 시작/정지 상태: 정지/시작

  • ILC 제어 시작/정지 상태: 정지/트레이닝/실행

  • 최대 조정 거리(mm): 0 ~ 1000

  • 최대 조정 각도(°): 0 ~ 1000

../_images/1201.png

그림 10.9-2 제어 시작/종료 명령 코드 블록

  1. 유순 제어 시작/종료 명령 노드, 파라미터:

  • 지령 위치 조절 계수: 0 ~ 1

  • 유순 제어 시작 힘 임계값(N): 0 ~ 100

../_images/1211.png

그림 10.9-3 유순 제어 시작/종료 명령 코드 블록

  1. 스파이럴 삽입 명령 노드, 파라미터:

  • 좌표계 이름: 툴 좌표계/베이스 좌표

  • 회당 반경 이송량(mm): 0 ~ 100, 참고값 0.7

  • 힘 또는 모멘트 임계값(N/Nm): 0 ~ 100, 참고값 50

  • 최대 탐색 시간(ms): 0 ~ 60000, 참고값 60000

  • 최대 선속도(mm/s): 0 ~ 100, 참고값 5

../_images/1221.png

그림 10.9-4 스파이럴 삽입 명령 코드 블록

  1. 회전 삽입 명령 노드, 파라미터:

  • 좌표계 이름: 툴 좌표계/베이스 좌표

  • 회전 각속도(°/s): 0 ~ 100, 참고값 0.7

  • 트리거 힘 또는 종료 모멘트(N/Nm): 0 ~ 100, 참고값 50

  • 최대 회전 각도(°): 0 ~ 100, 참고값 5

  • 힘 방향: 방향 z/방향 mz

  • 최대 회전 각가속도(°/s^2): 0 ~ 100

  • 삽입 방향: 정/부

../_images/1231.png

그림 10.9-5 회전 삽입 명령 코드 블록

  1. 직선 삽입 명령 노드, 파라미터:

  • 좌표계 이름: 툴 좌표계/베이스 좌표

  • 동작 종료 힘 임계값(N): 0 ~ 100

  • 직선 속도(mm/s): 0 ~ 100, 참고값 1

  • 직선 가속도(°/s^2): 0 ~ 100

  • 최대 삽입 거리(mm): 0 ~ 100

  • 삽입 방향: 정/부

../_images/1241.png

그림 10.9-6 직선 삽입 명령 코드 블록

  1. 표면 위치결정 명령 노드, 파라미터:

  • 좌표계 이름: 툴 좌표계/베이스 좌표

  • 이동 방향: 정/부

  • 이동 축: X/Y/Z

  • 탐색 직선 속도(mm/s): 0 ~ 100

  • 탐색 가속도(mm/s^2): 0 ~ 100

  • 최대 탐색 거리(mm): 0 ~ 100

  • 동작 종료 힘 임계값(N): 0 ~ 100

../_images/1251.png

그림 10.9-7 표면 위치결정 명령 코드 블록

  1. 중간 평면 계산 시작/종료 명령 노드.

../_images/1261.png

그림 10.9-8 중간 평면 계산 시작/종료 명령 코드 블록

10.9.2. 토크 기록 명령

토크 기록 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 토크 기록 명령으로, 토크 기록 시작/`토크 기록 정지`와 `토크 기록 리셋`의 세 가지 명령을 포함합니다.

토크를 실시간으로 기록하여 충돌 검출 기능을 구현합니다.

토크 기록 시작 버튼을 클릭하면 운동 명령 실행 과정의 충돌 상황을 지속적으로 기록합니다. 기록된 실시간 토크는 충돌 검출 판단의 이론값으로 사용되어 오탐 확률을 줄입니다.

설정된 임계값 범위를 초과하면 충돌 검출 지속 시간을 기록합니다.

토크 기록 정지 버튼을 클릭하면 기록을 중지합니다. `토크 기록 리셋`을 클릭하면 상태가 기본 상태로 돌아갑니다.

  1. 토크 기록 시작 명령 노드, 파라미터:

  • 평활화 선택: 평활화 없음(원시 데이터)/평활화 있음(평활화 후 데이터)

  • 관절 음의 임계값(Nm): -100 ~ 0

  • 관절 양의 임계값(Nm): 0 ~ 100

  • 관절 지속 충돌 검출 시간(ms): 0 ~ 1000

../_images/1281.png

그림 10.9-9 토크 기록 시작 명령 코드 블록

  1. 토크 기록 종료 명령 노드

../_images/1291.png

그림 10.9-10 토크 기록 종료 명령 코드 블록

  1. 토크 기록 리셋 명령 노드

../_images/1301.png

그림 10.9-11 토크 기록 리셋 명령 코드 블록

10.10. 통신 클래스 그래픽 프로그래밍 명령

통신 클래스 그래픽 프로그래밍 명령에는 modbus 마스터 스테이션 설정(클라이언트), modbus 슬레이브 스테이션 설정, 레지스터 읽기 등의 통신 명령이 포함됩니다.

../_images/0114.png

그림 10.10 통신 클래스 그래픽 프로그래밍 명령

10.10.1. Modbus 명령

Modbus 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령 기능은 ModbusTCP 프로토콜 기반의 버스 기능입니다. 사용자는 관련 명령을 통해 로봇과 ModbusTCP client 또는 server 간의 통신(마스터 스테이션과 슬레이브 스테이션 간 통신)을 제어하고, 코일, 이산량, 레지스터의 읽기/쓰기 작업을 수행할 수 있습니다. ModbusTCP의 기타 조작 기능은 당사에 문의하십시오.

modbus 노드 기능을 사용하기 전에, 먼저 교시 프로그램의 ModbusTCP 설정에서 마스터 스테이션, 슬레이브 스테이션, 그리고 DI, DO, AI, AO 이름을 설정해야 합니다.

  1. 마스터 스테이션 디지털 출력 설정, 파라미터:

  • Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정

  • DO 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

  • 레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1

../_images/131.png

그림 10.10-1 마스터 스테이션 디지털 출력 읽기/쓰기 명령 코드 블록

  1. 마스터 스테이션 디지털 입력 설정, 파라미터:

  • Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정

  • DI 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

../_images/132.png

그림 10.10-2 마스터 스테이션 디지털 입력 읽기 명령 코드 블록

  1. 마스터 스테이션 아날로그 출력 설정, 파라미터:

  • Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정

  • AO 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

  • 레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1

../_images/133.png

그림 10.10-3 마스터 스테이션 아날로그 출력 읽기/쓰기 명령 코드 블록

  1. 마스터 스테이션 아날로그 입력 설정, 파라미터:

  • Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정

  • AI 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

../_images/1341.png

그림 10.10-4 마스터 스테이션 아날로그 입력 읽기 명령 코드 블록

  1. 마스터 스테이션 대기 디지털 입력 설정, 파라미터:

  • Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정

  • DI 이름: 실제 상황에 맞게 설정

  • 대기 상태: true/false

  • 타임아웃 시간(ms): 정수형 0 ~ 128

../_images/1351.png

그림 10.10-5 마스터 스테이션 대기 디지털 입력 명령 코드 블록

  1. 마스터 스테이션 대기 아날로그 입력 설정, 파라미터:

  • Modbus 마스터 스테이션 이름: 실제 상황에 맞게 설정

  • AI 이름: 실제 상황에 맞게 설정

  • 대기 상태: 큼/작음

  • 레지스터 개수: 정수형 0 ~ 128

  • 레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다.

../_images/1361.png

그림 10.10-6 마스터 스테이션 대기 아날로그 입력 명령 코드 블록

  1. 슬레이브 스테이션 디지털 출력 설정, 파라미터:

  • DO 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

  • 레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1

../_images/1371.png

그림 10.10-7 슬레이브 스테이션 디지털 출력 읽기/쓰기 명령 코드 블록

  1. 슬레이브 스테이션 디지털 입력 설정, 파라미터:

  • DI 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

../_images/1381.png

그림 10.10-8 슬레이브 스테이션 디지털 입력 읽기 명령 코드 블록

  1. 슬레이브 스테이션 아날로그 출력 설정, 파라미터:

  • AO 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

  • 레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다. 예: 개수가 3이면 값은 1,0,1

../_images/1391.png

그림 10.10-9 슬레이브 스테이션 아날로그 출력 읽기/쓰기 명령 코드 블록

  1. 슬레이브 스테이션 아날로그 입력 설정, 파라미터:

  • AI 이름: 실제 상황에 맞게 설정

  • 레지스터 개수: 정수형 0 ~ 128

../_images/1401.png

그림 10.10-10 슬레이브 스테이션 아날로그 입력 읽기 명령 코드 블록

  1. 슬레이브 스테이션 대기 디지털 입력 설정, 파라미터:

  • DI 이름: 실제 상황에 맞게 설정

  • 대기 상태: true/false

  • 타임아웃 시간(ms): 정수형

../_images/1411.png

그림 10.10-11 슬레이브 스테이션 대기 디지털 입력 명령 코드 블록

  1. 슬레이브 스테이션 대기 아날로그 입력 설정, 파라미터:

  • AI 이름: 실제 상황에 맞게 설정

  • 대기 상태: 큼/작음

  • 레지스터 개수: 정수형 0 ~ 128

  • 레지스터 값: 레지스터 개수에 따라 결정됩니다. 여러 값을 입력할 수 있습니다.

../_images/1421.png

그림 10.10-12 슬레이브 스테이션 대기 아날로그 입력 명령 코드 블록

  1. 레지스터 읽기 명령, 파라미터:

  • 기능 코드: 0x01-코일/0x02-이산량/0x03-보유 레지스터/0x04-입력 레지스터

  • 레지스터, 코일, 이산량 주소: 실제 상황에 맞게 입력

  • 레지스터, 코일, 이산량 개수: 0 ~ 255

  • 주소: 실제 상황에 맞게 입력

  • 스레드 적용 여부: 아니오/예

../_images/1431.png

그림 10.10-13 레지스터 읽기 명령 코드 블록

  1. 레지스터 데이터 읽기 명령, 파라미터:

  • 레지스터, 코일, 이산량 개수: 0 ~ 255

  • 스레드 적용 여부: 아니오/예

../_images/1441.png

그림 10.10-14 레지스터 데이터 읽기 명령 코드 블록

  1. 레지스터 쓰기 명령, 파라미터:

  • 기능 코드: 0x01-코일/0x02-이산량/0x03-보유 레지스터/0x04-입력 레지스터

  • 레지스터, 코일 주소: 실제 상황에 맞게 입력

  • 레지스터, 코일 개수: 0 ~ 255

  • 바이트 배열: 실제 상황에 맞게 입력

  • 주소: 실제 상황에 맞게 입력

  • 스레드 적용 여부: 아니오/예

../_images/1451.png

그림 10.10-15 레지스터 쓰기 명령 코드 블록

10.11. 고급 클래스 그래픽 프로그래밍 명령

고급 클래스 그래픽 프로그래밍 명령에는 dofile 서브루틴 호출, 보조 스레드, 접기 명령 등의 고급 명령이 포함됩니다.

../_images/0124.png

그림 10.11 고급 클래스 그래픽 프로그래밍 명령

10.11.1. 접기 명령

접기 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 여러 줄의 코드 블록을 접어서 표시해 사용자가 코드 블록을 더 쉽게 읽을 수 있도록 합니다.

접기 명령 노드, 파라미터:

  • 코드 블록 이름: 접기 코드 블록 이름 지정

../_images/1461.png

그림 10.11-1 접기 명령 코드 블록

10.11.2. 서브루틴 호출 명령

서브루틴 호출 명령 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 서브루틴 호출 명령입니다. 프로그램 내에 이 명령을 삽입하면, 프로그램이 이 명령을 실행하는 시점에 로봇은 일시정지 상태가 됩니다. 계속 실행하려면 제어 영역의 일시정지/재개 키를 클릭합니다.

서브루틴 호출 명령 노드, 파라미터:

  • dofile 파일: 생성되는 파일명

  • 호출 계층: 제1 계층/제2 계층

  • id 번호: 소속 계층에 대응하는 위치 id

../_images/1471.png

그림 10.11-2 서브루틴 호출 명령 코드 블록

10.11.3. 보조 스레드 명령

보조 스레드 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

Thread 명령은 보조 스레드 기능입니다. 사용자는 보조 스레드를 정의해 메인 스레드와 동시에 실행할 수 있습니다. 보조 스레드는 주로 외부 장치와의 데이터 교환에 사용되며, socket 통신, 로봇 DI 상태 획득, 로봇 DO 상태 설정, 로봇 상태 정보 획득, 메인 스레드와의 데이터 교환을 지원합니다. 메인 스레드는 보조 스레드에서 얻은 데이터를 사용해 로봇 운동 로직을 판단합니다.

보조 스레드 명령 노드, 파라미터:

  • 메서드 이름: 보조 스레드 이름

  • 호출 함수: 보조 스레드 호출 함수값

../_images/1481.png

그림 10.11-3 보조 스레드 코드 블록

10.11.4. 포인트 테이블 명령

포인트 테이블 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 주로 시스템 모드와 포인트 테이블 모드 간 전환에 사용되며, 포인트 테이블을 전환하여 서로 다른 포인트 테이블의 교시 포인트를 적용합니다. 자세한 내용은 12장 `교시점`을 참조하십시오.

포인트 테이블 명령 노드, 파라미터:

  • 포인트 테이블 모드: 다른 포인트 테이블 이름으로 전환

../_images/1491.png

그림 10.11-4 포인트 테이블 코드 블록

10.11.5. 초점 추종 명령

초점 추종 코드 블록을 드래그하여 그래픽 편집 인터페이스의 워크스페이스에 넣습니다.

이 명령은 주로 로봇 운동 과정에서 항상 하나의 점을 향하도록 추종 이동할 때 사용됩니다.

초점 추종 명령 노드, 파라미터:

  • 파라미터 비례값: 0~100, 기본값 50

  • 피드포워드 파라미터: 0~1000, 기본값 19

  • 최대 각속도 가속도 제한: 0~10000, 기본값 1440

  • 최대 각속도 제한: 0~1000, 기본값 180

  • X축 지향 잠금: 기준 입력 벡터/수평/수직

../_images/1501.png

그림 10.11-5 초점 추종 코드 블록

10.12. 그래픽 프로그래밍 명령 사용 예

그래픽 프로그래밍 타입을 선택한 뒤 사용할 그래픽 코드 블록을 클릭하면, 워크스페이스에서 드래그 앤 드롭과 연결 작업을 수행할 수 있습니다.

예를 들어 PTP와 Lin 운동 명령, 그리고 제어 명령 Waitms를 선택해 연결하고, 바깥쪽에 접기 고급 명령을 중첩한 뒤 주석 이름을 입력하면 코드 블록 접기 기능을 사용할 수 있습니다.

또한 드롭다운 메뉴를 클릭하면 명령 파라미터 타입을 선택할 수 있고, 입력 상자에 명령 파라미터 데이터를 입력할 수 있습니다. 그래픽 프로그래밍 명령 예시는 다음과 같습니다:

../_images/0134.png

그림 10.12-1 그래픽 프로그래밍 명령 예

그래픽 프로그래밍 명령의 연결과 파라미터 입력이 끝난 후 워크스페이스 이름을 입력하고 저장 아이콘을 클릭하면 현재 프로그램을 저장할 수 있습니다. 생성이 완료된 `워크스페이스`를 선택한 뒤 실행 시작을 클릭하면 이 프로그램이 실행됩니다.

10.12.1. 그래픽 프로그래밍 코드 블록 모듈화

그래픽 프로그래밍 코드의 가독성을 높이기 위해 그래픽 프로그래밍 코드 블록 모듈화 기능, 즉 고급 명령인 접기 명령 코드 블록이 추가되었습니다.

../_images/0144.png

그림 10.12-2 접기 명령 코드 블록

  1. 한 단의 코드 블록 명령을 만든 뒤, 바깥쪽에 접기 명령 코드 블록을 추가하고 입력 상자에 이 명령의 비고를 입력합니다.

../_images/0154.png

그림 10.12-3 접기 명령 효과도

  1. 조작 바에서 `접기 블록`을 마우스 오른쪽 버튼으로 클릭하면 해당 명령 코드 블록이 접히며, 코드 블록이 한 줄 표시로 축약됩니다. 접힌 상태에서도 프로그램은 정상적으로 실행됩니다.

../_images/0165.png

그림 10.12-4 접기 후 효과도

  1. 마우스 휠을 스크롤하면 페이지 확대/축소 기능을 사용할 수 있으며, 효과는 아래와 같습니다:

../_images/0175.png

그림 10.12-5 페이지 확대/축소 기능 효과도

10.12.2. 그래픽 프로그래밍 동명 덮어쓰기

그래픽 프로그래밍 페이지에서 새로 만들기/파일 불러오기 후 워크스페이스 이름을 변경하고 저장을 클릭합니다. 변경한 워크스페이스 이름의 파일이 이미 존재하면 교시점이 이미 존재합니다 팝업창이 표시됩니다. 아래 그림을 참조하십시오.

../_images/0185.png

그림 10.12-6 그래픽 프로그래밍 프로그램 덮어쓰기

단계 1: 취소 버튼을 클릭하면 이전 작업을 계속합니다.

단계 2: 교시 프로그램 동기 업데이트 체크박스를 클릭한 뒤 덮어쓰기 버튼을 클릭하면, 현재 그래픽 프로그래밍 페이지의 lua 프로그램이 변경된 워크스페이스 파일명의 lua 프로그램을 덮어씁니다.

10.12.3. 그래픽 프로그래밍 프로그램 미저장 확인

그래픽 프로그래밍 페이지에서 프로그램을 열거나 새로 만든 뒤, 그래픽 프로그래밍 프로그램에 변경이 발생했지만 저장되지 않은 경우입니다.

열기 파일 작업을 클릭하면 이 프로그램을 저장하시겠습니까? 팝업창이 표시되며, `현재 프로그램이 변경되었습니다. 이 프로그램의 변경사항을 저장하시겠습니까?`라는 메시지가 나타납니다. 아래 그림을 참조하십시오.

../_images/0194.png

그림 10.12-7 현재 페이지 프로그램 미저장 확인

단계 1: 저장 안 함 버튼을 클릭하면 앞서 수행한 열기 파일 작업을 계속합니다.

단계 2: 저장 버튼을 클릭하면 저장되지 않은 lua 프로그램이 정상적으로 저장되고, 앞선 열기 파일 작업을 계속합니다.

그래픽 프로그래밍 페이지를 벗어나 다른 페이지로 전환할 때도 동일하게 이 프로그램을 저장하시겠습니까? 안내가 표시되며, 현재 그래픽 프로그래밍 페이지에 그대로 머무르게 됩니다. 아래 그림을 참조하십시오.

../_images/0204.png

그림 10.12-8 페이지 전환 시 프로그램 미저장 확인

단계 1: 저장 안 함 버튼을 클릭하면 이전에 선택한 페이지로 이동합니다.

단계 2: 저장 버튼을 클릭하면 저장되지 않은 lua 프로그램이 정상적으로 저장되고, 이전에 선택한 페이지로 이동합니다. 저장하려는 프로그램 이름이 이미 존재하면 교시 포인트가 이미 존재하는지, 덮어쓸 것인지에 대한 안내가 표시됩니다. 취소/덮어쓰기 작업 후 이전에 선택한 페이지로 이동합니다.