분류 전체보기(31)
-
원하는 영상을 얻기 위한 조명제어
몇일전 Method-2 라는 로봇을 유튜브에서 보았습니다. 참, 멋있더라구요. 기반 기술을 만들고 더 나아가서 로봇까지 만드는 모습을 보니, 많은 노력이 있었다고 생각이 듭니다. 게을러서 포스팅도 안하고 있는 제 자신을 돌아보게 합니다. 로봇제어도 장비제어도 한끗 차이라고 생각합니다. 이제 부터 산업용 로봇 개발자라고 하고 다녀야 겠습니다. 뭐, 틀린 말도 아니니까요. 오늘 포스팅할 내용은 원하는 영상을 얻기 위한 조명제어 입니다. 조명제어도 인터넷에 검색해보니 여러가지 의미가 있지만, 산업용 장비제어 측면에서 설명하려합니다. 장비제어에서 조명이란 무엇인가? 원하는 영상을 얻기위한 광원이라고 할수 있습니다. 그래서 카메라가 있는곳에는 꼭 있습니다. 광원에 따라서 물체의 영상이 잘보일수도 어둡기도 할수 있..
2017.03.23 -
업계통신표준 SECS/GEM!
신규 PC를 적용하고 신규 모션라이브러리를 적용하고, 테스트하느냐고 바쁜 한주가 지나고 다시 한주를 시작하는 때가 되었네요. 모션보드(아진엑스텍)가 새로산 ASUS의 PCIe 1배속 슬롯을 지원을 안해줘서 고생에 고생을 했습니다. 결국 아진엑스텍에서 칩셋을 바꿔야 한다는 결론을 얻었네요. 그리고 아진쪽에서는 당장 해결해줄 의사가 없다고 하네요. 도대체 왜 제일 많이사는 ASUS보드를 지원안하는거냐고요. 슬픈이야기는 뒤로하고 오늘은 온라인통신중에서 현재 삼성에서 쓰고 있는 통신인 Secs/Gem에 대해서 설명 하려 합니다. 교과서적인 SECS/GEM의 정의는 다음과 같습니다. Secs/Gem 의 정의 SECS : 통신을 위한 프로토콜에 대한 규약을 통칭합니다. GEM : 장비의 동작에 대한 시나리오와 이때..
2017.02.20 -
장비제어에서 Offline Mode 와 Online모드
어제는 FTP 파일서버를 이용하여 파일 다운로드 하여 장비에서 데이터를 가져다가 쓰는 간단한(?) 작업을 하였습니다. 기존에 FTP 관련 모듈이 있어 몇 시간만에 뚝딱 만들어서 구현할수 있었습니다. 장비제어에서 이렇게 외부와 데이터를 교환하기 위해서 통신을 하게 됩니다. 통신을 하냐 안하냐의 차이에서 Offline 과 Online 모드가 분류 됩니다. 온라인통신은 무엇인가? 여기서 Online 모드는 실시간으로 통신에 의해서 자체 설비에서의 제어가 아닌 외부의 명령을 통해 제어가 가능하다는 뜻 입니다.이 온라인모드는 통신 방식에 따라 여러가지로 나눌수 있습니다. 장비제어서 대중적으로 많이 쓰는 방식은 TCP/IP에서 서버/클라인트 구조, Secs통신등이 있습니다. 온라인통신은 왜 하는가? 온라인통신이 하..
2017.02.07 -
장비제어에서 Log란?
로그가 필요하였을때! 고단한 한 주를 뒤로하고 편히 침대에서 잠을 자는 시간 핸드폰이 울렸다. 거래처에서 장비의 작동이 안된다는 이야기 였다. 정말로 잘잘못을 따지기 전에 짜증이나는 일이 아닐수 없다. 거래처 엔지니어도 짜증나는 일일 것이다. 업데이트후에 특정상황에 계속 장비제어 프로그램이 다운된다는 이야기다. 나는 노트북을 열어 정상적인 루트상의 "Log"와 비정상의 루트상의 "Log"를 확인 후 엔지니어에게 다시 묻는다. 전혀일어 나지 않을 꺼라고 생각했던, 특수 경우가 일어난것이다. 항상 대비해야 하는 개발자란 직업이지만, 명백한 실수다. 가야 하나 생각 했지만, 한가지 꼼수가 생각나서 밤늦게 출장을 가는 불쌍사는 없었다. 장비개발에서 뿐만 아니라 Log는 상당한 역할을 한다. 이 Log는 개발자가..
2017.02.03 -
파일관련 유틸 클래스
이유 없는 PC다운으로 하루종일 고민에 빠져있는 장비개발자입니다. PC를 통째로 갈아 봤는데도 PC가 멈추는 현상을 잡을 수가 없네요... 전장 쪽에 문제가 있는 거 같기도 하고, 소프트웨어로 PC를 멈추는 거는 힘들어 보이고, 그렇다고 디버깅을 할 수 있게 프로그램이 죽어버리는 것도 아니가 단순히 PC 다운입니다. 변경된 부분부터 차근차근 잡아야 하는 일인거 같습니다. 장비쪽일을 하면서 PC관련된 문제는 거의 소프트웨어에서 처리를 하게 되는 듯합니다. 개발자라고 컴퓨터를 잘 아는 게 아닌데 말입니다. 저도 네이버에서 검색해서 PC를 고치는 수준입니다. 그런 의미에서 개발자라는 타이틀을 잊지 않으려 오늘 포스팅하려고 합니다. ^^* 편하게 쓰는 파일관련 클래스 포스팅할 내용은 장비제어를 하면서 자주 사용..
2017.02.02 -
장비제어 - 쓰레드의 생성
장비 시퀀스를 제어 할 때, 동시에 작업해야 하는 일이 발생한다. 그럴때 쓰레드로 작업을 분기해서 작업을 하게 됩니다. 오늘은 장비제어에서 쓰레드 생성에 대해서 포스팅 하려합니다. 쓰레드생성 쓰레드 생성 과 동작은 굉장히 심플하게 동작합니다. 장비제어에 필요한 것들은 이 심플한 클래스를 상속받아서 복잡하게 변신됩니다. 일단, 간단한 쓰레드 생성 부터 시작하겠습니다. 윈도우 프로그래밍 답게 AfxBeginThread 로 생성합니다. 아래에 소스를 보시면 이해하기 편할꺼라 생각됩니다. 헤더파일 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #pragma once #include "MFrequencyTimer.h" c..
2017.02.01