장비 제조업계에서 쓰는 써드파티 장비를 크게 몇 그룹으로 나누어 보면
1. 모션 컨트롤 (일종의 모터 컨트롤이죠.. - MEI, Advantec )
2. 비젼 (카메라 관련입니다. - Matrox )
3. 계측기(너무 많아서.. ^^;; - 키슬리, 요코가와)
4. I/O, DAQ ( Advantec, NI, Adlink)
5. 통신(시리얼,GPIB, LAN, USB- NI)
이정도가 될것 같은데요.. 물론 찾아보면 더 있겠지만.. 이런 장비를 사용함에 있어 몇가지 문제점을 짚어보면
1. COM 을 제공하는 장비 : 빌더에 ActiveX 를 Import 해서 사용하는 기능이 있습니다. 하지만 대부분 무용지물 입니다. 이유는 알 수 없지만 Import 된다 하더라도 일부 기능만 가능하거나 아예 제대로 동작이 안될때가 많습니다. 이럴 경우 저수준의 코딩을 통해 해결합니다.
- Matrox 라는 Frame Graber가 있는데 나름 강력한 ActiveX를 제공합니다. 하지만 빌더에서 Import 된 컴포넌트는 동작을 하지 않습니다. 결국 제공하는 DLL 로 빌더용 lib 를 만들고 헤더파일을 참조해서 함수 하나하나를 분석하고 매뉴얼의 예제 파일을 보면서 내게 필요한 기능을 만들어서 사용합니다.
2. DLL 을 제공하는 장비 : 이 경우는 크게는 문제는 없습니다. 하지만 빌더용 LIB 를 제공하지 않기 때문에 Implib 등을 이용해서 빌더용 LIB 를 만듭니다. 하지만 때때로 이 만들어진 LIB 가 잘 동작이 안될때가 종종 있습니다.
- 이 경우 만들어진 LIB를 포기하고 동적 LINK를 사용해서 해결하곤 했습니다. 짜증스러운 코딩을 많이 해야 하죠..
3. 제공받은 라이브러리가 빌더의 파일들과 충돌이 되는 장비 : 이런 장비는 빌더에서 테스트 되지 않았기 때문에 헤더 파일에서 충돌이 되는 경우를 한번 경험했습니다. 다행이 이 장비의 경우 수입한 한국 밴더에 빌더 개발자가 있어서 둘이서 2주동안 머리싸매고 해결 했었습니다.
4. 아예 지원을 못해주는 장비 : 포기 합니다.
이처럼 문제들이 생기면 다양한 방법을 동원해서 문제점을 분석하고 해결을 하지만 결국 제공하는 기능을 100% 활용을 못하거나 아니면 아주 불편하게 사용을 하던가, 또는 비주얼 툴이었다면 하지 않아도 될 코딩을 열심히 해서 사용을 합니다.
빌더의 강력한 생산성에 의한 시간 단축을 이러한 부분에서 많이 까먹고 있는 셈입니다.
어떤 분께서 장비업계가 폐쇄적이라고 말씀하셨는데 맞는 말입니다. 장비개발 특성상 혼자 개발해야 하는 경우가 대부분인데다 기계 설비이다 보니 외부 유출을 꺼리는 경우도 많고..
하지만 위에 제시된 업체들의 문제점들과 해결 방안을 공유할 수 있는 공간이 있었으면 하는 바램이 좀 있습니다. 그래서 포럼에 개발 툴 단위의 파티션도 좋지만, 동일한 업종의 사람들이 정보를 교환할 수 있는 공간을 마련해 보는것도 어떨까 생각해 봤습니다. 예전에 저도 그런 홈페이지를 만들어 보려고 시도했으나 목구멍이 포도청이라 결국 포기했습니다.
여기저기 다양한 분야의 홈페이지가 따로 있는 것도 좋지만 포럼이라는 훌륭한 커뮤니티 안에 새로운 한 파트로서 이런 것들이 존재하는 것도 가히 나쁘지는 않을것이라는 제 짧은 생각을 제시해 봅니다.
|
저도 비슷한 일을 합니다..
제가 지금까지 겪어왔던 일을 정확하게 정리하셨군요...ㅎㅎ
기회가 되면, 재밌게 얘기할 수 있을 것 같습니다..