Genentech - MATLAB 및 Industrial Communication Toolbox를 사용한 생물반응기의 감독 제어 알고리즘 개발 플랫폼 구축 사례
과제
솔루션
MATLAB 및 Industrial Communication Toolbox™를 사용하여 알고리즘의 신속한 개발, 디버그 및 검증을 가능하게 해주는 연속 가동 감독 제어 플랫폼 개발
결과
- 알고리즘 개발 시간을 몇 개월에서 몇 주로 단축
- 유연하고 안정적인 인프라 배포
- 잠재적 오류를 몇 분 만에 식별
생물약제 기업은 신약을 전면적으로 생산하기 전에 치료약의 생산량을 극대화하기 위해 발효 공정을 최적화합니다. 이러한 미생물 발효 작업에는 며칠 동안 생물반응기에서 온도, 영양소 공급, 산소 전달 속도, pH를 포함한 공정 설정점을 제어하는 일이 수반됩니다. 이런 설정점을 관리할 정교한 제어 알고리즘을 개발하려면 생화학 부문의 전문 지식이 필요합니다. 이후에 분산 제어 시스템에서 구현을 진행하면 숙련된 자동화 엔지니어라 해도 몇 개월이 걸릴 수 있습니다.
Genentech은 MathWorks Consulting Services의 도움을 받아 연구원이 제어 알고리즘을 신속히 개발, 시뮬레이션 및 구현할 수 있게 해주는 MATLAB® 기반 감독 제어 플랫폼을 개발했습니다. Genentech의 공정 연구원인 Ryan Hamilton 박사는 “제어 또는 알고리즘 문제로 발효에 실패하면 일정의 지연으로 이어집니다.”라고 말합니다. “우리는 MATLAB 덕분에 스크립트를 단계별로 디버그하고 알고리즘 개발 속도를 높이고 생물공정 모델을 대상으로 시뮬레이션을 실행함으로써 알고리즘 개발을 가속화하고 효율성을 대폭 높일 수 있었습니다.”
과제
Genentech은 가동 중단 시간을 줄이기 위해 DCS(분산 제어 시스템)를 도입했습니다. DCS는 Genentech의 이전 시스템보다 훨씬 더 안정적이었고 데이터 모니터링도 우수했지만, 처음에는 DCS로 인해 제어 알고리즘 개발이 더 어려워졌습니다. “DCS로 전환하면서 그동안의 가동 중단 시간 문제는 해결되었지만 제어 전략 개발 속도가 떨어졌습니다.” Hamilton의 말입니다. “기존 알고리즘의 재구현에는 6개월이 걸렸고 새 알고리즘을 개발하려면 상근직 자동화 엔지니어 지원 파트너가 필요했는데, 우리로선 지속 가능성이 떨어지는 방안이었습니다.”
Genentech 연구원들은 예전처럼 제어 알고리즘을 신속히 개발할 수 있고 알고리즘 디버그 및 검증 공정을 개선하기를 원했습니다. “DCS를 사용해서는 알고리즘을 순차적으로 실행할 수 없었고 이를 공정 모델과 함께 시뮬레이션할 방법도 없었습니다.” Hamilton은 말합니다. “이 공정에서 발견되었어야 할 간단한 오류가 발효 중에 발견되었고, 이로 인해 수천 달러의 비용과 며칠에 달하는 귀중한 실험 기간을 잃었습니다.”
솔루션
Genentech은 MathWorks의 컨설턴트와 협력하여 ECALS(External Control Algorithms) 감독 제어 알고리즘 개발 플랫폼을 개발하고 배포했습니다.
이들은 팀을 이루어 하나의 생물반응기에서 레시피, 즉 제어 알고리즘 모음을 실행하는 제어 엔진을 개발했습니다. MATLAB의 객체 지향 프로그래밍 기능을 사용하여 구축된 제어 엔진은 Industrial Communication Toolbox™를 사용하여 구현된 OPC DA 인터페이스를 통해 DCS와 통신합니다.
이후 연구원들은 MATLAB을 사용하여 제어 알고리즘과 레시피를 개발했습니다. 이 레시피는 pH, 용존 산소 수준 및 기타 환경 조건을 비롯한 생물반응기 센서 입력값, 그리고 영양소 유량 같은 제어기 설정점과 출력값을 모니터링합니다. 제어기 설정점은 필요에 따라 알고리즘 함수를 기반으로 조정됩니다.
팀원들은 레시피 설정 간소화를 위해 MATLAB으로 그래픽 인터페이스를 개발하여 연구원이 알고리즘을 선택하고, 파라미터 값을 정의하고, 파라미터화된 알고리즘을 재사용하도록 저장할 수 있도록 했습니다.
이들은 제어 알고리즘 검증을 위해 생물반응기 탱크 내부 환경의 MATLAB 모델을 개발했습니다. 이 생물공정 모델은 일련의 미분 방정식으로 구성되었고, 이 모델 덕에 팀원들은 알고리즘을 파일럿 플랜트에서 실행하기에 앞서 시뮬레이션을 통해 디버그 및 테스트할 수 있었습니다.
엔진의 핵심 기능을 검증한 후에는 모니터링, 기록, 자동 재시작, 알고리즘 버전 컨트롤 등 생산 환경에서 연속 가동을 지원할 여러 기능을 추가했습니다.
최종 검증 단계에서는 플랜트 인터페이스를 테스트하고 기술자들에게 공정이 어떻게 실행될지를 보여주기 위해 빈 탱크에서 공정을 시뮬레이션하였습니다. 이 검증 단계를 가능하게 하기 위해, 이들은 생성된 센서 출력값을 OPC 태그를 통해 전송하여 탱크에서 발효를 시뮬레이션한 ECALS 레시피 내에서 생물공정 모델을 래핑했습니다.
발효가 끝나면 팀원들은 MATLAB에서 기록된 데이터를 후처리하고 그 결과를 공정 개발과 최적화에 활용합니다.
Genentech이 자사의 파일럿 플랜트에 배포한 ECALS는 10~1,000리터 규모 생물반응기의 감독 제어를 수행합니다. 현재까지 800회 이상의 발효가 ECALS의 제어 아래 성공적으로 실행되었습니다.
결과
알고리즘 개발 시간을 몇 개월에서 몇 주로 단축: Hamilton은 “이전 시스템에서는 이미 알고 있는 알고리즘을 작성하고 디버그하는 데 연구원 두 명과 자동화 엔지니어 한 명이 6개월 동안 작업해야 했습니다.”라고 말합니다. “우리가 MATLAB으로 전환했을 땐 동일한 알고리즘을 저 혼자서 불과 2주 만에 재구현할 수 있었는데, 이는 시뮬레이션과 테스트까지 모두 포함한 기간입니다.”
유연하고 안정적인 인프라 배포: Hamilton은 “MATLAB 기반 ECALS 시스템은 1년 이상 안정적으로 작동하면서 며칠간 이어지는 여러 실험을 수행해 왔습니다.”라고 말합니다. “그동안에 겪은 가동 중단 시간은 오직 네트워크 중단에 의한 문제뿐이었습니다. 또한 Industrial Communication Toolbox를 사용하여 통신 계층을 구현한 덕에 ECALS는 모든 OPC 호환 자동화 네트워크를 사용할 수 있는 유연성도 갖추었습니다.”
잠재적 오류를 몇 분 만에 식별: “MATLAB과 우리가 개발한 생물공정 모델을 사용하면 알고리즘을 생물반응기에서 실행하기 전에 디버그하고 정상 작동하는지 검증할 수 있습니다.”라고 Hamilton은 말합니다. “몇 분 만에 시뮬레이션을 실행할 수 있고, 며칠에 달하는 실험을 허사로 돌릴 만한 잠재적 오류를 파악할 수도 있습니다.”