[TeledyneLeCroy] ‘WaveScan에서 측정값 PC로 불러오기’ 주제의 포스팅

  • 2024-07-14
  • 조회수268
[TeledyneLeCroy] ‘WaveScan에서 측정값 PC로 불러오기’ 주제의 포스팅

텔레다인르크로이의 WaveScan은 다양한 방법으로 이상 신호를 포착하고 원하는 이벤트를 검색하는 기능입니다. 상승 또는 하강 에지가 나타난 시간, 모노 톤이 아닌 에지 및 런트 등의 파형 모양에 기반한 이상 신호는 물론 측정 값을 이용하여 특정 범위에 속하거나 범위를 벗어나는 측정 값이 존재하는 위치를 바로 알아낼 수 있는 검색 기능을 제공합니다.

이번 주제는 WaveScan에서 제공하는 측정 값 테이블을 원격 컴퓨터에서 확인 또는 저장하는 커맨드를 소개합니다.



그림 1. 상승에지(Rise Time)을 측정하여 느려진 에지의 위치와 발생 시간을 보여주는 WaveScan의 예

그림 1에서는 상승 에지의 상승시간(rise time)을 측정하도록 설정한 예를 보이고 있습니다. 전체 측정 값들을 필터링을 통해 50ns 보다 느린 파형을 검색하도록 설정하였습니다. 빨강색으로 하이라이트 된 부분을 자동으로 확대하여 화면 중앙에 위치 시켜줍니다. 또한 화면의 왼쪽 위에 보이는 것처럼 해당 측정값을 테이블에 표시하고 있습니다. 검색된 이벤트가 많아지면 측정 테이블이 길어지고 측정 값들을 별도로 저장하여 확인할 필요가 있습니다.

이때 원격지 컴퓨터에서 아주 간단한 명령을 이용하여 테이블의 측정 값을 다룰 수 있습니다.


WaveScan 테이블은 기본 2 차원 배열
WaveScan의 측정값 테이블은 2 차원 배열의 형태를 가지고 있습니다. 측정 대상 파라미터에 따라 2 번째 열의 값은 Variant 형태일 수 있습니다. Variant에는 또 다른 테이블이 포함되어 있습니다.  그림 2에서 오실로스코프 화면의 일부를 예를들어 말씀드리면, 현재는 Frequency를 측정하도록 설정했으며, 14개의 주파수 값을 측정한 테이블을 그림 2의 주황색 박스 테이블에서 확인할 수 있습니다.



그림 2, WaveScan 테이블 샘플, 주파수 측정 테이블 14개의 값이 측정되어 있음

만약, 6번째에 리스트 된 2.99907 MHz 값을 가져와야 한다면, 배열의 위치를 이용하여 아래와 같은 VBS 커맨드를 사용할 수 있습니다.

vbs? 'return=app.WaveScan.ScanDecode.Out.Result.CellValue(6,1)'
올바른 명령이 맞습니다. 하지만, 위의 명령을 바로 사용했다면 아래와 같은 메시지를 돌려 받게됩니다.
Cannot convert Variant to String

왜냐하면, (6,1) 셀에는 하나의 값이 아닌 또 다른 테이블로 구성되어 있기 때문입니다. 시간에 관련된 측정 값들은 아래와 같은 정보를 셀 값에 테이블로 저장하고 있기 때문입니다. 각각의 셀에는 측정된 주파수(또는 측정파라미터) 값(0,0), Start Frequency(1,0) 및 Stop Frequency(2,0)의 배열이 포함되어 있습니다.  따라서, 먼저 테이블의 인데스를 지정한 다음 해당 셀 내부의 배열을 다시 한번 인덱스 해줘야합니다. 

따라서, 측정 값을 얻으려면 

vbs? 'return=app.WaveScan.ScanDecode.Out.Result.CellValue(6,1)(0,0)'

을 사용하면 올바른 값을 가져올 수 있습니다. 그림 3에서는 WaveStudio 툴을 이용하여 해당 명령을 확인한 결과입니다. 응답의 첫번째 라인에서는 셀 내부를 지정하지 않은 상태에서 받은 응답이고,  두 번째 라인의 숫자로 표시된 값은 셀 내부를 인덱싱하여 처리한 결과 입니다.



3. WaveStudio에서 터미털을 통해 확인해본 명령 Write 및 reply 값

WaveScan에서 측정한 결과를 표시하는 테이블의 셀은 파라미터에 따라 세부 테이블을 포함 할 수 있습니다. 이런 경우, 두 번의 인덱싱을 통해 원하는 값을 가져올 수 있습니다.