10만원짜리 산업용 컴퓨터 - Comfile사의 Cubloc

연구개발이나 생산기술 쪽 일을 하다보면 당연히 컴퓨터를 써야 할 일이 많다. 실시간데이타를 수집한다거나, 데이타를 기반으로 기기를 작동시키거나 하는 일은 역시 사람보다는 컴퓨터가 더 잘 한다. 근데 컴퓨터의 종류는 PC만 있는 것이 아니다. 단순한 시계, 계산기 등도 일종의 컴퓨터라고 볼 수 있고, 이보다 좀 더 복잡한 것부터 PC에 이르기까지 그 종류는 무수히 많다. 요즘 유비쿼터스 어쩌고 하는 얘기는 그만큼 컴퓨터가 보편화되어 대부분의 전자기기가 마이크로프로세서를 내장하고 있다는 사실을 단적으로 표현한 것이다.

이 글에서는 생산/기술 업무상 제어용으로 사용할 수 있는 컴퓨터의 종류와 나의 개인적인 경험을 나열해 본다.

1. PLC(programmable logic controller)

왕 옛날 애니악이 탄생했을 때, 프로그래밍이란 지금처럼 통합개발 환경 화면 앞에서 타이핑하는 것이 아니고 케이블 더미를 여기 저기 끌고 다니며 특정 위치에 꽂아서 데이타 처리순서와 방법을 이 무식한 컴퓨터에 알려줘야 했다. 그런데 이런 방법은 지금도 사용하고 있는데 바로 릴레이 로직이다.

생산기기들은 버튼을 누르면 몇 번 기기를 켜고, 다음에는 무슨 일을 하고, 어떤 센서가 켜지면 중지한다는 식의 단순한 논리를 가지고 있다. 대부분의 전기기술자들에게는 이런 간단한 로직을 구현하기 위해 컴퓨터 앞에 앉아 C언어 프로그래밍하는 것보다는 릴레이/타이머/카운터 등을 연결하여 배선하는 것이 더 쉽다. 실제 생산기기의 컨트롤 패널을 열어보면 반드시 전원차단 장치와 한 두 개의 릴레이/타이머/카운터 등을 찾을 수 있다.

간단한 로직은 여전히 이런 개별소자를 이용하는 편이 간단하지만, 로직이 복잡해 질수록 사용해야 할 개별소자와 배선의 수는 급속히 증가하게 된다. 입력이 복잡해지고, 배선을 바꿔야 할 경우가 잦아지면 슬슬 이런 배선작업을 간단히 할 수 있는 방법이 없을까 고민하게 된다. 근데 복잡한 릴레이 로직회로를 자세히 살펴보면 입출력에 사용하는 릴레이의 개수는 사실 몇 개 안 된다. 논리를 구현하기 위해 사용되는 소자들과 배선만 늘어나는 것이다. 그래서 고안된 것이 PLC이다.

PLC는 물리적인 개별소자를 가상소자로 대체하고, 이들 간의 배선을 소프트웨어적으로 가능하게 한 것이다. 대부분의 상용PLC는 수~수십개에 이르는 입출력용 접점과 더불어 내부에 수백~수천개에 이르는 가상소자를 갖고 있다. 사용자는 외부신호, 출력전원 등만을 물리적으로 입출력 접점에 배선하면 되고, 접점 및 내부소자 간의 연결은 레더(ladder)다이어그램이라고 불리는 도면을 PC에서 그려 다운로드하기만 하면 된다. 그러고 나면 PLC는 수밀리초(ms) 간격으로 입력접점을 읽어들여, 레더다이어그램에 그려진 대로 가상소자의 on-off를 에뮬레이션한 다음, 출력접점으로 결과를 내보낸다. 그러면, 실제 물리적으로 구성한 회로와 아무런 차이가 없는 동작을 하는 것이다.

요즘 들어서는 워낙 마이크로프로세서와 메모리 가격이 싸져서 개별소자를 여러 개 사는 것보다 저가 PLC를 하나 사는 것이 더 싸게 먹히기도 한다. 그런 목적으로 사용할 수 있는 PLC 중 하나가 컴파일 사의 Cubloc과 TinyPLC 시리즈다. 배선에 들어가는 시간과 소위 '인건비'를 고려하면 10만원도 채 안 되는 가격으로 수천개의 내부릴레이, 타이머, 카운터, 클럭, ADC 등 하드웨어뿐 아니라 모든 필요한 소프트웨어를 제공하는 이런 제품을 놔두고, 땀 흘리며 좁은 공간에 개별소자를 연결하려는 노력이 미련스럽게 느껴질 수도 있다. 사실 그래서 요즘은 PLC 없이 개별소자만으로 구성한 회로를 구경하기가 점점 어려워지고 있다.

나 같은 비전문가가 간단한 수준의 자동화 동작을 구현하기 위해 그래픽처리까지 가능한 수백만원짜리 PLC를 살 이유는 거의 없다. 지금까지 내가 PLC를 이용해 만든 것은 순수공급-교반-침강대기-배수의 싸이클을 반복하여 분말을 세정하는 장치라던가, A탱크 ->B탱크의 이동이 끝나면 B탱크->A탱크로 이동시키며 필터처리를 하는 장치 등 4~5 개의 입력(센서/버튼) 및 1~2 개의 출력(교반기, 펌프)을 갖는 아주 단순한 것들이었다. 그러나, 이런 작업들은 시간이 무척 오래 걸리므로 작업자가 옆에 앉아 각 싸이클을 조작하기에는 너무도 비효율적이다. 이런 경우 겨우 몇 만원짜리 PLC가 이런 노가다를 대신해 준다면 얼마나 고마운 일인가.

2. PC

나는 지금껏 PC보다 복잡한 컴퓨터를 사용해 본 적이 없다. 엄청나게 많은 사람들이 PC를 갖고 엄청나게 다양한 작업을 하고 있다. 물론 PC를 이용해 자동제어도 할 수 있다. 그 예로 이 글 아래에는 엑셀을 갖고 어떻게 RS232기기를 제어할 수 있는지를 적어놓았다. PC를 이용한 자동제어는 그 자체가 엄청난 경우의 수와 다양성을 갖고 있다. 간단히 예를 들어 보면:

- 입출력 보드 및 전용 소프트웨어를 쓰는 방법
- MatLab, LabVIEW 등 범용 제어 소프트웨어를 이용한 방법
- C, BASIC 등 범용언어를 이용해 프로그래밍하는 방법
- 기타 꽁수를 쓰는 방법(엑셀+RS232 등)

PC를 쓰는 자동화는 이 글에서 소개하는 다른 방법과 비교할 때 몇 가지 장단점이 있다.
장점: 데이타 저장/이동이 편리하다. 친숙하다. 언제든지(심지어 자동제어 작업중에도) 다른 용도로 사용이 가능하다.
단점: 비싸다. 쓸데없는 기능이 너무 많다. 현장에 설치해 놓으면 이상하게도 jpg/mp3/avi 등의 확장자를 가진 화일들이 마구 늘어나며 시스템 장애를 발생시킨다...

개별방법에 대해서는 여기서 구체적으로 언급하지 않겠다. 사실 개인적으로 멀티태스킹 윈도우즈 환경은 실시간 하드웨어 제어가 필요한 자동제어 분야에는 그다지 적합하지 않다고 생각하며, 실제로 RS232를 사용하는 이외에는 직접 프로그래밍해가며 자동화 프로그램 만들어 본 적이 없다. 디바이스 드라이버 처리방법도 복잡할 뿐만 아니라, 고가의 컴파일러 및 제어소프트웨어를 사야 하는 등 오버헤드가 너무 크기 때문이다. 그래도 반드시 PC로 자동화를 해야겠다고 생각하는 분은 내쇼날 인스트루먼트의 LabVIEW 및 관련 솔루션이 도움이 될 지도 모르겠다. 내가 직접 한 것은 아니지만 개발을 의뢰하여 소형 공정자동화 프로젝트를 단기간에 성공적으로 마친 경험이 있다.

3. Cubloc

오래전 대학원 때 도스환경에서 PC 프린터 포트에서 선을 따내어 파워트랜지스터 붙여 스테핑 모터를 돌려가며 분광실험을 했던 이후 윈도우즈 환경으로 넘어가면서부터 나는 하드웨어 제어 프로그래밍을 오랫동안 잊고 지냈다. 개별 프로그램의 하드웨어 독점을 금지하는 윈도우즈 환경에서 프로그램 짜는 것도 낯설고 힘들었거니와, 회사생활하면서 그렇게까지 해가며 실험할 일은 별로 없었기 때문이다. 필요하면 좀 비싸더라도 그냥 사서 쓰는 편이 편리하고 빠르니까..

그러나 살다보면 특히 프로그래밍 세계에서는 자신이 한번 했던 것, 그리고 잘 했던 것은 자꾸만 반복하게 되는 경향이 있다. 대학원에서 스테핑 모터 돌린 이후 잊고 지낸 지 10년, 어느 날 나는 회사 생산공정에서 온종일 앉아서 밸브만 열었다 닫았다 하는 오퍼레이터들을 보게 되었다. 페이스트제품을 통에 담는 포장공정이었는데 점도가 높고, 2000g 한 통의 허용오차가 +/- 0.2g 밖에 되지 않아 아직까지 수동작업을 하고 있었다. 이를 자동화하기 위한 프로젝트가 영국공장에서 진행되고 있었는데 결과가 그다지 좋지 않은 상태였다. 나는 스테핑모터를 이용한 제어를 떠올렸고, 별도의 프로젝트를 제안하여 착수하게 되었다.

이 과정에서 찾은 것이 Cubloc이었다. 내가 필요한 것은 RS232통신, 실수연산, 스테핑모터 제어를 위한 고속 디지탈 출력, 버튼 등 디지털 입력  등의 하드웨어 기능과 이를 제어하기 위한 고급언어였다. 이런 종류의 제어는 PLC로는 도저히 불가능한 것이었고 어떤 종류가 됐건 마이크로프로세서를 쓸 수 밖에 없었다. 이 때 이 모든 기능뿐만 아니라 아예 전원/릴레이/스테핑모터 제어함수까지 더해서 단돈 12만원인 Cubloc 보드는 나에게는 거의 광명이었다. 개발기간은 생각보다 엄청 단축되었고, 제어장치는 곧바로 적용에 들어갔다.

Cubloc은 웬만한 자동화에 필요한 하드웨어를 거의 모두 갖추고 있다. 앞서 말한 기능 외에 카운터, PWM제어, 외부 인터럽트, 입출력 릴레이, 아날로그-디지탈 변환, 디지탈-아날로그 변환 등의 하드웨어 환경과 레더와 BASIC을 동시에 사용할 수 있는 개발환경을 제공한다. 그 외에도 풍부한 주변기기들도 지원하는데 LCD, 키패드, 리모콘, 이더넷 접속,  SD카드 데이터 입출력 등도 가능하다. 한 마디로 자동제어에 있어서는 All-in-one 솔루션이다. 이런 기기가 10년전에 있었더라면 나의 대학원 생활이 좀 덜 고달팠을 거라는 생각이 든다.

어쨌건 크건 작건 PC없이 동작하는 스탠드얼론형 자동화를 고려하는 이에게는 꼭 추천해주고 싶은 제품이고, 아직까지는 유사품도 찾지 못 했다. 자세한 것은 www.comfile.co.kr을 참조하기 바란다.
 

by stal | 2006/09/12 18:32 | 메카트로닉스 | 트랙백 | 덧글(5)

트랙백 주소 : http://snowxtal.egloos.com/tb/338425
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 방랑자 at 2006/11/22 19:09
잘 봤습니다. 신철호 사장님과 소주한잔 할때 이 글이 되세겨 지겠네요...^.~
Commented by stal at 2006/12/04 16:45
컴파일 사장님하고 잘 아시는 분인가 보네요.. 계속 좋은 제품 만들어 달라고 전해주시면 고맙겠습니다.
Commented by 나그네 at 2009/04/30 10:56
좋은 정보 공유해 주셔서 감사합니다.
Commented by jllee at 2011/07/11 13:45
저는 pic basic을 만나고 광명을 찾았지요...ㅎㅎ
공감합니다
Commented at 2011/11/02 12:50
비공개 덧글입니다.

:         :

:

비공개 덧글

<< 이전 페이지다음 페이지 >>