Q : 수집된 공정 데이터를 어떻게 보관 및 관리할 것인가?
이전 포스팅에서, 우리는 데이터를 수집하는 여러 가지 방법에 대해 이야기해 보았습니다. 제조사에서 지원하는 다양한 솔루션들과 OPC UA 그리고 파이썬이라는 프로그래밍 도구를 활용한 방법까지요. (이전 포스팅 참조하여 주시기 바랍니다.)
PHM (2) - PHM 준비 : 데이터 수집하기 1편 (feat. OPC UA)
PHM (3) - PHM 준비 : 데이터 수집하기 2편 - Python 활용하기
이제 우리는 다음 단계로, 이 수집된 데이터를 어떻게 관리 & 활용할 것인지에 대한 고민을 해야 할 것으로 보입니다. 단순히, 데이터만 축적한다고 그것이 유의미한 성과를 자동으로 가져오지는 않기 때문이지요. 모여진 데이터는 소위, 빅데이터(Big Data)라는 표현을 사용합니다. 이름에서 알 수 있듯이 일반적인 데이터보다 엄청 큰 대용량의 데이터를 이루기 때문이죠.
보통, 빅데이터는 3V라는 속성이 있다고들 이야기합니다.
- 데이터의 크기 (Volume)
- 데이터의 속도 (Velocity)
- 데이터의 다양성 (Variety)
여기다 최근에는 데이터의 정확성(Veracity)까지 포함하여, 4V라고 논하긴 하지만 전형적으로 3V를 빅데이터의 성격이라고 흔히 이야기합니다. 반대로 말하면, 3V가 충족되지 않는다면 빅데이터라고 할 수 없는 거겠지요.
또한, 그 방대한 양의 데이터를 수집한 후에는 어떻게 관리 & 활용할 것인지가? 에 대해서 의문을 가지게 될 것입니다. 보통 빅데이터를 논할 때 빠지지 않는 것이 '데이터 마이닝(Data Mining)'이라는 개념입니다.
이름에서 유추할 수 있듯이, 빅데이터라는 광산에서 유의미한 데이터를 채굴(Mining)한다는 개념이라 보시면 이해가 빠르실 것이라 생각됩니다.
비유해보자면, 일반적인 석탄이나 금 광산을 생각해 봅시다. 보통 채광을 할 때 광산 전체를 모두 캐내오진 않습니다. 유의미하게 활용도가 있는 석탄이나 금맥을 중점적으로 채굴해 활용하는 것이 일반적인 개념일 것입니다.
참고로, Data mining 기법에 대해서는, 보통 관련 전공학과에서도 한 학기 이상을 수강해야 하는 걸로 알고 있으며. 그만큼 방대한 양이기 때문에, 이번 포스팅에서는 더 자세하게 이야기하지 않도록 하겠습니다. (기회가 되면 포스팅하도록 하겠습니다.)
본론으로 들어가서, 현장에서는 데이터를 어떻게 보관 & 활용할 것인가?
본론으로 들어와, 사업장에서 수집된 데이터를 어떻게 관리 혹은 활용할 것인가에 대해서 이야기해 보겠습니다. 가장 편리하면서도 강력한 도구는 상용제품을 활용하는 것이 되겠습니다.
현업에서 관련 업무를 수행하는 분들이라면 RTDB(Real Time Database)라는 용어를 들어본 경험이 있을 것입니다. 보통 RTDB라고 하면, 공정에서 발생하는 실시간으로 데이터를 수집보관하는 Database만을 이르는 개념을 넘어서 분석 활용하는 도구로 까지 인식되는 경우가 많습니다.
대표적인 RTDB 솔루션으로,
- AVEVA의 PI system
- DataParc
- AVEVA의 wonderware historian
등을 예로 들 수 있을 것입니다.
아래 DataParc 사이트에서 설명하는 것과 같이,
RTDB는 단순히 실시간 데이터를 수집관리하는 DB의 역할을 수행함을 넘어, 데이터 시각화, 시계열 분석, 각종 모델링에 활용하는 등 사용자에게 많은 Insight를 줄 수 있도록 구성되어 있으며, 현재 다양한 자동화 생산라인뿐 아니라, 정유, 화학 플랜트, 발전 플랜트에서 광범위하게 활용되고 있는 추세입니다.
이렇게 좋은 솔루션인데, 도입을 망설이게 할 수 있는 걸림돌은?
RTDB는 이미 현업에서 다양하게 활용되고 있습니다.
하지만, 당연히 비용적인 부분이 도입을 검토하는 단계에서 숙고하게 되는 가장 큰 이유가 될 것입니다.
상황에 따라, 상용 RTDB 솔루션을 꼭 도입할 필요는 없을 수도 있습니다. 도입 시 가져올 유의미한 성과가 도입에 필요한 비용보다 크지 않다면 말이죠.
이러한 경우에는, 사업장에 맞춤하여, RTDB를 직접 C#과 같은 프로그래밍 도구를 이용하여 작성할 수도 있습니다. 일전에 경험에 의하면, 이미 관련하여, 맞춤형으로 상용 RTDB보다 저렴한 비용으로 맞춤형 RTDB를 제작/납품받아 운영해 본 경험도 있고요.
물론, C#외에 Python으로도 가능은 할 것입니다. 하지만, Python이라는 것이 C#에 비해서 그래픽 인터페이스(GUI) 작성이 원활하지 않은 부분이 있고, 각 모듈마다 안정성 측면이나 버전 호환성과 같이 여러모로 고려해야 하는 부분이 많다 보니, 개인적인 의견으로는 Python으로 RTDB를 구성하겠다는 것은 어렵지 않을까 생각됩니다.
더불어, DB의 경우에도 MariaDB나 Mongo DB와 같은 공개된 제품을 활용하는데도 비용절감에 도움이 될 것이고, 더 낮은 비용을 들이기 위해서, Excel이나 CSV 파일과 같은 방식으로 데이터를 저장하는 방법도 있을 것이라 생각됩니다.
하지만, 이는 소규모 라인에는 적합할지언정 대규모 생산라인 혹은 대규모 플랜트에서는 적절하지 않을 것으로 예상되며 현장 상황에 맞는 적절한 도구의 검토가 필요할 것으로 보입니다.
도움이 되셨다면 왼쪽 아래 '💗' 클릭 부탁드립니다. 감사합니다.
'유지보수 & 공정개선 > 스마트 팩토리 & PHM' 카테고리의 다른 글
PHM (3) - PHM 준비 : 데이터 수집하기 2편 - Python 활용하기 (0) | 2023.04.04 |
---|---|
PHM (2) - PHM 준비 : 데이터 수집하기 1편 (feat. OPC UA) (0) | 2022.02.13 |
PHM (1) - PHM(건전성 예측 및 관리) 소개 (0) | 2022.01.14 |
시작하기 - 스마트 팩토리(Smart Factory) & 4차 산업혁명(Industry 4.0) 이란? (0) | 2022.01.11 |