MéthodeSCRIPT en action : introduction, démonstration et session de questions-réponses

En tant que fournisseur OEM, PalmSens est conscient de l'importance de votre propre logiciel. Nous soutenons nos clients avec plusieurs kits de développement logiciel (SDK), qui rendent l'écriture de votre propre logiciel plus facile et plus efficace. La programmation efficace de nos modules de potentiostat par nos clients a atteint un nouveau niveau avec la sortie de l'EmStat Pico. Ce petit potentiostat communique avec son logiciel via MethodSCRIPT, un langage de programmation développé par PalmSens pour permettre aux clients d'écrire le logiciel de leur application sur presque n'importe quelle plateforme de programmation. Dans cet enregistrement de webinaire, nous vous montrerons comment extraire le code MethodSCRIPT de PSTrace, comment mettre votre instrument en hibernation, effectuer une mesure après un déclenchement, et plus encore.

Les experts de MethodSCRIPT, Hielke Veringa et Dr. Lutz Stratmann, vous donneront une brève introduction générale à MethodSCRIPT, suivie d'une démonstration en direct et d'une session de questions-réponses. La durée totale est de 40 minutes, dont environ 20 minutes pour l'introduction et la démonstration, suivies de 20 minutes pour les questions.

Téléchargez les trois fichiers PSMethod utilisés dans le webinaire en utilisant le bouton ci-dessous. Connectez un module (virtuel) EmStat Pico ou EmStat4M, et accédez à l'éditeur MethodSCRIPT Sandbox. Les trois exemples de MethodSCRIPT sont également présentés ci-dessous.

Choisir un potentiostat OEM

Télécharger les exemples de PSMethod

Télécharger la documentation de MethodSCRIPT

Faites défiler vers le bas jusqu'aux exemples

Horodatage dans le webinaire MethodSCRIPT

  • 00:00 En attendant que les dernières personnes se joignent à nous
  • 01:45 Présentation des orateurs
  • 03:34 Introduction à la méthodeSCRIPT
  • 08:35 Démonstration de trois exemples de MethodSCRIPT
  • 09:39 Premier exemple : SWV avec Sensit BT sauvegardé sur la mémoire de bord
  • 10:45 Chargement de la première mesure à partir de la mémoire de bord
  • 11:46 Deuxième exemple : Mesure de la température sur le Sensit BT à l'aide de l'interface i2C, démarrage à l'aide du bouton de déclenchement
  • 15:12 Autres exemples d'utilisation de l'i2C
  • 15:47 Troisième exemple : Détection de pics sur le kit de développement EmStat4M
  • 19:30 Retour d'information par l'intermédiaire des DEL verte et rouge
  • 22:08 Résumé
  • 22:53 Qu'est-ce que le mode hibernation ?
  • 24:20 Début de la session de questions-réponses
  • 24:49 Pouvez-vous effectuer trois mesures et enregistrer les données d'une seule d'entre elles dans la mémoire ?
  • 26:05 Existe-t-il un exemple d'utilisation de l'horloge en temps réel embarquée ?
  • 27:36 Est-il possible de lancer la mesure sur la base d'une minuterie ?
  • 28:34 MethodSCRIPT peut-il être utilisé pour exécuter plusieurs méthodes l'une après l'autre ?
  • 30:40 Peut-on faire une boucle dans une boucle ?
  • 31:30 Quelle est la différence entre MethodSCRIPT et Scripting dans PSTrace ?
  • 34:18 Pouvez-vous créer MethodSCRIPT à partir de la fenêtre de script de PSTrace ?
  • 35:02 Combinaison de la fenêtre de script MethodSCRIPT et PSTrace
  • 37:15 Quand utiliser le kit de développement logiciel C# et quand utiliser MethodSCRIPT ? 49:09 Pouvez-vous effectuer un ajustement des pics dans MethodSCRIPT ?
1

MéthodeSCRIPT exemple 1 : SWV sur le Sensit BT, sauvegarde sur la mémoire interne

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

Attention : La version actuelle de PSTrace (5.9.4206) n'est pas capable de charger des mesures à partir du stockage interne créé par une mesure MethodSCRIPT Sandbox. Ces fichiers doivent être ouverts avec nos exemples SDK. Dans PSTrace 5.10, ce problème est corrigé. Vous pouvez télécharger une version BETA de PSTrace 5.10 à partir de my.palmsens.com.

 

2

MéthodeSCRIPT exemple 2 : Mesure de la température sur le Sensit BT à l'aide de i2C, démarrage avec le bouton de déclenchement

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

MéthodeSCRIPT exemple 3 : Détection de pics sur le kit de développement 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