MethodSCRIPT in Aktion: Einführung, Demonstration und Frage-Antwort-Runde

Als OEM-Lieferant ist sich PalmSens bewusst, wie wichtig Ihre eigene Software ist. Wir unterstützen unsere Kunden mit mehreren Software Development Kits (SDK), die das Schreiben eigener Software einfacher und effizienter machen. Die effiziente Programmierung unserer Potentiostatmodule durch unsere Kunden hat mit der Einführung des EmStat Pico ein neues Niveau erreicht. Dieser kleine Potentiostat kommuniziert mit seiner Software über MethodSCRIPT, eine Programmiersprache, die von PalmSens entwickelt wurde, um Kunden die Möglichkeit zu geben, die Software für ihre Anwendung auf nahezu jeder Programmierplattform zu schreiben. In dieser Webinar-Aufzeichnung zeigen wir Ihnen, wie Sie MethodSCRIPT-Code aus PSTrace extrahieren, wie Sie Ihr Gerät in den Ruhezustand versetzen, eine Messung nach einem Trigger durchführen und vieles mehr.

Die MethodSCRIPT-Experten Hielke Veringa und Dr. Lutz Stratmann werden Ihnen eine kurze allgemeine Einführung in MethodSCRIPT geben, gefolgt von einer Live-Demonstration und einer Fragerunde. Die Veranstaltung wird insgesamt 40 Minuten dauern, davon etwa 20 Minuten für die Einführung und die Demonstration und 20 Minuten für Fragen.

Laden Sie die drei im Webinar verwendeten PSMethod-Dateien über die Schaltfläche unten herunter. Schließen Sie ein (virtuelles) EmStat Pico oder EmStat4M Modul an und gehen Sie zum MethodSCRIPT Sandbox Editor. Die drei MethodSCRIPT-Beispiele sind ebenfalls unten abgebildet.

OEM-Potentiostat auswählen

PSMethod-Beispiele herunterladen

MethodSCRIPT-Dokumentation herunterladen

Scrollen Sie nach unten zu den Beispielen

Zeitstempel im Webinar MethodSCRIPT

  • 00:00 Warten auf die letzten Teilnehmer
  • 01:45 Vorstellung der Referenten
  • 03:34 Einführung in die MethodeSCRIPT
  • 08:35 Demonstration von drei MethodSCRIPT-Beispielen
  • 09:39 Erstes Beispiel: SWV mit Sensit BT auf dem Onboard-Speicher gespeichert
  • 10:45 Laden der ersten Messung aus dem Onboard-Speicher
  • 11:46 Zweites Beispiel: Temperaturmessung am Sensit BT mit i2C, Start mit Triggertaste
  • 15:12 Weitere Beispiele für die Verwendung von i2C
  • 15:47 Drittes Beispiel: Spitzenwert-Erkennung mit dem EmStat4M Development Kit
  • 19:30 Feedback über grüne und rote LED geben
  • 22:08 Zusammenfassung
  • 22:53 Was ist der Ruhezustand?
  • 24:20 Beginn der Frage- und Antwortrunde
  • 24:49 Können Sie drei Messungen durchführen und die Daten von nur einer Messung im Speicher ablegen?
  • 26:05 Gibt es ein Beispiel für die Verwendung der eingebauten Echtzeituhr?
  • 27:36 Ist es möglich, die Messung mit einem Timer zu starten?
  • 28:34 Kann MethodSCRIPT verwendet werden, um mehrere Methoden nacheinander auszuführen?
  • 30:40 Können Sie eine Schleife in einer Schleife machen?
  • 31:30 Was ist der Unterschied zwischen MethodSCRIPT und Scripting in PSTrace?
  • 34:18 Können Sie MethodSCRIPT aus dem PSTrace-Skriptfenster erstellen?
  • 35:02 Kombination der Skriptfenster von MethodSCRIPT und PSTrace
  • 37:15 Wann ist C# Software Development Kit und wann MethodSCRIPT zu verwenden? 49:09 Können Sie innerhalb von MethodSCRIPT eine Peak-Anpassung durchführen?
1

MethodSCRIPT Beispiel 1: SWV auf dem Sensit BT, Speichern auf internem Speicher

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

Achtung! Die aktuelle PSTrace Version (5.9.4206) ist nicht in der Lage, Messungen aus dem internen Speicher zu laden, die durch eine MethodSCRIPT Sandbox Messung erzeugt wurden. Diese Dateien müssen mit unseren SDK-Beispielen geöffnet werden. In PSTrace 5.10 ist dieses Problem behoben. Sie können eine BETA-Version von PSTrace 5.10 von my.palmsens.com herunterladen.

 

2

MethodSCRIPT Beispiel 2: Temperaturmessung am Sensit BT mittels i2C, Start mit Triggertaste

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 Beispiel 3: Peak-Erkennung mit dem EmStat4M Development Kit

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