[DIAdem] 측정 데이터를 ASAM ODS에 적용하기 (ASAMize Your Measurement Data) 데이터 측정에 대한 이야기를 할 때 핵심 내용은 파일에 데이터는 저장하는 방법입니다. 다양한 측정 시스템에서 만들어지는 파일들은 다른 정보와 다른 포맷으로 구성이 됩니다. 다른 데이터 파일 포맷은 CSV 타입이거나, XML 타입등 일 수 있습니다. 각각의 파일 포맷은 특정 목적을 가지고 있습니다. 예를 들자면, CSV는 스프레드시트 툴을 통한 쉬운 데이터 교환을 제공하고, TDMS는 고속의 데이터 스트리밍을 가능하게 합니다. 또한 특정 목적으로 사용자 정의된 포맷을 사용할 수도 있습니다. 파일 포맷의 다양성은 데이터 처리, 리포트 생성, 화면 표기 등을 한번에 처리하는 데에 대한 요구사항을 ..
[프로그래밍 방법론] 함수를 잘 만드는 방법 – Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 프로그래밍 초창기에는 시스템을 루틴과 서브루틴으로 나눴고, 포트란과 PL/1 시점에는 시스템을 프로그램, 하위 프로그램, 함수로 나뉘었습니다. 지금은 함수만 사용을 하고 있습니다. 따라서 어떤 프로그램이든 함수가 가장 기본적인 단위입니다. 이 글에서는 함수를 잘 만드는 방법에 대해서 소개할 까 합니다. 만약 하나의 함수에 수많은 기능이 포함이 되어, 100여줄이 된다고 하면 개발자는 이 코드를 한번에 읽을 수 있을까요? 그렇지 않습니다. 이는 가독성을 떨어뜨리는 치명적인 문제가 될 가능성이 높습니다. 그럼 어떻게 하면 함수를 가독성이 높게 만들 수 있을까요? 그 방법에 대해서 알..
[랩뷰 예제] 프로그램 상에서 배열 크기에 따른 배열 UI 변경하기 랩뷰를 사용해서 알고리즘을 구현하다 보면 배열에 대한 UI처리가 제대로 되지 않습니다. 배열의 길이가 5임에도 불구하고 사용자가 크기를 5만큼 지정하지 않으면 아래의 그림처럼 나오게 됩니다. 아래의 그림으로 구현이 되어 있으면, 0번째 Element의 값은 바로 확인이 가능하지만 1~4번째의 값을 확인하고 싶으면 마우스나 키보드로 배열의 시작값을 입력을 해야 확인이 가능하게 됩니다. 이런 문제를 프로그래밍 적으로 해결할 수는 없을까요?배열의 프로퍼티 노드를 사용하면 이 부분을 해결할 수 있습니다. 먼저 간단히 랩뷰에서 배열을 만드는 코드를 살펴보도록 하겠습니다. 위의 코드는 NumberOfArray의 수에 따라서 For문을 반복하고 이에..
[프로그래밍 방법론] 의미 있는 변수, 함수 명명법 – Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 소프트웨어에서 명명법은 어디서든 쓰입니다. 우리는 개발 당시 변수에도 이름을 붙이고, 함수에도 이름을 붙이며, 심지어 인수와 클래스, 패키지에도 이름을 붙입니다. 그렇기 때문에 이름에 대한 정리를 잘하게 되면, 개발자 자신은 물론 다른 개발자들도 이해하기 쉬운 코드가 됩니다. 그럼 명명법을 할 때 주의해야 하는 내용에 대해서 정리를 해보도록 하겠습니다. 1) 의도를 분명히 밝혀라 변수, 함수, 클래스 이름을 지정할 때 다음과 같은 질문에 답이 되어야 합니다.변수(혹은 함수나 클래스)의 존재 이유는 무엇인가?수행기능과 사용방법은 무엇인가?주석이 필요한가?아래의 코드를 보고 ..
ASAM ODS(Open Data Service) 표준안에 대해서 ODS(Open Data Services)는 테스트 결과에 대한 견고한 데이터 저장과 반환에 포커스를 맞추고 있습니다. 이 표준은 테스트 결과를 만드는 디바이스의 최상위에 우선적으로 설치가 됩니다. 복잡한 테스트 환경의 컴포넌트들은 데이터 확인, 후처리, 평가를 위해서 데이터 수집과 반환을 필요로 합니다. 자동차 산업에서 ODS의 일반적인 시나리오는 차량 테스트로부터 만들어진 전체 데이터를 처리하는 중앙 ODS 서버를 사용하는 것입니다. 비표준화 된 데이터 저장 방법과 ODS를 비교하여 나타나는 장점은 데이터 접속이 IT 환경에 대해 독립적이고, 데이터 모델이 다른 어플리케이션에 비해 높은 적용성을 가진다는 점입니다. 또한 클라이언트는 데..
[DIAdem] Analysis 함수를 이용한 채널 생성 및 샘플링이 다른 채널간 보간(Interpolation) 방법 서로 다른 디바이스를 통해서 같은 시간 내의 데이터 수집을 진행하여 데이터를 저장하였을 때, 저장하는 타이밍에 대한 고려가 없다면 저장되는 시점이 달라져 파일에 저장된 갯수에 대한 차이가 발생을 할 수 있습니다. 이러한 문제는 데이터 후 처리 분야에서 많이 발생하는 내용으로 이를 해결하기 위해서는 X축에 대한 시간에 맞게 Interpolation 하는 방법을 제안할 수 있습니다. 이번 글에서는 DIAdem의 Analysis 기능을 이용해서 서로다른 샘플링 주기를 가진 파일을 동일하게 Interpolation 하는 방법에 대해서 알아보도록 하겠습니다. Interpolation은 아래와 같..
RS-485 2선식 연결과 4선식 연결 방식 (RS485 4w to 2w) RS-485는 Full Duplex 방식(4wire)과 Half Duplex 방식(2Wire)을 통해서 통신을 할 수 있습니다. 결선하는 방법에 따라서 RS-485를 이용한 통신 방식이 달라짐을 결정할 수 있습니다. 그럼 먼저 Full Duplex와 Half Duplex에 대한 의미를 알아보도록 하겠습니다. 전이중 통신(Full Duplex): 두 대의 단말기가 데이터를 송수신하기 위해 동시에 각각 독립된 회선을 사용하는 통신 방식이다. 대표적으로 전화망, 고속 데이터 통신을 들 수 있다. 반이중 통신(Half Duplex): 한 쪽이 송신하는 동안 다른 쪽에서 수신하는 통신 방식으로, 전송 방향을 교체한다. 마스터 슬레이브 방식..
시리얼 통신이란? (RS232 통신, RS422 통신, RS423 통신, RS485 통신 개요) 마이크로프로세서는 주변장치를 통해서 외부와 정보를 교환할 수 있으며 일반적으로 정보를 외부와 교환하는 방법으로는 병렬통신과 직렬통신 2가지로 나눌 수가 있습니다. 병렬통신은 고속 전송이 필요한 내부 장치와의 통신에서 많이 사용이되고, 직렬통신 방식은 외부 장치와의 통신에서 많이 사용이 된다. 직렬 통신은 1비트씩 전송을 하기 때문에 병렬통신에 비해 속도는 느리지만 사용이 쉽고, 장거리 통신이 가능합니다. 시리얼 통신은 전기 통신 분야에서 일반적인 직렬 통신을 말한다. 직렬 통신 방식은 한번에 한 비트씩을 전송하는 데이터 통신의 방법중의 하나로 모스 부호 전보, RS-232, RS-422, RS-485, I²C..
[캡쳐 프로그램 추천] GreenShot - 그린샷(다운로드) 캡쳐 프로그램 무엇을 사용하고 계신가요? 아직까지 윈도우의 기본 캡쳐 기능을 사용하고 계시지는 않으신가요? 이 글에서는 무료 프로그램이지만 강력한 기능을 가진 캡쳐 프로그램을 알려드리도록 하겠습니다. 추천하는 프로그램의 이름은 그린샷입니다. 외국 프로그램이긴 하지만 사용하기에 별다른 어려움이 없어요~ 다운로드 사이트 주소는 아래와 같습니다. 개발 회사 주소 : http://getgreenshot.org 직접 다운로드 링크 : http://sourceforge.net/projects/greenshot/files/latest/download 위의 주소를 치시면 다음 그림처럼 웹 사이트에 접속을 하실 겁니다. 아래의 다운로드 그림을 치시면 되요. ..
[DAQmx] 아날로그 신호 기초 자료(Analog Signal Fundamentals) 이 글에서는 아날로그 신호에 대한 전반적인 이야기를 해볼까 합니다. 아날로그 신호는 전압, 온도, 압력, 유량등의 센서 전기적 신호를 컴퓨터에 입력을 받는것을 말합니다. 또는 어떠한 제어를 위해 사인파와 같은 파형 혹은 DC 전압을 출력하는 것도 아날로그 신호라고 볼 수 있습니다. 1) 해상도 아날로그 신호의 해상도는 아날로그 신호를 컴퓨터가 인지할 수 있게 디지털신호로 변경하는데 사용되는 개념입니다. NI 제품은 12비트, 16비트등이 대부분인데, 여기에서 12비트라고 하는것은 입력되는 신호를 2의 N(여기의 경우 12)승 단계로 구분할 수 있다는 의미입니다. 이는 측정에 대한 정확도(Accuracy)를 나타냅니다..