프로그램

이전섹션과같이프로그램을마우스오른쪽버튼으로클릭하거나프로그램 메뉴에서새명령을추가할수있습니다.

이섹션에서는로봇오프라인프로그래밍을위해 RoboDK 그래픽사용자인터페이스가지원하는명령에관해설명합니다.

조인트 이동

새로운조인트이동명령을추가하려면프로그램➔Robot Programs - 영상 4 조인트 이동 명령을선택하십시오. 또는툴바에서해당버튼을선택하십시오.

명령을추가하기전에대상을선택하지않으면이동명령이새대상을생성하고연결됩니다. 대상이이동하면이동도수정됩니다.

이것이프로그램에추가된첫번째명령인경우이동명령전에기준 좌표계 선택툴 좌표계 선택의두개명령이추가됩니다. 이렇게하면프로그램이이동명령에도달할때로봇이이새로운대상을생성하는데사용된것과같은기준및툴좌표계를사용하게됩니다.

Robot Programs - 영상 5

선형 이동

새로운선형이동명령을추가하려면프로그램➔Robot Programs - 영상 6 선형 이동 명령을선택하십시오. 또는툴바에서해당버튼을선택하십시오.

명령을추가하기전에대상을선택하지않으면이동명령이새대상을생성하고연결됩니다. 대상이이동하면이동도수정됩니다.

조인트이동과선형이동은같은방식으로작동하며한유형에서다른유형으로쉽게전환할수있습니다.

조인트이동명령과마찬가지로프로그램에추가된첫번째명령인경우, 이동명령전에기준 좌표계 선택툴 좌표계 선택이라는두가지명령이추가됩니다.

조인트움직임과달리선형움직임은로봇특이성과축제한에민감합니다. 예를들어, 6축로봇은직선이동후에특이점을넘을수없습니다. 다음그림은관절 5가특이점 (0도)에너무가깝다는예를보여줍니다. 그림에서와같이 […] 대신조인트이동을고려하십시오.

Robot Programs - 영상 7

직선이동이꼭필요하지않으면이동명령을마우스오른쪽버튼으로클릭하고조인트명령으로변경하십시오.

Robot Programs - 영상 8

또는, 특이점을피하기위해대상, TCP 또는기준좌표계의위치를수정해야합니다.

기준 좌표계 설정

특정기준좌표계를사용하려면프로그램➔Robot Programs - 영상 9 기준 좌표계 명령 설정을선택하십시오. 그러면다음이동명령에따라컨트롤러에서지정된기준좌표계가업데이트되고시뮬레이션목적으로 RoboDK에서로봇의활성기준좌표계가변경됩니다. 즉, 마지막기준좌표계세트와관련하여특정대상(카르테시안타겟)으로의이동명령이수행됩니다.

기준좌표계는 Work Object(ABB 로봇), UFRAME(Fanuc 로봇), FRAME(Motoman 로봇) 또는 $BASE(KUKA 로봇)로도알려진변수입니다.

Robot Programs - 영상 10

툴 좌표계 설정

특정툴좌표계 (TCP)를사용하려면프로그램 ➔Robot Programs - 영상 11 툴 좌표계 명령 설정을선택하십시오. 그러면다음이동명령에따라프로그램에서주어진툴좌표계가업데이트되고시뮬레이션목적으로 RoboDK에서로봇의활성툴좌표계가변경됩니다. 즉, 마지막툴좌표계세트와관련하여특정타겟 (직교타겟)에대한이동명령이수행됩니다.

기준좌표계는 ToolData(ABB 로봇), UTOOL(Fanuc 로봇), TOOL(Motoman 로봇) 또는 $TOOL(KUKA 로봇)으로도알려진변수입니다.

Robot Programs - 영상 12

원형 이동

새로운원형이동명령을추가하려면프로그램 ➔Robot Programs - 영상 13  원형 이동 명령을선택하십시오. 또는툴바에서해당버튼을선택하십시오.

명령을추가하기전에두개의대상을선택하지않으면이동명령은새대상을생성하지않습니다. 다음그림과같이두개의대상을별도로추가하고원형이동명령에서대상을연결하십시오.

Robot Programs - 영상 14

원형경로는로봇이있는지점에서생성된원호로, 첫번째원형점(연결된타겟1)을통과하고끝점 (연결된타겟 2)에서끝납니다.

속도 설정

속도및가속, 또는가속을변경하는새명령을추가하려면프로그램 ➔Robot Programs - 영상 15 속도 설정 명령을선택하십시오. 조인트공간과데카르트공간에서속도와가속도를지정할수있습니다.

해당사례를활성화하여프로그램에특정속도및/또는가속을적용하십시오. 이명령이실행되는순간부터로봇속도가적용됩니다.

로봇속도는로봇매개변수메뉴에서도변경할수있습니다. 로봇을두번클릭한다음매개변수를선택하십시오.

Robot Programs - 영상 16

메시지 명령 보이기

티치펜던트에메시지를표시할새명령을추가하려면프로그램 ➔Robot Programs - 영상 17 메시지 명령 보이기를선택하십시오.

Robot Programs - 영상 18

정지

프로그램 ➔Robot Programs - 영상 19 명령어 정지를선택하면잠시동안프로그램실행을일시중지하거나작업자가프로그램을다시시작하기를원할때까지프로그램을중지하는새명령을추가할수있습니다.

Robot Programs - 영상 20

프로그램 호출

현재프로그램에서하위프로그램에대한호출을추가하려면프로그램 ➔Robot Programs - 영상 21 프로그램 호출 명령을선택하십시오.

기본적으로이것은특정프로그램에대한차단호출입니다. 그러나코드 삽입으로전환하여이명령어의위치에특정한코드를입력할수있습니다. 특정응용프로그램및특정컨트롤러에유용할수있습니다.

Robot Programs - 영상 22

프로그램 호출에서스레드 시작으로전환하여하위프로그램에대한비차단호출을유발합니다. 이경우컨트롤러는새스레드를시작합니다. 이옵션은특정컨트롤러에서만사용할수있으며특정작업에서만작동합니다.

I/O 설정/대기

프로그램 ➔Robot Programs - 영상 23 I/O 설정 혹은 대기 명령을선택하여디지털출력(DO)의상태를변경하십시오. 기본적으로이명령어는디지털출력설정으로설정되어있습니다. 이명령어를사용하면특정디지털입력(DI)이특정상태로전환될때까지대기할수도있습니다.

IO 이름은명명된변수면숫자또는텍스트값일수있습니다. IO 값은숫자(False의경우 0, True의경우 1)이거나이름이지정된상태인경우텍스트값일수있습니다. 

Robot Programs - 영상 24

특정입력이특정값으로변경될때까지프로그램실행을중지하려면디지털입력대기를설정하십시오. 또한, 대부분의로봇컨트롤러는대기시간이특정값을초과하는경우오류를제기하기위해시간초과지연을지원합니다. 이기능을활성화하려면시간초과(ms) 옵션을확인하십시오.

Robot Programs - 영상 25

시뮬레이션된디지털입력및디지털출력을변경하면새로운스테이션변수가생성됩니다. 이러한변수의상태를확인하려면스테이션을마우스오른쪽버튼으로클릭하고스테이션매개변수를선택하십시오. API를통해이러한변수를읽거나수정할수도있습니다.

라운딩 값 설정

라운딩정확도를변경하려면프로그램 ➔Robot Programs - 영상 26 라운딩 명령 설정을선택하십시오. 라운딩정확도는연속적인움직임사이의가장자리를부드럽게하는데사용됩니다. 이변경사항은프로그램내에서실행되는순간부터적용되며 (다른모든명령과동일) 프로그램시작시이값을설정하는것이일반적입니다.

라운딩명령이없으면로봇은다음이동이이전이동과접하지않는한각이동이끝날때 0의속도에도달합니다. 이는각움직임에대해최고의정확성을보장하기위해높은가속과빠른속도변화를유발합니다.

이값은Blending radius(Universal Robots), ZoneData(ABB 로봇), CNT/FINE(Fanuc 로봇), Cornering(Mecademic로봇) 또는 $APO.CDIS/$ APO.CPTP/Advance(KUKA 로봇)라고도합니다. 

Robot Programs - 영상 27

RoboDK 경로 정확도테스트를통해측정시스템에서다양한라운딩값의영향을더잘이해할수있습니다.

시뮬레이션 이벤트

특정시뮬레이션이벤트를생성하려면프로그램 ➔Robot Programs - 영상 28 시뮬레이션 이벤트 명령을선택하십시오. 시뮬레이션이벤트는생성된코드에영향을미치지않으며시뮬레이션목적으로특정이벤트를생성하는데만사용됩니다.

그래픽사용자인터페이스를사용한시뮬레이션이벤트를통해다음을수행할수있습니다.

로봇툴에물체를부착또는분리

객체또는도구표시또는숨기기

객체및기준좌표계의위치변경

Robot Programs - 영상 29

예를들어, 로봇이객체를잡기위해특정위치로이동하는경우, 객체를로봇과함께이동시키기위해객체 연결이벤트를설정할수있습니다. 그런다음로봇이움직인후객체를이탈할준비가된후에는툴이잡은객체를남기도록객체 분리이벤트를설정할수있습니다.

Robot Programs - 영상 30

객체 부착

객체부착시뮬레이션이벤트를사용하면픽동작을시뮬레이션하기위해객체를툴에부착할수있습니다.

툴에객체를부착하는동작이트리거되면선택한툴에서가장가까운객체가부착됩니다. 기본적으로 200mm의허용거리가사용되며, 이보다먼객체는무시됩니다.

Robot Programs - 영상 31

거리허용범위를지정하지않으면전역기본값이사용됩니다(전역기본값은도구➔옵션➔최대거리를로봇툴에부착에서변경할수있습니다). 또한기본적으로 TCP 위치에서객체참조까지의거리가확인됩니다. 또는 TCP와객체형상사이의최단거리확인을선택하여 TCP와객체형상사이의거리를사용할수도있습니다.

객체 분리

객체분리시뮬레이션이벤트를사용하면툴에서객체를분리하여다른객체나좌표계로옮길수있습니다.

객체를분리할툴과, 분리후객체를부착할좌표계또는객체를선택해야합니다.

객체분리시뮬레이션이벤트를사용하면픽앤플레이스애플리케이션에서배치/드롭동작을시뮬레이션할수있습니다(부착이벤트의반대동작을수행).

예를들어로봇이특정위치로이동하여객체를잡는경우, 객체부착이벤트를설정하여해당객체를로봇과함께이동시킬수있습니다. 이후로봇이이동을마치고잡은객체를놓을준비가되면객체분리이벤트를트리거하여로봇툴이잡고있는객체를놓을수있습니다.

Robot Programs - 영상 32

객체 또는 툴 표시

객체또는툴표시이벤트를사용하면시뮬레이션환경내에서하나이상의객체, 툴또는로봇을표시할수있습니다.

Ctrl 키를누른상태로선택하면여러항목을선택할수있습니다.

Robot Programs - 영상 33

객체 또는 툴 숨기기

객체또는툴숨기기이벤트를사용하면시뮬레이션내에서하나이상의객체또는툴을보이지않게할수있습니다.

Ctrl 키를누른상태로선택하면여러항목을선택할수있습니다.

Robot Programs - 영상 34

절대 위치 설정

객체위치설정(절대)을사용하면이동작이트리거될때선택한모든객체의위치를업데이트할수있습니다. 각항목이부착된상위참조는변경되지않으며, 각객체의위치만업데이트됩니다.

Ctrl 키를누른상태로선택하면여러항목을선택할수있습니다. 확인을누르면항목의현재위치가기록됩니다.

Robot Programs - 영상 35

상대 위치 설정

객체위치설정(상대)을사용하면이동작이트리거될때선택한모든객체의위치와상위항목을업데이트할수있습니다. 각항목이부착된상위참조도변경되며, 각객체의위치도업데이트됩니다.

Ctrl 키를누른상태로선택하면여러항목을선택할수있습니다. 확인을누르면항목의현재위치와부착된상위항목이기록됩니다.

이명령과절대위치명령의차이점은, 이명령은각객체가부착된상위항목도함께업데이트한다는점입니다.

Robot Programs - 영상 36

로봇을 홈 위치로 설정

관절을홈으로설정이벤트는선택한로봇또는메커니즘을정의된 "홈" 관절위치로즉시이동시킵니다(이동작은시간에따라시뮬레이션되지않습니다).

시뮬레이션을재설정하고컨베이어를시작위치에배치해야할때유용합니다.

Ctrl 키를누른상태로선택하면여러항목을선택할수있습니다.

Robot Programs - 영상 37

컨베이어 이동 이벤트

컨베이어이동이벤트는컨베이어를특정거리만큼이동시키는것을시뮬레이션하여, 시간에따른이동효과를시뮬레이션합니다.

컨베이어가특정거리만큼이동한후객체를처리하기위한특정증분을시뮬레이션해야할때유용합니다.

Robot Programs - 영상 38

객체 생성

객체생성명령을사용하면시뮬레이션환경에새객체를생성하여피더를시뮬레이션할수있습니다.

생성할모델객체와, 항목이부착될상위참조를선택해야합니다.

이동작은컨베이어에새객체를생성할때유용합니다.

Robot Programs - 영상 39

객체 삭제

객체삭제명령은시뮬레이션환경에서객체를제거합니다.

삭제하려는모델객체를선택해야합니다. 이동작이트리거되면동일한객체의이름과형상이일치하는모든객체가삭제됩니다. 선택한모델객체자체와잠긴객체는제거되지않습니다.

이명령은시뮬레이션이종료된후객체생성명령으로만들어진많은객체를정리하는데도움이됩니다.

Robot Programs - 영상 40

객체 대기

객체대기명령은객체가다른객체와접촉할때까지기다렸다가특정동작을트리거합니다.

객체간의접촉을기준으로동작을트리거하고싶을때유용합니다. 이명령은일반적으로객체가센서와접촉했을때특정동작을수행하는반복실행프로그램에단독으로배치됩니다.

Robot Programs - 영상 41

객체가센서와접촉했을때수행할수있는동작은다음과같습니다:

1.로봇정지: 정지시킬로봇또는메커니즘을선택해야합니다.

2.객체삭제: 객체가스테이션에서제거됩니다.

3.객체대기만수행(예를들어로봇이객체를픽하도록트리거할수있습니다).

4.객체를다른좌표계로이동합니다. 예를들어한컨베이어에서다른컨베이어로객체를부착하는경우입니다.

Robot Programs - 영상 42