MethodSCRIPT en acción: introducción, demostración y sesión de preguntas y respuestas

Como proveedor OEM, PalmSens es consciente de lo importante que es su propio software. Apoyamos a nuestros clientes con varios kits de desarrollo de software (SDK), que hacen que escribir su propio software sea más fácil y eficiente. La programación eficiente de nuestros módulos de potenciostato por parte de nuestros clientes alcanzó un nuevo nivel con el lanzamiento del EmStat Pico. Este pequeño potenciostato se comunica con su software a través de MethodSCRIPT, un lenguaje de programación desarrollado por PalmSens para que los clientes puedan escribir el software de su aplicación en casi cualquier plataforma de programación. En la grabación de este seminario web, le mostraremos cómo extraer código MethodSCRIPT de PSTrace, cómo hacer que su instrumento hiberne, realizar una medición después de un disparo y mucho más.

El experto en MethodSCRIPT Hielke Veringa y el Dr. Lutz Stratmann le ofrecerán una breve introducción general a MethodSCRIPT, seguida de una demostración en directo y una sesión de preguntas y respuestas Tendrá una duración total de 40 minutos, de los cuales 20 minutos serán para la introducción y la demostración, y 20 minutos para las preguntas.

Descarga los tres archivos PSMethod utilizados en el webinar utilizando el botón de abajo. Conecte un módulo (virtual) EmStat Pico o EmStat4M y vaya al editor MethodSCRIPT Sandbox. Los tres ejemplos de MethodSCRIPT también se muestran a continuación.

Elegir potenciostato OEM

Descargar ejemplos de PSMethod

Descargar documentación de MethodSCRIPT

Desplácese hasta los ejemplos

Marcas de tiempo en el seminario web MethodSCRIPT

  • 00:00 A la espera de que se incorporen los últimos
  • 01:45 Presentación de los ponentes
  • 03:34 Introducción al métodoSCRIPT
  • 08:35 Demostración de tres ejemplos de MethodSCRIPT
  • 09:39 Primer ejemplo: SWV con Sensit BT guardado en la memoria interna
  • 10:45 Cargar la primera medición desde la memoria interna
  • 11:46 Segundo ejemplo: Medición de temperatura en el Sensit BT mediante i2C, inicio con botón de disparo
  • 15:12 Más ejemplos de uso de i2C
  • 15:47 Tercer ejemplo: Detección de picos en el kit de desarrollo EmStat4M
  • 19:30 Retroalimentación mediante LED verde y rojo
  • 22:08 Resumen
  • 22:53 ¿Qué es el modo hibernación?
  • 24:20 Inicio del turno de preguntas y respuestas
  • 24:49 ¿Puede realizar tres mediciones y guardar los datos de sólo una en la memoria?
  • 26:05 ¿Hay algún ejemplo de cómo utilizar el reloj en tiempo real integrado?
  • 27:36 ¿Es posible iniciar la medición en función de un temporizador?
  • 28:34 ¿Se puede utilizar MethodSCRIPT para ejecutar varios métodos seguidos?
  • 30:40 ¿Se puede hacer un bucle en un bucle?
  • 31:30 ¿Cuál es la diferencia entre MethodSCRIPT y Scripting en PSTrace?
  • 34:18 ¿Puedes crear MethodSCRIPT desde la ventana de scripting de PSTrace?
  • 35:02 Combinación de MethodSCRIPT y la ventana de scripting PSTrace
  • 37:15 Cuándo utilizar C# Software Development Kit y cuándo MethodSCRIPT 49:09 ¿Puede realizar el ajuste de picos dentro de MethodSCRIPT?
1

MétodoSCRIPT ejemplo 1: SWV en el Sensit BT, guardar en la memoria interna

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

Atención: La versión corriente de PSTrace (5.9.4206) no es capaz de cargar mediciones desde el almacenamiento interno creado por una medición MethodSCRIPT Sandbox. Estos archivos tienen que ser abiertos con nuestros ejemplos SDK. En PSTrace 5.10 este problema está solucionado. Puede descargar una versión BETA de PSTrace 5.10 desde my.palmsens.com

 

2

MethodSCRIPT ejemplo 2: Medición de temperatura en el Sensit BT mediante i2C, inicio con botón de disparo

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

 

3

MethodSCRIPT ejemplo 3: Detección de picos en el kit de desarrollo 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