<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Skriptentwicklung on KalibriWare - Dokumentation</title>
    <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/</link>
    <description>Recent content in Skriptentwicklung on KalibriWare - Dokumentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de</language>
    <atom:link href="https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Anatomie eines Kalibrierskripts</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/anatomie/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/anatomie/</guid>
      <description>Im vorangegangenen Dokument wurde bereits das Skelett für ein neues Kalibrierskript vorgestellt, welches hier als Grundlage dienen soll:&#xA;// Zusatzfunktion der Abhängigkeitsauflösung importieren import { Injectable } from &amp;#39;injection-js&amp;#39;; // Basisklasse für alle Skripte, jedes Skript muss von `Script` erben. import { Script } from &amp;#39;@script&amp;#39;; // Klasse als erzeugbar markieren @Injectable() export class SkriptName extends Script { // Im Konstruktor können zusätzliche Parameter angefordert werden constructor() { } // Run enthält das eigentliche Kalibrierskript.</description>
    </item>
    <item>
      <title>Diagramme im Protokoll und der Kalibrierumgebung</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/diagramme/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/diagramme/</guid>
      <description>Einführung Analog zum alten Kalibriscript können auch in Kalibriware Diagramme aus Messreihen erzeugt werden. Die Diagrammfunktion basiert auf der MeasurementSeries Klasse (unsichtbare Tabelle im Protokoll), welche dann nachfolgend in eine DisplayTable (sichtbare Tabelle im Protokoll) oder eine Grafik dargestellt werden kann.&#xA;Wir benutzen echarts als Diagrammbibliothek, sodass alle möglichen Diagrammtypen unterstützt werden.&#xA;Diagramm im Protokoll Zuerst benötigen wir eine MeasurementSeries um die darunterliegenden Daten abzuspeichern:&#xA;const table = this.steps.createSeries(SeriesTemplates.XSTIAQ(Fields.Empty, Tolerance.Absolute(0.20))); this.</description>
    </item>
    <item>
      <title>Hardwareschnittstellen benutzen</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/hardware/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/hardware/</guid>
      <description>Im vorangegangenen Dokument wurde bereits das Skelett für ein neues Kalibrierskript vorgestellt, welches hier als Grundlage dienen soll:&#xA;// Zusatzfunktion der Abhängigkeitsauflösung importieren import { Injectable } from &amp;#39;injection-js&amp;#39;; // Basisklasse für alle Skripte, jedes Skript muss von `Script` erben. import { Script, StepsService } from &amp;#39;@script&amp;#39;; // Klasse als erzeugbar markieren @Injectable() export class SkriptName extends Script { // Hier wird der StepsService aus der Dependency Injection angefordert und innerhalb der Klasse abgespeichert.</description>
    </item>
    <item>
      <title>Einbinden eines Standards in ein Skript</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/standardnutzung/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/standardnutzung/</guid>
      <description>Im vorangegangenen Dokument wurde bereits das Skelett für ein neues Kalibrierskript vorgestellt, welches hier als Grundlage dienen soll:&#xA;// Zusatzfunktion der Abhängigkeitsauflösung importieren import { Injectable } from &amp;#39;injection-js&amp;#39;; // Basisklasse für alle Skripte, jedes Skript muss von `Script` erben. import { Script, StepsService } from &amp;#39;@script&amp;#39;; // Klasse als erzeugbar markieren @Injectable() export class SkriptName extends Script { // Hier wird der StepsService aus der Dependency Injection angefordert und innerhalb der Klasse abgespeichert.</description>
    </item>
    <item>
      <title>Messreihen und Tabellen</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/messreihen/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/messreihen/</guid>
      <description>In diesem Teil soll beschrieben werden, wie Messwerte aufgenommen werden können und ins Protokoll eingefügt werden. Dazu wollen wir das vorhergehende Skript um eine Messroutine erweitern, welche einen Parameter vom Benutzer abfragt. Als Ausgangspunkt soll folgendes Skript dienen:&#xA;import { Injectable } from &amp;#39;injection-js&amp;#39;; import { Script, StepsService } from &amp;#39;@script&amp;#39;; @Injectable() export class SkriptName extends Script { constructor(private steps: StepsService) {} public Run(): void { this.steps.Add(&amp;#34;Parameter 1&amp;#34;, async () =&amp;gt; { // TODO Benutzerinteraktion anlegen }, {}); } } Benutzerinteraktion Zuerst wollen wir uns anschauen, wie von einem Kalibrierskript aus mit dem Kalibrierer kommuniziert werden kann.</description>
    </item>
    <item>
      <title>Persistente Daten</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/skriptspeicher/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/skriptspeicher/</guid>
      <description>Um persistente Daten zu speichern gibt es in Kalibriware drei Möglichkeiten, welche alle über eine gemeinsame Basisklasse abgebildet werden:&#xA;Diese hat eine Schnittstelle wie folgt:&#xA;interface PersistentStorageEngine { async get(key: string, namespace = &amp;#34;script.ini&amp;#34;): Promise&amp;lt;string | number | boolean&amp;gt;; async set(key: string, value: string | number | boolean, namespace = &amp;#34;script.ini&amp;#34;): Promise&amp;lt;void&amp;gt;; } Über die Funktion set kann ein Wert überschrieben werden, dabei kann ein namespace zur Gruppierung und Organisation von Werten benutzt werden.</description>
    </item>
    <item>
      <title>Kombinationsskripte für Gerätefamilien entwickeln</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/skript-weiterverwendung/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/skript-weiterverwendung/</guid>
      <description>Einführung Anders als im alten Kalibriscript gibt es in kalibriware die Möglichkeit, Skripte basierend auf dem Prüfling und/oder dem Auftrag zu verändern. Ein sehr gutes Beispiel dafür ist, Gerätefamilien zu kalibrieren. Beispielsweise könnte eine Gerätefamilie aus Geräten mit verschiedenen Optionen kombinierbar sein, sodass basierend auf dem Prüfling diverse Optionen kalibriert werden müssen.&#xA;Dies soll im folgenden näher beleuchtet werden.&#xA;Skript-Anpassung Um ein Skript für mehrere Prüflinge zu schreiben, müssen wir zunächst an die Information, welcher Prüfling vorliegt, kommen.</description>
    </item>
    <item>
      <title>Treiberentwicklung</title>
      <link>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/treiberentwicklung/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ctdi.pages.deinstapel.de/kalibriware/dokumentation/docs/skriptentwicklung/treiberentwicklung/</guid>
      <description>Einführung In kalibriware können Standards mit einem &amp;lsquo;Treiber&amp;rsquo; versehen werden. Das Ziel dazu ist ähnlich zum bestehenden Makrosystem in KalibriScript gemeinsam genutzte Funktionalitäten zu abstrahieren und Hardware einfacher austauschbar zu machen.&#xA;Dazu wird pro Standard eine Klasse mit gerätespezifischem Code geschrieben, welche oft genutzte Funktionalitäten in einer geteilten, abstrakten Schnittstelle implementiert.&#xA;Im Folgenden wird die Funktion am Beispiel eines Multimeters demonstriert.&#xA;Am mächtigsten ist diese Funktion, wenn die Gerätespezifika vollständig abstrahiert sind, also zum Benutzer hin das eigentliche Gerät nicht mehr sichtbar ist.</description>
    </item>
  </channel>
</rss>
