MDF4 Lib
MDF3 및 MDF4 파일 읽기 및 쓰기를 위한 함수 라이브러리

MDF4 Lib은 효율적인 함수 라이브러리로, 기본 배리언트에서, MDF 파일 검증 및 분류는 물론 사용자의 자체 어플리케이션으로 MDF 파일 읽기도 가능합니다.

널리 사용되는 MDF3 포맷과 더불어, 최신 ASAM 표준 MDF4도 지원합니다. 기본 배리언트에 옵션을 추가하면 사용자는 파일 쓰기, MDF 파일의 생성 및 읽기 기능을 사용할 수 있습니다. 라이브러리는 MDF 버전(3.x/4.x)에 관계없이 MDF 파일의 신호 데이터 및 추가 정보에 간편히 액세스할 수 있는 인터페이스를 제공합니다.

MDF4 함수 라이브러리는 MDF3 및 MDF4와 같은 계측 데이터 포맷을 여러분의 어플리케이션에 쉽고 빠르게 통합합니다.

장점

  • MDF 파일의 생성*, 검증**, 분류** 및 읽기를 위해 함수 라이브러리를 쉽게 사용 가능
  • 버전과 관계없이 MDF3 및 MDF4 포맷에 액세스 가능
  • 여러 MDF 파일을 동시에 빠르고 메모리 최적화된 방식으로 열기 가능
  • 분류된 파일의 신호 데이터를 효율적으로 읽기 가능
  • MDF 객체를 생성 및 오프라인 유즈 케이스*를 위한 신호 데이터 쓰기를 쉽게 처리
  • 다양한 MDF 메타 정보를 간편하게 이용
  • 벡터 툴과 데이터 로거에서 완벽한 데이터 전송이 가능하므로, 출력 또는 내보내기 포맷으로 MDF를 제공
  • 테스트와 실제 사용을 통해 증명된 표준 컴포넌트를 사용하여, 교육, 개발, 테스트 및 유지보수에 소모되는 노력이 감소함

* "write option" 옵션으로 이용 가능

** 현재 Windows에서만 이용 가능

버전 1.6의 특징

  • "Half-Precision Floating-Point" (Float16) 데이터 유형의 신호 데이터를 읽어들일 수 있습니다. 이 유형은 ASAM MDF Version 4.2 (2018년 배포 예정)으로 지원될 예정입니다.
  • 미사용 데이터 영역의 제거를 위해 MDF 파일의 다시 쓰기(rewrite)가 가능합니다. (예: 첨부 파일의 제거 후)
  • 특정 바이트를 채널로부터 독립된 레코드에서 읽거나 쓰는 한 번의 기능 호출로 보다 효율적인 회로 신호의 읽기 및 쓰기
  • 단일 호출로 다수의 신호값을 읽을 경우 (MultiRead methods) 특정 경고를 무시하는 새로운 옵션으로 간편하게 사용이 가능합니다.
  • 내장 디버그 로깅을 위한 추가 옵션은 디버그 로그 파일을 매일 교체하거나 오래된 로그 파일을 자동으로 삭제하는 것과 같이 MDF4 Lib를 서버 어플리케이션에서 실행하는 데에 특히 유용합니다.
  • MDF4 Lib로 쓰여진 미처 완성되지 못한 MDF 4.x 파일을 마저 완성할 수 있습니다. 이를테면 전원 공급의 중단이나 시스템 충돌로 인해 메인 어플리케이션의 조기 종료 시 파일을 되돌리는 것도 가능합니다.

기능

  • 중앙 File Manager Object에서 다수의 MDF 파일을 열거나 생성*할 수 있습니다. 원하는 정보에 따라 관련된 하위 객체 또한 읽고 쓸 수 있습니다. 특정 객체와 이 객체의 method는 인터페이스 포인터를 통해 액세스할 수 있습니다. 이를 통해 사용자는 MDF 기능을 MDF 버전과 관계없이 평가할 수 있습니다.
  • 신호 값에 빠르게 액세스 하기 위해, MDF 파일을 열기 전에 분류**할 수 있습니다. 파일 쓰기*의 경우, MDF4 Lib는 이미 분류된 MDF 파일의 생성만을 지원합니다. 즉, 하나의 샘플링 레이트를 위한 기록만이 한 번에 쓰일 수 있습니다. (offline use case)
  • MDF4 Lib는 MDF 파일을 검증하는 데 사용할 수 있습니다. 예를 들면, 저장 시스템에 입력하기 전에 발생 가능한 포맷 에러 또는 비일관성 등을 점검하기 위해 사용됩니다. 인터페이스(API)의 객체 지향 및 수직적 구조로 인해 사용자는 사용 가능한 기능을 빠르게 배우고 직관적으로 적용할 수 있습니다. 문서로 기록된 소스코드와 함께 샘플 프로젝트와 자세한 온라인 도움말이 제공되어, MDF 포맷에 대한 자세한 지식 없이도 빠르게 이해할 수 있습니다. MS Visual Studio처럼 현대 개발 환경에서 사용 가능한 IntelliSense 또한 사용자의 빠르고 간편한 코딩 작업을 지원합니다.
  • "on demand" 객체 생성 및 "reference counting" 을 통한 관리로 효율적이고 경제적인 구현이 가능합니다. C++,의 경우, 지원되는 "smart pointer" 클래스 사용 시, 객체의 정확한 배포를 생략할 수도 있습니다. 이러한 접근 방식을 통해 자원을 절약할 수 있다. 또한, 사용자 코드의 범위와 복잡성을 축소하여, 유지 보수 및 가독성을 전반적으로 향상할 수 있습니다.
  • 모든 라이브러리 호출은 thread에 부담을 주지 않습니다. 따라서 라이브러리는 각각의 MDF 파일을 별도의 thread에서 평가 등을 위해 다수의 threading 유즈케이스에서 사용될 수 있다. 이러한 경우, 추가적인 최적화가 가능합니다.
  • 진단 작업을 위해서, MDF4 Lib의 로깅 기능을 오류나 경고 메시지, 또는 선택적으로 모든 라이브러리 호출을 기록하는 데 사용할 수 있습니다. 또는 이러한 메시지를 파일에 로깅하는 것뿐만 아니라, 맞춤형 평가나 표시 등을 위해 재호출 방식으로 정보를 수집할 수도 있습니다.
  • 전원이나 툴의 문제로 MDF 파일 쓰기*가 갑자기 종료되었을 경우, 파일을 제대로 완성할 수가 없을 것입니다. MDF4 Lib은 ASAM COMMON MDF 4.1.1에 따라 이러한 MDF 파일에 "미완료"라는 표시를 합니다. MDF4 Lib은 미완료로 표시된 MDF 파일을 인식할 수 있습니다. 해당 파일을 생성했던 툴이나, 강제 종료 시의 상황에 따라, MDF Lib은 이러한 파일을 후에 완성*할 수 있도록 지원합니다.
  • MDF4 Lib는 단일 코드와 멀티 바이트 문자열 (MBCS) 배리언트로서 모두 사용 가능합니다. 시간 소모 및 복잡한 문자열 변환 작업을 방지하기 위해, 사용자의 프로젝트 환경에 맞는 배리언트를 사용할 수 있습니다.

* "write option" 옵션으로 이용 가능

** 현재 Windows에서만 이용 가능

Variant

기본 Variant를 "쓰기 옵션"을 통해 확장하여 MDF 파일을 생성할 수도 있습니다. 읽기와 마찬가지로 모든 MDF 버전의 쓰기를 지원합니다.

제품 정보

Fact Sheet:

제품 정보:

펼치기

Windows 시스템 요구사항:

  • C++ 인터페이스: Microsoft Visual C++ 버전 6.0 이상
  • .NET 인터페이스: Microsoft .NET 4.0 framework 이상 및 상응하는 .NET 언어 (예: Microsoft Visual C#)
  • Windows 10/8.1/8/7
  • MDF4의 XML 기능에 엑세스하기 위해 추가적으로 Microsoft MSXML Parser V6이 필요

Linux 시스템 요구사항:

  • C++ 인터페이스: GNU 컴파일러 GCC C/C++ 버전 4.8.3 이상
  • x86_64 아키텍처의 Linux 시스템
  • 요구 시스템 라이브러리: libc6, libstdc++6, libpthread, libdl
  • MDF4의 XML 기능에 엑세스하기 위해 XML Parser libxml2 필요
펼치기