반응기 자켓에는 가열용 증기 밸브와 냉각용 냉수 밸브가 있었고, 둘 다 하나의 온도 컨트롤러로 구동됐다. 문서상으로는 교과서적인 스플릿 레인지였다. 컨트롤러 출력 0–50%는 냉각 밸브를 열고, 50–100%는 증기 밸브를 연다. 그런데 실제로는 온도가 설정값보다 1도쯤 낮은 곳에 앉아 끝내 도달하지 못했고, 유틸리티 요금은 엉망이었다. 두 밸브 포지셔너에 스코프를 걸어 보니 답은 분명했다. 50% 부근에서 냉수 밸브가 아직 8% 열려 있는데 증기 밸브는 이미 열리기 시작하고 있었다. 루프는 가열과 냉각을 동시에 하고 있었고, 컨트롤러는 그 오버랩이 가장 심한 바로 그 지점에 출력을 태연히 붙들고 있었다.
이것이 스플릿 레인지 제어의 전부다. 개념은 하찮을 만큼 간단하다. 하나의 컨트롤러 출력을 둘(또는 그 이상)의 최종 제어 요소로 부챗살처럼 펼치고, 각 요소가 출력 스팬의 한 구간을 담당하게 한다. 문제는 전부 그 이음매에 산다.
스플릿이란 실제로 무엇인가
컨트롤러 출력(CO)이 0–100%로 움직인다. 그 스팬을 잘라 각 조각을 밸브에 배정하고, 밸브마다 신호 특성화기(characterizer)를 두어 그 조각을 다시 해당 요소의 전체 0–100% 스트로크로 되돌려 스케일링한다. 전형적인 가열/냉각 구성은 이렇다.
- CO 0–50% → 냉각 밸브가 100% → 0%로 움직임 (CO=0에서 완전 개방, CO=50에서 폐쇄)
- CO 50–100% → 가열 밸브가 0% → 100%로 움직임 (CO=50에서 폐쇄, CO=100에서 완전 개방)
따라서 CO=50에서는 (명목상) 두 밸브 모두 닫혀 있고 공정은 관성으로 흘러간다. 50 아래에서는 냉각, 위에서는 가열이다. 컨트롤러는 밸브가 둘이라는 사실을 알지도 신경 쓰지도 않는다. 컨트롤러가 보는 것은 출력 하나와 PV 하나뿐이다. 스플릿 레인지 로직은 전부 PID 블록 하류에 있으며, 대개 한 쌍의 스케일링/특성화 블록(DCS의 SPLTR 또는 CHARC 블록, 또는 PLC라면 스케일-후-클램프 렁 두 개)으로 구현된다.
시운전할 때는 mA 값을 머리에 넣고 다녀라. 현장에서 계측기로 읽는 숫자가 그것이기 때문이다. 4–20 mA 출력에서 스팬 1%는 0.16 mA다. 그래서 50% 스플릿은 12.00 mA에 앉고, 그 양쪽에 의도적으로 둔 2% 갭은 폭이 0.32 mA다. 휴대용 계측기로 편하게 분해할 수 있는 0.1 mA의 한 배 반쯤이고, 헐렁한 포지셔너의 디더 대역 안에 충분히 들어간다. 피드백 쪽은 NAMUR NE 43이 믿어도 되는 구간을 정해 놓았다. 3.8–20.5 mA가 유효 측정 범위이고, 3.6 mA 이하는 0% 스트로크가 아니라 신호 고장이다. 포지셔너 피드백 3.7 mA는 닫힌 밸브로 위장한 단선이고, 스플릿 레인지에서는 그 거짓말이 당신이 찾는 바로 그 오버랩을 가린다.
pH 제어도 같은 패턴이다. 한쪽 절반은 산, 다른 절반은 가성소다다. 압력 제어는 공급 밸브와 벤트 밸브로 같은 일을 한다. 공정 변수를 양방향으로 밀어야 하는데 단일 요소로는 둘 다 할 수 없는 곳이면 어디든, 스플릿 레인지가 값싼 답이다.
"닫힘"은 0이 아니라 누설 등급이다
오버랩을 따지기 전에, 닫힌 밸브가 얼마를 흘리는지부터 정직하게 보자. 시트 누설 등급은 ANSI/FCI 70-2에서 온다(IEC 60534-4가 같은 내용을 다룬다). Class II는 정격 용량의 0.5%, Class III는 0.1%, Class IV는 0.01%까지 허용하고, Class V와 VI는 더 빡빡하다. Class VI는 퍼센트가 아니라 기포 개수로 규정되는데, 숫자가 얼마나 작아졌는지 그것으로 알 수 있다.
Class IV로 납품된 범용 글로브 밸브는 신호 0%에서도 정격 유량의 만분의 일까지 흘린다. 큰 자켓이라면 보통 무시할 양이다. 그런데 작은 자켓의 최악 승온 조건으로 사이즈가 잡힌 증기 밸브에서, 냉수로 온도를 붙들고 있는 자켓이라면, 정격 용량의 0.01%는 냉각 밸브가 온종일 값을 치르는 실제 열 유입이다. 특성화기를 어떻게 튜닝해도 없어지지 않는다. 관성으로 흘러가야 할 루프에서 냉각 밸브가 끝까지 닫히지 않는 트렌드가 보이면, 재튜닝 전에 증기 밸브 데이터시트의 누설 등급을 먼저 확인하라.
스플릿 지점은 50%가 아니다
기본값은 전환점을 50%에 두는 것이고, 그건 대개 틀렸다. 스플릿 지점은 공정이 정상 상태에서 대부분의 시간을 실제로 머무는 곳에 놓여야 한다. 반응이 발열이라 반응기가 평생 약간의 냉각을 필요로 한다면, 스플릿을 60%나 70%에 두어 정상 운전 출력이 냉각 밸브 구간 안쪽에 여유 있게 자리 잡고 조절할 공간을 갖게 하라. 그래야 동특성이 다른 두 밸브 사이를 작은 외란에도 오가는 이음매 바로 위에 출력이 걸터앉지 않는다.
스플릿 지점에 눌러앉는 것이 내가 가장 자주 보는 실패다. CO가 전환점 주위로 몇 퍼센트씩 진동하면, 매 사이클마다 한 밸브에서 다른 밸브로 제어권이 넘어간다. 두 밸브는 게인도, 스트로크 속도도, 설치 특성도 다르다. 그래서 넘어갈 때마다 루프 거동이 바뀌고, 한쪽에서는 멀쩡하던 튜닝이 반대쪽에서는 채터링한다.
다만 스플릿을 옮기는 건 공짜가 아니고, 그 대가는 현장에 가기 전에 계산으로 나온다. 각 특성화기는 자기 CO 조각을 전체 스트로크로 매핑하므로, 게인은 100을 조각 폭으로 나눈 값이다. 50/50 스플릿에서는 두 특성화기 모두 게인이 2.0이다. CO 1%가 활성 밸브의 스트로크 2%를 산다. 스플릿을 70%로 옮기면 냉각 측은 100/70 = 1.43으로 떨어지고 가열 측은 100/30 = 3.33으로 올라간다. 증기와 냉수 쪽이 각자의 공정 게인 차이를 보태기도 전에, 절점 위치만으로 두 절반 사이에 2.3:1 게인 비가 생긴 것이다. 냉각 측에 딱 맞는 PID 게인은 출력이 70%를 넘는 순간 2.3배 과격해진다.
그래서 중심에서 벗어난 스플릿과 고정된 튜닝 한 세트는 같이 갈 수 없다. 스플릿을 옮긴다면 같은 작업에서 게인 스케줄링까지 계획하라.
오버랩과 갭: 독을 고르고, 측정하라
실제 밸브는 정확히 같은 신호에서 착좌하지 않는다. 이음매에서 두 가지가 잘못된다.
- 오버랩 — 스플릿 근처에서 두 밸브가 모두 조금씩 열려 있다. 가열과 냉각을 동시에 하고, 유틸리티를 태우며, 컨트롤러에게 그것이 숨기 좋아하는 부드럽고 게인 낮은 구간을 준다(위의 내 반응기). 낭비이고, 0을 지나는 바로 그 지점에서 루프를 굼뜨게 만든다.
- 갭(데드밴드) — 스플릿 주위의 출력 대역에서 어느 밸브도 아무것도 하지 않는다. 루프는 그 대역을 지나는 동안 개루프가 되고, CO가 갭을 벗어날 때까지 PV가 표류하다가, 밸브가 확 열리며 오버슈트한다. 주기적 헌팅이다.
이 둘 사이 선택은 두 특성화기 절점을 어디에 두느냐로 정해진다. 나의 기본값은 오버랩이 아니라 의도적인 작은 갭이다. 가열과 냉각을 동시에 하는 것이 거의 언제나 더 비싼 실수이기 때문이고, 적당한 갭이 앗아가는 약간의 응답 속도는 튜닝으로 되찾을 수 있기 때문이다. 다만 갭은 어떤 개루프 대역도 부담이 되는 빠르고 타이트한 루프(압축기 서지, 일부 압력 작업)에서는 정말로 나쁘다. 거기서는 오버랩, 또는 더 나아가 밸브 위치 제어가 이긴다.
금속이 실제로 어디서 착좌하는지는 현장 측정값이고, 그 측정에는 표준 시험법이 있다. ANSI/ISA-75.25.01, Test Procedure for Control Valve Response Measurement from Step Inputs다. 스플릿을 가로질러 특성화기 출력을 작은 단위로 스텝시키고, 지령 신호가 아니라 포지셔너 피드백을 기록하라. 여기서 중요한 숫자가 둘 나온다. 스트로크가 시작되기까지 줘야 하는 신호 변화량인 데드밴드, 그리고 지령 스텝의 63%에 도달하는 시간인 T63이다. 두 밸브 각각에서, 스플릿 양쪽에서 둘 다 측정하라. 데드밴드가 1.5%인 밸브는 2% 갭을 지킬 수 없고, T63이 상대 밸브의 세 배인 밸브는 절점을 어디에 두든 넘겨줄 때마다 덜컹거린다.
게인 점프, 사람들이 잊는 부분
스플릿이 완벽하더라도, 가열 측 공정 게인이 냉각 측과 같은 경우는 드물다. 자켓으로 들어가는 증기 밸브와 같은 자켓으로 들어가는 냉수 밸브의 공정 게인은 몇 배씩 차이 날 수 있다. 여기에 중심에서 벗어난 스플릿이 만드는 특성화기 게인 비까지 더하면, 하나의 PID 튜닝 세트가 양쪽 절반 모두에 맞을 가능성은 없다. 냉각에 맞게 날카롭게 튜닝하면 가열에서 불안정해지고, 반대도 마찬가지다.
내가 손대는 순서대로 방안은 이렇다.
- 밸브를 특성화하여 각 밸브가 자기 구간에서 대략 선형인 설치 게인을 내게 하라. 게인 불일치의 절반은 사실 밸브 고유 특성이다. 용어는 IEC 60534-1에 정의돼 있다. 등비율(equal percentage) 트림은 같은 스트로크 증분에 대해 유량 계수가 같은 비율로 변하므로 열릴수록 게인이 올라가고, 선형 트림은 그렇지 않다. 한 루프의 두 절반에 등비율 증기 밸브와 선형 냉수 밸브를 물려 놓으면 둘은 결코 비슷하게 거동하지 않는다. 그걸 특성화기에서 고치는 것은 공짜다.
- PID에 게인 스케줄링 — 스플릿 아래에 한 세트, 위에 다른 세트의 튜닝 상수. 요즘 컨트롤러는 대부분 이를 직접 지원한다. 두 공정이 진짜로 다를 때의 정직한 해법이고, 스플릿이 중심에서 벗어난 순간에는 선택이 아니라 필수다.
- 루프를 아예 분리 — 가열과 냉각을 별도 컨트롤러로 두고 두 설정값 사이에 오프셋을 주며, 서로 싸우지 않도록 조율한다. 설정은 더 많지만 두 측의 동특성이 극단적으로 다를 때는 하나의 루프를 고문하는 것보다 깔끔하다.
둘을 평균 내어 하나의 어중간한 튜닝으로 만들려 하지 마라. 한쪽에서는 굼뜨고 다른 쪽에서는 신경질적인 루프가 나오고, 운전원들은 결국 수동으로 돌리게 된다.
시운전 체크리스트
인계 전에 확인할 가치가 있는 몇 가지.
- 두 밸브의 태그를 구분하라. 컨트롤러 하나, 최종 요소 둘이다. ISA-5.1을 따르면 컨트롤러는 TIC-101(T는 온도, I는 지시, C는 제어)이고 밸브는 TV-101A와 TV-101B다. 두 밸브가 태그 하나를 공유하면 포지셔너 교정 기록이 스플릿의 엉뚱한 절반에 적용된다.
- 고장 방향. 신호 상실 시 각 밸브는 어느 쪽으로 가는가? 증기는 대개 닫히는 쪽으로, 냉각은 공정을 무엇이 보호하느냐에 따라 열리거나 닫히는 쪽으로 고장나야 한다. 포지셔너 고장 동작과 특성화기의 0% 끝단이 일치해야 한다. 그렇지 않으면 통신 두절이 당신을 위험한 곳에 세워둔다.
- 동작 방향. 공정에 맞게 컨트롤러 동작(정동작/역동작)을 먼저 맞추고, 각 특성화기가 자기 밸브를 올바른 방향으로 보내는지 확인하라. 출력을 올리면 냉각 밸브가 열리도록 스플릿을 배선하기 쉽다. 반대로 되면 루프가 폭주한다.
- 이음매에서 덜컹거림 없이. CO를 수동으로 스플릿 지점을 통과하도록 램프시키며 두 피드백을 지켜보라. 한 밸브가 다른 밸브로부터 넘겨받을 때 전체 가열/냉각 부하에 점프 없이 매끄러워야 한다.
- 클램프하고, 한 구간이 넘어가지 않게 하라. 각 특성화기 출력은 0과 100에서 단단히 클램프돼야 한다. IEC 61131-3에서는 표준 함수
LIMIT(MN, IN, MX)가 그 일을 한다. 특성화기마다 한 번씩 호출하면 끝이고, 나중에 누가 잘못 손댈 IF 체인을 쓸 이유가 없다. 냉각 계산이 살짝 음수로 가게 하는 연산 오류는, 아날로그 출력 블록이 범위 초과를 어떻게 처리하느냐에 따라 밸브를 랩어라운드시키거나 끝단에 붙여버릴 수 있다. - 동시 개방은 알람이 아니라 진단으로 보내라. 느린 쪽 밸브의 스트로크 시간보다 길게 두 피드백이 몇 퍼센트 이상 떠 있으면 기록할 가치가 있다. 그런데 ISA-18.2(IEC 62682로 발행)는 알람을 운전원의 대응을 요구하는 것으로 정의한다. 새벽 3시에 누설되는 시트에 대해 운전원이 할 수 있는 일은 없다. 정비 쪽으로 돌리고 알람 집계에서 빼라.
- 안티 와인드업은 여전히 적용된다. 한 밸브가 완전히 열려 포화됐는데도 PV가 움직이지 않으면, 포화된 여느 루프처럼 PID 적분기가 와인드업한다. 그리고 여기서는 회복하기 전에 반대쪽 절반으로 깊숙이 감긴다. 외부 리셋이나 백 캘큘레이션이 컨트롤러 자신의 0–100%가 아니라 실제 밸브 한계에서 공급되도록 하라.
한 가지만 기억한다면 이것이다. 시운전 중 스플릿 지점 주위에서 두 포지셔너 피드백에 스코프를 걸고, 정상 운전에서도 한동안 트렌드로 지켜보라. 굼뜨든, 헌팅하든, 비싸든 거의 모든 스플릿 레인지 불만은 이음매에서 잘못된 그림으로 드러나며, 그것은 컨트롤러 페이스플레이트만으로는 보이지 않는다.