프로그램 페이지#

탐색 모음에서 ‘프로그램’을 클릭하여 프로그램 페이지로 들어갑니다. 프로그램 페이지에서는 프로그램 목록 관리, 프로그램 수정, 프로그램 실행이 가능합니다.

프로그램 목록 페이지#

목록 페이지는 현재 활성화된 프로젝트의 모든 프로그램을 관리하는 데 사용됩니다. 그림은 프로그램 목록 페이지로, 프로그램 루트 디렉터리 아래의 모든 프로그램과 폴더를 표시합니다.

../../_images/119.jpg

폴더를 선택하고 오른쪽 A1 버튼을 클릭한 다음 “프로그램 입력”을 클릭하면 파일 디렉토리로 전환하여 폴더 아래의 모든 프로그램과 폴더를 볼 수 있습니다.

프로그램을 선택하면 오른쪽 ‘프로그램 미리보기’ 영역에 프로그램 콘텐츠가 표시되며 ‘프로그램 시작’을 클릭하여 프로그램을 엽니다.

그림과 같이 현재 디렉터리가 왼쪽 상단에 표시됩니다. 상위 디렉터리로 돌아가려면 ‘상위 레벨로 돌아가기’ 버튼을 클릭하고 경로를 클릭하여 디렉터리를 전환한 다음 A2 를 클릭하여 루트 디렉터리로 전환합니다.

../../_images/38.jpg

새로운 프로그램#

‘새 프로그램’ 버튼을 클릭하면 키보드가 나타나고 프로그램 이름을 입력한 후 ‘확인’ 버튼을 클릭하면 현재 폴더 아래에 프로그램이 만들어집니다.

../../_images/48.jpg

새 폴더#

‘새 폴더’ 버튼을 클릭하면 키보드가 나타나고 폴더 이름을 입력한 후 ‘확인’ 버튼을 클릭하면 현재 폴더 아래에 폴더가 생성됩니다.

프로그램 파일 작업#

목록 항목 오른쪽에 있는 버튼을 클릭하면 아래와 같이 메뉴 상자가 나타납니다:

../../_images/57.jpg

프로그램 파일의 경우 사용자는 다음을 수행할 수 있습니다:

프로그램 시작하기

클릭하여 프로그램을 엽니다.

복사

‘복사’ 버튼을 클릭하여 프로그램 파일을 복사합니다. 프로그램 목록 페이지는 다음과 같습니다. 이때 사용자는 붙여넣을 위치를 선택하고 ‘붙여넣기’ 버튼을 클릭하면 현재 폴더에 프로그램이 복사되며, ‘취소’ 버튼을 클릭하면 복사를 취소할 수 있습니다. 현재 폴더에 같은 이름의 파일이 있는 경우 자동으로 끝에 _copyXX 접미사가 추가됩니다.

../../_images/66.jpg ../../_images/75.jpg

이름 바꾸기

‘이름 바꾸기’ 버튼을 클릭하면 키보드가 나타나고 새 이름을 입력한 후 수정이 가능한지 확인합니다.

참고: 이미 열려 있거나 실행 중인 프로그램은 이름을 변경할 수 없습니다.

../../_images/86.jpg

삭제

‘삭제’ 버튼을 클릭하고 확인 대화 상자를 팝업한 후 확인하여 프로그램을 삭제합니다.

참고: 이미 열려 있거나 실행 중인 프로그램은 삭제할 수 없습니다.

내보내기

프로그램 파일을 U 디스크로 내보낼 수 있습니다(프로그램 가져오기 및 내보내기를 참조하세요).

로컬에 저장

프로그램 파일은 브라우저를 통해 로컬에 다운로드할 수 있습니다.

폴더 작업#

폴더 항목 | A1| 버튼의 오른쪽에 있는 버튼을 클릭하면 팝업 메뉴에서 프로그램 입력, 이름 변경, 폴더 내보내기, 삭제

.

프로그램 시작하기

이 폴더로 전환하고 이 폴더 아래의 모든 프로그램과 하위 폴더를 보려면 클릭합니다.

이름 바꾸기

폴더 이름을 변경할 수 있습니다. 참고: 이 폴더에 열려 있거나 실행 중인 프로그램이 있는 경우 이름 바꾸기 기능이 금지됩니다.

폴더 내보내기

전체 프로그램 폴더를 압축하여 U 디스크로 내보내는 압축 패키지로 압축할 수 있습니다.

삭제

사용자는 폴더의 모든 콘텐츠를 삭제할 수 있습니다. 이 폴더에 열려 있거나 실행 중인 프로그램이 있는 경우 삭제 기능이 금지됩니다.

프로그램 가져오기 및 내보내기#

사용자는 외부 장치에서 외부 장치로 프로그램 및 폴더를 가져오거나 내보낼 수 있습니다. 외부 장치는 USB 플래시 드라이브 및 모바일 하드 드라이브와 같이 제어 캐비닛의 USB 포트에 연결된 저장 장치를 말합니다.

프로그램/폴더 가져오기

‘가져오기’ 버튼을 클릭하면 현재 제어 캐비닛에 장착된 USB 저장 장치가 표시된 다음 창이 나타나고 장치를 선택합니다.

../../_images/104.jpg

장치에 있는 폴더와 해당 파일(jspf, 스크립트 또는 프로그램)이 페이지에 표시됩니다. 파일을 선택하고 선택을 클릭하여 파일 또는 압축 파일 패키지(프로그램)의 압축을 풀고 제어 캐비닛으로 가져옵니다. 파일을 가져올 때 파일 이름이 제어 캐비닛의 프로그램 파일과 동일한 경우 이름 바꾸기 프롬프트 상자가 표시되고 파일 이름을 바꾼 후 제어 캐비닛으로 가져옵니다.

../../_images/1110.jpg ../../_images/124.jpg

사용자가 폴더(프로그램)를 가져올 때 같은 이름의 파일이 존재하는 경우, 시스템은 같은 이름의 파일 개수를 표시합니다. 사용자는 ‘취소’ 또는 ‘덮어쓰기’를 클릭할 수 있습니다.

../../_images/133.jpg

프로그램/폴더 내보내기

프로그램 목록 페이지에서 프로그램을 선택하고 대화형 메뉴에서 ‘내보내기’ 버튼을 선택하면 내보내기 작업을 수행할 수 있습니다. 가져오기와 마찬가지로 현재 제어 캐비닛에 장착된 USB 저장 장치가 팝업 창에 표시됩니다. 장치를 선택한 후 사용자는 장치의 파일과 폴더를 확인하고 내보낼 폴더를 선택한 후 해당 장치의 폴더로 프로그램을 내보낼 수 있습니다. 내보낸 프로그램 파일의 이름이 장치에 있는 파일과 동일한 경우 다음과 같은 창이 표시됩니다. 사용자는 내보내기를 취소하거나 내보내기 이름을 변경한 후 파일을 다시 내보내거나 장치에 있는 파일을 직접 덮어쓸 수 있습니다. 폴더를 선택하면 시스템에서 폴더 이름을 지정하고 폴더를 패키징한 후 폴더 이름으로 압축합니다. 압축된 패키지에는 이 레벨의 폴더가 포함됩니다.

../../_images/143.jpg

프로그램 목록 페이지 상단의 ‘내보내기’ 버튼을 클릭하면 현재 디렉터리에 있는 모든 파일과 폴더를 ‘현재 프로그램 목록 이름. 프로그램’이라는 이름의 압축 패키지로 패키징하고 외부 장치의 지정된 경로로 패키지를 내보낼 수 있습니다. 압축된 패키지에는 이 레벨 폴더가 포함되지 않습니다. 내보내기 프로그램과 마찬가지로 같은 이름의 파일이 존재하면 같은 이름의 작업 프롬프트 상자가 재생됩니다.

프로그래밍#

전체 레이아웃#

새 프로그램을 만들거나 프로그램 목록 페이지에서 프로그램을 열면 다음 그림과 같이 프로그래밍 페이지로 들어갈 수 있습니다.

프로그래밍 페이지의 왼쪽은 프로그램 트리를 편집할 수 있는 프로그래밍 영역입니다. 오른쪽은 5개의 섹션으로 나눌 수 있습니다: ‘명령’ 탭은 사용 가능한 그래픽 프로그래밍 기능 블록을 보여주는 기능 블록 목록 영역, ‘프로그램 변수’ 탭은 프로그램 변수를 생성하고 프로그램 실행 중에 프로그램 변수를 모니터링하고 프로그램 변수 이름을 알파벳순으로 정렬하고 모니터링 여부를 선택할 수 있는 프로그램 변수 영역, ‘시스템 변수’ 탭은 시스템 변수의 초기 값과 모니터링 여부를 보여주는 시스템 변수 영역, ‘명령’ 탭은 사용 가능한 그래픽 프로그래밍 기능 블록을 보여주는 기능 블록 목록 영역, ‘프로그램 변수’는 사용자가 프로그램 변수를 생성하고 프로그램이 실행되는 동안 모니터링할 수 있는 프로그램 변수 영역으로 구성됩니다. ‘프로그램 변수’ 탭은 프로그램 변수 영역으로, 프로그램 변수를 생성하고, 프로그램이 실행되는 동안 프로그램 변수를 모니터링하고, 프로그램 변수 이름을 알파벳순으로 정렬하고, 변수를 모니터링할지 여부를 선택할 수 있습니다; ‘시스템 변수’ 탭은 사용자가 시스템 변수의 초기 값을 표시하고 프로그램이 실행되는 동안 시스템 변수의 현재 값을 모니터링하고 마찬가지로 시스템 변수 이름을 알파벳순으로 정렬할 수 있는 영역이며, ‘파라미터’ 탭은 사용자가 프로그램 트리에서 선택한 기능 블록의 파라미터를 보고 편집할 수 있는 파라미터 구성 영역이고, ‘시뮬레이션’ 탭은 로봇의 3D 모델을 보여줍니다.

따라서 ‘명령어’의 ‘이동’, ‘기본’, ‘흐름 제어’, ‘통신’, ‘고급’, ‘확장’ 목록 영역에서 모든 유형의 기능 블록의 오른쪽 A1 을 클릭합니다.아이콘을 클릭하면 작업 대화 상자가 나타나고, 작업 대화 상자에서 ‘공통에 추가’ 버튼을 클릭하면 사용자가 ‘공통’ 클래스에 명령어 블록을 추가할 수 있으며, 공통 클래스 기능 블록 목록 영역에서 기능 블록의 오른쪽 아이콘 A1 을 클릭하면 작업 대화 상자가 나타나고, 팝업 작업 대화 상자에서 ‘제거’ 버튼을 클릭하면 사용자가 ‘공통 사용’ 클래스에서 명령어 블록을 제거할 수 있습니다.

../../_images/173.jpg

현재 프로그램의 이름은 왼쪽 상단에 표시되며 프로그램 이름 뒤에 있는 *는 프로그램이 변경되었음을 나타냅니다. 표시 상자에서 프로그램 이름이 있는 영역을 클릭합니다. 표시 상자 아래에 열려 있는 프로그램 목록을 표시하는 드롭다운 상자가 나타납니다.

../../_images/183.jpg

위 그림과 같이 열려 있는 프로그램 목록에 현재 시스템에 두 개의 프로그램이 열려 있는 것으로 표시되면, 이름 A3 오른쪽에 있는 드롭다운 상자의 버튼을 클릭하여 프로그램을 닫고, 드롭다운 목록 항목 표시줄을 클릭하여 해당 프로그램으로 전환합니다.

사용자가 프로그램을 닫을 때 프로그램이 변경되면 프로그램을 저장할지 아니면 수정을 포기할지 묻는 대화 상자가 나타납니다.

프로그래밍 작업#

프로그래밍은 드래그 앤 드롭 및 더블 클릭 추가를 사용합니다.

드래그 방법: 사용자는 기능 블록 목록 영역에서 기능 블록을 누른 상태에서 프로그래밍 영역으로 드래그할 수 있습니다. 프로그램 트리의 해당 위치에 파란색 가로줄이 표시되어 기능 블록이 해당 위치에 삽입됨을 나타냅니다. 이 선을 풀면 해당 위치에 기능 블록이 추가됩니다. 사용자가 기능 블록을 프로그램 트리의 해당 위치로 끌었을 때 빨간색 선이 표시되면 해당 기능 블록을 해당 위치에 삽입할 수 없습니다. 기능 블록을 놓으면 대화 상자가 표시됩니다.

추가: 를 더블 클릭합니다: 프로그램 트리에서 기능 블록을 클릭하여 기능 블록을 선택합니다. 이때 목록 영역에 있는 기능 블록을 더블 클릭하면 선택한 기능 블록 아래의 프로그램 트리에 해당 기능 블록이 추가됩니다. (참고: 모바일 장치에서는 더블 클릭이 지원되지 않습니다.)

프로그램 트리의 기능 블록을 다른 위치로 직접 드래그할 수 있도록 지원합니다.

기능 블록을 선택하고 수동으로 매개변수 구성 영역으로 전환하여 기능 블록의 매개변수를 설정합니다. 각 기능 블록 및 해당 파라미터 구성 페이지에 대한 자세한 내용은 다음을 참조하세요.

../../_images/213.jpg

프로그램 트리의 기능 블록에는 다음과 같은 다섯 가지 상태가 있습니다. 빨간색은 기능 블록이 유효한 매개변수로 구성되지 않았음을 나타내고, * 이탤릭체는 기능 블록의 매개변수가 변경되었지만 프로그램 트리에 저장되지 않았음을 나타내며, 검은색은 기능 블록의 매개변수가 유효하고 변경되지 않았음을 나타냅니다. 기능 블록의 회색 부분은 드래그 앤 드롭을 위해 상태가 선택되었음을 나타냅니다. 모든 기능 블록이 회색이면 해당 기능 블록이 비활성화된 것입니다.

../../_images/221.jpg

프로그램 트리 기능 블록의 오른쪽 아이콘 A1 을 클릭하면 대화 상자에 다음 작업이 포함됩니다.

../../_images/241.jpg

: 기능 블록을 잘라냅니다.

복사: 함수 블록을 복사합니다.

붙여넣기: 사용자가 복사한 기능 블록을 선택한 기능 블록의 하단에 붙여넣을 수 있습니다.

비활성화/활성화: 기능 블록 활성화 여부를 선택하려면 클릭하고, 비활성화를 선택하면 기능 블록이 회색으로 표시되며 프로그램이 기능 블록을 실행하지 않습니다.

일괄 작업: 기능 블록을 일괄적으로 복사, 잘라내기, 삭제, 비활성화, 활성화 및 그룹을 만들 수 있습니다. 사용자가 일괄 작업을 위해 기능 블록을 선택하면 해당 기능 블록의 줄 번호 안에 ‘A4’ 아이콘이 표시됩니다.

선택한 아이콘이 해당 기능 블록과 같은 레벨의 기능 블록 행 번호 옆에 표시되면 해당 기능 블록과 원래 기능 블록 사이의 모든 기능 블록이 자동으로 선택됩니다. 또한 같은 레벨의 기능 블록만 선택할 수 있습니다. 상위 레벨을 넘어서는 기능 블록은 선택할 수 없습니다.

../../_images/batch.jpg

일괄 복사: 선택한 블록을 복사하여 선택한 위치에 붙여넣기

일괄 잘라내기: 선택한 블록을 잘라내어 선택한 위치에 붙여넣기

일괄 활성화: 선택한 모든 블록 활성화

일괄 비활성화: 선택한 모든 블록 비활성화

일괄 삭제: 선택한 모든 블록 삭제

그룹을 생성합니다: 선택한 기능 블록을 그룹으로 생성: 선택한 블록이 모두 이동 블록인 경우 새 이동 블록이 생성되고 매개변수는 원래 이동 블록과 동일하며, 그렇지 않은 경우 그룹 블록이 생성됩니다.

../../_images/batch-group.jpg ../../_images/batch-group-move.jpg

삭제: 이 기능 블록은 삭제할 수 있습니다.

이 동작의 시작 라인 선택: 클릭하면 이 함수 블록을 동작의 시작 행으로 선택할 수 있으며, 이때 함수 블록 앞에 A8 아이콘이 표시되고 함수 블록 아래쪽부터 프로그램이 실행됩니다. 시작 행 설정을 취소하려면 오른쪽 상단의 ‘행 선택 해제’ 버튼을 클릭합니다.

프로그램 편집 과정에서 사용자는 언제든지 페이지 왼쪽 상단의 A5A6 아이콘을 통해 변경 사항을 실행 취소하거나 복원할 수 있습니다. 참고: 변경사항 실행 취소는 최대 10회까지 실행 취소할 수 있습니다.

프로그램 트리가 변경되면 * 뒤에 현재 프로그램의 이름이 표시되어 프로그램이 변경되었음을 나타내며, 이때 사용자는 페이지 왼쪽 상단의 A7 아이콘을 통해 프로그램을 컨트롤러에 저장할 수 있습니다.

기능 블록 및 파라미터 구성#

기능 블록 목록 영역에는 로봇 프로그래밍에 일반적으로 사용되는 시나리오에 따라 패키징된 현재 사용 가능한 그래픽 프로그래밍 기능 블록이 표시됩니다. 이 시스템에서 제공하는 기능 블록과 해당 구성 매개변수는 다음과 같습니다.

시작 기능 블록#

프로그램의 초기 로봇 관절 위치입니다. 시작 기능 블록이 활성화된 상태에서 프로그램이 시작되면 프로그램 실행 시작 후 현재 로봇 관절 위치와 프로그램의 초기 로봇 관절 위치 간의 검증이 적용됩니다. 그렇지 않으면 시작 기능 블록이 비활성화되어 있으면 프로그램이 자동으로 실행을 시작합니다.

모든 메인 프로그램은 항상 시작 기능 블록을 활성화한 상태로 시작하는 것이 좋습니다. 하위 프로그램으로 실행되는 프로그램은 경우에 따라 시작 기능 블록을 비활성화할 수 있습니다.

../../_images/start.jpg

기능 블록 이동#

MoveJ, MoveL 등과 같은 함수 블록을 드래그할 때 Move 노드가 없는 경우 다음 매개변수를 포함하는 Move 함수 블록이 자동으로 생성됩니다:

종료 속도: 단위 mm/s, 값 범위는 [0.01, 5000]입니다.

끝 가속도: 단위 mm/s^2, 값 범위는 [0.01, 무한대]입니다.

조인트 각속도: 단위 °/s, 값 범위는 [0.01, 225]입니다.

조인트 각 가속도: 단위 °/s^2, 값 범위는 [0.01, 무한대]입니다.

블렌드 반경: 단위 mm, 값 범위는 0에서 무한대까지입니다.

참조 좌표계: 공구 좌표계, 공작물 좌표계는 수동으로 변경할 수 있습니다.

이 중 종단 속도, 종단 가속도, 관절 각속도, 관절 각가속도는 값을 직접 입력하거나 변수를 선택하는 방식으로 사용자 지정할 수 있으며, 종단 가속도 및 관절 각가속도는 시스템 기본값으로 선택할 수도 있습니다. 끝 가속도 또는 관절 각 가속도를 시스템 기본값으로 선택하면 모션 계획은 알고리즘에 의해 계산된 최적의 계획을 사용합니다. 참고: 해당 파라미터의 단위는 ‘사용자 지정’을 선택한 경우에만 표시되며, 변수를 선택할 때는 특정 유형의 변수만 선택할 수 있고, 끝 속도는 포즈 속도 유형 변수만, 끝 가속도는 포즈 가속도 유형 변수만, 관절 각속도는 관절 속도 유형 변수만, 관절 각가속도는 시스템 기본 유형 변수만, 변수 및 관절 각가속도는 관절_acc 유형 변수만 선택할 수 있습니다.

이동 함수 블록을 생성할 때 기본적으로 이동의 모든 부모 노드가 기준 좌표계를 설정했는지 확인하고, 설정하지 않은 경우 시스템에서 설정한 현재 좌표계를 사용합니다. 예를 들어 컨베이어 함수 블록에는 기준 좌표계, 즉 보정된 컨베이어 좌표계가 설정되어 있으므로 Move 클래스 함수 블록을 컨베이어 자식 노드로 드래그하면 생성된 Move 함수 블록은 기본적으로 컨베이어 좌표계를 사용합니다.

이동 블록에서 설정한 직교 공간 모션 파라미터는 이동L, 이동C, 이동TCP, 이동Wobj, 이동스파이럴 기능 블록에만 적용되며 다른 하위 기능 블록에는 영향을 미치지 않습니다. 설정된 조인트 모션 파라미터는 MoveJ 함수 블록에만 적용되며 다른 하위 함수 블록에는 영향을 미치지 않습니다.

이동 기능 블록에서 설정한 기준 좌표계는 이동J, 이동L, 이동C, 이동TCP, 이동Wobj 및 이동스파이럴 기능 블록에만 적용되며 다른 기능 블록에는 영향을 미치지 않습니다.

../../_images/301.jpg

로봇 동작을 제어하는 특정 기능 블록은 다음과 같은 유형이 있습니다:

MoveJ

로봇은 관절 동작 방식으로 움직이며 목표 관절 또는 목표 자세로 이동하도록 선택할 수 있습니다. 매개변수를 사용할 수 있습니다:

대상 조인트: 로봇 관절 위치를 목표 모션 위치로 사용합니다. 목표 관절 위치는 직접 티칭하거나 관절 유형 변수를 사용하여 결정할 수 있습니다. 목표 관절 위치를 직접 티칭한 후 수동으로 수정할 수 있습니다.

대상 포즈: 로봇 엔드 이펙터 포즈를 목표 모션 위치로 사용합니다. 목표 포즈 위치는 직접 티칭하거나 포즈 유형 변수를 사용하여 결정할 수 있습니다. 목표 엔드 이펙터 포즈를 직접 티칭한 후 수동으로 수정할 수 있습니다.

가르치다: 목표 로봇의 동작 위치를 가르칩니다. 티치 버튼을 클릭하면 UI 페이지가 자동으로 이동 페이지로 전환됩니다. 로봇을 조그하여 목표 위치로 이동한 후 ‘포즈 기록’ 버튼을 클릭합니다. UI 페이지가 프로그램 페이지로 전환되고 목표 로봇 위치가 이미 기록됩니다.

기록: 기록: 현재 로봇 위치를 현재 기능 블록의 목표 로봇 동작 위치로 기록합니다.

여기로 이동합니다: 로봇을 가장 최근에 기록된 로봇 목표 동작 위치로 이동합니다. 버튼을 클릭하면 3D 시뮬레이션 모델이 자동으로 표시됩니다. 3D 시뮬레이션 모델 하단의 ‘이동’ 버튼을 길게 누르면 로봇이 기록된 목표 로봇 동작 위치로 이동하도록 제어할 수 있습니다.

참고

주의: 목표 포즈를 함수 블록의 로봇 목표 동작 위치로 설정한 후 “이리로 이동”으로 로봇을 목표 위치로 이동시키는 경우, 같은 로봇 엔드 이펙터 포즈라도 이동 시작 위치가 다르면 최종 로봇 관절 위치가 달라질 수 있습니다. 3D 시뮬레이션 모델과 그 그림자 모델을 통해 최종 로봇 관절의 위치가 티칭 시 기록된 것과 동일한지 확인할 수 있습니다.

참고

주의: 목표 포즈를 기능 블록의 로봇 목표 위치로 사용할 때, 프로그램 실행 중 현재 로봇 관절 위치의 운동학적 해가 기록된 목표 로봇 관절 위치와 다를 경우 이 비정상 상태를 알리는 에러가 발생할 수 있습니다.

부모 노드 좌표계 사용: 이 파라미터는 목표 위치 자세를 선택할 때 설정할 수 있습니다. 이 파라미터를 선택하면 기능 블록은 상위 노드 이동 기능 블록에서 설정한 참조 좌표계를 사용합니다.

기준 좌표계: 목표 위치 자세를 선택할 때 설정할 수 있습니다. 상위 좌표계를 선택하지 않은 경우 기능 블록에 대해 참조 좌표계를 별도로 설정할 수 있습니다.

부모 노드 파라미터 사용: 이 옵션을 선택하면 함수 블록은 상위 노드 이동 함수 블록에서 설정한 조인트 각속도 및 조인트 각가속도 파라미터를 사용합니다. 이 매개변수를 선택하지 않으면 사용자가 이 기능 블록에 대한 관절 각속도 및 관절 각가속도를 설정해야 합니다. 이 파라미터는 기본적으로 선택되어 있습니다.

관절 각속도: 단위 °/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 225]입니다.

관절 각 가속도: 단위 °/s2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

부모 노드 블렌드 반경: 이 파라미터를 선택하면 부모 노드 이동 함수 블록에서 설정한 블렌드 반경 파라미터가 사용됩니다. 이 파라미터를 선택하지 않으면 이 함수 블록에 대한 블렌드 반경을 설정해야 합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

블렌드 반경: 단위는 mm, 값 범위는 [0, 무한대]이며, 0은 블렌드가 없음을 나타냅니다.

참고

주의: 블렌드 반경을 부적절한 값으로 설정하면 블렌드 모션 중 진동이 발생할 수 있습니다. 특정 사례에 따라 블렌드 반경 값을 조정하는 것이 좋습니다.

참고

주의: 블렌드 반경이 너무 작으면 블렌드 모션이 실패할 수 있습니다. 이러한 경우 로직 문제가 발생하지 않았다면 MotionConfig 기능 블록을 사용하여 “블렌드 프리로드”를 “모션 시작점” 옵션으로 조정하는 것이 좋습니다. 그래도 블렌드 모션에 실패하는 경우 모션 속도를 줄이거나 목표 지점을 조정하여 함수 블록의 원점 모션 주기가 100ms 이상이 되도록 하면 블렌드 모션이 성공적으로 수행될 수 있습니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

../../_images/312.jpg

OP가 활성화된 경우 사용자는 다음 구성을 수행해야 합니다:

궤적 시작 후와 궤적 종료 전/후에 트리거할 수 있습니다.

트리거 유형: 사용자는 트리거 없음, 시간 트리거, 거리 트리거를 선택할 수 있습니다.

트리거 지연: 설정 시간(단위: ms)

트리거 동작: 포트 및 포트 상태를 선택하거나 사용자 지정 이벤트를 수행합니다.

../../_images/322.jpg

MoveL

로봇이 목표 자세로 일직선으로 이동합니다. 매개변수를 설정할 수 있습니다:

목표 포즈: 티칭으로 설정하거나 변수로 설정할 수 있으며 티칭 설정 후 수동으로 변경할 수 있습니다.

가르치다: 목표 로봇의 동작 위치를 가르칩니다. 티치 버튼을 클릭하면 UI 페이지가 자동으로 이동 페이지로 전환됩니다. 로봇을 조그하여 목표 위치로 이동한 후 ‘포즈 기록’ 버튼을 클릭합니다. UI 페이지가 프로그램 페이지로 전환되고 목표 로봇 위치가 이미 기록됩니다.

기록: 기록: 현재 로봇 위치를 현재 기능 블록의 목표 로봇 동작 위치로 기록합니다.

여기로 이동합니다: 로봇을 가장 최근에 기록된 로봇 목표 동작 위치로 이동합니다. 버튼을 클릭하면 3D 시뮬레이션 모델이 자동으로 표시됩니다. 3D 시뮬레이션 모델 하단의 ‘이동’ 버튼을 길게 누르면 로봇이 기록된 목표 로봇 동작 위치로 이동하도록 제어할 수 있습니다.

참고

주의: “이리로 이동”으로 로봇을 목표 위치로 이동시킬 때, 이동 시작 위치가 다르면 동일한 로봇 엔드 이펙터 포즈로도 최종 로봇 관절 위치가 달라질 수 있습니다. 3D 시뮬레이션 모델과 그 그림자 모델을 통해 최종 로봇 관절의 위치가 티칭 시 기록된 것과 동일한지 확인할 수 있습니다.

참고

주의: 프로그램 실행 중 현재 로봇 관절 위치의 운동학적 해가 기록된 목표 로봇 관절 위치와 다른 경우, 이 비정상 상태를 알리기 위해 오류가 발생합니다.

상위 좌표계: 이 매개변수를 선택하면 함수 블록은 상위 이동 함수 블록에서 설정한 참조 좌표계를 사용합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

참조 좌표계: 상위 좌표계를 선택하지 않은 경우 기능 블록에 대해 참조 좌표계를 별도로 설정할 수 있습니다.

상위 노드 파라미터 사용: 이 옵션을 선택하면 함수 블록은 상위 노드 이동 함수 블록에서 설정한 종료 속도 및 종료 가속도 파라미터를 사용합니다. 사용자가 이 옵션을 선택하지 않으면 이 기능 블록의 끝 속도와 끝 가속도를 설정해야 합니다. 기본적으로 선택되어 있습니다.

공구 속도: 단위 mm/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 5000]입니다.

도구 가속: 단위 mm/s2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

부모 노드 블렌드 반경: 이 파라미터를 선택하면 부모 노드 이동 함수 블록에서 설정한 블렌드 반경 파라미터가 사용됩니다. 이 매개변수를 선택하지 않으면 사용자가 이 기능 블록에 대한 블렌드 반경을 설정해야 합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

블렌드 반경: 단위 mm, 값 범위는 [0, 무한대]이며, 0은 블렌드가 없음을 나타냅니다.

참고

주의: 블렌드 반경을 부적절한 값으로 설정하면 블렌드 모션 중 진동이 발생할 수 있습니다. 특정 사례에 따라 블렌드 반경 값을 조정하는 것이 좋습니다.

참고

주의: 블렌드 반경이 너무 작으면 블렌드 모션이 실패할 수 있습니다. 이러한 경우 로직 문제가 발생하지 않았다면 MotionConfig 기능 블록을 사용하여 “블렌드 프리로드”를 “모션 시작점” 옵션으로 조정하는 것이 좋습니다. 그래도 블렌드 모션에 실패하는 경우 모션 속도를 줄이거나 목표 지점을 조정하여 함수 블록의 원점 모션 주기가 100ms 이상이 되도록 하면 블렌드 모션이 성공적으로 수행될 수 있습니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

../../_images/331.jpg

OP가 활성화된 경우 사용자는 다음 구성을 수행해야 합니다:

궤적 시작 후와 궤적 종료 전/후에 트리거할 수 있습니다.

트리거 유형: 사용자는 트리거 없음, 시간 트리거, 거리 트리거를 선택할 수 있습니다.

트리거 지연: 설정 시간(단위: ms)

트리거 거리: 거리 설정(단위: mm)

트리거 동작을 클릭합니다: 포트 및 포트 상태를 선택하거나 사용자 지정 이벤트를 수행합니다.

../../_images/341.jpg

블렌드에서 옵션 작동:

로봇은 궤적을 실행하는 동안 일반적인 디지털 출력 상태를 설정합니다. 블렌드와 함께 사용할 경우, 예를 들어 세 가지 moveL 블렌드는 다음과 같은 효과가 있습니다:

../../_images/3411.jpg

MoveC

로봇이 원호 또는 전체 원에 따라 움직이고 매개 변수를 설정할 수 있습니다:

모드: 호 또는 전체 원

중간점 자세/중간점 1: 티칭으로 설정하거나 변수로 설정할 수 있으며 티칭 설정 후 수동으로 변경할 수 있습니다.

목표 포즈/중간점 2: 티칭으로 설정하거나 변수로 설정할 수 있으며, 티칭 설정 후 수동으로 변경할 수 있습니다.

가르치다: 목표 로봇의 동작 위치를 가르칩니다. 티치 버튼을 클릭하면 UI 페이지가 자동으로 이동 페이지로 전환됩니다. 로봇을 조그하여 목표 위치로 이동한 후 ‘포즈 기록’ 버튼을 클릭합니다. UI 페이지가 프로그램 페이지로 전환되고 목표 로봇 위치가 이미 기록됩니다.

기록: 기록: 현재 로봇 위치를 현재 기능 블록의 목표 로봇 동작 위치로 기록합니다.

여기로 이동합니다: 로봇을 가장 최근에 기록된 로봇 목표 동작 위치로 이동합니다. 버튼을 클릭하면 3D 시뮬레이션 모델이 자동으로 표시됩니다. 3D 시뮬레이션 모델 하단의 ‘이동’ 버튼을 길게 누르면 로봇이 기록된 목표 로봇 동작 위치로 이동하도록 제어할 수 있습니다.

참고

주의: “이리로 이동”으로 로봇을 목표 위치로 이동시킬 때, 이동 시작 위치가 다르면 동일한 로봇 엔드 이펙터 포즈로도 최종 로봇 관절 위치가 달라질 수 있습니다. 3D 시뮬레이션 모델과 그 그림자 모델을 통해 최종 로봇 관절의 위치가 티칭 시 기록된 것과 동일한지 확인할 수 있습니다.

참고

주의: 프로그램 실행 중 현재 로봇 관절 위치의 운동학적 해가 기록된 목표 로봇 관절 위치와 다른 경우, 이 비정상 상태를 알리기 위해 오류가 발생합니다.

상위 좌표계: 이 매개변수를 선택하면 기능 블록은 상위 이동 기능 블록에서 설정한 참조 좌표계를 사용합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

참조 좌표계: 상위 좌표계를 선택하지 않은 경우 기능 블록에 대해 참조 좌표계를 별도로 설정할 수 있습니다.

상위 노드 파라미터 사용: 이 옵션을 선택하면 함수 블록은 상위 노드 이동 함수 블록에서 설정한 종료 속도 및 종료 가속도 파라미터를 사용합니다. 사용자가 이 옵션을 선택하지 않으면 이 기능 블록의 끝 속도 및 끝 가속도를 설정해야 합니다. 기본적으로 선택되어 있습니다.

공구 속도: 단위 mm/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 5000]입니다.

공구 가속도: 단위 mm/s^2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

부모 노드 블렌드 반경: 이 파라미터를 선택하면 부모 노드 이동 함수 블록에서 설정한 블렌드 반경 파라미터가 사용됩니다. 이 매개변수를 선택하지 않으면 이 함수 블록에 대한 블렌드 반경을 설정해야 합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

블렌드 반경: 단위 mm, 값 범위는 [0, 무한대]이며, 0은 블렌드가 없음을 나타냅니다.

참고

주의: 블렌드 반경을 부적절한 값으로 설정하면 블렌드 모션 중 진동이 발생할 수 있습니다. 특정 사례에 따라 블렌드 반경 값을 조정하는 것이 좋습니다.

참고

주의: 블렌드 반경이 너무 작으면 블렌드 모션이 실패할 수 있습니다. 이러한 경우 로직 문제가 발생하지 않았다면 MotionConfig 기능 블록을 사용하여 “블렌드 프리로드”를 “모션 시작점” 옵션으로 조정하는 것이 좋습니다. 그래도 블렌드 모션에 실패하는 경우 모션 속도를 줄이거나 목표 지점을 조정하여 함수 블록의 원점 모션 주기가 100ms 이상이 되도록 하면 블렌드 모션이 성공적으로 수행될 수 있습니다.

자세 제어 모드: ‘끝점과 일치’를 선택하면 로봇의 자세는 끝점 자세에 따라 호 경로의 자세를 계획하고, ‘시작점과 일치’를 선택하면 시작점의 자세에 따라 호 경로의 로봇의 자세를 계획하고 경로 과정에서의 자세는 시작점과 일치합니다. ‘원 중심에 구속됨’을 선택하면 로봇의 자세가 원 운동에 의해 생성된 자세 변화를 기준으로 구속됩니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

OP 매개변수 구성은 MoveL과 동일합니다.

../../_images/351.jpg

MoveTCP

로봇은 도구 좌표계를 따라 이동합니다.

사용자는 각 방향에 오프셋을 직접 입력하거나 변수를 사용할 수 있습니다. 두 지점을 학습시킬 수 있으며 두 지점 사이의 오프셋이 이동의 오프셋 값으로 사용됩니다. 기타 구성 가능한 파라미터:

상위 좌표계: 이 매개변수를 선택하면 기능 블록은 상위 이동 기능 블록에서 설정한 참조 좌표계를 사용합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

참조 좌표계: 상위 좌표계를 선택하지 않은 경우, 기능 블록에 대해 참조 좌표계를 별도로 설정할 수 있습니다. 사용자가 증분 모드를 설정하는 경우 공구 좌표계만 선택하면 되고, 두 점을 설정하는 경우 공구 좌표계와 공작물 좌표계를 설정해야 합니다.

상위 노드 파라미터 사용: 이 옵션을 선택하면 함수 블록은 상위 노드 이동 함수 블록에서 설정한 종료 속도 및 종료 가속도 파라미터를 사용합니다. 사용자가 이 옵션을 선택하지 않으면 이 기능 블록의 끝 속도 및 끝 가속도를 설정해야 합니다. 기본적으로 선택되어 있습니다.

공구 속도: 단위 mm/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 5000]입니다.

공구 가속도: 단위 mm/s^2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

부모 노드 블렌드 반경: 이 파라미터를 선택하면 부모 노드 이동 함수 블록에서 설정한 블렌드 반경 파라미터가 사용됩니다. 이 매개변수를 선택하지 않으면 사용자가 이 기능 블록에 대한 블렌드 반경을 설정해야 합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

블렌드 반경: 단위 mm, 값 범위는 [0, 무한대]이며, 0은 블렌드가 없음을 나타냅니다.

참고

주의: 블렌드 반경을 부적절한 값으로 설정하면 블렌드 모션 중 진동이 발생할 수 있습니다. 특정 사례에 따라 블렌드 반경 값을 조정하는 것이 좋습니다.

참고

주의: 블렌드 반경이 너무 작으면 블렌드 모션이 실패할 수 있습니다. 이러한 경우 로직 문제가 발생하지 않았다면 MotionConfig 기능 블록을 사용하여 ‘블렌드 프리로드’를 ‘모션 시작점’ 옵션으로 조정하는 것이 좋습니다. 그래도 블렌드 모션에 실패하는 경우 모션 속도를 줄이거나 목표 지점을 조정하여 함수 블록의 원점 모션 주기가 100ms 이상이 되도록 하면 블렌드 모션이 성공적으로 수행될 수 있습니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

OP 매개변수 구성은 MoveL과 동일합니다.

../../_images/371.jpg

MoveWobj

로봇 툴이 작업물 좌표계를 따라 증분 거리만큼 앞으로 이동하는 것을 제어합니다.

사용자는 각 방향에 오프셋을 직접 입력하거나 변수를 사용할 수 있습니다.

두 지점을 학습시킬 수 있으며 두 지점 사이의 오프셋이 이동의 오프셋 값으로 사용됩니다. 기타 구성 가능한 파라미터:

상위 좌표계: 이 매개변수를 선택하면 기능 블록은 상위 이동 기능 블록에서 설정한 참조 좌표계를 사용합니다.

이 매개변수는 기본적으로 선택되어 있습니다.

참조 좌표계: 상위 좌표계를 선택하지 않은 경우, 기능 블록에 대한 참조 좌표계를 별도로 설정할 수 있습니다.

사용자가 증분 모드를 설정하는 경우 공작물 좌표계를 선택하기만 하면 됩니다;

두 개의 지점을 설정하기로 선택한 경우, 티칭 지점의 툴 좌표계와 작업물 좌표계를 설정해야 합니다.

상위 노드 파라미터 사용: 이 옵션을 선택하면 함수 블록은 상위 노드 이동 함수 블록에서 설정한 종료 속도 및 종료 가속도 파라미터를 사용합니다.

사용자가 이 옵션을 선택하지 않으면 이 기능 블록의 끝 속도 및 끝 가속도를 설정해야 합니다. 기본적으로 선택되어 있습니다.

공구 속도: 단위 mm/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 5000]입니다.

공구 가속도: 단위 mm/s^2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

부모 노드 블렌드 반경: 이 파라미터를 선택하면 부모 노드 이동 함수 블록에서 설정한 블렌드 반경 파라미터가 사용됩니다.

이 매개변수를 선택하지 않으면 사용자가 이 기능 블록에 대한 블렌드 반경을 설정해야 합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

블렌드 반경: 단위 mm, 값 범위는 [0, 무한대]이며, 0은 블렌드가 없음을 나타냅니다.

참고

주의: 블렌드 반경을 부적절한 값으로 설정하면 블렌드 모션 중 진동이 발생할 수 있습니다. 특정 사례에 따라 블렌드 반경 값을 조정하는 것이 좋습니다.

참고

주의: 블렌드 반경이 너무 작으면 블렌드 모션이 실패할 수 있습니다. 이러한 경우 로직 문제가 발생하지 않았다면 MotionConfig 기능 블록을 사용하여 “블렌드 프리로드”를 “모션 시작점” 옵션으로 조정하는 것이 좋습니다. 그래도 블렌드 모션에 실패하는 경우 모션 속도를 줄이거나 목표 지점을 조정하여 함수 블록의 원점 모션 주기가 100ms 이상이 되도록 하면 블렌드 모션이 성공적으로 수행될 수 있습니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

OP 매개변수 구성은 MoveL과 동일합니다.

../../_images/37-1.jpg

스플라인

로봇의 끝이 스플라인 곡선에 따라 움직이도록 제어됩니다. 사용자는 사용자 지정 또는 직접 티칭 포인트를 선택하거나 변수를 선택할 수 있습니다. 변수를 선택할 때는 포즈_목록 변수만 선택할 수 있습니다. 다른 파라미터는 설정할 수 있습니다:

스플라인 웨이포인트: 웨이포인트 추가, 편집, 삭제를 통해 웨이포인트를 기반으로 스플라인을 생성합니다.

참조 좌표계: 티칭 포인트 위치가 표시되면 기본값은 현재 공구 및 공작물 좌표계이며 수동으로 변경할 수 있습니다.

공구 속도: 단위 mm/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 5000]입니다.

도구 가속도: 단위 mm/s2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

블렌드 반경: 단위 mm. 값 범위는 [0, 무한대]이며, 0은 블렌드가 없음을 나타냅니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

OP 파라미터 구성은 MoveL과 동일합니다.

../../_images/381.jpg

참고

두 개의 스플라인을 함께 사용하는 경우, 전 스플라인의 끝점은 후 스플라인의 시작점과 같을 수 없습니다.

MotionConfig

스포츠 관련 구성을 켜거나 끕니다. 선택적 구성입니다:

속도 최적화: 속도 최적화를 켜면 로봇은 시스템 제약 조건을 충족한다는 전제 하에 가능한 최고 속도로 모션 명령을 실행합니다.

진동 제어: 진동 제어를 켜면 로봇 끝의 진동에 최적화되어 있습니다.

특이점 회피: 특이점 회피 기능을 켜면 로봇이 특이점 공간 근처를 지나갈 때 궤적이 자동으로 최적화됩니다.

자세 제약: 자세 제약 조건이 열리면 로봇 동작 태도는 항상 경로 간의 관계와 일치합니다.

블렌드 프리로드: 사용자가 모션 중간 지점 또는 모션 시작 지점을 선택할 수 있습니다. 블렌드 반경이 구성된 모션 스크립트는 이 매개변수를 기반으로 후속 스크립트를 블렌드 반경으로 미리 로드합니다.

../../_images/391.jpg

참고

특이점 이스케이프 기능을 활성화하면 경로가 특이점을 통과할 경우 이전에 설정한 경로가 영향을 받습니다.

참고

특이점 회피 기능을 활성화하면 특이점을 통과하면 개별 관절의 속도가 빨라지고 로봇 팔이 관절 과속으로 인해 잘못된 정전 신고를 할 수 있습니다.

MoveSpiral

로봇이 나선형 궤적을 따라 움직이며 매개변수를 설정할 수 있습니다:

나선형 티칭 모드: 매개변수 설정 또는 끝점 설정.

총 회전 횟수입니다: 로봇의 총 회전 횟수, 양수는 시계 방향 회전, 음수는 시계 반대 방향 회전입니다.

나선 중심점: 티칭으로 설정하거나 변수로 설정할 수 있으며, 티칭 설정 후 수동으로 변경할 수 있습니다.

축 방향 이동 거리: 티칭 모드가 파라미터 설정으로 설정된 경우 파라미터를 설정해야 합니다. 양수 및 음수 기호는 오른손 규칙(단위: mm)을 따릅니다.

끝점 반경: 이 매개변수는 티칭 모드가 매개변수 설정으로 설정된 경우에 필요합니다. 단위는 mm입니다.

트랙의 끝점: 티칭 모드가 종점으로 설정된 경우 티칭 모드로 설정하거나 티칭 설정 후 수동으로 변경할 수 있는 가변으로 설정할 수 있습니다.

상위 좌표계: 이 매개변수를 선택하면 기능 블록은 상위 이동 기능 블록에서 설정한 참조 좌표계를 사용합니다. 이 매개변수는 기본적으로 선택되어 있습니다.

참조 좌표계: 상위 좌표계를 선택하지 않은 경우 기능 블록에 대해 참조 좌표계를 별도로 설정할 수 있습니다.

상위 노드 파라미터 사용: 이 옵션을 선택하면 함수 블록은 상위 노드 이동 함수 블록에서 설정한 종료 속도 및 종료 가속도 파라미터를 사용합니다. 이 옵션을 선택하지 않으면 이 기능 블록의 끝 속도와 끝 가속도를 설정해야 합니다. 기본적으로 선택되어 있습니다.

공구 속도: 단위 mm/s, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 5000]입니다.

공구 가속도: 단위 mm/s^2, 사용자가 값을 사용자 지정하거나 변수를 선택할 수 있으며, 값 범위는 [0.01, 무한대]입니다.

OP 활성화: OP 기능을 사용하면 트랙 실행 중에 일반 디지털 콘센트 상태를 설정하거나 도구 출력 상태를 설정하거나 사용자 지정 이벤트를 조작할 수 있습니다.

OP 매개변수 구성은 MoveL과 동일합니다.

../../_images/40.jpg

콤바인모션

선형 및 원형 모션 제어 로봇이 복합 궤적 모션을 수행하는 경우에만 파라미터를 설정할 수 있습니다:

궤적 유형: 기본값은 삼각형, 선택 사항인 삼각형, 사인, 호, 사다리꼴, 8입니다.

참조평면: 기본값은 도구 XOY, 선택적 도구 XOY 또는 도구 XOZ 또는 도구 YOZ 또는 사용자 XOY 또는 사용자 XOZ 또는 사용자 YOZ입니다.

경로 드웰 동기화: 궤적 유형이 사인 또는 사다리꼴인 경우 기본적으로 구성해야 하는 파라미터가 체크되어 있지 않습니다.

이 파라미터를 선택하면 로봇이 왼쪽과 오른쪽에 머무는 동안 로봇 이동의 주 경로를 동시에 멈출 수 있습니다.

주파수: 기본값은 1(단위: Hz)입니다.

진폭: 진폭: 기본값은 1(단위: mm)입니다.

왼쪽 체류 시간: 궤적 유형이 사인 또는 사다리꼴일 때 구성할 파라미터를 지정합니다(단위: ms).

오른쪽 체류 시간: 궤적 유형이 사인 또는 사다리꼴일 때 구성할 파라미터를 지정합니다(단위: ms).

../../_images/412.jpg

기본 기능 블록#

설정

기능 블록을 설정합니다. 제어 캐비닛의 디지털 출력 포트와 로봇 끝에 있는 디지털 출력 포트는 하이 레벨 전자 장치 또는 로우 레벨 전자 장치 또는 펄스 신호로 설정할 수 있습니다. 펄스 신호로 설정할 경우 펄스의 주파수와 듀티 사이클을 설정해야 하며, 프로그램 또는 시스템 변수에 값을 할당합니다.

참고

변수를 할당하면 표현식 키보드가 팝업됩니다. 표현식 구문에 따라 할당을 입력하세요. 문자열 변수에 “Hello”를 할당하는 경우 키보드에 “Hello”를 입력합니다(큰따옴표는 생략할 수 없음).

../../_images/422.jpg

잠깐만

대기 함수 블록. 사용자는 일정 시간 동안 대기, DI 신호 대기, 특정 스레드 또는 표현식이 끝날 때까지 기다리도록 선택할 수 있으며, 이 함수 블록에 대한 프로그램 실행은 설정된 조건이 충족될 때까지 대기합니다.

../../_images/432.jpg

참고: 지연은 최소 100ms로 설정되어 있습니다!

“지연” 이외의 옵션을 선택하면 타임아웃 감지 활성화 여부를 나타내는 확인란이 표시됩니다. ‘타임아웃 감지 활성화’를 선택하면 다음 그림과 같이 타임아웃 기간과 타임아웃 변수를 입력할 수 있습니다.

../../_images/43-1.jpg

사용자는 타임아웃 기간을 수동으로 입력할 수 있으며 기본 타임아웃 시간은 60000ms입니다. 또한 사용자는 타임아웃 변수를 사용하여 타임아웃 여부를 결정할 수 있지만 타임아웃 변수는 선택 사항이며 선택할 수 없습니다.

스크립트

스크립트 기능 블록. 사용자는 표현식, 스크립트 또는 스크립트 파일을 선택할 수 있습니다. 표현식은 표현식 편집기를 사용하여 한 줄의 스크립트를 만드는 데 사용할 수 있으며, 표현식 입력은 8장 입력 키보드(표현식 입력 키보드) 섹션을 참조하세요. 스크립트는 스크립트 코드의 전체 섹션을 작성하는 데 사용할 수 있으며, 스크립트 파일은 파일에서 선택하여 스크립트 파일을 스크립팅하는 데 사용할 수 있습니다. 스크립트 코드에 대한 설명은 스크립트 매뉴얼을 참조하세요.

../../_images/441.jpg

전체 코드를 작성할 스크립트를 선택할 때 편집 영역 A9 아이콘 위를 클릭하면 아래와 같이 바로 가기 키 프롬프트 상자가 나타납니다.

../../_images/461.jpg

편집 영역 위에 있는 최대화 아이콘 A10 을 클릭하면 다음과 같이 스크립트 편집 영역에 최대화 아이콘이 표시됩니다. 최대화 인터페이스의 오른쪽 상단에 있는 A11 을 클릭하면 아이콘이 원래 인터페이스 크기로 복원됩니다. A5 는 아이콘 실행 취소, A6 은 복구 아이콘입니다. 커서가 위치한 줄과 열의 수는 편집 영역의 왼쪽 아래 모서리에 표시되고, 총 스크립트 줄 수는 오른쪽 아래 모서리에 표시됩니다.

../../_images/511.jpg

스크립트 작성 모드에서 사용자는 내장된 바로 가기 상자와 외부 키보드를 사용하여 입력할 수 있습니다. 스크립트 작성 영역 위에 있는 아이콘 A12 를 클릭하면 아래와 같이 에디터 위에 시스템 바로 가기 입력 상자가 나타나며, 이 상자를 누른 채로 드래그할 수 있습니다.

../../_images/531.jpg

바로 가기 입력 상자에는 바로 가기 입력, 일반 키보드 및 스크립트 기능의 세 가지 레이블이 있습니다. 자주 사용하는 일부 제어 키의 입력 상자 아래에는 커서 왼쪽, 커서 오른쪽, 커서 위, 커서 아래, 공백 입력, 삭제 및 줄 바꿈 기능이 있습니다.

../../_images/541.jpg

바로 가기 입력은 자주 사용하는 몇 가지 기능에 대한 바로 가기를 제공합니다. 주요 기능은 다음과 같습니다.

포인트 위치: ‘관절’ 버튼을 클릭하여 현재 로봇 유닛의 관절 값을 반경 단위로 입력하고, ‘포즈’ 버튼을 클릭하여 설정된 공작물 단위에서 현재 로봇 도구의 위치 및 자세를 반경 단위로 입력합니다.

함수: 사용자는 While 루프, 조건 분기, 함수 정의, 한 줄 주석 등을 입력할 수 있습니다.

../../_images/551.jpg

IO/등록/모드버스/변수: 사용자가 이 함수를 통해 읽기 또는 쓰기를 선택할 수 있으며, 시스템은 해당 스크립트 함수로 자동 변환합니다. 사용자가 읽기 기능을 선택하고 DI1을 선택하면 시스템은 자동으로 해당 스크립트 함수 get_standard_digital_in(1)으로 들어갑니다.

연산자: 일반적으로 사용되는 몇 가지 연산자를 입력합니다.

../../_images/561.jpg

일반 키보드는 물리적 키보드와 유사하며 대문자, 소문자, 숫자 및 기호를 입력할 수 있습니다.

스크립트 함수 목록에서 스크립트 함수를 선택할 수 있습니다. 선택 후 스크립트 함수 하단에 설명과 예시가 표시되며, 더블 클릭하거나 왼쪽 상단의 ‘추가’ 버튼을 클릭하면 스크립트 검색을 지원하는 스크립트 영역에 입력할 수 있습니다.

../../_images/571.jpg

로그

로그 기능 블록. 사용자는 메시지 또는 변수 값을 로그 파일에 인쇄할 수 있습니다.

../../_images/58.jpg

메시지

메시지 팝업 기능 블록. 메시지 팝업 상자는 프로그램을 일시 중지하거나, 팝업만 표시하거나, 프로그램을 중지하도록 구성할 수 있습니다.

../../_images/59.jpg
프로그램 일시 중지를 선택하면 메시지를 설정하고 프로그램이 이 기능 블록으로 실행됩니다,

메시지를 표시하는 대화 상자가 나타나고 프로그램이 일시 중지됩니다, 사용자는 계속 실행하거나 프로그램을 중지하거나 팝업 창을 닫을 수 있습니다.

../../_images/59-1.jpg
팝업 창만 선택하면 프로그램이 이 기능 블록으로 실행될 때 메시지를 설정하고 대화 상자가 팝업됩니다,

하지만 프로그램은 계속 실행되며 사용자는 프로그램을 중지하거나 팝업 창을 닫도록 선택할 수 있습니다.

../../_images/59-2.jpg
프로그램 중지를 선택하면 메시지를 설정하고 프로그램이 이 기능 블록으로 실행될 때,

메시지를 표시하는 대화 상자가 나타나고 프로그램이 바로 실행을 중지합니다, 사용자는 팝업 창을 닫도록 선택할 수 있습니다.

../../_images/59-3.jpg

댓글

코멘트 기능 블록. 프로그램 트리에 코멘트를 추가합니다. 이 기능 블록은 프로그램이 실행되는 동안에는 어떠한 작업도 수행하지 않습니다.

../../_images/60.jpg

그룹

기능 블록 그룹화. 프로그램을 구성하는 데 사용되며, 일부 기능 블록을 ‘그룹’ 아래에 배치하여 프로그램 실행에 영향을 주지 않으면서 프로그램을 쉽게 구성하고 읽을 수 있도록 할 수 있습니다.

../../_images/611.jpg

CoordOffset

좌표 오프셋 기능 블록. 사용자 정의하거나 변수를 설정할 수 있는 공작물 좌표계를 기반으로 오프셋을 설정하는 데 사용됩니다. 이 오프셋은 후속 ‘이동’ 범주 기능 블록의 기준 공작물 좌표계에 추가됩니다. 프로그램이 실행 중일 때 프로그램은 좌표계 오프셋을 중지합니다.

../../_images/621.jpg

참고

프로그램 실행 중에 CoordOffset 함수 블록에 의해 설정된 wobj 오프셋의 값은 프로그램이 완료되면 자동으로 0으로 재설정됩니다. 프로그램 실행 중에 작업자가 프로그램을 일시 중지하고 로봇을 데카르트 공간에서 수동으로 이동하면 참조 wobj 좌표 값은 CoordOffset 함수 블록에 의해 수정되는 값입니다. 이 수정은 프로그램이 수동으로 중지되거나 자동으로 완료될 때까지만 재설정됩니다.

SetLoad

로드 가져오기 기능 블록을 설정합니다. 프로그램 작동 중에 로봇의 현재 하중(질량, 질량 중심)을 설정할 수 있습니다.

../../_images/631.jpg

GetListElement

../../_images/641.jpg

목록 요소 함수 블록을 가져옵니다. 이 함수 블록은 목록 유형의 변수에서 요소 중 하나를 가져와서 해당 요소의 값을 지정된 변수에 덤프하는 데 사용됩니다.

목록 유형을 선택합니다: 현재 num_list, pose_list, joints_list, 세 가지 유형의 변수를 지원합니다. 이를 사용하려면 먼저 사용자가 원하는 목록 클래스 변수를 생성해야 합니다.

색인: 목록에서 원하는 요소의 위치(1부터 카운트). 사용자가 직접 색인 값을 입력하거나 변수에서 색인 값을 가져올 수 있습니다.

엘리먼트: 획득한 요소를 전송할 해당 변수를 지정하며, 지원 번호, 포즈, 조인트 세 가지 유형의 변수를 지정합니다. 이를 사용하려면 먼저 사용자가 원하는 변수를 설정해야 합니다.

참고

GetListElement 함수 블록은 원래 목록 변수의 데이터를 변경하지 않습니다. 가져온 요소를 삭제하지 않습니다. 잘라내는 대신 복사합니다.

참고

전송된 변수의 유형은 목록 변수에 있는 요소의 유형과 동일해야 합니다. 예를 들어, pose_list 변수에서 얻은 포즈 변수는 관절 변수에 저장할 수 없습니다.

리무버리스트요소

목록 요소 함수 블록을 제거합니다. 이 함수 블록은 목록 유형에서 목록 유형의 변수에 있는 요소를 삭제하는 데 사용됩니다.

목록 유형을 선택합니다: 현재 num_list, pose_list, j oints_list, 세 가지 유형의 변수를 지원합니다. 이를 사용하려면 먼저 사용자가 원하는 목록 클래스 변수를 생성해야 합니다.

색인: 목록에서 원하는 요소의 위치(1부터 카운트). 사용자가 직접 색인 값을 입력하거나 변수에서 색인 값을 가져올 수 있습니다.

../../_images/651.jpg

참고

RemoveListElement 블록은 원래 목록 변수의 데이터와 인덱스 번호 뒤의 요소 위치를 변경합니다. 예를 들어 pose_list에는 포즈 변수 {A,B,C,D}가 포함되어 있는데, RemoveListElement 블록을 사용하여 변수 B를 제거하면 새 pose_list의 요소는 {A,nul,C,D} 대신 {A,C,D}가 되며, null은 포즈 변수가 있지만 값이 비어 있음을 나타냅니다.

타이머 시작

타이밍 시작 기능 블록. 이 기능 블록은 타이머를 시작하는 데 사용됩니다.

../../_images/661.jpg

타이머 종료

타이머 종료 기능 블록. 이 기능 블록은 타이머의 시간을 종료하는 데 사용됩니다.

변수를 선택합니다: 전역 타이머 유형의 변수만 지원됩니다. 이를 사용하려면 사용자가 먼저 전역 타이머 클래스 변수를 생성해야 합니다.

../../_images/67.jpg

중지

기능 블록을 중지합니다. 이 기능 블록은 프로그램 중지 명령을 내리는 데 사용됩니다.

../../_images/671.jpg

흐름 제어#

동안

루프 함수 블록. 루프는 내부 함수 블록을 실행합니다. 사용자는 항상 루프되도록 설정하고, 루프 횟수를 지정하고, 루프 조건이 참인 동안 루프에서 실행되는 루프 조건을 지정할 수 있습니다.

../../_images/68.jpg

만약

조건부 함수 블록. 디지털 입력 포트 조건 또는 조건 표현식을 설정할 수 있습니다. 조건이 충족되면 IF의 함수 블록이 실행되고, 이후 elsif 또는 else 함수 블록을 추가할 수 있습니다.

../../_images/69.jpg

고토&라벨

고토 기능은 라벨 기능과 함께 사용하면 프로그램의 제어점을 라벨 위치로 전송할 수 있습니다.

먼저 레이블 기능 블록을 생성하여 점프 지점을 표시하고 점프 지점의 이름을 지정합니다. 이동 블록을 사용하여 점프할 위치를 선택합니다.

그림과 같은 예제 프로그램은 프로그램이 6행까지 실행되면 3행의 label1로 이동한 후 아래쪽으로 실행, 즉 4행의 설정 기능 블록과 5행의 대기 기능 블록이 두 번 실행됨을 나타냅니다.

../../_images/70.jpg

커뮤니케이션#

SocketOpen

소켓을 만들려면 매개변수 페이지에서 사용자가 연결 이름을 설정하고 대상 서버의 IP 주소와 포트 번호를 구성하고 반환 값을 변수에 바인딩할지 여부를 선택해야 합니다.

../../_images/711.jpg

SocketClose

소켓 연결을 닫으려면 닫을 연결의 이름을 선택합니다.

../../_images/721.jpg

SocketSend

소켓이 데이터를 전송합니다. 설정된 소켓 연결로 데이터를 보냅니다. 전송 유형은 문자열 또는 부동 소수점 숫자 집합일 수 있습니다. 전송 데이터는 변수 또는 직접 입력일 수 있습니다.

../../_images/731.jpg

SocketRecv

소켓이 데이터를 수신합니다. 설정된 소켓 연결에서 데이터를 수신합니다. 수신 유형은 문자열, 문자열 배열 또는 부동 소수점 숫자 그룹일 수 있습니다. 수신 정보는 수신 변수를 구성합니다.

수신 길이를 지정하면 프로그램은 이 길이의 데이터를 수신하고 문자열에 따라 처리하여 ‘정보 수신’에 구성된 변수에 저장합니다.

문자열 배열이 유형인 경우 프로그램은 수신된 문자열을 숫자 값으로 구문 분석합니다. 모든 값은 () 안에 있고 쉼표(,)로 구분됩니다. 예를 들어 소켓에서 ‘(12,1.23)’이라는 문자열이 수신되면 블록은 이를 {12,1.23} 값을 가진 num_list로 변환하여 ‘메시지 받기’ 구성의 변수에 저장합니다.

부동 소수점 숫자 유형이 지정되면 프로그램은 수신된 데이터를 IEEE 754 표준에 따라 변환된 단정밀도 부동 소수점 숫자 집합으로 변환하여 ‘정보 수신’ 구성의 변수에 저장합니다.

사용자는 데이터 수신에 대한 시간 제한 기간을 구성할 수 있습니다. 시간 초과 기간 내에 규칙과 일치하는 데이터가 수신되지 않으면 다음 문이 실행됩니다.

../../_images/741.jpg

CommSend

레시피 데이터 전송. 로봇의 485 또는 CAN 포트에 공식이 설정되어 있으면 함수 블록을 사용하여 공식의 데이터 값을 설정하고 전송할 수 있습니다. 반환 변수를 설정하여 전송된 레시피 데이터의 상태를 가져올 수 있습니다.

../../_images/751.jpg

CommRecv

레시피 데이터 수신. 로봇의 485 포트 또는 CAN 포트에 수식을 설정하면 함수 블록을 사용하여 데이터를 수신하고, 수식에 따라 처리한 후 획득한 num_list 데이터를 수신된 변수에 할당합니다.

../../_images/76.jpg

고급#

하위 프로그램

하위 루틴. 사용자는 현재 프로그램에 다른 프로그램을 임베드할 수 있습니다. 두 가지 방법이 있습니다:

프로그램 목록에서 직접 임베드된 서브루틴을 선택하고, 사용자가 ‘서브루틴 임베드’ 옵션을 체크하지 않으면 프로그램이 실행될 때마다 파일에서 서브루틴이 로드되며, 즉 서브루틴 파일의 변경 사항이 메인 프로그램에 영향을 미치고 사용자가 서브루틴 이름 뒤의 ‘열기’ 버튼을 클릭하여 직접 서브루틴 파일을 열어 볼 수 있습니다. 사용자는 서브루틴 이름 뒤에 있는 ‘열기’ 버튼을 클릭하면 서브루틴 파일을 직접 열어 확인할 수 있습니다. 체크하면 서브루틴이 메인 프로그램에 바로 복사되며, 서브루틴 파일의 변경 사항은 영향을 미치지 않으며, 서브루틴 이름 뒤에 ‘열기’ 버튼이 표시되지 않습니다.

사용자가 문자열 변수로 설정하면 프로그램은 런타임에 변수 값을 서브루틴 이름으로 하여 해당 서브루틴을 동적으로 로드합니다.

참고

“인라인 하위 프로그램”의 경우 하위 프로그램의 프로그램 변수가 메인 프로그램에도 복사됩니다. 메인 프로그램에 같은 이름의 변수가 있는 경우 메인 프로그램에 영향을 미칠 수 있습니다. 따라서 이 변수를 사용할 때는 프로그램의 원래 실행 로직에 영향을 미치지 않는지 이 변수의 동작을 주의 깊게 확인하세요.

참고

문자열 변수가 있는 하위 프로그램을 참조할 때는 “인라인 하위 프로그램”을 선택하지 마십시오.

../../_images/77.jpg ../../_images/78.jpg

재생

궤적이 반복됩니다. 녹화 모드가 위치 기반 녹화 또는 시간 기반 녹화인 로봇 모션 트랙을 생성할 수 있습니다. 이 기능 블록으로 프로그램을 실행하면 로봇은 관절 공간 기반 또는 데카르트 공간 기반 재현 모드에 따라 궤적을 이동합니다. 사용자는 기존 트랙 파일을 선택하거나 새 트랙을 생성할 수 있습니다.

새 트랙을 만들려면 ‘새 트랙’ 버튼을 클릭하고 트랙 이름을 입력하면 ‘트랙 기록’ 상자가 표시됩니다. 공구 좌표계, 공작물 좌표계 및 기록 모드를 선택한 후 ‘기록 시작’ 버튼을 클릭하면 트랙 데이터 기록이 시작됩니다. 이때 트랙이 기록되고 있음을 나타내는 반투명 서스펜션 상자가 페이지에 표시됩니다. ‘녹음 중지’ 또는 호버 박스의 ‘중지’ 버튼을 클릭하면 트랙 파일 생성이 완료됩니다. 트랙 녹화 과정에서 사용자가 좌표계를 수정하거나 현재 좌표계를 전환하면 현재 트랙 녹화가 종료되고 ‘트랙 녹화’ 서스펜션 프레임이 사라집니다.

../../_images/79.jpg

선택한 트랙의 경우, 반복 모드가 조인트 공간을 기준으로 하는 경우 트랙의 트랙 이름과 기록 모드가 표시됩니다. 재현 모드가 데카르트 공간을 기준으로 하는 경우 트랙 이름, 기록 모드, 공구 좌표계 및 기록 시간의 공작물 좌표계가 표시됩니다.

../../_images/80.jpg

팔레트

팔레타이징/언로딩. 팔레트화/팔레트화 해제 표준 절차 템플릿 세트는 몇 가지 간단한 매개변수 설정에 따라 자동으로 로드되고 조정될 수 있습니다.

../../_images/811.jpg

팔레트화/팔레트화 해제 블록을 사용하려면 다음 단계를 따르세요:

  1. 팔레트화 또는 언로딩을 사용할지 결정합니다. 팔레트화는 공작물을 팔레트로 이동하는 것이고 언로딩은 팔레트에서 공작물을 제거하는 것입니다.

  2. 사용자가 이름을 지정할 수 있으며, 팔레트를 추가할 때마다 기본 이름이 생성됩니다.

  3. 트레이에 공작물의 배치 모드, 직선 또는 격자 모드를 선택합니다.

  4. 보정 트레이에서 사용하는 기준 좌표계는 트레이에 놓인 첫 번째 공작물을 기준으로 보정됩니다. P1 점은 공작물에 대한 티칭 지점을 나타내고, P2 점은 선 방향(기준 좌표계의 X축 방향)을 나타내며, P3 점은 기둥 방향을 나타냅니다. ‘보정’ 버튼을 클릭하면 좌표계 보정이 완료됩니다. 기준 좌표계의 값이 상단에 표시됩니다.

../../_images/821.jpg

‘추가 및 활성화’ 버튼을 클릭하면 대화 상자가 나타납니다. 좌표계의 이름을 입력하면 좌표계에 추가되고 현재 좌표계로 설정됩니다.

../../_images/831.jpg
  1. 공작물 배치 매개변수를 설정하고, 공작물의 높이, 선과 기둥 방향으로 배치되는 공작물의 개수, 선과 기둥 방향으로 공작물의 간격을 설정해야 합니다.

  2. 공작물의 개수 변수를 설정하고 프로그램 변수 영역에 유형 번호의 변수를 만들어야 합니다.

    1. 레이어 수를 설정합니다.

  3. 각 공작물에 대한 작업 실행 지점을 정의하며, 접근 지점, 작업 지점 및 종료 지점의 세 가지로 나눌 수 있습니다. 세 지점은 트레이에 놓인 첫 번째 공작물에 표시됩니다. 접근 지점은 로봇이 트레이 상단으로 이동하여 공작물을 배치/잡으려는 위치, 동작 지점은 로봇이 공작물을 배치/잡는 위치, 출구 지점은 로봇이 배치/잡은 후 트레이를 떠나는 위치입니다. 참고: 이 세 지점은 트레이의 기준 좌표계에서 학습해야 합니다.

  4. 교육이 완료되면 ‘스크립트 생성’ 버튼을 클릭하면 프로그램에 일련의 기능 블록이 자동으로 추가됩니다.

그룹 기능 블록은 클램핑 클로 열기 및 닫기와 같은 해당 실행 동작을 추가할 수 있습니다.

../../_images/841.jpg
  1. 프로그램이 사이클 모드로 설정되면 오프셋을 계산하고 다음 팔레트화/언로딩 위치 자세를 결정하기 위해 설정된 파라미터에 따라 팔레트화 프로그램이 매번 실행됩니다. 변수 영역에서 설정된 공작물 수 변수에 따라 현재 팔레트화/팔레트화되지 않은 공작물의 수를 볼 수 있습니다.

RecordPoseTrans

연산 포인트 변환 티칭 기능 블록. 포인트 변환을 수행하는 데 사용됩니다.

아래 그림에서 점 O는 기준점이며, 기준점 O에 대한 점 A, B, C, D의 포즈는 변하지 않습니다. 동작점 변환 티칭 기능 블록은 기준점 O를 기준으로 이들 점의 상대적 위치 관계를 기록하고, O의 위치가 변경되면 A, B, C, D 점의 위치를 출력합니다. 일반적으로 시각적 식별 포지셔닝, 레이저 위치 측정 등에 사용됩니다. 예를 들어, 시각적 식별 포지셔닝 장면에서 기준점 O는 A 스테이션의 마커 블록이고 A, B, C, D는 스테이션의 네 개의 공작물이며 공작물은 마커 블록의 포즈를 기준으로 고정되어 있습니다. 로봇 기준 좌표계에서 마킹 블록의 포즈는 카메라에 의해 식별되고 로봇 기준 좌표계에서 공작물의 포즈는 조작점 티칭 기능 블록에 의해 계산됩니다.

../../_images/851.jpg ../../_images/861.jpg

구성 페이지는 그림과 같이 세 부분으로 구성되며, ‘입력-참조 포즈’에서 기준점(O점)을 설정하고 ‘동작점 오프셋’에서 동작점(A,B,C,D)을 설정하며 ‘출력-변환 포즈’에서 계산된 동작점(A ‘,B ‘,C ‘,D ‘)을 저장하도록 변수를 설정하는 것으로 구성됩니다. 설정 단계에서 함수 블록은 기준점(O)으로부터의 동작점(A,B,C,D)의 편차를 기록하고, 프로그램이 실행되면 현재 입력 변수(O’점)의 값에 편차를 더한 값에 따라 동작점(A ‘,B ‘,C ‘,D ‘)의 포즈가 계산됩니다.

포즈 유형 전역 변수를 기준 포즈로 선택한 후 ‘Set as Base’ 버튼을 클릭하면 변수의 현재 값이 기준 기준(O점)으로 사용됩니다. 동작 포인트 오프셋에서 ‘추가하도록 가르치기’ 버튼을 클릭하면 모바일 페이지로 이동하고, 사용자는 로봇을 움직여 A 포인트(A,B,C,D)를 선택할 수 있으며, 선택 후 새로운 포인트가 추가되고 설정 페이지에 추가된 포인트의 값이 베이스 레이블 아래에 표시됩니다. 출력 필드에서 계산 결과(A ‘,B ‘,C ‘,D ‘)를 저장할 pose_list 변수를 선택합니다.

강제 제어 관련 스크립트

현재 포스 제어 관련 스크립트로는 Force, ForceGuard, ForceSetZero, ForceWait, ForceMove가 있습니다. 자세한 적용 방법은 ‘듀코 코어 터미널 포스 제어 기능 매뉴얼’을 참고하시기 바랍니다.

충돌 감지

충돌 감지 수준. 스크립트는 프로그램 실행 중에 충돌 감지 감도 설정을 구현할 수 있습니다.

참고

이 기능 블록에서 설정한 파라미터는 로봇 시작 상태에만 영향을 미치며 전원이 꺼져도 저장되지 않습니다. 충돌 감지 감도를 영구적으로 설정하려면 “설정”-“기타 설정”-“충돌 설정”에서 설정한 후 프로젝트를 저장합니다.

../../_images/87.jpg

스레드

메인 로봇 프로그램과 병렬로 실행되는 스레드는 변수를 통해 메인 프로그램과 상호작용합니다. 파라미터 설정 영역에서 사용자는 스레드의 계속 반복 여부를 설정할 수 있으며, 스레드의 재진입 여부, 즉 실행이 완료되지 않은 경우 스레드가 새로운 실행 인스턴스를 생성할 수 있는지 여부도 설정할 수 있습니다. 한 프로그램에서 최대 10개의 스레드를 생성할 수도 있습니다.

../../_images/88.jpg

참고

로봇 모션 블록은 스레드에서 허용되지 않습니다.

가변 영역#

이 페이지에서는 프로그램 변수를 생성하고 프로그램 변수 값을 모니터링할 수 있습니다. 프로그램 변수는 시스템 변수와 다른데, 시스템 변수는 프로젝트 전체에 작용하는 반면 프로그램 변수는 프로그램 내에서만 존재합니다.

변수 추가#

‘변수 추가’ 버튼을 클릭하면 그림과 같이 대화 상자가 나타나고, 변수 이름을 입력하고 유형을 선택한 후 초기 값을 입력하면 변수를 생성할 수 있습니다.

../../_images/89.jpg

프로그램 변수에는 다음과 같은 유형이 있습니다:

boolean: 부울입니다. 값은 거짓 또는 참일 수 있습니다.

숫자: 숫자 유형을 나타냅니다.

문자열: 문자열 유형을 나타냅니다.

num_list: 배열 유형

포즈: 로봇의 데카르트 위치를 나타내는 데이터 유형입니다.

조인트: 로봇 관절의 데이터 유형

조인트_리스트: 로봇 관절 위치 목록의 데이터 타입을 나타냅니다.

포즈 목록: 로봇의 직교 위치 목록 데이터를 나타냅니다.

포즈_속도: 로봇 끝의 속도 데이터 타입을 나타냅니다.

포즈_acc: 로봇이 끝날 때의 가속도 데이터 타입을 나타냅니다.

조인트_속도: 로봇 조인트의 각속도의 데이터 유형을 나타냅니다.

pose_acc: 로봇 관절의 각 가속도의 데이터 유형을 나타냅니다.

../../_images/90.jpg

가변 모니터#

‘변수 모니터’를 선택하면 프로그램이 실행되는 동안 프로그램 변수의 현재 값이 이 화면에 표시됩니다. ‘정렬’ 버튼을 클릭하면 프로그램 변수의 이름을 알파벳순으로 정렬할 수도 있습니다.

참고

조인트 및 포즈 변수는 num_list로 모니터링해야 하며 데이터 단위는 m/rad입니다.

‘변수 모니터’를 선택 해제하면 프로그램 변수를 동기화하고 인터페이스에 표시하는 과정을 절약하여 스크립트 실행의 효율성이 크게 향상됩니다.

../../_images/911.jpg

실행#

“시뮬레이션” 탭을 클릭하면 로봇의 3D 모델이 표시되는 3D 모델 페이지로 이동합니다.

프로그램 트리의 왼쪽 하단에 있는 아이콘은 프로그램의 시작과 중지를 제어합니다, 아이콘 A13 버튼을 클릭하면 프로그램이 실행되고, 아이콘 A14 버튼을 클릭하면 프로그램이 단계별로 진행됩니다. 프로그램이 실행되는 동안 언제든지 프로그램을 일시 중지하거나 중지할 수 있습니다. 아이콘 A18 버튼을 누르면 프로그램 실행 프로세스가 설정되고 커서가 자동으로 명령 블록을 따라갑니다, 아이콘 A19 를 클릭하면 프로그램 실행 중 자동 팔로우가 활성화되며 기본적으로 켜져 있습니다.회색 아이콘은 해당 기능이 켜져 있음을 나타내고, 파란색 아이콘은 해당 기능이 꺼져 있음을 나타냅니다.

../../_images/96.jpg

프로그램 실행#

프로그램을 실행할 때 프로그램의 시작 지점이 로봇의 현재 지점과 일치하는지 확인합니다. 일치하지 않으면 그림과 같이 먼저 시작 지점으로 이동하고, 그림과 같이 시작 지점의 로봇이 3D 모델에 표시됩니다(회색 디스플레이). ‘길게 눌러 이동’ 버튼을 클릭하면 로봇이 시작 지점으로 이동합니다.

../../_images/97.jpg

사용자가 시작 지점으로 이동한 후 아이콘 A13 버튼을 다시 클릭하면 프로그램이 실행됩니다. 아래 그림에서 프로그램 트리 왼쪽 하단에는 프로그램의 실행 시간이 표시되고, 3D 모델에서 로봇의 실시간 자세를 관찰할 수 있으며, 프로그램 트리 왼쪽에는 현재 실행 중인 기능 블록이 표시됩니다. 아래의 제어 버튼을 클릭하면 프로그램을 일시 중단, 재개, 중지할 수 있습니다.

../../_images/99.jpg

단일 단계 프로그램#

아이콘 A14 버튼을 클릭하면 프로그램을 단계별로 실행할 수 있습니다. 한 단계의 경우 프로그램의 시작점을 먼저 확인하고 로봇을 프로그램의 시작점 위치로 이동합니다. 아이콘 A14 를 클릭할 때마다 프로그램이 기능 블록 다운을 실행합니다. 아이콘 A13 버튼을 클릭하면 프로그램이 연속 실행되는 단일 단계 모드를 종료합니다. 단일 단계 프로세스에서 프로그램을 일시 중지했다가 다시 시작할 수 있습니다. 아이콘 A15 를 클릭하면 후진 동작이 수행되고 로봇이 이전 지점으로 뒤로 이동하며, 후진 동작은 모션 기능 블록에만 적용됩니다.

중지 버튼 A16 을 클릭하면 프로그램 실행이 중지되고 단일 단계 상태가 종료됩니다.

../../_images/105.jpg

중단점#

중단점 디버깅 기능 지원, 중단점 위치까지 프로그램 실행이 중지되고 단일 단계 모드로 들어갑니다.

사용자는 프로그램 트리 및 스크립트 편집 영역에서 중단점을 설정할 수 있으며, 프로그램 트리 줄 번호의 왼쪽 영역, 스크립트 줄 번호의 왼쪽 영역을 클릭하여 중단점에 도달하고 중단점을 다시 클릭하여 중단점을 취소할 수 있습니다. 아래 아이콘 A17 버튼을 클릭하면 시스템에서 설정한 모든 중단점을 취소할 수 있습니다.

../../_images/107.jpg

프로그램을 처리하면 프로그램이 중단점까지 실행되면 그림과 같이 프로그램이 중지되고 단일 단계 모드로 들어갑니다. 아이콘 A14 버튼을 클릭하면 프로그램이 한 단계로 실행되고(스크립트 함수 블록으로 실행되면 한 줄로 실행됨), 아이콘 A13 버튼을 클릭하면 다음 중단점에 도달하거나 프로그램이 종료될 때까지 프로그램이 계속 실행됩니다.

수동 모드에서 사용자는 프로그램이 실행되는 동안 언제든지 중단점을 설정하거나 중단점을 취소할 수 있습니다.

../../_images/1101.jpg