사용자 도구

사이트 도구

English

orange:index

ORANGE Automation

  • Orange Panel PC : 리얼 타임 리눅스 기반의 산업용 터치패널 PC (가격대 30~70만원대)
  • CFNET I/O : 모듈형 Digital I/O, Analog I/O
  • jControl : Visual Studio 기반 솔루션 파일. (MONO와 호환됨).

소개

오렌지 오토메이션은 리눅스 기반의 산업용 터치패널PC와 개발 환경을 제공하는 자동화 솔루션 전문 회사입니다.

주요 아이템은 Real-Time 리눅스 기반의 7인치~15인치의 산업용 터치패널 PC 이며, UL인증과 KCC 전자파 인증을 획득한 제품입니다.

개발환경은 MicroSoft사의 Visual Studio 2022 에 무료로 제공되는 jControl 솔루션을 설치한뒤 C#을 이용해서 개발하는 방식입니다.

이제 저희 Orange에서 제공해드리는 하드웨어/소프트웨어 개발환경을 이용하여 여러분이 원하는 자동화 시스템을 보다 쉽고 빠르게 완성하세요.

리얼타임 리눅스란?

여러분들이 일반적으로 알고 계신 리눅스는 Non-Real-Time 방식입니다. 실행 간격을 일정하게 맞출수가 없기 때문에 산업용 어플리케이션에는 적합하지 않습니다. Orange Panel PC는 Real-Time 리눅스를 채택하였습니다.

(단, 완벽한 리얼타임은 불가능합니다. 약간의 지터-jitter는 어쩔수 없이 존재합니다. 이 부분을 메뉴얼에 명시하고 고객한테 이해를 시켜야 합니다.)

정전대비

갑작스러운 정전에 대비하여, 시스템 OS영역을 보호하는 OS Sudden-PowerOff Protect기능을 탑재하였습니다. 이 역시도 산업현장에 반드시 필요한 기능입니다. 작업자가 실수로 전원을 내리거나, 정전이 발생해도, 다시 복구됩니다.

만약 이 기능이 없다면, 블루스크린이 뜨거나, 복구불능상태로 빠지게 됩니다.

jControl

jControls ←— 여기에 소스가 있습니다. 이걸 기반으로 발전시키면 됩니다.

현재 MONO는 .NET 4.8만 지원됩니다. 다행히 VS2022에서는 .NET 4.8을 지원하므로, 쓰는데 문제는 없습니다.

CFNET I/O

산업현장의 콘트롤 시스템에 최종 단계에서는 외부 기기와 연결할 수있는 I/O가 반드시 필요합니다. 시중에는 다양한 종류의 Remote I/O가 있지만, 가격이 비싸고, 조작방법이 까다롭습니다.

저희 회사에서 만든 CFNET I/O 를 현실적인 가격대로 위에서 설명드린 Orange Panel PC와 바로 연결할 수 있습니다. (USB연결)

CFNET I/O는 모듈형으로 되어 있어, 필요한 모듈만 사서 조합하는 방식입니다.

디버깅 문제 해결 방법

리눅스에서 MONO사용시 디버깅이 안됩니다. 개발시 매우 불편합니다. 그래서 CFNET I/O를 그냥 PC에 연결해서 개발하는 방식으로 진행하면 됩니다.

그러면 VS2022의 디버깅 기능을 전부 이용할 수 있습니다. 나중에 최종 결과물만 Orange Panel PC로 옮기면 됩니다.

  • 단, MONO를 지원하는 .NET 4.8로만 개발해야 됩니다.

PC에서 잘 실행되던 프로그램이 리눅스 PC(오렌지 Panel PC)로 옮겼을때, 제대로 실행되지 않을 가능성이 존재합니다. (속도차이, 현장에서의 노이즈 이슈, MONO 프레임웍과 닷넷 프레임웍의 호환성 이슈)

이 경우 고객과의 소통을 통해 문제를 하나씩 해결해 나가야 합니다. (현실적으로 MONO측의 서포트를 기대하기는 어렵고, 마이크로 소프트에서도 지원해주지 않기 때문에, 이 부분을 어떻게 헤쳐나가는 것인지가 관건이 됩니다.)

일반적으로 사용되는 방법과의 차이점

현재 산업분야에서 단일 전용기 개발에 사용하는 솔루션은 크게 3가지로 나눠볼 수 있습니다.

  1. HMI 와 PLC
  2. PC 와 PLC
  3. PC 와 Remote I/O

1번은 C#언어를 모르는 엔지니어들이 주로 사용하는 방법인데, 이 분야가 시장이 가장 큽니다. 단 미쯔비시, 지멘스, LS산전 과 같은 대기업이 시장을 선점하고 있어, 뚫고 들어가기가 어렵습니다.

2번은 C#언어를 모르는 엔지니어들이 PC에 SCADA 소프트웨어 (수백만원 대)를 설치하고 PLC와 연결하는 방식으로 많이들 사용하는 조합입니다. PLC는 리얼타임을 완벽하게 지원하므로, 주로 모션제어와 같이 타이밍이 중요한 어플리케이션에 사용됩니다.

1,2번 모두 PLC가 주축입니다. 따라서 PLC를 모른다면 적용할 수 없는 방법입니다. PLC는 레더로직이라는 다소 생소한 방법으로 코딩을 하는 산업용 콘트롤러입니다.

3번이 공략하는 시장입니다. Remote I/O는 단순 I/O입니다. 따라서 PC에서 모든것을 다 처리해야되는 상황이므로, C#언어를 가지고 코딩합니다.

하지만 일반 윈도우 PC에는 리얼타임 OS 불가, 갑작스러운 전원 OFF 시 대책없음. 고가격 이라는 3가지 문제점을 가지고 있습니다.

따라서 우리는

  • Windows PC보다는 저렴한 Linux PC
  • 리얼타임 OS
  • 갑작스러운 전원 OFF 상황에 대한 대처

를 주요 장점으로 어필해야 됩니다.

경쟁사와의 차별성

경쟁사 오렌지
OS 윈도우 CE 리눅스
리얼타임 x o
개발환경 VS2008 (유료) VS2022 (무료)
사용언어 C# C#
닷넷 종류 컴팩트 프레임웍 MONO 프레임웍
I/O 모듈형이 아님 (자유로운 구성이 불가능) 모듈형 (원하는 조합으로 구성이 자유로움)
기반 솔루션 파일 지원함 지원함
갑작스러운 전원 off 대책 있음 대책 있음
개발 방법 배포할때마다 WinCE로 보낸뒤, 디버깅까지 하는 방법임. 배포속도가 느리고, 동작이 굼뜨다. 이렇게 밖에 할 수 없는 이유는 I/O모듈을 PC에 꼽을수가 없기 때문이다. 일단 PC에서 개발을 하고, 완성된 후에 Linux PC에 배포하는 방식. I/O가 USB방식으로 되어 있어, PC 꼽아서 개발이 가능하다.

타겟 시장

자동화 시장을 크게 두가지로 분류할 수 있습니다.

  1. 공장 생산 라인 자동화 : 예) 반도체 생산라인, 자동차 생산라인, 등등
  2. 단일 전용기기 제작 회사 : 예) 곡물선별기, 과적차량측정기, 맥주증류기, 식권발매기, 온도제어챔버 등등

1번은 타겟이 아닙니다. 이 쪽은 한번 설치하면, 끝이기 때문에, 지속적인 수요가 발생하지 않습니다. (이런쪽에서 전화오면 가급적 진행하지 않는 것을 권장합니다. 매출에 도움도 안될 뿐더러, 시간만 뺏깁니다. 이런 업체와는 외주개발도 해서는 안됩니다. 문제가 생기면 현장에 가야 하기 때문입니다. 대부분 현장들이 지방에 있고, 간다고 해도 바로 해결이 안되기 때문에 며칠씩 상주를 해야됩니다. 사실상 남는게 없습니다.)

2번이 주된 타겟입니다. 한번 개발해 놓으면, 계속 생산을 하기 때문에, 지속적인 수요가 발생합니다. 어떻게 2번 분류의 고객임을 알수 있는가? : 해당회사의 홈페이지를 보면 됩니다. 그 홈페이지에 기존 생산하고 있는 단일 전용기류의 제품이 있는가 보면 됩니다. (이 고객은 문제가 생길경우 현장을 방문하지 않아도, 셋트를 한대 보내달라고 하면 보내줍니다. 사무실에서 차근차근 문제를 찾아볼 수 있습니다.)

단일전용기 사례

어플리케이션 종류

고객마다 원하는 어플리케이션의 종류는 매우 다양한테 크게보면 이 두가지로 구분할 수 있습니다.

  1. 단순 I/O제어 & UI
  2. 1번 + 원격제어

1번은 일반적인 유형으로, 대부분 이런 종류의 어플리케이션을 원합니다. I/O를 제어하면서, 화면에 UI를 띄워놓고, 엔드유저가 터치하면서 기계를 제어하는 유형입니다. (LAN선이나 WIFI연결이 없이 현장에서 단독으로 동작되는 경우입니다.)

2번은 1번기능을 기본적으로 가지고 있으면서, 외부에서 스마트폰이나 PC웹브라우저를 통해서 제어(또는 모니터링)을 하는 어플리케이션입니다. (LAN또는 WIFI연결이 기본적으로 붙습니다.)

요즘은 2번을 많이 원하는 추세인데, 이에 대한 적절한 솔루션을 갖춘다면 경쟁력을 더 높일 수 있습니다.

리얼타임은 무엇인가?

일정한 실행간격을 보장하는 것을 리얼타임이라고 합니다.

PC에서 10mS마다 On/Off를 반복하라고 명령을 내려도, 실제로는 실행간격이 일정하지 않고 Jitter가 발생합니다. Jitter란 원하는 지점에서 벗어난 오차를 말합니다. 왜냐하면 OS가 우선적으로 처리해야될 것들을 알아서 결정하는데, 일반 OS는 마우스/화면개선등을 우선적으로 처리합니다.

그래야 화면이 깨지지 않고, 마우스가 중간이 멈칫하는 일이 없기 때문입니다.

리얼타임 OS에서는 I/O 처리 우선순위를 더 높게 둡니다. 그래서 실행간격을 좀더 일정하게 유지할 수 있습니다. 하지만 OS자체가 워낙 방대하고 해야될 일이 많기 때문에, 완벽한 리얼타임을 기대할 수는 없습니다.

그럼 코딩하는 입장에서는 어떻게 해야 하는가?

  1. 실행간격을 더 벌린다. (최소간격을 100mS (0.1초)정도로 한다. 그러면 Jitter가 생겨도 눈치채기 어렵다.)
  2. 빠른시간으로 리얼타임을 해야될 부분이 있다면, 이부분만 PLC로 처리한다.

PLC는 오로지 I/O처리만 하므로 리얼타임이 보장됩니다. 크리티컬한 부분을 PLC로 하는 방법이 확실한 리얼타임을 보장하는 유일한 방법입니다.

어플리케이션 중에는 꼭 리얼타임이 필요하지 않는 경우도 많습니다. 예를 들면 비닐하우스 제어, 온도 제어 등입니다. 이런 경우에는 아무 문제없이 C#으로 모든 것을 처리할 수 있습니다.

하지만 곡물선별기()의 경우 C#으로 처리가 불가능합니다. 곡물이 빠르게 지나가는데, 측정하자마자, 타겟을 탁하고 쳐내는 솔레노이드를 0.001초만에 동작시켜야 합니다. 안그러면 지나가고 엉망으로 분류됩니다. 사실상 선별기의 역활을 제대로 수행할 수가 없습니다.

만약 아무것도 모르는 고객이 곡물선별기와 같은 리얼타임이 요구되는 어플리케이션을 C#으로 해달라고 요구하면, 거절해야 됩니다. 어차피 될 수도 없고, 시간만 허비하게 됩니다.

홈페이지

홈페이지를 잘 만들어야 합니다. 무엇보다도 중요합니다. 홈페이지를 보면 마치 큰 회사처럼 보이게 해야합니다. 홈페이지에 쇼핑몰 기능도 같이 있는게 좋습니다.

예1

어떻게 하면 위와 같은 홈페이지를 만들 수 있는지 깊은 고민이 필요합니다.

예2

그냥 고도몰 기본스킨에 사진만 등록한 사례입니다. 성의가 없어보입니다. 이렇게 하면 안됨

홈페이지(쇼핑몰)은 한번 만들면 나중에 플렛폼을 바꾸기가 어렵습니다. 유저가 회원가입한 데이터베이스를 그대로 이전하기 힘들기 때문입니다.

마케팅

광고가 필요합니다. 요즘은 잡지/DM발송 광고가 어렵기 때문에, 온라인에서 광고를 해야합니다. 전기/전자 관련 업계 사람들이 주로 가는 사이트에 매달 일정 금액을 내고 광고를 하는 방법이 있습니다.

디바이스마트

ic뱅큐

구글 키워드 광고, 네이버 파워링크 (키워드 광고)는 비추입니다. 가격만 비싸고 효과는 그닥 없습니다.

이메일 마케팅

돈안들이고 하는 광고로 이메일 수집한뒤 이메일로 마케팅 하는 방법이 있습니다. 이 방법은 미끼(?)가 필요합니다. 예를들어 jControl 솔루션파일을 그냥 다운로드 받게 하지말고 홈페이지에서 이메일을 등록하면, 이메일로 다운로드 받을 수 있는 링크를 보내주는 식으로 하면, 고객의 실질적인 이메일 리스트가 쌓입니다.

그리고 쌓여있는 이메일로 광고/홍보 이메일을 주기적으로 발송하는 방법이 있습니다.

외주 개발

외주개발을 가려 받아야 합니다. 안그러면 험난한 길이 됩니다.

추천하는 거래처

  • 나중에 양산이 될만한 아이템을 가지고 있는 회사
  • 해당분야에 업력 (최소 10년이상)이 있는 회사
  • 규모가 있는 회사, 직원 50명 이상인 회사
  • 이미 판매되고 있는 아이템을 개선/발전 시키려는 경우

비추하는 거래처

  • 스타트업, 또는 처음시도하는 아이템 : 나중에 잘될거다 라는 식의 접근
  • 납기를 재촉하는 회사 : 3개월안에 끝내야 한다고 하는식으로 접근하는 케이스는 무조건 pass (급하게 하다보면 스트레스가 심하다.)
  • 자동화 라인 설치 : 지방 출장이 많고, 운영중 문제가 생기면 계속 전화가 온다.
  • 시방서를 만들지 못하는 회사 : 본인들이 뭘 만들어야할 지 정리를 못하는 회사. 처음 말과는 계속 스펙변경을 요구한다. 네버엔딩스토리가 전개된다.
  • 개발비 할인을 무리하게 요구하는 회사.: 경험해본 결과 싸게 수주한 개발건이 결과가 안좋은 경우가 많았다. 높은 단가의 거래처가 신사적이고 마무리도 깔끔했다. 미니멈 500만원 이하는 진행하지 않는편이 좋다.

개발 순서

마치 건물을 짓듯이 수순을 밟아야 한다.

  1. 시방서 요구 : 업체에서 자신들의 요구사항을 적은 문서. (건물 설계도)
  2. 견적 : 시방서를 토대로 견적산출 (시간당 비용으로 산출할 것, 1개월에 500인데, 3개월치 일량이니 1500 이런식으로)
  3. 계약서 작성
  4. 착수 : 착수금 50% 수령후 시작
  5. 완료 : 잔금 수령
  6. 유지보수 계약
  7. 유지보수 수행

개발을 진행하다보면 시방서에 없는 추가 기능 요구가 반드시 있기 마련이다. 이 경우 그냥 해주지 말고, 1개월 치 분량이니 1개월 비용을 추가로 내야한다는 식으로 접근해야 된다. 그래야 업체에서 심사숙고해서 기능 추가를 요구한다. 그냥 해주면 계속 요구하고 개발이 영원히 끝나지 않는다.

유지보수 계약 : 이걸 해야 추후 수정이 가능하다고 첨부터 계약서에 적어두어야 한다. 안그러면 시도 때도 없이 전화와서 수정을 요구한다. 간단한 버그수정이나 파라미터 수정정도는 유지보수안에서 해주되, 큰 수정은 다시 개발계약을 채결하는 식으로 접근해야 한다.

만약 위와 같은 절차없이, 그냥 이번 껀은 500입니다. 이런식으로 시방서/계약서 없이 덜컥 착수금을 받으면, 그 업체한테 끌려다니게 된다. 착수금 달랑 250 주고, 3년 넘게 개발을 시키는 경우도 허다하다. 조심해야 한다.

시방서의 중요성

시방서는 마치 건물 설계도처럼 어떤 건물을 지어야하는 지 모든것이 담겨져있는 마스터 플랜이다. 이걸 업체에 요구해야 한다.

시방서 조차 제대로 못쓰는 업체가 허다하다. 왜냐면 업체자신도 뭘 만들어야 하는지 정확하게 모른다.

  • 시방서 조차 만들지 못하는 업체와는 계약해선 안된다.
  • 시방서가 있어야 견적을 뽑을수 있다.
  • 시방서를 근거로 나중에 추가 기능요구시 이건 시방서에 없던 기능이니까, 추가금이 발생한다고 말할 수 있다.
  • 시방서에 있는 기능을 다 구현하면 비로소 개발이 끝나게 된다. (즉 시방서가 있어야 끝을 알수 있다.)

시방서를 어떻게 작성해야하나요. 하고 물어온다면

  • 시방서에는 UI 화면이 한장/한장 구체적으로 그려있어야 한다.
  • 각 UI화면에 버튼이 어떤기능을 수행하는 구체적으로 명시되어 있어야한다.
  • 외부에 어떤 I/o가 있고 각 i/o의 기능이 무엇인지 명시되어 있어야 한다.
  • 그외 필요한 동작에 구체적인 명시가 있어야 한다. (로그기록, 비상시 처리방법, 등등)

기능추가및 수정요구시 접수 방법

전화로 이런 저런것을 추가해주세요, 또는 고쳐주세요라고 연락해오면, 반드시E-MAIL로 해당 내용을 정리해서 보내달라고 해야된다. 그럼 이걸 근거로 추가비용을 요구할 수 있다.

그리고 말로만 하다보면, 나중에 반드시 문제가 된다. 이메일로 오면 나중에 거래처에서 말을 바꾸더라도 근거를 제시할 수 있다.

외주개발의 목적

외주개발을 진행하는 목적은, 안정적으로 제품을 사가는 고정거래처를 만들기 위함이다. 개발만 해주고 주기적인 매출을 기대하기 어렵다면 애당초 외주개발을 진행하면 안된다.

외주개발해준 제품이 한달에 100대, 아니면 2~3달에 100대씩 사가는 제품이라면, 이것들이 쌓였을때 매출에 큰 도움이 된다.

이런 우량 업체에 개발을 해주고 계속 유지보수를 해주는 관계가 형성되면, 이 업체는 다른 제품으로 갈아타기 어려워진다.

외주개발의 장점

외주개발은 힘들지만 이를 통해 많은 것을 얻을 수 있다.

  • 이 업계의 분위기를 파악할 수 있다.
  • 고객과의 소통을 통해, 고객의 니즈를 파악할 수 있다.
  • 향후 어떻게 사업전개를 해나갈지 방향설정을 할 수 있다.
  • 시장 트랜드(추이)를 파악할 수 있다.

유튜브/블로그 운영

외주개발을 하면서 얻은 조각 지식이나, 팁등을 유튜브 나 블로그를 통해 기록해 나가면, (바쁜와중에 힘이 들겠지만) 나중에 큰 도움이 된다.

유튭 구독자/ 블로그 이웃이 늘어나면서 광고효과를 볼 수도 있고, 거꾸로 유튜브/블로그를 통해 이 회사를 알게된 사람들이 제품을 구입하거나 외주개발을 맡기는 경우도 많다.

요즘은 자기가 만들고 싶은 제품이나, 하고 싶은 것들을 검색을 통해서 찾아보는 경우가 많은데, 이때 유튜브/블로그가 검색결과에 노출이 된다.

블로그 예

유튜버 예

블로그는 네이버 블로그를 추천. 다른 블로그 플렛폼도 많지만, 네이버 검색에서 주로 네이버 블로그를 노출시킴.

제가 운영하고 있는 블로그를 보면 평일 클릭수가 500회 정도 인데, 대부분 검색을 통해서 궁금증을 해결할려고 오는 사람들이다. 매일 이정도의 광고효가가 있는셈인데, 이것은 잡지광고보다 효과가 좋은편.

컴파일 블로그

농장자동화 업체를 운영하면서, 하고 있는 일을 모두 블로그에 기록하는 분

orange/index.txt · 마지막으로 수정됨: 2024/04/29 21:25 저자 Comfile Technology