Skip to main content

2.11.2. 멀티 태스킹 모션 교시 예

2.11.2. 멀티 태스킹 모션 교시 예

 

아래의 그림과 같이 로봇, 로봇건, 정치건, 지그축으로 구성되어 총 로봇축 1개과 부가축이 3개로 구성된 시스템으로 멀티 태스킹 작업을 수행하는 예를 설명하겠습니다.

메인태스크는 로봇축을 제어하고 서브태스크 3개는 각각 1개의 부가축을 제어합니다. 메인태스크에서는 로봇에 대한 작업과 서브태스크 생성을 수행하고 각 서브태스크는 생성이 되면 해당 유닛에 대한 작업을 수행합니다.

 

   메인 프로그램은 프로그램 100번입니다. 메인 프로그램은 유닛0을 선택하여 모든 축이 구동되도록 프로그램 할 수 있습니다. 메인 프로그램을 실행하면 순차적으로 MOVE SPOT을 실행하며 Step 10까지 명령을 수행합니다.

   그 후에 메인 프로그램에서 AXISCTRL OFF T1, T2, T3명령을 수행하면 지정된 축 번호는 서브태스크에서 제어되도록 설정됩니다. 이렇게 되면 T1, T1, T3 부가축은 메인태스크에서 Step11-15를 수행할 때 Step11~15에 기록된 T1, T2, T3의 위치로 이동하지 않습니다.

   TaskStart명령을 이용하여 서브태스크 1,2,3에서 수행할 프로그램을 지정합니다. 서브 태스크에 할당된 프로그램은 반드시 독립된 유닛으로 설정되어야 하며 서브태스크 간에 유닛으로 지정된 축이 중복되어서는 안됩니다. 예를 들어 유닛1은 매커니즘M1=T1축으로 지정하고, 유닛2는 매커니즘M2=T2, 그리고 매커니즘M3=T3으로 각각 서로 배타적으로 지정합니다.

   TaskStart명령에 의해서 서브태스크에 할당된 프로그램 0063, 0064, 00165가 독립적으로 실행되고 메인프로그램은 Step11~15를 실행합니다.

   메인 프로그램에서 TaskWait명령을 만나면 지정된 서브태스크가 완료되어 END를 실행할때까지 대기합니다. 따라서 서브 태스크 1,2,3이 모두 종료될 때까지 메인프로그램이 대기합니다.

   다시 메인 프로그램이 부가축의 제어권을 가지고 오기 위해서 AXISCTRL ON명령을 실행합니다.