SCADA 개발에 불을 붙이는 4가지 방법
SCADA 개발에 불을 붙이는 4가지 방법
  • 윤진근 기자
  • 승인 2018.03.17 12:06
  • 댓글 0
이 기사를 공유합니다

더 짧은 시간에 더 많은 작업을!
개발 지옥Development Hell에 갇혀본 적이 있는가? 개발 지옥은 영화 산업에서 주로 사용하는 신조어로, 최근 수 년 동안 영화 촬영 전, 즉 프리프로덕션 단계에서 겪어온 개발 과정의 어려움을 뜻한다. 최근에는 다른 산업군의 기술자들도 이 용어를 많이 사용한다. 특히 소프트웨어 응용사례 및 응용프로그램 개발자라면 누구나 개발 지옥에 빠지게 된다.

 
현대 기술은 기업과 사회 모두에 큰 가능성을 제시하고 있다. 하지만 실질적인 기술의 개발 과정은 끝이 보이지 않고 고통스럽다. 소프트웨어 개발자에게 적합한 훈련 및 교육을 받지 않은 이들에게는 한층 더 가혹하다.

기존의 SCADA 소프트웨어는 비(非) 프로그래머의 개발을 상대적으로 간단히 만들었다. 

오늘날의 SCADA 설계자들은 대부분 신속한 애플리케이션 개발(RAD, Rapid Application Development) 기능을 통해 시각적이고 직관적인 방식으로 제품을 설계하고 있다. 제품의 견본을 쉽게 추적할 수 있는 방법을 찾고 있다면, SCADA 설계자를 찾아가 요구사항을 충족하는 것에 대한 트렌딩 그래프를 만들 수 있다.

기존의 SCADA는 기업 전체를 관통하는 효과적이고 효율적인 개발 솔루션이라는 측면에서 보았을 때 여러 제약을 가지고 있다. 태그를 통해 지불하는(Pay by the Tag) 라이선싱 및 난해한 디플로이먼트(네트워크로 제공되는 앱·웹 서비스를 실제 운용환경에서 이용할 수 있는 상태로 만드는 것. 자료 민중서림 엣센스 일본어사전)는 어떤 조직 혹은 기업에든 난제로 작용한다.

하지만 새로운 SCADA를 사용하면 기존 SCADA 장치가 가지고 있던 제약을 없애고, 공장을 비롯한 기업 내의 다양한 분야에서 활용되는 응용사례를 개발할 수 있다.

 
속도는 빠르게, 절차는 단순하게
Inductive Automation은 Ignition 플랫폼을 개발했다. Ignition은 일종의 타가수분 SCADA다. Ignition의 드래그 앤 드롭 기능을 통해 간단하게 제품을 IT 분야에서 판매 허가(라이센싱) 및 배포할 수 있다. (수술에서 꽃가루가 나와서 암술머리에 도착하는 현상을 수분이라고 한다. 타가수분은 서로 다른 유전자를 가진 두 식물 사이에 수분이 일어나는 현상을 말한다. 자료 두산백과)

Ignition은 표면적으로는 HMI·SCADA·HMS 등에 대응하는 기초적인 소프트웨어처럼 보일 수 있다. 하지만 Inductive Automation은 Ignition을 ‘소프트웨어를 구축하기 위한 소프트웨어’라고 정의한다. Ignition은 기존 SCADA가 가지고 있던 허가·배포·기술로부터의 분기점 및 실질적이고 본격적인 시발점 역할을 한다.  

설명에 따르면, Ignition은 현실적이고 실용적인 기능과 합리적인 가격이라는 두 마리 토끼를 모두 제공한다. Ignition에는 기업에 필요한 솔루션을 종류에 관계없이 신속하게 구축할 수 있는 네 가지 특별한 기능이 탑재되어있다. ▲RAD 툴 ▲편차가 적은, 한결같은 설계 경험 ▲모듈 형식의 아키텍처 ▲원활한 연결 등이 그것이다. 각각의 기능이 어떻게 크고 중요한 개발 작업을 간소화하는지 살펴보자.

 
1. RAD 도구
Ignition의 신속한 애플리케이션 개발 도구(RAD Tool)는 디자이너 애플리케이션, 객체 지향적인 개발 환경, 그리기 도구, 강력한 스크립팅 엔진 등을 담고 있다. 이들 도구는 SCADA 등의 작업에서 필요로 하는 동적 프로젝트를 보다 간단하게 생성하고, 제작시간을 줄인다. 

스크립팅에 대한 지식이 부족하거나 없을 경우 처음부터 작업에 필요한 화면을 만들기(Making a Screen)란 벅차 보이며, 이로 인해 작업자가 주눅들 수도 있다. 하지만 Ignition에 설치된 비전 모듈은 초보자에게 보다 쉬운 접근을 제공한다. 프로젝트 구축에 필요한 각각의 창(윈도), 구성요소, 템플릿 등을 독립적으로 활용할 수 있기 때문이다. 창을 열고 형태·버튼·테이블·차트 등의 각 구성요소들을 끌어다 놓음으로써 손쉽게 활용할 수 있게 된다.

예를 들어 물탱크 위에 HMI 스크린을 띄워야 하는 경우, 프로그램을 통해 탱크에 해당하는 사전구성요소를 선택하기만 하면 된다. 프로그램이 가지고 있는 사전구성요소로는 파이프나 펌프 등 제조환경에서 볼 수 있는 다양한 도구 및 이들이 구축한 환경에 대한 것들을 포함한다. 또한 벡터 드로잉 및 애니메이션을 보다 쉽게 만들고, 이렇게 만들어진 그림들을 드래그 앤 드롭으로 작업공간으로 가지고 올 수 있다.

Ignition은 구성요소 및 템플릿을 별도의 창에서 다시 사용할 수 있으므로 작업시간을 줄일 수 있다. 템플릿 설계를 변경할 경우, 사용자가 만드는 변경사항이 해당 템플릿을 사용하는 모든 창에 자동으로 반영된다. 또한 시각적 요소들을 사용해 구성요소의 현실적인 정보를 반영하고 이러한 특성 및 성질을 결합할 수 있다. 대표적으로 태그·성질 및 특징·SQL(구조적 질의 언어)쿼리 결과 등이 있다.

Ignition은 파이썬 스크립팅 엔진을 탑재하고 있다. 그래픽 스크립트 개발 도구를 활용할 수 있음을 뜻한다. 스크립트를 일일이 작성하는 대신 몇 번의 클릭만으로 전체 프로젝트를 만들 수 있다. 스크립트 개발 도구를 활용해 스크립트를 제거하지 않고도 이벤트 핸들러(마우스 클릭 혹은 성질 및 특징 변경 등에 대한 변화 등에 시스템이 반응하는 방식을 지시하는 역할을 한다)를 설정할 수 있다.

스크립트를 작성할 수 있고, 특정한 프로젝트에서 어떤 스크립트를 어떻게 사용해야 하는지 알고 있는 경우에도 Ignition을 통해 보다 원활하게 작업을 수행할 수 있다. 한 번 코드 블록을 작성하면 어디에서나 사용할 수 있는 스크립트 모듈을 만들 수 있다. 또한 드래그 앤 드롭 설계와 스크립트 설계를 조합할 수도 있다. 어떤 방법이든 보다 쉽고 빠른 접근을 실현한다.

2. 편차가 적은 설계 경험
웹 기반 프로그램인 Ignition 디자이너는 지나치게 제한적이거나 복잡한, 혹은 각 설계자마다 개별적인 라이선스를 구입해야 하는 여타 HMI 및 SCADA 소프트웨어와 차이점이 있다. Ignition 디자이너는 각 사용자의 경험 편차가 적은 설계를 제공한다. 하나의 공간에서 어떤 방법으로든, 어떤 것이든 설계할 수 있도록 만드는 것.

제어 기술자가 기존의 SCADA를 통해 프로젝트를 설계할 경우 각기 다른 여러 창 사이를 전환해가며 작업해야 한다. 템플릿 설계 창, (앞의 것과는 다른)새로운 설계 창, 전개 및 배치 애플리케이션, 라이선싱 응용사례, 그래픽터미널(컴퓨터에서 도형의 입력이나 표시, 그리기 따위를 수행하는 것. 출처 국립국어원) 응용사례 등 여러 창을 띄워야 하는 것이다. 

Ignition 디자이너를 활용하면 각기 다른 응용사례를 동시에 작업하는 것이 보다 쉽고 간단해진다. 디자이너 창을 감추거나 다른 창으로 이동할 필요 없이, 하나의 창에서 다양한 응용사례에 대해 작업할 수 있기 때문이다.

기존의 SCADA를 통해 설계할 때 발생하는 문제점 중 하나는, 하나 이상의 설계 클라이언트를 동시에 활용할 수 없다는 것이다. 반면 Ignition 디자이너를 활용하면 사실상 무제한의 설계 클라이언트를 통해 동시 개발을 실현할 수 있으며, 그에 따라 여러 개발자들이 하나의 프로젝트를 동시에 작업할 수 있게 된다. 

동시 개발은 프로젝트 관련 작업에 있어 다양하고 새로운 방법을 제시한다. 예를 들어 한 설계자는 알람 알림 관로(파이프라인)을 구성하고, 다른 설계자는 연속 기능 차트(Sequential Function Qharts, SFC)를 구성하여 두 설계 사이를 자유로이 전환하며 작업할 수 있다.

 
3. 모듈 형식의 아키텍처
Ignition 플랫폼과 기존 SCADA와의 또 다른 차이점은 모듈 형식의 아키텍처이다. Ignition은 Ignition 플랫폼에 기반을 둔 모듈을 제한 없이 지원하기 위해 만들어졌다. 새로운 모듈을 Ignition에 연결하여 시스템에 통합함으로써 설계자의 작업 공간(Workplace), 게이트웨이 설정, 드라이버 등 새로운 기능을 활용할 수 있다.

또, 다양하고 폭넓은 모듈을 Ignition에 추가할 수 있으며, HMI·SCARA·MES(Manufacturing Execution System)·표준 범위에서 벗어난 제품 등 어떤 종류의 모듈이든 구축할 수 있다. 

Ignition에서 일반적으로 사용하는 기능은 실제로는 각기 다른 모듈의 기능을 조합하는 것이 대부분이다. 예를 들어 OPC 자료와 SQL 데이터베이스를 연결하는 것은 SQL 브리지 모듈의 몫이다. HMI 및 SCADA 클라이언트를 웹 기반에서 실현하는 것은 비전 모듈의 공이 크다. 

모듈 형식 아키텍처는 부드럽고 원활한 작동을 도우며, 시스템의 다른 부분에 차질을 일으키거나 영향을 미치는 일 없이 모듈을 설치·제거·업그레이드할 수 있다. 이는 개발 측면에서 이점으로 작용한다.

위험 수준이 상대적으로 낮다는 것은 작업이 보다 자유로움을 의미한다. 모듈을 더 이상 작동할 필요가 없다면 손쉽게 제거할 수 있다. 모듈을 제거하더라도 기저에 있는 근본적 플랫폼은 계속해서 정상적으로 동작한다. 

모듈이 보편적이고 공통적인 플랫폼을 기반으로 하고 있다는 것은 여타 SCADA 시스템에 비해 적은 버그 및 높은 안정성을 달성할 수 있음을 의미한다. 장기적인 관점에서 보면 Ignition의 모듈 방식은 기존 확장이 간단하고 저렴하다. 비현실적이고, 터무니없이 비싼 여타 시스템과의 차이점이다.

4. 원활한 연결
Ignition은 통합 플랫폼을 통해 연결하는 다양한 모듈의 원활한 연결을 보장한다. 뿐만 아니라 여타 프로그램·장치·장비·데이터베이스 등과도 원활하게 연결할 수 있다. 자바·OPC UA·SQL 데이터베이스 연결을 통해 기업 전체에 걸친 크로스 플랫폼을 실현한다. IT 관련 부서에서 흔히 사용하는 자바 및 SQL 데이터베이스를 통해 고급 자료를 관리·처리·보고할 수 있다. 
(크로스 플랫폼이란, 응용 소프트웨어나 하드웨어를 여러 운영 체제에서 공통적으로 사용하는 것, 또는 공통적으로 이용 가능한 운영체제나 컴퓨터 본체의 개발 환경을 말한다. 자료 컴퓨터인터넷IT용어대사전)
 
Ignition은 자바를 완전하게 내장한 SCADA 소프트웨어로, SCADA 소프트웨어에 대한 새로운 경지를 개척했다. 이를 통해 각기 다른 플랫폼 간의 호환 및 양립을 실현했으며, 일종의 망網을 형성해 한층 원활한 작업을 보장한다.

Ignition은 PLC 데이터를 SQL 데이터베이스에 삽입할 수 있으므로 기업 내에서(즉, 외부의 힘을 빌리지 않고) 서로 다른 시스템을 읽을 수 있다. 이는 기업의 각기 다른 분야 및 영역에서 온 정보를 손쉽게 계층화할 수 있음을 의미한다(대표적 예가 ERP 데이터이다). SQL 데이터베이스와의 연결 또한 PLC의 그것과 비슷한 위치에 있다. 이러한 기능을 활용함으로써 효율과 수익성을 높일 수 있는 기회를 창출한다.

OPC-UA는 자동화 산업의 표준 크로스 플랫폼 프레임워크다. 실시간 자료 및 과거 자료에 접근하기 위한 뼈대 역할을 한다. Ignition에 OPC-UA 모듈을 설치하면 OPC-UA 서버 및 클라이언트 기능을 사용할 수 있다. 이를 활용해 다양한 제어 네트워크에 연결할 수 있고, 쉽게 새로운 하드웨어를 통합하며, 각 구역의 PLC 및 원격 PLC에 접속하고, 다양한 제3자 OPC-UA 서버로의 접근 및 연결을 돕는다.

OPC-UA는 SCADA에서 ERP에 이르기까지 기업 내의 다양한 시스템과 연결할 수 있는 열쇠다. 공장에서 임원 사무실에 이르기까지 모든 구역의 자료를 완벽하게 통합할 수 있다. 또한 모든 부서의 어떤 자동화 시스템이라도 손쉽게 구축한다. 
OPC-UA를 사용하면 원활한 연결을 통해 판매 전에 패키지화된(Prepackaged) 솔루션을 사용하면서 해결책을 갈구하거나 서로 양립할 수 없는(즉, 호환성이 매우 낮은) 프로그램을 동시에 사용하지 않아도 된다. 사용자가 필요로 하는 것만을 신속하게 취사 구축할 수 있다.

Ignition은 HMI·SCADA·MES 프로젝트 등 사용자의 시스템 구축에 제한을 두지 않는다. 
Ignition을 활용해 독자적인 고객 관계 관리(CRM) 시스템을 구축할 수도, 다양한 지역에서 발생한 자료를 중심 지역에 집중적으로 기록할 수도 있고, ERP를 통해 작업현장 정보를 직접 갱신할 수도 있으며, 고립되고 외떨어진 데이터베이스로부터 자료를 옮길 수 있고, 보다 관리가 용이한 경고체계를 설정할 수 있다. 또한 문서관리시스템에 쉽게 접근할 수 있도록 하며, ‘종이 없는’ 공장으로 만들 수도 있다. 보다 나은 SCADA 프로그램을 통해 구축 및 실현할 수 있는 사항들은 무한하며, 가능성은 언제나 열려있다.

어떤 장치 및 시스템을 필요로 하든, PLC 자료를 처리하는 응용사례를 만들거나, 시간이 많이 들고 인적자원이 필요한 서류작업을 돕는 등, 전사적(全社的) 아이디어를 떠올리는 것은 돈이 드는 일이 아니다. 현재는 보다 많은, 다양한 기술을 연결할 수 있다. 이는 기술뿐 아니라 직원 및 고객에 이르기까지 여러 사람들이 보다 자유로이 이어질 수 있음을 뜻한다.

 
끝없는 개발에서 무한한 가능성으로
새로운 SCADA인 Ignition은 현대적이고 IT 친화적인 기술 및 무제한적인 태그·고객·연결 등을 지향하는 서버 기반 라이선싱 기술을 담고 있다. 디자이너 도구와 모듈 형식의 아키텍처 그리고 원활한 연결 등을 위시한 신속한 개발 도구들은 공장뿐 아니라 기업 전반에 걸쳐 이상적인 개발 도구를 만들 수 있도록 돕는다. 

Ignition은 또한 보다 적은 노력을 쏟아도 프로젝트를 구현할 수 있도록 만든다. 따라서 상대적으로 프로젝트 자체에 대해 정의하고 규정하는 데에 집중할 수 있다. 전체 개발기간을 단축시킬 수 있는 비결이다. 
 
정확히 어떤 프로젝트를 완수할 것인지 정의하기만 하면 SCADA 소프트웨어를 통해 빠른 속도로 프로젝트를 구축할 수 있다. 기존에는 수 개월이나 걸리던 작업을 수 주 혹은 수 일 안에 해낼 수 있다. 이로 인해 프로젝트 진행 혹은 개발 도중에 구체적인 내용을 변경할 가능성이 낮아진다. 사전에 보다 확실하게 프로젝트의 목표 및 방향을 세울 수 있는 것. 혹 프로젝트에 대한 정의 혹은 내용을 변경해야 하는 경우가 발생해도 기존처럼 수 주 혹은 수 개월이나 되는 시간을 내던지는 일 없이 빠르게 작업을 수행할 수 있다.

만들고 싶은, 혹은 이뤄내고 싶은 것이 생겼다면, 그리고 그것이 비용·위험·시간·기술적 장애물 때문에 좌절을 겪지 않는다면, SCADA 소프트웨어는 목표를 실현할 수 있는 추진력을 제공한다. 프로젝트 개발에 필요한 도구를 제공하는 것은 물론, 매우 유동적이며 실행이 용이한 방법을 보장한다. 

개발 과정은 더 이상 끝없이 길고, 우여곡절이 많고, 복잡하지 않다. 쉽고도 즐겁게 혁신적인 것들을 만들어낼 수 있다. 새로운 것을 만드는 것에 대한 내면의 열정을 재발견했을 때, 혁신은 자연스레 뒤따르기 마련이다.

주요기사
이슈포토