이전섹션과같이프로그램을마우스오른쪽버튼으로클릭하거나프로그램 메뉴 에서새명령을추가할수있습니다.
팁: 선택한명령어다음에새명령어를추가하려면특정명령어를선택하십시오.
팁: 프로그램내에서또는다른프로그램간에명령을끌어놓아순서를바꿀수있습니다.
이섹션에서는로봇오프라인프로그래밍을위해 RoboDK 그래픽사용자인터페이스가지원하는명령에관해설명합니다.
새로운조인트이동명령을추가하려면프로그램➔ 조인트 이동 명령 을선택하십시오. 또는툴바에서해당버튼을선택하십시오.
명령을추가하기전에대상을선택하지않으면이동명령이새대상을생성하고연결됩니다. 대상이이동하면이동도수정됩니다.
이것이프로그램에추가된첫번째명령인경우이동명령전에기준 좌표계 선택 및툴 좌표계 선택 의두개명령이추가됩니다. 이렇게하면프로그램이이동명령에도달할때로봇이이새로운대상을생성하는데사용된것과같은기준및툴좌표계를사용하게됩니다.
참고: 이동명령을마우스오른쪽버튼으로클릭하고타겟 옵션… (F3) 을선택하여대상옵션메뉴를여십시오. 이창에서또는3D 보기에서직접대상을수정할수있습니다.
새로운선형이동명령을추가하려면프로그램➔ 선형 이동 명령 을선택하십시오. 또는툴바에서해당버튼을선택하십시오.
명령을추가하기전에대상을선택하지않으면이동명령이새대상을생성하고연결됩니다. 대상이이동하면이동도수정됩니다.
조인트이동과선형이동은같은방식으로작동하며한유형에서다른유형으로쉽게전환할수있습니다.
조인트이동명령과마찬가지로프로그램에추가된첫번째명령인경우, 이동명령전에기준 좌표계 선택 과툴 좌표계 선택 이라는두가지명령이추가됩니다.
중요: 조인트대상을사용하여각프로그램의첫번째움직임을조인트이동으로유지하는것이좋습니다. 이렇게하면첫번째이동에서원하는구성이올바르게설정되고실제로봇이시뮬레이션된것과같은방식으로이동하는지확인할수있습니다.
조인트움직임과달리선형움직임은로봇특이성과축제한에민감합니다. 예를들어, 6축로봇은직선이동후에특이점을넘을수없습니다. 다음그림은관절 5가특이점 (0도)에너무가깝다는예를보여줍니다. 그림에서와같이 […] 대신조인트이동을고려하십시오.
직선이동이꼭필요하지않으면이동명령을마우스오른쪽버튼으로클릭하고조인트명령으로변경하십시오.
또는, 특이점을피하기위해대상, TCP 또는기준좌표계의위치를수정해야합니다.
특정기준좌표계를사용하려면프로그램➔ 기준 좌표계 명령 설정 을선택하십시오. 그러면다음이동명령에따라컨트롤러에서지정된기준좌표계가업데이트되고시뮬레이션목적으로 RoboDK에서로봇의활성 기준좌표계가변경됩니다. 즉, 마지막기준좌표계세트와관련하여특정대상(카르테시안타겟)으로의이동명령이수행됩니다.
기준좌표계는 Work Object(ABB 로봇), UFRAME(Fanuc 로봇), FRAME(Motoman 로봇) 또는 $BASE(KUKA 로봇)로도알려진변수입니다.
참고: 특정컨트롤러는번호가매겨진기준좌표계(예: Fanuc 및 Motoman 컨트롤러)을사용하여기준좌표계설정을지원합니다. 이경우기준좌표계의이름은숫자로끝날수있습니다(예: 좌표계인덱스 4를설정하는Frame 4).
특정툴좌표계 (TCP)를사용하려면프로그램 ➔ 툴 좌표계 명령 설정 을선택하십시오. 그러면다음이동명령에따라프로그램에서주어진툴좌표계가업데이트되고시뮬레이션목적으로 RoboDK에서로봇의활성툴좌표계가변경됩니다. 즉, 마지막툴좌표계세트와관련하여특정타겟 (직교타겟)에대한이동명령이수행됩니다.
기준좌표계는 ToolData(ABB 로봇), UTOOL(Fanuc 로봇), TOOL(Motoman 로봇) 또는 $TOOL(KUKA 로봇)으로도알려진변수입니다.
참고: 특정컨트롤러는숫자도구(예: Fanuc 및 Motoman 컨트롤러)를사용하여툴좌표계설정을지원합니다. 이경우툴좌표계의이름은숫자로끝날수있습니다(예: 툴인덱스 4를설정하는Tool 4 ).
새로운원형이동명령을추가하려면프로그램 ➔ 원형 이동 명령 을선택하십시오. 또는툴바에서해당버튼을선택하십시오.
명령을추가하기전에두개의대상을선택하지않으면이동명령은새대상을생성하지않습니다. 다음그림과같이두개의대상을별도로추가하고원형이동명령에서대상을연결하십시오.
원형경로는로봇이있는지점에서생성된원호로, 첫번째원형점(연결된타겟1)을통과하고끝점 (연결된타겟 2)에서끝납니다.
중요: 하나의순환명령으로완전한원을달성하는것은불가능합니다. 완전한원은두개의별도원형이동으로분할되어야합니다.
속도및가속, 또는가속을변경하는새명령을추가하려면프로그램 ➔ 속도 설정 명령 을선택하십시오. 조인트공간과데카르트공간에서속도와가속도를지정할수있습니다.
해당사례를활성화하여프로그램에특정속도및/또는가속을적용하십시오. 이명령이실행되는순간부터로봇속도가적용됩니다.
로봇속도는로봇매개변수메뉴에서도변경할수있습니다. 로봇을두번클릭한다음매개변수를선택하십시오.
참고: 모든로봇컨트롤러가가속설정을정확하게지원하는것은아닙니다.
중요: 프로그램시간(사이클시간)을정확하게계산하려면올바른속도를설정하는것이중요합니다.
사이클 타임 섹션 에서더많은정보를얻을수있습니다.
티치펜던트에메시지를표시할새명령을추가하려면프로그램 ➔ 메시지 명령 보이기 를선택하십시오.
참고: 모든로봇컨트롤러가프로그램의티치펜던트에메시지표시를지원하지는않습니다. 이경우에명령은효과가없습니다.
프로그램 ➔ 명령어 정지 를선택하면잠시동안프로그램실행을일시중지하거나작업자가프로그램을다시시작하기를원할때까지프로그램을중지하는새명령을추가할수있습니다.
참고: 작업자가프로그램을다시시작하기를원할때까지프로그램을일시중지하려면일시중지지연값을 -1로설정하십시오. 이경우명령이자동으로중지 로이름붙여집니다.
중요: 시뮬레이션에서5초의일시정지는기본시뮬레이션비율 5로시뮬레이션하는데1초가걸립니다. 자세한내용은
시뮬레이션 섹션 에서확인할수있습니다.
현재프로그램에서하위프로그램에대한호출을추가하려면프로그램 ➔ 프로그램 호출 명령 을선택하십시오.
기본적으로이것은특정프로그램에대한차단호출입니다. 그러나코드 삽입 으로전환하여이명령어의위치에특정한코드를입력할수있습니다. 특정응용프로그램및특정컨트롤러에유용할수있습니다.
팁: 텍스트필드를자동으로채우려면프로그램 선택 을선택하십시오. 그렇지않으면텍스트일치도작동합니다. 명령어에사용된서브프로그램과이름이일치하면이서브프로그램은 RoboDK에서시뮬레이션됩니다.
팁: 여러줄을입력하면여러프로그램호출명령어가한줄에자동으로설정됩니다.
프로그램 호출 에서스레드 시작 으로전환하여하위프로그램에대한비차단호출을유발합니다. 이경우컨트롤러는새스레드를시작합니다. 이옵션은특정컨트롤러에서만사용할수있으며특정작업에서만작동합니다.
팁: 시뮬레이션목적으로만사용되는기본프로그램은스레드시작옵션을사용하여여러프로그램의시뮬레이션을동시에시작할수있습니다(예: 둘이상의로봇이시뮬레이션되는경우).
프로그램 ➔ I/O 설정 혹은 대기 명령 을선택하여디지털출력(DO)의상태를변경하십시오. 기본적으로이명령어는디지털출력설정으로설정되어있습니다. 이명령어를사용하면특정디지털입력(DI)이특정상태로전환될때까지대기할수도있습니다.
IO 이름은명명된변수면숫자또는텍스트값일수있습니다. IO 값은숫자(False의경우 0, True의경우 1)이거나이름이지정된상태인경우텍스트값일수있습니다.
참고: 이명령어는일부로봇컨트롤러에서아날로그출력(AO) 설정또는아날로그입력(AI) 대기를지원합니다. 이경우숫자대신10진수또는특정텍스트를제공할수있습니다.
특정입력이특정값으로변경될때까지프로그램실행을중지하려면디지털입력대기를설정하십시오. 또한, 대부분의로봇컨트롤러는대기시간이특정값을초과하는경우오류를제기하기위해시간초과지연을지원합니다. 이기능을활성화하려면시간초과(ms) 옵션을확인하십시오.
팁: 로봇에그리퍼나밀링스핀들과같은셀에특정하드웨어가있는경우디지털출력(DO)을사용하여이특정하드웨어를활성화한다음특정상태로전환하는디지털입력(DI)을기다리는것이좋습니다.
시뮬레이션된디지털입력및디지털출력을변경하면새로운스테이션변수가생성됩니다. 이러한변수의상태를확인하려면스테이션을마우스오른쪽버튼으로클릭하고스테이션매개변수를선택하십시오. API를통해이러한변수를읽거나수정할수도있습니다.
라운딩정확도를변경하려면프로그램 ➔ 라운딩 명령 설정 을선택하십시오. 라운딩정확도는연속적인움직임사이의가장자리를부드럽게하는데사용됩니다. 이변경사항은프로그램내에서실행되는순간부터적용되며 (다른모든명령과동일) 프로그램시작시이값을설정하는것이일반적입니다.
라운딩명령이없으면로봇은다음이동이이전이동과접하지않는한각이동이끝날때 0의속도에도달합니다. 이는각움직임에대해최고의정확성을보장하기위해높은가속과빠른속도변화를유발합니다.
이값은Blending radius(Universal Robots), ZoneData(ABB 로봇), CNT/FINE(Fanuc 로봇), Cornering(Mecademic로봇) 또는 $APO.CDIS/$ APO.CPTP/Advance(KUKA 로봇)라고도합니다.
참고: 미세한움직임을유발하려면라운딩값을 -1로설정하십시오. 이것은로봇이경로가장자리를둥글게하지않음을의미합니다.
팁: 라운딩값이높으면경로가장자리의정확도가떨어지지않고로봇경로를통해일정한속도가보장됩니다. 각응용프로그램에따라정확도와부드러운속도구간에좋은절충안을찾는것이일반적입니다.
RoboDK 경로 정확도 테스트를통해측정시스템에서다양한라운딩값의영향을더잘이해할수있습니다.
특정시뮬레이션이벤트를생성하려면프로그램 ➔ 시뮬레이션 이벤트 명령 을선택하십시오. 시뮬레이션이벤트는생성된코드에영향을미치지않으며시뮬레이션목적으로특정이벤트를생성하는데만사용됩니다.
그래픽사용자인터페이스를사용한시뮬레이션이벤트를통해다음을수행할수있습니다.
● 로봇툴에물체를부착또는분리
● 객체또는도구표시또는숨기기
● 객체및기준좌표계의위치변경
예를들어, 로봇이객체를잡기위해특정위치로이동하는경우, 객체를로봇과함께이동시키기위해객체 연결 이벤트를설정할수있습니다. 그런다음로봇이움직인후객체를이탈할준비가된후에는툴이잡은객체를남기도록객체 분리 이벤트를설정할수있습니다.
참고: 매크로를사용하여특정이벤트를시뮬레이션할수도있습니다(프로그래밍경험필요). 예를들어, API를사용하면픽앤플레이스시뮬레이션을위해특정위치에객체를무작위로표시할수있습니다.
참고: 객체를툴에부착할때주어진거리에서멀지않은경우가장가까운객체가부착됩니다. 이거리는기본적으로 200mm이며도구➔옵션➔최대 거리를 로봇 툴에 부착 으로변경할수있습니다. 또한, 기본적으로 TCP 위치에서객체참조까지의거리가확인됩니다. 또는TCP 와 객체 모양 사이의 최단 거리 확인 을선택하여 TCP와객체형상사이의거리를사용할수있습니다.