Q : OPC UA가 좋은 솔루션인것은 알겠는데, 초기 라이센스 비용이 부담된다면???
안녕하세요? 데이터 위자드 시모입니다.
우리는 지난 PHM 포스팅에서 PHM(Prognostics and Health Management 건전성 예측 및 관리)이 무엇인지에 대해서 그리고 PHM을 구성 / 활용하기 위해서 어떻게 공정 데이터를 수집할 것인가?라는 질문에 대해서 이야기해 보았습니다.
그 질문에 대한 대답으로 우리는 OPC UA라는 솔루션에 대해서도 잠깐 짚고 넘어갔었고요.
* 이전 포스팅 참조해 주세요 ^^
PHM (2) - PHM 준비 : 데이터 수집하기 1편 (feat. OPC UA)
앞서 소개한 바와 같이, OPC UA는 도구는 범용적이면서도 강력한 도구임에는 이견이 없을 것이라 사료됩니다. 사업장에 따라 다르겠지만, 어느 정도 규모가 있는 사업장이라면 초입 도입 시 발생되는 비용에 대해서도 크게 염려되지 않을 것이라 생각됩니다.
하지만, 사업장에 따라 OPC UA 초기 라이선스 비용 및 외주 작업을 통한 엔지니어링 비용 등이 부담될 수 있는 면이 어느 정도는 있을 것입니다. 또한, 데이터 분석과 그를 활용하여 생산성이 개선된다는 의견만 가지고 초기 비용을 부담하는 것은 은 의사결정권자에게도 막연하게 느껴질 수도 있겠지요.
이러한 고민 속에 저비용으로 시범적으로 구성할 수 있는 방법은 뭐가 있을까요?
다양한 방법이 있을 수 있겠지만, 이번 포스팅에서는 Python을 이용해 공정 데이터를 수집하고 관리하는 방법에 대해서 얘기해 보겠습니다.
Python으로 공정 데이터 수집을 어떻게 할 수 있는가?
본론에 앞서, Python 직접 Coding 하여 공정 데이터를 수집하는 것은 OPC UA나 다른 솔루션에 비해서 상대적으로 비효율적인 면이 있을 수 있습니다. 몇 가지 이유를 들자면,
- Python으로 직접 코딩하는데 드는 실무자(엔지니어)의 시간과 비용
- 적절하지 않은 코딩으로 연결 시, 원하는 데이터와 결괏값을 올바르게 수집하지 못할 가능성
- Python 라이브러리의 호환성 / 안정성. 등
등의 이유를 들 수가 있을 것입니다.
다른 이유를 차치하고라도,
1번으로 거론된 실무자(엔지니어)의 시간과 비용을 계산한다면, 상황에 따라서는 OPC UA와 같은 솔루션을 도입하는 것이 훨씬 경제적 / 합리적일 수 있다는 것이지요. (이 점은 사업장마다 혹은 공정마다 각각 다른 케이스가 될 것이기 때문에 실무자 분들의 적절한 검토가 수반되어야 할 것으로 보입니다.)
물론, Python으로 하면 더 합리적인 경우도 있을 것입니다. 상황을 예를 들자면,
- 소규모 사업장에서 거의 대부분 수작업으로 진행하나, 포장기와 같은 일부만 PLC로 구성되어 있으며 이 데이터만 수집 관리하고 싶을 경우
- 전체 사업장이 Allen Bradley PLC 시스템으로 적용되어 있고 기존에 OPC가 구성되어 있으나, 외부에 일부 유틸리티 시설 (공조기, 집진설비, SCADA 등)의 Controller에서 데이터를 보고 싶은 경우
- OPC 구축이 안되어 있는 곳에서, 고장 진단을 위해 한시적으로 데이터를 수집하여 활용하고 싶은 경우
제 경험상 보통, Historian, SCADA와 같은 모니터링 시스템이 구축되지 않은 현장에서 과거 고장 이력등을 한시적으로 모니터링해 보려는 목적으로 Python을 활용해 데이터를 수집해 본 경험이 더러 있습니다. SCADA나 OPC를 구축해서 모니터링하고 관리한다면 더 좋겠지만, 시간과 비용의 제약상 빠르게 접근하여 분석하기에는 Python 만 한 도구가 없다고 생각합니다.
여하튼, 어떠한 솔루션이라도 상황에 맞는 적절한 선택이 수반되어야 할 것입니다. 소위 말하는 닭 잡는데 소 잡는 칼을 사용하면 곤란해질 테니까요.
파이썬 연결 및 데이터 수집 방법에 대해
파이썬을 통한 PLC 혹은 여타 컨트롤러에 대한 연결과 데이터 수집은 따로 포스팅하고 있습니다.
.
다만, 앞서 언급한 과업을 원활히 수행하기 위해서는,
- 공장 자동화에서 사용하는 필드버스에 대한 이해
- PLC / DCS 등 각 사업장에 적용된 공장 자동화 시스템에 대한 전반적 이해
- Python 프로그램에 대한 이해
가 수반되어야 할 것입니다.
1번, 2번의 경우라면, 현장에서 업무를 담당하시는 실무자 분들께서는 익히 알고 계신 사항이라 생각됩니다. 관련하여 많은 자료들이 블로그와 카페 등 인터넷으로 쉽게 찾아보실 수 있으실 것이라 생각됩니다. (저 역시, 지속적으로 블로그에 해당 내용들을 포스팅하겠습니다.)
3번 Python에 대한 부분에서 아마 생소함을 느끼시는 분들이 많으실 것이라 사료됩니다.
저 역시 Python은 과거 몇 해 전 Big Data 관련 세미나를 듣게 되면서 접하게 되었는데, 생각보다 활용도가 높아서 즐겨 사용하는 프로그램 언어입니다. (여타 다른 프로그램 언어에 비해 배우기도 쉽고 훨씬 직관적인 점도 맘에 들고요.)
Python에 대한 내용 또한, 본 블로그에 지속적으로 업데이트하도록 하겠습니다.
글 마무리하며
이번 포스팅에서는, 현장에서 공정 데이터를 어떻게 가져올 것인지에 대해서 2편으로, Python을 이용한 공정 데이터 수집에 대해서 논하였습니다.
저 또한, 경험상 현장에서 Python으로 데이터를 가져오는 것이 흔하게 발생하는 일은 아닙니다. 하지만, 이 점을 미리 알고 있다면, 현장에서 어떠한 문제가 발생하였을 때, 그리고 그것을 빠르게 모니터링해야 하는 경우라면 대단히 유용하게 사용될 수 있을 것입니다.
Python에 대해서는 지속적으로 업데이트 예정이오니, 참고하여 주시기 바라며, 기타 문의사항은 댓글이나 메일로 주시면 도움드릴 수 있도록 하겠습니다.
도움이 되셨다면 왼쪽 아래 '💗' 클릭 부탁드립니다. 감사합니다.
'유지보수 & 공정개선 > 스마트 팩토리 & PHM' 카테고리의 다른 글
PHM (4) - PHM 데이터 보관하기 : RTDB 활용하기 (0) | 2023.04.10 |
---|---|
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 |