블로그2026. 6. 16.

EASY LOGGER Sequence 설정 사용방법

EASY LOGGER Sequence 설정 사용방법

EASY LOGGER 사용법: EASY LOGGER Sequence 설정 사용방법

안녕하세요. 오늘은 EASY LOGGER를 현장에서 사용할 때 꼭 알아두면 좋은 기능과 설정 흐름을 블로그 포스팅 형식으로 정리했습니다. 기존 사용자메뉴얼의 실제 화면 캡처는 그대로 유지하고, 처음 보는 분도 흐름을 이해할 수 있도록 핵심 사용 순서를 먼저 배치했습니다.

EASY LOGGER 대시보드 시퀀스 확인 흐름

이런 분께 추천합니다

  • PLC, 센서, 설비 데이터를 수집해야 하는 현장 담당자
  • 생산수량, 온도, 습도, 설비 상태를 DB/CSV/API로 관리하려는 사용자
  • EASY LOGGER 화면을 보면서 빠르게 설정 절차를 확인하고 싶은 사용자

이 기능의 핵심 특징

  • Step 순서 기반 생산 공정 로그 기록
  • NORMAL/MISSED_NEXT_STEP 상태로 누락 여부 확인
  • Step tact와 반복 패턴 분석
  • 품질·공정 개선용 이력 확보

사용 흐름 요약

  1. PLC/센서 데이터를 EASY LOGGER가 수집합니다.
  2. 시퀀스 로그 또는 대시보드 위젯으로 표현합니다.
  3. 현장 모니터와 사무실 PC에서 상태를 확인합니다.
  4. 필요한 이력은 DB/CSV로 분석합니다.

실제 화면으로 보는 사용 방법

아래 내용은 원본 사용자메뉴얼의 화면 캡처와 절차를 유지하면서, 블로그에서 읽기 쉽게 정리한 본문입니다.

실제 EASY LOGGER hta1.iptime.org:8000의 Sequence 설정 화면 예시입니다.

Sequence 설정 전체 화면

이 화면에서 위쪽은 Sequence 기본 설정, 가운데는 Step 조건 설정, 아래쪽은 등록된 Step과 Sequence 설정 목록을 확인하는 영역입니다.

이 문서는 EASY LOGGER의 Sequence 설정을 현장 사용자가 바로 이해하고 사용할 수 있도록 정리한 설명서입니다.

Sequence 설정은 여러 개의 조건을 순서대로 기다렸다가, 조건이 맞는 순간마다 PLC 데이터를 DB 또는 CSV에 한 줄씩 남기는 기능입니다.

가장 중요한 결론부터 정리하면 다음과 같습니다.

Sequence 설정은 가능한 감시 신호를 한 스캔에서 묶어 읽습니다.
단, 저장 판정은 Sequence 순서를 지킵니다. 현재 순번의 Step이 성공해야 다음 Step이 기록됩니다.
한 번의 스캔에서 저장 판정은 현재 Step과 바로 다음 Step까지만 진행합니다.
예외적으로 현재 Step을 놓치고 바로 다음 Step이 같은 스캔에서 감지되면, 현재 Step은 누락 보정으로 기록하고 다음 Step까지 정상 기록합니다.

예를 들어 Step이 1번부터 5번까지 등록되어 있다면 EASY LOGGER는 다음 순서로 동작합니다.

Step 1 감시
  조건 성립 -> 데이터 1회 저장 -> Step 2로 이동

Step 2 감시
  조건 성립 -> 데이터 1회 저장 -> Step 3으로 이동

Step 3 감시
  조건 성립 -> 데이터 1회 저장 -> Step 4로 이동

Step 4 감시
  조건 성립 -> 데이터 1회 저장 -> Step 5로 이동

Step 5 감시
  조건 성립 -> 데이터 1회 저장 -> 다시 Step 1로 이동

따라서 Step 1이 아직 성공하지 않은 상태에서 Step 3 신호가 먼저 들어와도 Step 3은 기록되지 않습니다. Step 2처럼 바로 다음 Step이 감지된 경우만 누락 보정 대상입니다.

현재 버전에서는 MC Protocol BIT Step의 경우 같은 BIT 영역을 최소~최대 범위로 한 번에 읽을 수 있습니다. 예를 들어 Step 감시주소가 M40020, M40721처럼 같은 M 영역 안에 있으면 한 번의 batchread_bitunits() 읽기로 값을 확보하고, 그 결과를 Sequence 순서대로 판정합니다.


1. Sequence 설정을 사용하는 목적

일반 수집은 보통 다음 방식으로 사용합니다.

  • 일정 시간마다 데이터를 저장한다.
  • 특정 이벤트가 발생하면 데이터를 저장한다.
  • 설정 1개가 하나의 테이블 또는 CSV 파일을 만든다.

Sequence 설정은 이 방식과 다릅니다.

Sequence 설정은 하나의 작업 흐름 안에 여러 개의 Step을 등록하고, 각 Step이 순서대로 발생하는 시간을 기록하기 위한 기능입니다.

예를 들어 설비 공정이 다음과 같이 진행된다고 가정합니다.

1. 제품 투입
2. 클램프 전진
3. 가압 시작
4. 가압 완료
5. 배출 완료

이때 각 동작이 발생한 순간마다 같은 수집 데이터 묶음을 저장하고 싶다면 Sequence 설정을 사용합니다.

저장 결과에는 다음 정보가 함께 남습니다.

  • 몇 번째 Step에서 저장되었는지
  • 어떤 감시주소가 조건을 만족했는지
  • 사용자가 입력한 한글 코멘트
  • 이전 Step 이후 몇 ms가 걸렸는지
  • 그 순간의 PLC 데이터 값

2. Sequence 설정의 핵심 개념

2.1 Sequence 설정 1개

Sequence 설정 1개는 하나의 공정 흐름입니다.

예:

CONFIG NAME: M400_10ms

이 이름은 DB 테이블 이름 또는 CSV 파일 이름의 기준이 됩니다.

CSV를 사용하는 경우 파일은 수집항목과 날짜 기준으로 생성됩니다.

예:

M400_10ms_2026-05-20.CSV

2.2 Step

Step은 순서 번호입니다.

예:

Step 1: M400 ON 감지
Step 2: M401 ON 감지
Step 3: M402 ON 감지

Step은 등록한 순서대로 번호가 정해집니다.

Step 1 조건이 만족되어야 Step 2가 기록 대상이 됩니다. Step 2 조건이 만족되어야 Step 3이 기록 대상이 됩니다.

MC Protocol BIT Step은 통신 효율을 위해 한 스캔에서 여러 Step의 BIT 값을 함께 읽을 수 있습니다. 하지만 읽은 값이 있어도 저장 순서는 반드시 Step 순서를 따릅니다.

한 번의 스캔에서 판정 대상은 현재 Step과 바로 다음 Step까지만입니다. 현재 Step을 놓치고 바로 다음 Step이 감지된 경우만 예외적으로 MISSED_NEXT_STEP 보정 기록을 남깁니다.

같은 감시주소를 떨어진 Step에서 다시 사용하는 경우도 있습니다. 예를 들어 Step 2와 Step 13이 모두 M40311을 사용하거나, Step 5와 Step 10이 모두 M40719를 사용할 수 있습니다. 이때 EASY LOGGER는 전체 BIT 값을 한 번에 읽더라도 현재 Step과 바로 다음 Step까지만 판정합니다. Step 13에서 읽힌 M40311 값은 Step 2 판정에 사용하지 않고, 다음 사이클 Step 2의 rising 기준값을 미리 ON으로 만들지도 않습니다. 또한 같은 주소를 쓰는 Step이 기록되면 그 주소를 쓰는 다른 Step의 이전 edge 기준값도 함께 초기화합니다.

2.3 감시주소

감시주소는 각 Step에서 기다릴 PLC 주소입니다.

예:

M400
M401
D100

감시주소는 “이 Step이 발생했는지 판단하는 주소”입니다.

2.4 수집 시작 번지와 디바이스 수

수집 시작 번지와 디바이스 수는 Step이 성공했을 때 실제로 저장할 데이터 범위입니다.

예:

수집 시작 번지: D4000
디바이스 수: 10

이 설정이면 Step 조건이 성공할 때마다 다음 값들이 저장됩니다.

D4000, D4001, D4002, D4003, D4004, D4005, D4006, D4007, D4008, D4009

중요한 점은 감시주소와 수집 주소가 다르다는 것입니다.

  • 감시주소: Step이 발생했는지 확인하는 주소
  • 수집 시작 번지: Step 발생 순간에 저장할 데이터의 시작 주소

3. 모든 Step을 동시에 기록하지 않는 이유

Sequence 설정은 “순서”를 기록하기 위한 기능입니다.

모든 Step을 동시에 기록하면 다음 문제가 생깁니다.

  • Step 3이 Step 1보다 먼저 기록될 수 있다.
  • 공정 순서가 틀어진 상태로 저장될 수 있다.
  • 각 Step 사이의 시간을 정확히 판단하기 어렵다.

그래서 Sequence 설정은 값을 한 번에 여러 개 읽더라도, 저장 판정은 항상 현재 순번부터 진행합니다.

예를 들어 현재 화면의 CURRENT2 / 5라면 EASY LOGGER는 지금 Step 2를 기록 대상으로 판정하고 있습니다.

이때 Step 4, Step 5의 값이 같은 스캔에서 읽혔더라도 Step 2 또는 바로 다음 Step 3 외의 뒤쪽 Step은 그 스캔에서 판정하지 않습니다.

Step 2가 성공했고 같은 스캔에서 Step 3 조건도 이미 만족되어 있다면, EASY LOGGER는 Step 3까지는 순서에 맞게 이어서 처리할 수 있습니다. 단, 같은 스캔에서 Step 4 이후로는 계속 진행하지 않습니다.

Step 2가 성공하지 않았지만 바로 다음 Step 3이 같은 스캔에서 감지되면, EASY LOGGER는 Step 2를 MISSED_NEXT_STEP으로 보정 기록하고 Step 3을 정상 기록합니다. 이때 Step 4, Step 5, Step 10처럼 바로 다음이 아닌 뒤쪽 Step은 보정 대상으로 사용하지 않습니다. 같은 주소가 뒤쪽 Step에 다시 있더라도 그 뒤쪽 Step 값은 현재 Step의 edge 기준값을 갱신하지 않습니다. 반대로 그 뒤쪽 Step 순서에 도착해 정상 기록되면, 같은 주소를 쓰는 앞쪽 Step의 이전 edge 기준값은 다음 사이클을 위해 초기화됩니다.


4. Step 신호가 짧게 들어왔다가 사라지는 경우

Step 2를 기다리는 중에 Step 4 신호가 순간적으로 ON 되었다가 OFF 되면 Step 4는 기록되지 않을 수 있습니다.

Step 4는 Sequence가 Step 4 순번까지 진행되었을 때만 기록 대상이 되기 때문입니다.

따라서 현장 PLC에서는 다음 중 한 가지 방식으로 구성하는 것이 좋습니다.

  • 각 Step 완료 신호를 EASY LOGGER가 확인할 때까지 유지한다.
  • Step 완료 비트를 다음 Step으로 넘어가기 전까지 유지한다.
  • 너무 짧은 펄스 신호는 PLC 내부에서 유지 신호로 바꿔서 사용한다.

Sequence 설정은 고속 감지를 지원하지만, 앞 Step이 아직 성공하지 않았는데 멀리 떨어진 뒤 Step만 단독으로 기록하는 기능은 아닙니다. 누락 보정은 현재 Step 기준 바로 다음 Step까지만 적용됩니다.


5. 감시 주기(ms)의 의미

감시 주기(ms)는 Sequence 감시 루프를 얼마나 자주 실행할지 정하는 값입니다.

예:

감시 주기(ms): 10

이 설정은 약 10ms 간격으로 Step 감시값을 읽고, 현재 순번부터 조건을 판정한다는 뜻입니다.

중요한 점은 다음과 같습니다.

  • MC Protocol BIT Step은 10ms마다 설정된 BIT 범위를 묶어 읽을 수 있습니다.
  • 저장 판정은 현재 순번부터 진행합니다.
  • 실제 속도는 PLC 통신 속도, 네트워크 상태, PLC 응답 속도에 따라 달라질 수 있습니다.
  • 결과치는 PLC의 실제 SCAN 타임, 통신 모듈 부하, 네트워크 상태, PC 부하에 따라 달라질 수 있습니다.

현재 설정 화면은 최소 5ms까지 입력할 수 있습니다. 기본값은 기존처럼 10ms입니다. 5ms 설정은 실제 장비 응답이 충분히 빠른 경우에만 사용하고, 운전 전에는 반드시 실제 설비에서 응답 시간을 확인해야 합니다.

5.1 MC Protocol BIT 읽기 실측 예시

아래 값은 테스트 장비에서 직접 측정한 예시입니다.

PLC: 192.168.1.10:2004
Protocol: MC Type3E / Q / binary
측정 주소: M0
반복: 100회
튀는 값 기준: 20ms 초과
읽기 조건튀는 값 제외 기준최소평균중앙값95%최대
M0 1bit 읽기튀는 값 없음1.677ms2.467ms2.004ms4.716ms7.954ms
M0부터 1024bit 읽기20ms 초과 1회 제외2.617ms3.854ms3.337ms6.084ms7.706ms

이 결과에서는 1024bit를 한 번에 읽어도 1bit 읽기보다 중앙값 기준 약 1.3ms 정도만 증가했습니다. 따라서 같은 BIT 영역의 여러 Step을 개별 읽기하는 것보다, 1SCAN 최대BIT수로 묶어 읽는 방식이 고속 Sequence 감시에 유리합니다.

단, 위 수치는 테스트한 PLC와 네트워크 조건에서의 결과입니다. 실제 현장에서는 PLC 프로그램의 SCAN 타임, 통신 처리 주기, Ethernet 모듈 부하, 다른 장비의 접속 여부에 따라 달라질 수 있습니다.


6. EDGE 설정 설명

EDGE는 Step 조건을 어떤 방식으로 판단할지 정하는 항목입니다.

6.1 Rising

Rising은 OFF 상태에서 ON 상태로 바뀌는 순간을 감지합니다.

예:

이전 상태: OFF
현재 상태: ON

이때 Step이 성공합니다.

Sequence가 처음 시작되었고 현재 Step 신호가 이미 ON 상태라면, 첫 감지에서는 1회 성공으로 인정합니다. 이후 같은 Step이 다시 기록되려면 신호가 OFF 되었다가 다시 ON 되어야 합니다.

주로 다음 상황에 사용합니다.

  • 작업 시작 비트
  • 완료 비트
  • 센서 감지 비트

6.2 Falling

Falling은 ON 상태에서 OFF 상태로 바뀌는 순간을 감지합니다.

예:

이전 상태: ON
현재 상태: OFF

이때 Step이 성공합니다.

주로 다음 상황에 사용합니다.

  • 동작 해제
  • 클램프 후퇴 완료
  • 신호가 꺼지는 순간을 기준으로 삼고 싶을 때

6.3 Level

Level은 현재 값이 조건을 만족하면 Step이 성공합니다.

BIT 주소에서 설정값 없이 사용하면 ON 상태일 때 성공합니다.

WORD 주소에서 조건식과 설정값을 넣으면 다음처럼 사용할 수 있습니다.

D100 >= 50
D200 = 10
D300 < 100

현재 Step 순번에 도착했을 때 조건이 이미 만족되어 있으면 바로 저장하고 다음 Step으로 넘어갑니다.

6.4 Change

Change는 조건식과 설정값을 반드시 함께 사용합니다.

예:

D100 >= 50

이전 확인에서는 조건을 만족하지 않았고, 이번 확인에서 조건을 만족하면 Step이 성공합니다.

주로 값이 특정 기준을 넘어서는 순간을 기록하고 싶을 때 사용합니다.


7. Sequence 설정 화면의 입력 항목

아래 화면처럼 PLC PROFILE, CONFIG NAME, 감시 주기, 저장할 데이터 범위, Step 조건을 한 화면에서 입력합니다.

Sequence 설정 입력 화면

7.1 PLC PROFILE

저장된 PLC 연결 정보를 선택합니다.

Sequence 설정은 여기서 선택한 PLC와 통신합니다.

7.2 CONFIG NAME

Sequence 설정 이름입니다.

이 이름은 DB 테이블 또는 CSV 파일 이름의 기준이 되므로 현장에서 알아보기 쉽게 작성하는 것이 좋습니다.

예:

M400_10ms
PRESS_STEP_LOG
LINE1_SEQUENCE

한글도 사용할 수 있지만, 파일과 테이블을 관리할 때는 영문, 숫자, 언더바 조합을 권장합니다.

7.3 감시 주기(ms)

Sequence 감시 루프를 실행하는 주기입니다.

권장 예:

5
10
20
50
100

빠른 공정은 5ms, 10ms 또는 20ms를 사용할 수 있습니다. 기본값은 10ms입니다. PLC 응답이 느리거나 네트워크가 불안정하면 50ms 이상이 안정적일 수 있습니다.

7.4 1SCAN 최대BIT수

READ TYPEBIT일 때 사용하는 Sequence 설정 단위의 블록 읽기 범위입니다.

기본값:

1024

이 값은 Step마다 따로 적용되는 값이 아닙니다. 하나의 Sequence 설정 안에서 BIT Step들을 읽을 때 적용되는 최대 블록 크기입니다.

예:

Step 감시주소:
M40020
M40721

1SCAN 최대BIT수:
1024

이 경우 두 주소가 같은 M 영역이고 M40020~M40721 범위가 1024bit 안에 들어오므로, EASY LOGGER는 필요한 최소~최대 범위인 M40020~M40721을 한 번에 읽습니다.

DB/CSV에는 실제 읽기 메타데이터가 함께 저장됩니다.

컬럼의미
SequenceBitMinDevice해당 스캔에서 묶어 읽은 BIT 시작 주소
SequenceBitMaxDevice해당 스캔에서 묶어 읽은 BIT 끝 주소
SequenceScanBitCount설정된 1SCAN 최대BIT수
SequenceBitReadSize실제로 읽은 BIT 수

T 접점은 M 영역 블록에 포함하지 않고 1bit 별도 읽기로 처리됩니다. Mitsubishi MC Q 시리즈에서 라이브러리는 T를 직접 지원하지 않으므로, 사용자가 T7042처럼 입력하면 BIT 읽기 요청은 내부적으로 TS7042로 변환해 읽습니다.

C 카운터도 같은 방식으로 내부 요청 주소를 변환합니다. 사용자가 C120처럼 입력하면 BIT 읽기 요청은 카운터 접점인 CS120으로, WORD 읽기 요청은 카운터 현재값인 CN120으로 변환합니다. 화면, DB, CSV에는 사용자가 입력한 C120 주소 기준으로 남습니다.

7.5 DATA TYPE

Step이 성공했을 때 저장할 데이터의 형식입니다.

항목의미
BIT0 또는 1
WORD일반 숫자
DWORD큰 정수
FLOAT소수점 값
STRING1 WORD에 ASCII 2문자

STRING은 Mitsubishi MC와 LS F-NET/C-NET에서 사용할 수 있습니다.

7.6 수집 시작 번지

Step이 성공했을 때 저장할 데이터의 시작 주소입니다.

예:

D4000

7.7 디바이스 수

수집 시작 번지부터 몇 개를 저장할지 정합니다.

예:

수집 시작 번지: D4000
디바이스 수: 10

저장되는 주소:

D4000 ~ D4009

디바이스 수를 0으로 설정하는 방식은 사용하지 않습니다. 저장할 값이 없으면 Sequence 기록의 의미가 없어지므로 1 이상으로 설정합니다.


8. Step 조건 설정 항목

8.1 감시주소

현재 Step에서 기다릴 PLC 주소입니다.

예:

M400
M401
D100

8.2 READ TYPE

감시주소를 어떤 형식으로 읽을지 정합니다.

항목사용 예
BITM400, X0, Y10 같은 ON/OFF 신호
WORDD100 같은 숫자
DWORD2 WORD를 묶어서 큰 숫자로 볼 때
FLOAT2 WORD를 묶어서 소수점 값으로 볼 때

MC Protocol에서 BIT Step이 여러 개 있고 같은 디바이스 영역에 있으면, EASY LOGGER는 1SCAN 최대BIT수 안에서 최소~최대 BIT 범위를 묶어 읽습니다. 예를 들어 M40020, M40611, M40721은 같은 M 영역이므로 하나의 블록 읽기로 처리될 수 있습니다.

T7042 같은 T 접점은 M 영역 블록에 섞지 않고 1bit 별도 읽기로 처리합니다. 내부 MC 요청은 타이머 접점 디바이스인 TS7042로 변환됩니다. WORD로 타이머 현재값을 읽는 경우에는 T7042 입력을 TN7042로 변환합니다.

C120 같은 C 카운터는 BIT 읽기일 때 내부 MC 요청을 CS120으로 변환하고, WORD 읽기일 때는 CN120으로 변환합니다. 여러 C 카운터 BIT가 가까운 영역에 있으면 해당 C 영역 기준으로 묶어 읽을 수 있습니다.

8.3 EDGE

Step 성공 기준입니다.

EDGE의미조건식 사용
RisingOFF에서 ON으로 바뀌면 성공보통 사용하지 않음
FallingON에서 OFF로 바뀌면 성공보통 사용하지 않음
Level현재 값이 ON 또는 조건 만족이면 성공선택 사용
Change조건을 새로 만족하면 성공반드시 사용

8.4 조건식

WORD, DWORD, FLOAT 같은 숫자 값을 기준으로 판단할 때 사용합니다.

사용 가능한 조건식:

>
>=
=
<=
<

예:

D100 >= 50
D200 = 10
D300 < 100

8.5 설정값

조건식에서 비교할 값입니다.

예:

50
10
100

8.6 DB 저장 코멘트

저장 결과에 남길 설명입니다.

한글로 입력할 수 있습니다.

예:

합착STEP1
합착STEP2
가압시작
가압완료
배출완료

이 값은 DB와 CSV에서 EventDefine 항목으로 저장됩니다.


9. 설정 순서

9.1 사전 준비

먼저 MAIN 설정에서 PLC 연결 정보가 저장되어 있어야 합니다.

Sequence 설정 화면의 PLC PROFILE은 이 저장된 PLC 목록을 사용합니다.

9.2 일반 저장 설정 비활성화

고속 Sequence 수집을 사용할 때는 MAIN 설정의 일반 저장 설정 목록을 비활성화한 뒤 사용하는 것을 권장합니다.

Sequence 저장 시 활성화된 일반 Timer/Event 설정이 있으면 확인 팝업이 표시됩니다.

이 팝업은 다음 의미입니다.

고속 시퀀스 수집시 저장 설정 목록을 전부 비활성화 후 사용해주세요.

일반 수집이 동시에 많이 실행되면 PLC 통신과 저장 주기에 영향을 줄 수 있으므로, 고속 Sequence 테스트나 실제 운전에서는 Sequence만 켜는 구성이 안정적입니다.

9.3 Sequence 설정 입력

  1. Sequence 설정 화면을 엽니다.
  2. PLC PROFILE을 선택합니다.
  3. CONFIG NAME을 입력합니다.
  4. 감시 주기(ms)를 입력합니다.
  5. DATA TYPE, 수집 시작 번지, 디바이스 수를 입력합니다.
  6. Step 조건을 입력합니다.
  7. Step 추가를 누릅니다.
  8. 필요한 Step을 모두 추가합니다.
  9. Sequence 저장을 누릅니다.

9.4 Sequence 실행

저장 후 Sequence 설정 목록에서 실행 버튼을 누르면 감시가 시작됩니다.

화면 아래쪽의 SEQUENCE 설정 목록에서 저장된 Sequence의 현재 Step, 실행 상태, 동작 버튼을 확인합니다.

Sequence 설정 목록 화면

목록에서 확인할 항목은 다음과 같습니다.

항목의미
CONFIGSequence 설정 이름
PLC대상 PLC
PERIOD감시 주기
DATA저장할 데이터 범위
STEPS등록된 Step 수
CURRENT현재 감시 중인 Step
STATUS실행 상태

CURRENT1 / 3이면 현재 Step 1을 감시 중이라는 뜻입니다.

CURRENT2 / 3이면 현재 Step 2를 감시 중이라는 뜻입니다.


10. 저장되는 내용

Sequence 조건이 성공하면 DB 또는 CSV에 한 줄이 저장됩니다.

저장 방식은 현재 설정에서 켜둔 저장 방식에 따라 달라집니다.

  • DB 저장이 켜져 있으면 DB 테이블에 저장
  • CSV 저장이 켜져 있으면 로컬 CSV 파일에 저장

운영 정책상 DB 저장과 CSV 저장은 동시에 켜지지 않도록 사용하는 것이 안전합니다. 둘 다 꺼져 있으면 Sequence가 실행 중이어도 저장 파일이나 DB 기록은 생성되지 않습니다.

저장되는 주요 항목은 다음과 같습니다.

항목의미
Timestamp저장된 시간
EventDefine사용자가 입력한 DB 저장 코멘트
EventTact이전 Step 이후 걸린 시간
SequenceStepNo몇 번째 Step인지
EventDevice감시주소
Config_NameSequence 설정 이름
TriggerTypesequence
DataType저장 데이터 형식
EventReadType감시주소 읽기 형식
EventEdge조건 방식
EventConditionOperator조건식
EventConditionValue설정값
SequenceStepStatusNORMAL 또는 MISSED_NEXT_STEP
SequenceCompensatedByStepNo누락 보정 판단에 사용된 바로 다음 Step 번호
SequenceBitMinDevice묶어 읽은 BIT 시작 주소
SequenceBitMaxDevice묶어 읽은 BIT 끝 주소
SequenceScanBitCount설정된 1SCAN 최대BIT수
SequenceBitReadSize실제 읽은 BIT 수
D4000, D4001 등실제 수집 데이터

DB/CSV 컬럼은 현장에서 바로 확인하기 쉬운 순서로 저장됩니다. CSV 기본 순서는 Timestamp, EventDefine, EventTact, SequenceStepNo, EventDevice가 먼저이고, 그 뒤에 설정 정보와 실제 수집 데이터가 이어집니다.

DB 테이블과 DB 조회 화면은 MySQL 관리용 id 컬럼이 맨 앞에 추가되고, 그 다음부터는 CSV와 같은 순서를 사용합니다.


11. EventTact 설명

EventTact는 Step 사이의 시간을 ms 단위로 표시합니다.

예:

Step 1: EventTact = 0ms
Step 2: EventTact = 701ms
Step 3: EventTact = 702ms

Step 1은 한 사이클의 시작점으로 보기 때문에 0ms로 기록됩니다.

Step 2부터는 바로 이전에 기록된 Step 이후 걸린 시간이 표시됩니다.

예를 들어 다음과 같이 해석합니다.

Step 2의 EventTact = Step 1 이후 Step 2까지 걸린 시간
Step 3의 EventTact = Step 2 이후 Step 3까지 걸린 시간
Step 4의 EventTact = Step 3 이후 Step 4까지 걸린 시간

전체 공정 시간을 보고 싶으면 Step 2부터 마지막 Step까지의 EventTact를 더해서 확인합니다.

마지막 Step 이후 다시 Step 1로 돌아가는 시간까지 별도로 보고 싶다면, 공정 종료를 의미하는 Step을 마지막에 추가해서 관리하는 것을 권장합니다.

누락 보정으로 기록된 행은 SequenceStepStatusMISSED_NEXT_STEP으로 남습니다. 이 경우 EventTact는 실제 신호가 켜진 정확한 순간이 아니라 바로 다음 Step을 통해 보정 감지한 시점 기준입니다.


12. 저장 예시

설정:

CONFIG NAME: M400_10ms
DATA TYPE: WORD
수집 시작 번지: D4000
디바이스 수: 6

Step:

Step 1: M400 Rising, DB 저장 코멘트 = 합착STEP1
Step 2: M401 Rising, DB 저장 코멘트 = 합착STEP2
Step 3: M402 Rising, DB 저장 코멘트 = 합착STEP3

저장 결과 예:

| Timestamp | EventDefine | EventTact | SequenceStepNo | EventDevice | SequenceStepStatus | SequenceCompensatedByStepNo | D4000 | D4001 | D4002 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 2026-05-20T08:11:12 | 합착STEP1 | 0ms | 1 | M400 | NORMAL | | 966 | 0 | 0 | | 2026-05-20T08:11:13 | 합착STEP2 | 701ms | 2 | M401 | NORMAL | | 965 | 0 | 0 | | 2026-05-20T08:11:14 | 합착STEP3 | 702ms | 3 | M402 | NORMAL | | 964 | 0 | 0 |

이 표는 다음 의미입니다.

  • M400 조건이 성공한 순간 D4000부터 데이터를 저장했다.
  • 이후 M401 조건이 성공하기까지 701ms가 걸렸다.
  • 이후 M402 조건이 성공하기까지 702ms가 걸렸다.

BIT Step을 블록 읽기로 감시한 경우 실제 DB/CSV에는 SequenceBitMinDevice, SequenceBitMaxDevice, SequenceScanBitCount, SequenceBitReadSize도 함께 남습니다. 이 값으로 해당 저장 시점에 어떤 BIT 범위를 몇 bit 읽었는지 확인할 수 있습니다.

만약 Step 2를 놓쳤고 바로 다음 Step 3으로 보정되었다면 Step 2 행은 SequenceStepStatus = MISSED_NEXT_STEP, SequenceCompensatedByStepNo = 3으로 남고 Step 3 행은 NORMAL로 남습니다.


13. STRING 저장 예시

Mitsubishi 또는 LS PLC에서 1 WORD에 ASCII 2문자가 들어 있는 경우 STRING을 사용할 수 있습니다.

예를 들어 PLC에 다음 문자열이 저장되어 있다고 가정합니다.

EASYLOGGER_TEST

수집 시작 번지를 D7000, 디바이스 수를 8로 설정하면 다음처럼 저장됩니다.

주소저장값
D7000EA
D7001SY
D7002LO
D7003GG
D7004ER
D7005_T
D7006ES
D7007T

PLC 내부 WORD 값은 장비 특성상 상위/하위 바이트가 바뀌어 보일 수 있지만, EASY LOGGER의 DB와 CSV에는 사용자가 읽는 문자열 순서로 저장됩니다.


14. MQTT와 API 발행

Sequence 설정으로 저장되는 데이터는 일반 Timer/Event 수집과 분리되어 있습니다.

현재 Sequence 저장 데이터는 DB 또는 CSV 기록용입니다.

Sequence에서 저장된 데이터는 일반 MQTT READ 발행과 API READ 발행을 하지 않습니다.

이유는 다음과 같습니다.

  • Sequence는 고속 Step 시간 기록이 목적이다.
  • MQTT/API 발행 지연이 Step 감시에 영향을 주지 않도록 분리한다.
  • 일반 수집과 Sequence 수집의 역할을 혼동하지 않도록 한다.

MQTT 또는 API 발행이 필요한 데이터는 일반 Timer/Event 저장 설정을 별도로 사용합니다.


15. 자주 발생하는 상황과 확인 방법

15.1 RUNNING인데 DB 테이블 또는 CSV 파일이 생성되지 않는다

확인할 항목:

  • DB 저장 또는 CSV 저장이 켜져 있는지 확인한다.
  • 현재 Step 조건이 실제로 성공했는지 확인한다.
  • CURRENT가 어느 Step에서 멈춰 있는지 확인한다.
  • 감시주소가 PLC에서 실제로 변하는지 확인한다.
  • PLC 연결 상태가 정상인지 확인한다.

RUNNING은 감시가 실행 중이라는 뜻입니다. 조건이 아직 성공하지 않았다면 저장 기록은 생성되지 않을 수 있습니다.

15.2 CURRENT가 1 / 3에서 멈춰 있다

현재 Step 1 조건이 아직 성공하지 않았다는 뜻입니다.

확인할 항목:

  • Step 1 감시주소가 맞는지 확인한다.
  • READ TYPE이 맞는지 확인한다.
  • EDGE가 현장 신호와 맞는지 확인한다.
  • Rising을 사용하는 경우 OFF에서 ON으로 바뀌는지 확인한다.
  • Level을 사용하는 경우 현재 값이 조건을 만족하는지 확인한다.

15.3 Step 3 신호가 들어왔는데 저장되지 않는다

정상 동작일 수 있습니다.

Sequence는 값을 여러 개 읽을 수 있어도 저장 판정은 현재 순번부터 진행합니다.

현재 CURRENT1 / 5이고 Step 1 조건이 아직 성공하지 않았다면 Step 3 신호가 들어와도 기록하지 않습니다.

Step 3은 Sequence가 Step 3 순번까지 진행되었을 때 기록 대상이 됩니다.

15.4 짧은 신호가 누락된다

현재 순번보다 뒤에 있는 Step의 짧은 신호는 앞 Step이 아직 성공하지 않은 경우 놓칠 수 있습니다.

PLC에서 Step 완료 신호를 EASY LOGGER가 확인할 때까지 유지하도록 구성하는 것을 권장합니다.

MC Protocol BIT Step은 1SCAN 최대BIT수 안에서 같은 영역의 BIT 값을 묶어 읽지만, 한 스캔에서 기록하는 범위는 현재 Step과 바로 다음 Step까지만입니다. 뒤쪽 Step 신호가 같은 스캔에서 이미 ON이어도 바로 다음 Step이 아니면 기록하지 않습니다.

15.5 같은 Step이 계속 기록된다

Level 조건을 사용하고 있고, 해당 조건이 계속 만족되는 상태일 수 있습니다.

Sequence는 해당 Step에 도착했을 때 조건이 만족되면 저장하고 다음 Step으로 넘어갑니다. 한 사이클을 돌아 다시 같은 Step에 왔을 때 조건이 여전히 만족되어 있으면 다시 저장될 수 있습니다.

이 동작을 원하지 않으면 Rising 또는 Change 방식이 더 적합할 수 있습니다.

15.6 저장 컬럼이 예전 설정과 다르게 보인다

Sequence 설정의 DATA TYPE, 수집 시작 번지, 디바이스 수를 수정하면 다음 저장부터 새 설정 기준으로 컬럼이 맞춰집니다.

이미 저장된 과거 데이터는 당시 설정 기준으로 남아 있습니다.

CSV 파일은 같은 날짜 파일이 이미 있어도 현재 설정에 맞게 헤더가 정리된 뒤 새 데이터가 추가됩니다.


16. 권장 설정 예시

16.1 BIT Step을 순서대로 감지하는 경우

공정 완료 비트가 순서대로 올라오는 경우입니다.

감시 주기(ms): 10
1SCAN 최대BIT수: 1024
DATA TYPE: WORD
수집 시작 번지: D4000
디바이스 수: 10

Step:

Step 1: M400 / BIT / Rising / 합착STEP1
Step 2: M401 / BIT / Rising / 합착STEP2
Step 3: M402 / BIT / Rising / 합착STEP3

이 방식은 Step 완료 비트가 OFF에서 ON으로 바뀌는 순간을 기록합니다.

예를 들어 Step 주소가 M400, M401, M402처럼 가까운 같은 M 영역이면 EASY LOGGER는 한 스캔에서 필요한 M BIT 범위를 묶어 읽고, Step 순서대로 조건을 판정합니다.

16.2 WORD 값이 기준 이상이 되었을 때 감지하는 경우

압력, 위치, 카운트 값이 기준 이상이 되는 순간을 기록하는 경우입니다.

Step 1: D100 / WORD / Change / >= / 50 / 가압시작
Step 2: D100 / WORD / Change / >= / 100 / 가압완료

이 방식은 값이 기준에 도달하는 흐름을 순서대로 기록할 때 적합합니다.

16.3 현재 조건을 만족하면 바로 넘어가는 경우

현재 값이 조건을 만족하고 있으면 바로 기록하고 다음 Step으로 넘어가고 싶을 때 사용합니다.

Step 1: D100 / WORD / Level / >= / 50 / 위치도달

Level은 조건을 만족하는 동안 Step에 도착할 때마다 성공할 수 있으므로, 반복 기록 여부를 현장 신호와 함께 확인해야 합니다.


17. 운전 전 체크리스트

실제 설비에 적용하기 전에 다음 항목을 확인합니다.

  • PLC PROFILE이 올바른 PLC를 가리키는지 확인했다.
  • 일반 Timer/Event 저장 설정을 비활성화했다.
  • 감시주소가 실제 PLC 주소와 일치한다.
  • READ TYPE이 주소 성격과 일치한다.
  • EDGE가 현장 신호 방식과 일치한다.
  • Step 신호가 너무 짧게 사라지지 않는다.
  • DB 저장 또는 CSV 저장 중 사용할 저장 방식이 켜져 있다.
  • 저장 결과에서 SequenceStepNo와 EventDefine이 의도한 순서로 남는지 확인했다.
  • 누락 보정 행이 있다면 SequenceStepStatus와 SequenceCompensatedByStepNo로 바로 다음 Step 보정인지 확인했다.
  • EventTact 값이 현장 동작 시간과 비슷한지 확인했다.

18. 요약

Sequence 설정은 순서가 있는 설비 동작을 기록하기 위한 기능입니다.

핵심은 다음 세 가지입니다.

  1. 가능한 BIT 감시값은 한 스캔에서 묶어 읽는다.
  2. 저장 판정은 현재 순번부터 Sequence 순서대로 진행한다.
  3. 한 스캔에서 판정/기록은 현재 Step과 바로 다음 Step까지만 적용한다.

따라서 Sequence 설정을 안정적으로 사용하려면 PLC에서 각 Step 신호가 EASY LOGGER가 확인할 때까지 유지되도록 구성하는 것이 가장 중요합니다.

현장 적용 팁

  • 설정 변경 전에는 현재 운전 상태와 저장 설정을 먼저 확인하세요.
  • 외부 연동 기능은 처음에는 읽기 전용 또는 테스트 환경에서 검증한 뒤 현장에 적용하는 것이 안전합니다.
  • DB/CSV/API/MQTT/OPC-UA처럼 외부 시스템과 연결되는 기능은 Runtime Status와 Log를 함께 확인하세요.

마무리

EASY LOGGER는 PLC와 센서에서 나오는 현장 데이터를 수집하고, 저장·조회·외부 연동·대시보드 표시까지 이어주는 현장 데이터 허브 역할을 합니다. 이 글의 화면 순서대로 확인하면 처음 설정하는 사용자도 필요한 메뉴를 빠르게 찾고, 현장 데이터 흐름을 안정적으로 구성할 수 있습니다.

#EASYLOGGER #스마트팩토리 #PLC #데이터로거 #설비모니터링 #생산데이터 #품질관리

#EASYLOGGER#EASY LOGGER#Sequence 설정#PLC 시퀀스#자동제어#조건제어#스케줄제어#PLC 데이터 수집#스마트팩토리#설비자동화#생산데이터#품질관리#이벤트 트리거#산업용 IoT#로직 제어
목록으로 돌아가기