Process Control, Network Systems, and SCADA
14.1 Types of Processes
프로세스 제어(process control)란 공정을 자동으로 제어하는 것을 의미합니다. 이러한 시스템은 일반적으로 센서로부터 전달되는 아날로그 신호를 다룹니다. PLC가 수학 기능을 수행하고 아날로그 신호를 활용할 수 있다는 점은 이와 같은 종류의 제어에 매우 적합하게 만듭니다. 제조 과정은 원재료(raw material)에 일련의 공정을 적용하는 방식으로 이루어집니다. 프로세스 제어 시스템의 대표적인 적용 사례로는 자동차 조립, 석유화학 공정(petrochemical production), 정유(oil refining), 발전(power generation), 식품 가공(food processing) 등이 있습니다.
연속 공정(continuous process)은 시스템의 한쪽 끝에서 원재료가 투입되고, 시스템의 다른 쪽 끝에서 완제품이 나오는 방식으로, 공정 자체는 계속해서 연속적으로 수행됩니다. 그림 14-1은 자동차 엔진 조립 라인에서 사용되는 연속 공정을 보여줍니다. 부품들은 일련의 스테이션(station)을 통해 조립 라인 형식으로 순차적으로 장착됩니다. 조립과 조정은 자동화 기계 장치와 수동 작업에 의해 수행됩니다.
배치 공정(batch processing)에서는 공정의 한 구역에서 다른 구역으로 제품 물질이 흐르지 않습니다. 대신 공정에 필요한 입력물들이 일정량씩 배치(batch) 단위로 투입되고, 해당 배치에 대해 특정 작업을 수행하여 제품을 생산합니다. 배치 공정을 통해 생산되는 제품으로는 식품, 음료, 의약품(pharmaceutical products), 페인트(paint), 비료(fertilizer) 등이 있습니다. 그림 14-2에는 배치 공정의 예가 제시되어 있으며, 세 가지 원료가 혼합되어 가열된 후 저장됩니다. 배치는 설계에 따라 특성이 달라질 수 있으므로 레시피(recipe)가 핵심 요소가 됩니다.
이산 제조(discrete manufacturing)는 개별 단위 제품을 생산하는 것이 특징입니다. 이 제조 방식에서는 일련의 작업을 통해 유용한 출력 제품이 만들어집니다. 이산 제조 시스템은 일반적으로 PLC로 전달되는 디지털 입력(digital input)을 다루며, 이를 통해 모터나 로봇 장치가 동작합니다. 작업물(work piece)은 개별적으로 취급해야 하는 이산 부품인 경우가 일반적입니다. 그림 14-3에 나타난 자동차 내부 제작은 이산 제조의 한 예입니다.
가능한 제어 구성 방식으로는 개별 제어(individual), 중앙 집중식 제어(centralized), 분산 제어(distributed)가 있습니다. 개별 제어는 단일 기계를 제어하는 데 사용되며, 일반적으로 다른 제어기와의 통신이 필요하지 않습니다. 그림 14-4는 절단 길이 설정(cut to length) 작업을 위한 개별 제어 응용 사례를 보여줍니다. 작업자는 인터페이스 제어판을 통해 공급 길이(feed length)와 배치 수(batch count)를 입력한 뒤 시작(start) 버튼을 눌러 공정을 시작합니다. 자재(stock)의 길이가 다양하므로 작업자는 절단할 길이와 필요한 조각 수를 선택해야 합니다.
중앙 집중식 제어(centralized control)에서는 여러 기계나 공정이 하나의 중앙 제어기에서 제어됩니다. 그림 14-5에 나타난 것처럼, 이 제어 구조는 단일 대형 제어 시스템을 사용하여 다양한 제조 공정과 작업을 모두 제어합니다. 중앙 집중식 제어의 주요 특징은 다음과 같습니다.
• 제조 공정의 각 개별 단계는 중앙 제어 시스템의 제어기에 의해 처리됩니다.
• 제어기 상태나 데이터는 다른 제어기로 전송되지 않습니다.
• 주 제어기(main controller)가 고장 나면 전체 공정이 중단됩니다.
분산 제어 시스템(distributive control system, DCS)은 네트워크 기반 시스템입니다. 그림 14-6에 나타난 것처럼, 분산 제어에서는 두 개 이상의 PLC가 서로 통신하여 전체 제어 작업을 수행합니다. 각 PLC는 서로 다른 공정을 로컬(local)에서 제어하며, 통신 링크를 통해 지속적으로 정보를 교환하고 공정 상태를 보고합니다. 분산 제어 시스템의 주요 특징은 다음과 같습니다.
• 분산 제어는 여러 제어기 간에 처리 작업을 분산할 수 있도록 해줍니다.
• 각 PLC는 자신에게 할당된 기계 또는 공정을 제어합니다.
• 컴퓨터 간의 고속 통신은 CAT‑5 또는 CAT‑6 연선(twisted pair) 케이블, 단일 동축(coaxial) 케이블, 광섬유(fiber optics), 또는 이더넷(Ethernet)을 통해 이루어집니다.
• 분산 제어는 제어기와 I/O를 제어 대상 기계 공정 가까이에 배치하기 때문에 현장 배선(field wiring)을 크게 줄이고 성능을 향상시킵니다.
• 공정에 따라 하나의 PLC가 고장 나더라도 전체 공정이 반드시 중단되는 것은 아닙니다.
• DCS는 호스트 컴퓨터(host computer)의 감독을 받으며, 이 컴퓨터는 보고서 생성(report generation)이나 데이터 저장(data storage)과 같은 모니터링 및 감독 기능을 수행할 수 있습니다.
14.2 Structure of Control Systems
프로세스 제어(process control)는 일반적으로 산업에서 제품을 제조하거나 가공하는 데 적용됩니다. 프로그래머블 컨트롤러(programmable controller)의 경우, 공정 또는 기계는 사용자 프로그램(user program)의 제어 아래에서 동작하고 감시됩니다. 프로세스 제어 시스템의 주요 구성 요소는 다음과 같습니다.
Sensors(센서)
• 공정 및 외부 환경으로부터 입력을 제공합니다.
• 압력(pressure), 온도(temperature), 유량(flow rate), 위치(position)와 같은 물리적 정보를 전기 신호(electrical signal)로 변환합니다.
Human Machine Interface(HMI, 휴먼 머신 인터페이스)
• 다양한 종류의 프로그램된 스위치, 조작기(control), 키패드 등을 사용하여 시작 조건을 설정하거나 공정 제어를 변경할 수 있도록 사람의 입력을 가능하게 합니다.
Signal Conditioning(신호 조정)
• 입력 및 출력 신호를 사용 가능한 형태로 변환하는 기능을 포함합니다.
• 증폭(amplification), 감쇠(attenuation), 필터링(filtering), 스케일링(scaling), A/D 및 D/A 변환기(converter)와 같은 신호 조정 기술이 포함될 수 있습니다.
Actuators(액추에이터)
• 시스템 출력 전기 신호를 물리적 동작으로 변환합니다.
• 유량 제어 밸브(flow control valve), 펌프(pump), 위치 제어 드라이브(positioning drive), 가변 속도 드라이브(variable speed drive), 클러치(clutch), 브레이크(brake), 솔레노이드(solenoid), 스테핑 모터(stepping motor), 전력 릴레이(power relay) 등이 포함됩니다.
Controller(컨트롤러)
• 입력 신호를 기반으로 시스템의 결정을 수행합니다.
• 그 결정에 따라 액추에이터를 동작시키는 출력 신호를 생성합니다.
휴먼 머신 인터페이스(HMI) 장치는 사람과 공정 사이에 제어 및 가시화 인터페이스를 제공합니다(그림 14-7). HMI를 통해 작업자는 응용 시스템을 제어하고, 모니터링하며, 진단하고, 관리할 수 있습니다. 공정의 요구 사항과 복잡도에 따라 작업자는 다음과 같은 기능을 수행해야 할 수 있습니다.
• 공정을 정지하고 시작합니다.
• 공정에 필요한 조작을 수행하고 조정을 하며 그 진행 상태를 모니터링합니다.
• 비정상 상황을 감지하고 교정 조치를 수행합니다.
그래픽 터미널(graphic terminal)은 매우 다양한 크기와 구성으로 제공되며, 스위치와 표시등을 그래픽으로 표현한 터치 스크린을 사용하여 기존의 배선 패널을 대체합니다. 그래픽 디스플레이 화면의 종류는 다음과 같습니다.
Operational Summary — 공정을 모니터링하는 데 사용됩니다.
Configuration/Setup — 공정 매개변수(process parameter)를 상세히 보여주는 텍스트 기반 화면입니다.
Alarm Summary — 타임스탬프(time‑stamp)가 포함된 활성 알람 목록을 제공합니다.
Event History — 공정에서 발생한 모든 중요한 사건을 타임스탬프와 함께 보여줍니다.
Trend Values — 유량(flow), 온도(temperature), 생산량(production rate) 등 공정 변수(process variable)의 값을 일정 기간 동안 표시합니다.
Manual Control — 일반적으로 유지보수 personnel만 사용할 수 있으며 자동 제어 시스템의 일부를 우회하기 위한 기능입니다.
Diagnostics — 유지보수 personnel이 장비 고장을 진단하는 데 사용됩니다.
그래픽 터미널은 하드웨어, 소프트웨어, 통신 기능이 모두 하나로 구성된 형태로 제공됩니다. 그림 14-8은 Allen-Bradley PanelView 그래픽 터미널 제품군을 보여줍니다. 설정 방식은 제조사마다 다르지만, 일반적으로 HMI 응용프로그램을 개발하기 위해 필요한 작업은 다음과 같습니다.
• PLC와의 통신 링크를 설정합니다.
• 태그 주소(tag address) 데이터베이스를 생성합니다.
• 화면에 그래픽 객체를 편집하고 생성합니다.
• 객체를 애니메이션(animation) 처리합니다.
대부분의 제어 시스템은 폐루프(closed loop) 방식이며, 출력이 입력 제어 신호에 영향을 주는 피드백(feedback)을 활용합니다. 폐루프 시스템은 공정의 실제 출력을 측정하여 원하는 출력과 비교합니다. 제어 시스템은 원하는 출력과 실제 출력의 차이가 사전에 정해진 허용 오차(tolerance) 범위 안에 들어갈 때까지 지속적으로 보정 작업을 수행합니다.
그림 14-9는 폐루프 제어 시스템의 예를 보여줍니다. 실제 출력은 감지되어 되먹임(feedback)되고, 원하는 출력값을 나타내는 설정값 입력(set‑point input)에서 이 값이 차감됩니다. 만약 차이가 발생하면, 제어기로 신호가 전달되어 실제 출력이 그 차이가 0이 될 때까지 수정됩니다. 각 구성 요소의 동작은 다음과 같습니다.
Set-point — 공정의 원하는 동작점을 결정하는 입력입니다.
Process Variable — 현재 공정 상태에 대한 정보를 담고 있는 피드백 신호입니다.
Error Amplifier — 공정의 동작이 설정값과 일치하는지를 판단합니다. 에러 신호의 크기와 극성에 따라 공정을 어떻게 정상 상태로 되돌릴지가 결정됩니다.
Controller — 에러 신호를 기반으로 적절한 보정 출력 신호를 생성합니다.
Output Actuator — 프로세스 변화를 직접적으로 유발하는 구성 요소입니다. 모터(motor), 히터(heater), 팬(fan), 솔레노이드(solenoid) 등이 그 예입니다.
그림 14-10에 제시된 프로세스는 폐루프(closed‑loop) 연속 제어 공정의 한 예로, 세제(detergent)를 일정 중량으로 자동 충전하는 시스템입니다. 빈 상자가 위치에 놓이면 충전이 시작됩니다. 상자와 내용물의 무게가 모니터링되며, 실제 무게가 설정된 목표 무게와 동일해지면 충전이 중단됩니다.
그림 14-11에는 용기 충전(container‑filling) 공정의 동작 및 블록도(block diagram)가 나타나 있습니다. 이 공정의 동작은 다음과 같이 요약할 수 있습니다.
• 용기를 계량하는 저울(scale)에 부착된 센서(sensor)는 용기 및 내용물의 무게를 나타내는 전압 신호(voltage signal) 또는 디지털 코드(digital code)를 생성합니다.
• 센서 신호는 설정된 목표 중량을 나타내는 전압 신호 또는 디지털 코드에서 차감됩니다.
• 입력 신호와 피드백 신호 간의 차이가 0보다 큰 동안, 컨트롤러(controller)는 솔레노이드 게이트(solenoid gate)를 열어 둡니다.
• 차이가 0이 되면, 컨트롤러는 게이트를 닫는 신호를 출력합니다.
대부분의 피드백 컨트롤러(feedback controller)는 설정값(set‑point)과 공정 변수(process variable) 측정값 사이의 오차(error)를 기반으로 출력값을 결정합니다. 작업자가 설정값을 변경하거나 공정의 부하(load), 외란(disturbance) 등이 공정 변수를 변화시키는 경우 오차가 발생할 수 있습니다. 컨트롤러의 역할은 이 오차를 자동으로 제거하는 것입니다.
14.3 On/Off Control
온/오프(on/off) 컨트롤러는 최종 제어 요소(final control element)가 온 또는 오프 상태 중 하나만 갖습니다. 즉, 측정 변수(measured variable)가 설정값보다 높을 때의 제어 동작과 낮을 때의 제어 동작 두 가지뿐이며, 중간 위치로 유지되는 일은 없습니다. 제어 활동은 온·오프 반복 동작의 주기(period)에 의해 이루어집니다.
그림 14-12는 스팀(steam)을 이용해 액체를 가열하는 온/오프 제어 시스템의 예를 보여줍니다. 이 공정의 동작은 다음과 같이 요약됩니다.
• 액체 온도가 설정값보다 낮아지면 스팀 밸브(valve)가 열리고 스팀이 공급됩니다.
• 액체 온도가 설정값보다 높아지면 스팀 밸브가 닫히고 스팀 공급이 중단됩니다.
• 시스템이 동작하는 동안 온/오프 사이클은 계속 반복됩니다.
그림 14-13은 온/오프(on/off) 온도 컨트롤러의 제어 응답을 보여줍니다. 제어 응답의 동작은 다음과 같이 요약할 수 있습니다.
• 온도가 설정값(set‑point)보다 낮아지면 출력이 켜지고, 온도가 설정값에 도달하면 출력이 꺼집니다.
• 제어 방식은 단순하지만, 일부 공정에서는 설정값을 지나쳐 상승하는 오버슈트(overshoot)와 설정값 주변에서의 반복적인 사이클링(cycling)이 불리하게 작용할 수 있습니다.
• 측정 변수(measured variable)는 공정의 용량(capacity)과 시간 응답(time response)에 따라 설정값 주변에서 특정 진폭(amplitude)과 주기(frequency)로 진동(oscillation)하게 됩니다.
• 컨트롤러의 감도(sensitivity)를 높이면 진동의 진폭을 줄일 수 있지만, 이로 인해 컨트롤러가 더 자주 온·오프 동작을 반복하게 되어 바람직하지 않을 수 있습니다.
• 온/오프 제어는 보다 정밀한 제어가 필요하지 않을 때 사용됩니다.
일반적으로 설정값 주변에는 데드밴드(deadband)가 설정됩니다. 컨트롤러의 데드밴드는 공정 변수가 설정된 상·하한 범위 내에 있는 동안에는 출력이 발생하지 않도록 하는 선택 가능한 값입니다. 데드밴드를 포함시키면 설정값 주변에서 제어 장치가 불필요하게 미세 조정을 반복하는 헌팅(hunting)을 제거할 수 있습니다. 헌팅은 아주 작은 변동 때문에 제어 위치가 지속적으로 조정되는 현상을 의미합니다.
14.4 PID Control
비례 제어기(proportional controller)는 온/오프 제어에서 발생하는 헌팅 또는 사이클링을 제거하도록 설계되었습니다. 비례 동작(proportioning action)을 사용하면 최종 제어 요소(final control element)가 온과 오프 사이의 중간 위치를 취할 수 있으며, 측정 변수의 값이 원하는 값에서 얼마나 벗어났는지에 따라 공정에 전달되는 에너지 양을 아날로그 방식으로 조절할 수 있습니다.
비례 제어기를 사용하면 최종 출력이 완전한 온과 완전한 오프 사이에서 어떤 값이든 가질 수 있으므로, 공정 변수를 보다 엄밀하게 제어할 수 있습니다. 그림 14-14는 최종 제어 요소로 사용되는 모터 구동 아날로그 비례 제어 밸브(proportional control valve)의 예를 보여줍니다. 제어 밸브 액추에이터(actuator)의 동작은 다음과 같이 요약할 수 있습니다.
• 액추에이터는 컨트롤러로부터 4 mA에서 20 mA 사이의 입력 전류(current)를 받습니다.
• 이에 따라 밸브를 선형(linear)으로 제어합니다.
• 4 mA는 최소 개도(minimum opening, 일반적으로 0)를 의미하고, 20 mA는 최대 개도(full scale)를 의미합니다.
• 4 mA의 하한값(lower limit)은 회로 단선(open)을 감지하기 위한 것으로, 회로가 단선되면 0 mA가 되어 시스템은 알람을 발생시킬 수 있습니다.
• 신호가 전류 기반이므로, 배선 저항(wire resistance)의 합리적 변동에 영향을 받지 않으며 전압 신호에 비해 다른 신호로부터의 노이즈 간섭에 덜 민감합니다.
비례 동작(proportioning action)은 최종 제어 요소(final control element)를 짧은 간격으로 켜고 끄는 방식으로도 수행될 수 있습니다. 이러한 시간 비례(time proportioning, 펄스 폭 변조(pulse width modulation)라고도 함) 방식은 온 시간과 오프 시간의 비율을 변화시키는 방식입니다. 그림 14-15는 200와트 히터 요소(heater element)에서 서로 다른 와트 수를 만들기 위해 시간 비례 제어를 사용하는 예를 보여주며, 그 내용은 다음과 같습니다.
• 100와트를 생산하려면 히터는 전체 시간의 50% 동안 켜져 있어야 합니다.
• 50와트를 생산하려면 히터는 전체 시간의 25% 동안 켜져 있어야 합니다.
• 25와트를 생산하려면 히터는 전체 시간의 12.5% 동안 켜져 있어야 합니다.
비례 동작은 설정값(set‑point)을 중심으로 한 비례 대역(proportional band) 내에서 발생합니다. 그림 14-16의 표는 설정값 500°F, 비례 대역 80°F(±40°F)를 가지는 난방 응용 사례의 비례 대역을 보여줍니다. 비례 동작은 다음과 같이 요약될 수 있습니다.
• 비례 대역 밖에서는 컨트롤러는 온/오프 장치처럼 동작하며, 출력은 대역 아래에서는 완전 온(fully on), 대역 위에서는 완전 오프(fully off) 상태가 됩니다.
• 비례 대역 내에서는 측정값(measurement)이 설정값에서 얼마나 차이나는지에 따른 비율로 출력이 켜졌다 꺼졌다 합니다.
• 설정값(비례 대역의 중간점)에서는 출력의 온:오프 비율이 1:1이 되며, 즉 온 시간과 오프 시간이 동일합니다.
• 온도가 설정값에서 더 멀어질수록 온·오프 시간은 온도 차이에 비례하여 변화합니다.
• 온도가 설정값보다 낮으면 출력이 더 오래 켜져 있고, 온도가 너무 높으면 출력이 더 오래 꺼져 있습니다.
이론적으로는 비례 제어기(proportional controller)만으로도 공정 제어가 가능해야 합니다. 시스템 출력의 모든 변화는 컨트롤러 출력의 적절한 변화로 보정되기 때문입니다. 그러나 현실적으로 비례 제어기의 동작은 옵셋(offset) 또는 드룹(droop)이라고 불리는 정상 상태 오차(steady‑state error)를 발생시킵니다. 이 정상 상태 오차는 그림 14-17에 나타난 바와 같이, 컨트롤러가 도달한 값과 요구되는 값 사이의 차이를 의미하며, 그 결과 출력 신호는 설정값보다 약간 낮은 값에서 안정됩니다. PLC 응용에 따라 이러한 옵셋이 허용될 수도 있고, 허용되지 않을 수도 있습니다.
그림 14-18의 공정은 비례 제어의 정상 상태 오차가 탱크 충전(tank‑filling) 작업에 어떤 영향을 미칠 수 있는지를 보여줍니다. 초기 시작 시 또는 공정 조건이 크게 바뀔 때 작업자가 수동 리셋(manual reset)을 수행하여 제어 변수를 설정값으로 맞춰야 할 수 있습니다. 이 동작은 다음과 같이 요약됩니다.
• 밸브 B가 열리면 액체가 빠져나가고 탱크의 액위(level)가 낮아집니다.
• 그 결과 플로트(float)가 내려가며 밸브 A를 열어 더 많은 액체가 유입되도록 합니다.
• 이 과정은 액위가 내려가 플로트가 충분히 낮아져 밸브 A가 열리고, 유입 유량이 유출 유량과 같아질 때까지 계속됩니다.
• 그러나 정상 상태 오차 때문에 액위는 원하는 설정값이 아닌, 그보다 더 낮은 새로운 수준에서 안정됩니다.
비례 제어(proportional control)는 종종 적분 제어(integral control) 및/또는 미분 제어(derivative control)와 함께 사용됩니다.
• 적분 동작(integral action)은 리셋 동작(reset action)이라고도 하며, 오차 신호(error signal)의 크기와 지속 시간에 반응합니다. 오차 신호는 공정 변수(process variable)와 설정값(set‑point) 사이에 차이가 있을 때 존재하기 때문에, 적분 동작은 오차가 없어질 때까지 출력이 변하고 계속 변화하도록 만듭니다. 적분 동작은 정상 상태 오차(steady‑state error)를 제거합니다. 적분 동작의 양은 분당 반복 횟수(repeats per minute) 또는 반복당 분(minutes per repeat)으로 측정되며, 이는 변화량과 시간의 관계를 의미합니다.
• 미분 동작(derivative action)은 오차 신호가 변화하는 속도(rate of change)에 반응합니다. 즉, 오차 변화가 클수록 보정 출력(correcting output)도 더 크게 생성됩니다. 미분 동작은 시간 단위로 측정됩니다.
비례·적분(PI) 제어는 두 제어 방식의 특성을 결합한 것입니다. 설정값에 단계 변화(step change)가 발생하면 컨트롤러는 먼저 비례적으로 반응하고, 그 후 적분 반응이 비례 반응에 추가됩니다. 적분 모드(integral mode)는 시간의 함수로 출력 변화를 결정하므로 적분 동작이 많을수록 출력 변화가 더 빠르게 일어납니다. 이러한 동작은 다음과 같이 요약됩니다.
• 옵셋(offset) 오차를 제거하기 위해 컨트롤러는 공정 변수의 오차가 0이 될 때까지 출력을 조정해야 합니다.
• 적분 제어(리셋 제어)는 공정 변수를 설정값으로 되돌리기 위해 필요한 만큼 컨트롤러 출력을 변화시킵니다.
• 리셋 동작 후 새로운 평형점(equilibrium point)은 “C” 지점에 위치하게 됩니다.
• 비례 제어기는 항상 자신의 비례 대역(proportional band) 내에서 동작해야 하므로, 비례 대역은 새로운 지점 C를 포함하도록 이동해야 합니다.
• 리셋 기능이 포함된 컨트롤러는 이를 자동으로 수행합니다.
미분 동작(rate action, derivative control)은 적분 동작과 마찬가지로 오차 신호에 작용하지만, 오차의 크기보다는 오차 변화율(rate of change)에 기반합니다. 미분 동작은 일반적으로 분 단위로 표현되는 선택 가능한 시간 간격 동안 출력 변화를 적용합니다. 미분에 의한 출력 변화는 오차의 도함수(derivative)를 기반으로 계산됩니다. 비례 제어 오차 변화 대신 입력 변화(input change)를 사용하면 응답성이 향상됩니다. 미분 동작은 비례 동작만으로는 결국 도달할 위치에 더 빠르게 출력 위치를 이동시키는 역할을 합니다. 즉, 미분 동작은 비례 대역을 빠르게 이동시켜 옵셋이나 오차를 신속하게 억제하는 브레이크(brake) 역할을 합니다. 비례·미분(PD) 제어는 오차가 매우 빠르게 변화하는 공정 제어 시스템에서 사용되며, 비례 제어에 미분 제어를 추가함으로써 오차의 크기뿐 아니라 오차 변화율에도 반응하는 컨트롤러 출력을 제공합니다.
PID 제어는 비례, 적분, 미분 동작을 결합한 피드백 제어 방식입니다. 비례 동작은 헌팅(hunting) 없이 안정적인 제어를 제공하고, 적분 동작은 옵셋을 자동으로 보정하며, 미분 동작은 큰 외란(disturbance)에 신속하게 반응합니다. PID 컨트롤러는 가장 널리 사용되는 프로세스 컨트롤러입니다. 하나의 제어 루프(loop)에 비례, 적분, 미분 모드를 결합함으로써 어떤 제어 방식보다도 빠르게 시스템 오차를 0으로 줄입니다. 그림 14-19는 PID 제어 루프의 블록도(block diagram)를 보여주며, 그 동작은 다음과 같이 요약할 수 있습니다.
• 설정 시에는 설정값(set‑point), 비례 대역(proportional band), 리셋(적분), 레이트(미분), 출력 한계(output limit)를 지정합니다.
• 공정을 튜닝하기 위해 이러한 값들은 운전 중에도 변경할 수 있습니다.
• 적분 항(integral term)은 정확도를 향상시키고, 미분 항(derivative term)은 과도 상태(disturbance)에서의 오버슈트(overshoot)를 줄입니다.
• PID 출력은 밸브 위치 제어, 온도 제어, 유량 측정 장치(flow‑metering equipment) 제어 등 다양한 응용에 사용할 수 있습니다.
• PID 제어는 출력 전력 수준을 변화시킬 수 있도록 합니다.
• 예를 들어, 노(furnace)의 설정이 50°C라고 가정합니다.
• 온도가 50°C 설정값보다 떨어질수록 히터 전력은 증가합니다.
• 온도가 낮을수록 전력은 더 높아집니다.
• PID 제어는 설정값에 가까워질수록 전력을 점진적으로 낮추는 효과가 있습니다.
어떤 시스템이든 장기간 안정적으로 동작하기 위해서는 입력과 출력 간의 질량‑에너지(mass‑energy) 균형이 필요합니다. 공정이 항상 평형(equilibrium) 상태에서 운전된다면 제어는 매우 단순할 것입니다. 그러나 실제로는 변화가 발생하므로, 프로세스 제어에서 중요한 요소는 시간(time), 즉 어떤 입력 변화가 출력에 나타나는 데 걸리는 시간입니다. 시스템의 시간 상수(time constant)는 1초의 분수에서 수 시간에 이르기까지 다양할 수 있습니다. PID 컨트롤러는 특정 공정 시간 상수에 맞춰 제어 동작을 조정할 수 있으므로, 시간에 따라 발생하는 공정 변화를 처리할 수 있습니다. PID 제어는 오차의 크기와 신호 변화율(rate of signal change)을 고려하여 출력 신호의 크기를 수학적으로 정의된 방식으로 변경합니다.
프로그램 가능 컨트롤러(programmable controller)는 PID 제어를 수행하는 입출력 모듈을 장착하거나, 이미 PID 제어를 수행할 수 있을 만큼 충분한 수학 함수(math function)를 내장하고 있을 수 있습니다. PID는 본질적으로 컨트롤러가 제어 변수를 평가하는 데 사용하는 방정식입니다. 그림 14-20은 프로그램 가능 논리 제어기(programmable logic controller, PLC)가 PID 루프 제어에 어떻게 사용되는지를 보여줍니다. PID 루프의 동작은 다음과 같이 요약됩니다.
• 공정 변수(process variable, 압력)가 측정되고 피드백이 생성됩니다.
• PLC 프로그램은 피드백을 설정값과 비교하여 오차 신호(error signal)를 생성합니다.
• 오차는 비례, 적분, 미분 방식으로 PID 루프 계산에 의해 분석됩니다.
• 컨트롤러는 변수 유량 배출 밸브(variable‑flow outlet valve)의 위치를 조정하여 측정된 오차를 보정하기 위한 출력을 생성합니다.
PID 루프의 응답(response)이란 오차를 보정하기 위해 출력이 조정되는 속도를 의미합니다. PID 루프는 비례 게인(proportional gain), 적분 게인(integral gain), 미분 게인(derivative gain)을 조정하여 튜닝(tuning)됩니다. PID 루프는 일반적으로 설정값에 갑작스러운 변화를 가한 후 컨트롤러의 응답 속도를 관찰함으로써 시험됩니다. 조정 방법은 다음과 같습니다.
• 비례 게인을 증가시키면 컨트롤러의 응답이 빨라집니다.
• 비례 게인이 너무 높으면 컨트롤러는 불안정해져 진동(oscillation)이 발생할 수 있습니다.
• 적분 게인은 시스템을 안정화(stabilizer)시키는 역할을 합니다.
• 적분 게인은 오류가 0일 때에도 필요한 전력을 제공합니다(예: 오븐이 설정값에 도달한 후에도 온도를 유지하기 위해 전력이 필요함).
• 이 기본 전력이 없으면 컨트롤러는 드룹(droop) 현상을 보이며 설정값을 찾기 위해 헌팅(hunting)하게 됩니다.
• 미분 게인은 예측자(anticipator)처럼 작용합니다.
• 변화가 너무 빠를 때 미분 게인은 컨트롤러를 더 천천히 반응하도록 합니다.
기본적으로 PID 컨트롤러의 튜닝은 필요한 제어 성능을 제공할 수 있도록 게인(비례 대역), 레이트(미분), 리셋 시간(적분) 등의 튜닝 파라미터(control constant)에 적절한 값을 결정하는 과정입니다. 공정 변수가 설정값에서 벗어나는 특성에 따라 튜닝 파라미터는 상호작용하여 컨트롤러의 출력을 변화시키고, 이를 통해 공정 변수의 값이 조정됩니다. 일반적으로 세 가지 튜닝 방식이 사용됩니다.
Manual(수동)
• 작업자가 원하는 컨트롤러 응답을 얻기 위해 필요한 튜닝 파라미터를 추정합니다.
• 비례, 적분, 미분 항목은 특정 시스템에 맞도록 시행착오(trial‑and‑error) 방식으로 개별적으로 조정해야 합니다.
Semiautomatic or Autotune(반자동 또는 자동 튜닝)
• 컨트롤러가 PID 파라미터 계산 및 설정을 수행합니다.
- 센서 출력을 측정합니다.
- 오차, 오차의 누적값(sum), 오차 변화율(rate of change)을 계산합니다.
- PID 방정식으로 필요한 출력 전력을 계산합니다.
- 제어 출력을 갱신합니다.
Fully Automatic or Intelligent(완전 자동 또는 지능형)
• 산업에서는 퍼지 로직 제어(fuzzy logic control)라고도 불립니다.
• 컨트롤러는 필요할 때마다 PID 튜닝 파라미터를 인공지능(artificial intelligence)으로 지속적으로 재조정합니다.
• 수식을 사용하여 출력을 계산하는 대신, 퍼지 로직 컨트롤러는 규칙(rule)을 평가합니다. 첫 단계는 연속 변수인 오차와 오차 변화량을 “negative large”, “positive small”과 같은 언어적 변수(linguistic variable)로 퍼지화(fuzzify)하는 것입니다. 단순한 if‑then 규칙이 평가되어 출력을 생성하며, 이 결과는 밸브 위치와 같은 연속 변수로 역퍼지화(de‑fuzzify)됩니다.
PID 프로그램 가능 컨트롤러 출력 명령(PID output instruction)은 폐루프(closed‑loop) 제어를 사용하여 온도, 압력, 액위(liquid level), 유량(flow rate) 등의 물리적 특성을 자동으로 제어합니다. 그림 14-21은 Allen‑Bradley SLC 500 명령 세트에서 PID 출력 명령과 설정 화면을 보여줍니다. PID 명령은 구조가 단순하며, 하나의 입력을 받아 하나의 출력을 제어합니다. 일반적으로 PID 명령은 조건 논리 없이 런(rung)에 배치되며, 런이 거짓(false)이 되면 출력은 마지막 값으로 유지됩니다. 명령에 입력되는 기본 정보는 다음과 같습니다.
Control Block — 명령을 실행하는 데 필요한 데이터를 저장하는 파일입니다.
Process Variable — 공정 입력 값을 저장하는 요소 주소입니다.
Control Variable — PID 명령의 출력 값을 저장하는 요소 주소입니다.
Setup Screen — 더블 클릭하여 PID 명령을 완전히 설정하기 위해 추가 파라미터 입력을 요청하는 화면을 불러오는 항목입니다.
14.5 Motion Control
모션 컨트롤(motion control) 시스템은 광범위한 모션 응용 분야에서 정밀 위치(positioning), 속도(velocity), 토크(torque) 제어를 제공합니다. PLC는 선형(linear) 모션과 회전(rotary) 모션 제어 응용에 모두 매우 적합합니다. 픽 앤 플레이스(Pick and Place) 기계는 소비재 산업에서 다양한 제품 이송 작업에 사용됩니다. 이 기계는 한 지점에서 다른 지점으로 제품을 이동시키며, 그림 14-22는 제품을 이동 중인 컨베이어 벨트로 옮기는 예를 보여줍니다.
기본적인 PLC 기반 모션 제어 시스템은 컨트롤러(controller), 모션 모듈(motion module), 서보 드라이브(servo drive), 엔코더(encoder)가 포함된 하나 이상의 모터(motor), 그리고 제어 대상 기계로 구성됩니다. 시스템에서 제어되는 각 모터는 모션 축(axis of motion)이라고 합니다. 그림 14-23은 병 충전(bottle‑filling) 모션 제어 공정을 나타내며, 이 응용에는 두 개의 모션 축이 필요합니다. 하나는 병 충전 메커니즘을 구동하는 모터, 다른 하나는 컨베이어 속도를 제어하는 모터입니다. 각 제어 구성 요소의 역할은 다음과 같이 요약됩니다.
Programmable Logic Controller(프로그램 가능 논리 제어기, PLC)
• 컨트롤러는 공정을 제어하는 사용자 프로그램(user program)을 저장하고 실행합니다.
• 이 프로그램에는 축(axis)의 동작을 제어하는 모션 명령(motion instruction)이 포함됩니다.
• 컨트롤러는 모션 명령을 실행할 때 해당 축의 모션 명령을 계산합니다.
• 모션 명령(motion command)은 계산이 이루어지는 특정 시점에서 서보 모터(servo motor)가 가져야 할 목표 위치(position), 속도(velocity), 토크(torque)를 의미합니다.
Motion Module(모션 모듈)
• 모션 모듈은 컨트롤러로부터 모션 명령을 받아, 이를 서보 드라이브가 이해할 수 있는 호환 가능한 형태로 변환합니다.
• 또한 모션 모듈은 드라이브와 모터의 동작 성능을 감시할 수 있도록, 모터 및 드라이브 정보로 컨트롤러를 지속적으로 업데이트합니다.
Servo Drive(서보 드라이브)
• 서보 드라이브는 모션 모듈로부터 전달된 신호를 받아 이를 모터 구동 명령(motor drive command)으로 변환합니다.
• 이러한 명령에는 모터 위치(position), 속도(velocity), 그리고/또는 토크(torque)가 포함될 수 있습니다.
• 서보 드라이브는 모션 명령에 따라 서보 모터(servo motor)에 전력을 공급합니다.
• 모터 전력은 서보 드라이브에 의해 공급 및 제어됩니다.
• 서보 드라이브는 모터 축에 장착된 엔코더(encoder)를 이용해 모터의 위치와 속도를 감시합니다. 이 피드백(feedback)은 서보 드라이브 내부에서 사용되어 정확한 모터 동작을 보장합니다.
Servo Motor(서보 모터)
• 서보 모터는 제어 대상 축(axis)을 구성합니다.
• 서보 모터는 서보 드라이브로부터 전력을 공급받아 모터 축의 속도와 위치를 결정합니다.
• 충전기(filler) 모터는 병이 이동하는 방향으로 충전 메커니즘을 가속하고, 병의 속도와 일치시키며, 병의 위치를 추적해야 합니다.
• 병이 충전된 후에는 충전 모터가 정지하고 방향을 반대로 전환하여 충전 메커니즘을 시작 위치로 되돌려 다음 공정을 준비해야 합니다.
로봇(robot)은 간단히 말해 서보 모터로 구동되는 일련의 기계적 링크(mechanical link)입니다. 현재 산업에서 널리 사용되는 기본 산업용 로봇은 산업 작업을 수행하기 위해 움직이는 로봇 암(robot arm) 또는 매니퓰레이터(manipulator)입니다. 그림 14-24는 6축 로봇 암의 모션을 보여줍니다. 로봇의 각 축은 기본적으로 폐루프(closed‑loop) 서보 제어 시스템입니다.
로봇 팔의 마지막 세 관절은 일반적으로 ‘손목(wrist)’이라고 불립니다. 팔을 따라 나아갈 때 손목 관절은 피치 관절(pitch joint), 요(yaw) 관절, 롤(roll) 관절로 구성됩니다.
산업용 로봇 제어에는 PLC 기반 시스템과 PC 기반 시스템의 두 가지 컨트롤러 구성이 사용될 수 있습니다. 로봇 시스템이 수행해야 하는 작업의 난이도에 따라 PLC가 필요할 수도 있고, 로봇 전용 컨트롤러만으로 충분할 수도 있습니다.
14.6 Data Communications
데이터 통신(data communications)은 PLC 마이크로프로세서 기반 시스템들이 서로 또는 다른 장치들과 통신하는 다양한 방식을 의미합니다. PLC와 다른 장치 사이에 설정될 수 있는 통신 링크의 일반적인 형태는 포인트-투-포인트(point‑to‑point) 링크와 네트워크(network) 링크의 두 가지입니다.
그림 14-25는 포인트-투-포인트 직렬(serial) 통신 링크를 보여줍니다. 직렬 통신은 프린터(printer), 작업자 워크스테이션(operator workstation), 모터 드라이브(motor drive), 바코드 리더(bar code reader), 컴퓨터(computer), 또는 다른 PLC와 같은 장치에서 사용됩니다. 직렬 통신 인터페이스는 프로세서 모듈에 내장되어 있거나, 별도의 모듈 형태로 제공됩니다. 동일 제조사의 두 PLC 간에 포인트-투-포인트 링크를 설정하기 위해서는 각 컨트롤러에 직렬 모듈을 설치하는 것만으로 충분한 경우가 일반적입니다.
제어 시스템이 더욱 복잡해짐에 따라, 시스템 구성 요소 간의 더욱 효율적인 통신 방식이 필요하게 됩니다. LAN(Local Area Network, 근거리 통신망)은 일반적으로 1~2마일 이하의 제한된 지리적 영역 내에서 데이터 통신 시스템 요소들을 상호 연결하는 시스템입니다. 그림 14-26은 LAN 통신 링크를 보여줍니다. 네트워크 통신은 여러 PLC와 기타 장치 간의 통신을 지원합니다. PLC 네트워크는 다음과 같은 기능을 제공합니다.
• PLC 간 상태 비트(status bit)와 같은 정보를 공유하여 서로의 동작을 결정할 수 있게 합니다.
• 중앙 위치에서 정보 모니터링이 가능합니다.
• 중앙 위치에서 프로그램을 업로드하거나 다운로드할 수 있습니다.
• 여러 PLC가 하나의 공통 목표를 수행하기 위해 일관되게 동작할 수 있습니다.
전송 매체(transmission media)는 네트워크를 통해 데이터와 제어 신호가 흐르는 케이블을 의미합니다. 데이터 통신 시스템에서 사용되는 전송 매체에는 동축 케이블(coaxial cable), 연선(twisted pair), 광섬유(fiber optics)가 있습니다(그림 14-27). 각 케이블은 전기적 특성이 다르며, 특정 환경이나 네트워크 유형에 따라 적합하거나 부적합할 수 있습니다. 모든 네트워크가 케이블을 통해 정보를 전송하는 것은 아닙니다. DF1 Radio Modem과 같은 무선 Wi‑Fi 이더넷(Ethernet) 네트워크는 공기를 매질로 하여 전파(radio wave)를 통해 통신합니다.
산업 응용에서 LAN은 주로 분산 제어 시스템(DCS, distributive control system)의 통신 시스템으로 사용되어 왔습니다. DCS는 기계 또는 공정의 하위 시스템을 개별 컨트롤러가 제어하는 방식이며, 전체 공정을 단일 컨트롤러가 제어하는 중앙 집중식 방식과 대비됩니다. LAN의 또 다른 주요 용도는 감시 제어 및 데이터 수집(SCADA, supervisory control and data acquisition)입니다. LAN은 여러 컨트롤러의 데이터 수집과 처리를 하나의 호스트 컴퓨터(host computer)를 통해 수행할 수 있도록 해줍니다.
산업용 네트워크는 일반적으로 세 가지 수준의 기능으로 분류됩니다. 그림 14-28은 이 세 가지 기능 수준을 보여주며, 다음과 같이 요약될 수 있습니다.
Device Level — 디바이스 레벨(device level)은 기계 및 공정의 다양한 센서(sensor)와 액추에이터(actuator) 장치를 포함합니다. 여기에는 센서, 스위치(switch), 드라이브(drive), 모터(motor), 밸브(valve) 등이 포함될 수 있습니다.
Control Level — 컨트롤 레벨(control level)은 산업용 컨트롤러가 연결되는 네트워크입니다. 이 레벨에는 PLC, 로봇 컨트롤러(robot controller) 등의 컨트롤러가 포함될 수 있습니다. 이 레벨에서의 통신은 컨트롤러 간 I/O 및 프로그램 데이터 공유를 포함합니다.
Information Level — 정보 레벨(information level)은 공장 전체를 아우르는 네트워크이며, 일반적으로 회사의 비즈니스 네트워크와 컴퓨터들로 구성됩니다. 이 레벨에는 스케줄링(scheduling), 영업(sales), 관리(management), 기업 전체 정보(corporate‑wide information) 등이 포함됩니다.
네트워크에 연결된 각 장치는 노드(node) 또는 스테이션(station)이라고 합니다. 신호는 네트워크 케이블을 따라 이동하면서 감쇠(attenuation)되어 왜곡될 수 있습니다. 케이블이 충분히 길면 감쇠로 인해 신호가 인식 불가능해질 수 있습니다. 리피터(repeater)는 신호를 원래 세기로 증폭하여 더 먼 거리까지 전송할 수 있도록 하는 장치입니다. 네트워크 종류에 따라 리피터 없이 허용되는 케이블 길이와 케이블 종류가 달라집니다.
네트워크 토폴로지(network topology)는 노드가 연결될 때 네트워크 케이블에 의해 형성되는 장치들의 물리적 배치를 의미합니다. 그림 14-29에 나타난 스타(star) 토폴로지와 그 동작은 다음과 같이 요약될 수 있습니다.
• 네트워크 컨트롤러 스위치(switch) 또는 허브(hub)가 여러 PLC 네트워크 노드에 연결됩니다.
• 현재 대부분의 이더넷(Ethernet) 네트워크는 허브보다 스위치를 사용합니다. 스위치는 허브와 동일한 기본 기능을 수행하지만, 네트워크의 속도, 규모, 데이터 처리 용량을 더 효과적으로 향상시킵니다.
• 이 구성에서는 스위치/허브와 각 PLC 간 양방향 통신이 가능합니다.
• 네트워크 컨트롤러 허브가 모든 통신을 제어하므로 모든 전송은 반드시 스위치/허브와 PLC 사이에서 이루어져야 합니다.
• 모든 데이터는 먼저 스위치/허브로 전송된 후, 해당되는 PLC에 전달됩니다.
• 스타 토폴로지의 문제점 중 하나는 스위치/허브가 다운되면 전체 LAN이 중단된다는 점입니다.
• 이 구성은 정보가 주로 중앙 컨트롤러와 원격 PLC 사이에서 전송될 때 가장 효율적으로 작동합니다. 그러나 PLC 간 통신이 주로 이루어진다면 통신 속도에 영향을 줄 수 있습니다.
• 또한 스타 시스템은 모든 원격 PLC를 하나의 중앙 지점에 연결하기 위해 많은 통신 도체(conductor)를 필요로 할 수 있습니다.
버스 토폴로지(bus topology)는 그림 14-30에 나타난 것처럼 네트워크 구성 방식의 하나로, 모든 스테이션(station)이 통신 매체와 병렬로 연결되며, 네트워크의 모든 스테이션은 다른 모든 스테이션으로부터 정보를 수신합니다. 버스 토폴로지 네트워크의 동작은 다음과 같이 요약될 수 있습니다.
• 하나의 버스 트렁크 케이블(bus trunk cable)을 사용하며, 개별 PLC 노드는 메인 케이블에서 분기된 드롭 케이블(drop cable)을 통해 연결됩니다.
• 각 PLC는 드롭 케이블 또는 커넥터(connector)로 연결된 네트워크 인터페이스 모듈(network interface module)을 사용하여 버스에 접속합니다.
• 버스 기술의 특성과 네트워크에서 데이터가 전송되는 방식 때문에, 버스의 양 끝은 반드시 종단 저항(terminating resistor)으로 마감되어야 합니다.
• 데이터가 버스를 따라 이동하면 각 PLC 노드는 자신의 노드 식별 주소(node identification address)를 모니터링하며, 해당 주소로 전송된 정보만 수신합니다.
• 버스 네트워크는 단순한 선형 구조를 가지고 있어 다른 토폴로지보다 적은 케이블을 필요로 합니다.
• 네트워크를 제어하는 단일 스테이션이 없으며, 모든 스테이션이 서로 자유롭게 통신할 수 있습니다.
• 버스 네트워크는 각 노드가 독립적인 제어 기능을 가지며 언제든지 정보를 교환할 수 있으므로 분산 제어 시스템(distributive control system)에 매우 유용합니다.
• 버스 네트워크의 또 다른 장점은 최소한의 시스템 재구성으로 스테이션을 네트워크에서 추가하거나 제거할 수 있다는 점입니다.
• 이 네트워크의 주요 단점은 모든 노드가 공통 버스 트렁크 라인에 의존하기 때문에, 이 공통 라인에 장애가 발생하면 많은 노드가 영향을 받는다는 점입니다.
I/O 버스 네트워크는 디바이스 버스 네트워크(device bus network)와 프로세스 버스 네트워크(process bus network)의 두 가지 범주로 나눌 수 있습니다. 디바이스 버스 네트워크는 주로 온/오프 상태와 장치의 동작 상태를 전송하는 푸시버튼(pushbutton)이나 리미트 스위치(limit switch)와 같은 저수준 정보 장치와 인터페이스합니다. 디바이스 버스 네트워크는 다시 비트-와이드(bit‑wide) 또는 바이트-와이드(byte‑wide) 버스로 분류됩니다. 이산(discrete) 장치뿐 아니라 작은 아날로그 장치를 포함하는 디바이스 버스 네트워크는 바이트-와이드 버스라고 하며, 한 번에 50바이트 이상 데이터를 전송할 수 있습니다. 이산 장치와만 인터페이스하는 디바이스 버스 네트워크는 비트-와이드 버스라고 하며, 8비트 미만의 정보를 전송합니다.
프로세스 버스 네트워크는 한 번의 전송에 수백 바이트의 데이터를 통신할 수 있습니다. 프로세스 버스 네트워크에서 사용되는 장치는 주로 아날로그 장치이며, 디바이스 버스 네트워크에서는 대부분 이산 장치가 사용됩니다. 프로세스 버스 네트워크는 스마트 프로세스 밸브(smart process valve), 유량계(flowmeter)와 같은 고수준 정보 장치와 연결되며, 이는 일반적으로 프로세스 제어 응용에서 사용됩니다. 프로세스 버스는 데이터 패킷 크기가 크기 때문에 속도가 더 느립니다. 대부분의 아날로그 제어 장치는 유량(flow), 온도(temperature)와 같이 응답 속도가 느린 공정 변수를 제어하는 데 사용됩니다.
프로토콜(protocol)은 두 장치 이상이 서로 통신하기 위해 따라야 하는 규칙의 집합입니다. 프로토콜은 인간에게 언어가 필요한 것처럼 컴퓨터 간 통신에 필수적입니다. 네트워크의 두 장치가 성공적으로 통신하려면 동일한 프로토콜을 이해해야 합니다.
네트워크 프로토콜은 데이터가 네트워크에서 전송되기 위해 어떻게 배열되고 인코딩(coding)되는지를 정의합니다. 과거에는 통신 네트워크가 특정 공급업체의 기준에 따라 설계된 독자적(proprietary) 시스템이었기 때문에, 사용자는 모든 제어 구성 요소를 단일 공급업체로부터 구매해야 했습니다. 이는 각 제조업체가 서로 다른 통신 프로토콜, 명령 시퀀스(command sequence), 오류 검사 방식(error‑checking scheme), 통신 매체를 사용했기 때문입니다.
오늘날 산업계의 추세는 산업 협회(industry association)를 통해 개발된 국제 표준에 기반한 개방형(open) 네트워크 시스템입니다.
게이트웨이(gateway)(그림 14-31)은 서로 다른 아키텍처와 프로토콜 간의 통신을 가능하게 합니다. 게이트웨이는 한 네트워크에서 다른 네트워크로 이동하는 데이터를 재패키징(repackage)하고 변환하여 두 네트워크가 서로의 응용 데이터(application data)를 이해할 수 있도록 합니다. 게이트웨이는 메시지의 형식을 변경하여 수신 측의 응용 프로그램에 맞도록 조정할 수 있습니다. 네트워크 접근 변환(network-access translation)만 수행하는 경우 이러한 인터페이스를 브리지(bridge)라고 하며, 데이터 형식 조정이나 데이터 전송 제어까지 수행하면 이를 게이트웨이(gateway)라고 합니다.
버스 토폴로지(bus topology) 네트워크에서는 특정 장치가 버스에 접근하는 방식을 제어할 방법이 필요합니다. 접근 방식(access method)이란 PLC가 정보를 전송하기 위해 네트워크에 접속하는 절차를 의미합니다. 네트워크 접근 제어는 한 번에 두 개 이상의 메시지가 네트워크에서 동시에 발생하는 상황을 방지하여 데이터가 체계적으로 전송되도록 합니다. 다양한 접근 방식이 존재하지만, 가장 일반적인 방식은 토큰 패싱(token passing), 충돌 감지(collision detection), 폴링(polling)입니다.
토큰 패싱 네트워크에서는 노드(node)가 토큰을 보유한 경우에만 네트워크에서 데이터를 전송할 수 있습니다. 토큰(token)은 그림 14-32에 나타난 것처럼 노드 간에 전달되는 작은 패킷(packet)입니다. 어떤 노드가 메시지 전송을 마치면, 순서상 다음 노드에게 특별한 메시지를 전송하여 토큰을 넘깁니다. 토큰은 노드 간에 순차적으로 전달되며, 각 노드는 방해 없이 전송할 기회를 갖습니다. 단일 노드가 토큰을 너무 오래 점유하지 못하도록 토큰에는 일반적으로 시간 제한이 설정됩니다.
이더넷(Ethernet) 네트워크는 충돌 감지(collision detection) 접근 방식을 사용합니다. 이 방식에서는 노드가 네트워크 활동을 감지하고 다른 메시지가 없을 때만 전송합니다. 이더넷에서는 여러 노드가 동시에 데이터를 전송하려 할 가능성이 있습니다. 이 경우 충돌(collision)이 감지됩니다. 충돌이 발생하면 메시지를 전송한 각 노드는 무작위 시간(random time) 동안 기다린 후, 네트워크 활동이 감지되지 않으면 다시 데이터를 전송합니다.
마스터/슬레이브(master/slave) 프로토콜에서 가장 일반적으로 사용되는 접근 방식은 폴링(polling)입니다. 마스터/슬레이브 네트워크는 하나의 마스터 컨트롤러(master controller)가 다른 컨트롤러에서 시작되는 모든 통신을 제어하는 구성입니다. 그림 14-33은 이러한 구성을 보여주며, 동작은 다음과 같이 요약될 수 있습니다.
• 마스터 컨트롤러는 슬레이브(slave) 컨트롤러들에게 데이터를 전송합니다.
• 마스터가 슬레이브의 데이터를 필요로 할 경우, 해당 슬레이브를 폴(poll)하여(주소 지정하여) 응답을 기다립니다.
• 마스터가 통신을 시작하지 않으면 어떤 통신도 이루어지지 않습니다.
• 슬레이브 장치 간의 직접 통신은 불가능합니다.
• 슬레이브 간 정보를 교환해야 할 경우, 해당 정보는 먼저 네트워크 마스터 장치로 전송되고, 마스터는 이를 지정된 슬레이브 장치에 다시 전송합니다.
• 마스터/슬레이브 네트워크는 두 쌍의 도체(conductor)를 사용합니다. 한 쌍은 마스터가 데이터를 전송하고 슬레이브가 수신하는 데 사용되며, 다른 한 쌍은 슬레이브가 데이터를 전송하고 마스터가 이를 수신합니다.
피어-투-피어(peer‑to‑peer) 네트워크는 하나의 노드가 다른 모든 노드에서 발생하는 통신을 제어하는 마스터/슬레이브(master/slave) 네트워크와 달리, 분산된 방식의 제어(distributive control) 를 갖습니다. 그림 14-34에 나타난 Allen‑Bradley Data Highway는 프로그램 가능 컨트롤러와 컴퓨터가 서로 연결되어 데이터 통신 시스템을 구성하는 피어-투-피어 네트워크의 한 예입니다. 네트워크의 동작은 다음과 같이 요약됩니다.
• 피어-투-피어 네트워크는 토큰 패싱(token passing) 매체 접근 방식을 사용합니다.
• 각 장치는 네트워크 사용을 요청하고, 정보를 전송하거나 다른 네트워크 장치로부터 정보를 요청하기 위해 네트워크 제어권을 획득할 수 있습니다.
• 각 장치는 고유 주소(address)로 식별됩니다.
• 네트워크가 동작 중일 때 토큰은 한 장치에서 다음 장치로 순차적으로 전달됩니다.
• 토큰을 전송하는 장치는 다음 토큰 수신 장치의 주소를 알고 있습니다.
• 각 장치는 패킷(packet) 정보를 수신하며, 필요할 경우 이를 사용합니다.
• 노드에 추가 정보가 있으면 새로운 패킷을 생성하여 전송합니다.
PLC 디지털 데이터를 전송하는 방식에는 두 가지가 있습니다: 병렬(parallel) 전송과 직렬(serial) 전송입니다.
병렬 데이터 전송에서는 이진 데이터의 모든 비트가 동시에 전송되며, 그림 14-35가 이를 나타냅니다. 병렬 데이터 전송은 다음과 같이 정리할 수 있습니다.
• 8비트 이진 숫자를 전송하기 위해서는 8개의 전송 라인(transmission line)이 필요합니다.
• 각 비트는 자체 데이터 경로를 가지며, 하나의 워드(word)의 모든 비트는 동시에 전송됩니다.
• 병렬 데이터 전송은 직렬 전송보다 덜 일반적이지만 훨씬 빠릅니다.
• 병렬 전송의 일반적인 예는 컴퓨터와 프린터 간 연결입니다.
직렬 전송에서는 이진 데이터의 비트가 한 번에 하나씩 전송되며, 그림 14-36이 이를 나타냅니다. 직렬 데이터 전송은 다음과 같이 요약할 수 있습니다.
• 직렬 전송에서는 동일한 채널(전선)을 사용하여 비트가 순차적으로 전송되므로, 배선 비용은 줄어들지만 전송 속도는 느려집니다.
• 직렬(serial) 데이터는 병렬(parallel) 데이터보다 훨씬 더 먼 거리까지 효과적으로 전송될 수 있습니다.
• 직렬 전송에서는 각 데이터 워드(word)가 알려진 시작 비트(start bit) 시퀀스로 표시되어야 하며, 그 뒤에 데이터 전송의 실제 정보를 담는 데이터 비트(data bit), 그리고 정지 비트(stop bit)가 따라와야 합니다.
• 패리티 비트(parity bit)라고 불리는 추가 비트가 사용되어 오류 감지 능력을 제공할 수 있습니다.
듀플렉스(duplex) 통신 시스템은 서로 연결된 두 장치가 양방향으로 동시에 통신할 수 있는 시스템입니다. 반이중(half‑duplex) 시스템은 양방향 통신이 가능하지만 동시에 이루어지지 않으며, 한 번에 한 방향만 가능합니다. 반이중 전송은 마스터/슬레이브(master/slave) 통신에 사용됩니다. 전이중(full‑duplex) 전송은 양방향 데이터를 동시에 전송할 수 있으며 피어‑투‑피어(peer‑to‑peer) 통신에 사용될 수 있습니다.
다양한 네트워킹 방식은 기존의 포인트‑투‑포인트(point‑to‑point) 하드와이어(hard wiring) 방식을 대체합니다. 네트워크 기반 제어는 시스템에 필요한 배선량을 최소화합니다. 기존 배선 방식에서는 각 장치에서 제어반(control cabinet)으로 이어지는 다수의 전선 때문에, 시스템 전체에 매우 큰 전선 다발(wire bundle)이 형성되며, 이로 인해 설치 시간이 증가하고 문제 해결이 복잡해졌습니다. 네트워크를 사용하면 모든 장치를 단일 전송 매체(transmission media) 케이블에 직접 연결할 수 있습니다.
고속 산업용 네트워킹 기술은 장치를 연결하는 다양한 방법을 제공합니다. PLC 네트워크 구성은 개방형(open) 또는 독자적(proprietary, vendor‑unique)일 수 있습니다. 다음은 현대 제어 시스템에서 중요한 역할을 하는 몇 가지 산업용 통신 기술에 대한 개요입니다.
Data Highway
Allen‑Bradley Data Highway 네트워크인 Data Highway Plus(DH+)와 DH‑485는 독자적(proprietary) 통신 네트워크입니다. 이 네트워크들은 토큰 패싱(token passing)을 구현하는 피어‑투‑피어(peer‑to‑peer) 통신 방식을 사용합니다. 전송 매체는 차폐 연선(shielded twisted pair) 케이블입니다. 그림 14-37은 SLC 5/04 컨트롤러의 DH+ 네트워크 연결을 보여줍니다. 네트워크 전송 매체는 3핀 피닉스(Phoenix) 커넥터로 구성됩니다.
Serial Communication
직렬 데이터 통신(serial communication)은 RS‑232, RS‑422, RS‑485와 같은 표준을 사용하여 구현됩니다. 표준 이름의 RS는 직렬 통신을 위한 전기적, 기계적, 기능적 특성을 규정하는 “권장 표준(recommended standard)”을 의미합니다. 직렬 통신 인터페이스는 프로세서 모듈에 내장되어 있거나, 그림 14-38과 같이 별도의 통신 인터페이스 모듈 형태로 제공될 수도 있습니다.
가장 단순한 연결 방식은 RS‑232 직렬 포트입니다. RS 인터페이스는 비전 시스템(vision system), 바코드 리더(barcode reader), 오퍼레이터 터미널(operator terminal) 등과 같이 원격 장치와 PLC 간에 비교적 많은 데이터를 높은 속도로 전송해야 하는 장치들에 사용됩니다.
RS‑232 직렬 전송은 보통 한 대의 컴퓨터와 한 대의 컨트롤러 사이의 통신을 위해 설계되었으며, 최대 길이는 약 50피트까지 제한됩니다. RS‑422 및 RS‑485 직렬 전송 방식은 한 대의 컴퓨터와 여러 컨트롤러 간 통신을 위해 설계되었으며, 높은 수준의 노이즈 면역성(noise immunity)을 제공하고 전송 길이는 RS‑485의 경우 약 650피트, RS‑422의 경우 약 1650피트까지 가능합니다.
DeviceNet
DeviceNet은 개방형(open) 디바이스 레벨(device‑level) 네트워크입니다. 속도는 비교적 낮지만, I/O 모듈로부터 오가는 짧은 메시지를 처리하는 데 매우 효율적입니다. PLC의 성능이 향상됨에 따라 더 많은 I/O 필드 장치를 제어해야 하는 요구가 증가했습니다. 따라서 모든 센서와 액추에이터를 각각 개별적으로 I/O 모듈에 배선하는 방식은 실용적이지 않을 수 있습니다. 그림 14-39는 기존 방식과 DeviceNet I/O 시스템을 비교하고 있습니다. 기존 시스템에서는 입력 및 출력 랙(rack)을 사용하고, 각 I/O 장치는 컨트롤러로 개별 배선됩니다. 반면 DeviceNet 프로토콜은 데이터와 전원 도체(power conductor)를 포함한 4-와이어 트렁크 네트워크(4‑wire trunk network)에 모든 I/O 장치를 통합하여 비용을 크게 절감합니다. 이러한 직접 연결 방식은 배선 비용과 시간을 모두 줄여줍니다.
DeviceNet I/O 버스 네트워크의 기본 기능은 버스에 연결된 필드 장치(field device)에 정보를 전달하고 동시에 전원을 공급하는 것입니다. PLC는 I/O 모듈 대신 네트워크 스캐너(scanner)를 사용하여 필드 장치를 직접 구동하며, 이는 그림 14-40에 나타나 있습니다. 스캐너 모듈은 DeviceNet 장치와 통신하여 다음을 수행합니다.
• 장치로부터 입력을 읽습니다.
• 장치로 출력을 기록합니다(write).
• 구성(configuration) 데이터를 다운로드합니다.
• 장치의 동작 상태를 모니터합니다.
스캐너 모듈은 컨트롤러와 통신하여 다음 정보를 교환합니다.
• 장치 I/O 데이터
• 상태 정보(status information)
• 구성 데이터(configuration data)
DeviceNet의 고유한 특징 중 하나는 네트워크 자체에서 전원을 공급할 수 있다는 점입니다. 이를 통해 필요 전력이 적은 장치는 네트워크로부터 직접 전원을 공급받을 수 있어, 연결 지점과 설치 공간을 더욱 줄일 수 있습니다.
DeviceNet은 CIP(Common Industrial Protocol) 을 사용하며, 이는 완전히 객체 지향(object‑oriented) 방식입니다. 각 객체는 속성(attribute, 데이터), 서비스(service, 명령), 동작(behavior, 이벤트 반응)을 가집니다. CIP 사양에는 통신 객체(communication object)와 응용 특정 객체(application‑specific object) 두 가지 유형이 정의되어 있습니다. DeviceNet 네트워크는 최대 64개의 노드를 지원하며, 네트워크의 종단 간(end‑to‑end) 거리는 네트워크 속도에 따라 달라집니다. 그림 14-41은 DeviceNet 네트워크에서 트렁크 배선(trunk wiring)의 일반적인 레이아웃을 보여줍니다. 통신 데이터는 두 가닥의 전선을 통해 전달되며, 또 다른 두 가닥의 전선은 전원을 전송합니다.
네트워크에 연결되는 필드 장치는 마이크로프로세서(microprocessor) 또는 기타 회로 형태의 지능(intelligence)을 내장하고 있습니다. 이러한 장치는 단순히 필드 장치의 온/오프 상태뿐 아니라 동작 상태에 대한 진단 정보(diagnostic information)도 통신할 수 있습니다. 예를 들어, 포토센서(photoelectric sensor)의 렌즈가 오염되어 검출 마진이 감소하고 있다는 정보를 네트워크를 통해 감지할 수 있으며, 센서가 물체를 검출하지 못하기 전에 문제를 해결할 수 있습니다. 리미트 스위치(limit switch)도 자신이 수행한 동작 횟수를 보고할 수 있으며, 이는 스위치가 수명 말기에 도달했음을 알려주는 지표가 될 수 있습니다.
ControlNet
ControlNet은 DeviceNet보다 한 단계 상위 레벨에 위치한 네트워크입니다. ControlNet은 공통 산업 프로토콜(CIP, Common Industrial Protocol)을 사용하여 I/O 네트워크 기능과 피어‑투‑피어(peer‑to‑peer) 네트워크 기능을 결합하며, 두 기능 모두에 대해 고속(high‑speed)의 성능을 제공합니다. 이 개방형(open) 고속 네트워크는 높은 결정성(determinism)과 반복성(repeatability)을 갖습니다. 결정성이란 데이터가 언제 전달될지를 신뢰성 있게 예측할 수 있는 능력을 의미하며, 반복성은 네트워크에 장치가 연결되거나 분리되더라도 전송 시간이 일정하게 유지되는 특성을 의미합니다.
각 ControlNet 장치에는 전자 장치 데이터 시트(EDS‑File)가 필요합니다. 설정 과정의 초기 단계에서 ControlNet 스캐너(scanner)는 EDS‑File을 기반으로 각 장치를 구성해야 합니다. 그림 14-42에 나타난 ControlNet 레이아웃에는 이중 매체(redundant media) 옵션이 있으며, 이는 케이블 절단, 커넥터 이탈, 노이즈 등의 장애에 대비해 두 개의 별도 케이블을 설치하는 방식입니다.
EtherNet/IP
EtherNet/IP(Ethernet Industrial Protocol)는 DeviceNet과 ControlNet에서 사용되는 공통 산업 프로토콜(CIP)을 기반으로 한 개방형 통신 프로토콜입니다. 이를 통해 사용자들은 그림 14-43과 같이 EtherNet/IP를 실행하는 장치들 간에 별도의 맞춤형 하드웨어(custom hardware) 없이 정보를 원활하게(link seamlessly) 공유할 수 있습니다.
EtherNet/IP의 주요 특징은 다음과 같습니다.
• ControlNet, DeviceNet, EtherNet/IP가 공통 애플리케이션 계층(application layer)을 공유함으로써, 여러 제조업체의 복잡한 장치 간에도 플러그 앤 플레이(plug‑and‑play) 상호 운용성(interoperability)이 가능해집니다. 플러그 앤 플레이란 장치를 연결하기만 하면 DIP 스위치, 점퍼(jumper), 기타 구성 요소 설정을 걱정할 필요 없이 자동으로 구성되어 바로 동작할 수 있는 기능을 의미합니다.
• EtherNet/IP는 표준화된 전이중(full‑duplex) 동작을 제공하여, 피어‑투‑피어 연결에서 단일 노드가 최대 대역폭(bandwidth)을 활용할 수 있도록 합니다. 대역폭은 보통 초당 비트 수로 표현되는 네트워크의 데이터 처리율을 의미하며, 대역폭이 높을수록 전체 성능이 향상됩니다.
• EtherNet/IP는 산업 자동화 장치와 제어 장비가 인터넷 사용 및 비즈니스 응용에 사용되는 동일한 네트워크에서 상호 운용될 수 있도록 지원합니다.
Modbus
Modbus는 원래 Modicon PLC와 함께 사용하기 위해 개발된 직렬(serial) 통신 프로토콜입니다. 기본적으로 전자 장치 간에 직렬 라인을 통해 정보를 전달하는 방식입니다. 정보를 요청하는 장치는 Modbus 마스터(master)라고 하고, 정보를 제공하는 장치는 Modbus 슬레이브(slave)라고 합니다. Modbus는 개방형(open) 프로토콜이기 때문에 제조사가 로열티 없이 장비에 자유롭게 적용할 수 있습니다. 이러한 이유로 Modbus는 산업 분야에서 표준 통신 프로토콜로 자리잡았으며, 산업용 전자 장치를 연결하는 가장 널리 사용되는 방식 중 하나입니다. 그림 14-44는 RS‑232C 및 RS‑422/485 직렬 포트를 통해 Modbus‑RTU 네트워크 통신 기능을 갖춘 Omron PLC를 보여줍니다.
Fieldbus
Fieldbus는 센서(sensor), 액추에이터(actuator), 컨트롤러(controller)와 같은 계측 및 제어 장비를 상호 연결하는 개방형(open), 직렬(serial), 양방향(two‑way) 통신 시스템입니다. 플랜트 네트워크 계층 구조의 기초 레벨에서, Fieldbus는 프로세스 제어 응용에 사용되는 필드 장치(field device)를 위한 네트워크 역할을 합니다.
Fieldbus 네트워크에는 여러 가지 가능한 토폴로지(topology)가 있으며, 그림 14-45는 데이지 체인(daisy‑chain) 토폴로지를 보여줍니다. 이 토폴로지에서는 Fieldbus 케이블이 장치에서 장치로 순차적으로 연결됩니다. 이 방식으로 설치할 경우, 하나의 장치를 분리하더라도 세그먼트 전체의 연속성(continuity)이 끊기지 않도록 커넥터 또는 배선 방식이 갖추어져 있어야 합니다.
PROFIBUS‑DP
PROFIBUS‑DP(DP는 Decentralized Periphery의 약어)는 아날로그와 이산(discrete) 신호를 모두 지원하는 개방형(open) 국제 표준 필드버스(fieldbus) 통신 규격입니다. 기능적으로는 DeviceNet과 유사합니다. 물리적 매체는 RS‑485 또는 광섬유(fiber optic) 전송 기술을 통해 정의됩니다. PROFIBUS‑DP는 최대 12 Mbps의 속도로 최대 약 1200미터 거리까지 통신할 수 있습니다. 그림 14‑46은 Siemens S7‑200 Micro PLC 시스템을 PROFIBUS‑DP 네트워크에 연결하는 예를 보여줍니다.
14.7 Supervisory Control and Data Acquisition (SCADA)
일부 응용에서는 PLC가 일반적인 제어 기능뿐만 아니라 데이터를 수집하고 필요한 처리를 수행하며 보고서 생성을 위해 데이터를 구조화하는 역할도 담당합니다. 예를 들어, PLC가 부품 수량을 카운트하고 이 데이터를 사용자의 데스크톱 컴퓨터에 있는 스프레드시트로 자동 전송할 수도 있습니다.
데이터 수집은 SCADA(감시 제어 및 데이터 수집, supervisory control and data acquisition) 시스템을 사용하면 훨씬 단순해집니다. 그림 14-47은 SCADA 시스템을 보여줍니다. 공장 현장(plant floor)의 데이터를 상위(supervisory) 컴퓨터로 전달하면 데이터 로깅(data logging), 데이터 표시(display), 트렌딩(trending), 레시피(recipe) 다운로드, 특정 파라미터 설정, 생산 데이터 조회 등이 가능합니다. 또한 SCADA의 감독 제어 기능을 통해 공정을 더욱 정확하게 조정하여 효율을 극대화할 수 있습니다. 일반적으로 분산 제어 시스템과 달리, SCADA 시스템은 실시간으로 공정을 직접 제어하지 않고, 전체 시스템을 조정(coordinate) 하는 역할을 수행합니다.
일반적인 SCADA 시스템에서는 독립된 PLC들이 필드 장치(field device)에 대한 I/O 제어 기능을 수행하고, 호스트 컴퓨터(host computer)에서 실행되는 SCADA/HMI 소프트웨어가 이를 감독합니다(그림 14-48 참고).
공정 제어 작업자는 호스트 컴퓨터에서 PLC의 동작을 모니터링하며, 필요한 경우 PLC에 제어 명령을 보냅니다. SCADA 시스템의 가장 큰 장점은 데이터가 자동으로 저장된다는 점이며, 이 데이터는 오류 없이 후속 분석을 위해 손쉽게 검색할 수 있다는 것입니다. 측정은 프로세서 제어 하에 이루어지며, 화면에 표시되고 동시에 하드카피(hardcopy)로 저장됩니다. 정확한 측정을 쉽게 얻을 수 있고, 측정 속도에 대한 기계적 제약도 없습니다.