홈으로 돌아가기

SQL과 LabVIEW에서 HART 테스트를 위한 DSL

이 기사는 SQL과 LabVIEW의 테이블 DSL을 기반으로 한 HART 센서 테스트 시스템의 아키텍처를 설명합니다. 루프, 100+ 작업, 프로덕션용 테스트 편집기가 구현되었습니다. 이 접근 방식은 OOP 추상화 없이 유연성을 보장합니다.

유연한 HART 센서 테스트: SQL-DSL + LabVIEW
Advertisement 728x90

# 생산 시스템에서 HART 센서 테스트를 위한 테이블 기반 DSL

HART 프로토콜을 지원하는 스마트 센서의 교정 및 테스트 시스템 개발에는 다양한 하드웨어를 지원해야 합니다: 신호 발생기, 환경 챔버, 멀티미터, HART 모뎀, 스위치 등. HART 프로토콜은 4-20 mA 전류 루프를 통해 점대점 모드로 작동하며, 교정, 설정, 데이터 교환을 가능하게 합니다. 테스트는 특성 선형화, 압력 및 온도 사이클, 전원 공급 변동, HART 세션을 포함합니다. 순수 SQL과 테이블 기반 스크립팅 언어를 사용한 클라이언트-서버 아키텍처로 2인 팀이 여러 스테이션에서 편집 가능한 테스트를 구현할 수 있었습니다.

시스템을 서브시스템으로 분해

시스템은 주요 구성 요소로 나뉩니다:

  • LabVIEW를 통한 하드웨어 제어.
  • 테이블 기반 DSL로 테스트 프로그래밍.
  • 데이터베이스에서 데이터 처리 및 계산.
  • 실시간 SCADA 스타일 스테이션 모니터링.

LabVIEW는 USB, GPIB, TCP/IP, RS232 인터페이스를 위한 즉시 사용 가능한 드라이버 때문에 선택되었습니다. 테스트 스테이션의 클라이언트는 데이터베이스 명령을 해석하는 인터프리터 역할을 하며, OOP 추상화를 건너뜁니다. 테스트 로직은 서버 측 스크립트로 오프로드되어 LabVIEW 다이어그램을 간단하게 유지합니다.

Google AdInline article slot

테이블 기반 스크립팅 언어: 구조와 명령

DSL은 선형 및 반복 실행을 가진 데이터베이스 테이블로 구현됩니다. 각 행은 두 개의 매개변수를 가진 작업으로, 편집이 간단합니다. 루프 내 간접 주소 지정이 지원됩니다.

주요 DSL 기능:

  • 선형 작업 흐름.
  • 자극(압력, 온도, 채널)에 대한 루프.
  • 타이머 기반 루프.
  • 정적 자극 모델 초기화.
  • HART 통신, 측정, 데이터 로깅을 위한 100개 이상의 작업.

루프는 SQL 저장 프로시저로 처리됩니다: 별도 테이블에 매개변수(시작, 끝, 스텝, 현재 값, 활성 센서 풀)를 저장합니다. INIT_LOOPCHECK_END_LOOP 같은 명령이 실행을 제어합니다. 자극 루프의 경우, 수정자 테이블이 사전/사후 증분 로직을 처리합니다.

Google AdInline article slot

예제 루프 로직:

  • 데이터베이스에서 자극 모델 로드.
  • 매개변수로 루프 초기화.
  • 종료 조건까지 작업 실행.
  • 루프 후 다음 명령 진행.

루프 구현 및 최적화

SQL 프로시저 실험에서 데이터베이스 내 루프가 안정적으로 작동함을 확인했습니다. 루프 매개변수(시작/끝 값, 스텝)는 테이블에 저장되어 동적 테스트 생성을 가능하게 합니다.

루프 유형:

Google AdInline article slot
  • 일반 루프: 스테이션의 센서 풀에 대한 변수 반복.
  • 압력 루프: 스텝과 자극 경계 포함.
  • 온도 루프: 챔버 초기화.
  • 타이머 루프: 시간 만료까지 작업 반복.

루프 추가로 테스트 크기가 절반으로 줄었습니다. 작업은 반복 의존적 또는 독립적(타이머용)으로 적응됩니다.

테이블 기반 테스트 편집기는 행 번호 매기기, 명령 참조, 주석, 루프 조정을 자동화합니다. "컴파일" 저장 프로시저가 기존 테스트를 새 것으로 교체합니다. 복사-붙여넣기 지원과 상호작용 힌트로 개발 속도가 빨라집니다. 4-20 mA/HART 센서의 생산 및 주기적 테스트를 위해 100개 이상의 프로그램이 생성되었습니다.

하드웨어와 데이터베이스 통합

LabVIEW 클라이언트는 데이터베이스에서 스크립트를 가져와 명령을 순차적으로 해석합니다. 장기 실행 작업(자극 루프)은 높은 속도를 요구하지 않습니다. 원시 데이터는 계산 및 보고서 생성을 위해 데이터베이스에 저장됩니다.

접근 방식 이점:

  • 클라이언트 재컴파일 없이 테스트 편집.
  • 중앙 집중식 스크립트 및 데이터 저장.
  • 수십 개 스테이션으로 확장 가능.
  • 최소 개발 팀.

주요 교훈

  • 루프가 있는 테이블 기반 SQL DSL로 테스트 코드를 절반으로 줄이면서 완전한 유연성 유지.
  • 데이터베이스 명령 인터프리터로서의 LabVIEW로 OOP 복잡성 회피.
  • 작업당 두 매개변수로 100개 이상의 HART 테스트 명령.
  • 저장 프로시저에서 자동 참조 및 번호 수정.
  • SCADA-like 인터페이스를 통한 실시간 스테이션 모니터링.

— Editorial Team

Advertisement 728x90

다음 읽기