엔지니어링 · 2025

초음파 풍향·풍속계 실시간 감시·기록 프로그램

풍향·풍속계와 현장 전광판을 잇고 모든 측정값을 남기는 데스크톱 프로그램

초음파 풍향·풍속계의 측정값을 1초 간격으로 받아 실시간으로 표시하고, 기준 풍속을 넘으면 경고를 띄우며, 같은 값을 현장 전광판으로 내보내는 Windows 데스크톱 프로그램입니다. 모든 측정값을 남겨 두어 원하는 기간을 지정해 엑셀 파일로 꺼내 쓸 수 있습니다.

고객
비공개 고객
분야
엔지니어링
풍속·풍향·경고·최고치를 대형 숫자로 표시하고 실시간 그래프와 측정값 표를 함께 보여 주는 메인 화면

개요

  • 초음파 풍향·풍속계를 직렬 통신으로 연결해 1초 간격 측정값을 받는 Windows 데스크톱 프로그램
  • 현장 담당자가 현재 풍속·풍향을 즉시 확인하고, 지난 기록을 기간으로 조회하는 용도
  • 측정값 수신 → 화면 표시 → 경고 판정 → 전광판 송출 → 기록 보관을 한 프로그램에서 처리
  • 서버나 네트워크 연결 없이 현장 PC 한 대에서 단독 동작

해결 방법

  • 풍속·풍향·경고·최고치를 각각 대형 숫자 패널로 표시 → 떨어진 자리에서도 판독 가능
  • 항목별 글자 크기·색상·굵기를 사용자가 직접 지정 → 설치 위치와 조명 환경에 맞춰 조정
  • 실시간값과 10초 평균을 한 그래프에 겹쳐 표시 → 순간 돌풍과 전반적인 추세를 함께 확인
  • 최근 측정값을 표로 함께 제공하고 100줄까지 유지
  • 기준 풍속 초과 시 경고 표시, 마지막 초과 시점부터 2시간 동안 유지 → 바람이 잠시 잦아들어도 경고가 꺼지지 않음
기준 풍속을 넘겨 경고가 켜진 화면
기준 초과 경고 표시

시스템 구조

작업 흐름

  • 풍향·풍속계 → 직렬 포트 수신 → 화면 표시와 경고 판정 → 전광판 송출, 동시에 측정값 기록
  • 입력(풍향·풍속계)과 출력(전광판)에 서로 다른 포트를 사용하고, 포트·통신 속도·데이터 비트·패리티·정지 비트를 화면에서 설정
  • 출력 포트가 없거나 연결되지 않으면 수신만 하고 계속 동작 → 전광판 쪽 문제가 수집 중단으로 이어지지 않음

주고받는 데이터

  • 장비가 보내는 표준 계측 문장을 그대로 해석하고, 전광판에도 같은 형식으로 송출
$WIMWV,357.0,R,5.2,M,A*CS
$WIMTA,-25.0,C*CS
입력과 출력의 통신 설정 창
입·출력 포트 설정

구현

  • 풍향은 각도여서 단순 평균이 불가 → 0도와 360도를 같은 방향으로 다루는 방식으로 10초 평균 산출
  • 전광판은 잦은 갱신이 불필요 → 송출을 10초에 한 번으로 제한하고, 실시간값과 10초 평균 중 선택
  • 장비 이상값(에러 코드, 무효 상태 표시)과 수신 끊김을 구분해 감지 → 중단 사유를 알려 주고 수집 정지
  • 그래프 표시 기간을 최대 3시간까지 조절, 가로 눈금은 시각 대신 '몇 분 전'으로 표기
  • 측정값 보관 기간은 3년, 그보다 오래된 기록은 시작할 때 자동 정리
  • 기록 파일이 없거나 형식이 맞지 않으면 시작 시 새로 만들어 동작 보장
  • 통신 설정과 표시 설정을 종료 시 저장하고, 다음 실행에서 값의 형식과 범위를 검사한 뒤 반영

결과

  • 현재 풍속·풍향과 10초 평균, 최고치를 한 화면에서 확인 가능
  • 기준을 넘긴 상황이 지나가도 일정 시간 경고가 남아, 작업 판단에 쓸 수 있는 상태 표시 확보
  • 현장 전광판으로 같은 값을 내보내 프로그램 화면을 보지 않는 사람도 확인 가능
  • 모든 측정값이 남아, 기간을 지정해 엑셀 파일로 꺼내 보고와 분석에 활용 가능
  • 통신 설정과 표시 설정을 화면에서 바꿀 수 있어 장비 교체나 설치 위치 변경에 대응
기간을 지정해 엑셀로 저장하는 검색 창
기간 조회와 엑셀 저장

사용 기술

  • Python
  • wxPython
  • matplotlib
  • NumPy
  • SQLite
  • pyserial
  • openpyxl

화면

해결이 필요한 문제가 있으신가요?

소프트웨어 개발부터 장비 연동과 엔지니어링까지, 프로젝트의 요구사항에 적합한 해결 방안을 함께 검토합니다.

프로젝트 문의하기