메소드스크립트 사용 방법: 소개, 데모 및 Q&A 세션
PalmSens OEM 공급업체로서 자체 소프트웨어가 얼마나 중요한지 잘 알고 있습니다. 자체 소프트웨어를 보다 쉽고 효율적으로 작성할 수 있는 여러 소프트웨어 개발 키트(SDK)를 통해 고객을 지원합니다. EmStat Pico의 출시로 고객의 전위차계 모듈에 대한 효율적인 프로그래밍이 새로운 차원에 도달했습니다. 이 소형 포텐시오스탯은 고객이 거의 모든 프로그래밍 플랫폼에서 애플리케이션용 소프트웨어를 작성할 수 있도록 PalmSens 개발한 프로그래밍 언어인 MethodSCRIPT를 통해 소프트웨어와 통신합니다. 이 웨비나 녹화에서는 PSTrace에서 MethodSCRIPT 코드를 추출하는 방법, 계측기를 최대 절전 모드로 만드는 방법, 트리거 후 측정을 수행하는 방법 등을 보여드립니다.
메소드스크립트 전문가인 헬케 베링가와 루츠 스트랫만 박사가 메소드스크립트에 대한 간략한 소개와 함께 라이브 데모 및 Q&A 세션을 진행합니다. 소개 및 데모에 약 20분, 질의응답에 20분으로 총 40분간 진행됩니다.
아래 버튼을 사용하여 웨비나에 사용된 세 가지 PSMethod 파일을 다운로드합니다. (가상) EmStat Pico 또는 EmStat4M 모듈을 연결하고 MethodSCRIPT 샌드박스 편집기로 이동합니다. 세 가지 MethodSCRIPT 예시도 아래에 나와 있습니다.
아래로 스크롤하여 예제 보기MethodSCRIPT 웨비나의 타임스탬프
- 00:00 마지막 참가자를 기다리는 중
- 01:45 연사 소개
- 03:34 메소드스크립트 소개
- 08:35 세 가지 MethodSCRIPT 예시 데모
- 09:39 첫 번째 예시: 온보드 스토리지에 저장된 Sensit BT가 포함된 SWV
- 10:45 온보드 스토리지에서 첫 번째 측정값 로드
- 11:46 두 번째 예시: i2C를 사용하여 Sensit BT에서 온도 측정, 트리거 버튼으로 시작하기
- 15:12 i2C 사용의 더 많은 예
- 15:47 세 번째 예시: EmStat4M 개발 키트에서 피크 감지
- 19:30 녹색 및 빨간색 LED를 통한 피드백 제공
- 22:08 요약
- 22:53 최대 절전 모드란 무엇인가요?
- 24:20 질문 및 답변 세션 시작
- 24:49 세 번의 측정을 수행하고 한 번의 데이터만 메모리에 저장할 수 있나요?
- 26:05 온보드 실시간 시계 사용 방법이 있나요?
- 27:36 타이머를 기반으로 측정을 시작할 수 있나요?
- 28:34 메소드스크립트를 사용하여 여러 메소드를 연이어 수행할 수 있나요?
- 30:40 루프에서 루프를 할 수 있나요?
- 31:30 MethodSCRIPT와 PSTrace의 스크립팅은 어떻게 다른가요?
- 34:18 PSTrace 스크립팅 창에서 MethodSCRIPT를 만들 수 있나요?
- 35:02 메서드 스크립트와 PSTrace 스크립팅 창 결합하기
- 37:15 C# 소프트웨어 개발 키트 사용 시기 및 MethodSCRIPT 사용 시기 49:09 메소드스크립트 내에서 피크 피팅을 수행할 수 있나요?
방법스크립트 예시 1: Sensit BT의 SWV, 내부 저장 공간 절약
e set_gpio_cfg 0x1E 2 file_open "https://assets.palmsens.com/Measurements/14-04-2022/SWV-10-49-16-0.dmeas" 1 set_script_output 3 var c var p var f var g set_pgstat_chan 1 set_pgstat_mode 0 set_pgstat_chan 0 set_pgstat_mode 2 set_max_bandwidth 200 set_range_minmax da -400m 400m set_range ba 59n set_autoranging ba 59n 59n set_e -300m cell_on meas_loop_swv p c f g -300m 300m 10m 100m 5 pck_start pck_add p pck_add c pck_add f pck_add g pck_end endloop on_finished: file_close cell_off
주의: 현재 PSTrace 버전(5.9.4206)은 MethodSCRIPT 샌드박스 측정으로 생성된 내부 저장소에서 측정값을 로드할 수 없습니다. 이러한 파일은 SDK 예제를 사용하여 열어야 합니다. PSTrace 5.10에서는 이 문제가 수정되었습니다. PSTrace 5.10 베타 버전은 my.palmsens.com에서 다운로드할 수 있습니다.
방법스크립트 예제 2: i2C를 사용하여 Sensit BT에서 온도 측정, 트리거 버튼으로 시작하기
e
############# Hibernate and wait for button push #############
#Hibernate in low power mode, wake up on WAKE pin event (button push)
#Could also have used get_gpio on with GPIO pin if saving power wasn't a concern
hibernate 0x07i 60
############# Declare measurement variables variables #############
var c
var p
var f
var g
############# I2C Temperature measurement initialisation #############
# Declare variables for Temperature measurement
# Most significant bits
var m
# Least significant bits
var l
# Acknowledge
var a
# Array with Write data
array w 2
# Array with Read data
array r 2
# Status register
var s
# Configure I2C GPIOs and set it to 100k clock, 7 bit address
set_gpio_cfg 0x0300i 2
i2c_config 100k 7
# Configure the sensor for 16bit mode with continuous conversion
store_var a 0i ja
array_set w 0i 0x03i
array_set w 1i 0x80i
i2c_write 0x48i w 2 a
############# Measurement initialisation #############
set_pgstat_chan 0
set_pgstat_mode 2
set_max_bandwidth 200
set_range_minmax da -400m 400m
set_range ba 59n
set_autoranging ba 59n 59n
set_e -300m
cell_on
############# Run measurement #############
# Perform SWV measurement from -300 mV to 300 mV at 5 Hz
meas_loop_swv p c f g -300m 300m 10m 100m 5
############# Get I2C temperature #############
# Check if temperature sensor is ready
store_var s 0x80i ja
i2c_write_byte 0x48i 0x02i a
i2c_read_byte 0x48i s a
bit_and_var s 0x80i
# Ignore if temperature sensor not ready.
if s != 0x80i
# Read temperature values
i2c_write_byte 0x48i 0x00i a
i2c_read 0x48i r 2 a
array_get r 0i m
array_get r 1i l
# Convert to degrees Celcius
bit_lsl_var m 8i
add_var m l
if m > 0x8000i
sub_var m 0x10000i
endif
int_to_float m
div_var m 128
endif
############# Send measurement package #############
pck_start
# Sweep potential
pck_add p
# Current
pck_add c
# Temperature
pck_add m
pck_end
endloop
on_finished:
cell_off
MethodSCRIPT 예제 3: EmStat4M 개발 키트에서의 피크 감지
e
############# Declare measurement variables variables #############
var c
var p
var f
var g
############# Init peak detect #############
# Declare variables
var n
var i
var m
var l
array a 100i
array b 100i
store_var n 0i ja
store_var m 0 ba
store_var l 1M ba
############# Configure LED pins #############
set_gpio_cfg 0x7 1
set_gpio 0x0
############# Measurement initialisation #############
set_pgstat_chan 0
set_pgstat_mode 2
set_max_bandwidth 200
set_range_minmax da -400m 400m
set_range ba 59n
set_autoranging ba 59n 59n
set_e -300m
cell_on
############# Run measurement #############
# Perform SWV measurement from -300 mV to 300 mV at 5 Hz
meas_loop_swv p c f g -300m 300m 10m 100m 5
# Store measurement data in array
array_set a n p
array_set b n c
add_var n 1i
endloop
############# Simple peak search algorithm #############
# As an example, we just determine max and min value
# Many applications will need a more sophisticated algorithm
store_var i 0i ja
loop i < n
array_get b i c
if c > m
copy_var c m
endif
if c < l
copy_var c l
endif
add_var i 1i
endloop
############# Send measurement data #############
store_var i 0i ja
loop i < n
array_get a i p
array_get b i c
pck_start
pck_add p
pck_add c
pck_add m
pck_add l
pck_end
add_var i 1i
endloop
############# Decision time #############
#subtract "min" value from "max" to get the relative peak height
sub_var m l
# Enable red LED if peak > nA, otherwise enable green LED
if m > 2n
set_gpio 0x1
else
set_gpio 0x2
endif
############# Turn cell off, even if aborted #############
on_finished:
cell_off