# Process Variables

Viele CSS-Tools unterstützen verschiedene Typen von Prozessvariablen (PVs). Wenn man einen PV-Name wie

       some_pv_name

benutzt, gibt es einen Verweis auf einen voreingestellten PV-Typ, der in den PV-Voreinstellungen konfiguriert werden kann.

Um einen speziellen PV-Typ auszuwählen, benutzt man das Format

       type://some_pv_name

## Preferences

Der voreingestellte PV-Typ kann über das Menü CSS/Preferences/Applications/Configuration/Process Variables ausgewählt werden.

## Type-Specific PV Name Formats

### sys://

System-PVs werden benutzt, um interne Informationen von CSS oder dem lokalen Computer darzustellen:

Name | Detail
--- | ---
    sys://time
| Local date and time
    sys://free_mb
| Free Java VM memory in MB
    sys://used_mb
| Used Java VM memory in MB
    sys://max_mb
| Maximum available Java VM memory in MB
    sys://user
| User Name
    sys://host_name
| Host name
    sys://qualified_host_name
| Full Host Name
    sys://system.*
| Any system property, e.g. "sys://system.user.name"
    sys://pv_count
| Number of "loc:", "sys:" and "sim:" values.

### ca://

EPICS Channel Access PVs können beliebige Recordnamen oder Recordnamen-mit-Feld haben:

      ca://some:record:name
      ca://some_record_name
      ca://some_record_name.SCAN

Das Präfix "ca://" kann vermieden werden, wenn man es als default-Wert setzt.

### loc://

'Local' PVs können benutzt werden, um zwischen CSS-Tools über nur eine CSS-Instanz zu kommunizieren. Beispielsweise können Probe und Data-Browser beide eine PV

      loc://demo

benutzen. Wenn man den Wert in Probe verstellt, bemerkt der Data-Browser die Änderung.

Bitte beachten: Lokale PVs haben keine Initialisierungswerte. Wenn man sie auf einen Zahlenwert setzt, wird ein numerischer (Doppelwort-) PV erzeugt. Sonst wird es ein String-PV.

### sim://

Simulierte PVs können folgende Formate haben:

    sim://noise

erzeugt simuliertes Rauschen von -5 bis 5, welches jede Sekunde aktualisiert wird.

      sim://noise(-10, 10, 0.2)

erzeugt simuliertes Rauschen von -10 bis 10, welches jede 0.2 Sekunden aktualisiert wird.

      sim://sine(0, 10, 20, 0.5)

erzeugt ein simuliertes Sinussignal mit Werten zwischen 0 und 10, welches alle 0.5 Sekunden aktualisiert wird. Eine ganze Periode besteht aus 20 Updates, d.h., sie wird in diesem Beispiel in 10 Sekunden erzeugt.

      sim://ramp(0, 10, 0.1, 0.5)

erzeugt einen Rampenwert (Sägezahn), von 0 bis 10, mit Schritten von 0.1, alle 0.5 Sekunden.

      sim://ramp(0, 100, -1, 2)

erzeugt eine negative Rampe, d.h. count-down, von 100 bis 0, mit Schritten von 1, alle 2 Sekunden.