모션의 손발을 움직인다! 모션컨트롤러 (4)
모션의 손발을 움직인다! 모션컨트롤러 (4)
  • 윤진근 기자
  • 승인 2014.10.02 14:53
  • 댓글 0
이 기사를 공유합니다

모션컨트롤러의 역사와 종류

모션컨트롤러는 그 이름처럼 모션컨트롤을 돕는 장치다. 그 종류에 따라 각기 다른 제어 작업을 수행한다. 모션컨트롤러를 구성하는 기술들과 모션컨트롤러의 종류에 대해 간단히 알아보고, 대표적인 장비 및 응용사례를 통해 각 장치의 특징과 기능을 살핀다.
글|모션시스템디자인 편집부·정리|윤진근 기자(yoon@iomedia.co.kr)

 

셀 컨트롤러
셀 컨트롤러라고 일컫는 컴퓨터는 개별 단말기와 컴퓨터를 통해 제어하는 기기들 사이를 조정하는 역할을 한다. 셀 컨트롤러의 역할은 모션컨트롤러의 감독 및 제어와, 각 장치가 제조한 것을 수집 및 통계하는 작업 등을 포함하고 있다.

셀 제어(Cell Control)가 무엇인지에 대한 정확한 정의는 아직까지 존재하지 않는다. 몇 년 전까지만 하더라도 사람들은 셀 컨트롤러에 대해 공장 전체를 지켜보며 모든 작업을 아우를 수 있는 컴퓨터의 개념을 생각했다. 반면 오늘날 셀 컨트롤러는 다수의 PLC와 연결해 사용할 수 있는 작고 견고한 컴퓨터 정도로 여겨진다. 또한 조작원 제어 스테이션의 역할도 겸할 수 있다고 대부분이 인식하고 있다. 

이 컴퓨터는 서로 다른 프로그램을 하드디스크에서 PLC로 옮기는 역할을 한다. 공정 또는 조립 라인을 재구축하는 데에 쓰이는 마일러 테이프(자기 테이프의 기본이 되는 제품. 편집자 주)를 불필요하게 만든다. 

셀 컨트롤러는 또한 제조 통계를 중앙처리장치까지 전달하는 정보 필터(Information Filter)의 역할도 수행한다. 셀 컨트롤러 설비의 대부분은 PC와 호환할 수 있는 형식을 기반으로 하고 있다.

여러 산업분야에서 다양한 목적을 위해 셀 컨트롤러를 사용하고 있다. 공급업체를 위주로 예시를 들어보면, 자동차 제조분야에서도 셀 컨트롤러를 자주 사용하는데, 조립 라인의 부품 추적이나 용접·절단 등 다양한 공정의 질에 대한 정보 수집 등을 수행한다. 이렇게 수집한 자료를 통해 통계적 공정 관리에 필요한 정보를 계산 및 산출하고, 이를 중앙컴퓨터에 전달한다.

금형공장이나 식품가공처리시설 등에서는 직접적인 기계 제어와 모니터링 작업을 결합하고는 한다. 이들 공정에서는 알람이 울리면 자동으로 공정 매개변수를 변경함으로써 자가 조율을 시행한다. 이로 인해 수동 조정에 대한 필요성이 대폭 줄어든다.

셀 컨트롤러의 역할이 하나 더 있다. 파일 제공이 그것이다. 컨트롤러가 하드디스크를 탑재하고 있으며, 하드디스크 안에는 다수의 CNC 기계 혹은 PLC에 쓰이는 프로그램이 담겨있다. 사용자가 명령을 내리면 컴퓨터는 제조기계에 새로운 프로그램을 송신한다. 명령은 기계 작업자가 직접 내리거나 중앙관리 컴퓨터에서 원격으로 내린다.

셀 컨트롤러는 일반적으로 수동 회로 뒤판(Passive Backplane)을 사용한다. 따라서 카드가 프로세서를 탑재하고 있으며, 주변장치 또한 포함하고 있다. 이러한 기계는 냉각 팬·NEMA 캐비닛·히트 싱크 등의 기능이 필요한 산업 환경에 적합하다. 최대 60℃의 주위온도에서도 원활하게 작동한다. 일부는 냉각팬 없이 작동하도록 설계되기도 한다.많은 셀 컨트롤러 공급업체가 대형 PLC 공급업체가 제공하는 로컬 영역 네트워크(LAN) 등의 통신 프로토콜을 다룰 수 있는 소프트웨어를 제공하고 있다. 또한 LAN을 통해 ACSII 문자를 사용하는 다양한 기계와 통신할 수 있다. 단, 컨트롤러가 덜 널리 쓰이는(즉, 덜 유명한) PLC 브랜드와 통신해야 할 때에는 해당 브랜드에 컨트롤러를 최적화하는 작업이 필요하다.

 

프로그래머블 컨트롤러
프로그래머블 로직 컨트롤러(PLC)는 소프트웨어를 기반으로 하며, 릴레이 패널과 대응하는 제품이다. PLC는 다용도 장치로 통한다. 하나의 모델을 통해 여러 종류의 장비를 제어하도록 프로그래밍할 수 있으며, 이렇게 만든 프로그램은 새로운 작업 혹은 생산루틴의 변화에 맞추어 형태를 바꿀 수 있다.

기존의 PLC는 원시적인 장치였다. 기계 작동 및 상태에 대한 최소한의 피드백만을 제공했던 것. 하지만 이제는 상황이 바뀌었다. 컴퓨터 칩이 보다 강력해짐과 더불어, 컨트롤러가 제조공장의 각종 정보에 접속할 수 있어야 한다는 새로운 표준이 도입된 것. 

초기의 컨트롤러는 릴레이 연결 상태에 대한 제한적인 정보만을 제공했던 반면, 현재의 컨트롤러는 모니터링 기능이 추가되었다. 이로 인해 사용자가 공장에 무슨 일이 일어나고 있는지를 정확하게 알 수 있게 되었다.

여기에 컴퓨터가 더 빠른 속도 및 프로그래밍 유연성을 바탕으로 PLC의 성능을 한층 높였다. 오늘날의 PLC는 대부분 포트(컴퓨터의 주변기기 접속 단자)를 가지고 있어 사용자가 PC에 원활히 연결 및 사용할 수 있도록 돕는다. 

이 PLC와 컴퓨터 사이의 통합을 이끈 요소로는 세 가지가 있다. 독자적인 마이크로프로세서 및 메모리를 탑재한 ‘스마트’ PLC와, 멀티태스킹 소프트웨어, 그리고 LAN 등이 그것이다.

 

새로운 소프트웨어가 등장하면서 컴퓨터의 기능을 한층 높였다. 특히 PLC와 협업하는 개인용 컴퓨터의 성능을 부쩍 높였다. 최근까지만 하더라도 소형 컴퓨터는 한 번에 한 가지 작업만을 수행할 수 있었다. 컴퓨터가 컨트롤러의 상태를 확인하는 작업을 하고 있을 경우에는 자료 분석이나 보고서 생성 등을 동시에 할 수 없었음을 뜻한다. 하지만 DOS(Disk Operating System)의 발달에 힘입어 이제는 소형 컴퓨터가 두 가지 이상의 작업을 동시에 수행할 수 있게 되었다.

마이크로프로세서의 성능이 발전함에 따라 컨트롤러를 통해 다축제어를 수행하거나 정교하고 복잡한 비전시스템과 연결할 수 있게 되었다. 새로운 PLC가 다양한 분야의 업무에 투입될 수 있었던 것은 PLC를 모듈 안에 설치할 수 있게 된 덕이다. 이는 곧 맞춤형 프로그래밍을 실현함은 물론, 향후 확장이 한결 용이해짐을 뜻한다. PLC는 독자적인 내부 통신경로 혹은 버스를 가지고 있으므로 부가 모듈에 추가적인 메모리나 처리 기능을 탑재할 수 있다.

현재 다양한 모듈이 RS-202 통신 포트와 다축제어 그리고 결함 안내(Fault Annunciation) 기능을 탑재하고 있다.

이제는 온라인에서든, 오프라인에서든 소프트웨어를 개발할 수 있다. 또한 데이터 관리 및 분석 프로그램을 사용할 수도 있다. IBM PC 혹은 호환기를 통해 많은 장치를 프로그래밍할 수 있다. 극단적인 기온과 먼지 그리고 진동이 문제가 되는 경우에는 특정한 응용사례에 특화된 프로그램도 사용할 수 있다. 오늘날의 I/O 스테이션은 CPU에서 2000ft(약 60900㎝) 떨어진 곳에서도 작동한다.

컨트롤러가 제아무리 성능이 뛰어나다고 하더라도 적재적소에서 활약하는 소프트웨어보다 강력하지는 않다. 
최근에 개발된 메뉴 방식 소프트웨어와 동시운영체제라는 두 가지 요소는 프로그래밍 과정을 단순화하고 프로그래밍을 유용하게 만드는 데에 큰 공헌을 했다. 메뉴 방식 소프트웨어는 이름 그대로 메뉴 기능을 사용함으로써 최소한의 교육만으로도 모니터링과 분석 그리고 공정관리를 실현할 수 있는 소프트웨어다. 동시운영체제는 서로 다른 두 개의 프로그램을 자유로이, 그리고 빠르게 변환함으로써 두 가지 프로그램을 거의 동시에 실행하는 것이 장점이다.

일부 PLC는 수학 함수와 관련한 문제를 해결할 수 있다. 사인·코사인·탄젠트·xy·루트·부분집합·자연로그·상용로그 등이 대표적이다. 이러한 계산은 에너지 관리·공정제어·공정 모델링·실시간 오류 수정·여타 응용사례 등에 필요한 기능이다.

사다리 논리(래더 로직)은 여전히 업계 프로그래밍 언어의 표준으로 통한다. 하지만 추세가 바뀌고 있다. 상태 논리(스테이트 로직)·순차기능차트(Sequential Function Charts)·그래픽·베이직이나 C 혹은 여타 고 수준 언어로 프로그래밍할 수 있는 버전 등으로 점차 바뀌어가고 있는 것.

아날로그 신호를 처리할 수 있는 능력과 수학 연산 및 기타 복잡한 계산을 처리하는 능력은 PLC가 공정제어뿐 아니라 기계제어나 장비제어 등에도 적합한 해결책으로 부상케 만들었다. 일반적인 응용사례로는 선광(Mineral Processing)·화학처리공정·수 처리(水處理)·폐기물 처리·석유 채집 및 유통 등이 있다. 많은 응용사례에서 일련의 문제들을 처리하고, 일부 아날로그 계산 및 제어를 수행함으로써 기존의 아날로그 제어 시스템을 보완한다. 또한 몇몇 PLC는 일괄처리에 대한 레시피를 저장하는 기능을 탑재해 수동 입력의 필요성을 한층 줄였다.

공정제어 기능을 한층 더 발전시킨 일부 PLC는 복합방정식도 해결할 수 있다. 대표적으로 PID 제어 (Proportional-Integral-Derivative Control. 제어 변수와 기준 입력 사이의 오차에 근거하여 계통의 출력이 기준 전압을 유지하도록 하는 피드백 제어의 일종으로, 비례 제어와 비례 적분 제어 그리고 비례 미분 제어를 조합한 것. 출처 IT용어사전)가 있다. 정교한 PLC는 공정 중에 동시다발적으로 발생하는 계산도 수행할 수 있다.

PLC는 아날로그 출력을 생성하며, 동시에 출력물의 위치제어 기능을 제공한다. 또한 수치제어를 통한 제어 기능도 제공한다.

오늘날의 PLC는 작업자에게 정보를 다시 전달하는 수준으로까지 발전했다. 기록·검토·변경 등에 사용할 수 있는 독자적인 래더 다이어그램을 출력하거나 CRT 및 프린터를 통해 영어로 출력되는 상태 혹은 진행상황에 대한 정보를 정기적으로 혹은 사용자가 호출할 때마다 제공한다. 요약 자료나 메시지 등을 영어로 출력하기도 한다.

최근에는 자료 분석 프로그램이 점차 일반화되고 있다. 또한 스프레드시트 형식을 주로 사용하는 추세다. 각 PLC에 태그 혹은 일련번호를 할당하는 것이 일반적이다. 이를 통해 데이터 종류·코일·입력 수치·주소 등의 매개변수를 추적할 수 있다. 

PLC는 장치가 다른 제어 작업을 시작할 수 있도록 컴퓨터 데이터베이스 내의 데이터를 변경한다. 예를 들어 PLC가 밸브를 닫으면 소프트웨어 루틴은 밸브를 통과하는 유체의 속도 및 양 등을 측정하고, 흐름 및 공급량이 원하는 범위를 벗어난 경우 알람을 울린다.

프로그래머블 컨트롤러는 또한 외부의 결함을 찾아내는 기능도 가지고 있다. 이러한 기능은 여러 측면에서 유용하게 사용할 수 있다. 각 장치 및 기계와 외부에 장착한 제어요소(리밋 스위치·솔레노이드·센서·변환기·원격 버튼·선택 스위치 등)의 신뢰성을 높일 수 있기 때문이다. 이들 외부 요소가 문제를 일으키면 장치가 작동하지 않는 시간(즉, 다운타임)으로 이어진다. 외부 요소를 정확히 파악하는 것이 중요한 이유다.

기타 유지보수에 대한 지원은 각종 오작동 해결에 도움을 준다. 이점 중 하나를 CRT 내에서 전류를 운반하는 회로의 일부를 강화하는 것이 있다. 작업자가 장치를 무조건적으로 켜거나 끌 수 있는 특정 입력·출력 명령을 내릴 수 있다는 점 역시 장점이다. 유지보수 지원은 기술자로 하여금 문제가 내부 오류로 인해 일어난 것인지, 외부 오류에 의해 일어난 것인지를 진단할 수 있도록 도움을 준다. 

 

PLC 로봇 제어
프로그래머블 컨트롤러는 종종 특수한 펌웨어(PLC 제조업체가 프로그래밍한 소프트웨어)를 탑재하고 있다. 이를 통해 컨트롤러가 사용자 프로그램이 내리는 단순한 지시에 따라 여러 복잡한 절차를 수행할 수 있게 된다. 시퀀서 펌웨어는 전자 시뮬레이팅이나 전자 시퀀서 혹은 프로그래머에 필요한 자료의 프로그래밍·저장·접근 등을 실현한다. 시퀀서 자료는 PLC 메모리 내의 데이터 테이블 영역 안에 저장되며, 사용자의 가용 영역과 분리된다. 

시퀀서 펌웨어를 탑재한 PLC는 로봇 제어에 특히 유용하다. 각 움직임의 최종 위치가 리밋 스위치·온/오프·위치 피드백 장치 등에 의해 결정되는 경우에는 이러한 PLC가 적절한 선택이다.

각각의 로봇 작업마다 서로 다른 마스크를 활용함으로써 로봇의 움직임을 변경할 수 있다. 시퀀서를 불러오거나 프로그래밍하는 방법 중 하나로 ‘교육’ 모드가 있다. 교육 모드란 I/O 지점의 온/오프 상태에 부합하는 시퀀서의 개폐 접촉을 불러들이거나 설정하는 기술을 말한다. 이 방법을 활용하면 로봇을 원하는 위치까지 이동하도록 만들 수 있다. ‘교육’ 버튼을 누르면 장치에 동력을 공급함으로써 모든 적절한 입력값 및 장치의 온/오프 상태 정보를 시퀀서 단계에 복사한다. 이후 단계에 따라 순차적으로 로봇을 움직이고, 각 단계마다 ‘교육’ 버튼을 누르면, PLC는 이 일련의 움직임을 ‘교육받게’ 된다.

PLC를 통해 폐루프 시스템을 탑재하고 있는 로봇을 제어할 수 있다. PLC의 디지털-아날로그 변환 I/O 모듈을 통해 로봇을 제어할 수 있게 되는 것. 이 모듈은 디지털 PC 신호를 입력받아 ±10V 범위의 아날로그 출력으로 변환하는 역할을 수행한다. 각 축에 전원을 공급하는 유압 혹은 전기 서보 시스템은 장치가 만들어내는 출력 속도를 참조할 수 있다. 각각의 축은 전위차계 혹은 인코더와 기계적으로 결합되어있다. 이로 인해 위치 및 속도 자료를 PLC로 전송하고 피드백 제어 루프를 닫을 수 있다. 장치는 PLC가 컨버터로 전송하는 디지털 명령을 통해 움직임을 시작하고, 가속도를 정하며, 속도를 결정하고, 감속을 실현한다. 피드백이 로봇이 적절한 위치에 도달했음을 알리면 움직임을 멈춘다.

프로그래머블 컨트롤러를 적절히 활용하면 점대점 움직임 혹은 벡터 움직임을 제어할 수 있다. 이 중 점대점 움직임을 특정한 축에 적용하면 다른 축에 관계없이 개별적으로 작동을 시작하고 멈출 수 있다. 이러한 유형의 움직임은 프로그래밍이 쉽고, 메모리를 적게 소모하며, 따라서 다양한 로봇 응용사례에 적합하다.

하지만 벡터 움직임은 두 개 이상의 축이 서로 연결되어있어야 실현할 수 있다. 상호의존적 도구인 셈이다. PLC가 각 축의 가속도 및 속도를 조정하여 모든 움직임이 일제히 종료되도록 만든다. 이는 로봇 팔이 일정 지점에서 또 다른 지점까지 최단경로로 이동할 수 있음을 의미한다. 벡터 모션제어는 각각의 움직임 및 이동에 필요한 시간을 줄일 수 있는 열쇠다.

벡터화된 제어(Vectored Control)를 실현하기 위해서는 PLC에 연산 펌웨어를 탑재해야 한다. PLC가 각 축이 필요로 하는 속도를 계산할 수 있어야 하기 때문이다. 표준화된 알고리듬을 이러한 계산에 사용하고 있다고는 하나, 벡터화된 모션 프로그램은 점대점 모션보다 다소 복잡하며 더 많은 메모리를 필요로 한다.


주요기사
이슈포토