본문으로 건너뛰기
블로그›2026. 9. 7.

국책과제 시험 챔버 온도를 아날로그 입력과 LS PLC로 함께 남기는 구성

국책과제 시험 챔버 온도를 아날로그 입력과 LS PLC로 함께 남기는 구성

시험 데이터가 없으면 판단이 늦어집니다

국책과제 개발 단계의 시험 설비는 조건을 바꿔 가며 같은 시험을 반복합니다. 이때 남는 것이 결과 요약뿐이면 시험이 어긋났을 때 원인을 되짚을 근거가 사라집니다. 챔버 내부 온도가 목표 구간에 들어간 시각, 그 구간을 유지한 시간, 조건을 바꾼 직후의 거동은 결과표에 적히지 않습니다.

판단에 필요한 값은 대체로 세 가지입니다. 지금 값이 규정 범위 안에 있는지, 목표 온도까지 올라가는 데 걸린 시간이 시험마다 얼마나 다른지, 이상이 생긴 시각 전후에 어떤 값이 함께 움직였는지입니다. 세 가지 모두 초 단위 기록이 있어야 답할 수 있습니다.

과제 보고 단계에서도 사정은 같습니다. 시험 결과에 원시 데이터를 함께 붙일 수 있으면 검증 요청에 바로 대응합니다. 국가연구개발 성과 정보가 통합 관리되는 흐름을 생각하면, 현장에서 값을 남기는 방식부터 정리해 두는 편이 낫습니다.

온도를 어느 신호로 받을지 먼저 정합니다

시험 챔버에는 이미 두 종류의 신호가 있습니다. 하나는 챔버 제어반의 LS PLC가 들고 있는 운전 상태와 설정값이고, 다른 하나는 시료 근처에 따로 붙인 온도 전송기의 4-20mA 아날로그 출력입니다. 제어반 값만 읽으면 시료가 실제로 겪은 온도를 놓치고, 아날로그만 읽으면 어떤 조건에서 그 온도가 나왔는지 알 수 없습니다.

그래서 센서 데이터 수집과 설비 데이터 수집을 한 장비가 함께 맡는 구성이 다루기 쉽습니다. 아날로그 입력은 직접 받고, 제어반은 통신으로 읽어 같은 시각 축에 올리는 방식입니다.

수집·연결·운영을 세 계층으로 나눕니다

현장 계측 계층은 EASY-LOGGER가 맡습니다. CFNET I/O 확장 모듈 가운데 아날로그 입력 모듈 CFADC-4L을 붙이면 4-20mA 신호를 채널마다 받습니다. 채널별로 DIP 설정(A 전류 / V 전압), 신호 규격, 공학 MIN/MAX, 단위를 입력해 두면 전류값이 아니라 온도 공학값으로 들어옵니다. 4-20mA에서는 단선 검출도 켤 수 있습니다. 모듈에 실제로 꽂혀 있는 딥 스위치와 DIP 설정이 다르면 오류 없이 잘못된 값이 들어오므로 결선 직후에 한 번 대조합니다.

제어반 쪽은 MAIN 설정에서 CONNECTION PROTOCOL을 LS F-NET / XGT TCP로 고르고 IP ADDRESS와 PORT를 넣습니다. LS PLC의 기본 Port는 2002입니다. 연결 테스트가 성공하면 PLC 저장을 누르고, 수집 조건 설정에서 CONFIG NAME, TRIGGER TYPE, DATA TYPE, 시작 번지, 수집요청주기(ms), 디바이스 수를 입력합니다.

떨어진 시험동의 보조 계측기는 EASY-LINK가 게이트웨이 역할을 맡아 MQTT로 값을 발행하고, 수집 조건에서 SUBSCRIBE TOPIC, ROOT KEY, ADDRESSES, STALE AFTER (MS)를 지정해 받습니다. 브로커가 끊기면 그 설정만 SKIPPED로 남고 다른 수집은 계속 돕니다.

세 갈래로 모인 값은 운영 계층에서 하나로 묶입니다. EASY LOGGER 대시보드에서 저장 이력과 전달 상태를 함께 확인합니다. 저장 설정 목록의 수집 주기와 STATUS(RUNNING / IDLE / FAULT / SKIPPED)를 보면 어느 계층이 멈췄는지 바로 구분됩니다.

아날로그 입력과 제어반 통신이 하나의 수집 장치로 모이는 데이터 흐름

4-20mA 아날로그 입력과 제어반 통신 값을 같은 시각 축에 올리는 수집 계층

EASY LOGGER OPC UA 예제

분석용 PC나 시험 계측 소프트웨어가 값을 직접 읽어 가야 할 때는 OPCUA 설정에서 서버를 켭니다. 노드 경로는 앞에서 등록한 PLC NAME과 CONFIG NAME을 기준으로 만들어지므로, 클라이언트에는 아래 항목만 넘기면 됩니다. 이 예제는 온도 값을 조회하는 읽기(READ) 구성이며 값을 바꾸는 동작은 다루지 않습니다.

Endpoint: opc.tcp://<장비 IP>:<OPCUA 설정 화면에 표시된 Port>
PLC NAME: RND_XGT1
CONFIG NAME: CHAMBER_TEMP
Node ID: Node Preview에 표시된 경로를 그대로 복사 (PLC NAME / CONFIG NAME 기준으로 생성)
datatype: FLOAT
읽기 대상: CHAMBER_TEMP 설정의 온도 공학값
Runtime Status: RUNNING

클라이언트에 Endpoint를 넣기 전에 Node Preview에서 실제 Node ID 문자열과 datatype이 수집 조건의 DATA TYPE과 같은지 확인합니다. FLOAT로 등록한 값을 WORD로 읽으면 오류가 나지 않은 채 다른 숫자가 나옵니다. 연결한 뒤에는 Runtime Status와 화면 아래 OPCUA 상태 표시등이 함께 정상인지 봅니다. PLC NAME을 나중에 바꾸면 노드 경로가 전부 달라지므로 운영 시작 전에 이름을 확정합니다.

저장 대상은 조회 방식으로 고릅니다

이 구성의 주 전달 대상은 MySQL입니다. DB 설정에서 DB Name, Host Address, Port(MariaDB와 MySQL 기본값 3306), User, Password를 넣고 연결 테스트가 성공하면 저장합니다. 시험 조건별 구간 조회와 CSV 출력이 반복되는 국책과제 개발에서는 이 방식이 다루기 편합니다. DB 저장과 로컬 CSV 저장은 동시에 켤 수 없으므로 둘 중 하나를 고릅니다.

다른 경로와 견주면 성격이 뚜렷합니다. MQTT는 값이 생길 때마다 밀어 주어 실시간 표시에 유리하지만 지난 구간을 되짚기는 어렵습니다. HTTP API는 상위에서 필요할 때 당겨 가는 방식이라 방화벽 정책이 단순한 대신 주기가 짧으면 요청 수가 늘어납니다. Firebase는 외부 앱 알림에는 편하지만 시험 원시 데이터를 오래 보관하기에는 조회 비용과 망 정책을 따로 따져야 합니다.

MES나 CIM 같은 상위 시스템을 붙일 때는 MQTT, HTTP API, 데이터베이스 세 가지 인터페이스만 씁니다. 상위 시스템이 장비 화면에 직접 들어오는 방식이 아니라 정해진 인터페이스로 데이터 연동을 하는 구조입니다.

기간과 조건으로 저장 값을 조회해 파일로 내보내는 화면 흐름

저장한 값을 기간과 조건으로 좁혀 조회하고 CSV로 내보내는 흐름

한 대로 시작해 범위를 넓힙니다

처음부터 시험동 전체를 묶을 필요는 없습니다. 챔버 한 대에 아날로그 입력 두 채널과 제어반 통신 하나만 붙여 하루치를 쌓아 보면 수집요청주기와 저장 용량이 현실적인지 바로 드러납니다. 여기까지 확인되면 같은 설정을 복사해 단계적으로 챔버를 늘립니다.

산업용 IoT 게이트웨이를 새로 들이기 전에 현장 연결 가능 여부만 먼저 확인해 보셔도 됩니다. 제어반 PLC 기종, 아날로그 신호 규격, 저장 위치 세 가지만 정리해 두시면 검토가 빠르며 문의는 홈페이지로 주시면 됩니다. 다른 현장 구성은 블로그 글 목록에 모아 두었고, 시험 설비 소비전력을 조건별로 남긴 국책과제 시험 설비 소비전력 기록 구성도 함께 보시면 도움이 됩니다.

관련 글

← 목록으로 돌아가기