PLC Online Monitoring이란?|운전 중 Logic 상태를 확인하는 방법
PLC Online Monitoring이란?|운전 중 Logic 상태를 확인하는 방법
메타디스크립션
PLC Online Monitoring은 실제 운전 중인 PLC에 접속하여 입력·출력, 내부 Bit, Timer, Counter, Sequence Step 등의 Logic 상태를 실시간으로 확인하는 기능입니다. Online Mode의 원리와 활용방법, Force와의 차이 및 점검 시 주의사항을 알아봅니다.
자동화 설비가 정상적으로 움직이지 않을 때 가장 먼저 확인해야 하는 것은 단순히 출력이 ON인지 OFF인지가 아닙니다.
Motor가 동작하지 않는다면 Start 신호가 들어왔는지, Interlock 조건은 정상인지, Fault가 발생하지 않았는지, 현재 Sequence가 어느 Step에 있는지를 함께 확인해야 합니다.
이때 PLC Programming Software를 실제 PLC에 연결하여 프로그램의 현재 실행상태를 확인하는 기능이 PLC Online Monitoring입니다.
Online Monitoring을 활용하면 설비를 운전하면서 PLC 내부의 Logic과 데이터 상태를 확인할 수 있기 때문에 시운전과 유지보수, 고장원인 분석에서 매우 중요한 기능으로 사용됩니다.
PLC Online Monitoring이란 무엇일까?
PLC Online Monitoring은 Programming Software를 실제 PLC CPU와 통신 연결하여 현재 실행되고 있는 프로그램과 변수의 상태를 확인하는 기능입니다.
Offline 상태에서는 PC에 저장된 PLC Project를 확인하지만 Online 상태에서는 실제 PLC와 통신하면서 CPU가 처리하고 있는 데이터를 확인할 수 있습니다.
예를 들어 Motor가 동작하기 위해 다음 조건이 필요하다고 가정해 보겠습니다.
Start
AND MotorReady
AND InterlockOK
AND NOT MotorFault
→ MotorRun
Motor가 동작하지 않을 때 프로그램만 보고서는 어떤 조건이 현재 FALSE인지 알기 어렵습니다.
Online Monitoring을 사용하면 Start는 ON인지, MotorReady가 들어왔는지, InterlockOK가 TRUE인지, MotorFault가 발생했는지를 실제 운전상태에서 확인할 수 있습니다.
따라서 Online Monitoring은 PLC가 현재 어떤 판단을 하고 있는지 프로그램 내부에서 추적하는 과정이라고 이해할 수 있습니다.
Online과 Offline은 무엇이 다를까?
PLC Programming Software에서는 일반적으로 Online과 Offline이라는 용어를 사용합니다.
| 구분 | Online | Offline |
|---|---|---|
| PLC 연결 | 실제 PLC와 연결 | 연결하지 않은 상태 |
| 변수값 확인 | 현재값 확인 가능 | 실제 운전값 확인 불가 |
| Logic 상태 | 실행상태 Monitoring 가능 | 프로그램 구조 확인 |
| 진단정보 | CPU·Module 상태 확인 가능 | 제한적 |
| 프로그램 수정 | 시스템에 따라 가능 | Project 편집 가능 |
| 위험성 | 실제 설비에 영향 가능 | 실제 설비 영향 없음 |
Offline에서는 프로그램을 작성하거나 수정하고 Project 구조를 확인할 수 있습니다.
Online에서는 실제 PLC가 실행하고 있는 프로그램의 상태와 변수값을 확인할 수 있습니다.
다만 Online 상태에서 가능한 기능은 PLC 제조사와 CPU, Programming Software에 따라 다릅니다.
Ladder에서는 어떻게 Monitoring할까?
Ladder Diagram은 Online Monitoring의 장점이 잘 드러나는 PLC 언어 중 하나입니다.
예를 들어 다음과 같은 Logic이 있다고 가정해 보겠습니다.
|--[ Start ]--[ Ready ]--[ Interlock ]--[/Fault]--( MotorRun )--|
Online Monitoring에서는 개발환경에 따라 현재 TRUE인 Contact와 Logic 경로를 색상이나 강조표시 등으로 보여줄 수 있습니다.
MotorRun이 OFF라면 어떤 Contact에서 조건이 끊어졌는지 확인할 수 있습니다.
예를 들어 Start와 Ready는 정상인데 Interlock이 FALSE라면 Motor가 동작하지 않는 원인을 Interlock 쪽에서 찾아볼 수 있습니다.
이 때문에 Ladder Online Monitoring은 현장 Troubleshooting에서 매우 유용합니다.
Structured Text도 Online Monitoring이 가능할까?
Structured Text 역시 개발환경이 지원한다면 Online 상태에서 변수값을 확인할 수 있습니다.
예를 들어 다음과 같은 ST 프로그램이 있다고 가정해 보겠습니다.
IF Temperature >= HighLimit THEN
Cooling := TRUE;
ELSE
Cooling := FALSE;
END_IF;
Online 상태에서 Temperature, HighLimit, Cooling 등의 현재값을 확인하면 PLC가 왜 Cooling을 ON 또는 OFF하고 있는지 판단할 수 있습니다.
다만 Ladder처럼 전기회로 형태의 Logic 흐름을 시각적으로 확인하는 방식과는 차이가 있습니다.
ST에서는 변수값과 조건문의 실행상태, Watch 기능 등을 활용해 프로그램을 추적하는 경우가 많습니다.
구체적인 Monitoring 표시방법은 개발환경에 따라 다릅니다.
Watch 기능은 무엇일까?
복잡한 PLC 프로그램에서는 여러 Program과 Function Block에 있는 변수들을 동시에 확인해야 할 수 있습니다.
이때 활용할 수 있는 것이 Watch 또는 Watch Table입니다.
예를 들어 Motor 문제를 분석하기 위해 다음 데이터를 한곳에 등록할 수 있습니다.
StartCommand
MotorReady
InterlockOK
MotorFault
RunCommand
RunFeedback
MotorCurrent
CurrentStep
이렇게 구성하면 프로그램 화면을 계속 이동하지 않고 필요한 변수의 현재값을 한곳에서 확인할 수 있습니다.
특히 Sequence나 State Machine을 분석할 때 Current Step, Transition 조건, Alarm 상태를 하나의 Watch 화면에서 확인하면 문제를 추적하기 편리합니다.
Sequence는 어떻게 Monitoring할까?
Sequence Control에서 설비가 멈췄다면 가장 먼저 확인할 정보 중 하나가 현재 Step입니다.
예를 들어 현재 Step이 다음과 같다고 가정해 보겠습니다.
CurrentStep = 30
Step 30이 Cylinder Forward 공정이라면 PLC가 다음 Step으로 넘어가기 위해 어떤 조건을 기다리고 있는지 확인합니다.
CurrentStep = 30
CylinderForward = ON
ForwardSensor = OFF
이 상태라면 PLC는 전진 명령을 출력했지만 Forward Sensor가 들어오지 않아 다음 Step으로 이동하지 못하고 있을 가능성을 검토할 수 있습니다.
이후 실제 설비에서 실린더가 움직였는지, 센서가 정상인지, 배선에 문제가 없는지를 확인할 수 있습니다.
즉 Online Monitoring을 이용하면 PLC 프로그램의 상태와 실제 기계의 상태를 비교하면서 고장원인을 좁혀갈 수 있습니다.
SFC에서는 현재 Step을 확인할 수 있을까?
SFC를 지원하는 PLC 개발환경에서는 Online Monitoring 시 현재 활성화된 Step을 시각적으로 표시하는 기능을 제공하는 경우가 있습니다.
예를 들어 다음과 같은 Sequence가 있다고 가정해 보겠습니다.
Initial → Clamp → Forward → Processing → Return
현재 Forward Step이 활성화되어 있다면 해당 Step이 강조되어 표시될 수 있습니다.
이렇게 하면 설비가 현재 어느 공정에서 대기하고 있는지 빠르게 파악할 수 있습니다.
다음 Transition 조건이 FALSE라면 해당 조건을 확인하여 Sequence가 진행되지 않는 원인을 추적할 수 있습니다.
구체적인 활성 Step 표시방법과 Monitoring 기능은 사용하는 SFC 개발환경에 따라 다릅니다.
Timer와 Counter는 무엇을 확인할까?
Online Monitoring에서는 Timer와 Counter의 현재값도 중요한 정보입니다.
Timer라면 설정시간과 현재 경과시간, 실행조건, 완료상태 등을 확인할 수 있습니다.
예를 들어 5초 Timeout Timer가 있는데 Alarm이 발생하지 않는다면 Timer 입력조건이 실제로 TRUE인지부터 확인해야 합니다.
Counter에서는 현재 Count 값과 설정값, Count Input, Reset 상태 등을 확인할 수 있습니다.
이러한 정보를 통해 Timer 자체의 문제인지 Timer가 실행될 조건이 만들어지지 않은 것인지 구분할 수 있습니다.
Timer와 Counter의 구체적인 Parameter 이름과 표시방법은 PLC마다 차이가 있습니다.
Function Block은 어떤 값을 확인해야 할까?
Function Block을 사용하는 프로그램에서는 Block의 입력과 출력뿐 아니라 내부 상태가 중요한 경우가 있습니다.
Motor Control Function Block을 예로 들면 다음과 같은 데이터를 확인할 수 있습니다.
StartCommand
StopCommand
Interlock
Fault
RunOutput
RunFeedback
Ready
Alarm
같은 Function Block을 여러 Motor에서 사용한다면 어떤 Instance를 Monitoring하고 있는지도 중요합니다.
Motor_01의 문제를 찾고 있는데 Motor_02 Instance를 보고 있다면 전혀 다른 값을 확인하게 됩니다.
따라서 Function Block 기반 프로그램에서는 Block 종류와 함께 Instance를 정확하게 확인해야 합니다.
Online Monitoring과 Force는 무엇이 다를까?
Online Monitoring과 Force는 반드시 구분해야 합니다.
Online Monitoring은 기본적으로 현재 PLC의 상태를 확인하는 기능입니다.
반면 Force는 특정 변수나 I/O를 강제로 특정 상태로 유지하도록 사용하는 기능일 수 있습니다.
예를 들어 Sensor Input이 OFF인데 Online Monitoring에서는 해당 값이 OFF인 것을 확인합니다.
Force 기능을 사용하면 지원되는 PLC에서는 해당 신호를 강제로 ON 상태로 처리하도록 만들 수 있습니다.
따라서 Monitoring은 확인이고 Force는 PLC의 정상적인 데이터 처리에 개입할 수 있는 기능이라는 차이가 있습니다.
Force의 정확한 동작과 적용대상은 PLC 시스템마다 다르며 실제 설비에서 잘못 사용하면 장치가 예상하지 못하게 움직일 수 있으므로 특히 주의해야 합니다.
Online Edit는 무엇일까?
일부 PLC 시스템에서는 CPU가 RUN 상태인 동안 프로그램의 일부를 수정하여 반영할 수 있는 기능을 제공합니다.
제조사에 따라 Online Edit, Online Change 등 서로 다른 명칭을 사용할 수 있습니다.
이 기능을 사용하면 설비를 완전히 정지시키지 않고 특정 프로그램을 수정할 수 있는 경우가 있습니다.
하지만 Online Monitoring과 Online Edit는 다른 개념입니다.
Online Monitoring은 프로그램 상태를 확인하는 것이고 Online Edit는 실제로 실행 중인 프로그램을 변경하는 작업입니다.
따라서 운전 중인 설비에서 Online Edit를 수행할 때는 변경되는 Logic이 실제 출력과 Sequence에 어떤 영향을 미치는지 충분히 검토해야 합니다.
지원되는 변경범위와 반영방식 역시 PLC 시스템마다 다르므로 제조사의 절차를 따라야 합니다.
PLC 프로그램과 실제 Project가 같은지 확인해야 한다
Online Monitoring을 시작할 때 중요한 것 중 하나가 PC에 있는 Project와 실제 PLC 내부의 프로그램이 일치하는지 확인하는 것입니다.
PC에 저장된 프로그램이 오래된 Version이라면 화면에서 보고 있는 Logic과 실제 CPU가 실행하는 Logic이 다를 수 있습니다.
이 상태에서 고장원인을 분석하면 잘못된 판단을 할 가능성이 있습니다.
PLC 개발환경에 따라 Online과 Offline Program을 비교하는 Compare 기능이나 변경상태를 확인하는 기능을 제공할 수 있습니다.
따라서 현장 PLC에 접속했을 때는 무조건 Monitoring부터 시작하기보다 현재 Project와 실제 CPU 프로그램의 일치 여부를 확인하는 절차가 중요합니다.
Online Monitoring으로 고장원인을 찾는 방법
Online Monitoring에서는 출력부터 무작정 따라가기보다 Logic의 흐름을 체계적으로 추적하는 것이 좋습니다.
예를 들어 Motor가 동작하지 않는다면 먼저 Motor Run Output이 실제 PLC Logic에서 ON인지 확인합니다.
PLC 출력이 OFF라면 Run 조건을 역으로 추적합니다.
Motor Run OFF
↓
Interlock FALSE
↓
Downstream Ready FALSE
↓
Downstream Fault 발생
이런 방식으로 조건을 하나씩 따라가면 실제 원인이 Motor가 아니라 다른 장치의 Fault라는 것을 찾을 수도 있습니다.
반대로 PLC 프로그램에서 Motor Run Output이 ON인데 실제 Motor가 움직이지 않는다면 프로그램 바깥쪽도 확인해야 합니다.
PLC Output Module, 배선, Relay, Contactor, Inverter, Motor 및 전원계통 등 실제 Hardware 영역을 점검해야 할 수 있습니다.
즉 Online Monitoring은 PLC Logic 문제와 실제 Hardware 문제를 구분하는 데 중요한 단서를 제공하는 도구입니다.
Scan Cycle 때문에 Monitoring 화면을 그대로 믿으면 안 될 때도 있다
PLC는 매우 빠른 속도로 프로그램을 반복 실행합니다.
어떤 Bit가 한 Scan 동안만 순간적으로 ON되었다가 OFF된다면 사람이 Monitoring 화면에서 해당 변화를 직접 확인하기 어려울 수 있습니다.
Programming Software의 화면 갱신속도는 PLC의 Scan 속도보다 훨씬 느릴 수 있기 때문입니다.
따라서 순간적인 Pulse나 짧은 상태변화를 분석해야 한다면 단순한 화면 Monitoring만으로 판단하기 어려울 수 있습니다.
이런 경우 PLC가 제공하는 Trace, Data Logging, Diagnostic Buffer 등의 기능이 있다면 활용할 수 있습니다.
또는 문제 분석을 위해 별도의 상태기록 Logic을 설계하는 방법도 있습니다.
따라서 화면에서 ON되는 것을 보지 못했다 = PLC 내부에서 한 번도 ON되지 않았다고 단정해서는 안 됩니다.
Online Monitoring과 PLC Simulation은 무엇이 다를까?
두 기능은 모두 PLC 프로그램을 확인할 때 사용하지만 목적이 다릅니다.
PLC Simulation은 실제 설비가 없어도 가상 PLC 환경에서 Logic을 시험하는 데 초점을 둡니다.
Online Monitoring은 실제 PLC에 접속하여 현재 운전 중인 프로그램과 데이터의 상태를 확인하는 데 사용합니다.
Simulation에서는 원하는 조건을 자유롭게 만들어 프로그램을 시험하기 편리합니다.
Online Monitoring에서는 실제 Sensor, Motor, 통신장치 등의 상태가 PLC Logic에 어떻게 반영되고 있는지 확인할 수 있습니다.
따라서 프로그램 개발단계에서는 Simulation을 활용하고 실제 시운전과 유지보수 단계에서는 Online Monitoring을 적극적으로 활용할 수 있습니다.
운전 중 Monitoring할 때 주의할 점
Online Monitoring 자체는 주로 상태 확인을 위한 기능이지만 실제 PLC에 연결되어 있다는 점을 항상 고려해야 합니다.
Programming Software에서는 Monitoring 외에도 값 변경, Force, Reset, Download, Online Edit 등 실제 PLC 동작에 영향을 줄 수 있는 기능에 접근할 수 있기 때문입니다.
특히 설비가 자동운전 중일 때 출력값이나 Step Number를 임의로 변경하면 예상하지 못한 기계동작이 발생할 수 있습니다.
Sequence Step을 강제로 다음 단계로 넘기는 작업도 실제 장치가 이전 공정을 완료하지 않은 상태라면 충돌이나 설비 손상으로 이어질 수 있습니다.
따라서 실제 설비에 Online으로 접속할 때는 Monitoring과 실제 데이터 변경을 명확하게 구분하고 현장의 작업절차와 권한관리를 따라야 합니다.
사람의 안전과 관련된 회로 역시 일반 PLC의 Online 상태만으로 판단하지 말고 필요한 안전시스템과 실제 장치상태를 함께 확인해야 합니다.
PLC Online Monitoring 핵심 정리
PLC Online Monitoring은 Programming Software를 실제 PLC와 연결하여 운전 중인 프로그램의 Logic과 변수 상태를 확인하는 기능입니다.
Digital Input과 Output뿐 아니라 내부 Bit, Timer, Counter, Sequence Step, State Machine, Interlock, Alarm 및 Function Block의 데이터를 확인하여 설비가 현재 어떤 조건을 판단하고 있는지 추적할 수 있습니다.
특히 설비가 움직이지 않을 때 현재 Step과 다음 Transition 조건을 확인하거나 Motor Run을 차단하고 있는 Interlock을 역으로 추적하면 고장원인을 찾는 데 도움이 됩니다.
다만 Online Monitoring과 Force, Online Edit는 구분해야 합니다. Monitoring은 주로 상태를 확인하는 기능이지만 Force나 Online Edit는 실제 PLC 동작에 영향을 줄 수 있습니다.
또한 Monitoring 화면의 갱신속도 때문에 매우 짧은 Pulse를 놓칠 수도 있으므로 필요한 경우 Trace나 Logging 기능을 함께 활용해야 합니다.
결국 PLC Online Monitoring의 핵심은 PLC가 현재 무엇을 입력받고 어떤 Logic을 거쳐 어떤 판단을 내리고 있는지를 실제 운전상태에서 추적하는 것입니다.




댓글 0
첫 댓글을 남겨보세요.