로직 프로그램
| 설명 |
PolyScope X 애플리케이션에는 메인 로봇 프로그램과 별도로 백그라운드에서 지속적으로 실행되는 로직 프로그램 이 포함될 수 있습니다. 이는 암의 전원이 꺼졌을 때, 메인 프로그램이 일시 중지되거나 정지되었을 때, 또는 작업자가 안전 구역에 진입했을 때에도 계속 실행되어야 하는 작업에 유용합니다. 일반적인 용도로는 필드버스 통신(Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC) 유지, 외부 센서 입력에 대한 반응, 생산용 PLC에 로봇 상태 보고, 메인 프로그램이 중지되었을 때 외부 장비 제어 등이 있습니다. 로직 프로그램에서는 로봇 암을 직접 이동시키거나, 페이로드를 변경하거나, TCP 매개변수를 수정하는 기능을 사용할 수 없습니다. |
|
로직 프로그램을 활용한 적용 사례 |
|
|
라이선스 |
로직 프로그램(Logic Program)을 사용하려면 라이선스가 필요하며, 고객 포털을 통해 구매할 수 있습니다.
|
|
로직 프로그램 제어 |
'프로그램' 페이지에서 사이드바의 '로직 프로그램'을 선택하십시오. 확장된 사이드바에는 로직 프로그램의 여러 부분을 탐색하기 위한 제어 기능이 표시됩니다. 또한 프로그램을 시작, 일시 중지, 중지 및 재설정할 수 있습니다.
|
||||||
|
|
“프로그램 실행” 버튼은 로직 프로그램의 상태에 따라 “프로그램 실행 ” 또는 “프로그램 중지”로 표시가 바뀝니다. 이는 로직 프로그램(Logic Program) 컨텍스트 메뉴에서 사용할 수 있는 프로그램 제어 작업에 대한 바로 가기 역할을 합니다.
네 개의 로직 프로그램 표시등 은 프로그램의 현재 상태를 나타냅니다. 또한 애플리케이션이 로드될 때 프로그램이 자동으로 시작되도록 설정되어 있는지 여부도 표시합니다.
|
|
논리 프로그램 구조 |
논리 프로그램은 메인 프로그램과 동일한 구조적 섹션을 가지고 있습니다:
로봇 프로그램과 로직 프로그램은 각각 고유한 전역 변수 세트, 독립적인 스레드 풀, 그리고 독립적인 실행 라이프사이클을 가지고 있습니다. 한 프로그램을 시작, 중지하거나 오류가 발생하더라도 다른 프로그램은 중단되지 않습니다.
|
|
|
'시작 전(Before Start )' 섹션에서는 프로그램을 한 번만 실행할 수 있습니다.
'모듈' 섹션에서는 해당 프로그램에서 사용할 수 있는 함수와 스레드 목록을 확인할 수 있습니다.
|
|
로봇 프로그램과의 데이터 교환 |
로봇 프로그램과 로직 프로그램 간의 통신을 위한 주요 수단은 애플리케이션 변수입니다. 변수는 로봇 및 로직 프로그램에서 설정하거나 읽을 수 있습니다. 이 예제는 로봇 셀의 입력 버퍼로 들어오는 항목을 계수하고, 그 개수를 로봇 프로그램에 표시합니다. 로봇 암의 전원이 꺼진 상태에서도 카운터는 계속 증가합니다.
|
|
로봇 상태 확인 |
로봇의 상태는 내장된 RTDE 변수를 통해 확인할 수 있습니다. 이러한 변수들은 스크립트 함수 다음 예제는 '안전 정지(Safeguard Stop)'가 활성화되어 있는지 확인하는 방법을 보여줍니다:
다음 예제는 로봇 프로그램이 일시 정지 상태인지 확인합니다:
URScript 제어 API도 이 기능을 래핑합니다.
|
|
로직 프로그램 자동 시작 |
응용 프로그램이 로드될 때 자동으로 실행될 프로그램을 선택할 수 있습니다. '자동 시작' 옵션을 선택하면, 애플리케이션이 로드된 직후 로직 프로그램이 즉시 실행됩니다.
로봇 컨트롤러의 전원이 켜지고 마지막 애플리케이션이 로드되면 로직 프로그램을 자동으로 시작할 수도 있습니다. 자동 시작 기능은 작동 모드나 로봇 암의 상태에 관계없이 작동합니다. 로딩 시 자동 실행이 트리거되면, 스낵바 알림을 통해 로직 프로그램이 시작되었음을 확인해 줍니다.
|
|
|
Logic Program 아이콘의 사이드바 배지는 프로그램이 실행 중인지 중지되었는지와 같은 프로그램의 현재 상태를 항상 표시합니다.
로봇의 전원이 켜져 있거나 다양한 애플리케이션이 로드된 상태에서 로직 프로그램이 안전한지 확인하는 것은 사용자의 책임입니다.
로직 프로그램은 유선 또는 PLC 연결(Modbus, PROFINET, Ethernet/IP, 소켓, 직접 출력 또는 기타 인터페이스)을 사용하여 외부 장비를 활성화하거나 비활성화할 수 있습니다.
|
|
모듈 및 스레드 |
로직 프로그램의 기능은 함수 단위로 구성할 수 있습니다. 이 기능은 로봇 프로그램에서와 동일한 방식으로 작동합니다. 각 기능은 스레드 로 표시할 수 있습니다. 기본적으로 스레드는 한 번만 실행됩니다. 스레드를 지속적으로 실행하려면 스레드 함수의 [ 루프 ] 확인란을 선택하십시오.
|
|
자원 공유 |
로봇 프로그램과 로직 프로그램은 각각 고유한 스레드 풀과 변수 풀을 사용하여 독립적으로 실행되지만, 모두 동일한 하드웨어 리소스를 공유합니다. 이로 인해 프로그래머가 유의해야 할 몇 가지 제한 사항이 있습니다:
|
|
제한 사항 |
|