<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NTREXGO - 디바이스마트, 엔티렉스 컨텐츠 통합 사이트 &#187; 자동화</title>
	<atom:link href="http://www.ntrexgo.com/archives/tag/%ec%9e%90%eb%8f%99%ed%99%94/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ntrexgo.com</link>
	<description>엔티렉스, 디바이스마트 컨텐츠 통합 사이트</description>
	<lastBuildDate>Thu, 03 Mar 2022 06:47:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>[69호] 자동화 컨베이어 제어용  AC 인덕션 모터 드라이버 보드 ‘XY-CONV-DRIVER&#8217;</title>
		<link>http://www.ntrexgo.com/archives/41294</link>
		<comments>http://www.ntrexgo.com/archives/41294#comments</comments>
		<pubDate>Sat, 25 Dec 2021 05:04:42 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[AC 인덕션]]></category>
		<category><![CDATA[XY-CONV-DRIVER]]></category>
		<category><![CDATA[라온컴퍼니]]></category>
		<category><![CDATA[모터드라이버보드]]></category>
		<category><![CDATA[자동화]]></category>
		<category><![CDATA[컨베이어 제어용]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=41294</guid>
		<description><![CDATA[디바이스마트 매거진 69호 &#124; 자동화 컨베이어 제어용 AC 인덕션 모터 드라이버 보드 ‘XY-CONV-DRIVER']]></description>
				<content:encoded><![CDATA[<p><img alt="디바이스마트,기계/제어/로봇/모터 &gt; 모터드라이버 &gt; AC모터 드라이버 ,라온컴퍼니,XY-CONV-DRIVER(RV1) [스마트 AC모터 드라이버],범용 AC 인덕션 모터 (S7I15GB-V12) / AC220V-60HZ / 다양한 감속기 최대 토크 50kg-cm  / PID제어 / UART통신 / XY-BOARD-IO24 제어보드 완벽 호환 / 유저 소스 코드 제공" src="https://lh6.googleusercontent.com/9GC7ZIFF2uvSlFCqloxCE4cDioL8EFcNsf1xKG4fIBTXlvirXpwAy7RVrFV5x7spaksE7uMeXedQnq4i2wUqeNGoP2CGYkEjfQDHYROXDPFh2U6-wV1M1OLBTaBKEcT87GqoEYvg" width="308" height="308" /></p>
<p><strong><span style="background-color: #000000; color: #ffffff;">라온컴퍼니</span></strong></p>
<p><span style="font-size: x-large;"><strong>자동화 컨베이어 제어용 AC 인덕션 모터 드라이버 보드 ‘XY-CONV-DRIVER&#8217;</strong></span></p>
<p>각종 산업용 제어 보드를 개발하고 생산하 는 ‘라온컴퍼니’에서는 스마트 AC 모터 드라 이버 ‘XY-CONV-DRIVER’를 출시하였다. XY-CONV-DRIVER는 자동화 컨베이어 제 어용 AC 인덕션 모터 드라이버 보드로 AC 모터의 자동 제어에 필요한 여러 단계의 장 치, 부품을 하나의 보드에 구현했다. AC 콘덴서를 내장한 타입으로 모터 연결 시 불필요한 배선 작업을 줄여주며 Serial UART 통신을 사용하여 모든 기능을 사용할 수 있기 때문에 Full Software Control이 가능하고 유저 소스 코드를 제공하여 더욱 쉽게 AC 모터를 구동 할 수 있다. Full Software Control은 높은 자 율성을 제공하여 스마트 팩토리, 공장 자동화 등 고급 물류 시스템의 적용에 큰 도움을 준 다. 그 외에 AC 인덕션 모터가 필요한 곳에도 사용이 가능하다. XY-CONV-DRIVER는 사용 편의성을 높이 기 위해 유저 소스코드를 제공한다. 소스코드 는 Serial UART 통신 포트를 사용하여 Motor Run, Parameter 변경이 가능하다. 또한 기 존 라온컴퍼니에서 판매 중인 ‘XY-BOARDIO24’ 제어 보드와 완벽 호환되는데 XYBOARD-IO24 기준에서 제작된 코드로 수정 없이 Compile &amp; Download를 할 수 있다. 다 른 제어 보드를 사용할 때는 코드를 수정해 서 사용할 수 있다. 보드는 UART 통신, AC 콘덴서, 드라이버 상태 표시 등 10가지 주요 부분으로 구성되 어 있으며 패키지는 보드 단품 및 터미널, 서 포트 등 8가지 구성품으로 이루어져 있다.</p>
<p>&nbsp;</p>
<p><a href="https://www.devicemart.co.kr/goods/view?no=14114163">드라이버 보드 바로 확인하기 &gt;&gt;</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/41294/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[68호] 스마트공장 자동화산업전</title>
		<link>http://www.ntrexgo.com/archives/40846</link>
		<comments>http://www.ntrexgo.com/archives/40846#comments</comments>
		<pubDate>Mon, 25 Oct 2021 00:00:12 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[핫 뉴스]]></category>
		<category><![CDATA[68호]]></category>
		<category><![CDATA[공장]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[산업전]]></category>
		<category><![CDATA[스마트]]></category>
		<category><![CDATA[자동화]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=40846</guid>
		<description><![CDATA[디바이스마트매거진 68호 &#124; 31년 전통을 가진 아시아를 대표하는 산업자동화 전시회로 스마트 공장의 설비나 시스템에 적용되는 기술 및 통합솔루션뿐만 아니라 스마트 센서, 빅데이터 기반 클라우드 서비스, 최신 기술이 융합된 다양한 제품들을 한자리에서 만나볼 수 있다. ]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-1.png" rel="lightbox[40846]"><img class="alignnone size-large wp-image-40885" alt="68hot_스마트공장산업전 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-1-620x143.png" width="620" height="143" /></a></p>
<p>&nbsp;</p>
<p><span style="font-size: medium"><strong>Smart Factory + Automation World 2022</strong></span></p>
<p><span style="font-size: x-large;color: #ff6600"><strong>스마트공장 자동화산업전</strong></span></p>
<p style="text-align: right">글 | 박진아 기자 jin@ntrex.co.kr</p>
<p>아시아 최고의 스마트공장 자동화산업전인 스마트팩토리+오토메이션월드2021가 지난 9월 코엑스에서 개최됐다.<br />
스마트공장 자동화산업전은 31년 전통을 가진 아시아를 대표하는 산업자동화 전시회로 스마트 공장의 설비나 시스템에 적용되는 기술 및 통합솔루션뿐만 아니라 스마트 센서, 빅데이터 기반 클라우드 서비스, 최신 기술이 융합된 다양한 제품들을 한자리에서 만나볼 수 있다. 또한, ‘The Future of Digital Newdeal을 주제로한 이번 전시회는 1,800부스, 500개 업체가 참가 하여 코엑스 전시홀 A,B,C,D홀 전체를 사용한 대규모로 진행되었으며, 200개의 전문 컨퍼런스를 통해 차기년도 트렌드를 확인할 수 있었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-2.png" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40887" alt="68hot_스마트공장산업전 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-2.png" width="453" height="278" /></a></p>
<p>먼저 코엑스 A,B홀에서는 국제공장자동화전으로 자동화시스템, 산업용 로봇, 모션컨트롤러, 제어 기기등을 전시하였는데 그 중 국내 자동화 브랜드로 유명한 오토닉스에서 세이프티 제품을 시연하는 모습을 볼 수 있었다.<br />
시연된 제품은 세이프티 라이트 커튼 시리즈인 SFL / SFLA 시리즈로 세계적으로 강화된 산업현장의 안전 규제와 관심에 따라 산업용 제어기기중에 주요한 제품으로 인식되고 있다. 여기서 라이트 커튼이란 위험원으로부터 작업자의 안전을 확보하기 위한 목적으로 펜스나 장비등에 설치해 검출 영역 내 물체 감지 시 기계 작동을 즉각 정지시키는 산업용 안전 제품을 말한다.<br />
SFL/SFLA 시리즈는 손가락, 손, 인체를 검출할 수 있는 라인업으로 구성돼 있으며 144mm에서 1,868mm까지 다양한 높이를 제공해 자비 개구부에 맞는 최적의 길이를 제공한다.<br />
또한, 국제 규격 및 규제에 적합한 오토닉스 세이프티 라이트 커튼은 15m 장거리 검출, 최대 400광축 확장, 리듀스드 제롤루션, 뮤팅, 블랭킹 등 안전과 관련된 다양한 기능을 제공한다.<br />
해외 의존도가 높은 세이프티 제품이 국내 브랜드 오토닉스에서 출시됨에 따라 전시회장에서 많은 관람객들이 해당 부스를 방문하여 다양한 오토닉스의 세이프티 제품들을 살펴보았다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-3.png" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40889" alt="68hot_스마트공장산업전 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-3.png" width="453" height="269" /></a></p>
<p>계측장비 전문 유통사인 네모테크에서는 글로벌 계측장비 플루크(Fluke)의 배터리 분석기 BT500시리즈, 교정기, 전력분석기, 산업용음향카메라, 열화상 카메라등을 선보였다.<br />
플루크 브랜드는 1984년 설립된 세계 1위의 산업계측기 브랜드로 견고함, 안전성, 편의성 부분에서 높은 명성을 지니고 있다.<br />
이 날 선보인 729 자동 압력 교정기는 이런 명성에 맞게 휴대가 가능하며, 목표 압력을 입력하기만 하면 교정기가 자동으로 원하는 설정 지점으로 조정할 수 있고, 내부 미세 조정 컨트롤이 요청된 값에서 압력을 자동으로 안정화 시키는 기능이 있다.<br />
이외 주요제품인 ii910 정밀 음향카메라는 모든 누출 및 PD 문제를 사전에 감지하여 대응할 수 있는 도구이다. 절연체, 변압기, 스위치 기어 또는 고전압 전력선 등 어떤것을 스캔하더라도 부분방전, 가스, 진공 누출의 위치를 찾을 수 있도록 설계되었다.<br />
산업 현장에서 이상징후를 사전에 감지할 수 있는 도구로는 음향카메라외에 열화상 카메라도 볼 수 있는데 플루크에서는 휴대용, 접이식, 설치형 등 현장 상황에 맞는 열화상 카메라를 선택할 수 있게 지원하며 광범위한 응용분야에서 사용될 수 있다고 한다.<br />
세계 최대 반도체 정밀 제어시스템 제조 공급사 하이원코퍼레이션에서는 리니어 스테이지, 서보모터, 액츄에이터, 단축로봇, 리니어 가이드 웨이, 볼스크류, 다축 로봇을 전시하였다.<br />
하이원 볼스크류는 나사회전축과 순환시스템이 통합되어 있는 너트로 구성되어 있다. 볼의 회전운동을 직선운동으로 변환시키며 공작기계, IT, 광전, 반도체 의료 등 정밀 설비에 사용하여 높은 위치결정 정도와 고효율 및 작은 회전력으로 커다란 추진력을 얻을 수 있다. 또한 과학기술, 제조 기술, 공정 전문 기술의 조합체이다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-4.png" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40891" alt="68hot_스마트공장산업전 (4)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-4.png" width="452" height="297" /></a></p>
<p>현장에서는 다축 로봇의 시연도 볼 수 있었는데 하이원 다축로봇은 제어, 소프트웨어, 핸드헬드 장치를 포함하고 있다. 6축 조인트 암 로봇은 높은 유연성과 높은 반복 정밀도로 특징지어지며 소형 제어 및 드라이브 시스템을 갖추고 있다. 또한, 조작기 사용자 마스크를 사용하면 필요한 제어 요소를 쉽고 빠르게 배치할 수 있으며 유연한 조작이 가능하다고 한다.<br />
많은 관람객으로 인산인해를 이뤘던 또 다른 부스로는 협동로봇용 그리퍼 제품을 제공하는 온로봇 코리아를 볼 수 있었다.<br />
온로봇의 그리퍼 제품들은 다양한 협동 로봇과 호환되어 작업자와 함께 복잡한 프로세스를 처리할 수 있다고 한다. 15종의 그리퍼, 힘/토크 센서 및 툴체인저는 조립, 자재물류, 자재절삭, 머신탠딩, 품질 시험등 모든 애플리케이션을 단시간내에 완성할 수 있게 도와준다.<br />
그리퍼 별로 다양한 자재 및 크기의 제품과 사용이 가능하기에 광범위한 분야에서 사용자에게 선택의 다양성을 제공해주며, Doosan, TM Robot, Yaskawa, Universal Robots, KUKA, Fanuc, Kawasaki Robotics, Hanwha 및 Nachi 등 브랜드와 호환된다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-1.jpg" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40884" alt="68hot_스마트공장산업전 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-1.jpg" width="449" height="294" /></a></p>
<p>이미지와 같이 현장에서 박스를 옮기는 시연을 하고있던 그리퍼 제품은 VGP20그리퍼로 판지 상자 등의 물체를 적재하는데 이상적인 전기 진공이다. 이 제품은 업계에서 가장 강력한 전기 진공 그리퍼로 최대 20Kg의 유효 하중을 취급할 수 있으며 공압식 그리퍼의 비용, 복잡성 및 유지 보수가 전혀 필요하지 않다고 한다. 이밖에도 협소한 공간 및 고하중의 물체에 적합한 병렬 그리퍼, 와이드 스트로크가 있는 핑거 로봇 그리퍼 제품등 을 실제로 확인할 수 있었다.<br />
B홀에서는 국제공장자동화전 외에도 한국머신비전 산업전이 마련되어 다양한 산업용 카메라, 렌즈 및 조명, 영상처리 소프트웨어 등의 머신비전 제품및 솔루션을 집중적으로 확인할 수 있었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-2.jpg" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40886" alt="68hot_스마트공장산업전 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-2.jpg" width="451" height="268" /></a></p>
<p>먼저 의료 영상 처리, 광학 신호 처리, 이미지 센서 등 다양한 분야의 영상 기술을 연구, 개발해온 뷰웍스에서는 다양한 산업용 카메라를 전시했다.<br />
산업용 카메라는 산업 자동화의 핵심 분야인 머신비전에서 눈을 담당하는 부품으로, 검사 대상의 품질 관리와 안정화를 위해 사용된다.<br />
뷰웍스는 사용자가 작은 픽셀 하나의 오차도 찾아 낼 수 있는 고해상도 픽셀 시프트 기술을 적용한 초고해상도 카메라를 제공하고 있으며, 열정 냉각 기술을 적용하여 카메라 센서 온도를 주변 온도보다 최대 20도까지 낮춰 균일한 화질을 유지한다.<br />
또한, 뷰웍스 산업용 카메라는 열전 냉각 기술이 적용된 고성능 카메라 VP 시리즈, 고속 CMOS 카메라인 VC시리즈, 고성능 및 비용 효율적인 라인 스캔 카메라 VL시리즈 등 다양한 시리즈를 제공하여 사용자의 필요에 맞는 카메라를 선택할 수 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-3.jpg" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40888" alt="68hot_스마트공장산업전 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-3.jpg" width="453" height="268" /></a></p>
<p>조명 및 조명 컨트톨러 제작기업인 엘브이에스에서는 일반 조명에서부터 파워서플라이, LED 광소스 관련 제품을 전시했다.<br />
사진속 HPLS-S/FS50 제품은 광섬유 LED 광원인 LVS-HPLS 시리즈중 하나로 조명부와 컨트롤러부가 분리되어 있어 쉽고 편리하게 설치가 가능하다. 빛의 종류는 가시광선이며 광원은 광섬유로 발광색은 녹색, 적색, 파란색, 흰색을 지원한다.<br />
S50의 경우 외경 사이즈가 32m, F50은 54m로 설치장소가 협소하거나 접근이 어려운곳에서도 장착이 용이하고, RS-485사용 시 64대까지 연동이 가능한 특징이 있다.<br />
또한, 광화이버는 물론 전면부 렌즈 교체만으로 스폿용 조명으로도 사용이 가능하며 전면 판넬에서 시스템의 모든 내부환경을 확인할 수 있는 장치가 장착되어 있다.<br />
공장자동화에서부터 물류 자동화, 공정 자동화에 이르기까지 다양한 자동화 솔루션을 이끄는 글로벌 브랜드 SICK에서는 보유하고 있는 다양한 자동화 센서, 스위치, 각종 기기들을 전시하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-5.png" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40892" alt="68hot_스마트공장산업전 (5)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-5.png" width="452" height="267" /></a></p>
<p>워낙 다양한 제품군을 보유한 브랜드로 비전 솔루션, 광범위한 광전 센서 , 라이다 등 살펴볼 제품이 많았지만 주요제품으로 콘트라스트 센서 선두주자로 해당 센서를 빼놓을 수 없었다. 콘트라스트 센서는 주로 포장 기계와 인쇄기에서 마크 감지에 사용되는데 SICK의 콘트라스트 센서인 KT-시리즈는 고속에서 미세한 필름 또는 포장의 인쇄 마크를 감지한다.<br />
무광택 표면, 광택 표면 또는 투명 표면에서 마크와 배경 사이 무채색 스케일의 미세한 차이를 인식한다. KT 시리즈중 KTX와 KTS는 Twin-Eye-Technology를 적용하여 피사계 심도 및 감지 범위 허용오차가 커졌으며 동작 범위가 넓어 반짝이는 재료에서 콘트라스트를 확실하게 인식하는 특징을 갖는다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-6.png" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40893" alt="68hot_스마트공장산업전 (6)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-6.png" width="453" height="268" /></a></p>
<p>국내에서 처음으로 녹색 4각형 로봇을 선보인 민트로봇에서는 Pal A 원통형 스카라 로봇을 처음으로 공개하였다. 세련된 Pal A 원통형 스카라는 기존 스카라 로봇들과 달리 형태의 차별화가 가장 눈에 띄었다. 해당 모델은 평균적인 스카라 로봇의 수직 운동범위보다 2배 이상 긴 작업 범위를 갖고 있어 기존 스카라 로봇이 할 수 없던 업무를 대체 할 수 있다. 또한, 베이스와 몸통 링크를 이어주는 첫 번째 관절이 360도 회전을 하며 수직축은 긴 거리의 운동을 위하여 특수 제작된 볼스크류 기반의 병진 관절이 장착되었다. 엔드이펙터가 부착되는 암 관절의 크기가 스카라에 비해 확연히 작다는 장점을 갖고 있다.<br />
스카라 계열 로봇은 좁은 공간 내에서 반복적인 업무에 최적화되어 있어 전자제품 및 반도체 조립, 식품, 농산물, 음료 산업 분야에서도 폭넓게 적용이 가능하다고 한다.<br />
유진로봇은 Industry 4.0 및 Logistics 4.0에 맞춰 공장 자동화, 자율 모바일 로봇, 연구 목적을 위한 모바일 플랫폼 데모 키트, LiDAR 센서, SLAM 기술 및 탐색 소프트웨어와 같은 제품과 서비스를 제공한다. 유진로봇 부스의 한쪽면에는 유진라이다가 전시되어 있었는데, 2D, 3D 제품으로 총 3가지의 시리즈로 구분되었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-4.jpg" rel="lightbox[40846]"><img class="alignnone size-full wp-image-40890" alt="68hot_스마트공장산업전 (4)" src="http://www.ntrexgo.com/wp-content/uploads/2021/10/68hot_스마트공장산업전-4.jpg" width="452" height="614" /></a></p>
<p>먼저, YRL2 시리즈는 실내 2D 스캐닝 라이다로 270도 수평의 정보를 스캔할 수 있으며 측정범위는 5m, 10m, 20m로 구분된다. YRL3 시리즈는 3D 실내 스캐닝 라이다로 기존 2D의 270도 수평 외에도 수직 90°(-45° ~ +45°)의 정보를 스캔할 수 있다. 마지막으로 YRL3-V2제품은 측정 범위 25m에 수평 360도, 수직 55도의 시야각을 가진 라이다로 출시 예정이다. 전시된 라이다 외에도 부스 한편에서는 유진 로봇의 자율 이동로봇이 부스 이곳저곳을 돌아다니며 시연하는 모습을 볼 수 있었는데 물류 및 자재 운송과 같은 다목적 개방형 애플리케이션을 위해 설계된 고카트 제품이라고 한다.<br />
해당 제품은 유진 라이다 기반 3D SLAM &amp; Navigation을 특징으로 매핑 및 위치 파악, 민첩한 경로 계획, 인공 마커를 사용하지 않고 빠른 물체 인식 및 회피가 가능하다. 또한, 컴팩트한 크기로 병원, 공장, 창고와 같은 넓은 상업 및 산업 시설은 물론이고 역동적이고 좁은 환경에서도 매우 효율적이라 한다.<br />
이번 스마트공장 자동화 산업전은 국제공장자동화전, 스마트공장엑스포, 한국머신비전산업전의 내용 집약된 대규모의 전시로 산업자동화 업계 현황뿐만 아니라 앞으로의 트렌드도 예측할 수 있는 뜻깊은 자리로 막을 내렸다.<br />
코로나 등으로 인해 개최가 지연된 전시였던 만큼 참가기업들이 기대와 철저한 준비를 하고 나온것 같아 보였다. 또한, 대규모 전시로 많은 기업과 바이어들도 방문하여 전시회장 곳곳의 활력이 넘치기도 하였다. 이제 선택이 아닌 필수의 단계로 나아가는 산업 자동화와 관련된 기술, 솔루션들이 지속적으로 성장하기 바라며 이번 관람기를 마친다. DM</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/40846/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[39호]2016 국제자동화정밀기기전</title>
		<link>http://www.ntrexgo.com/archives/32292</link>
		<comments>http://www.ntrexgo.com/archives/32292#comments</comments>
		<pubDate>Fri, 25 Nov 2016 00:34:57 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[핫 뉴스]]></category>
		<category><![CDATA[39호]]></category>
		<category><![CDATA[hot]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[자동화]]></category>
		<category><![CDATA[정밀기기전]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=32292</guid>
		<description><![CDATA[디바이스마트 매거진 39호 &#124; 한국기계산업진흥회가 주최하는 2016 국제자동화정밀기기전이 2016년 9월 6일(화)부터 9월 9일(금)까지 나흘간 일산 킨텍스 4홀, 5홀에서 개최됐다. ]]></description>
				<content:encoded><![CDATA[<p><strong><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-02.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32355" alt="39 hotnews 02" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-02.jpg" width="620" height="143" /></a></strong></p>
<p><span style="background-color: #800080;color: #ffffff;font-size: medium"><strong>자동화, 스마트를 입다!</strong></span></p>
<p><span style="font-size: xx-large"><strong>2016 국제자동화정밀기기전</strong></span></p>
<p>&nbsp;</p>
<p style="text-align: right">글 | 이용동 책임기자 bluelyd@ntrex.co.kr</p>
<p>&nbsp;</p>
<p>한국기계산업진흥회가 주최하는 2016 국제자동화정밀기기전이 2016년 9월 6일(화)부터 9월 9일(금)까지 나흘간 일산 킨텍스 4홀, 5홀에서 개최됐다. 이번 전시회는 ‘자동화, 스마트를 입다!’라는 주제로 자동화 기계류 수요 창출 및 수출 증대, 거래선 발굴 및 시장정보 교류, 첨단기술 소개/보급 등을 목적으로 SFA 및 모션컨트롤전, 금속가공기기 및 금형전, 포장 및 물류기기전, 부품 및 소재전, IT융합 및 3D프린팅전 등 다양한 분야와 참가대상으로 나뉘어 산업 전반에 걸친 최첨단 기술 및 제품을 선보였다. 국내 업체를 비롯해 미국, 중국, 독일 등 18개국의 297개사가 총 2139개 제품을 선보여 상당한 규모로 많은 관람객을 맞이했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-2.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32299" alt="39 hotnews  (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-2.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-1.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32298" alt="39 hotnews  (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-1.jpg" width="620" height="465" /></a></p>
<p>위드로봇 주식회사는 이번 전시회에서 Handheld 3D 스캐너(ZingScan)와 보드형 USB 카메라(oCam-5CRO-U, oCam-1MGN-U)를 선보였다. 핸드헬드 3D 스캐너는 스테레오 비주얼 슬램이라 불리는 기술을 적용해 자신의 위치를 연속적으로 추적하는 동시에, 스캔 대상 물체의 3D 형상을 라인 레이저를 이용해 정밀하게 스캔 할 수 있으며, 사용하기 편한 핸드헬드 형태로 제작돼 대상 물체의 크기에 제약을 두지 않고 스캔할 수 있다고 위드로봇 관계자는 설명했다. 이 제품은 전시회 현장에서 270만원(VAT 별도)에 판매되고 있었다. 또한 보드형 카메라는 USB 3.0 인터페이스 기술을 바탕으로 가지고 있어 실시간 전송 속도를 확보할 뿐만 아니라 데이터 전송 효율도 좋아져 CPU에 주는 부담이 경감되는 장점이 있어, CPU 자원을 영상의 전송 자체보다는 보다 고도화된 영상 처리에 많이 사용할 수 있어 효율 높은 시스템을 구성할 수 있는 제품이다. 특히 5 MegaPixel 칼라 보드 카메라 제품(<a href="http://www.devicemart.co.kr/1312029" target="_blank">oCam-5CRO-U</a>)은 현재 디바이스마트(상품코드 : 1312029)에서 인기리에 판매중(118,800원, VAT 별도)이다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-3.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32300" alt="39 hotnews  (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-3.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-4.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32301" alt="39 hotnews  (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-4.jpg" width="620" height="465" /></a></p>
<p>‘스마트 팩토리’ 시스템 구현을 위한 전체적인 솔루션을 제공하는 키엔스코리아는 이번 전시회에서 이미지 측정시스템과 원 샷 3D 형상 측정기를 선보였다. 관계자는 “이미지 치수 측정 시스템(IM 시리즈)은 복수 측정이 가능해 최대 100개까지 한 번에 측정할 수 있고, 버튼만 누르면 단 몇 초 만에 물체의 다양한 치수에 대한 모든 측정이 완료된다”고 설명했다. 또한 “원 샷 3D 형상 측정기(VR 시리즈)는 면을 사용해 형상을 측정하기 때문에 원하는 부위가 정확하게 측정 가능하고 대상 물체를 놓고 원 클릭으로 측정을 완료한다. 또한 반복 측정과 비교 계측에도 오차 발생이 없다”고 덧붙였다.<br />
키엔스코리아의 원터치 자동 측정 시스템이 작동되는 영상은 아래에서 확인할 수 있다.</p>
(Video: Watch this video on the post page)
<p>&nbsp;</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-5.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32302" alt="39 hotnews  (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-5.jpg" width="620" height="465" /></a></p>
<p>한신체인은 소음과 분진, 진동을 최소화할 수 있도록 개발되어 독일 크린룸 인증기관 IPA사로부터 최고 등급인 Class 1인증을 획득한 ‘로보체인’을 메인 제품으로 선보였다. 이번 전시회에서 다양한 크기와 색상, 구조를 가진 수많은 체인 제품들을 선보인 한신체인은 최근 발명특허, 실용신안 등 40여 건의 독창적인 디자인, 상표, 서비스를 등록했으며 전체 생산 제품의 약 70~80% 이상이 특허된 디자인으로 구성돼 신기술 개발 특허 벤처기업인증과 기술혁신형 중소기업인 INO-BIZ에도 선정된 업체로, 각각 고유의 특성에 맞게 개발된 소재를 사용함으로써 제품별로 차별화된 특성을 가지고 있다고 업체 관계자는 설명했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-6.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32303" alt="39 hotnews  (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-6.jpg" width="620" height="465" /></a></p>
<p>태하는 이번 전시회에서 동일 피치 가변형 디스펜싱 시스템으로 15mm 부터 33mm까지 자동 피치 조절이 가능한 Auto Align System ‘DV-20F 8연식’ 제품을 선보였다. 이 제품은 경량, 소형(폭 12mm)이기 때문에 멀티형 구조 설계가 가능하고, 복동식 구동 방식으로 재현성이 좋고 고속제어가 가능한 제품이다. 특히 접액부 내부 용적의 최소화에 성공해 정밀한 소량 토출을 실현해냈다는 것이 가장 큰 장점으로 꼽힌다.<br />
제품의 작동 영상은 아래에서 확인할 수 있다.</p>
(Video: Watch this video on the post page)
<p>&nbsp;</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-7.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32304" alt="39 hotnews  (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-7.jpg" width="620" height="465" /></a></p>
<p>한스레이저코리아는 레이저 마킹기를 선보였다. 한스레이저코리아 관계자는 “레이저 마킹기 YLP-H20은 안정성이 매우 뛰어난 독일 IPG 레이저 소스를 적용했다. 또한 금속 자재 마킹에 가장 적합한 화이버 레이저는 기존 방식의 레이저 대비 3배 이상의 수명을 갖고 있다.”며 “자체 제작한 마킹 전용 소프트웨어를 채용해 요구 사항에 따른 소프트웨어 개발이 가능하다”고 덧붙였다. 이번 전시회에서는 레이저 마킹기로 즉석에서 만든 플라스틱 버니어 캘리퍼스를 전시회 특가로 1,000원에 판매했다. 한편 한스레이저코리아 관계자는 2천W급 이상의 고출력 시장의 진입을 위해 중국 내 쌓아온 노하우를 바탕으로 한국 시장을 적극 개척해 나갈 계획이라고 밝혔다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-8.jpg" rel="lightbox[32292]"><img class="alignnone size-full wp-image-32305" alt="39 hotnews  (8)" src="http://www.ntrexgo.com/wp-content/uploads/2016/11/39-hotnews-8.jpg" width="620" height="465" /></a></p>
<p>(주)엔티렉스는 공격적인 R&amp;D 투자를 통해 다양한 제품을 생산해내며 산업자동화계에서 다크호스로 꼽히고 있다. 특히 창사 이래 지속적으로 R&amp;D투자에 앞장서 벨트형 액추에이터, PMSM 서보 드라이버, DC라인업 등 자동화에 필수적인 기기를 개발해내면서, 기업들의 생산원가절감에 이바지하고 있다. 엔티렉스 관계자는 “세계무대에 인정을 받기 위해서는 앞서가는 기술력이 필요하다고 생각해 창립 때부터 R&amp;D에 집중투자했다”며 “지금보다 성능이 좋은 제품들을 더 많이 생산해 고객들의 선택의 폭을 넓히겠다”고 말했다. 엔티렉스의 다양한 서보 드라이버 등의 제품들은 디바이스마트 홈페이지에서 확인할 수 있다.</p>
<p><a href="http://www.devicemart.co.kr/goods/brand.php?seq=1347" target="_blank">엔티렉스 제품들 보러가기</a></p>
<p>이번 2016 국제자동화정밀기기전이 열린 나흘간 27,357명이 방문했고, 구매 상담은 5억 9300만 달러(약 6573억 원)에 이른다고 한다. 또한 전시회 종료 후에도 ‘온라인 전시회’를 운영해 바이어가 참가업체 정보를 온라인상으로 확인할 수 있도록 하는 등 다양한 방면으로 참가업체 및 바이어들의 니즈를 충족할 수 있도록 준비했다는 점이 높이 평가되었다. 이번 전시회는 자동화기기와 ICT 융합제품의 시장 진입 교두보를 마련하고 자동화산업의 최신 기술을 소개하기에 좋은 기회가 되었으며, 내년에도 더 많은 신기술과 다양한 기기들을 만나볼 수 있는 자리가 되기를 희망하며 관람기를 마친다.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/32292/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[11호]이벤트방식으로 구현하는 시퀀스 자동화 제어시스템</title>
		<link>http://www.ntrexgo.com/archives/5349</link>
		<comments>http://www.ntrexgo.com/archives/5349#comments</comments>
		<pubDate>Tue, 28 Feb 2012 06:56:59 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[스페셜 컬럼]]></category>
		<category><![CDATA[11호]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[쇼케이스]]></category>
		<category><![CDATA[시퀀스]]></category>
		<category><![CDATA[자동화]]></category>
		<category><![CDATA[제어시스템]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=5349</guid>
		<description><![CDATA[디바이스마트 매거진 11호 &#124; 본고에서는 제어시스템의 프로그래밍에 대한 여러가지 방식을 비교하고, 실제 생산라인에서 사용될 수 있는 자동 부품분류용 시퀀스 제어시스템을 구성하는 예제를 통하여 이벤트방식으로 제어프로그램을 작성하는 편리함을 살펴보겠습니다.]]></description>
				<content:encoded><![CDATA[<h2><a style="font-size: 1.5em;" href="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy22.jpg" rel="lightbox[5349]"><img class="alignleft" alt="" src="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy22.jpg" width="163" height="137" /></a></h2>
<h2><strong><span style="color: #666699;">이벤트방식으로 구현하는 </span></strong></h2>
<h2><span style="color: #666699;"><strong>시퀀스 자동화 제어시스템</strong><a href="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy22.jpg" rel="lightbox[5349]"><br />
</a></span></h2>
<p style="padding-left: 390px;">글 : 이지컨트롤 이중우 대표</p>
<p>&nbsp;</p>
<p><strong><span style="color: #800080;">■ 시작하면서&#8230;</span></strong></p>
<p>하나의 자동화 시스템을 구현하는 것은 생각보다 쉽지 않습니다. 일단 자동화 시스템을 구성하는 기계시스템에 대한 이해가 필요하고 기계시스템을 지능적으로 구동하기 위하여 전자적 제어시스템을 구성하여야 합니다. 그러나, 현대의 제어시스템은 기능적 가격적 장점으로 인하여 마이컴이 내장된 프로그램 가능한 제어시스템을 사용하는 경우가 대부분입니다. 현장 엔지니어들이 매우 어려워 하는 부분중 하나는 제어시스템을 동작하기 위한 제어용 프로그램을 작성하는 부분일 것입니다. 본고에서는 제어시스템의 프로그래밍에 대한 여러가지 방식을 비교하고, 실제 생산라인에서 사용될 수 있는 자동 부품분류용 시퀀스 제어시스템을 구성하는 예제를 통하여 이벤트방식으로 제어프로그램을 작성하는 편리함을 살펴보겠습니다.</p>
<p><strong style="font-size: 13px; line-height: 19px;"><span style="color: #800080;">■ 시퀀스 제어시스템</span></strong></p>
<p>아마도 현장에서 가장 많이 사용되고 있는 시퀀스 제어용 컨트롤러는 PLC일 것입니다. 그래서 자동화에 관련된 실무위주 교육을 하고 있는 이공계학과 중 상당수가 PLC를 사용하여 학생들에게 시퀀스제어를 실습하고 있습니다. 릴레이를 사용한 시퀀스 제어반을 대체하기 위하여 GM사에서 시작된 PLC는 단위기능을 가진 모듈들을 연결하여 큰 시스템을 구성할 수 있는 시스템 빌드업이 가능하고, 그래픽 심볼을 사용한 프로그래밍 방식인 래더다이어그램도 많은 단점에도 불구하고 간편한 사용법으로 인하여 널리 사용되고 있습니다.</p>
<table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy004.png" rel="lightbox[5349]"><img class="alignnone size-full wp-image-5360" alt="11Showeasy004" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy004.png" width="156" height="140" /></a></td>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy005.png" rel="lightbox[5349]"><img class="alignnone size-medium wp-image-5361" alt="11Showeasy005" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy005-300x189.png" width="300" height="189" /></a></td>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy006.png" rel="lightbox[5349]"><img class="alignnone size-thumbnail wp-image-5362" alt="11Showeasy006" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy006-150x150.png" width="150" height="150" /></a></td>
</tr>
<tr>
<td style="text-align: center;">릴레이 제어반</td>
<td style="text-align: center;">PLC</td>
<td style="text-align: center;">래더다이어그램</td>
</tr>
</tbody>
</table>
<p>또한 우리나라에서는 보급이 느리지만 필드버스도 세계적으로는 많이 사용되고 있습니다. 대표적인 제품으로는 Profibus, ControlNet, WorldFip, P-Net, InterBus, Ethernet-IP, DeviceNet, CAN Open, CAN Kingdom, ADS-Net, FL-Net 등이 있습니다. 필드버스는 특히 CAN, RS-485, Ethernet 과 같은 통신을 이용하여 수Km의 장거리까지 모듈을 연결할 수 있어 생산현장 전체를 묶을 수 있는 장점이 있습니다.</p>
<p><strong><span style="color: #800080;">■ 실시간 OS, RTOS</span></strong></p>
<p>이러한 우수한 제어시스템들이 있음에도 불구하고 많은 엔지니어들은 마이컴이 장착된 보드에 커넥터를 연결하고 C언어로 프로그램을 작성하는 어려움(?)을 마다하지 않습니다. 그 이유는 아마도 PLC나 필드버스와 같은 제어시스템이 만족시킬 수 없는 가격과 성능 및 확장의 문제 등에서 찾아볼 수 있을 것입니다. 스위치 3개와 릴레이 2개를 동작시키기 위하여 PLC의 전원모듈, CPU모듈, 입력모듈, 릴레이모듈, 베이스모듈을 구입하는 것은 현실적이지 않기 때문입니다. 실제 PLC 응용의 80%는 이런 단순한 시퀀스제어를 위하여 사용된다고 하니 엄청난 손실이 아닐 수 없습니다. 그렇다고 기성품을 사용하는 대신 직접 실제로 마이컴에 프로그램을 작성하기 위하여는 여러가지 어려움을 감수해야만 합니다. 단순히 스위치와 릴레이의 온오프라면 그리 어렵지 않겠지만, 스위치가 온이 된 시간을 측정하기 위하여 타이머를 사용하고, 전압을 측정하기 위하여 A/D 변환을 하는 등의 문제는 개발자에게는 문제되지 않겠지만, 현장에서 즉시 적용해야하는 어플리케이션 엔지니어의 입장에서는 결코 간단한 문제가 아닙니다. 더욱이, 여러개의 작업을 동시에 구동해야 한다든가, 유지보수의 편의성도 갖추어야 한다면 단순히 C언어로 프로그램을 작성하는 수준을 벗어난 복잡한 작업이 될 수 있습니다. 그래서 엔지니어는 구현하고자 하는 문제를 단순화 시켜주고 유지보수도 간편하게 할 수 있을 것으로 기대하면서 RTOS(Real Time OS, 실시간OS)를 적용하는 것을 검토하기 시작합니다. 여기서는 필자가 경험한 내용을 위주로 기술하겠습니다. 매우 주관적인 판단일 수 있습니다. 누구나 그러하듯이 필자도 처음에는 C언어 만을 사용하여 프로그램을 작성하였습니다. 처음에는 그리 어려움이 없었습니다만, 프로그램이 복잡해 지면서 각 기능들 사이에 상호간섭이 발생하기 시작하면서 복잡도가 기하급수적으로 증가하여 한계에 달하였습니다. 그래서 RTOS의 적용을 검토하기 시작하였습니다. 실제 RTOS를 사용하면서 느낀점을 솔직하게 기술하면 다음과 같습니다.</p>
<p style="padding-left: 90px;">● 복잡한 작업을 여러 개의 단순한 태스크(Task, 실행단위)로 나누어 작성할 수 있어 구현의 복잡도가 줄어들어 편리했다. 태스크간의 전환속도가 빨라서 추가적 지연시간에 신경쓰지 않아도 된다.</p>
<p style="padding-left: 90px;">● 실시간OS란 하나의 태스크가 실행중에도 우선순위가 더 높은 태스크가 가로채어 실행할 수 있는 것이 가장 큰 특징이다. 그런데, 실제 응용에서 이런 실시간이 매우 중요한 경우는 그리 많지 않았다.</p>
<p style="padding-left: 90px;">● 세마포어, 동기화, 파이프, 이벤트, 시그널, 조건변수, 메시지큐, 뮤텍스 등등. 공부할 게 너무 많았다.</p>
<p style="padding-left: 90px;">● 우선순위 역전, 데드락 문제등은 언제 발생할지 예측하기도 어려웠다.</p>
<p style="padding-left: 90px;">● 사용하는 마이컴에 포팅해야 한다. 처음에는 애를 많이 먹는다.</p>
<p style="padding-left: 90px;">● 무엇보다도 PC에서 프로그래밍하는 이벤트방식과 달라서 새로 공부해야 한다.</p>
<p>물론 위와 같은 어려움에도 불구하고 핸드폰과 같은 복잡한 응용에서는 RTOS를 사용해야 하겠지만, 시퀀스제어를 하는 엔지니어에게 RTOS보다 간편한 방법은 없을까 고민을 하게 되었습니다.</p>
<p>&nbsp;</p>
<p><strong><span style="color: #800080;">■ 유한상태기계, FSM</span></strong></p>
<p>이후 필자는 UML 방법론에도 포함되어 있는 유한상태도(FSM, Finite State Machine)를 사용하여 임베디드 프로그램을 작성하는 방법론에 푹 빠져 몇년을 보냈습니다. (<a href="http://www.state-machine.com" target="_blank">http://www.state-machine.com</a> 참고)</p>
<table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy007.png" rel="lightbox[5349]"><img class="alignnone size-large wp-image-5363" alt="11Showeasy007" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy007-620x242.png" width="620" height="242" /></a></td>
</tr>
<tr>
<td style="text-align: center;">시한폭탄의 상태도</td>
</tr>
</tbody>
</table>
<p>프로그램의 구조를 사각형으로 표현되는 상태(State)와 화살표로 표현되는 천이(Transition)라는 그림으로 나타낼 수 있다는 점이 너무나 매혹적이었습니다. 이것은 프로그램의 동작에 오류가 있는지를 검증하는 좋은 수단이 될 뿐만아니라 가장 좋은 문서화 수단이기도 하기 때문에 임베디드 프로그램을 작성하기에 매우 좋은 수단으로 생각되었습니다. 그래서 실제로 유한상태도를 동작시키는 OS를 직접 설계하고 구현하기도 하였습니다만 지금은 사용하지 않고 영구보관(?)중에 있습니다.</p>
<p style="padding-left: 90px;">● 프로그램을 상태로 나누므로 단순화 되고, 읽기 좋은 문서화 수단이 되었다.</p>
<p style="padding-left: 90px;">● 상태는 RTOS의 태스크와 비슷(?)한데, RTOS에서 태스크 간의 전환은 빠르게 이루어 지지만, FSM에서 상태간의 천이는 트리탐색의 문제가 되어 시간이 꽤 소요되었다.</p>
<p style="padding-left: 90px;">● 무엇보다 어려운 점은 구현하고자 하는 알고리즘을 상태도로 표현해야 하는데, 상태도를 해석하기는 매우 쉽지만, 작성하기는 결코 쉽지 않았다.</p>
<p><strong><span style="color: #800080;">■ 이벤트방식, Event Driven Programming</span></strong></p>
<p>위에서 언급한 바와 같은 여러 과정을 거쳐 현재 필자가 사용하는 방식은 이벤트 기반(Event Driven) 프로그래밍 방식을 사용하고 있습니다. PC에서 프로그램을 작성해 보신 분들은 누구나 이방식을 사용하여 아래와 같은 이벤트핸들러(이벤트 발생시 실행할 내용을 기술한 함수)를 작성한 경험이 있으리라 생각됩니다. void button_Click( object sender, EventArgs e ) { // 실행할 내용을 프로그램으로 작성한다. } 즉, button이 마우스에 의해 Click될 때 실행하고자 하는 내용을 여기에 작성하면 됩니다. 이때 마우스로 버튼을 클릭한 사건을 이벤트(Event)라 하고, 이벤트를 중심으로 프로그램을 작성하는 방식을 이벤트기반 프로그래밍이라 합니다. 이는 매우 직관적이고 이해하기 쉬워서 그래픽 기반(GUI)으로 동작하는 컴퓨터에서 사용하기에 매우 적합한 방식입니다.</p>
<p style="padding-left: 90px;">● 인간의 사고와 동일한 직관적 구조이므로 동작의 구현 및 이해가 매우 쉽다.예를 들면, SW1=ON 이벤트 발생시 RELAY1=ON으로 하라.</p>
<p style="padding-left: 90px;">● 복잡한 프로그램이 이벤트단위로 분해되어 구현하려는 문제가 단순화 된다.</p>
<p style="padding-left: 90px;">● PC에서와 동일한 방법을 사용하므로 일관성 있는 개발이 가능하고, 별도의 학습이 필요없이 즉시 적용할 수 있다.</p>
<p style="padding-left: 90px;">● 이벤트핸들러는 일종의 함수포인터이고 별도의 호출과정 없이 즉시 실행되므로, RTOS의 태스크전환이나 상태도의 천이속도에 비하여 빠른 실행이 가능하다.</p>
<p>이와 같은 매우 큰 장점이 있지만, 반면 단점도 있습니다.</p>
<p style="padding-left: 90px;">● 우선순위의 개념이 없으므로 이벤트핸들러에서 오랜동안 CPU를 점유하면, 긴급한 이벤트를 제때 처리하지 못하므로, 완전한 실시간성을 구현할 수는 없다.</p>
<p style="padding-left: 90px;">● 이벤트가 너무 자주 발생하면 성능이 저하될 수 있다.</p>
<p>즉, 이벤트핸들러에서 매우 복잡한 이미지 처리를 한다면, 긴급한 이벤트가 실행되지 못하고 대기하게 될 것이다. 대부분의 경우 시퀀스 제어시스템에서 그런 복잡한 처리를 할 일은 거의 없지만, 만일 그런 경우라면 이벤트 핸들러를 단순하게 작성하는 방법을 강구하는 것이 좋습니다. 그리고, 이벤트 발생횟수는 구현하고자 하는 내용에 따라서 매우 빈번할 수도 있습니다. 마우스 하나만 예로 들어도 마우스의 클릭, 더블클릭, 이동, 드래그 등등 매우 많은 이벤트가 있습니다. 고속 CPU를 사용하는 컴퓨터에서는 문제가 없지만, 대부분의 경우 저속 CPU를 사용하는 임베디드 시스템의 경우 컴퓨터에서 처럼 이벤트를 그대로 사용할 수는 없습니다. 그래서 이벤트 구조와 개념을 일부 변경하여 발생횟수를 최소화 하여 사용하고 있습니다.</p>
<p><strong><span style="color: #800080;">■ 이지컨트롤러</span></strong></p>
<table>
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy003.png" rel="lightbox[5349]"><img class="alignnone" alt="11Showeasy003" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy003-428x620.png" width="173" height="250" /></a></td>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy008.png" rel="lightbox[5349]"><img class="alignnone size-medium wp-image-5364" alt="11Showeasy008" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy008-300x189.png" width="300" height="189" /></a></td>
</tr>
</tbody>
</table>
<p>이지컨트롤러의 하드웨어적인 구조는 PLC와 필드버스의 장점을 모방하였습니다. 각각의 모듈은 빌드업이 가능한 모듈러한 구조로 되어 있어 기능확장이 쉬우며, PLC의 베이스모듈을 저가의 플랫케이블로 대체하여 그림처럼 각 모듈의 20핀 버스커넥터를 연결합니다. 이 버스케이블에는 I2C 통신선이 있어 각 모듈을 1Mbps의 고속 통신으로 연결하고, 또한 5V, 24V, GND 전원선이 포함되어 있어서 각 모듈에 별도의 전원을 공급할 필요가 없습니다. 플랫케이블은 필드버스처럼 수킬로미터까지 확장할 수는 없지만, 수십미터까지 확장이 가능하여 그림처럼 쌓아서 배치할 수도 있고 펼칠 수도 있으며 먼 거리에 떨어져서 설치할 수도 있으므로 PLC에 비하여 설치가 매우 편리합니다.</p>
<p>전면의 IO 커넥터는 스크류타입으로 배선을 드라이버로 고정시켜 간편하게 연결할 수 있으며, DINKLE의 결합식 터미널블럭을 사용하여 모듈의 교체시에도 별도의 배선분리를 하지 않아도 되도록 하였으며, 후면에는 24핀 확장커넥터가 있어서 마이컴의 여분의 입출력 핀과 전원 및 통신선이 연결되어 있어 사용자의 회로를 추가하거나 프로그램 디버깅용으로 사용할 수 있도록 하였습니다. IO커넥터의 아래에는 동작표시 LED가 있어서 스위치나 릴레이 등의 IO가 동작하면 그 상태를 표시하므로 배선오류나 동작여부를 쉽게 확인할 수 있습니다. 각 모듈의 기본치수는 PCB기준 50x55mm로 매우 컴팩트하여 장치에 내장하기 적합하고, PCB지지대의 간격은 40mm로 50x50MM DC팬을 사용하면 PCB지지대에 고정할 수 있도록 맞추어져 있습니다. 각 모듈은 저전력 마이컴을 내장하여 릴레이구동과 같은 IO를 제외하면, LED도 저전력 타입을 사용하므로 모듈자체의 구동전력은 수mA 정도로 매우 작게 설계되어 배터리로 구동하거나 태양전지를 사용하는 경우도 사용이 가능하도록 하였습니다.</p>
<p>각 모듈은 내부 구성이 조금씩 차이가 있지만, 기본적인 구성은 비슷합니다. DIO모듈(Digital Input Output)의 경우 그림과 같이 IO커넥터, 버스커넥터, 확장커넥터가 있으며, LPC1114 ARM CORTEX-M0 32BIT 48MHz 마이컴을 사용하고 있으며, 내부에 EEPROM이 있어서 펌웨어를 새로 다운로드하지 않고도 모듈ID, 교정값등의 일부기능을 위한 설정을 변경할 수 있습니다.<br />
버스커넥터로부터 VAA=5V를 공급받아 내부로직을 위한 VCC=3.3V 전원으로 변경하며 VBB=24V를 공급받아 DC-DC에서 VDC=2~20V의 가변 전원을 생성하여 IO커넥터로 출력합니다. 특히 VDC는 스위치나 센서와 같은 외부 장치가 약간의 동작전원을 필요로 한다면 PLC처럼 별도의 외부전원을 설치하지 않아도 이 전원으로 대치할 수 있으므로 매우 편리하게 사용할 수 있습니다. 그외에 스위치, 릴레이, 모터, A/D, D/A 등과 같은 모듈별로 고유의 입출력 인터페이스 회로부로 구성되어 있습니다.</p>
<table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy009.png" rel="lightbox[5349]"><img class="alignnone size-large wp-image-5365" alt="11Showeasy009" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy009-620x356.png" width="620" height="356" /></a></td>
</tr>
<tr>
<td style="text-align: center;">CoIDE 개발환경에서 ColinkEx SWD 디버거를 이용한 디버깅 화면</td>
</tr>
</tbody>
</table>
<p><strong style="font-size: 13px; line-height: 19px;"><span style="color: #800080;">■ 소프트웨어 개발환경</span></strong></p>
<p>이지컨트롤러의 개발환경은 www.CooCox.org에서 제공하는 무료개발툴인 CoIDE와 오픈소스 GCC를 이용하는데, 이클립스 기반이므로 매우 편리한 코드편집과 디버깅환경을 제공합니다. 이지컨트롤러의 소프트웨어 개발환경의 가장 큰 특징은 이벤트기반의 프로그래밍을 가능하도록 지원하는 EventBus라는 프레임워크 라이브러리 입니다. EventBus는 C/C# 두가지 버전으로 제공되는데, C 버전은 모듈에 펌웨어를 작성할 때 사용되는데, 이벤트기반 프로그래밍이 가능하도록 지원하고, 사용자가 여러 모듈을 I2C통신으로 연결하였다는 사실을 의식하지 않고 프로그램을 작성할 수 있도록 도와줍니다. 또한 C# 버전은 버스케이블로 연결된 모듈들을 컴퓨터에 연결할 때 사용되는데, C#으로 작성된 닷넷 라이브러리로써 USB 케이블을 통하여 컴퓨터와 모듈을 연결하면 닷넷 환경에서 모듈들을 제어하는 응용프로그램을 작성할 수 있도록 도와줍니다. 이를 이용하면 스위치, 릴레이, 전압등 모듈의 입출력을 읽어 화면에 표시하거나, 화면의 체크박스를 클릭하여 모듈의 릴레이를 동작시키는 것이 가능하고, 전압을 읽어 화면에 그래프로 표시하는 작업을 매우 간단하게 처리할 수 있습니다. 물론 EventBus 프레임워크를 사용하지 않고 기존의 방식처럼 프로그램을 작성할 수도 있습니다만, 생산성이 매우 차이가 나므로 반드시 EventBus 프레임워크를 사용하기를 권장합니다. 이지컨트롤러의 펌웨어는 EventBus + I/O Driver + Application 으로 구성됩니다. EventBus는 앞에서 언급하였듯이 이벤트기반 프로그래밍을 지원하고, 모듈과 모듈사이 그리고 모듈과 컴퓨터 사이의 연결을 담당하여 사용자가 마치 하나의 모듈에서 프로그램을 작성하는 것처럼 느끼도록 합니다. 그리고 I/O Driver는 순수 C코드로 하드웨어에 관련된 코드입니다. 기본적으로 소스가 제공되지만, 사용자의 고유한 기능을 구현하기 위하여 수정이 가능하도록 완전히 공개되어 있습니다. Application은 실제 구현하고자 하는 프로그램으로 마치 윈도우 폼 프로그램의 이벤트 핸들러와 매우 흡사하여 사용자는 PC에서 프로그램을 작성하는 느낌으로 거부감 없이 개발할 수 있습니다.</p>
<table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy010.png" rel="lightbox[5349]"><img class="alignnone size-large wp-image-5366" alt="11Showeasy010" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy010-620x365.png" width="620" height="365" /></a></td>
</tr>
<tr>
<td style="text-align: center;">비주얼스튜디오에서 EventBus C# 프레임워크를 사용한 개발화면</td>
</tr>
</tbody>
</table>
<p><strong><span style="color: #800080;">■ 펌웨어 프로그래밍</span></strong></p>
<p>이지컨트롤러를 이용하여 그림과 같이 입고부품을 치수별로 분류하는 공장자동화용 시퀀스제어 시스템을 구현하겠습니다.</p>
<table style="border-collapse: collapse;" width="600" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy011.png" rel="lightbox[5349]"><img class="alignnone  wp-image-5367" alt="11Showeasy011" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy011.png" width="215" height="170" /></a></td>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy012.png" rel="lightbox[5349]"><img class="alignnone  wp-image-5368" alt="11Showeasy012" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy012.png" width="282" height="219" /></a></td>
</tr>
</tbody>
</table>
<p>시스템에는 컨베이어 벨트와 벨트를 구동하는 DC모터가 있으며, 모터를 온오프시켜 컨베이어 벨트를 회전/정지 시킬 수 있는 두개의 스위치가 있습니다. 그리고, 세개의 실린더와 각 실린더마다 부품의 높이를 검출하는 센서 S1, S2, S3가 있습니다. 오른쪽 시퀀스도는 센서 S1, S2, S3가 동작하면 릴레이 K1, K2, K3가 동작하고, 솔레노이드 밸브 1M, 2M, 3M에 전류가 공급되어 해당하는 공압밸브가 동작하여 실린더가 구동되도록 설계되어 있습니다. 도면에서는 센서 S1이 부품을 검출하였고 릴레이 K1을 통하여 솔레노이드 밸브 1M이 동작하였으며, 밸브에 연결된 High 실린더가 동작하였습니다. 가장 오른쪽에 설치된 센서 S1은 50mm, 가운데의 S2는 40mm, 왼쪽의 S3는 30mm의 높이에 설치되어 있어서, High 실린더는 50mm이상의 부품을 선택하고, Medium 실린더는 40mm ~ 50mm 사이의 부품을 선택하고, Low 실린더는 30mm ~ 40mm 사이의 부품을 선택합니다. 선택되지 않은 30mm 이하의 낮은 부품은 불량이므로 선택되지 않고 그대로 배출됩니다. 위의 릴레이로 구성된 시퀀스 제어시스템을 이지컨트롤러를 사용하여 구현하기 위하여 필요한 입출력으로 분류하면, 3개의 센서 입력을 위한 스위치 접점입력 3개, 솔레노이드 밸브를 구동하기 위한 릴레이 출력 3개, 컨베이어 벨트 구동용 DC모터를 위한 릴레이 출력 1개, 컨베이어 벨트를 온오프시키기 위한 버튼입력용 스위치 접점입력 2개가 필요합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy018.jpg" rel="lightbox[5349]"><img class="alignnone  wp-image-5382" alt="11Showeasy018" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy018-620x304.jpg" width="397" height="194" /></a></p>
<p>즉, 온오프 접점용 입력 5개와 릴레이 출력 4개가 필요하므로, 온오프 접점 10개를 입력받을 수 있는 DIM(Digital Input Module) 모듈과 릴레이 출력 6개를 내장한 DOM(Digital Output Module) 모듈을 사용하고, 전원공급을 위하여 PSM(Power Supply Module)모듈을 사용하여 시스템을 구성하였습니다.</p>
<p>DIM 모듈의 스위치 입력은 싱크(Sink) 타입이므로 외부에서 전류를 공급할 때 동작을 인식합니다. 그림에서 보듯이 DIM 모듈에는 VDC 가변출력전원(포텐쇼미터로 조정)이 내장되어 있으므로 PLC에서 처럼 외부전원이 없어도 센서에 편리하게 전원을 공급할 수 있습니다. 또한 싱크타입이므로 광전스위치의 PNP출력타입이 적합합니다. 요즘 시판되는 센서는 대부분 NPN, PNP를 선택할 수 있도록 선택스위치가 제공됩니다. 이경우 PNP로 선택해야 합니다.</p>
<table style="border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy002.png" rel="lightbox[5349]"><img class="alignnone size-large wp-image-5358" alt="11Showeasy002" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy002-620x192.png" width="620" height="192" /></a></td>
</tr>
<tr>
<td style="text-align: center;">PNP출력 광전스위치 회로와 DIM 모듈의 배선도</td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy001.png" rel="lightbox[5349]"><img class="alignnone size-large wp-image-5357" alt="11Showeasy001" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy001-620x170.png" width="620" height="170" /></a></td>
</tr>
<tr>
<td style="text-align: center;">DOM 모듈의 배선도</td>
</tr>
</tbody>
</table>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy013.png" rel="lightbox[5349]"><img class="wp-image-5369 alignright" alt="11Showeasy013" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy013-224x620.png" width="134" height="372" /></a>솔레노이드와 DC모터는 수암페어 이상의 전류를 흘려야 하므로 VDC로는 전류용량이 부족하므로 외부에 SMPS를 추가하였습니다. 위와 같이 배선하면 하드웨어적인 시스템 구성은 완성되었습니다.</p>
<p>이제 프로그램을 개발할 개발환경을 설치해야 합니다. 이지컨트롤 카페(cafe.naver.com/easycontrol)를 방문하면 CoIDE를 설치하는 방법 및 EventBus 프레임워크를 다운로드할 수 있도록 자세한 설명이 있으므로, 지면 관계상 여기에서는 생략하도록 하겠습니다. CoIDE에서 컴파일을 마치면 프로그램을 모듈에 다운로드하고 디버깅하기 위하여 SWD 디버거인 ColinkEx를 사용합니다. ColinkEx에는 추가적으로 CP2102가 내장되어 있으므로 PC에서 가상 COM포트로 인식되어 디버깅 및 모듈-PC간 통신에 사용됩니다. 이지컨트롤러에서 모듈과 PC를 USB로 연결하는 방법은 ColinkEx의 COM포트, UUB모듈, USB모듈을 사용하는 3가지 입니다.</p>
<p>프로그램을 작성하기 위하여 별도의 프로젝트를 생성할 필요는 없습니다. 제공되는 예제를 복사해서 새로운 응용프로그램을 작성하면 됩니다. 각각의 모듈에는 미리 EventBus 프레임워크가 다운로드되어 있으므로 버스케이블만 연결하면 모든 모듈은 통신으로 연결된 상태가 됩니다. 이제 우리가 프로그램하고자 하는 모듈에만 프로그램을 작성하면 됩니다. 심지어 모듈은 그대로 두고 컴퓨터에서 응용프로그램만 작성하여도 동작시킬 수 있지만, 여기서는 모듈에서 동작하는 펌웨어를 작성하겠습니다. 어느 모듈에 프로그램을 작성해도 상관없지만, 우리는 DIM모듈은 그대로 두고 DOM모듈에 프로그램을 작성하겠습니다. 일반적으로 출력이 있는 모듈에서 프로그램을 작성하는 것이 여러모로 유리합니다.</p>
<p>Project 뷰에는 응용프로그램이 있는 Application 폴더, 하드웨어 구동을 위한 드라이버 프로그램이 있는 Driver 폴더, EventBus 프레임워크에 대한 헤더파일이 있는 EventBus 링크폴더가 있으며 여타의 설정파일들이 있습니다. EventBus 프레임워크는 라이브러리 형태로 제공되지만 사용자의 프로젝트에 필요한 모든 드라이버 파일의 소스가 완전히 제공되므로 구현이 매우 용이합니다.</p>
<p>Application\default에는 모듈 출고시 기본으로 다운로드된 프로그램의 소스파일이 있고, Application\exam에는 다양한 예제 프로그램이 제공됩니다. 우리가 작성할 응용프로그램을 저장하기 위하여 myproj 폴더를 생성하고 “dom_def.*”를 복사하여 “my_dom.*”로 이름을 변경합니다. Application 폴더에는 많은 응용프로그램이 있으므로 우리가 컴파일할 응용프로그램을 “ezconfig.h”에서 선택해 주어야 합니다. 응용프로그램의 헤더파일 “my_dom.h”을 인크루드시키면 새로 복사해서 만든 응용프로그램이 선택됩니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>ezconfig.h // 프로그램 선택 #include “my_dom.h”</td>
</tr>
</tbody>
</table>
<p>다음으로 선택된 “my_dom.h” 파일에서 DOM_DRV1 선언으로 드라이브 파일 “dom_drv1.c”을 선택하고, MY_DOM 선언으로 “my_dom.c”를 선택합니다. 이제 드라이버 파일은 “dom_drv1.c”, 어플리케이션 파일은 “my_dom.c”를 선택하였습니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>Application\myproj\my_dom.h // select the Driver program #define DOM_DRV1// select the Application program<br />
#define MY_DOM// Set the ID of the module to reference<br />
typedef enum {<br />
GCALL = 0,<br />
THIS = 0,// module alias to reference<br />
ID_DIM1 = 3,// Do not change from here<br />
END_OF_MODULE,<br />
ID_PC = 120<br />
} EID;</td>
</tr>
</tbody>
</table>
<p>이제 “my_dom.c”를 수정하여 프로젝트를 완성하겠습니다. “#ifdef DOM_DEF”를 “#ifdef MY_DOM”으로 수정하면 코드는 활성화 되지만, F7키를 눌러 프로젝트를 빌드하면 에러가 발생합니다. 이유는 우리가 새로 생성한 Application\myproj 폴더를 등록하지 않았기 때문에 컴파일러가 파일의 위치를 찾지 못해서 발생하는 에러입니다. “build.xml” 파일을 열고 “Include paths”에서 “Add”를 선택하고 “Workspace”에서 우리가 추가한 “Application\myproj”를 선택합니다.<br />
이제 다시 F7키로 빌드하면 그림처럼 성공적으로 빌드가 됩니다. EventBus 프레임워크의 코드사이즈는 10KB도 채 되지 않는 매우 컴팩트한 사이즈입니다.</p>
<p><a style="font-size: 13px; line-height: 19px;" href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy014.png" rel="lightbox[5349]"><img class="alignnone  wp-image-5370" alt="11Showeasy014" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy014.png" width="413" height="145" /></a></p>
<p>이제 컨베이어 벨트를 제어하는 시퀀스 프로그램을 작성하겠습니다. 코드와 주석만으로 충분히 이해할 수 있겠지만, 약간의 설명을 덧붙이겠습니다. DIM모듈의 스위치 입력상태를 읽어야 하므로 모듈을 선언하고 생성하였습니다. 이렇게 선언함으로써 이지컨트롤러의 여러 모듈들은 서로의 입출력 데이터를 읽고 쓸 수 있습니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>Start_EventHandler, End_EventHandler는 이벤트핸들러의 앞,뒤에 위치하며, 이벤트 메시지루프의 시작과 종료에 관련된 처리를 하는 무한루프 매크로입니다. “eventbus.h”를 참고해 주십시오.</td>
</tr>
</tbody>
</table>
<p>프로젝트가 간단하므로 이벤트핸들러를 한개만 추가하였습니다. 즉, dim의 입력이 변하는 이벤트(IN_CHANGED)가 발생하면 실행할 내용을 기술합니다. Event( )는 매크로함수입니다. 스위치 상태를 릴레이에 대입하였으므로 센서가 부품을 감지하여 스위치 입력이 들어오면 릴레이도 동작하게 되고 실린더가 동작하게 됩니다. 컨베이어를 움직이는 DC모터는 Stop 버튼을 누르면 Start 버튼의 상태와 무관하게 무조건 정지하며, Start 버튼은 단독으로 눌러야만 회전합니다. 아무런 스위치도 누르지 않으면 이전 상태를 유지하게 됩니다.</p>
<table style="border-collapse: collapse;" width="600" border="1" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td align="center">Button_Start</td>
<td align="center">Button_Stop</td>
<td align="center">Conveyer</td>
</tr>
<tr>
<td align="center">OFF</td>
<td align="center">OFF</td>
<td align="center">이전상태 유지</td>
</tr>
<tr>
<td align="center">ON</td>
<td align="center">OFF</td>
<td align="center">ON, 회전</td>
</tr>
<tr>
<td align="center">OFF</td>
<td align="center">ON</td>
<td align="center">OFF, 정지</td>
</tr>
<tr>
<td align="center">ON</td>
<td align="center">ON</td>
<td align="center">OFF, 정지</td>
</tr>
</tbody>
</table>
<p>이제 펌웨어 작성을 마쳤습니다. 관심있게 보아야 할 부분은 펌웨어를 작성하는 과정에서 하드웨어적인 내용에 대하여는 전혀 언급하지 않았다는 점입니다. 펌웨어 작성에서 일반적으로 볼 수 있는 GPIO 초기화나 세팅등을 몰라도 펌웨어를 작성할 수 있다는 점입니다. 물론 그러한 드라이버 프로그래밍이 가능한 고급사용자들은 자신만의 기능을 추가적으로 구현할 수 있습니다. 펌웨어만으로도 시퀀스제어 시스템은 잘 동작합니다. 그러나, 컴퓨터에서 제어시스템의 동작을 모니터링 하거나 제어할 수 있다면 더욱 다양한 기능을 구현할 수 있을 것입니다.</p>
<p><strong><span style="color: #800080;">■ PC 응용프로그램</span></strong></p>
<p>Visual Studio 2008에서 C#으로 프로그램을 작성하도록 하겠습니다. 앞에서 언급하였듯이 EventBus_C# 버전 라이브러리를 사용하면 앞에서 구현한 모듈을 매우 쉽게 컴퓨터와 연결할 수 있습니다. 파일&gt;새로만들기&gt;프로젝트(Ctrl+Shift+N) 메뉴를 선택합니다. <a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy015.png" rel="lightbox[5349]"><img class="alignnone  wp-image-5371" alt="11Showeasy015" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy015-620x341.png" width="372" height="205" /></a></p>
<p>프로젝트 이름을 MyProj 라고 입력합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy016.png" rel="lightbox[5349]"><img class="alignnone  wp-image-5372" alt="11Showeasy016" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy016-620x264.png" width="372" height="158" /></a></p>
<p>참조추가에서 다운받은 EventBus_C# 라이브러리인 EventBus.DLL과 닷넷라이브러리인System.management를 추가합니다. 추가된 참조 EventBus를 더블클릭하면 개체브라우저가 열리는데 여기서 EventBus에서 지원하는 여러가지 클래스와 멤버들을 확인할 수 있습니다. <a href="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy017.png" rel="lightbox[5349]"><img class="alignnone  wp-image-5373" alt="11Showeasy017" src="http://www.ntrexgo.com/wp-content/uploads/2013/03/11Showeasy017.png" width="283" height="293" /></a></p>
<p>이제 폼에 연결된 장치에 해당하는 콤포넌트를 배치하겠습니다. 센서와 스위치는 입력장치이므로 사용자가 상태를 변경하는 것이 무의미하므로 Enabled 속성을 False로 합니다. 실제 센서 또는 스위치의 입력이 변하면 그 상태가 체크박스에 표시되도록 하겠습니다. 실린더와 컨베이어 모터는 출력장치이므로 펌웨어에서 이미 제어하고 있지만, 여기서도 체크박스를 클릭하면 실린더 또는 모터를 회전시킬 수 있도록 하겠습니다. 그래픽적으로 실제 실린더를 동작하도록 프로그램한다면 멋진 인터페이스를 구현할 수 있을 것입니다. 특히 산업용 모니터링 장치나 티칭패널의 경우 매우 유용한 인터페이스가 됩니다.</p>
<p>이제 코드를 작성하겠습니다. 메뉴에서 보기&gt;코드(Ctrl+Alt+0) 를 선택하고 코드를 입력합니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>Form1.cs<br />
using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Linq;<br />
using System.Text;<br />
using System.Windows.Forms;using EventBus; // EventBus 라이브러리 사용선언<br />
using System.Management; // 가상COM포트 자동인식에 필요namespace MyProj<br />
{<br />
public partial class Form1 : Form<br />
{<br />
Serial com; // 가상 COM포트<br />
CDIM dim; // DIM 모듈 이미지<br />
CDOM dom; // DOM 모듈 이미지<br />
public Form1()<br />
{<br />
InitializeComponent();<br />
CheckForIllegalCrossThreadCalls = false;//크로스 스레드 검사 중지<br />
com = new Serial();<br />
dim = new CDIM((byte)EID.MyDim, com);<br />
dom = new CDOM((byte)EID.MyDom, com);<br />
}<br />
}public enum EID : byte<br />
{<br />
GCALL = 0,<br />
THIS = 0,// 어플에서 참조할 모듈 정의<br />
MyDim = 3, // DIM 모듈 ID<br />
MyDom = 5, // DOM 모듈 IDEND_OF_MODULE,<br />
PC = MType.PC<br />
}<br />
}</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>라이브러리를 선언하고, 통신연결을 위한 가상COM포트와 이벤트교환을 위하여 DIM, DOM모듈의 이미지도 선언하고 생성했습니다. 모듈의 ID는 편의상 enum 타입으로 선언 후 사용합니다. 여기서 선언한 ID는 펌웨어에서 사용한 ID와 동일해야 하고 또한 제공되는 ezconfig.exe EEPROM 설정용 프로그램을 이용하여 모듈마다 설정하는 ID와도 동일해야 합니다. 통신은 ID를 주소로 사용하므로 ID는 반드시 일치하도록 하여야 합니다.<br />
이제 이벤트가 발생하면 실행할 이벤트핸들러를 추가합니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>Form1.cs<br />
private void Form1_Load(object sender, EventArgs e)<br />
{<br />
dim.Switch0.OnChanged +=<br />
new LogicEventHandler(Switch0_OnChanged);<br />
dim.Switch1.OnChanged +=<br />
new LogicEventHandler(Switch1_OnChanged);<br />
dim.Switch2.OnChanged +=<br />
new LogicEventHandler(Switch2_OnChanged);<br />
dim.Switch3.OnChanged +=<br />
new LogicEventHandler(Switch3_OnChanged);<br />
dim.Switch4.OnChanged +=<br />
new LogicEventHandler(Switch4_OnChanged);dom.Relay0.OnChanged +=<br />
new LogicEventHandler(Relay0_OnChanged);<br />
dom.Relay1.OnChanged +=<br />
new LogicEventHandler(Relay1_OnChanged);<br />
dom.Relay2.OnChanged +=<br />
new LogicEventHandler(Relay2_OnChanged);<br />
dom.Relay3.OnChanged +=<br />
new LogicEventHandler(Relay3_OnChanged);<br />
}void Relay3_OnChanged(object sender, CLogicEventArgs args) {<br />
DCMotor.Checked = args.Value;<br />
}void Relay2_OnChanged(object sender, CLogicEventArgs args) {<br />
CylinderLow.Checked = args.Value;<br />
}void Relay1_OnChanged(object sender, CLogicEventArgs args) {<br />
CylinderMedium.Checked = args.Value;<br />
}void Relay0_OnChanged(object sender, CLogicEventArgs args) {<br />
CylinderHigh.Checked = args.Value;<br />
}void Switch4_OnChanged(object sender, CLogicEventArgs args) {<br />
Start.Checked = args.Value;<br />
}void Switch3_OnChanged(object sender, CLogicEventArgs args) {<br />
Stop.Checked = args.Value;<br />
}void Switch2_OnChanged(object sender, CLogicEventArgs args) {<br />
SensorLow.Checked = args.Value;<br />
}void Switch1_OnChanged(object sender, CLogicEventArgs args) {<br />
SensorMedium.Checked = args.Value;<br />
}</p>
<p>void Switch0_OnChanged(object sender, CLogicEventArgs args) {<br />
SensorHigh.Checked = args.Value;<br />
}</td>
</tr>
</tbody>
</table>
<p>폼이 로드될 때 스위치와 릴레이의 OnChanged 이벤트에 이벤트핸들러를 등록합니다. 이벤트핸들러의 내용은 변경된 값을 화면에 표시하는 단순한 코드입니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>Form1.cs<br />
string FindPortName()<br />
{<br />
ManagementObjectSearcher searcher =<br />
new ManagementObjectSearcher(“select * from Win32_SerialPort”);    // 시리얼포트를 검사해서 USB모듈이 연결된 포트를 찾는다.<br />
foreacㅋh (ManagementObject serial in searcher.Get()) {<br />
if (serial[“PNPDeviceID”].ToString().Contains(“5142308698”)) {<br />
return serial[“DeviceID”].ToString();<br />
}<br />
}<br />
return null;<br />
}private void Connect_Click(object sender, EventArgs e)<br />
{<br />
if (com.Connected) {<br />
com.Disconnect();<br />
Connect.Text = “Connect”;<br />
}<br />
else {<br />
string portname = FindPortName();<br />
bool connected = com.Connect(portname);<br />
if (connected) {<br />
Connect.Text = “Disconnect”;// 기존 이미지와 동기화 시킨다.<br />
dim.RequestSync();<br />
dom.RequestSync();<br />
}<br />
}<br />
}</td>
</tr>
</tbody>
</table>
<p>FindPortName 메서드는 연결된 가상COM포트를 자동으로 검색합니다. USB, UUB, ColinkEx모듈의 통신포트는 모두 CP2102를 채택하고 있는데 ROM에 “5142308698” 문자열을 포함하는 이름이 저장되어 있으므로 이를 이용하여 자동으로 포트명을 검색한 것입니다만, com.Connect(“COM5”); 처럼 사용자가 포트명을 직접 입력해도 됩니다. 실제로 WinCE에서는 management 라이브러리를 사용할 수 없으므로 이런 방법을 사용할 수 있습니다.<br />
RequestSync 메서드는 통신이 연결될 때 모듈의 실제 입출력상태와 다를 수 있으므로 모듈에게 입출력 데이터를 전송하도록 요청합니다. 전송받은 값이 이미지(dim, dom)에 저장된 값과 다르면 이벤트가 발생하고 위의 이벤트핸들러가 실행되므로 화면의 표시가 최근 상태로 갱신됩니다.</p>
<table width="550">
<tbody>
<tr bgcolor="#d9dbdb">
<td>Form1.cs<br />
private void CylinderHigh_CheckedChanged<br />
(object sender, EventArgs e) {<br />
dom.Relay0.Value = CylinderHigh.Checked;<br />
dom.Synchronize();<br />
}private void CylinderMedium_CheckedChanged<br />
(object sender, EventArgs e) {<br />
dom.Relay1.Value = CylinderMedium.Checked;<br />
dom.Synchronize();<br />
}private void CylinderLow_CheckedChanged<br />
(object sender, EventArgs e) {<br />
dom.Relay2.Value = CylinderLow.Checked;<br />
dom.Synchronize();<br />
}private void DCMotor_CheckedChanged<br />
(object sender, EventArgs e) {<br />
dom.Relay3.Value = DCMotor.Checked;<br />
dom.Synchronize();<br />
}</td>
</tr>
</tbody>
</table>
<p>마지막으로 폼에서 실린더와 컨베이어 DC모터의 체크박스를 클릭할 때 릴레이가 동작하도록 체크박스의 이벤트핸들러를 작성합니다. 체크박스를 더블클릭하면 자동으로 이벤트핸들러가 생성되고 이벤트에 등록하는 것은 비주얼스튜디오에서 자동으로 이루어 집니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy020.jpg" rel="lightbox[5349]"><img class="alignnone  wp-image-5521" alt="11Showeasy020" src="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy020.jpg" width="170" height="194" /></a></p>
<p>이제 모두 마쳤습니다. 실행하고 결과를 확인해 보겠습니다. 먼저 Start 스위치를 누르면 컨베이어는 회전합니다. 이때 Connect 버튼을 클릭하면 통신이 연결되고 dim.RequestSync(); dom.RequestSync(); 코드가 실행되어 모듈의 실제 상태와 체크박스 표시가 동기화 되는 것을 볼 수 있습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy021.jpg" rel="lightbox[5349]"><img class="alignnone  wp-image-5522" alt="11Showeasy021" src="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy021.jpg" width="170" height="194" /></a></p>
<p>High 센서가 높이가 높은 부품을 검출하고 실린더가 동작하는 것을 화면으로 확인할 수 있습니다. Start 스위치는 푸쉬버튼이므로 손을 떼면 OFF 되었습니다.</p>
<p><img alt="11Showeasy019" src="http://www.ntrexgo.com/wp-content/uploads/2012/02/11Showeasy019.jpg" width="172" height="196" /><br />
Medium 센서가 검출되지 않았지만, 화면에서 마우스로 Medium Cylinder의 체크박스를 클릭하여 강제로 실린더를 동작시켰습니다. 이 기능을 사용하면 장치의 고장을 점검할 때 매우 유용하게 활용할 수 있습니다.</p>
<p><strong><span style="color: #800080;">■ 마지막으로</span></strong></p>
<p>이제까지 시퀀스제어 시스템을 구현하기 위한 소프트웨어 개발방법에 대하여 살펴보고, 이벤트방식으로 구현하는 장점과 이지컨트롤사의 이지컨트롤러 범용제어기와 EventBus 프레임워크를 이용한 이벤트방식의 프로그램작성에 대하여 살펴보았습니다.</p>
<p>짧은 지면관계상 더욱 깊이있는 예제를 다루지는 못하였지만, 이외에도 시간을 제어하는 등의 더욱 다양한 이벤트와 사용자 정의 이벤트라는 막강한 기능을 제공합니다. 자세한 내용은 카페(cafe.naver.com/easycontrol)를 참고해 주십시오. 닷넷환경은 언어간 호환성이 있으므로 C++등의 언어를 사용한 개발도 가능하며, WinCE에서도 고급언어를 이용한 프로그램 개발이 가능하므로 티칭패널등에 사용하면 매우 빠르게 제품을 출시할 수 있을 것입니다.</p>
<p>다음에 기회가 된다면 좀더 유용한 내용으로 다시 뵙겠습니다. 끝까지 읽어주신 독자분들께 감사드립니다.</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><strong><span style="color: #333333; text-decoration: underline;">* 본 글의 작성에 사용된 EventBus 프레임워크는 버전0.2 입니다.</span></strong></span></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/5349/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
